Module halo2_backend::plonk
source · Expand description
This module provides an implementation of a variant of (Turbo)PLONK +
Module halo2_backend::plonk
source · Expand description
Modules§
- This module
- Generate a proof
- Verify a plonk proof
Structs§
- Minimal representation of a verification key that can be used to identify diff --git a/halo2_backend/poly/commitment/struct.Blind.html b/halo2_backend/poly/commitment/struct.Blind.html index 00aa22797..daf9b7e0c 100644 --- a/halo2_backend/poly/commitment/struct.Blind.html +++ b/halo2_backend/poly/commitment/struct.Blind.html @@ -16,7 +16,7 @@
Struct halo2_backend::
source ·poly:: commitment:: Blind pub struct Blind<F>(pub F);
Expand description
Wrapper type around a blinding factor.
Tuple Fields§
§0: F
Implementations§
Trait Implementations§
source§ impl<F: Field> AddAssign<F> for Blind<F>
source§ fn add_assign(&mut self, rhs: F)
Performs the+=
operation. Read moresource§ impl<F: Field> AddAssign for Blind<F>
source§ fn add_assign(&mut self, rhs: Blind<F>)
Performs the+=
operation. Read moresource§ impl<F: Field> MulAssign<F> for Blind<F>
source§ fn mul_assign(&mut self, rhs: F)
Performs the*=
operation. Read moreTrait Implementations§
source§ impl<F: Field> AddAssign<F> for Blind<F>
source§ fn add_assign(&mut self, rhs: F)
Performs the+=
operation. Read moresource§ impl<F: Field> AddAssign for Blind<F>
source§ fn add_assign(&mut self, rhs: Blind<F>)
Performs the+=
operation. Read moresource§ impl<F: Field> MulAssign<F> for Blind<F>
source§ fn mul_assign(&mut self, rhs: F)
Performs the*=
operation. Read moresource§ impl<F: Field> MulAssign for Blind<F>
source§ fn mul_assign(&mut self, rhs: Blind<F>)
Performs the*=
operation. Read moresource§ impl<F: PartialEq> PartialEq for Blind<F>
source§ impl<F: Copy> Copy for Blind<F>
source§ impl<F: Eq> Eq for Blind<F>
source§ impl<F> StructuralPartialEq for Blind<F>
Auto Trait Implementations§
§ impl<F> Freeze for Blind<F>
where F: Freeze,§ impl<F> RefUnwindSafe for Blind<F>
where diff --git a/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html b/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html index 3c61fcfc4..67c4bea12 100644 --- a/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html +++ b/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html @@ -36,7 +36,7 @@ ) -> Result<()>Create a multi-opening proof
-source§ fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( +
source§ fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( &self, rng: R, transcript: &mut T, @@ -69,7 +69,7 @@ V: Verifier<'params, KZGCommitmentScheme<E>, MSMAccumulator = DualMSM<E>, Guard = GuardKZG<E>>, E::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E::G1: CurveExt<AffineExt = E::G1Affine>, - E::G2Affine: SerdeCurveAffine,
source§ fn new(params: &'params ParamsVerifierKZG<E>) -> Self
Creates new verification strategy instancesource§ fn process( + E::G2Affine: SerdeCurveAffine,
source§ fn new(params: &'params ParamsVerifierKZG<E>) -> Self
Creates new verification strategy instancesource§ impl<'params, E, V> VerificationStrategy<'params, KZGCommitmentScheme<E>, V> for SingleStrategy<E>
where @@ -77,15 +77,15 @@ V: Verifier<'params, KZGCommitmentScheme<E>, MSMAccumulator = DualMSM<E>, Guard = GuardKZG<E>>, E::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E::G1: CurveExt<AffineExt = E::G1Affine>, - E::G2Affine: SerdeCurveAffine,source§ fn new(params: &'params ParamsVerifierKZG<E>) -> Self
Creates new verification strategy instancesource§ fn process( + E::G2Affine: SerdeCurveAffine,
source§ impl<'params, E> Verifier<'params, KZGCommitmentScheme<E>> for VerifierGWC<E>
where E: MultiMillerLoop + Debug, E::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E::G1: CurveExt<AffineExt = E::G1Affine>, - E::G2Affine: SerdeCurveAffine,§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification -to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationsource§ fn verify_proof<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptRead<E::G1Affine, Ch>, I>( + E::G2Affine: SerdeCurveAffine,
§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification +to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationsource§ fn verify_proof<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptRead<E::G1Affine, Ch>, I>( &self, transcript: &mut T, queries: I, @@ -96,15 +96,15 @@ E::Fr: Ord, E::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E::G1: CurveExt<AffineExt = E::G1Affine>, - E::G2Affine: SerdeCurveAffine,
source§ fn verify_proof<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptRead<E::G1Affine, Ch>, I>( + E::G2Affine: SerdeCurveAffine,
source§ fn verify_proof<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptRead<E::G1Affine, Ch>, I>( &self, transcript: &mut T, queries: I, msm_accumulator: DualMSM<E> ) -> Result<Self::Guard, Error>
Verify a multi-opening proof
-§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification -to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationAuto Trait Implementations§
§ impl<E> Freeze for KZGCommitmentScheme<E>
§ impl<E> RefUnwindSafe for KZGCommitmentScheme<E>
where +§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification +to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationAuto Trait Implementations§
§ impl<E> Freeze for KZGCommitmentScheme<E>
§ impl<E> RefUnwindSafe for KZGCommitmentScheme<E>
where E: RefUnwindSafe,§ impl<E> Send for KZGCommitmentScheme<E>
§ impl<E> Sync for KZGCommitmentScheme<E>
§ impl<E> Unpin for KZGCommitmentScheme<E>
where E: Unpin,§ impl<E> UnwindSafe for KZGCommitmentScheme<E>
where E: UnwindSafe,Blanket Implementations§
source§ impl<T> Any for T
where diff --git a/halo2_backend/poly/struct.Polynomial.html b/halo2_backend/poly/struct.Polynomial.html index 72167ec59..2b3c9655b 100644 --- a/halo2_backend/poly/struct.Polynomial.html +++ b/halo2_backend/poly/struct.Polynomial.html @@ -2417,7 +2417,7 @@§Examples<
ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.
To lowercase the value in-place, use
-make_ascii_lowercase
.Trait Implementations§
source§ impl<'a, F: Field, B: Basis> Add<&'a Polynomial<F, B>> for Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the+
operator.source§ fn add(self, rhs: &'a Polynomial<F, B>) -> Polynomial<F, B>
Performs the+
operation. Read moresource§ impl<F: Clone, B: Clone> Clone for Polynomial<F, B>
source§ fn clone(&self) -> Polynomial<F, B>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F, B> Deref for Polynomial<F, B>
source§ impl<F, B> DerefMut for Polynomial<F, B>
source§ impl<F, B> Index<RangeFull> for Polynomial<F, B>
source§ impl<F, B> Index<usize> for Polynomial<F, B>
source§ impl<F, B> IndexMut<RangeFull> for Polynomial<F, B>
source§ impl<F, B> IndexMut<usize> for Polynomial<F, B>
source§ impl<F: Field, B: Basis> Mul<F> for Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Polynomial<F, B>
Performs the*
operation. Read moresource§ impl<'a, F: Field, B: Basis> Sub<&'a Polynomial<F, B>> for Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: &'a Polynomial<F, B>) -> Polynomial<F, B>
Performs the-
operation. Read moresource§ impl<'a, F: Field, B: Basis> Sub<F> for &'a Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: F) -> Polynomial<F, B>
Performs the-
operation. Read moreAuto Trait Implementations§
§ impl<F, B> Freeze for Polynomial<F, B>
§ impl<F, B> RefUnwindSafe for Polynomial<F, B>
where +Trait Implementations§
source§ impl<'a, F: Field, B: Basis> Add<&'a Polynomial<F, B>> for Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the+
operator.source§ fn add(self, rhs: &'a Polynomial<F, B>) -> Polynomial<F, B>
Performs the+
operation. Read moresource§ impl<F: Clone, B: Clone> Clone for Polynomial<F, B>
source§ fn clone(&self) -> Polynomial<F, B>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F, B> Deref for Polynomial<F, B>
source§ impl<F, B> DerefMut for Polynomial<F, B>
source§ impl<F, B> Index<RangeFull> for Polynomial<F, B>
source§ impl<F, B> Index<usize> for Polynomial<F, B>
source§ impl<F, B> IndexMut<RangeFull> for Polynomial<F, B>
source§ impl<F, B> IndexMut<usize> for Polynomial<F, B>
source§ impl<F: Field, B: Basis> Mul<F> for Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Polynomial<F, B>
Performs the*
operation. Read moresource§ impl<'a, F: Field, B: Basis> Sub<&'a Polynomial<F, B>> for Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: &'a Polynomial<F, B>) -> Polynomial<F, B>
Performs the-
operation. Read moresource§ impl<'a, F: Field, B: Basis> Sub<F> for &'a Polynomial<F, B>
§ type Output = Polynomial<F, B>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: F) -> Polynomial<F, B>
Performs the-
operation. Read moreAuto Trait Implementations§
§ impl<F, B> Freeze for Polynomial<F, B>
§ impl<F, B> RefUnwindSafe for Polynomial<F, B>
where B: RefUnwindSafe, F: RefUnwindSafe,§ impl<F, B> Send for Polynomial<F, B>
where B: Send, diff --git a/halo2_backend/transcript/struct.Challenge255.html b/halo2_backend/transcript/struct.Challenge255.html index ba5b9b144..7a0fa6a16 100644 --- a/halo2_backend/transcript/struct.Challenge255.html +++ b/halo2_backend/transcript/struct.Challenge255.html @@ -107,30 +107,30 @@§Examples
C::Scalar: FromUniformBytes<64>,§ type Input = [u8; 64]
The Input type used to derive the challenge encoding. For example, an input from the Poseidon hash would be a base field element; an input from the Blake2b hash would be a [u8; 64].source§ fn new(challenge_input: &[u8; 64]) -> Self
Get an encoded challenge from a given input challenge.source§ fn get_scalar(&self) -> C::Scalar
Get a scalar field element from an encoded challenge.source§ fn as_challenge_scalar<T>(&self) -> ChallengeScalar<C, T>
Cast an encoded challenge as a typedChallengeScalar
.source§ impl<R: Read, C: CurveAffine> Transcript<C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where - C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W: Write, C: CurveAffine> Transcript<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where - C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R: Read, C: CurveAffine> Transcript<C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
where - C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W: Write, C: CurveAffine> Transcript<C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where - C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R: Read, C: CurveAffine> TranscriptRead<C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where + C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W: Write, C: CurveAffine> Transcript<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where + C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R: Read, C: CurveAffine> Transcript<C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
where + C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W: Write, C: CurveAffine> Transcript<C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where + C::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<()>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Writing the scalar to the transcript without writing it to the proof, +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R: Read, C: CurveAffine> TranscriptRead<C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,source§ fn read_point(&mut self) -> Result<C>
Read a curve point from the prover.source§ fn read_scalar(&mut self) -> Result<C::Scalar>
Read a curve scalar from the prover.source§ impl<R: Read, C: CurveAffine> TranscriptRead<C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,source§ fn read_point(&mut self) -> Result<C>
Read a curve point from the prover.source§ fn read_scalar(&mut self) -> Result<C::Scalar>
Read a curve scalar from the prover.source§ impl<R: Read, C: CurveAffine> TranscriptReadBuffer<R, C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,source§ impl<R: Read, C: CurveAffine> TranscriptReadBuffer<R, C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
where - C::Scalar: FromUniformBytes<64>,source§ fn init(reader: R) -> Self
Initialize a transcript given an input buffer.
+ C::Scalar: FromUniformBytes<64>,source§ impl<W: Write, C: CurveAffine> TranscriptWrite<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,source§ fn write_point(&mut self, point: C) -> Result<()>
Write a curve point to the proof and the transcript.source§ fn write_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Write a scalar to the proof and the transcript.source§ impl<W: Write, C: CurveAffine> TranscriptWrite<C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,source§ fn write_point(&mut self, point: C) -> Result<()>
Write a curve point to the proof and the transcript.source§ fn write_scalar(&mut self, scalar: C::Scalar) -> Result<()>
Write a scalar to the proof and the transcript.source§ impl<W: Write, C: CurveAffine> TranscriptWriterBuffer<W, C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where - C::Scalar: FromUniformBytes<64>,source§ impl<W: Write, C: CurveAffine> TranscriptWriterBuffer<W, C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where + C::Scalar: FromUniformBytes<64>,source§ impl<W: Write, C: CurveAffine> TranscriptWriterBuffer<W, C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,source§ impl<C: Copy + CurveAffine> Copy for Challenge255<C>
Auto Trait Implementations§
§ impl<C> Freeze for Challenge255<C>
§ impl<C> RefUnwindSafe for Challenge255<C>
where C: RefUnwindSafe,§ impl<C> Send for Challenge255<C>
§ impl<C> Sync for Challenge255<C>
§ impl<C> Unpin for Challenge255<C>
where C: Unpin,§ impl<C> UnwindSafe for Challenge255<C>
where diff --git a/halo2_frontend/circuit/layouter/enum.RegionColumn.html b/halo2_frontend/circuit/layouter/enum.RegionColumn.html index c5d9e0474..5e6537f96 100644 --- a/halo2_frontend/circuit/layouter/enum.RegionColumn.html +++ b/halo2_frontend/circuit/layouter/enum.RegionColumn.html @@ -21,7 +21,7 @@ as well as selectors that are not concrete columns at this stage.Variants§
§ Column(Column<Any>)
Concrete column
§ Selector(Selector)
Virtual column representing a (boolean) selector
-Trait Implementations§
source§ impl Clone for RegionColumn
source§ fn clone(&self) -> RegionColumn
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl Debug for RegionColumn
source§ impl From<Selector> for RegionColumn
source§ fn from(selector: Selector) -> RegionColumn
Converts to this type from the input type.source§ impl Hash for RegionColumn
1.3.0 · source§ fn hash_slice<H>(data: &[Self], state: &mut H)
where +Trait Implementations§
source§ impl Clone for RegionColumn
source§ fn clone(&self) -> RegionColumn
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl Debug for RegionColumn
source§ impl From<Selector> for RegionColumn
source§ fn from(selector: Selector) -> RegionColumn
Converts to this type from the input type.source§ impl Hash for RegionColumn
source§ impl Ord for RegionColumn
1.21.0 · source§ fn max(self, other: Self) -> Self
where Self: Sized,Compares and returns the maximum of two values. Read more1.21.0 · source§ fn min(self, other: Self) -> Self
where diff --git a/halo2_frontend/circuit/struct.Value.html b/halo2_frontend/circuit/struct.Value.html index cf56a1716..051d177f5 100644 --- a/halo2_frontend/circuit/struct.Value.html +++ b/halo2_frontend/circuit/struct.Value.html @@ -91,28 +91,28 @@§Examples
Trait Implementations§
source§ impl<A, V: FromIterator<A>> FromIterator<Value<A>> for Value<V>
source§ fn from_iter<I: IntoIterator<Item = Value<A>>>(iter: I) -> Self
Takes each element in the
Iterator
: if it isValue::unknown()
, no further + for<'v> V: Add<&'v V, Output = O>,source§ impl<A, V: FromIterator<A>> FromIterator<Value<A>> for Value<V>
source§ fn from_iter<I: IntoIterator<Item = Value<A>>>(iter: I) -> Self
Takes each element in the
Iterator
: if it isValue::unknown()
, no further elements are taken, and theValue::unknown()
is returned. Should noValue::unknown()
occur, a container of typeV
containing the values of eachValue
is returned.source§ impl<V: Copy> Copy for Value<V>
Auto Trait Implementations§
§ impl<V> Freeze for Value<V>
source§ impl<V: Copy> Copy for Value<V>
Auto Trait Implementations§
§ impl<V> Freeze for Value<V>
where V: Freeze,§ impl<V> RefUnwindSafe for Value<V>
where V: RefUnwindSafe,§ impl<V> Send for Value<V>
where V: Send,§ impl<V> Sync for Value<V>
where diff --git a/halo2_frontend/dev/enum.FailureLocation.html b/halo2_frontend/dev/enum.FailureLocation.html index 064357460..850df516e 100644 --- a/halo2_frontend/dev/enum.FailureLocation.html +++ b/halo2_frontend/dev/enum.FailureLocation.html @@ -29,7 +29,7 @@ occurred.§ OutsideRegion
A location outside of a region.
Trait Implementations§
source§ impl Clone for FailureLocation
source§ fn clone(&self) -> FailureLocation
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl Debug for FailureLocation
source§ impl Display for FailureLocation
source§ impl PartialEq for FailureLocation
source§ fn eq(&self, other: &FailureLocation) -> bool
This method tests forself
andother
values to be equal, and is used +Trait Implementations§
source§ impl Clone for FailureLocation
source§ fn clone(&self) -> FailureLocation
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl Debug for FailureLocation
source§ impl Display for FailureLocation
source§ impl PartialEq for FailureLocation
source§ fn eq(&self, other: &FailureLocation) -> bool
This method tests forself
andother
values to be equal, and is used by==
.source§ impl Eq for FailureLocation
source§ impl StructuralPartialEq for FailureLocation
Auto Trait Implementations§
§ impl Freeze for FailureLocation
§ impl RefUnwindSafe for FailureLocation
§ impl Send for FailureLocation
§ impl Sync for FailureLocation
§ impl Unpin for FailureLocation
§ impl UnwindSafe for FailureLocation
Blanket Implementations§
source§ impl<T> Borrow<T> for T
where diff --git a/halo2_frontend/dev/metadata/struct.Column.html b/halo2_frontend/dev/metadata/struct.Column.html index 58cdbcc4f..19aefb884 100644 --- a/halo2_frontend/dev/metadata/struct.Column.html +++ b/halo2_frontend/dev/metadata/struct.Column.html @@ -20,7 +20,7 @@ }Expand description
A column with an index and type
Fields§
§column_type: Any
§The type of the column.
index: usize
The index of the column.
-Implementations§
Trait Implementations§
source§ impl Hash for ColumnMid
source§ fn hash<__H>(&self, state: &mut __H)
where +Implementations§
Trait Implementations§
source§ impl Ord for ColumnMid
1.21.0 · source§ fn max(self, other: Self) -> Self
where diff --git a/halo2_frontend/dev/metadata/struct.Region.html b/halo2_frontend/dev/metadata/struct.Region.html index c28eca6e5..641d19236 100644 --- a/halo2_frontend/dev/metadata/struct.Region.html +++ b/halo2_frontend/dev/metadata/struct.Region.html @@ -15,9 +15,9 @@Struct halo2_frontend::
source ·dev:: metadata:: Region pub struct Region { /* private fields */ }
Expand description
Metadata about an assigned region within a circuit.
-Trait Implementations§
Trait Implementations§
source§ impl PartialEq for Region
source§ fn eq(&self, other: &Self) -> bool
This method tests forself
andother
values to be equal, and is used by==
.1.0.0 · source§ fn ne(&self, other: &Rhs) -> bool
This method tests for!=
. The default implementation is almost always diff --git a/halo2_frontend/plonk/assigned/enum.Assigned.html b/halo2_frontend/plonk/assigned/enum.Assigned.html index d9f9a66b8..44313ec8c 100644 --- a/halo2_frontend/plonk/assigned/enum.Assigned.html +++ b/halo2_frontend/plonk/assigned/enum.Assigned.html @@ -34,9 +34,9 @@Trait Implementations§
source§ impl<F: Field> AddAssign<&Assigned<F>> for Assigned<F>
source§ fn add_assign(&mut self, rhs: &Self)
Performs the+=
operation. Read moresource§ impl<F: Field> AddAssign for Assigned<F>
source§ fn add_assign(&mut self, rhs: Self)
Performs the+=
operation. Read moresource§ impl<F: Field> MulAssign<&Assigned<F>> for Assigned<F>
source§ fn mul_assign(&mut self, rhs: &Self)
Performs the*=
operation. Read moresource§ impl<F: Field> MulAssign for Assigned<F>
source§ fn mul_assign(&mut self, rhs: Self)
Performs the*=
operation. Read moreTrait Implementations§
source§ impl<F: Field> AddAssign<&Assigned<F>> for Assigned<F>
source§ fn add_assign(&mut self, rhs: &Self)
Performs the+=
operation. Read moresource§ impl<F: Field> AddAssign for Assigned<F>
source§ fn add_assign(&mut self, rhs: Self)
Performs the+=
operation. Read moresource§ impl<F: Field> MulAssign<&Assigned<F>> for Assigned<F>
source§ fn mul_assign(&mut self, rhs: &Self)
Performs the*=
operation. Read moresource§ impl<F: Field> MulAssign for Assigned<F>
source§ fn mul_assign(&mut self, rhs: Self)
Performs the*=
operation. Read moresource§ impl<F: Field> PartialEq for Assigned<F>
source§ impl<F: Field> SubAssign<&Assigned<F>> for Assigned<F>
source§ fn sub_assign(&mut self, rhs: &Self)
Performs the-=
operation. Read moresource§ impl<F: Field> SubAssign for Assigned<F>
source§ fn sub_assign(&mut self, rhs: Self)
Performs the-=
operation. Read moresource§ impl<F: Copy> Copy for Assigned<F>
source§ impl<F: Field> Eq for Assigned<F>
Auto Trait Implementations§
§ impl<F> Freeze for Assigned<F>
where +sufficient, and should not be overridden without very good reason.source§ impl<F: Field> SubAssign<&Assigned<F>> for Assigned<F>
source§ fn sub_assign(&mut self, rhs: &Self)
Performs the-=
operation. Read moresource§ impl<F: Field> SubAssign for Assigned<F>
source§ fn sub_assign(&mut self, rhs: Self)
Performs the-=
operation. Read moresource§ impl<F: Copy> Copy for Assigned<F>
source§ impl<F: Field> Eq for Assigned<F>
Auto Trait Implementations§
§ impl<F> Freeze for Assigned<F>
where F: Freeze,§ impl<F> RefUnwindSafe for Assigned<F>
where F: RefUnwindSafe,§ impl<F> Send for Assigned<F>
where F: Send,§ impl<F> Sync for Assigned<F>
where diff --git a/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html b/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html index ae3dfbc5f..f1a824f28 100644 --- a/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html +++ b/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html @@ -19,7 +19,7 @@ pub rotation: Rotation, }Expand description
A “virtual cell” is a PLONK cell that has been queried at a particular relative offset within a custom gate.
-Fields§
§column: Column<Any>
§rotation: Rotation
Trait Implementations§
source§ impl Clone for VirtualCell
source§ fn clone(&self) -> VirtualCell
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl Debug for VirtualCell
source§ impl From<VirtualCell> for VirtualCell
source§ fn from(c: VirtualCell) -> Self
Converts to this type from the input type.Auto Trait Implementations§
§ impl Freeze for VirtualCell
§ impl RefUnwindSafe for VirtualCell
§ impl Send for VirtualCell
§ impl Sync for VirtualCell
§ impl Unpin for VirtualCell
§ impl UnwindSafe for VirtualCell
Blanket Implementations§
Fields§
§column: Column<Any>
§rotation: Rotation
Trait Implementations§
source§ impl Clone for VirtualCell
source§ fn clone(&self) -> VirtualCell
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl Debug for VirtualCell
source§ impl From<VirtualCell> for VirtualCell
source§ fn from(c: VirtualCell) -> Self
Converts to this type from the input type.Auto Trait Implementations§
§ impl Freeze for VirtualCell
§ impl RefUnwindSafe for VirtualCell
§ impl Send for VirtualCell
§ impl Sync for VirtualCell
§ impl Unpin for VirtualCell
§ impl UnwindSafe for VirtualCell
Blanket Implementations§
source§ impl<T> BorrowMut<T> for T
where T: ?Sized,source§ fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§ impl<T> Conv for T
§ fn conv<T>(self) -> T
where diff --git a/halo2_frontend/plonk/circuit/expression/enum.Expression.html b/halo2_frontend/plonk/circuit/expression/enum.Expression.html index 08a997361..cad08cf5d 100644 --- a/halo2_frontend/plonk/circuit/expression/enum.Expression.html +++ b/halo2_frontend/plonk/circuit/expression/enum.Expression.html @@ -72,10 +72,10 @@source pub fn complexity(&self) -> usize
Approximate the computational complexity of this expression.
Trait Implementations§
source§ impl<F: Field> Add for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the+
operator.source§ fn add(self, rhs: Expression<F>) -> Expression<F>
Performs the+
operation. Read moresource§ impl<F: Clone> Clone for Expression<F>
source§ fn clone(&self) -> Expression<F>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Debug> Debug for Expression<F>
source§ impl<F: Field> From<Expression<F>> for Constraint<F>
source§ fn from(poly: Expression<F>) -> Self
Converts to this type from the input type.source§ impl<F> From<Expression<F>> for ExpressionMid<F>
source§ fn from(val: Expression<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> From<Expression<F>> for Vec<Constraint<F>>
source§ fn from(poly: Expression<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> Mul<F> for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F: Field> Mul for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: Expression<F>) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F: Field> Neg for Expression<F>
source§ impl<F: PartialEq> PartialEq for Expression<F>
source§ fn eq(&self, other: &Expression<F>) -> bool
This method tests forself
andother
values to be equal, and is used +Trait Implementations§
source§ impl<F: Field> Add for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the+
operator.source§ fn add(self, rhs: Expression<F>) -> Expression<F>
Performs the+
operation. Read moresource§ impl<F: Clone> Clone for Expression<F>
source§ fn clone(&self) -> Expression<F>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Debug> Debug for Expression<F>
source§ impl<F: Field> From<Expression<F>> for Constraint<F>
source§ fn from(poly: Expression<F>) -> Self
Converts to this type from the input type.source§ impl<F> From<Expression<F>> for ExpressionMid<F>
source§ fn from(val: Expression<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> From<Expression<F>> for Vec<Constraint<F>>
source§ fn from(poly: Expression<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> Mul<F> for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F: Field> Mul for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: Expression<F>) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F: Field> Neg for Expression<F>
source§ impl<F: PartialEq> PartialEq for Expression<F>
source§ fn eq(&self, other: &Expression<F>) -> bool
This method tests forself
andother
values to be equal, and is used by==
.source§ impl<F: Field> Product for Expression<F>
source§ impl<F: Field> Sub for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: Expression<F>) -> Expression<F>
Performs the-
operation. Read moresource§ impl<F: Field> Sum for Expression<F>
source§ impl<F: Field> Sub for Expression<F>
§ type Output = Expression<F>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: Expression<F>) -> Expression<F>
Performs the-
operation. Read moresource§ impl<F: Field> Sum for Expression<F>
source§ impl<F: Eq> Eq for Expression<F>
source§ impl<F> StructuralPartialEq for Expression<F>
Auto Trait Implementations§
§ impl<F> Freeze for Expression<F>
where F: Freeze,§ impl<F> RefUnwindSafe for Expression<F>
where F: RefUnwindSafe,§ impl<F> Send for Expression<F>
where diff --git a/halo2_frontend/plonk/circuit/expression/struct.Challenge.html b/halo2_frontend/plonk/circuit/expression/struct.Challenge.html index 370eafd1b..fc8111fb2 100644 --- a/halo2_frontend/plonk/circuit/expression/struct.Challenge.html +++ b/halo2_frontend/plonk/circuit/expression/struct.Challenge.html @@ -21,7 +21,7 @@Fields§
§index: usize
Implementations§
Trait Implementations§
source§ impl From<Challenge> for ChallengeMid
source§ impl From<ChallengeMid> for Challenge
source§ fn from(c: ChallengeMid) -> Self
Converts to this type from the input type.Trait Implementations§
source§ impl From<Challenge> for ChallengeMid
source§ impl From<ChallengeMid> for Challenge
source§ fn from(c: ChallengeMid) -> Self
Converts to this type from the input type.source§ impl PartialEq for Challenge
source§ fn eq(&self, other: &Challenge) -> bool
This method tests forself
andother
values to be equal, and is used by==
.1.0.0 · source§ fn ne(&self, other: &Rhs) -> bool
This method tests for!=
. The default implementation is almost always diff --git a/halo2_frontend/plonk/circuit/expression/struct.Column.html b/halo2_frontend/plonk/circuit/expression/struct.Column.html index 60d02e9bb..54090afa8 100644 --- a/halo2_frontend/plonk/circuit/expression/struct.Column.html +++ b/halo2_frontend/plonk/circuit/expression/struct.Column.html @@ -25,7 +25,7 @@source pub fn next<F: Field>(&self) -> Expression<F>
Return expression from column at the next row
source pub fn prev<F: Field>(&self) -> Expression<F>
Return expression from column at the previous row
source pub fn rot<F: Field>(&self, rotation: i32) -> Expression<F>
Return expression from column at the specified rotation
-Trait Implementations§
Trait Implementations§
source§ impl<C: ColumnType> Ord for Column<C>
source§ impl<C: ColumnType> PartialOrd for Column<C>
1.0.0 · source§ fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (forself
andother
) and is used by the<=
operator. Read moresource§ impl<C: Copy + ColumnType> Copy for Column<C>
source§ impl<C: Eq + ColumnType> Eq for Column<C>
source§ impl<C: ColumnType> StructuralPartialEq for Column<C>
Auto Trait Implementations§
source§ impl<C: Copy + ColumnType> Copy for Column<C>
source§ impl<C: Eq + ColumnType> Eq for Column<C>
source§ impl<C: ColumnType> StructuralPartialEq for Column<C>
Auto Trait Implementations§
§ impl<C> Freeze for Column<C>
where C: Freeze,§ impl<C> RefUnwindSafe for Column<C>
where C: RefUnwindSafe,§ impl<C> Send for Column<C>
where C: Send,§ impl<C> Sync for Column<C>
where diff --git a/halo2_frontend/plonk/error/enum.AssignError.html b/halo2_frontend/plonk/error/enum.AssignError.html index 4d2fef330..1ebdbcf3c 100644 --- a/halo2_frontend/plonk/error/enum.AssignError.html +++ b/halo2_frontend/plonk/error/enum.AssignError.html @@ -61,7 +61,7 @@ desc: String, }, }Expand description
This is an error that could occur during
-assign_advice
,assign_fixed
,copy
, etc.Variants§
Trait Implementations§
source§ impl Debug for AssignError
Auto Trait Implementations§
§ impl Freeze for AssignError
§ impl RefUnwindSafe for AssignError
§ impl Send for AssignError
§ impl Sync for AssignError
§ impl Unpin for AssignError
§ impl UnwindSafe for AssignError
Blanket Implementations§
Variants§
Trait Implementations§
source§ impl Debug for AssignError
Auto Trait Implementations§
§ impl Freeze for AssignError
§ impl RefUnwindSafe for AssignError
§ impl Send for AssignError
§ impl Sync for AssignError
§ impl Unpin for AssignError
§ impl UnwindSafe for AssignError
Blanket Implementations§
source§ impl<T> BorrowMut<T> for T
where T: ?Sized,source§ fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§ impl<T> Conv for T
§ fn conv<T>(self) -> T
where diff --git a/halo2_middleware/circuit/struct.ColumnMid.html b/halo2_middleware/circuit/struct.ColumnMid.html index eec00ba03..e30f50cab 100644 --- a/halo2_middleware/circuit/struct.ColumnMid.html +++ b/halo2_middleware/circuit/struct.ColumnMid.html @@ -20,7 +20,7 @@ }Expand description
A column with an index and type
Fields§
§column_type: Any
§The type of the column.
index: usize
The index of the column.
-Implementations§
Trait Implementations§
source§ impl Hash for ColumnMid
1.3.0 · source§ fn hash_slice<H>(data: &[Self], state: &mut H)
where +Implementations§
Trait Implementations§
source§ impl Ord for ColumnMid
1.21.0 · source§ fn max(self, other: Self) -> Self
where Self: Sized,Compares and returns the maximum of two values. Read more1.21.0 · source§ fn min(self, other: Self) -> Self
where diff --git a/halo2_middleware/expression/enum.Expression.html b/halo2_middleware/expression/enum.Expression.html index 0ad0acb38..bde36d841 100644 --- a/halo2_middleware/expression/enum.Expression.html +++ b/halo2_middleware/expression/enum.Expression.html @@ -40,10 +40,10 @@ in how they are composed e.g.1 + 2
and2 + 1
can have the same identifier).source pub fn complexity(&self) -> usize
Approximate the computational complexity of this expression.
-Trait Implementations§
source§ impl<F: Field, V: Variable> Add for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the+
operator.source§ fn add(self, rhs: Expression<F, V>) -> Expression<F, V>
Performs the+
operation. Read moresource§ impl<F: Clone, V: Clone + Variable> Clone for Expression<F, V>
source§ fn clone(&self) -> Expression<F, V>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Field, V: Variable> Mul<F> for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Expression<F, V>
Performs the*
operation. Read moresource§ impl<F: Field, V: Variable> Mul for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: Expression<F, V>) -> Expression<F, V>
Performs the*
operation. Read moresource§ impl<F: Field, V: Variable> Neg for Expression<F, V>
Trait Implementations§
source§ impl<F: Field, V: Variable> Add for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the+
operator.source§ fn add(self, rhs: Expression<F, V>) -> Expression<F, V>
Performs the+
operation. Read moresource§ impl<F: Clone, V: Clone + Variable> Clone for Expression<F, V>
source§ fn clone(&self) -> Expression<F, V>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Field, V: Variable> Mul<F> for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Expression<F, V>
Performs the*
operation. Read moresource§ impl<F: Field, V: Variable> Mul for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: Expression<F, V>) -> Expression<F, V>
Performs the*
operation. Read moresource§ impl<F: Field, V: Variable> Neg for Expression<F, V>
source§ impl<F: PartialEq, V: PartialEq + Variable> PartialEq for Expression<F, V>
source§ fn eq(&self, other: &Expression<F, V>) -> bool
This method tests forself
andother
values to be equal, and is used by==
.source§ impl<F: Field, V: Variable> Product for Expression<F, V>
source§ impl<F: Field, V: Variable> Sub for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: Expression<F, V>) -> Expression<F, V>
Performs the-
operation. Read moresource§ impl<F: Field, V: Variable> Sum for Expression<F, V>
source§ impl<F: Field, V: Variable> Sub for Expression<F, V>
§ type Output = Expression<F, V>
The resulting type after applying the-
operator.source§ fn sub(self, rhs: Expression<F, V>) -> Expression<F, V>
Performs the-
operation. Read moresource§ impl<F: Field, V: Variable> Sum for Expression<F, V>
source§ impl<F: Eq, V: Eq + Variable> Eq for Expression<F, V>
source§ impl<F, V: Variable> StructuralPartialEq for Expression<F, V>
Auto Trait Implementations§
§ impl<F, V> Freeze for Expression<F, V>
§ impl<F, V> RefUnwindSafe for Expression<F, V>
where diff --git a/halo2_proofs/arithmetic/trait.CurveAffine.html b/halo2_proofs/arithmetic/trait.CurveAffine.html index a3b6a0c37..20a5a148d 100644 --- a/halo2_proofs/arithmetic/trait.CurveAffine.html +++ b/halo2_proofs/arithmetic/trait.CurveAffine.html @@ -45,13 +45,13 @@ ) -> CtOption<ErisAffine>§ fn a() -> <ErisAffine as CurveAffine>::Base
§ fn b() -> <ErisAffine as CurveAffine>::Base
§ impl CurveAffine for G1Affine
§ type ScalarExt = Fq
§ type Base = Fr
§ type CurveExt = G1
§ fn is_on_curve(&self) -> Choice
§ fn coordinates(&self) -> CtOption<Coordinates<G1Affine>>
§ fn from_xy( x: <G1Affine as CurveAffine>::Base, y: <G1Affine as CurveAffine>::Base -) -> CtOption<G1Affine>
§ fn a() -> <G1Affine as CurveAffine>::Base
§ fn b() -> <G1Affine as CurveAffine>::Base
§ impl CurveAffine for G1Affine
§ impl CurveAffine for G1Affine
§ type ScalarExt = Fr
§ type Base = Fq
§ type CurveExt = G1
§ fn is_on_curve(&self) -> Choice
§ fn coordinates(&self) -> CtOption<Coordinates<G1Affine>>
§ fn from_xy( x: <G1Affine as CurveAffine>::Base, y: <G1Affine as CurveAffine>::Base ) -> CtOption<G1Affine>
§ fn a() -> <G1Affine as CurveAffine>::Base
§ fn b() -> <G1Affine as CurveAffine>::Base
§ impl CurveAffine for G1Affine
§ type ScalarExt = Fr
§ type Base = Fq
§ type CurveExt = G1
§ fn is_on_curve(&self) -> Choice
§ fn coordinates(&self) -> CtOption<Coordinates<G1Affine>>
§ fn from_xy( x: <G1Affine as CurveAffine>::Base, y: <G1Affine as CurveAffine>::Base -) -> CtOption<G1Affine>
§ fn a() -> <G1Affine as CurveAffine>::Base
§ fn b() -> <G1Affine as CurveAffine>::Base
§ impl CurveAffine for G1Affine
§ impl CurveAffine for G1Affine
§ type ScalarExt = Fq
§ type Base = Fp
§ type CurveExt = G1
§ fn is_on_curve(&self) -> Choice
§ fn coordinates(&self) -> CtOption<Coordinates<G1Affine>>
§ fn from_xy( x: <G1Affine as CurveAffine>::Base, y: <G1Affine as CurveAffine>::Base ) -> CtOption<G1Affine>
§ fn a() -> <G1Affine as CurveAffine>::Base
§ fn b() -> <G1Affine as CurveAffine>::Base
§ impl CurveAffine for G2Affine
§ type ScalarExt = Fq
§ type Base = QuadExtField<Fp>
§ type CurveExt = G2
§ fn is_on_curve(&self) -> Choice
§ fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>
§ fn from_xy( diff --git a/halo2_proofs/arithmetic/trait.CurveExt.html b/halo2_proofs/arithmetic/trait.CurveExt.html index 908a73d1d..92c399064 100644 --- a/halo2_proofs/arithmetic/trait.CurveExt.html +++ b/halo2_proofs/arithmetic/trait.CurveExt.html @@ -70,19 +70,19 @@
§Example
x: <Eris as CurveExt>::Base, y: <Eris as CurveExt>::Base, z: <Eris as CurveExt>::Base -) -> CtOption<Eris>§ impl CurveExt for G1
§ type ScalarExt = Fr
§ type Base = Fq
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "bls12381_g1"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fq, Fq, Fq)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( +) -> CtOption<Eris>
§ impl CurveExt for G1
§ type ScalarExt = Fr
§ type Base = Fq
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "bn256_g1"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fq, Fq, Fq)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( x: <G1 as CurveExt>::Base, y: <G1 as CurveExt>::Base, z: <G1 as CurveExt>::Base -) -> CtOption<G1>
§ impl CurveExt for G1
§ type ScalarExt = Fq
§ type Base = Fr
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "grumpkin_g1"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fr, Fr, Fr)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( +) -> CtOption<G1>
§ impl CurveExt for G1
§ type ScalarExt = Fr
§ type Base = Fq
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "bls12381_g1"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fq, Fq, Fq)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( x: <G1 as CurveExt>::Base, y: <G1 as CurveExt>::Base, z: <G1 as CurveExt>::Base -) -> CtOption<G1>
§ impl CurveExt for G1
§ type ScalarExt = Fq
§ type Base = Fp
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "pluto"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fp, Fp, Fp)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( +) -> CtOption<G1>
§ impl CurveExt for G1
§ type ScalarExt = Fq
§ type Base = Fr
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "grumpkin_g1"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fr, Fr, Fr)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( x: <G1 as CurveExt>::Base, y: <G1 as CurveExt>::Base, z: <G1 as CurveExt>::Base -) -> CtOption<G1>
§ impl CurveExt for G1
§ type ScalarExt = Fr
§ type Base = Fq
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "bn256_g1"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fq, Fq, Fq)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( +) -> CtOption<G1>
§ impl CurveExt for G1
§ type ScalarExt = Fq
§ type Base = Fp
§ type AffineExt = G1Affine
§ const CURVE_ID: &'static str = "pluto"
§ fn endo(&self) -> G1
§ fn jacobian_coordinates(&self) -> (Fp, Fp, Fp)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G1 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G1 as CurveExt>::Base
§ fn a() -> <G1 as CurveExt>::Base
§ fn new_jacobian( x: <G1 as CurveExt>::Base, y: <G1 as CurveExt>::Base, z: <G1 as CurveExt>::Base @@ -92,15 +92,15 @@
§Example
x: <G2 as CurveExt>::Base, y: <G2 as CurveExt>::Base, z: <G2 as CurveExt>::Base -) -> CtOption<G2>§ impl CurveExt for G2
§ type ScalarExt = Fq
§ type Base = QuadExtField<Fp>
§ type AffineExt = G2Affine
§ const CURVE_ID: &'static str = "triton"
§ fn endo(&self) -> G2
§ fn jacobian_coordinates( &self -) -> (QuadExtField<Fq>, QuadExtField<Fq>, QuadExtField<Fq>)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G2 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G2 as CurveExt>::Base
§ fn a() -> <G2 as CurveExt>::Base
§ fn new_jacobian( +) -> (QuadExtField<Fp>, QuadExtField<Fp>, QuadExtField<Fp>)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G2 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G2 as CurveExt>::Base
§ fn a() -> <G2 as CurveExt>::Base
§ fn new_jacobian( x: <G2 as CurveExt>::Base, y: <G2 as CurveExt>::Base, z: <G2 as CurveExt>::Base -) -> CtOption<G2>
§ impl CurveExt for G2
§ type ScalarExt = Fr
§ type Base = QuadExtField<Fq>
§ type AffineExt = G2Affine
§ const CURVE_ID: &'static str = "bls12381_g2"
§ fn endo(&self) -> G2
§ fn jacobian_coordinates( &self -) -> (QuadExtField<Fp>, QuadExtField<Fp>, QuadExtField<Fp>)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G2 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G2 as CurveExt>::Base
§ fn a() -> <G2 as CurveExt>::Base
§ fn new_jacobian( +) -> (QuadExtField<Fq>, QuadExtField<Fq>, QuadExtField<Fq>)
§ fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> G2 + 'a>
§ fn is_on_curve(&self) -> Choice
§ fn b() -> <G2 as CurveExt>::Base
§ fn a() -> <G2 as CurveExt>::Base
§ fn new_jacobian( x: <G2 as CurveExt>::Base, y: <G2 as CurveExt>::Base, z: <G2 as CurveExt>::Base diff --git a/halo2_proofs/circuit/struct.Value.html b/halo2_proofs/circuit/struct.Value.html index 17325adb2..627a8b981 100644 --- a/halo2_proofs/circuit/struct.Value.html +++ b/halo2_proofs/circuit/struct.Value.html @@ -100,15 +100,15 @@
§Examples
F: Field,Trait Implementations§
source§ impl<V> Copy for Value<V>
source§ impl<V> Copy for Value<V>
where V: Copy,Auto Trait Implementations§
§ impl<V> Freeze for Value<V>
where V: Freeze,§ impl<V> RefUnwindSafe for Value<V>
where V: RefUnwindSafe,§ impl<V> Send for Value<V>
where diff --git a/halo2_proofs/dev/metadata/struct.Column.html b/halo2_proofs/dev/metadata/struct.Column.html index c070327ec..0967d6401 100644 --- a/halo2_proofs/dev/metadata/struct.Column.html +++ b/halo2_proofs/dev/metadata/struct.Column.html @@ -20,7 +20,7 @@ }Expand description
A column with an index and type
Fields§
§column_type: Any
§The type of the column.
index: usize
The index of the column.
-Implementations§
Trait Implementations§
source§ impl Hash for ColumnMid
source§ fn hash<__H>(&self, state: &mut __H)
where +Implementations§
Trait Implementations§
source§ impl Ord for ColumnMid
1.21.0 · source§ fn max(self, other: Self) -> Self
where diff --git a/halo2_proofs/dev/metadata/struct.Region.html b/halo2_proofs/dev/metadata/struct.Region.html index 018e9b454..d39041ba0 100644 --- a/halo2_proofs/dev/metadata/struct.Region.html +++ b/halo2_proofs/dev/metadata/struct.Region.html @@ -15,7 +15,7 @@Struct halo2_proofs::
source ·dev:: metadata:: Region pub struct Region { /* private fields */ }
Expand description
Metadata about an assigned region within a circuit.
-Trait Implementations§
source§ impl PartialEq for Region
source§ fn eq(&self, other: &Region) -> bool
This method tests forself
andother
values to be equal, and is used +Trait Implementations§
source§ impl PartialEq for Region
source§ impl Eq for Region
Auto Trait Implementations§
§ impl Freeze for Region
§ impl RefUnwindSafe for Region
§ impl Send for Region
§ impl Sync for Region
§ impl Unpin for Region
§ impl UnwindSafe for Region
Blanket Implementations§
Trait Implementations§
source§ impl ColumnType for Any
source§ fn query_cell<F>(&self, index: usize, at: Rotation) -> Expression<F>
where - F: Field,Return expression from cellTrait Implementations§
source§ impl<F> AddAssign<&Assigned<F>> for Assigned<F>
where - F: Field,source§ fn add_assign(&mut self, rhs: &Assigned<F>)
Performs the+=
operation. Read moresource§ impl<F> AddAssign for Assigned<F>
where - F: Field,source§ fn add_assign(&mut self, rhs: Assigned<F>)
Performs the+=
operation. Read moresource§ impl<F> AddAssign<&Assigned<F>> for Assigned<F>
where + F: Field,source§ fn add_assign(&mut self, rhs: &Assigned<F>)
Performs the+=
operation. Read moresource§ impl<F> AddAssign for Assigned<F>
where + F: Field,source§ fn add_assign(&mut self, rhs: Assigned<F>)
Performs the+=
operation. Read moresource§ impl<F> MulAssign<&Assigned<F>> for Assigned<F>
where F: Field,source§ fn mul_assign(&mut self, rhs: &Assigned<F>)
Performs the*=
operation. Read moresource§ impl<F> MulAssign for Assigned<F>
where F: Field,source§ fn mul_assign(&mut self, rhs: Assigned<F>)
Performs the*=
operation. Read moresource§ impl<F> SubAssign<&Assigned<F>> for Assigned<F>
where F: Field,source§ fn sub_assign(&mut self, rhs: &Assigned<F>)
Performs the-=
operation. Read moresource§ impl<F> SubAssign for Assigned<F>
where F: Field,source§ fn sub_assign(&mut self, rhs: Assigned<F>)
Performs the-=
operation. Read moresource§ impl<F> Copy for Assigned<F>
where F: Copy,source§ impl<F> Eq for Assigned<F>
where diff --git a/halo2_proofs/plonk/enum.Expression.html b/halo2_proofs/plonk/enum.Expression.html index 460f80352..1f27ea1d0 100644 --- a/halo2_proofs/plonk/enum.Expression.html +++ b/halo2_proofs/plonk/enum.Expression.html @@ -78,8 +78,8 @@ F: Field,§ type Output = Expression<F>
The resulting type after applying the+
operator.source§ fn add(self, rhs: Expression<F>) -> Expression<F>
Performs the+
operation. Read moresource§ impl<F> Clone for Expression<F>
where F: Clone,source§ fn clone(&self) -> Expression<F>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F> Debug for Expression<F>
where F: Debug,source§ impl<F> Mul<F> for Expression<F>
where - F: Field,§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F> Mul for Expression<F>
where - F: Field,§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: Expression<F>) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F> Neg for Expression<F>
where + F: Field,§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: F) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F> Mul for Expression<F>
where + F: Field,§ type Output = Expression<F>
The resulting type after applying the*
operator.source§ fn mul(self, rhs: Expression<F>) -> Expression<F>
Performs the*
operation. Read moresource§ impl<F> Neg for Expression<F>
where F: Field,§ type Output = Expression<F>
The resulting type after applying the-
operator.source§ impl<F> PartialEq for Expression<F>
where F: PartialEq,source§ fn eq(&self, other: &Expression<F>) -> bool
This method tests forself
andother
values to be equal, and is used by==
.1.0.0 · source§ fn ne(&self, other: &Rhs) -> bool
This method tests for!=
. The default implementation is almost always diff --git a/halo2_proofs/plonk/struct.Column.html b/halo2_proofs/plonk/struct.Column.html index fd7aaf199..61fbf970a 100644 --- a/halo2_proofs/plonk/struct.Column.html +++ b/halo2_proofs/plonk/struct.Column.html @@ -34,7 +34,7 @@ F: Field,Return expression from column at the specified rotation
Trait Implementations§
source§ impl<C> PartialOrd for Column<C>
where C: ColumnType,1.0.0 · source§ fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (forself
andother
) and is used by the<=
operator. Read moresource§ impl<C> Copy for Column<C>
where C: Copy + ColumnType,source§ impl<C> Eq for Column<C>
where diff --git a/halo2_proofs/poly/commitment/struct.Blind.html b/halo2_proofs/poly/commitment/struct.Blind.html index 713b39ba8..5b5b43c66 100644 --- a/halo2_proofs/poly/commitment/struct.Blind.html +++ b/halo2_proofs/poly/commitment/struct.Blind.html @@ -20,8 +20,8 @@ R: RngCore,Given
rng
creates new blinding scalarTrait Implementations§
source§ impl<F> AddAssign<F> for Blind<F>
where - F: Field,source§ fn add_assign(&mut self, rhs: F)
Performs the+=
operation. Read moresource§ impl<F> AddAssign for Blind<F>
where - F: Field,source§ fn add_assign(&mut self, rhs: Blind<F>)
Performs the+=
operation. Read moresource§ impl<F> Clone for Blind<F>
where + F: Field,source§ fn add_assign(&mut self, rhs: F)
Performs the+=
operation. Read moresource§ impl<F> AddAssign for Blind<F>
where + F: Field,source§ fn add_assign(&mut self, rhs: Blind<F>)
Performs the+=
operation. Read moresource§ impl<F> Mul for Blind<F>
where diff --git a/halo2_proofs/poly/kzg/commitment/struct.KZGCommitmentScheme.html b/halo2_proofs/poly/kzg/commitment/struct.KZGCommitmentScheme.html index 8bc3836e6..4f9083cf3 100644 --- a/halo2_proofs/poly/kzg/commitment/struct.KZGCommitmentScheme.html +++ b/halo2_proofs/poly/kzg/commitment/struct.KZGCommitmentScheme.html @@ -102,8 +102,8 @@ <E as Engine>::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E: MultiMillerLoop + Debug, <E as Engine>::G1: CurveExt<AffineExt = <E as Engine>::G1Affine>, - <E as Engine>::G2Affine: SerdeCurveAffine,§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification -to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationsource§ fn new() -> VerifierGWC<E>
Creates new verifier instancesource§ fn verify_proof<'com, Ch, T, I>( + <E as Engine>::G2Affine: SerdeCurveAffine,
§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification +to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationsource§ fn new() -> VerifierGWC<E>
Creates new verifier instancesource§ fn verify_proof<'com, Ch, T, I>( &self, transcript: &mut T, queries: I, @@ -116,7 +116,7 @@ <E as Engine>::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E: MultiMillerLoop + Debug, <E as Engine>::G1: CurveExt<AffineExt = <E as Engine>::G1Affine>, - <E as Engine>::G2Affine: SerdeCurveAffine,
source§ fn verify_proof<'com, Ch, T, I>( + <E as Engine>::G2Affine: SerdeCurveAffine,
source§ fn verify_proof<'com, Ch, T, I>( &self, transcript: &mut T, queries: I, @@ -125,8 +125,8 @@ Ch: EncodedChallenge<<E as Engine>::G1Affine>, T: TranscriptRead<<E as Engine>::G1Affine, Ch>, I: IntoIterator<Item = VerifierQuery<'com, <E as Engine>::G1Affine, MSMKZG<E>>> + Clone,
Verify a multi-opening proof
-§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification -to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationsource§ fn new() -> VerifierSHPLONK<E>
Creates new verifier instanceAuto Trait Implementations§
§ impl<E> Freeze for KZGCommitmentScheme<E>
§ impl<E> RefUnwindSafe for KZGCommitmentScheme<E>
where +§ type Guard = GuardKZG<E>
Unfinalized verification result. This is returned in verification +to allow developer to compress or combine verification results§ type MSMAccumulator = DualMSM<E>
Accumulator for compressed verificationsource§ fn new() -> VerifierSHPLONK<E>
Creates new verifier instanceAuto Trait Implementations§
§ impl<E> Freeze for KZGCommitmentScheme<E>
§ impl<E> RefUnwindSafe for KZGCommitmentScheme<E>
where E: RefUnwindSafe,§ impl<E> Send for KZGCommitmentScheme<E>
§ impl<E> Sync for KZGCommitmentScheme<E>
§ impl<E> Unpin for KZGCommitmentScheme<E>
where E: Unpin,§ impl<E> UnwindSafe for KZGCommitmentScheme<E>
where E: UnwindSafe,Blanket Implementations§
source§ impl<T> Any for T
where diff --git a/halo2_proofs/transcript/struct.Challenge255.html b/halo2_proofs/transcript/struct.Challenge255.html index c9db2f1c5..e0b6aeea5 100644 --- a/halo2_proofs/transcript/struct.Challenge255.html +++ b/halo2_proofs/transcript/struct.Challenge255.html @@ -115,36 +115,36 @@§Examples
an input from the Blake2b hash would be a [u8; 64].source§ fn new(challenge_input: &[u8; 64]) -> Challenge255<C>
Get an encoded challenge from a given input challenge.source§ fn get_scalar(&self) -> <C as PrimeCurveAffine>::Scalar
Get a scalar field element from an encoded challenge.source§ fn as_challenge_scalar<T>(&self) -> ChallengeScalar<C, T>
Cast an encoded challenge as a typedChallengeScalar
.source§ impl<R, C> Transcript<C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where R: Read, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar( + <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,
source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar( &mut self, scalar: <C as PrimeCurveAffine>::Scalar ) -> Result<(), Error>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W, C> Transcript<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W, C> Transcript<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where W: Write, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar( + <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,
source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar( &mut self, scalar: <C as PrimeCurveAffine>::Scalar ) -> Result<(), Error>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R, C> Transcript<C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
where +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R, C> Transcript<C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
where R: Read, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar( + <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,
source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar( &mut self, scalar: <C as PrimeCurveAffine>::Scalar ) -> Result<(), Error>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W, C> Transcript<C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<W, C> Transcript<C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where W: Write, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, -treating it as a common input.source§ fn common_scalar( + <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,
source§ fn squeeze_challenge(&mut self) -> Challenge255<C>
Squeeze an encoded verifier challenge from the transcript.source§ fn common_point(&mut self, point: C) -> Result<(), Error>
Writing the point to the transcript without writing it to the proof, +treating it as a common input.source§ fn common_scalar( &mut self, scalar: <C as PrimeCurveAffine>::Scalar ) -> Result<(), Error>
Writing the scalar to the transcript without writing it to the proof, -treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R, C> TranscriptRead<C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where +treating it as a common input.source§ fn squeeze_challenge_scalar<T>(&mut self) -> ChallengeScalar<C, T>
Squeeze a typed challenge (in the scalar field) from the transcript.source§ impl<R, C> TranscriptRead<C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where R: Read, C: CurveAffine, <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn read_point(&mut self) -> Result<C, Error>
Read a curve point from the prover.source§ fn read_scalar(&mut self) -> Result<<C as PrimeCurveAffine>::Scalar, Error>
Read a curve scalar from the prover.source§ impl<R, C> TranscriptRead<C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
source§ impl<W, C> TranscriptWriterBuffer<W, C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where W: Write, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn init(writer: W) -> Blake2bWrite<W, C, Challenge255<C>>
Initialize a transcript given an output buffer.
-source§ impl<W, C> TranscriptWriterBuffer<W, C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where + <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn init(writer: W) -> Blake2bWrite<W, C, Challenge255<C>>
Initialize a transcript given an output buffer.
+source§ impl<W, C> TranscriptWriterBuffer<W, C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where W: Write, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn init(writer: W) -> Keccak256Write<W, C, Challenge255<C>>
Initialize a transcript given an output buffer.
-source§ fn finalize(self) -> W
Conclude the interaction and return the output buffer (writer).
+ <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,source§ fn init(writer: W) -> Keccak256Write<W, C, Challenge255<C>>
Initialize a transcript given an output buffer.
+source§ impl<C> Copy for Challenge255<C>
where C: Copy + CurveAffine,Auto Trait Implementations§
§ impl<C> Freeze for Challenge255<C>
§ impl<C> RefUnwindSafe for Challenge255<C>
where C: RefUnwindSafe,§ impl<C> Send for Challenge255<C>
§ impl<C> Sync for Challenge255<C>
§ impl<C> Unpin for Challenge255<C>
where diff --git a/p3_frontend/enum.SymbolicExpression.html b/p3_frontend/enum.SymbolicExpression.html index b96e15097..b8db23051 100644 --- a/p3_frontend/enum.SymbolicExpression.html +++ b/p3_frontend/enum.SymbolicExpression.html @@ -27,9 +27,9 @@ P: PackedField<Scalar = Self>,§ fn shifted_powers_packed<P>(&self, start: Self) -> PackedPowers<Self, P>
where P: PackedField<Scalar = Self>,§ fn dot_product<const N: usize>(u: &[Self; N], v: &[Self; N]) -> Self
§ fn try_div<Rhs>(self, rhs: Rhs) -> Option<Self::Output>
where Rhs: Field, - Self: Mul<Rhs>,source§ impl<F: Field> Add<F> for SymbolicExpression<F>
source§ impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add for SymbolicExpression<F>
source§ impl<F: Field> AddAssign<F> for SymbolicExpression<F>
source§ fn add_assign(&mut self, rhs: F)
Performs the+=
operation. Read moresource§ impl<F: Field> AddAssign for SymbolicExpression<F>
source§ fn add_assign(&mut self, rhs: Self)
Performs the+=
operation. Read moresource§ impl<F: Clone + Field> Clone for SymbolicExpression<F>
source§ fn clone(&self) -> SymbolicExpression<F>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Debug + Field> Debug for SymbolicExpression<F>
source§ impl<F: Field> Default for SymbolicExpression<F>
source§ impl<F: Field> Display for SymbolicExpression<F>
source§ impl<F: Field> From<F> for SymbolicExpression<F>
source§ impl<F: Field> From<SymbolicVariable<F>> for SymbolicExpression<F>
source§ fn from(value: SymbolicVariable<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> Mul<F> for SymbolicExpression<F>
source§ impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul for SymbolicExpression<F>
source§ impl<F: Field> MulAssign<F> for SymbolicExpression<F>
source§ fn mul_assign(&mut self, rhs: F)
Performs the*=
operation. Read moresource§ impl<F: Field> MulAssign for SymbolicExpression<F>
source§ fn mul_assign(&mut self, rhs: Self)
Performs the*=
operation. Read moresource§ impl<F: Field> Neg for SymbolicExpression<F>
source§ impl<F: Field> Product<F> for SymbolicExpression<F>
source§ impl<F: Field> Add<F> for SymbolicExpression<F>
source§ impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add for SymbolicExpression<F>
source§ impl<F: Field> AddAssign<F> for SymbolicExpression<F>
source§ fn add_assign(&mut self, rhs: F)
Performs the+=
operation. Read moresource§ impl<F: Field> AddAssign for SymbolicExpression<F>
source§ fn add_assign(&mut self, rhs: Self)
Performs the+=
operation. Read moresource§ impl<F: Clone + Field> Clone for SymbolicExpression<F>
source§ fn clone(&self) -> SymbolicExpression<F>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Debug + Field> Debug for SymbolicExpression<F>
source§ impl<F: Field> Default for SymbolicExpression<F>
source§ impl<F: Field> Display for SymbolicExpression<F>
source§ impl<F: Field> From<F> for SymbolicExpression<F>
source§ impl<F: Field> From<SymbolicVariable<F>> for SymbolicExpression<F>
source§ fn from(value: SymbolicVariable<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> Mul<F> for SymbolicExpression<F>
source§ impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul for SymbolicExpression<F>
source§ impl<F: Field> MulAssign<F> for SymbolicExpression<F>
source§ fn mul_assign(&mut self, rhs: F)
Performs the*=
operation. Read moresource§ impl<F: Field> MulAssign for SymbolicExpression<F>
source§ fn mul_assign(&mut self, rhs: Self)
Performs the*=
operation. Read moresource§ impl<F: Field> Neg for SymbolicExpression<F>
source§ impl<F: Field> Product<F> for SymbolicExpression<F>
source§ impl<F: Field> Product for SymbolicExpression<F>
source§ impl<F: Field> Sub<F> for SymbolicExpression<F>
source§ impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub for SymbolicExpression<F>
source§ impl<F: Field> SubAssign<F> for SymbolicExpression<F>
source§ fn sub_assign(&mut self, rhs: F)
Performs the-=
operation. Read moresource§ impl<F: Field> SubAssign for SymbolicExpression<F>
source§ fn sub_assign(&mut self, rhs: Self)
Performs the-=
operation. Read moresource§ impl<F: Field> Sum<F> for SymbolicExpression<F>
source§ impl<F: Field> Sub<F> for SymbolicExpression<F>
source§ impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub for SymbolicExpression<F>
source§ impl<F: Field> SubAssign<F> for SymbolicExpression<F>
source§ fn sub_assign(&mut self, rhs: F)
Performs the-=
operation. Read moresource§ impl<F: Field> SubAssign for SymbolicExpression<F>
source§ fn sub_assign(&mut self, rhs: Self)
Performs the-=
operation. Read moresource§ impl<F: Field> Sum<F> for SymbolicExpression<F>
Auto Trait Implementations§
§ impl<F> Freeze for SymbolicExpression<F>
where F: Freeze,§ impl<F> RefUnwindSafe for SymbolicExpression<F>
where diff --git a/p3_frontend/struct.FWrap.html b/p3_frontend/struct.FWrap.html index 0696f54c5..8dd53dff3 100644 --- a/p3_frontend/struct.FWrap.html +++ b/p3_frontend/struct.FWrap.html @@ -18,14 +18,14 @@ P: PackedField<Scalar = Self>,§ fn shifted_powers_packed<P>(&self, start: Self) -> PackedPowers<Self, P>
where P: PackedField<Scalar = Self>,§ fn dot_product<const N: usize>(u: &[Self; N], v: &[Self; N]) -> Self
§ fn try_div<Rhs>(self, rhs: Rhs) -> Option<Self::Output>
where Rhs: Field, - Self: Mul<Rhs>,source§ impl<F: Field> AddAssign for FWrap<F>
source§ fn add_assign(&mut self, rhs: Self)
Performs the+=
operation. Read moresource§ impl<'de, F: PrimeField> Deserialize<'de> for FWrap<F>
source§ fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,Deserialize this value from the given Serde deserializer. Read moresource§ impl<F: PrimeField + Hash> Field for FWrap<F>
§ type Packing = FWrap<F>
source§ fn is_zero(&self) -> bool
source§ fn try_inverse(&self) -> Option<Self>
The multiplicative inverse of this field element, if it exists. Read moresource§ fn order() -> BigUint
§ fn is_one(&self) -> bool
§ fn mul_2exp_u64(&self, exp: u64) -> Self
self * 2^exp§ fn div_2exp_u64(&self, exp: u64) -> Self
self / 2^exp§ fn exp_u64_generic<AF>(val: AF, power: u64) -> AF
where + Self: Mul<Rhs>,source§ impl<F: Field> AddAssign for FWrap<F>
source§ fn add_assign(&mut self, rhs: Self)
Performs the+=
operation. Read moresource§ impl<'de, F: PrimeField> Deserialize<'de> for FWrap<F>
source§ fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,Deserialize this value from the given Serde deserializer. Read moresource§ impl<F: PrimeField + Hash> Field for FWrap<F>
§ type Packing = FWrap<F>
source§ fn is_zero(&self) -> bool
source§ fn try_inverse(&self) -> Option<Self>
The multiplicative inverse of this field element, if it exists. Read moresource§ fn order() -> BigUint
§ fn is_one(&self) -> bool
§ fn mul_2exp_u64(&self, exp: u64) -> Self
self * 2^exp§ fn div_2exp_u64(&self, exp: u64) -> Self
self / 2^exp§ fn exp_u64_generic<AF>(val: AF, power: u64) -> AF
where AF: AbstractField<F = Self>,Exponentiation by au64
power. This is similar toexp_u64
, but more general in that it can be used withAbstractField
s, not just this concrete field. Read more§ fn inverse(&self) -> Self
§ fn halve(&self) -> Self
Computes input/2. Should be overwritten by most field implementations to use bitshifts. Will error if the field characteristic is 2.§ fn bits() -> usize
source§ impl<F: Field> MulAssign for FWrap<F>
source§ fn mul_assign(&mut self, rhs: Self)
Performs the*=
operation. Read moresource§ impl<F: Field> MulAssign for FWrap<F>
source§ fn mul_assign(&mut self, rhs: Self)
Performs the*=
operation. Read moresource§ impl<F: Ord + Field> Ord for FWrap<F>
source§ impl<F: PartialEq + Field> PartialEq for FWrap<F>
source§ impl<F: PrimeField + Hash + Ord> PrimeField for FWrap<F>
source§ fn as_canonical_biguint(&self) -> BigUint
source§ impl<F: Field> SubAssign for FWrap<F>
source§ fn sub_assign(&mut self, rhs: Self)
Performs the-=
operation. Read moresource§ impl<F: Field> SubAssign for FWrap<F>
source§ fn sub_assign(&mut self, rhs: Self)
Performs the-=
operation. Read moresource§ impl<F: Copy + Field> Copy for FWrap<F>
source§ impl<F: Eq + Field> Eq for FWrap<F>
source§ impl<F: Field> Packable for FWrap<F>
source§ impl<F: Field> Send for FWrap<F>
source§ impl<F: Field> StructuralPartialEq for FWrap<F>
source§ impl<F: Field> Sync for FWrap<F>
Auto Trait Implementations§
§ impl<F> Freeze for FWrap<F>
where F: Freeze,§ impl<F> RefUnwindSafe for FWrap<F>
where F: RefUnwindSafe,§ impl<F> Unpin for FWrap<F>
where diff --git a/p3_frontend/struct.SymbolicVariable.html b/p3_frontend/struct.SymbolicVariable.html index 4a5bc4ce2..24de36109 100644 --- a/p3_frontend/struct.SymbolicVariable.html +++ b/p3_frontend/struct.SymbolicVariable.html @@ -15,7 +15,7 @@Struct p3_frontend::
source ·SymbolicVariable pub struct SymbolicVariable<F: Field>(pub Var, pub PhantomData<F>);
Expand description
A variable within the evaluation window, i.e. a column in either the local or next row.
-Tuple Fields§
§0: Var
§1: PhantomData<F>
Implementations§
source§ impl<F: Field> SymbolicVariable<F>
Trait Implementations§
source§ impl<F: Field> Add<F> for SymbolicVariable<F>
source§ impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add for SymbolicVariable<F>
source§ impl<F: Clone + Field> Clone for SymbolicVariable<F>
source§ fn clone(&self) -> SymbolicVariable<F>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Debug + Field> Debug for SymbolicVariable<F>
source§ impl<F: Field> Display for SymbolicVariable<F>
source§ impl<F: Field> From<SymbolicVariable<F>> for SymbolicExpression<F>
source§ fn from(value: SymbolicVariable<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> Mul<F> for SymbolicVariable<F>
source§ impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul for SymbolicVariable<F>
source§ impl<F: Field> Sub<F> for SymbolicVariable<F>
source§ impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub for SymbolicVariable<F>
source§ impl<F: Copy + Field> Copy for SymbolicVariable<F>
Auto Trait Implementations§
§ impl<F> Freeze for SymbolicVariable<F>
§ impl<F> RefUnwindSafe for SymbolicVariable<F>
where +Tuple Fields§
§0: Var
§1: PhantomData<F>
Implementations§
source§ impl<F: Field> SymbolicVariable<F>
Trait Implementations§
source§ impl<F: Field> Add<F> for SymbolicVariable<F>
source§ impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the+
operator.source§ impl<F: Field> Add for SymbolicVariable<F>
source§ impl<F: Clone + Field> Clone for SymbolicVariable<F>
source§ fn clone(&self) -> SymbolicVariable<F>
Returns a copy of the value. Read more1.0.0 · source§ fn clone_from(&mut self, source: &Self)
Performs copy-assignment fromsource
. Read moresource§ impl<F: Debug + Field> Debug for SymbolicVariable<F>
source§ impl<F: Field> Display for SymbolicVariable<F>
source§ impl<F: Field> From<SymbolicVariable<F>> for SymbolicExpression<F>
source§ fn from(value: SymbolicVariable<F>) -> Self
Converts to this type from the input type.source§ impl<F: Field> Mul<F> for SymbolicVariable<F>
source§ impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the*
operator.source§ impl<F: Field> Mul for SymbolicVariable<F>
source§ impl<F: Field> Sub<F> for SymbolicVariable<F>
source§ impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>
§ type Output = SymbolicExpression<F>
The resulting type after applying the-
operator.source§ impl<F: Field> Sub for SymbolicVariable<F>
source§ impl<F: Copy + Field> Copy for SymbolicVariable<F>
Auto Trait Implementations§
§ impl<F> Freeze for SymbolicVariable<F>
§ impl<F> RefUnwindSafe for SymbolicVariable<F>
where F: RefUnwindSafe,§ impl<F> Send for SymbolicVariable<F>
§ impl<F> Sync for SymbolicVariable<F>
§ impl<F> Unpin for SymbolicVariable<F>
where F: Unpin,§ impl<F> UnwindSafe for SymbolicVariable<F>
where F: UnwindSafe,Blanket Implementations§
source§ impl<T> Any for T
where diff --git a/search-index.js b/search-index.js index 4aa468061..4be5deb75 100644 --- a/search-index.js +++ b/search-index.js @@ -1,11 +1,11 @@ var searchIndex = new Map(JSON.parse('[\ ["halo2",{"t":"","n":[],"q":[],"i":[],"f":"","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],\ -["halo2_backend",{"t":"CCCCCCRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMKPPPKGKNNNNNNNNNNNNNNNNNNNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNPPPGPPPPPFFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNCNNNNNNNNNNNNNNNNNNNNNCNNNNNNOHHFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHKFGFFKKFRPFFPKONNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNFTKRRKRRKKRKRKRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFKRFFKKKKKNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMMNNNNNNNNNNNNNNNNMNHHMNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNN","n":["arithmetic","helpers","multicore","plonk","poly","transcript","AffineExt","Base","Base","CURVE_ID","CurveAffine","CurveExt","CurveExt","Field","ONE","ScalarExt","ScalarExt","ZERO","a","a","b","b","coordinates","cube","double","endo","from_xy","hash_to_curve","invert","is_on_curve","is_on_curve","is_zero","is_zero_vartime","jacobian_coordinates","new_jacobian","parallelize","pow","pow_vartime","random","sqrt","sqrt_alt","sqrt_ratio","square","CurveRead","Processed","RawBytes","RawBytesUnchecked","SerdeCurveAffine","SerdeFormat","SerdePrimeField","borrow","borrow_mut","byte_length","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","read","read","read","to_owned","try_from","try_into","type_id","vzip","write","write","IndexedParallelIterator","IntoParallelIterator","IntoParallelRefIterator","IntoParallelRefMutIterator","Item","Item","Item","Item","Iter","Iter","Iter","ParallelIterator","ParallelSliceMut","Scope","TryFoldAndReduce","all","any","as_parallel_slice_mut","borrow","borrow_mut","by_exponential_blocks","by_uniform_blocks","chain","chunks","cloned","cmp","collect","collect_into_vec","collect_vec_list","copied","count","current_num_threads","deref","deref_mut","drive","drive_unindexed","drop","enumerate","eq","filter","filter_map","find_any","find_first","find_last","find_map_any","find_map_first","find_map_last","flat_map","flat_map_iter","flatten","flatten_iter","fmt","fold","fold_chunks","fold_chunks_with","fold_with","for_each","for_each_init","for_each_with","from","ge","gt","init","inspect","interleave","interleave_shortest","intersperse","into","into_par_iter","join","le","len","lt","map","map_init","map_with","max","max_by","max_by_key","min","min_by","min_by_key","ne","opt_len","panic_fuse","par_chunk_by_mut","par_chunks_exact_mut","par_chunks_mut","par_iter","par_iter_mut","par_rchunks_exact_mut","par_rchunks_mut","par_sort","par_sort_by","par_sort_by_cached_key","par_sort_by_key","par_sort_unstable","par_sort_unstable_by","par_sort_unstable_by_key","par_split_inclusive_mut","par_split_mut","partial_cmp","partition","partition_map","position_any","position_first","position_last","positions","product","reduce","reduce_with","rev","scope","skip","skip_any","skip_any_while","spawn","spawn_broadcast","step_by","sum","take","take_any","take_any_while","try_fold","try_fold_and_reduce","try_fold_with","try_for_each","try_for_each_init","try_for_each_with","try_from","try_into","try_reduce","try_reduce_with","type_id","unzip","unzip_into_vecs","update","vzip","while_some","with_max_len","with_min_len","with_producer","zip","zip_eq","BoundsFailure","ColumnNotInPermutation","ConstraintSystemFailure","Error","InstanceTooLarge","InvalidInstances","NotEnoughRowsAvailable","Opening","Other","PinnedVerificationKey","ProvingKey","Transcript","VerifyingKey","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fixed_commitments","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_bytes","from_bytes","get_domain","get_vk","hash_into","init","init","init","init","into","into","into","into","keygen","not_enough_rows_available","pinned","prover","read","read","source","to_bytes","to_bytes","to_owned","to_owned","to_string","transcript_repr","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verifier","vzip","vzip","vzip","vzip","write","write","current_k","keygen_pk","keygen_vk","Prover","ProverMulti","borrow","borrow","borrow_mut","borrow_mut","commit_phase","commit_phase","create_proof","create_proof","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new","new","new_with_engine","new_with_engine","phases","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","verify_proof","verify_proof_multi","verify_proof_with_strategy","Basis","Coeff","Error","EvaluationDomain","ExtendedLagrangeCoeff","Guard","LagrangeBasis","LagrangeCoeff","MSMAccumulator","OpeningError","PinnedEvaluationDomain","Polynomial","SamplingError","VerificationStrategy","_marker","add","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_into","clone_into","clone_into","clone_into","clone_into","coeff_from_vec","coeff_to_extended","commitment","constant_extended","constant_lagrange","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divide_by_vanishing_poly","drop","drop","drop","drop","drop","drop","drop","empty_coeff","empty_extended","empty_lagrange","extended_k","extended_len","extended_to_coeff","finalize","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_extended_omega","get_omega","get_omega_inv","get_quotient_poly_degree","index","index","index","index_mut","index_mut","index_mut","init","init","init","init","init","init","init","into","into","into","into","into","into","into","iter","iter_mut","k","kzg","l_i_range","lagrange_extended","lagrange_from_vec","lagrange_to_coeff","mul","new","new","new_empty","new_lagrange_from_vec","num_coeffs","pinned","process","rotate","rotate_extended","rotate_omega","sub","sub","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","values","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Blind","COMMIT_INSTANCE","CommitmentScheme","Curve","Guard","MSM","MSM","MSMAccumulator","Params","ParamsProver","ParamsProver","ParamsVerifier","ParamsVerifier","Prover","Scalar","Verifier","add","add_assign","add_assign","add_msm","append_term","bases","borrow","borrow_mut","check","clone","clone_into","commit","commit_lagrange","create_proof","create_proof_with_engine","default","deref","deref_mut","downsize","drop","empty_msm","eq","eval","fmt","from","init","into","k","mul","mul_assign","mul_assign","n","new","new","new","new","new_params","read","read_params","scalars","scale","to_owned","try_from","try_into","type_id","verify_proof","vzip","write","commitment","msm","multiopen","strategy","KZGCommitmentScheme","ParamsKZG","ParamsVerifierKZG","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","commit","commit_lagrange","commit_lagrange","deref","deref","deref","deref_mut","deref_mut","deref_mut","downsize","downsize","drop","drop","drop","empty_msm","empty_msm","fmt","fmt","fmt","from","from","from","from_parts","init","init","init","into","into","into","k","k","n","n","new","new_params","read","read","read_custom","read_custom","read_params","setup","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verifier_params","vzip","vzip","vzip","write","write","write_custom","write_custom","DualMSM","MSMKZG","add_msm","add_msm","append_term","bases","borrow","borrow","borrow_mut","borrow_mut","check","check","clone","clone","clone_into","clone_into","combine_with_base","default","default","deref","deref","deref_mut","deref_mut","drop","drop","eval","fmt","fmt","from","from","init","init","into","into","new","new","scalars","scale","scale","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ProverGWC","ProverSHPLONK","VerifierGWC","VerifierSHPLONK","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","create_proof_with_engine","create_proof_with_engine","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","new","new","new","new","new","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verify_proof","verify_proof","vzip","vzip","vzip","vzip","AccumulatorStrategy","GuardKZG","SingleStrategy","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","finalize","finalize","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","new","new","new","new","process","process","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with","Blake2bRead","Blake2bWrite","Challenge255","ChallengeScalar","EncodedChallenge","Input","Keccak256Read","Keccak256Write","Transcript","TranscriptRead","TranscriptReadBuffer","TranscriptWrite","TranscriptWriterBuffer","as_challenge_scalar","borrow","borrow","borrow","borrow","borrow","borrow","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","common_point","common_point","common_point","common_point","common_point","common_scalar","common_scalar","common_scalar","common_scalar","common_scalar","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","finalize","finalize","finalize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_scalar","get_scalar","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","new","new","read_n_points","read_n_scalars","read_point","read_point","read_point","read_scalar","read_scalar","read_scalar","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge_scalar","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_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","write_point","write_point","write_point","write_scalar","write_scalar","write_scalar"],"q":[[0,"halo2_backend"],[6,"halo2_backend::arithmetic"],[43,"halo2_backend::helpers"],[72,"halo2_backend::multicore"],[216,"halo2_backend::plonk"],[309,"halo2_backend::plonk::Error"],[310,"halo2_backend::plonk::keygen"],[312,"halo2_backend::plonk::prover"],[349,"halo2_backend::plonk::verifier"],[352,"halo2_backend::poly"],[521,"halo2_backend::poly::commitment"],[585,"halo2_backend::poly::kzg"],[589,"halo2_backend::poly::kzg::commitment"],[662,"halo2_backend::poly::kzg::msm"],[711,"halo2_backend::poly::kzg::multiopen"],[776,"halo2_backend::poly::kzg::strategy"],[836,"halo2_backend::transcript"],[991,"pasta_curves::arithmetic::curves"],[992,"subtle"],[993,"ff"],[994,"core::cmp"],[995,"core::ops::arith"],[996,"core::ops::function"],[997,"alloc::boxed"],[998,"core::marker"],[999,"core::clone"],[1000,"core::convert"],[1001,"rand_core"],[1002,"core::fmt"],[1003,"std::io::error"],[1004,"std::io"],[1005,"core::result"],[1006,"core::any"],[1007,"rayon::iter"],[1008,"rayon::slice"],[1009,"rayon::iter::blocks"],[1010,"rayon::iter::chain"],[1011,"rayon::iter::chunks"],[1012,"rayon::iter::cloned"],[1013,"alloc::vec"],[1014,"alloc::collections::linked_list"],[1015,"rayon::iter::copied"],[1016,"rayon::iter::plumbing"],[1017,"rayon::iter::enumerate"],[1018,"rayon::iter::filter"],[1019,"rayon::iter::filter_map"],[1020,"core::option"],[1021,"rayon::iter::flat_map"],[1022,"rayon::iter::flat_map_iter"],[1023,"core::iter::traits::collect"],[1024,"rayon::iter::flatten"],[1025,"rayon::iter::flatten_iter"],[1026,"rayon_core::scope"],[1027,"rayon::iter::fold"],[1028,"rayon::iter::fold_chunks"],[1029,"rayon::iter::fold_chunks_with"],[1030,"rayon::iter::inspect"],[1031,"rayon::iter::interleave"],[1032,"rayon::iter::interleave_shortest"],[1033,"rayon::iter::intersperse"],[1034,"rayon::iter::map"],[1035,"rayon::iter::map_with"],[1036,"rayon::iter::panic_fuse"],[1037,"rayon::slice::chunk_by"],[1038,"rayon::slice::chunks"],[1039,"rayon::slice::rchunks"],[1040,"core::default"],[1041,"either"],[1042,"rayon::iter::positions"],[1043,"core::iter::traits::accum"],[1044,"rayon::iter::rev"],[1045,"rayon::iter::skip"],[1046,"rayon::iter::skip_any"],[1047,"rayon::iter::skip_any_while"],[1048,"rayon_core::broadcast"],[1049,"rayon::iter::step_by"],[1050,"rayon::iter::take"],[1051,"rayon::iter::take_any"],[1052,"rayon::iter::take_any_while"],[1053,"rayon::iter::try_fold"],[1054,"rayon::iter::private"],[1055,"halo2_middleware::multicore"],[1056,"rayon::iter::update"],[1057,"rayon::iter::while_some"],[1058,"rayon::iter::len"],[1059,"rayon::iter::zip"],[1060,"rayon::iter::zip_eq"],[1061,"halo2_backend::plonk::error"],[1062,"halo2_backend::poly::domain"],[1063,"core::error"],[1064,"alloc::string"],[1065,"halo2_middleware::circuit"],[1066,"std::collections::hash::map"],[1067,"halo2_middleware::zal::traits"],[1068,"halo2_middleware::zal::impls"],[1069,"halo2_backend::poly::strategy"],[1070,"core::ops::range"],[1071,"core::iter::traits::iterator"],[1072,"halo2_middleware::poly"],[1073,"pairing"],[1074,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[1075,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[1076,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[1077,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[1078,"halo2_middleware"],[1079,"rayon_core"],[1080,"rayon_core::join"]],"i":[0,0,0,0,0,0,11,11,4,11,0,0,4,0,12,11,4,12,11,4,11,4,4,12,12,11,4,11,12,11,4,12,12,11,11,0,12,12,12,12,12,12,12,0,31,31,31,0,0,0,31,31,37,31,31,31,31,31,31,31,31,31,34,37,38,31,31,31,31,31,37,38,0,0,0,0,49,87,88,43,49,87,88,0,0,0,0,43,43,44,68,68,45,45,43,45,43,45,43,45,43,43,43,0,68,68,45,43,68,45,45,43,43,43,43,43,43,43,43,43,43,43,43,68,43,45,45,43,43,43,43,68,45,45,68,43,45,45,43,68,49,0,45,45,45,43,43,43,43,43,43,43,43,43,45,43,43,44,44,44,87,88,44,44,44,44,44,44,44,44,44,44,44,45,43,43,45,45,45,45,43,43,43,45,0,45,43,43,68,68,45,43,45,43,43,43,110,43,43,43,43,68,68,43,43,68,43,45,43,68,43,45,45,45,45,45,121,121,121,0,121,121,121,121,121,0,0,121,0,121,119,123,120,121,119,123,120,119,120,119,120,121,119,123,120,121,119,123,120,121,119,123,120,119,121,121,119,123,120,121,121,119,123,120,119,120,119,120,119,121,119,123,120,121,119,123,120,0,121,119,0,119,120,121,119,120,119,120,121,119,121,119,123,120,121,119,123,120,121,119,123,120,0,121,119,123,120,119,120,191,0,0,0,0,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,140,134,140,134,140,134,140,134,140,0,0,0,0,0,0,0,0,0,0,0,166,152,0,0,152,0,146,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,126,148,149,150,146,126,148,149,150,146,126,126,0,126,126,126,151,152,148,149,150,146,146,126,151,152,148,149,150,146,146,126,126,151,152,148,149,150,146,126,126,126,126,126,126,145,126,151,152,148,149,150,146,126,151,152,148,149,150,146,126,126,126,126,146,146,146,146,146,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,146,146,126,0,126,126,126,126,146,145,126,146,146,146,126,145,146,126,126,146,146,126,148,149,150,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,146,126,151,152,148,149,150,146,0,162,0,136,144,0,162,144,0,0,136,0,136,0,136,0,158,158,158,159,159,159,158,158,159,158,158,160,133,137,137,158,158,158,133,158,162,158,159,158,158,158,158,133,158,158,158,133,160,137,144,158,136,133,136,159,159,158,158,158,158,144,158,133,0,0,0,0,0,0,0,167,169,171,167,169,171,167,169,167,169,167,167,169,167,169,171,167,169,171,167,169,167,169,171,167,169,167,169,171,167,169,171,167,167,169,171,167,169,171,167,169,167,169,167,171,167,169,167,169,171,167,167,169,167,169,171,167,169,171,167,169,171,167,167,169,171,167,169,167,169,0,0,170,172,170,170,170,172,170,172,170,172,170,172,170,172,170,170,172,170,172,170,172,170,172,170,170,172,170,172,170,172,170,172,170,172,170,170,172,170,172,170,172,170,172,170,172,170,172,0,0,0,0,174,176,175,177,174,176,175,177,174,175,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,175,177,174,176,175,177,174,176,175,177,174,176,175,177,176,177,174,176,175,177,0,0,0,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,179,180,178,179,180,178,179,180,178,179,180,178,179,180,179,179,180,180,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,179,0,0,0,0,0,127,0,0,0,0,0,0,0,127,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,128,183,184,185,186,128,183,184,185,186,183,184,185,186,182,182,187,187,183,184,185,186,182,187,183,184,185,186,182,187,188,185,186,183,184,185,186,182,187,183,184,185,186,182,187,127,187,189,188,183,183,184,184,185,185,186,186,182,187,183,184,185,186,182,187,127,187,0,0,143,183,184,143,183,184,128,183,184,185,186,128,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,138,185,186,138,185,186],"f":"``````````````````{{}c{}}000{{{j{{h{}{{b{c}}{d{e}}{f{g}}}}}}}{{n{{l{{h{}{{b{c}}{d{e}}{f{g}}}}}}}}}{A`Ab}{A`Ab}{{Af{}{{Ad{}}{b{}}}}}}{{{j{Ah}}}Ah}0{{{j{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}}}{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}A`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{c}}{Al{c}}}}{{cc}{{n{{h{}{{b{e}}{d{c}}{f{g}}}}}}}{A`Ab}{A`Ab}{{Af{}{{Ad{}}{b{}}}}}}{{{j{An}}}{{Bb{B`}}}}{{{j{Ah}}}{{n{Ah}}}}{{{j{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}}}BdA`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{c}}{Al{c}}}}{{{j{{h{}{{b{c}}{d{e}}{f{g}}}}}}}Bd{A`Ab}{A`Ab}{{Af{}{{Ad{}}{b{}}}}}}{{{j{Ah}}}Bd}{{{j{Ah}}}Bf}{{{j{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}}}{{Bh{eee}}}A`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{c}}{Al{c}}}}{{ccc}{{n{{Af{}{{b{e}}{d{c}}{Ad{g}}}}}}}A`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{e}}{Al{e}}}}{{{j{Bj{Bl{c}}}}e}BnC`{{B`{{j{Bj{Bl{c}}}}Cb}}C`CdCf}}{{{j{Ah}}c}Ah{{Cj{{Bl{Ch}}}}}}0{cAhCl}9{{{j{Ah}}}{{Bh{BdAh}}}}{{{j{Ah}}{j{Ah}}}{{Bh{BdAh}}}}?```````{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{CnCb}{{{j{Cn}}}Cn}{{{j{c}}{j{Bje}}}Bn{}{}}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{CbBn}{{{j{Cn}}{j{BjD`}}}Db}{cc{}}{{}Cb}{ce{}{}}{{{j{Bjc}}}{{Df{Dd}}}Dh}{{{j{Bjc}}Cn}{{Df{Dj}}}Dh}{{{j{Bjc}}Cn}{{Df{Dl}}}Dh}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}6{{{j{Dj}}{j{Bjc}}Cn}{{Df{Bn}}}Eb}{{{j{Dl}}{j{Bjc}}Cn}{{Df{Bn}}}Eb}```````````````{{{Ef{}{{Ed{c}}}}e}BfC`{{B`{c}{{Aj{Bf}}}}CdC`}}0{{{j{BjEh}}}{{j{Bj{Bl{c}}}}}C`}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{Ej{{El{Ej}}}}{{EjCb}{{En{Ej}}}}{{{Ef{}{{Ed{c}}}}e}{{F`{{Ef{}{{Ed{c}}}}}}}C`{{Fb{}{{Ed{c}}}}}}{{EjCb}{{Fd{Ej}}}}{{{Ef{}{{Ed{c}}}}}{{Ff{{Ef{}{{Ed{c}}}}}}}C`}{{Eje}Fh{}{{Fb{}{{Ed{c}}}}}}{{{Ef{}{{Ed{c}}}}}eC`{{Fj{c}}}}{{Ej{j{Bj{Fl{c}}}}}Bn{}}{{{Ef{}{{Ed{c}}}}}{{Fn{{Fl{c}}}}}C`}{{{Ef{}{{Ed{c}}}}}{{G`{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}}CbC`}{{}Cb}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{{Eje}{}{}{{Gb{c}}}}{{{Ef{}{{Ed{c}}}}e}{}C`{{Gd{c}}}}{CbBn}{Ej{{Gf{Ej}}}}{{Ejc}BfFb}{{{Ef{}{{Ed{c}}}}e}{{Gh{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}{{Gj{{Ef{}{{Ed{c}}}}g}}}C`C`{{B`{c}{{Aj{{Gl{e}}}}}}CdC`}}{{{Ef{}{{Ed{c}}}}e}{{Gl{c}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}00{{{Ef{}{{Ed{c}}}}g}{{Gl{e}}}C`C`{{B`{c}{{Aj{{Gl{e}}}}}}CdC`}}00{{{Ef{}{{Ed{c}}}}g}{{Gn{{Ef{}{{Ed{c}}}}g}}}C`Fb{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}{{H`{{Ef{}{{Ed{c}}}}g}}}C`Hb{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}}{{Hd{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}}{{Hf{{Ef{}{{Ed{c}}}}}}}C`}{{{j{Hh}}{j{BjD`}}}{{Dn{BnHj}}}}{{{Ef{}{{Ed{c}}}}gi}{{Hl{{Ef{}{{Ed{c}}}}gi}}}C`C`{{B`{}{{Aj{e}}}}CdC`}{{B`{ec}{{Aj{e}}}}CdC`}}{{EjCbei}{{Hn{Ejei}}}C`{{B`{}{{Aj{c}}}}C`Cd}{}{{B`{cg}{{Aj{c}}}}C`Cd}}{{EjCbcg}{{I`{Ejcg}}}{C`Cf}{}{{B`{ce}{{Aj{c}}}}C`Cd}}{{{Ef{}{{Ed{c}}}}eg}{{Ib{{Ef{}{{Ed{c}}}}eg}}}C`{C`Cf}{{B`{ec}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}e}BnC`{{B`{c}}CdC`}}{{{Ef{}{{Ed{c}}}}gi}BnC`{}{{B`{}{{Aj{e}}}}CdC`}{{B`{{j{Bje}}c}}CdC`}}{{{Ef{}{{Ed{c}}}}eg}BnC`{C`Cf}{{B`{{j{Bje}}c}}CdC`}}{cc{}}{{Ejc}BfFb}0{{}Cb}{{{Ef{}{{Ed{c}}}}e}{{Id{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}}CdC`}}{{Eje}{{If{Ej}}}{}{{Fb{}{{Ed{c}}}}}}{{Eje}{{Ih{Ej}}}{}{{Fb{}{{Ed{c}}}}}}{{{Ef{}{{Ed{c}}}}c}{{Ij{{Ef{}{{Ed{c}}}}}}}C`}{ce{}{}}{{{Fb{}{{Il{c}}{Ed{e}}}}}c{{Ef{}{{Ed{e}}}}}C`}{{ei}{{Bh{cg}}}C`{{In{}{{Aj{c}}}}C`}C`{{In{}{{Aj{g}}}}C`}}8{{{j{Ej}}}Cb}9{{{Ef{}{{Ed{c}}}}g}{{J`{{Ef{}{{Ed{c}}}}g}}}C`C`{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}gk}{{Jb{{Ef{}{{Ed{c}}}}gk}}}C`{}{{B`{}{{Aj{e}}}}CdC`}C`{{B`{{j{Bje}}c}{{Aj{i}}}}CdC`}}{{{Ef{}{{Ed{c}}}}ei}{{Jd{{Ef{}{{Ed{c}}}}ei}}}C`{C`Cf}C`{{B`{{j{Bje}}c}{{Aj{g}}}}CdC`}}{{{Ef{}{{Ed{c}}}}}{{Gl{c}}}C`}{{{Ef{}{{Ed{c}}}}e}{{Gl{c}}}C`{CdC`{B`{{j{c}}{j{c}}}{{Aj{Fh}}}}}}{{{Ef{}{{Ed{c}}}}g}{{Gl{c}}}C`{AbC`}{CdC`{B`{{j{c}}}{{Aj{e}}}}}}210?{{{j{{Ef{}{{Ed{c}}}}}}}{{Gl{Cb}}}C`}{{{Ef{}{{Ed{c}}}}}{{Jf{{Ef{}{{Ed{c}}}}}}}C`}{{{j{BjEh}}e}{{Jh{ce}}}C`{{B`{{j{c}}{j{c}}}{{Aj{Bf}}}}C`Cd}}{{{j{BjEh}}Cb}{{Jj{c}}}C`}{{{j{BjEh}}Cb}{{Jl{c}}}C`}{{{j{{Jn{}{{Il{c}}{Ed{e}}}}}}}c{{Ef{}{{Ed{e}}}}}C`}{{{j{Bj{K`{}{{Il{c}}{Ed{e}}}}}}}c{{Ef{}{{Ed{e}}}}}C`}{{{j{BjEh}}Cb}{{Kb{c}}}C`}{{{j{BjEh}}Cb}{{Kd{c}}}C`}{{{j{BjEh}}}Bn}{{{j{BjEh}}e}BnC`{{B`{{j{c}}{j{c}}}{{Aj{Fh}}}}Cd}}{{{j{BjEh}}g}BnC`{AbC`}{{B`{{j{c}}}{{Aj{e}}}}Cd}}{{{j{BjEh}}g}BnC`Ab{{B`{{j{c}}}{{Aj{e}}}}Cd}}320{{{j{BjEh}}e}{{Kf{ce}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{j{BjEh}}e}{{Kh{ce}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{Ejc}{{Gl{Fh}}}Fb}{{{Ef{}{{Ed{c}}}}e}{{Bh{gi}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}{KjC`{Kl{c}}}{KjC`{Kl{c}}}}{{{Ef{}{{Ed{c}}}}i}{{Bh{km}}}C`C`C`{{B`{c}{{Aj{{Kn{eg}}}}}}CdC`}{KjC`{Kl{e}}}{KjC`{Kl{g}}}}{{Eje}{{Gl{Cb}}}{}{{B`{c}{{Aj{Bf}}}}CdC`}}00{{Eje}{{L`{Eje}}}{}{{B`{c}{{Aj{Bf}}}}CdC`}}{{{Ef{}{{Ed{c}}}}}eC`{C`{Lb{c}}Lb}}{{{Ef{}{{Ed{c}}}}eg}cC`{{B`{}{{Aj{c}}}}CdC`}{{B`{cc}{{Aj{c}}}}CdC`}}{{{Ef{}{{Ed{c}}}}e}{{Gl{c}}}C`{{B`{cc}{{Aj{c}}}}CdC`}}{Ej{{Ld{Ej}}}}{ecC`{{In{{j{Hh}}}{{Aj{c}}}}C`}}{{EjCb}{{Lf{Ej}}}}{{{Ef{}{{Ed{c}}}}Cb}{{Lh{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}e}{{Lj{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{j{Hh}}c}Bn{{In{{j{Hh}}}}C`}}{{{j{Hh}}c}Bn{{B`{{j{Hh}}Ll}}C`Cd}}{{EjCb}{{Ln{Ej}}}}{{{Ef{}{{Ed{c}}}}}eC`{C`{M`{c}}M`}}{{EjCb}{{Mb{Ej}}}}{{{Ef{}{{Ed{c}}}}Cb}{{Md{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}e}{{Mf{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{Ef{}{{Ed{c}}}}gk}{{Mh{{Ef{}{{Ed{c}}}}igk}}}C`{}{{B`{}{{Aj{e}}}}CdC`}{{Mj{}{{Aj{e}}}}C`}{{B`{ec}{{Aj{i}}}}CdC`}}{{Mlei}{{Dn{cg}}}{}{{B`{}{{Aj{c}}}}C`Cd}{}{{B`{c{Dn{cg}}}{{Aj{{Dn{cg}}}}}}C`Cd}}{{{Ef{}{{Ed{c}}}}ei}{{Mn{{Ef{}{{Ed{c}}}}gi}}}C`{CfC`}{{Mj{}{{Aj{e}}}}C`}{{B`{ec}{{Aj{g}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}eC`{{Mj{}{{Aj{Bn}}}}C`}{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}gk}iC`{}{{B`{}{{Aj{e}}}}CdC`}{{Mj{}{{Aj{Bn}}}}C`}{{B`{{j{Bje}}c}{{Aj{i}}}}CdC`}}{{{Ef{}{{Ed{c}}}}ei}gC`{C`Cf}{{Mj{}{{Aj{Bn}}}}C`}{{B`{{j{Bje}}c}{{Aj{g}}}}CdC`}}{c{{Dn{e}}}{}{}}0{{{Ef{}{{Ed{c}}}}gi}cC`{}{{B`{}{{Aj{e}}}}CdC`}{{B`{ee}{{Aj{c}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}{{Gl{c}}}C`{}{{B`{ee}{{Aj{c}}}}CdC`}}{{{j{c}}}E`{}}{{{Ef{}{{Ed{c}}}}}{{Bh{gk}}}C`C`{KjC`{Kl{e}}}C`{KjC`{Kl{i}}}}{{Ej{j{Bj{Fl{c}}}}{j{Bj{Fl{e}}}}}BnC`C`}{{{Ef{}{{Ed{c}}}}e}{{N`{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{Bjc}}}}CdC`}}{ce{}{}}{{{Ef{}{{Ed{c}}}}}{{Nb{{Ef{}{{Ed{c}}}}}}}C`}{{EjCb}{{Nd{Ej}}}}{{EjCb}{{Nf{Ej}}}}{{Eje}{}{}{{Nh{c}}}}{{Ejc}{{Nj{Ej}}}Fb}{{Ejc}{{Nl{Ej}}}Fb}`````````````{{{j{c}}}{{j{e}}}{}{}}000{{{j{Bjc}}}{{j{Bje}}}{}{}}000{{{j{{Nn{c}}}}}{{Nn{c}}}{Cfh}}{{{j{{O`{c}}}}}{{O`{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}0{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{j{{Nn{c}}}}}{{j{{Fl{c}}}}}h}{{{j{Ob}}{j{BjD`}}}Db}0{{{j{{Nn{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{Of{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{O`{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}{OhOb}111``{{{j{{Nn{c}}}}}{{j{Ol}}}h}{{{j{{O`{c}}}}}{{j{{Nn{c}}}}}h}{{{j{{Nn{c}}}}{j{Bjg}}}{{Df{Bn}}}h{{On{c}}}{{A@`{ce}}}}{{}Cb}000{ce{}{}}000`{A@bOb}{{{j{{Nn{c}}}}}{{Of{c}}}h}```{{{j{Ob}}}{{Gl{{j{A@d}}}}}}{{{j{{Nn{c}}}}Cn}{{Fl{Oj}}}Dj}{{{j{{O`{c}}}}Cn}{{Fl{Oj}}}Dj}{{{j{c}}}e{}{}}0{{{j{c}}}A@f{}}{{{j{{Nn{c}}}}}{}h}{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000`::::{{{j{{Nn{c}}}}{j{Bje}}Cn}{{Df{Bn}}}DjEb}{{{j{{O`{c}}}}{j{Bje}}Cn}{{Df{Bn}}}DjEb}`{{{j{e}}{Nn{c}}{j{A@h}}}{{Dn{{O`{c}}Ob}}}h{{A@j{c}}}}{{{j{e}}{j{A@h}}}{{Dn{{Nn{c}}Ob}}}h{{A@j{c}}}}``{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{Bj{A@l{cegikm}}}}Oj{Fl{{Gl{Fl}}}}}{{Dn{{A@n{Cb}}Ob}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{{{j{Bj{AAh{cegikm}}}}Oj{Fl{{Fl{{Gl{Fl}}}}}}}{{Dn{{A@n{Cb}}Ob}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{{{A@l{cegikm}}}{{Dn{BnOb}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{{{AAh{cegikm}}}{{Dn{BnOb}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{CbBn}0{{{j{{A@l{cegikm}}}}{j{BjD`}}}Db{OdAA`}{Od{AAb{c}}}{OdOn}{OdCl}{Od{AAd{g}}}{OdAAf}}{{{j{{AAh{cegikm}}}}{j{BjD`}}}Db{OdAA`}{Od{AAb{c}}}{OdOn}{OdCl}{Od{AAd{g}}}{OdAAf}}{cc{}}0{{}Cb}0{ce{}{}}0{{j{j{O`}}{Fl{Fl}}c{j{Bjg}}}{{Dn{{A@l{ikecgAAj}}Ob}}}ClOn{{AAd{e}}}AA`{{AAb{i}}}}{{j{j{O`}}{j{{Bl{{Fl{Fl}}}}}}c{j{Bjg}}}{{Dn{{AAh{ikecgAAj}}Ob}}}ClOn{{AAd{e}}}AA`{{AAb{i}}}}{{{AAl{c}}j{j{O`}}{Fl{Fl}}e{j{Bji}}}{{Dn{{A@l{kmgeic}}Ob}}}AAfClOn{{AAd{g}}}AA`{{AAb{k}}}}{{{AAl{c}}j{j{O`}}{j{{Bl{{Fl{Fl}}}}}}e{j{Bji}}}{{Dn{{AAh{kmgeic}}Ob}}}AAfClOn{{AAd{g}}}AA`{{AAb{k}}}}{{{j{{AAh{cegikm}}}}}{{j{{Bl{Oj}}}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}077{{j{j{Nn}}{Fl{Fl}}{j{Bje}}}BfOn{{AAn{c}}}}{{j{j{Nn}}{j{{Bl{{Fl{Fl}}}}}}{j{Bje}}}BfOn{{AAn{c}}}}{{j{j{Nn}}g{j{{Bl{{Fl{Fl}}}}}}{j{Bjk}}}{{Dn{gOb}}}AA`{{AB`{c}}}{{ABb{ce}}}On{{AAn{i}}}}```````````````{{{ABd{ce}}{j{{ABd{ce}}}}}{{ABd{ce}}}AhABf}{{{j{c}}}{{j{e}}}{}{}}000000{{{j{Bjc}}}{{j{Bje}}}{}{}}000000{{{j{{Ol{c}}}}}{{Ol{c}}}{CfAh}}{{{j{ABh}}}ABh}{{{j{ABj}}}ABj}{{{j{ABl}}}ABl}{{{j{{ABd{ce}}}}}{{ABd{ce}}}CfCf}{{{j{c}}{j{Bje}}}Bn{}{}}0000{{{j{{Ol{c}}}}{Fl{c}}}{{ABd{cABh}}}A`}{{{j{{Ol{c}}}}{ABd{cABh}}}{{ABd{cABl}}}A`}`{{{j{{Ol{c}}}}c}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}c}{{ABd{cABj}}}A`}{Cb{{j{c}}}{}}000000{{{j{{ABd{ce}}}}}{{j{{Bl{c}}}}}{}{}}{Cb{{j{Bjc}}}{}}00000{{{j{Bj{ABd{ce}}}}}{{j{Bj{Bl{c}}}}}{}{}}1{{{j{{Ol{c}}}}{ABd{cABl}}}{{ABd{cABl}}}A`}{CbBn}000000{{{j{{Ol{c}}}}}{{ABd{cABh}}}A`}{{{j{{Ol{c}}}}}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}}{{ABd{cABj}}}A`}{{{j{{Ol{c}}}}}A@bA`}{{{j{{Ol{c}}}}}CbA`}{{{j{{Ol{c}}}}{ABd{cABl}}}{{Fl{c}}}A`}{ABbBf}{{{j{{Ol{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{{ABn{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{AC`}}{j{BjD`}}}Db}{{{j{ABh}}{j{BjD`}}}Db}{{{j{ABj}}{j{BjD`}}}Db}{{{j{ABl}}{j{BjD`}}}Db}{{{j{{ABd{ce}}}}{j{BjD`}}}DbOdOd}{cc{}}000000{{{j{{Ol{c}}}}}cA`}00;{{{j{{ABd{ce}}}}Cb}{{j{c}}}{}{}}{{{j{{ABd{ce}}}}{ACb{Cb}}}{{j{{Bl{c}}}}}{}{}}{{{j{{ABd{ce}}}}ACd}{{j{{Bl{c}}}}}{}{}}{{{j{Bj{ABd{ce}}}}ACd}{{j{Bj{Bl{c}}}}}{}{}}{{{j{Bj{ABd{ce}}}}{ACb{Cb}}}{{j{Bj{Bl{c}}}}}{}{}}{{{j{Bj{ABd{ce}}}}Cb}{{j{Bjc}}}{}{}}{{}Cb}000000{ce{}{}}000000{{{j{{ABd{ce}}}}}{{`{{ACf{}{{Ed{{j{c}}}}}}}}}{}{}}{{{j{Bj{ABd{ce}}}}}{{`{{ACf{}{{Ed{{j{Bjc}}}}}}}}}{}{}}{{{j{{Ol{c}}}}}A@bA`}`{{{j{{Ol{c}}}}cce}{{Fl{c}}}A`{{Hb{}{{Ed{ACh}}}}Cf}}{{{j{{Ol{c}}}}Cb}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}{Fl{c}}}{{ABd{cABj}}}A`}{{{j{{Ol{c}}}}{ABd{cABj}}}{{ABd{cABh}}}A`}{{{ABd{ce}}c}{{ABd{ce}}}AhABf}{jABb}{{A@bA@b}{{Ol{c}}}A`}{{Cbc}{{ABd{ce}}}Cf{}}{{{Fl{c}}}{{ABd{cABj}}}Cf}{{{j{{ABd{ce}}}}}Cb{}{}}{{{j{{Ol{c}}}}}{{ABn{c}}}A`}{{ABbc}{{Dn{ABbOb}}}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{j{{ABd{cABj}}}}ACj}{{ABd{cABj}}}Ah}{{{j{{Ol{c}}}}{j{{ABd{cABl}}}}ACj}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}cACj}cA`}{{{j{{ABd{ce}}}}c}{{ABd{ce}}}AhABf}{{{ABd{ce}}{j{{ABd{ce}}}}}{{ABd{ce}}}AhABf}{{{j{c}}}e{}{}}0000{c{{Dn{e}}}{}{}}0000000000000{{{j{c}}}E`{}}000000`{ce{}{}}000000````````````````{{{ACl{c}}{ACl{c}}}{{ACl{c}}}Ah}{{{j{Bj{ACl{c}}}}{ACl{c}}}BnAh}{{{j{Bj{ACl{c}}}}c}BnAh}{{{j{BjACn}}{j{ACn}}}Bn}{{{j{BjACn}}}Bn}{{{j{ACn}}}Fl}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{{j{ACn}}{j{e}}}Bfh{{AAf{c}}}}{{{j{{ACl{c}}}}}{{ACl{c}}}Cf}{{{j{c}}{j{Bje}}}Bn{}{}}{{{j{AD`}}{j{e}}{j{{ABd{ABh}}}}ACl}{}h{{AAf{c}}}}{{{j{A@j}}{j{e}}{j{{ABd{ABj}}}}ACl}{}h{{AAf{c}}}}{{{j{AAb}}c{j{Bjg}}i}{{Df{Bn}}}ClOn{{AAd{e}}}{{Hb{}{{Ed{`}}}}Cf}}{{{j{AAb}}{j{c}}e{j{Bji}}k}{{Df{Bn}}}AAfClOn{{AAd{g}}}{{Hb{}{{Ed{`}}}}Cf}}{{}{{ACl{c}}}Ah}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{{{j{BjA@j}}A@b}Bn}{CbBn}{{{j{{ADd{}{{ADb{c}}}}}}}c{{ACn{e}}}h}{{{j{{ACl{c}}}}{j{{ACl{c}}}}}BfADf}{{{j{ACn}}{j{e}}}{}h{{AAf{c}}}}{{{j{{ACl{c}}}}{j{BjD`}}}DbOd}{cc{}}{{}Cb}{ce{}{}}{{{j{A@j}}}A@b}{{{ACl{c}}{ACl{c}}}{{ACl{c}}}Ah}{{{j{Bj{ACl{c}}}}{ACl{c}}}BnAh}{{{j{Bj{ACl{c}}}}c}BnAh}{{{j{A@j}}}Ch}{A@bAD`}{jAAb}{{}{{AB`{}{{ADh{c}}{ADj{g}}}}}{{ADl{e}{{ADj{g}}}}}AA`{}}{{{j{Bjc}}}{{ACl{e}}}ClAh}{A@bc{}}{{{j{Bjc}}}{{Df{A@j}}}Dh}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{{j{ACn}}}Fl}{{{j{BjACn}}}Bn}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}{{{j{{AB`{}{{ADh{c}}{ADj{g}}}}}}{j{Bjk}}mg}{{Dn{cAC`}}}{{ADl{e}{{ADj{g}}}}}AA`{}On{{AAn{i}}}{{Hb{}{{Ed{`}}}}Cf}}{ce{}{}}{{{j{A@j}}{j{Bjc}}}{{Df{Bn}}}Eb}```````{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{ADn{c}}}}}{{ADn{c}}}{CfAE`}}{{{j{{AEb{c}}}}}{{AEb{c}}}{CfAE`}}{{{j{c}}{j{Bje}}}Bn{}{}}0{{{j{{ADn{c}}}}{j{e}}{j{{ABd{ABh}}}}ACl}{}AE`AAf}{{{j{{ADn{c}}}}{j{e}}{j{{ABd{ABj}}}}ACl}{}AE`AAf}{{{j{{AEb{c}}}}{j{e}}{j{{ABd{ABj}}}}ACl}{}AE`AAf}{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{{{j{Bj{ADn{c}}}}A@b}BnAE`}{{{j{Bj{AEb{c}}}}A@b}BnAE`}{CbBn}00{{{j{{ADn{c}}}}}{{AEd{c}}}AE`}{{{j{{AEb{c}}}}}{{AEd{c}}}AE`}{{{j{{ADn{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEb{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEf{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}00{{{j{{ADn{c}}}}A@bFl{Gl{Fl}}}{{ADn{c}}}AE`}{{}Cb}00{ce{}{}}00{{{j{{ADn{c}}}}}A@bAE`}{{{j{{AEb{c}}}}}A@bAE`}{{{j{{ADn{c}}}}}ChAE`}{{{j{{AEb{c}}}}}ChAE`}{A@b{{ADn{c}}}AE`}{A@bc{}}{{{j{Bjc}}}{{Df{{ADn{e}}}}}DhAE`}{{{j{Bjc}}}{{Df{{AEb{e}}}}}DhAE`}{{{j{Bjc}}Cn}{{Df{{ADn{e}}}}}DhAE`}{{{j{Bjc}}Cn}{{Df{{AEb{e}}}}}DhAE`}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{A@bc}{{ADn{e}}}ClAE`}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00{{{j{{ADn{c}}}}}{{AEb{c}}}AE`}{ce{}{}}00{{{j{{ADn{c}}}}{j{Bje}}}{{Df{Bn}}}AE`Eb}{{{j{{AEb{c}}}}{j{Bje}}}{{Df{Bn}}}AE`Eb}{{{j{{ADn{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AE`Eb}{{{j{{AEb{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AE`Eb}``{{{j{Bj{AEd{c}}}}{j{{AEd{c}}}}}BnAE`}{{{j{Bj{AEh{c}}}}{AEh{c}}}BnAEj}{{{j{Bj{AEd{c}}}}}BnAE`}{{{j{{AEd{c}}}}}FlAE`}{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AEd{c}}}}{j{e}}}BfAE`AAf}{{{AEh{c}}{j{e}}{j{{AEb{c}}}}}BfAEjAAf}{{{j{{AEd{c}}}}}{{AEd{c}}}{CfAE`}}{{{j{{AEh{c}}}}}{{AEh{c}}}{CfAE`}}{{{j{c}}{j{Bje}}}Bn{}{}}08{{}{{AEd{c}}}{KjAE`}}{{}{{AEh{c}}}{KjAE`}}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{CbBn}0{{{j{{AEd{c}}}}{j{e}}}{}AE`AAf}{{{j{{AEd{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEh{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}0{{}Cb}0{ce{}{}}0{{}{{AEd{c}}}AE`}{{}{{AEh{c}}}AEj}{{{j{{AEd{c}}}}}FlAE`}{{{j{Bj{AEd{c}}}}}BnAE`}{{{j{Bj{AEh{c}}}}}BnAEj}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}088````{{{j{c}}}{{j{e}}}{}{}}000{{{j{Bjc}}}{{j{Bje}}}{}{}}000{{{j{{AEl{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AE`Od}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{{{j{{AEn{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AE`Od}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{j{{AEl{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AF`{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEn{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AFb{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}000{{}Cb}000{ce{}{}}000{{{j{{ADn{c}}}}}{{AEl{c}}}{AE`Od}}{{}{{AF`{c}}}{AEjOd}}{{{j{{ADn{c}}}}}{{AEn{c}}}AE`}{{{j{{ADn{c}}}}}{{AEn{c}}}{AE`Od}}{{}{{AFb{c}}}{AEjOd}}{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000{{{j{{AF`{c}}}}{j{Bjg}}i{AEh{c}}}{{Dn{kAC`}}}{AEjOd}On{{AAn{e}}}{{Hb{}{{Ed{{`{{AEd{c}}}}}}}}Cf}{}}{{{j{{AFb{c}}}}{j{Bjg}}i{AEh{c}}}{{Dn{kAC`}}}{AEjOd}On{{AAn{e}}}{{Hb{}{{Ed{{`{{AEd{c}}}}}}}}Cf}{}}9999```{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{AFd{c}}}}}{{AFd{c}}}{CfAEj}}{{{j{{AFf{c}}}}}{{AFf{c}}}{CfAE`}}{{{j{{AFh{c}}}}}{{AFh{c}}}{CfAE`}}{{{j{c}}{j{Bje}}}Bn{}{}}00{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{CbBn}00{{{AFf{c}}}Bf{AEjOd}}{{{AFh{c}}}Bf{AEjOd}}{{{j{{AFd{c}}}}{j{BjD`}}}Db{OdAEj}}{{{j{{AFf{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AFh{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}00{{}Cb}00{ce{}{}}00{{{j{{AEb{c}}}}}{{AFf{c}}}AEj}{{{j{{AEb{c}}}}}{{AFf{c}}}{AEjOd}}{{{j{{AEb{c}}}}}{{AFh{c}}}{AEjOd}}0{{{AFf{c}}e}{{Dn{{AFf{c}}Ob}}}{AEjOd}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{AFh{c}}e}{{Dn{{AFh{c}}Ob}}}{AEjOd}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{j{c}}}e{}{}}00{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00888{{{AEh{c}}{j{{AEb{c}}}}}{{AFf{c}}}AEj}`````````````{{{j{{On{}{{AFj{c}}}}}}}{{AFl{eg}}}{}h{}}{{{j{c}}}{{j{e}}}{}{}}00000{{{j{Bjc}}}{{j{Bje}}}{}{}}00000{{{j{{AFn{ceg}}}}}{{AFn{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AG`{ceg}}}}}{{AG`{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AGb{ceg}}}}}{{AGb{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AGd{ceg}}}}}{{AGd{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AFl{ce}}}}}{{AFl{ce}}}{Cfh}Cf}{{{j{{AGf{c}}}}}{{AGf{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}00000{{{j{BjA@`}}c}{{Df{Bn}}}h}{{{j{Bj{AFn{ce{AGf{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AGb{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjA@`}}}{{Df{Bn}}}}{{{j{Bj{AFn{ce{AGf{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AGb{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}{Cb{{j{c}}}{}}000{{{j{{AFl{ce}}}}}{{j{g}}}h{}{}}11{{{j{{AGf{c}}}}}{{j{e}}}h{}}{Cb{{j{Bjc}}}{}}00000{CbBn}00000{AGhcEb}{{{AGb{ce{AGf{e}}}}}cEbh}{{{AGd{ce{AGf{e}}}}}cEbh}{{{j{{AFn{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AG`{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AGb{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AGd{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AFl{ce}}}}{j{BjD`}}}Db{Odh}Od}{{{j{{AGf{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}00000{{{j{{On{}{{AFj{c}}}}}}}{}{}}{{{j{{AGf{c}}}}}{}h}{cAGjDh}{cAGhEb}{c{{AFn{ce{AGf{e}}}}}Dhh}{{}Cb}{c{{AG`{ce{AGf{e}}}}}Dhh}11{c{{AGb{ce{AGf{e}}}}}Ebh}{c{{AGd{ce{AGf{e}}}}}Ebh}333{ce{}{}}00000{{{j{c}}}{{On{}{{AFj{c}}}}}{}}{{{j{{AGl{Oj}}}}}{{AGf{c}}}h}{{{j{Bjg}}Cb}{{Df{{Fl{c}}}}}h{{On{c}}}{{AAn{ce}}}}{{{j{Bjg}}Cb}{{Df{Fl}}}h{{On{c}}}{{AAn{ce}}}}{{{j{BjAAn}}}{{Df{c}}}h}{{{j{Bj{AFn{ce{AGf{e}}}}}}}{{Df{e}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}{{Df{e}}}Dhh}{{{j{BjAAn}}}Df}{{{j{Bj{AFn{ce{AGf{e}}}}}}}DfDhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}DfDhh}{{{j{BjA@`}}}eh{{On{c}}}}{{{j{Bj{AFn{ce{AGf{e}}}}}}}{{AGf{e}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}{{AGf{e}}}Dhh}{{{j{Bj{AGb{ce{AGf{e}}}}}}}{{AGf{e}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}}{{AGf{e}}}Ebh}{{{j{BjA@`}}}{{AFl{ce}}}h{}}{{{j{c}}}e{}{}}00000{c{{Dn{e}}}{}{}}00000000000{{{j{c}}}E`{}}00000{ce{}{}}00000{{{j{BjAAd}}c}{{Df{Bn}}}h}{{{j{Bj{AGb{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjAAd}}}{{Df{Bn}}}}{{{j{Bj{AGb{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}","D":"CHf","p":[[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",6,991],[1,"reference"],[5,"Coordinates",991],[5,"CtOption",992],[10,"WithSmallOrderMulGroup",993],[10,"Ord",994],[17,"AffineExt"],[10,"CurveExt",6,991],[10,"Field",6,993],[17,"Output"],[10,"Mul",995],[1,"str"],[10,"Fn",996],[5,"Box",997],[5,"Choice",992],[1,"bool"],[1,"tuple"],[0,"mut"],[1,"slice"],[1,"unit"],[10,"Send",998],[1,"usize"],[10,"Sync",998],[10,"Clone",999],[1,"u64"],[10,"AsRef",1000],[10,"RngCore",1001],[6,"SerdeFormat",43],[5,"Formatter",1002],[8,"Result",1002],[10,"CurveRead",43],[8,"Result",1003],[10,"Read",1004],[10,"SerdeCurveAffine",43],[10,"SerdePrimeField",43],[6,"Result",1005],[5,"TypeId",1006],[10,"Write",1004],[17,"Item"],[10,"ParallelIterator",72,1007],[10,"ParallelSliceMut",72,1008],[10,"IndexedParallelIterator",72,1007],[5,"ExponentialBlocks",1009],[5,"UniformBlocks",1009],[5,"Chain",1010],[10,"IntoParallelIterator",72,1007],[5,"Chunks",1011],[5,"Cloned",1012],[6,"Ordering",994],[10,"FromParallelIterator",1007],[5,"Vec",1013],[5,"LinkedList",1014],[5,"Copied",1015],[10,"Consumer",1016],[10,"UnindexedConsumer",1016],[5,"Enumerate",1017],[5,"Filter",1018],[5,"FilterMap",1019],[6,"Option",1020],[5,"FlatMap",1021],[5,"FlatMapIter",1022],[10,"IntoIterator",1023],[5,"Flatten",1024],[5,"FlattenIter",1025],[5,"Scope",72,1026],[5,"Error",1002],[5,"Fold",1027],[5,"FoldChunks",1028],[5,"FoldChunksWith",1029],[5,"FoldWith",1027],[5,"Inspect",1030],[5,"Interleave",1031],[5,"InterleaveShortest",1032],[5,"Intersperse",1033],[17,"Iter"],[10,"FnOnce",996],[5,"Map",1034],[5,"MapInit",1035],[5,"MapWith",1035],[5,"PanicFuse",1036],[5,"ChunkByMut",1037],[5,"ChunksExactMut",1038],[5,"ChunksMut",1038],[10,"IntoParallelRefIterator",72,1007],[10,"IntoParallelRefMutIterator",72,1007],[5,"RChunksExactMut",1039],[5,"RChunksMut",1039],[5,"SplitInclusiveMut",1008],[5,"SplitMut",1008],[10,"Default",1040],[10,"ParallelExtend",1007],[6,"Either",1041],[5,"Positions",1042],[10,"Product",1043],[5,"Rev",1044],[5,"Skip",1045],[5,"SkipAny",1046],[5,"SkipAnyWhile",1047],[5,"BroadcastContext",1048],[5,"StepBy",1049],[10,"Sum",1043],[5,"Take",1050],[5,"TakeAny",1051],[5,"TakeAnyWhile",1052],[5,"TryFold",1053],[10,"Try",1054],[10,"TryFoldAndReduce",72,1055],[5,"TryFoldWith",1053],[5,"Update",1056],[5,"WhileSome",1057],[5,"MaxLen",1058],[5,"MinLen",1058],[10,"ProducerCallback",1016],[5,"Zip",1059],[5,"ZipEq",1060],[5,"VerifyingKey",216],[5,"ProvingKey",216],[6,"Error",216,1061],[10,"Debug",1002],[5,"PinnedVerificationKey",216],[5,"Error",1003],[1,"u8"],[5,"EvaluationDomain",352,1062],[10,"EncodedChallenge",836],[10,"Transcript",836],[1,"u32"],[10,"Error",1063],[5,"String",1064],[5,"CompiledCircuit",1065],[10,"Params",521],[5,"Prover",312],[5,"HashMap",1066],[10,"CommitmentScheme",521],[10,"Prover",521],[10,"TranscriptWrite",836],[10,"MsmAccel",1067],[5,"ProverMulti",312],[5,"H2cEngine",1068],[5,"PlonkEngine",1068],[10,"TranscriptRead",836],[10,"Verifier",521],[10,"VerificationStrategy",352,1069],[5,"Polynomial",352],[10,"Basis",352],[5,"Coeff",352],[5,"LagrangeCoeff",352],[5,"ExtendedLagrangeCoeff",352],[5,"PinnedEvaluationDomain",352,1062],[6,"Error",352],[5,"RangeFrom",1070],[5,"RangeFull",1070],[10,"Iterator",1071],[1,"i32"],[5,"Rotation",1072],[5,"Blind",521],[10,"MSM",521],[10,"ParamsProver",521],[17,"MSM"],[10,"ParamsVerifier",521],[10,"PartialEq",994],[17,"Guard"],[17,"MSMAccumulator"],[10,"Guard",352,1069],[5,"ParamsKZG",589],[10,"Engine",1073],[5,"ParamsVerifierKZG",589],[5,"MSMKZG",662],[5,"KZGCommitmentScheme",589],[5,"DualMSM",662],[10,"MultiMillerLoop",1073],[5,"ProverGWC",711,1074],[5,"ProverSHPLONK",711,1075],[5,"VerifierGWC",711,1076],[5,"VerifierSHPLONK",711,1077],[5,"GuardKZG",776],[5,"AccumulatorStrategy",776],[5,"SingleStrategy",776],[17,"Input"],[5,"ChallengeScalar",836],[5,"Blake2bRead",836],[5,"Keccak256Read",836],[5,"Blake2bWrite",836],[5,"Keccak256Write",836],[5,"Challenge255",836],[10,"TranscriptWriterBuffer",836],[10,"TranscriptReadBuffer",836],[1,"array"],[15,"NotEnoughRowsAvailable",309]],"r":[[2,1078],[10,991],[11,991],[13,993],[72,1007],[73,1007],[74,1007],[75,1007],[83,1007],[84,1008],[85,1026],[86,1055],[103,1079],[141,1080],[184,1026],[219,1061],[355,1062],[357,1069],[362,1062],[365,1069],[711,1074],[712,1075],[713,1076],[714,1077]],"b":[[254,"impl-Display-for-Error"],[255,"impl-Debug-for-Error"],[446,"impl-Index%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[447,"impl-Index%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[448,"impl-Index%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[449,"impl-IndexMut%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[450,"impl-IndexMut%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[451,"impl-IndexMut%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[485,"impl-Sub%3CF%3E-for-%26Polynomial%3CF,+B%3E"],[486,"impl-Sub%3C%26Polynomial%3CF,+B%3E%3E-for-Polynomial%3CF,+B%3E"],[538,"impl-AddAssign-for-Blind%3CF%3E"],[539,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[566,"impl-MulAssign-for-Blind%3CF%3E"],[567,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[755,"impl-ProverSHPLONK%3C\'a,+E%3E"],[756,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[814,"impl-AccumulatorStrategy%3CE%3E"],[815,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[816,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"],[817,"impl-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABwCWgAAAAAAAgABACwAAAAwAAAAMgACADYABQA9AAAAQgAEAFcAAABbAAEAaQABAG0AAAB8AAAAhwAAAMoAAQDOAAAA0gAAAOYAFwD/AAQABQEAAA4BAwAcAQAAHwECACMBCwAwAQMAOwEDAEMBBwBNAQEAUQEAAFYBBwBnAQAAbwEZAI4BDwCfAQYArQEGAL8BDADYAQAA2wEAAN4BAADmASMAGgICACACAQAjAgEAKQICAC0CAAAvAgAAMQIAADMCAAA2AgIAQwIDAEgCAABRAhwAcgICAHgCBQCBAgEAhAIOAJYCAACZAgAAmwIGAKMCAwCoAgoAtQIBALsCAQC+AgkAzAIHANYCDwDqAgMA8gIBAPUCDgAFAwMADAMZACkDAgAwAwEAMwMQAFMDFwBsAwMAcQMXAIoDAACMAwUAmQMAAJ0DAACfAwEAowMCAK0DAgCxAwEAtAMBALcDAwC8Ax0A2wMBAN4DAQA="}],\ +["halo2_backend",{"t":"CCCCCCRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMKPPPKGKNNNNNNNNNNNNNNNNNNNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNPPPGPPPPPFFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNCNNNNNNNNNNNNNNNNNNNNNCNNNNNNOHHFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHKFGFFKKFRPFFPKONNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNFTKRRKRRKKRKRKRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFKRFFKKKKKNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMMNNNNNNNNNNNNNNNNMNHHMNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNN","n":["arithmetic","helpers","multicore","plonk","poly","transcript","AffineExt","Base","Base","CURVE_ID","CurveAffine","CurveExt","CurveExt","Field","ONE","ScalarExt","ScalarExt","ZERO","a","a","b","b","coordinates","cube","double","endo","from_xy","hash_to_curve","invert","is_on_curve","is_on_curve","is_zero","is_zero_vartime","jacobian_coordinates","new_jacobian","parallelize","pow","pow_vartime","random","sqrt","sqrt_alt","sqrt_ratio","square","CurveRead","Processed","RawBytes","RawBytesUnchecked","SerdeCurveAffine","SerdeFormat","SerdePrimeField","borrow","borrow_mut","byte_length","clone","clone_into","deref","deref_mut","drop","fmt","from","init","into","read","read","read","to_owned","try_from","try_into","type_id","vzip","write","write","IndexedParallelIterator","IntoParallelIterator","IntoParallelRefIterator","IntoParallelRefMutIterator","Item","Item","Item","Item","Iter","Iter","Iter","ParallelIterator","ParallelSliceMut","Scope","TryFoldAndReduce","all","any","as_parallel_slice_mut","borrow","borrow_mut","by_exponential_blocks","by_uniform_blocks","chain","chunks","cloned","cmp","collect","collect_into_vec","collect_vec_list","copied","count","current_num_threads","deref","deref_mut","drive","drive_unindexed","drop","enumerate","eq","filter","filter_map","find_any","find_first","find_last","find_map_any","find_map_first","find_map_last","flat_map","flat_map_iter","flatten","flatten_iter","fmt","fold","fold_chunks","fold_chunks_with","fold_with","for_each","for_each_init","for_each_with","from","ge","gt","init","inspect","interleave","interleave_shortest","intersperse","into","into_par_iter","join","le","len","lt","map","map_init","map_with","max","max_by","max_by_key","min","min_by","min_by_key","ne","opt_len","panic_fuse","par_chunk_by_mut","par_chunks_exact_mut","par_chunks_mut","par_iter","par_iter_mut","par_rchunks_exact_mut","par_rchunks_mut","par_sort","par_sort_by","par_sort_by_cached_key","par_sort_by_key","par_sort_unstable","par_sort_unstable_by","par_sort_unstable_by_key","par_split_inclusive_mut","par_split_mut","partial_cmp","partition","partition_map","position_any","position_first","position_last","positions","product","reduce","reduce_with","rev","scope","skip","skip_any","skip_any_while","spawn","spawn_broadcast","step_by","sum","take","take_any","take_any_while","try_fold","try_fold_and_reduce","try_fold_with","try_for_each","try_for_each_init","try_for_each_with","try_from","try_into","try_reduce","try_reduce_with","type_id","unzip","unzip_into_vecs","update","vzip","while_some","with_max_len","with_min_len","with_producer","zip","zip_eq","BoundsFailure","ColumnNotInPermutation","ConstraintSystemFailure","Error","InstanceTooLarge","InvalidInstances","NotEnoughRowsAvailable","Opening","Other","PinnedVerificationKey","ProvingKey","Transcript","VerifyingKey","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fixed_commitments","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_bytes","from_bytes","get_domain","get_vk","hash_into","init","init","init","init","into","into","into","into","keygen","not_enough_rows_available","pinned","prover","read","read","source","to_bytes","to_bytes","to_owned","to_owned","to_string","transcript_repr","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verifier","vzip","vzip","vzip","vzip","write","write","current_k","keygen_pk","keygen_vk","Prover","ProverMulti","borrow","borrow","borrow_mut","borrow_mut","commit_phase","commit_phase","create_proof","create_proof","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new","new","new_with_engine","new_with_engine","phases","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","verify_proof","verify_proof_multi","verify_proof_with_strategy","Basis","Coeff","Error","EvaluationDomain","ExtendedLagrangeCoeff","Guard","LagrangeBasis","LagrangeCoeff","MSMAccumulator","OpeningError","PinnedEvaluationDomain","Polynomial","SamplingError","VerificationStrategy","_marker","add","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_into","clone_into","clone_into","clone_into","clone_into","coeff_from_vec","coeff_to_extended","commitment","constant_extended","constant_lagrange","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divide_by_vanishing_poly","drop","drop","drop","drop","drop","drop","drop","empty_coeff","empty_extended","empty_lagrange","extended_k","extended_len","extended_to_coeff","finalize","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_extended_omega","get_omega","get_omega_inv","get_quotient_poly_degree","index","index","index","index_mut","index_mut","index_mut","init","init","init","init","init","init","init","into","into","into","into","into","into","into","iter","iter_mut","k","kzg","l_i_range","lagrange_extended","lagrange_from_vec","lagrange_to_coeff","mul","new","new","new_empty","new_lagrange_from_vec","num_coeffs","pinned","process","rotate","rotate_extended","rotate_omega","sub","sub","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","values","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Blind","COMMIT_INSTANCE","CommitmentScheme","Curve","Guard","MSM","MSM","MSMAccumulator","Params","ParamsProver","ParamsProver","ParamsVerifier","ParamsVerifier","Prover","Scalar","Verifier","add","add_assign","add_assign","add_msm","append_term","bases","borrow","borrow_mut","check","clone","clone_into","commit","commit_lagrange","create_proof","create_proof_with_engine","default","deref","deref_mut","downsize","drop","empty_msm","eq","eval","fmt","from","init","into","k","mul","mul_assign","mul_assign","n","new","new","new","new","new_params","read","read_params","scalars","scale","to_owned","try_from","try_into","type_id","verify_proof","vzip","write","commitment","msm","multiopen","strategy","KZGCommitmentScheme","ParamsKZG","ParamsVerifierKZG","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","commit","commit_lagrange","commit_lagrange","deref","deref","deref","deref_mut","deref_mut","deref_mut","downsize","downsize","drop","drop","drop","empty_msm","empty_msm","fmt","fmt","fmt","from","from","from","from_parts","init","init","init","into","into","into","k","k","n","n","new","new_params","read","read","read_custom","read_custom","read_params","setup","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verifier_params","vzip","vzip","vzip","write","write","write_custom","write_custom","DualMSM","MSMKZG","add_msm","add_msm","append_term","bases","borrow","borrow","borrow_mut","borrow_mut","check","check","clone","clone","clone_into","clone_into","combine_with_base","default","default","deref","deref","deref_mut","deref_mut","drop","drop","eval","fmt","fmt","from","from","init","init","into","into","new","new","scalars","scale","scale","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ProverGWC","ProverSHPLONK","VerifierGWC","VerifierSHPLONK","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","create_proof_with_engine","create_proof_with_engine","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","new","new","new","new","new","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verify_proof","verify_proof","vzip","vzip","vzip","vzip","AccumulatorStrategy","GuardKZG","SingleStrategy","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","finalize","finalize","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","new","new","new","new","process","process","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with","Blake2bRead","Blake2bWrite","Challenge255","ChallengeScalar","EncodedChallenge","Input","Keccak256Read","Keccak256Write","Transcript","TranscriptRead","TranscriptReadBuffer","TranscriptWrite","TranscriptWriterBuffer","as_challenge_scalar","borrow","borrow","borrow","borrow","borrow","borrow","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","common_point","common_point","common_point","common_point","common_point","common_scalar","common_scalar","common_scalar","common_scalar","common_scalar","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","finalize","finalize","finalize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_scalar","get_scalar","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","new","new","read_n_points","read_n_scalars","read_point","read_point","read_point","read_scalar","read_scalar","read_scalar","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge_scalar","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_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","write_point","write_point","write_point","write_scalar","write_scalar","write_scalar"],"q":[[0,"halo2_backend"],[6,"halo2_backend::arithmetic"],[43,"halo2_backend::helpers"],[72,"halo2_backend::multicore"],[216,"halo2_backend::plonk"],[309,"halo2_backend::plonk::Error"],[310,"halo2_backend::plonk::keygen"],[312,"halo2_backend::plonk::prover"],[349,"halo2_backend::plonk::verifier"],[352,"halo2_backend::poly"],[521,"halo2_backend::poly::commitment"],[585,"halo2_backend::poly::kzg"],[589,"halo2_backend::poly::kzg::commitment"],[662,"halo2_backend::poly::kzg::msm"],[711,"halo2_backend::poly::kzg::multiopen"],[776,"halo2_backend::poly::kzg::strategy"],[836,"halo2_backend::transcript"],[991,"pasta_curves::arithmetic::curves"],[992,"subtle"],[993,"ff"],[994,"core::cmp"],[995,"core::ops::arith"],[996,"core::ops::function"],[997,"alloc::boxed"],[998,"core::marker"],[999,"core::clone"],[1000,"core::convert"],[1001,"rand_core"],[1002,"core::fmt"],[1003,"std::io::error"],[1004,"std::io"],[1005,"core::result"],[1006,"core::any"],[1007,"rayon::iter"],[1008,"rayon::slice"],[1009,"rayon::iter::blocks"],[1010,"rayon::iter::chain"],[1011,"rayon::iter::chunks"],[1012,"rayon::iter::cloned"],[1013,"alloc::vec"],[1014,"alloc::collections::linked_list"],[1015,"rayon::iter::copied"],[1016,"rayon::iter::plumbing"],[1017,"rayon::iter::enumerate"],[1018,"rayon::iter::filter"],[1019,"rayon::iter::filter_map"],[1020,"core::option"],[1021,"rayon::iter::flat_map"],[1022,"rayon::iter::flat_map_iter"],[1023,"core::iter::traits::collect"],[1024,"rayon::iter::flatten"],[1025,"rayon::iter::flatten_iter"],[1026,"rayon_core::scope"],[1027,"rayon::iter::fold"],[1028,"rayon::iter::fold_chunks"],[1029,"rayon::iter::fold_chunks_with"],[1030,"rayon::iter::inspect"],[1031,"rayon::iter::interleave"],[1032,"rayon::iter::interleave_shortest"],[1033,"rayon::iter::intersperse"],[1034,"rayon::iter::map"],[1035,"rayon::iter::map_with"],[1036,"rayon::iter::panic_fuse"],[1037,"rayon::slice::chunk_by"],[1038,"rayon::slice::chunks"],[1039,"rayon::slice::rchunks"],[1040,"core::default"],[1041,"either"],[1042,"rayon::iter::positions"],[1043,"core::iter::traits::accum"],[1044,"rayon::iter::rev"],[1045,"rayon::iter::skip"],[1046,"rayon::iter::skip_any"],[1047,"rayon::iter::skip_any_while"],[1048,"rayon_core::broadcast"],[1049,"rayon::iter::step_by"],[1050,"rayon::iter::take"],[1051,"rayon::iter::take_any"],[1052,"rayon::iter::take_any_while"],[1053,"rayon::iter::try_fold"],[1054,"rayon::iter::private"],[1055,"halo2_middleware::multicore"],[1056,"rayon::iter::update"],[1057,"rayon::iter::while_some"],[1058,"rayon::iter::len"],[1059,"rayon::iter::zip"],[1060,"rayon::iter::zip_eq"],[1061,"halo2_backend::plonk::error"],[1062,"halo2_backend::poly::domain"],[1063,"core::error"],[1064,"alloc::string"],[1065,"halo2_middleware::circuit"],[1066,"std::collections::hash::map"],[1067,"halo2_middleware::zal::traits"],[1068,"halo2_middleware::zal::impls"],[1069,"halo2_backend::poly::strategy"],[1070,"core::ops::range"],[1071,"core::iter::traits::iterator"],[1072,"halo2_middleware::poly"],[1073,"pairing"],[1074,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[1075,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[1076,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[1077,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[1078,"halo2_middleware"],[1079,"rayon_core"],[1080,"rayon_core::join"]],"i":[0,0,0,0,0,0,11,11,4,11,0,0,4,0,12,11,4,12,11,4,11,4,4,12,12,11,4,11,12,11,4,12,12,11,11,0,12,12,12,12,12,12,12,0,31,31,31,0,0,0,31,31,37,31,31,31,31,31,31,31,31,31,34,37,38,31,31,31,31,31,37,38,0,0,0,0,49,87,88,43,49,87,88,0,0,0,0,43,43,44,68,68,45,45,43,45,43,45,43,45,43,43,43,0,68,68,45,43,68,45,45,43,43,43,43,43,43,43,43,43,43,43,43,68,43,45,45,43,43,43,43,68,45,45,68,43,45,45,43,68,49,0,45,45,45,43,43,43,43,43,43,43,43,43,45,43,43,44,44,44,87,88,44,44,44,44,44,44,44,44,44,44,44,45,43,43,45,45,45,45,43,43,43,45,0,45,43,43,68,68,45,43,45,43,43,43,110,43,43,43,43,68,68,43,43,68,43,45,43,68,43,45,45,45,45,45,121,121,121,0,121,121,121,121,121,0,0,121,0,121,119,123,120,121,119,123,120,119,120,119,120,121,119,123,120,121,119,123,120,121,119,123,120,119,121,121,119,123,120,121,121,119,123,120,119,120,119,120,119,121,119,123,120,121,119,123,120,0,121,119,0,119,120,121,119,120,119,120,121,119,121,119,123,120,121,119,123,120,121,119,123,120,0,121,119,123,120,119,120,191,0,0,0,0,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,134,140,140,134,140,134,140,134,140,134,140,0,0,0,0,0,0,0,0,0,0,0,166,152,0,0,152,0,146,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,126,148,149,150,146,126,148,149,150,146,126,126,0,126,126,126,151,152,148,149,150,146,146,126,151,152,148,149,150,146,146,126,126,151,152,148,149,150,146,126,126,126,126,126,126,145,126,151,152,148,149,150,146,126,151,152,148,149,150,146,126,126,126,126,146,146,146,146,146,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,146,146,126,0,126,126,126,126,146,145,126,146,146,146,126,145,146,126,126,146,146,126,148,149,150,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,126,151,152,148,149,150,146,146,126,151,152,148,149,150,146,0,162,0,136,144,0,162,144,0,0,136,0,136,0,136,0,158,158,158,159,159,159,158,158,159,158,158,160,133,137,137,158,158,158,133,158,162,158,159,158,158,158,158,133,158,158,158,133,160,137,144,158,136,133,136,159,159,158,158,158,158,144,158,133,0,0,0,0,0,0,0,167,169,171,167,169,171,167,169,167,169,167,167,169,167,169,171,167,169,171,167,169,167,169,171,167,169,167,169,171,167,169,171,167,167,169,171,167,169,171,167,169,167,169,167,171,167,169,167,169,171,167,167,169,167,169,171,167,169,171,167,169,171,167,167,169,171,167,169,167,169,0,0,170,172,170,170,170,172,170,172,170,172,170,172,170,172,170,170,172,170,172,170,172,170,172,170,170,172,170,172,170,172,170,172,170,172,170,170,172,170,172,170,172,170,172,170,172,170,172,0,0,0,0,174,176,175,177,174,176,175,177,174,175,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,177,174,176,175,175,177,174,176,175,177,174,176,175,177,174,176,175,177,176,177,174,176,175,177,0,0,0,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,179,180,178,179,180,178,179,180,178,179,180,178,179,180,179,179,180,180,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,179,0,0,0,0,0,127,0,0,0,0,0,0,0,127,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,128,183,184,185,186,128,183,184,185,186,183,184,185,186,182,182,187,187,183,184,185,186,182,187,183,184,185,186,182,187,188,185,186,183,184,185,186,182,187,183,184,185,186,182,187,127,187,189,188,183,183,184,184,185,185,186,186,182,187,183,184,185,186,182,187,127,187,0,0,143,183,184,143,183,184,128,183,184,185,186,128,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,183,184,185,186,182,187,138,185,186,138,185,186],"f":"``````````````````{{}c{}}000{{{j{{h{}{{b{c}}{d{e}}{f{g}}}}}}}{{n{{l{{h{}{{b{c}}{d{e}}{f{g}}}}}}}}}{A`Ab}{A`Ab}{{Af{}{{Ad{}}{b{}}}}}}{{{j{Ah}}}Ah}0{{{j{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}}}{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}A`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{c}}{Al{c}}}}{{cc}{{n{{h{}{{b{e}}{d{c}}{f{g}}}}}}}{A`Ab}{A`Ab}{{Af{}{{Ad{}}{b{}}}}}}{{{j{An}}}{{Bb{B`}}}}{{{j{Ah}}}{{n{Ah}}}}{{{j{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}}}BdA`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{c}}{Al{c}}}}{{{j{{h{}{{b{c}}{d{e}}{f{g}}}}}}}Bd{A`Ab}{A`Ab}{{Af{}{{Ad{}}{b{}}}}}}{{{j{Ah}}}Bd}{{{j{Ah}}}Bf}{{{j{{Af{}{{b{c}}{d{e}}{Ad{g}}}}}}}{{Bh{eee}}}A`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{c}}{Al{c}}}}{{ccc}{{n{{Af{}{{b{e}}{d{c}}{Ad{g}}}}}}}A`A`{{h{}{{f{}}{b{}}{Aj{}}{Aj{}}}}{Al{e}}{Al{e}}}}{{{j{Bj{Bl{c}}}}e}BnC`{{B`{{j{Bj{Bl{c}}}}Cb}}C`CdCf}}{{{j{Ah}}c}Ah{{Cj{{Bl{Ch}}}}}}0{cAhCl}9{{{j{Ah}}}{{Bh{BdAh}}}}{{{j{Ah}}{j{Ah}}}{{Bh{BdAh}}}}?```````{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{CnCb}{{{j{Cn}}}Cn}{{{j{c}}{j{Bje}}}Bn{}{}}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{CbBn}{{{j{Cn}}{j{BjD`}}}Db}{cc{}}{{}Cb}{ce{}{}}{{{j{Bjc}}}{{Df{Dd}}}Dh}{{{j{Bjc}}Cn}{{Df{Dj}}}Dh}{{{j{Bjc}}Cn}{{Df{Dl}}}Dh}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}6{{{j{Dj}}{j{Bjc}}Cn}{{Df{Bn}}}Eb}{{{j{Dl}}{j{Bjc}}Cn}{{Df{Bn}}}Eb}```````````````{{{Ef{}{{Ed{c}}}}e}BfC`{{B`{c}{{Aj{Bf}}}}CdC`}}0{{{j{BjEh}}}{{j{Bj{Bl{c}}}}}C`}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{Ej{{El{Ej}}}}{{EjCb}{{En{Ej}}}}{{{Ef{}{{Ed{c}}}}e}{{F`{{Ef{}{{Ed{c}}}}}}}C`{{Fb{}{{Ed{c}}}}}}{{EjCb}{{Fd{Ej}}}}{{{Ef{}{{Ed{c}}}}}{{Ff{{Ef{}{{Ed{c}}}}}}}C`}{{Eje}Fh{}{{Fb{}{{Ed{c}}}}}}{{{Ef{}{{Ed{c}}}}}eC`{{Fj{c}}}}{{Ej{j{Bj{Fl{c}}}}}Bn{}}{{{Ef{}{{Ed{c}}}}}{{Fn{{Fl{c}}}}}C`}{{{Ef{}{{Ed{c}}}}}{{G`{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}}CbC`}{{}Cb}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{{Eje}{}{}{{Gb{c}}}}{{{Ef{}{{Ed{c}}}}e}{}C`{{Gd{c}}}}{CbBn}{Ej{{Gf{Ej}}}}{{Ejc}BfFb}{{{Ef{}{{Ed{c}}}}e}{{Gh{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}{{Gj{{Ef{}{{Ed{c}}}}g}}}C`C`{{B`{c}{{Aj{{Gl{e}}}}}}CdC`}}{{{Ef{}{{Ed{c}}}}e}{{Gl{c}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}00{{{Ef{}{{Ed{c}}}}g}{{Gl{e}}}C`C`{{B`{c}{{Aj{{Gl{e}}}}}}CdC`}}00{{{Ef{}{{Ed{c}}}}g}{{Gn{{Ef{}{{Ed{c}}}}g}}}C`Fb{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}{{H`{{Ef{}{{Ed{c}}}}g}}}C`Hb{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}}{{Hd{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}}{{Hf{{Ef{}{{Ed{c}}}}}}}C`}{{{j{Hh}}{j{BjD`}}}{{Dn{BnHj}}}}{{{Ef{}{{Ed{c}}}}gi}{{Hl{{Ef{}{{Ed{c}}}}gi}}}C`C`{{B`{}{{Aj{e}}}}CdC`}{{B`{ec}{{Aj{e}}}}CdC`}}{{EjCbei}{{Hn{Ejei}}}C`{{B`{}{{Aj{c}}}}C`Cd}{}{{B`{cg}{{Aj{c}}}}C`Cd}}{{EjCbcg}{{I`{Ejcg}}}{C`Cf}{}{{B`{ce}{{Aj{c}}}}C`Cd}}{{{Ef{}{{Ed{c}}}}eg}{{Ib{{Ef{}{{Ed{c}}}}eg}}}C`{C`Cf}{{B`{ec}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}e}BnC`{{B`{c}}CdC`}}{{{Ef{}{{Ed{c}}}}gi}BnC`{}{{B`{}{{Aj{e}}}}CdC`}{{B`{{j{Bje}}c}}CdC`}}{{{Ef{}{{Ed{c}}}}eg}BnC`{C`Cf}{{B`{{j{Bje}}c}}CdC`}}{cc{}}{{Ejc}BfFb}0{{}Cb}{{{Ef{}{{Ed{c}}}}e}{{Id{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}}CdC`}}{{Eje}{{If{Ej}}}{}{{Fb{}{{Ed{c}}}}}}{{Eje}{{Ih{Ej}}}{}{{Fb{}{{Ed{c}}}}}}{{{Ef{}{{Ed{c}}}}c}{{Ij{{Ef{}{{Ed{c}}}}}}}C`}{ce{}{}}{{{Fb{}{{Il{c}}{Ed{e}}}}}c{{Ef{}{{Ed{e}}}}}C`}{{ei}{{Bh{cg}}}C`{{In{}{{Aj{c}}}}C`}C`{{In{}{{Aj{g}}}}C`}}8{{{j{Ej}}}Cb}9{{{Ef{}{{Ed{c}}}}g}{{J`{{Ef{}{{Ed{c}}}}g}}}C`C`{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}gk}{{Jb{{Ef{}{{Ed{c}}}}gk}}}C`{}{{B`{}{{Aj{e}}}}CdC`}C`{{B`{{j{Bje}}c}{{Aj{i}}}}CdC`}}{{{Ef{}{{Ed{c}}}}ei}{{Jd{{Ef{}{{Ed{c}}}}ei}}}C`{C`Cf}C`{{B`{{j{Bje}}c}{{Aj{g}}}}CdC`}}{{{Ef{}{{Ed{c}}}}}{{Gl{c}}}C`}{{{Ef{}{{Ed{c}}}}e}{{Gl{c}}}C`{CdC`{B`{{j{c}}{j{c}}}{{Aj{Fh}}}}}}{{{Ef{}{{Ed{c}}}}g}{{Gl{c}}}C`{AbC`}{CdC`{B`{{j{c}}}{{Aj{e}}}}}}210?{{{j{{Ef{}{{Ed{c}}}}}}}{{Gl{Cb}}}C`}{{{Ef{}{{Ed{c}}}}}{{Jf{{Ef{}{{Ed{c}}}}}}}C`}{{{j{BjEh}}e}{{Jh{ce}}}C`{{B`{{j{c}}{j{c}}}{{Aj{Bf}}}}C`Cd}}{{{j{BjEh}}Cb}{{Jj{c}}}C`}{{{j{BjEh}}Cb}{{Jl{c}}}C`}{{{j{{Jn{}{{Il{c}}{Ed{e}}}}}}}c{{Ef{}{{Ed{e}}}}}C`}{{{j{Bj{K`{}{{Il{c}}{Ed{e}}}}}}}c{{Ef{}{{Ed{e}}}}}C`}{{{j{BjEh}}Cb}{{Kb{c}}}C`}{{{j{BjEh}}Cb}{{Kd{c}}}C`}{{{j{BjEh}}}Bn}{{{j{BjEh}}e}BnC`{{B`{{j{c}}{j{c}}}{{Aj{Fh}}}}Cd}}{{{j{BjEh}}g}BnC`{AbC`}{{B`{{j{c}}}{{Aj{e}}}}Cd}}{{{j{BjEh}}g}BnC`Ab{{B`{{j{c}}}{{Aj{e}}}}Cd}}320{{{j{BjEh}}e}{{Kf{ce}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{j{BjEh}}e}{{Kh{ce}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{Ejc}{{Gl{Fh}}}Fb}{{{Ef{}{{Ed{c}}}}e}{{Bh{gi}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}{KjC`{Kl{c}}}{KjC`{Kl{c}}}}{{{Ef{}{{Ed{c}}}}i}{{Bh{km}}}C`C`C`{{B`{c}{{Aj{{Kn{eg}}}}}}CdC`}{KjC`{Kl{e}}}{KjC`{Kl{g}}}}{{Eje}{{Gl{Cb}}}{}{{B`{c}{{Aj{Bf}}}}CdC`}}00{{Eje}{{L`{Eje}}}{}{{B`{c}{{Aj{Bf}}}}CdC`}}{{{Ef{}{{Ed{c}}}}}eC`{C`{Lb{c}}Lb}}{{{Ef{}{{Ed{c}}}}eg}cC`{{B`{}{{Aj{c}}}}CdC`}{{B`{cc}{{Aj{c}}}}CdC`}}{{{Ef{}{{Ed{c}}}}e}{{Gl{c}}}C`{{B`{cc}{{Aj{c}}}}CdC`}}{Ej{{Ld{Ej}}}}{ecC`{{In{{j{Hh}}}{{Aj{c}}}}C`}}{{EjCb}{{Lf{Ej}}}}{{{Ef{}{{Ed{c}}}}Cb}{{Lh{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}e}{{Lj{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{j{Hh}}c}Bn{{In{{j{Hh}}}}C`}}{{{j{Hh}}c}Bn{{B`{{j{Hh}}Ll}}C`Cd}}{{EjCb}{{Ln{Ej}}}}{{{Ef{}{{Ed{c}}}}}eC`{C`{M`{c}}M`}}{{EjCb}{{Mb{Ej}}}}{{{Ef{}{{Ed{c}}}}Cb}{{Md{{Ef{}{{Ed{c}}}}}}}C`}{{{Ef{}{{Ed{c}}}}e}{{Mf{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{c}}}{{Aj{Bf}}}}CdC`}}{{{Ef{}{{Ed{c}}}}gk}{{Mh{{Ef{}{{Ed{c}}}}igk}}}C`{}{{B`{}{{Aj{e}}}}CdC`}{{Mj{}{{Aj{e}}}}C`}{{B`{ec}{{Aj{i}}}}CdC`}}{{Mlei}{{Dn{cg}}}{}{{B`{}{{Aj{c}}}}C`Cd}{}{{B`{c{Dn{cg}}}{{Aj{{Dn{cg}}}}}}C`Cd}}{{{Ef{}{{Ed{c}}}}ei}{{Mn{{Ef{}{{Ed{c}}}}gi}}}C`{CfC`}{{Mj{}{{Aj{e}}}}C`}{{B`{ec}{{Aj{g}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}eC`{{Mj{}{{Aj{Bn}}}}C`}{{B`{c}{{Aj{e}}}}CdC`}}{{{Ef{}{{Ed{c}}}}gk}iC`{}{{B`{}{{Aj{e}}}}CdC`}{{Mj{}{{Aj{Bn}}}}C`}{{B`{{j{Bje}}c}{{Aj{i}}}}CdC`}}{{{Ef{}{{Ed{c}}}}ei}gC`{C`Cf}{{Mj{}{{Aj{Bn}}}}C`}{{B`{{j{Bje}}c}{{Aj{g}}}}CdC`}}{c{{Dn{e}}}{}{}}0{{{Ef{}{{Ed{c}}}}gi}cC`{}{{B`{}{{Aj{e}}}}CdC`}{{B`{ee}{{Aj{c}}}}CdC`}}{{{Ef{}{{Ed{c}}}}g}{{Gl{c}}}C`{}{{B`{ee}{{Aj{c}}}}CdC`}}{{{j{c}}}E`{}}{{{Ef{}{{Ed{c}}}}}{{Bh{gk}}}C`C`{KjC`{Kl{e}}}C`{KjC`{Kl{i}}}}{{Ej{j{Bj{Fl{c}}}}{j{Bj{Fl{e}}}}}BnC`C`}{{{Ef{}{{Ed{c}}}}e}{{N`{{Ef{}{{Ed{c}}}}e}}}C`{{B`{{j{Bjc}}}}CdC`}}{ce{}{}}{{{Ef{}{{Ed{c}}}}}{{Nb{{Ef{}{{Ed{c}}}}}}}C`}{{EjCb}{{Nd{Ej}}}}{{EjCb}{{Nf{Ej}}}}{{Eje}{}{}{{Nh{c}}}}{{Ejc}{{Nj{Ej}}}Fb}{{Ejc}{{Nl{Ej}}}Fb}`````````````{{{j{c}}}{{j{e}}}{}{}}000{{{j{Bjc}}}{{j{Bje}}}{}{}}000{{{j{{Nn{c}}}}}{{Nn{c}}}{Cfh}}{{{j{{O`{c}}}}}{{O`{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}0{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{j{{Nn{c}}}}}{{j{{Fl{c}}}}}h}{{{j{Ob}}{j{BjD`}}}Db}0{{{j{{Nn{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{Of{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{O`{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}{OhOb}111``{{{j{{Nn{c}}}}}{{j{Ol}}}h}{{{j{{O`{c}}}}}{{j{{Nn{c}}}}}h}{{{j{{Nn{c}}}}{j{Bjg}}}{{Df{Bn}}}h{{On{c}}}{{A@`{ce}}}}{{}Cb}000{ce{}{}}000`{A@bOb}{{{j{{Nn{c}}}}}{{Of{c}}}h}```{{{j{Ob}}}{{Gl{{j{A@d}}}}}}{{{j{{Nn{c}}}}Cn}{{Fl{Oj}}}Dj}{{{j{{O`{c}}}}Cn}{{Fl{Oj}}}Dj}{{{j{c}}}e{}{}}0{{{j{c}}}A@f{}}{{{j{{Nn{c}}}}}{}h}{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000`::::{{{j{{Nn{c}}}}{j{Bje}}Cn}{{Df{Bn}}}DjEb}{{{j{{O`{c}}}}{j{Bje}}Cn}{{Df{Bn}}}DjEb}`{{{j{e}}{Nn{c}}{j{A@h}}}{{Dn{{O`{c}}Ob}}}h{{A@j{c}}}}{{{j{e}}{j{A@h}}}{{Dn{{Nn{c}}Ob}}}h{{A@j{c}}}}``{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{Bj{A@l{cegikm}}}}Oj{Fl{{Gl{Fl}}}}}{{Dn{{A@n{Cb}}Ob}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{{{j{Bj{AAh{cegikm}}}}Oj{Fl{{Fl{{Gl{Fl}}}}}}}{{Dn{{A@n{Cb}}Ob}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{{{A@l{cegikm}}}{{Dn{BnOb}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{{{AAh{cegikm}}}{{Dn{BnOb}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{CbBn}0{{{j{{A@l{cegikm}}}}{j{BjD`}}}Db{OdAA`}{Od{AAb{c}}}{OdOn}{OdCl}{Od{AAd{g}}}{OdAAf}}{{{j{{AAh{cegikm}}}}{j{BjD`}}}Db{OdAA`}{Od{AAb{c}}}{OdOn}{OdCl}{Od{AAd{g}}}{OdAAf}}{cc{}}0{{}Cb}0{ce{}{}}0{{j{j{O`}}{Fl{Fl}}c{j{Bjg}}}{{Dn{{A@l{ikecgAAj}}Ob}}}ClOn{{AAd{e}}}AA`{{AAb{i}}}}{{j{j{O`}}{j{{Bl{{Fl{Fl}}}}}}c{j{Bjg}}}{{Dn{{AAh{ikecgAAj}}Ob}}}ClOn{{AAd{e}}}AA`{{AAb{i}}}}{{{AAl{c}}j{j{O`}}{Fl{Fl}}e{j{Bji}}}{{Dn{{A@l{kmgeic}}Ob}}}AAfClOn{{AAd{g}}}AA`{{AAb{k}}}}{{{AAl{c}}j{j{O`}}{j{{Bl{{Fl{Fl}}}}}}e{j{Bji}}}{{Dn{{AAh{kmgeic}}Ob}}}AAfClOn{{AAd{g}}}AA`{{AAb{k}}}}{{{j{{AAh{cegikm}}}}}{{j{{Bl{Oj}}}}}AA`{{AAb{c}}}OnCl{{AAd{g}}}AAf}{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}077{{j{j{Nn}}{Fl{Fl}}{j{Bje}}}BfOn{{AAn{c}}}}{{j{j{Nn}}{j{{Bl{{Fl{Fl}}}}}}{j{Bje}}}BfOn{{AAn{c}}}}{{j{j{Nn}}g{j{{Bl{{Fl{Fl}}}}}}{j{Bjk}}}{{Dn{gOb}}}AA`{{AB`{c}}}{{ABb{ce}}}On{{AAn{i}}}}```````````````{{{ABd{ce}}{j{{ABd{ce}}}}}{{ABd{ce}}}AhABf}{{{j{c}}}{{j{e}}}{}{}}000000{{{j{Bjc}}}{{j{Bje}}}{}{}}000000{{{j{{Ol{c}}}}}{{Ol{c}}}{CfAh}}{{{j{ABh}}}ABh}{{{j{ABj}}}ABj}{{{j{ABl}}}ABl}{{{j{{ABd{ce}}}}}{{ABd{ce}}}CfCf}{{{j{c}}{j{Bje}}}Bn{}{}}0000{{{j{{Ol{c}}}}{Fl{c}}}{{ABd{cABh}}}A`}{{{j{{Ol{c}}}}{ABd{cABh}}}{{ABd{cABl}}}A`}`{{{j{{Ol{c}}}}c}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}c}{{ABd{cABj}}}A`}{Cb{{j{c}}}{}}00000{{{j{{ABd{ce}}}}}{{j{{Bl{c}}}}}{}{}}1{Cb{{j{Bjc}}}{}}00000{{{j{Bj{ABd{ce}}}}}{{j{Bj{Bl{c}}}}}{}{}}1{{{j{{Ol{c}}}}{ABd{cABl}}}{{ABd{cABl}}}A`}{CbBn}000000{{{j{{Ol{c}}}}}{{ABd{cABh}}}A`}{{{j{{Ol{c}}}}}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}}{{ABd{cABj}}}A`}{{{j{{Ol{c}}}}}A@bA`}{{{j{{Ol{c}}}}}CbA`}{{{j{{Ol{c}}}}{ABd{cABl}}}{{Fl{c}}}A`}{ABbBf}{{{j{{Ol{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{{ABn{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{AC`}}{j{BjD`}}}Db}{{{j{ABh}}{j{BjD`}}}Db}{{{j{ABj}}{j{BjD`}}}Db}{{{j{ABl}}{j{BjD`}}}Db}{{{j{{ABd{ce}}}}{j{BjD`}}}DbOdOd}{cc{}}000000{{{j{{Ol{c}}}}}cA`}00;{{{j{{ABd{ce}}}}ACb}{{j{{Bl{c}}}}}{}{}}{{{j{{ABd{ce}}}}Cb}{{j{c}}}{}{}}{{{j{{ABd{ce}}}}{ACd{Cb}}}{{j{{Bl{c}}}}}{}{}}{{{j{Bj{ABd{ce}}}}Cb}{{j{Bjc}}}{}{}}{{{j{Bj{ABd{ce}}}}{ACd{Cb}}}{{j{Bj{Bl{c}}}}}{}{}}{{{j{Bj{ABd{ce}}}}ACb}{{j{Bj{Bl{c}}}}}{}{}}{{}Cb}000000{ce{}{}}000000{{{j{{ABd{ce}}}}}{{`{{ACf{}{{Ed{{j{c}}}}}}}}}{}{}}{{{j{Bj{ABd{ce}}}}}{{`{{ACf{}{{Ed{{j{Bjc}}}}}}}}}{}{}}{{{j{{Ol{c}}}}}A@bA`}`{{{j{{Ol{c}}}}cce}{{Fl{c}}}A`{{Hb{}{{Ed{ACh}}}}Cf}}{{{j{{Ol{c}}}}Cb}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}{Fl{c}}}{{ABd{cABj}}}A`}{{{j{{Ol{c}}}}{ABd{cABj}}}{{ABd{cABh}}}A`}{{{ABd{ce}}c}{{ABd{ce}}}AhABf}{jABb}{{A@bA@b}{{Ol{c}}}A`}{{Cbc}{{ABd{ce}}}Cf{}}{{{Fl{c}}}{{ABd{cABj}}}Cf}{{{j{{ABd{ce}}}}}Cb{}{}}{{{j{{Ol{c}}}}}{{ABn{c}}}A`}{{ABbc}{{Dn{ABbOb}}}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{j{{ABd{cABj}}}}ACj}{{ABd{cABj}}}Ah}{{{j{{Ol{c}}}}{j{{ABd{cABl}}}}ACj}{{ABd{cABl}}}A`}{{{j{{Ol{c}}}}cACj}cA`}{{{ABd{ce}}{j{{ABd{ce}}}}}{{ABd{ce}}}AhABf}{{{j{{ABd{ce}}}}c}{{ABd{ce}}}AhABf}{{{j{c}}}e{}{}}0000{c{{Dn{e}}}{}{}}0000000000000{{{j{c}}}E`{}}000000`{ce{}{}}000000````````````````{{{ACl{c}}{ACl{c}}}{{ACl{c}}}Ah}{{{j{Bj{ACl{c}}}}c}BnAh}{{{j{Bj{ACl{c}}}}{ACl{c}}}BnAh}{{{j{BjACn}}{j{ACn}}}Bn}{{{j{BjACn}}}Bn}{{{j{ACn}}}Fl}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{{j{ACn}}{j{e}}}Bfh{{AAf{c}}}}{{{j{{ACl{c}}}}}{{ACl{c}}}Cf}{{{j{c}}{j{Bje}}}Bn{}{}}{{{j{AD`}}{j{e}}{j{{ABd{ABh}}}}ACl}{}h{{AAf{c}}}}{{{j{A@j}}{j{e}}{j{{ABd{ABj}}}}ACl}{}h{{AAf{c}}}}{{{j{AAb}}c{j{Bjg}}i}{{Df{Bn}}}ClOn{{AAd{e}}}{{Hb{}{{Ed{`}}}}Cf}}{{{j{AAb}}{j{c}}e{j{Bji}}k}{{Df{Bn}}}AAfClOn{{AAd{g}}}{{Hb{}{{Ed{`}}}}Cf}}{{}{{ACl{c}}}Ah}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{{{j{BjA@j}}A@b}Bn}{CbBn}{{{j{{ADd{}{{ADb{c}}}}}}}c{{ACn{e}}}h}{{{j{{ACl{c}}}}{j{{ACl{c}}}}}BfADf}{{{j{ACn}}{j{e}}}{}h{{AAf{c}}}}{{{j{{ACl{c}}}}{j{BjD`}}}DbOd}{cc{}}{{}Cb}{ce{}{}}{{{j{A@j}}}A@b}{{{ACl{c}}{ACl{c}}}{{ACl{c}}}Ah}{{{j{Bj{ACl{c}}}}{ACl{c}}}BnAh}{{{j{Bj{ACl{c}}}}c}BnAh}{{{j{A@j}}}Ch}{A@bAD`}{jAAb}{{}{{AB`{}{{ADh{c}}{ADj{g}}}}}{{ADl{e}{{ADj{g}}}}}AA`{}}{{{j{Bjc}}}{{ACl{e}}}ClAh}{A@bc{}}{{{j{Bjc}}}{{Df{A@j}}}Dh}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{{j{ACn}}}Fl}{{{j{BjACn}}}Bn}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}{{{j{{AB`{}{{ADh{c}}{ADj{g}}}}}}{j{Bjk}}mg}{{Dn{cAC`}}}{{ADl{e}{{ADj{g}}}}}AA`{}On{{AAn{i}}}{{Hb{}{{Ed{`}}}}Cf}}{ce{}{}}{{{j{A@j}}{j{Bjc}}}{{Df{Bn}}}Eb}```````{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{ADn{c}}}}}{{ADn{c}}}{CfAE`}}{{{j{{AEb{c}}}}}{{AEb{c}}}{CfAE`}}{{{j{c}}{j{Bje}}}Bn{}{}}0{{{j{{ADn{c}}}}{j{e}}{j{{ABd{ABh}}}}ACl}{}AE`AAf}{{{j{{ADn{c}}}}{j{e}}{j{{ABd{ABj}}}}ACl}{}AE`AAf}{{{j{{AEb{c}}}}{j{e}}{j{{ABd{ABj}}}}ACl}{}AE`AAf}{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{{{j{Bj{ADn{c}}}}A@b}BnAE`}{{{j{Bj{AEb{c}}}}A@b}BnAE`}{CbBn}00{{{j{{ADn{c}}}}}{{AEd{c}}}AE`}{{{j{{AEb{c}}}}}{{AEd{c}}}AE`}{{{j{{ADn{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEb{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEf{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}00{{{j{{ADn{c}}}}A@bFl{Gl{Fl}}}{{ADn{c}}}AE`}{{}Cb}00{ce{}{}}00{{{j{{ADn{c}}}}}A@bAE`}{{{j{{AEb{c}}}}}A@bAE`}{{{j{{ADn{c}}}}}ChAE`}{{{j{{AEb{c}}}}}ChAE`}{A@b{{ADn{c}}}AE`}{A@bc{}}{{{j{Bjc}}}{{Df{{ADn{e}}}}}DhAE`}{{{j{Bjc}}}{{Df{{AEb{e}}}}}DhAE`}{{{j{Bjc}}Cn}{{Df{{ADn{e}}}}}DhAE`}{{{j{Bjc}}Cn}{{Df{{AEb{e}}}}}DhAE`}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{A@bc}{{ADn{e}}}ClAE`}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00{{{j{{ADn{c}}}}}{{AEb{c}}}AE`}{ce{}{}}00{{{j{{ADn{c}}}}{j{Bje}}}{{Df{Bn}}}AE`Eb}{{{j{{AEb{c}}}}{j{Bje}}}{{Df{Bn}}}AE`Eb}{{{j{{ADn{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AE`Eb}{{{j{{AEb{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AE`Eb}``{{{j{Bj{AEd{c}}}}{j{{AEd{c}}}}}BnAE`}{{{j{Bj{AEh{c}}}}{AEh{c}}}BnAEj}{{{j{Bj{AEd{c}}}}}BnAE`}{{{j{{AEd{c}}}}}FlAE`}{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AEd{c}}}}{j{e}}}BfAE`AAf}{{{AEh{c}}{j{e}}{j{{AEb{c}}}}}BfAEjAAf}{{{j{{AEd{c}}}}}{{AEd{c}}}{CfAE`}}{{{j{{AEh{c}}}}}{{AEh{c}}}{CfAE`}}{{{j{c}}{j{Bje}}}Bn{}{}}08{{}{{AEd{c}}}{KjAE`}}{{}{{AEh{c}}}{KjAE`}}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{CbBn}0{{{j{{AEd{c}}}}{j{e}}}{}AE`AAf}{{{j{{AEd{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEh{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}0{{}Cb}0{ce{}{}}0{{}{{AEd{c}}}AE`}{{}{{AEh{c}}}AEj}{{{j{{AEd{c}}}}}FlAE`}{{{j{Bj{AEd{c}}}}}BnAE`}{{{j{Bj{AEh{c}}}}}BnAEj}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}088````{{{j{c}}}{{j{e}}}{}{}}000{{{j{Bjc}}}{{j{Bje}}}{}{}}000{{{j{{AEl{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AE`Od}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{{{j{{AEn{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AE`Od}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{j{{AEl{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AF`{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AEn{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AFb{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}000{{}Cb}000{ce{}{}}000{{{j{{ADn{c}}}}}{{AEl{c}}}{AE`Od}}{{}{{AF`{c}}}{AEjOd}}{{{j{{ADn{c}}}}}{{AEn{c}}}{AE`Od}}{{{j{{ADn{c}}}}}{{AEn{c}}}AE`}{{}{{AFb{c}}}{AEjOd}}{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000{{{j{{AF`{c}}}}{j{Bjg}}i{AEh{c}}}{{Dn{kAC`}}}{AEjOd}On{{AAn{e}}}{{Hb{}{{Ed{{`{{AEd{c}}}}}}}}Cf}{}}{{{j{{AFb{c}}}}{j{Bjg}}i{AEh{c}}}{{Dn{kAC`}}}{AEjOd}On{{AAn{e}}}{{Hb{}{{Ed{{`{{AEd{c}}}}}}}}Cf}{}}9999```{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{AFd{c}}}}}{{AFd{c}}}{CfAEj}}{{{j{{AFf{c}}}}}{{AFf{c}}}{CfAE`}}{{{j{{AFh{c}}}}}{{AFh{c}}}{CfAE`}}{{{j{c}}{j{Bje}}}Bn{}{}}00{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{CbBn}00{{{AFf{c}}}Bf{AEjOd}}{{{AFh{c}}}Bf{AEjOd}}{{{j{{AFd{c}}}}{j{BjD`}}}Db{OdAEj}}{{{j{{AFf{c}}}}{j{BjD`}}}Db{OdAE`}}{{{j{{AFh{c}}}}{j{BjD`}}}Db{OdAE`}}{cc{}}00{{}Cb}00{ce{}{}}00{{{j{{AEb{c}}}}}{{AFf{c}}}{AEjOd}}{{{j{{AEb{c}}}}}{{AFf{c}}}AEj}{{{j{{AEb{c}}}}}{{AFh{c}}}{AEjOd}}0{{{AFf{c}}e}{{Dn{{AFf{c}}Ob}}}{AEjOd}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{AFh{c}}e}{{Dn{{AFh{c}}Ob}}}{AEjOd}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{j{c}}}e{}{}}00{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00888{{{AEh{c}}{j{{AEb{c}}}}}{{AFf{c}}}AEj}`````````````{{{j{{On{}{{AFj{c}}}}}}}{{AFl{eg}}}{}h{}}{{{j{c}}}{{j{e}}}{}{}}00000{{{j{Bjc}}}{{j{Bje}}}{}{}}00000{{{j{{AFn{ceg}}}}}{{AFn{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AG`{ceg}}}}}{{AG`{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AGb{ceg}}}}}{{AGb{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AGd{ceg}}}}}{{AGd{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AFl{ce}}}}}{{AFl{ce}}}{Cfh}Cf}{{{j{{AGf{c}}}}}{{AGf{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}00000{{{j{BjA@`}}c}{{Df{Bn}}}h}{{{j{Bj{AFn{ce{AGf{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AGb{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjA@`}}}{{Df{Bn}}}}{{{j{Bj{AFn{ce{AGf{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AGb{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}{Cb{{j{c}}}{}}0000{{{j{{AFl{ce}}}}}{{j{g}}}h{}{}}1{{{j{{AGf{c}}}}}{{j{e}}}h{}}{Cb{{j{Bjc}}}{}}00000{CbBn}00000{AGhcEb}{{{AGb{ce{AGf{e}}}}}cEbh}{{{AGd{ce{AGf{e}}}}}cEbh}{{{j{{AFn{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AG`{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AGb{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AGd{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AFl{ce}}}}{j{BjD`}}}Db{Odh}Od}{{{j{{AGf{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}00000{{{j{{On{}{{AFj{c}}}}}}}{}{}}{{{j{{AGf{c}}}}}{}h}{cAGjDh}{cAGhEb}{c{{AFn{ce{AGf{e}}}}}Dhh}{{}Cb}0{c{{AG`{ce{AGf{e}}}}}Dhh}{c{{AGb{ce{AGf{e}}}}}Ebh}22{c{{AGd{ce{AGf{e}}}}}Ebh}33{ce{}{}}00000{{{j{c}}}{{On{}{{AFj{c}}}}}{}}{{{j{{AGl{Oj}}}}}{{AGf{c}}}h}{{{j{Bjg}}Cb}{{Df{{Fl{c}}}}}h{{On{c}}}{{AAn{ce}}}}{{{j{Bjg}}Cb}{{Df{Fl}}}h{{On{c}}}{{AAn{ce}}}}{{{j{BjAAn}}}{{Df{c}}}h}{{{j{Bj{AFn{ce{AGf{e}}}}}}}{{Df{e}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}{{Df{e}}}Dhh}{{{j{BjAAn}}}Df}{{{j{Bj{AFn{ce{AGf{e}}}}}}}DfDhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}DfDhh}{{{j{BjA@`}}}eh{{On{c}}}}{{{j{Bj{AFn{ce{AGf{e}}}}}}}{{AGf{e}}}Dhh}{{{j{Bj{AG`{ce{AGf{e}}}}}}}{{AGf{e}}}Dhh}{{{j{Bj{AGb{ce{AGf{e}}}}}}}{{AGf{e}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}}{{AGf{e}}}Ebh}{{{j{BjA@`}}}{{AFl{ce}}}h{}}{{{j{c}}}e{}{}}00000{c{{Dn{e}}}{}{}}00000000000{{{j{c}}}E`{}}00000{ce{}{}}00000{{{j{BjAAd}}c}{{Df{Bn}}}h}{{{j{Bj{AGb{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjAAd}}}{{Df{Bn}}}}{{{j{Bj{AGb{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AGd{ce{AGf{e}}}}}}}{{Df{Bn}}}Ebh}","D":"CHf","p":[[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",6,991],[1,"reference"],[5,"Coordinates",991],[5,"CtOption",992],[10,"WithSmallOrderMulGroup",993],[10,"Ord",994],[17,"AffineExt"],[10,"CurveExt",6,991],[10,"Field",6,993],[17,"Output"],[10,"Mul",995],[1,"str"],[10,"Fn",996],[5,"Box",997],[5,"Choice",992],[1,"bool"],[1,"tuple"],[0,"mut"],[1,"slice"],[1,"unit"],[10,"Send",998],[1,"usize"],[10,"Sync",998],[10,"Clone",999],[1,"u64"],[10,"AsRef",1000],[10,"RngCore",1001],[6,"SerdeFormat",43],[5,"Formatter",1002],[8,"Result",1002],[10,"CurveRead",43],[8,"Result",1003],[10,"Read",1004],[10,"SerdeCurveAffine",43],[10,"SerdePrimeField",43],[6,"Result",1005],[5,"TypeId",1006],[10,"Write",1004],[17,"Item"],[10,"ParallelIterator",72,1007],[10,"ParallelSliceMut",72,1008],[10,"IndexedParallelIterator",72,1007],[5,"ExponentialBlocks",1009],[5,"UniformBlocks",1009],[5,"Chain",1010],[10,"IntoParallelIterator",72,1007],[5,"Chunks",1011],[5,"Cloned",1012],[6,"Ordering",994],[10,"FromParallelIterator",1007],[5,"Vec",1013],[5,"LinkedList",1014],[5,"Copied",1015],[10,"Consumer",1016],[10,"UnindexedConsumer",1016],[5,"Enumerate",1017],[5,"Filter",1018],[5,"FilterMap",1019],[6,"Option",1020],[5,"FlatMap",1021],[5,"FlatMapIter",1022],[10,"IntoIterator",1023],[5,"Flatten",1024],[5,"FlattenIter",1025],[5,"Scope",72,1026],[5,"Error",1002],[5,"Fold",1027],[5,"FoldChunks",1028],[5,"FoldChunksWith",1029],[5,"FoldWith",1027],[5,"Inspect",1030],[5,"Interleave",1031],[5,"InterleaveShortest",1032],[5,"Intersperse",1033],[17,"Iter"],[10,"FnOnce",996],[5,"Map",1034],[5,"MapInit",1035],[5,"MapWith",1035],[5,"PanicFuse",1036],[5,"ChunkByMut",1037],[5,"ChunksExactMut",1038],[5,"ChunksMut",1038],[10,"IntoParallelRefIterator",72,1007],[10,"IntoParallelRefMutIterator",72,1007],[5,"RChunksExactMut",1039],[5,"RChunksMut",1039],[5,"SplitInclusiveMut",1008],[5,"SplitMut",1008],[10,"Default",1040],[10,"ParallelExtend",1007],[6,"Either",1041],[5,"Positions",1042],[10,"Product",1043],[5,"Rev",1044],[5,"Skip",1045],[5,"SkipAny",1046],[5,"SkipAnyWhile",1047],[5,"BroadcastContext",1048],[5,"StepBy",1049],[10,"Sum",1043],[5,"Take",1050],[5,"TakeAny",1051],[5,"TakeAnyWhile",1052],[5,"TryFold",1053],[10,"Try",1054],[10,"TryFoldAndReduce",72,1055],[5,"TryFoldWith",1053],[5,"Update",1056],[5,"WhileSome",1057],[5,"MaxLen",1058],[5,"MinLen",1058],[10,"ProducerCallback",1016],[5,"Zip",1059],[5,"ZipEq",1060],[5,"VerifyingKey",216],[5,"ProvingKey",216],[6,"Error",216,1061],[10,"Debug",1002],[5,"PinnedVerificationKey",216],[5,"Error",1003],[1,"u8"],[5,"EvaluationDomain",352,1062],[10,"EncodedChallenge",836],[10,"Transcript",836],[1,"u32"],[10,"Error",1063],[5,"String",1064],[5,"CompiledCircuit",1065],[10,"Params",521],[5,"Prover",312],[5,"HashMap",1066],[10,"CommitmentScheme",521],[10,"Prover",521],[10,"TranscriptWrite",836],[10,"MsmAccel",1067],[5,"ProverMulti",312],[5,"H2cEngine",1068],[5,"PlonkEngine",1068],[10,"TranscriptRead",836],[10,"Verifier",521],[10,"VerificationStrategy",352,1069],[5,"Polynomial",352],[10,"Basis",352],[5,"Coeff",352],[5,"LagrangeCoeff",352],[5,"ExtendedLagrangeCoeff",352],[5,"PinnedEvaluationDomain",352,1062],[6,"Error",352],[5,"RangeFull",1070],[5,"RangeFrom",1070],[10,"Iterator",1071],[1,"i32"],[5,"Rotation",1072],[5,"Blind",521],[10,"MSM",521],[10,"ParamsProver",521],[17,"MSM"],[10,"ParamsVerifier",521],[10,"PartialEq",994],[17,"Guard"],[17,"MSMAccumulator"],[10,"Guard",352,1069],[5,"ParamsKZG",589],[10,"Engine",1073],[5,"ParamsVerifierKZG",589],[5,"MSMKZG",662],[5,"KZGCommitmentScheme",589],[5,"DualMSM",662],[10,"MultiMillerLoop",1073],[5,"ProverGWC",711,1074],[5,"ProverSHPLONK",711,1075],[5,"VerifierGWC",711,1076],[5,"VerifierSHPLONK",711,1077],[5,"GuardKZG",776],[5,"AccumulatorStrategy",776],[5,"SingleStrategy",776],[17,"Input"],[5,"ChallengeScalar",836],[5,"Blake2bRead",836],[5,"Keccak256Read",836],[5,"Blake2bWrite",836],[5,"Keccak256Write",836],[5,"Challenge255",836],[10,"TranscriptWriterBuffer",836],[10,"TranscriptReadBuffer",836],[1,"array"],[15,"NotEnoughRowsAvailable",309]],"r":[[2,1078],[10,991],[11,991],[13,993],[72,1007],[73,1007],[74,1007],[75,1007],[83,1007],[84,1008],[85,1026],[86,1055],[103,1079],[141,1080],[184,1026],[219,1061],[355,1062],[357,1069],[362,1062],[365,1069],[711,1074],[712,1075],[713,1076],[714,1077]],"b":[[254,"impl-Debug-for-Error"],[255,"impl-Display-for-Error"],[446,"impl-Index%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[447,"impl-Index%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[448,"impl-Index%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[449,"impl-IndexMut%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[450,"impl-IndexMut%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[451,"impl-IndexMut%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[485,"impl-Sub%3C%26Polynomial%3CF,+B%3E%3E-for-Polynomial%3CF,+B%3E"],[486,"impl-Sub%3CF%3E-for-%26Polynomial%3CF,+B%3E"],[538,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[539,"impl-AddAssign-for-Blind%3CF%3E"],[566,"impl-MulAssign-for-Blind%3CF%3E"],[567,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[755,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[756,"impl-ProverSHPLONK%3C\'a,+E%3E"],[814,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[815,"impl-AccumulatorStrategy%3CE%3E"],[816,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"],[817,"impl-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABwCWwAAAAAAAgABACwAAAAwAAAAMgACADYABQA9AAAAQgAEAFcAAABbAAEAaQABAG0AAAB8AAAAhwAAAMoAAQDOAAAA0gAAAOYAFwD/AAQABQEAAA4BAwAcAQAAHwECACMBCwAwAQMAOwEDAEMBBwBNAQEAUQEAAFYBBwBnAQAAbwEZAI4BDwCfAQYArQEGAL8BDADYAQAA2wEAAN4BAADmASMAGgICACACAQAjAgEAKQICAC0CAAAvAgAAMQIAADMCAAA2AgIAQwIDAEgCAABRAhwAcgICAHgCBQCBAgEAhAIOAJYCAACZAgAAmwIGAKMCAwCoAgoAtQIBALsCAQC+AgkAzAIHANYCDwDqAgMA8gICAPYCDQAFAwMADAMZACkDAgAvAwAAMQMAADMDEABTAxcAbAMDAHEDFwCKAwAAjAMFAJkDAACdAwEAoQMBAKQDAQCtAwIAsQMBALQDAQC3AwMAvAMdANsDAQDeAwEA"}],\ ["halo2_debug",{"t":"HCHHHFFFFNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNHHHHNNNNNNNNNNNNNNNNNNNN","n":["check_witness","display","keccak_hex","test_result","test_rng","ExprDisp","FDisp","LookupArgDisp","ShuffleArgDisp","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","expr_disp","expr_disp_names","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","lookup_arg_disp","lookup_arg_disp_names","shuffle_arg_disp","shuffle_arg_disp_names","to_string","to_string","to_string","to_string","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"],"q":[[0,"halo2_debug"],[5,"halo2_debug::display"],[71,"halo2_middleware::circuit"],[72,"alloc::vec"],[73,"ff"],[74,"alloc::string"],[75,"core::convert"],[76,"core::ops::function"],[77,"core::marker"],[78,"rand_chacha::chacha"],[79,"halo2_middleware::expression"],[80,"std::collections::hash::map"],[81,"core::fmt"],[82,"halo2_middleware::lookup"],[83,"halo2_middleware::shuffle"],[84,"core::result"],[85,"core::any"],[86,"halo2_debug::check_witness"]],"i":[0,0,0,0,0,0,0,0,0,24,19,27,28,24,19,27,28,24,19,27,28,24,19,27,28,24,19,27,28,0,0,24,19,27,28,24,19,27,28,24,19,27,28,24,19,27,28,0,0,0,0,24,19,27,28,24,19,27,28,24,19,27,28,24,19,27,28,24,19,27,28],"f":"{{{d{{b{c}}}}fh{d{{l{{j{c}}}}}}{d{{l{{j{c}}}}}}}nA`}`{cAb{{Af{{l{Ad}}}}}}{{c{d{Ah}}}{{j{Ad}}}{{Al{}{{Aj{{j{Ad}}}}}}An}}{{}B`}````{{{d{c}}}{{d{e}}}{}{}}000{{{d{Bbc}}}{{d{Bbe}}}{}{}}000{h{{d{c}}}{}}000{h{{d{Bbc}}}{}}000{hn}000{{{d{{Bd{ce}}}}}{{Bf{cen}}}A`Bh}{{{d{{Bd{cBj}}}}{d{{Bn{BlAb}}}}}{{Bf{cBj{Bn{BlAb}}}}}A`}{{{d{{C`{c}}}}{d{BbCb}}}CdA`}{{{d{{Bf{ceg}}}}{d{BbCb}}}CdA`Bh{}}{{{d{{Cf{ceg}}}}{d{BbCb}}}CdA`Bh{}}{{{d{{Ch{ceg}}}}{d{BbCb}}}CdA`Bh{}}{cc{}}000{{}h}000{ce{}{}}000{{{d{{Cj{ce}}}}}{{Cf{cen}}}A`Bh}{{{d{{Cj{cBj}}}}{d{{Bn{BlAb}}}}}{{Cf{cBj{Bn{BlAb}}}}}A`}{{{d{{Cl{ce}}}}}{{Ch{cen}}}A`Bh}{{{d{{Cl{cBj}}}}{d{{Bn{BlAb}}}}}{{Ch{cBj{Bn{BlAb}}}}}A`}{{{d{c}}}Ab{}}000{c{{Cn{e}}}{}{}}0000000{{{d{c}}}D`{}}0007777","D":"Bj","p":[[5,"CompiledCircuit",71],[1,"reference"],[1,"u32"],[1,"usize"],[5,"Vec",72],[1,"slice"],[1,"unit"],[10,"PrimeField",73],[5,"String",74],[1,"u8"],[10,"AsRef",75],[1,"str"],[17,"Output"],[10,"FnOnce",76],[10,"Send",77],[5,"ChaCha20Rng",78],[0,"mut"],[6,"Expression",79],[5,"ExprDisp",5],[10,"Variable",79],[6,"VarMid",71],[5,"ColumnMid",71],[5,"HashMap",80],[5,"FDisp",5],[5,"Formatter",81],[8,"Result",81],[5,"LookupArgDisp",5],[5,"ShuffleArgDisp",5],[5,"Argument",82],[5,"Argument",83],[6,"Result",84],[5,"TypeId",85]],"r":[[0,86]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADIABwAAAAAAAgAAAAUAAAAKABMAIAADACgAAwA0ABMA"}],\ -["halo2_frontend",{"t":"CCCFFKRKRFFFFREFFKFFNNNNNNNNNNNNNNNNNNMNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHMNNMNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNCMNNNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEECCFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNPGKFPKKMNMNMNMMNNNNNNNNNNNMNMNNNNNNNMNNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNPPPGEFFPPGPPGPFPPPPPFPGNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCCCCCGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKKKRFKRFRMMMNNNNNNNNNNNNCMNCMNNNNNNNNNMMNNNMCMNNNNNNMNNNNNNNNNNMMMNNNMMMNNNNNNNNNNNNNNNMFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFPFPGFPFPFPKPPFFPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKNNNNNNNNNNNNNNNNNMNNNNNPGPPPPPPPGPPPPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNN","n":["circuit","dev","plonk","AssignedCell","Cell","Chip","Config","Layouter","Loaded","NamespacedLayouter","Region","RegionIndex","RegionStart","Root","SimpleFloorPlanner","SimpleTableLayouter","Table","TableLayouter","Value","WitnessCalculator","add","add","add","add","add","add","add","add","add","add","and_then","as_mut","as_ref","assert_if_known","assign","assign_advice","assign_advice_from_constant","assign_advice_from_instance","assign_cell","assign_cell","assign_cell","assign_fixed","assign_region","assign_region","assign_table","assign_table","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","calc","cell","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cloned","column","compile_circuit","config","constrain_constant","constrain_equal","constrain_instance","constrain_instance","copied","copied","copy_advice","cube","default","default_and_assigned","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","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable_selector","eq","error_if_known_and","evaluate","evaluate","floor_planner","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_iter","get_challenge","get_challenge","get_root","get_root","init","init","init","init","init","init","init","init","init","init","instance_value","into","into","into","into","into","into","into","into","into","into","into_field","invert","known","layouter","loaded","map","mul","mul","mul","mul","mul","mul","mul","mul","mul","mul","name_column","namespace","neg","new","new","pop_namespace","pop_namespace","push_namespace","push_namespace","region_index","row_offset","square","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","to_field","to_owned","to_owned","to_owned","to_owned","to_owned","transpose_array","transpose_vec","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unknown","unzip","value","value_field","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","zip","V1","V1Pass","single_pass","v1","SimpleFloorPlanner","SingleChipLayouter","assign_region","assign_table","borrow","borrow","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_challenge","get_root","init","init","into","into","new","pop_namespace","push_namespace","synthesize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AssignmentPass","MeasurementPass","V1","V1Pass","assign_region","assign_table","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","get_challenge","get_root","init","init","init","init","into","into","into","into","pop_namespace","push_namespace","strategy","synthesize","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","Column","RegionColumn","RegionLayouter","RegionShape","Selector","SyncDeps","TableLayouter","assign_advice","assign_advice","assign_advice_from_constant","assign_advice_from_constant","assign_advice_from_instance","assign_advice_from_instance","assign_cell","assign_fixed","assign_fixed","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","columns","constrain_constant","constrain_constant","constrain_equal","constrain_equal","deref","deref","deref_mut","deref_mut","drop","drop","enable_selector","enable_selector","eq","fmt","fmt","from","from","from","from","hash","init","init","instance_value","instance_value","into","into","name_column","name_column","new","partial_cmp","region_index","row_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Assigned","Assigned","CellNotAssigned","CellValue","CircuitCost","CircuitGates","CircuitLayout","ConstraintNotSatisfied","ConstraintPoisoned","FailureLocation","InRegion","InstanceCellNotAssigned","InstanceValue","Lookup","MockProver","OutsideRegion","Padding","Permutation","Poison","Shuffle","TracingFloorPlanner","Unassigned","VerifyFailure","advice","advice_mut","advice_values","annotate_column","assert_satisfied","assert_satisfied_at_rows","assign_advice","assign_fixed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_dot_graph","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","collect","copy","cost","cost_model","cs","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","drop","drop","drop","drop","drop","drop","drop","drop","emit","enable_selector","enter_region","eq","eq","eq","eq","exit_region","fill_from_row","fixed","fixed_values","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_challenge","init","init","init","init","init","init","init","init","instance","instance_mut","into","into","into","into","into","into","into","into","mark_equality_cells","metadata","pop_namespace","push_namespace","queries_to_csv","query_instance","render","run","selectors","show_equality_constraints","show_labels","synthesize","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","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","usable_rows","value","verify","verify_at_rows","view_height","view_width","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","offset","region","row","cell_values","column","column","column","constraint","constraint","gate","gate","gate_offset","gate_offset","location","location","location","location","lookup_index","name","name","offset","region","region","row","shuffle_index","CircuitCost","MarginalProofSize","ProofSize","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","marginal_proof_size","measure","proof_size","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","CommitmentScheme","CostOptions","KZGGWC","KZGSHPLONK","Lookup","ModelCircuit","Permutation","Poly","Shuffle","advice","advice_columns","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_into","clone_into","clone_into","clone_into","cmp","column_queries","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","eq","eq","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_circuit_to_cost_model_options","from_circuit_to_model_circuit","from_str","gate_degree","init","init","init","init","init","init","init","instance","into","into","into","into","into","into","into","into_model_circuit","k","k","lookup","lookups","max_deg","max_degree","partial_cmp","permutation","permutations","point_sets","rotations","serialize","serialize","shuffle","shuffles","size","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","Column","Constraint","Gate","Region","VirtualCell","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","column_type","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","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","hash","index","init","init","init","init","init","into","into","into","into","into","new","partial_cmp","partial_cmp","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","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","vzip","vzip","vzip","vzip","vzip","assigned","circuit","error","keygen","lookup","permutation","shuffle","Assigned","Rational","Trivial","Zero","add","add","add","add","add","add","add_assign","add_assign","borrow","borrow_mut","clone","clone_into","cube","denominator","deref","deref_mut","double","drop","eq","evaluate","fmt","from","from","from","from","from","init","into","invert","is_zero_vartime","mul","mul","mul","mul","mul_assign","mul_assign","neg","neg","numerator","square","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","to_owned","try_from","try_into","type_id","vzip","Advice","Assignment","Circuit","ColumnType","Config","Fixed","FloorPlanner","FloorPlanner","Instance","Params","annotate_column","assign_advice","assign_fixed","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","compress_selectors","configure","configure_with_params","constraint_system","copy","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","enable_selector","enter_region","eq","eq","eq","exit_region","expression","fill_from_row","fmt","fmt","fmt","from","from","from","get_challenge","hash","hash","hash","init","init","init","into","into","into","params","pop_namespace","push_namespace","query_cell","query_cell","query_cell","query_cell","query_instance","synthesize","synthesize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","without_witnesses","Constraint","ConstraintSystem","Constraints","Gate","VirtualCell","VirtualCells","advice_column","advice_column_in","advice_column_phase","advice_queries","annotate_column","annotate_lookup_any_column","annotate_lookup_column","blinding_factors","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge_phase","challenge_usable_after","clone","clone","clone","clone_into","clone_into","clone_into","column","complex_selector","compress_selectors","constants","constraint_name","create_gate","default","degree","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","directly_convert_selectors_to_fixed","drop","drop","drop","drop","drop","drop","enable_constant","enable_equality","fixed_column","fixed_queries","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","gates","general_column_annotations","get_any_query_index","init","init","init","init","init","init","instance_column","instance_queries","into","into","into","into","into","into","into_iter","lookup","lookup_any","lookup_table_column","lookups","minimum_rows","name","num_advice_columns","num_challenges","num_fixed_columns","num_instance_columns","num_selectors","permutation","phases","polynomials","queried_cells","queried_selectors","query_advice","query_any","query_challenge","query_fixed","query_instance","query_selector","rotation","selector","set_minimum_degree","shuffle","shuffles","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","unblinded_advice_column","unblinded_advice_column_in","vzip","vzip","vzip","vzip","vzip","vzip","with_selector","Advice","AdviceQuery","Challenge","Challenge","Column","Constant","Expression","FirstPhase","Fixed","FixedQuery","Instance","InstanceQuery","Negated","Phase","Product","Scaled","SecondPhase","Selector","Selector","Sum","TableColumn","ThirdPhase","add","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","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","column_index","column_index","column_index","column_index","column_index","column_index","column_type","column_type","complexity","cur","degree","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","eq","eq","eq","eq","eq","eq","eq","eq","evaluate","evaluate_lazy","expr","expr","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","hash","hash","hash","hash","identifier","index","index","index","index","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","inner","into","into","into","into","into","into","into","into","into","into","into","is_simple","mul","mul","neg","new","next","partial_cmp","partial_cmp","phase","prev","product","query_cell","query_cells","rot","rotation","rotation","rotation","rotation","rotation","rotation","sealed","square","sub","sum","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_sealed","to_sealed","to_sealed","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","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","Phase","SealedPhase","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","fmt","from","hash","init","into","partial_cmp","prev","to_owned","to_sealed","to_sealed","try_from","try_into","type_id","vzip","AssignAdvice","AssignError","AssignError","AssignFixed","BoundsFailure","ColumnNotAssigned","ColumnNotInPermutation","Copy","EnableSelector","Error","FillFromRow","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","Other","OverwriteDefault","QueryInstance","Synthesis","TableError","TableError","UnevenColumnLengths","UsedColumn","WitnessMissing","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","not_enough_rows_available","to_string","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","col","col","col","col","desc","desc","desc","desc","from_row","func","k","k","k","k","k","k","left_col","left_row","right_col","right_row","row","row","row","row","selector","usable_rows","usable_rows","usable_rows","usable_rows","usable_rows","usable_rows","current_k","Argument","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","into","name","new","table_expressions","to_owned","try_from","try_into","type_id","vzip","Argument","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","fmt","from","get_columns","init","into","to_owned","try_from","try_into","type_id","vzip","Argument","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","into","name","new","shuffle_expressions","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"halo2_frontend"],[3,"halo2_frontend::circuit"],[275,"halo2_frontend::circuit::floor_planner"],[279,"halo2_frontend::circuit::floor_planner::single_pass"],[316,"halo2_frontend::circuit::floor_planner::v1"],[381,"halo2_frontend::circuit::layouter"],[449,"halo2_frontend::dev"],[641,"halo2_frontend::dev::FailureLocation"],[644,"halo2_frontend::dev::VerifyFailure"],[666,"halo2_frontend::dev::cost"],[711,"halo2_frontend::dev::cost_model"],[854,"halo2_frontend::dev::metadata"],[972,"halo2_frontend::plonk"],[979,"halo2_frontend::plonk::assigned"],[1036,"halo2_frontend::plonk::circuit"],[1125,"halo2_frontend::plonk::circuit::constraint_system"],[1280,"halo2_frontend::plonk::circuit::expression"],[1545,"halo2_frontend::plonk::circuit::expression::sealed"],[1570,"halo2_frontend::plonk::error"],[1638,"halo2_frontend::plonk::error::AssignError"],[1669,"halo2_frontend::plonk::error::Error"],[1670,"halo2_frontend::plonk::lookup"],[1691,"halo2_frontend::plonk::permutation"],[1710,"halo2_frontend::plonk::shuffle"],[1731,"halo2_frontend::circuit::value"],[1732,"core::ops::arith"],[1733,"ff"],[1734,"core::ops::function"],[1735,"core::result"],[1736,"alloc::string"],[1737,"core::convert"],[1738,"halo2_frontend::circuit::table_layouter"],[1739,"std::collections::hash::map"],[1740,"alloc::vec"],[1741,"core::option"],[1742,"core::clone"],[1743,"halo2_middleware::circuit"],[1744,"core::fmt"],[1745,"core::marker"],[1746,"core::borrow"],[1747,"core::iter::traits::collect"],[1748,"core::any"],[1749,"core::cmp"],[1750,"std::collections::hash::set"],[1751,"core::hash"],[1752,"core::iter::traits::iterator"],[1753,"halo2_frontend::dev::failure"],[1754,"halo2_frontend::dev::gates"],[1755,"halo2_frontend::dev::graph::layout"],[1756,"halo2_frontend::dev::tfp"],[1757,"plotters::coord"],[1758,"plotters::drawing::area"],[1759,"plotters_backend"],[1760,"core::ops::range"],[1761,"group::prime"],[1762,"serde::de"],[1763,"serde::ser"],[1764,"core::default"],[1765,"halo2_middleware::poly"],[1766,"halo2_frontend::dev::graph"]],"i":[0,0,0,0,0,0,48,0,48,0,0,0,0,30,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,13,13,23,25,27,13,30,31,30,31,25,1,32,40,41,38,17,13,27,31,25,1,32,40,41,38,17,13,27,31,32,17,1,40,41,38,17,1,40,41,38,17,1,1,38,0,48,13,13,30,31,1,1,17,1,1,25,25,1,32,40,40,41,41,38,17,13,27,31,25,1,32,40,41,38,17,13,27,31,1,25,1,32,40,41,38,17,13,27,31,31,13,41,1,1,17,0,25,1,32,40,41,38,17,13,27,31,25,1,1,32,40,40,41,41,38,17,13,13,27,27,31,1,30,31,30,31,25,1,32,40,41,38,17,13,27,31,13,25,1,32,40,41,38,17,13,27,31,1,1,1,0,48,1,1,1,1,1,1,1,1,1,1,1,13,30,1,25,32,30,31,30,31,38,38,1,1,1,1,1,1,1,1,1,1,1,1,1,40,41,38,17,1,1,25,1,32,40,41,38,17,13,27,31,25,1,32,40,41,38,17,13,27,31,25,1,32,40,41,38,17,13,27,31,1,1,17,17,25,1,32,40,41,38,17,13,27,31,1,0,0,0,0,0,0,67,67,67,69,67,69,67,67,69,67,69,67,69,67,69,67,69,67,67,67,69,67,69,67,67,67,69,67,69,67,69,67,69,67,69,0,0,0,0,70,70,71,70,72,73,71,70,72,73,70,71,70,72,73,71,70,72,73,71,70,72,73,71,70,72,73,71,70,72,73,70,70,71,70,72,73,71,70,72,73,70,70,0,71,71,70,72,73,71,70,72,73,71,70,72,73,71,70,72,73,75,0,0,0,75,0,0,55,74,55,74,55,74,23,55,74,74,75,74,75,74,75,74,75,75,74,55,74,55,74,74,75,74,75,74,75,55,74,75,74,75,74,75,75,75,75,74,75,55,74,74,75,55,74,74,75,74,74,74,75,74,75,74,75,74,75,74,75,80,86,85,0,0,0,0,85,85,0,84,85,0,85,0,84,86,85,80,85,0,80,0,79,79,79,79,79,79,79,79,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,0,84,85,80,86,84,85,80,86,87,79,0,0,79,88,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,85,79,79,84,85,80,86,79,79,79,79,84,84,85,85,87,87,91,88,80,79,86,84,85,87,91,88,80,79,86,79,84,85,87,91,88,80,79,86,79,79,84,85,87,91,88,80,79,86,88,0,79,79,87,79,88,79,79,88,88,91,84,85,80,86,84,85,87,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,79,86,79,79,88,88,84,85,87,91,88,80,79,86,146,146,147,148,149,150,151,148,152,149,150,149,150,148,153,154,151,153,153,154,149,149,150,150,154,0,0,0,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,98,98,98,100,101,98,100,101,98,100,101,98,100,101,0,0,108,108,0,0,0,0,0,109,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,102,103,104,105,102,103,104,105,102,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,104,107,108,109,102,103,104,105,107,108,102,109,108,109,102,103,104,105,107,108,109,102,103,104,105,107,0,0,102,109,108,109,102,103,104,105,107,109,108,109,102,103,104,105,107,109,109,107,109,107,107,109,102,109,107,107,102,104,107,109,107,107,102,103,104,105,108,109,102,103,104,105,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,0,0,0,0,0,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,112,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,112,113,113,114,114,115,115,116,116,112,112,113,113,113,113,114,114,115,115,116,116,116,116,116,112,112,112,113,114,115,116,112,113,114,115,116,112,112,113,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,37,0,0,37,0,37,26,26,26,14,28,22,14,28,22,14,28,22,14,28,22,0,37,37,0,26,14,28,22,14,28,22,14,28,22,26,26,14,28,22,26,0,26,14,28,22,14,28,22,26,14,28,22,14,28,22,14,28,22,37,26,26,123,14,28,22,26,92,37,14,28,22,14,28,22,14,28,22,14,28,22,14,28,22,37,0,0,0,0,0,0,44,44,44,44,44,44,44,44,119,128,130,127,44,129,119,128,130,127,44,129,44,44,119,127,44,119,127,44,119,44,44,44,127,44,44,44,119,128,130,127,44,129,119,128,130,127,44,129,44,119,128,130,127,44,129,44,44,44,44,119,128,130,127,44,129,119,119,128,128,128,130,127,44,129,44,44,44,119,128,130,127,44,129,44,44,119,128,130,127,44,129,130,44,44,44,44,44,127,44,44,44,44,44,44,44,127,127,127,129,129,129,129,129,129,119,44,44,44,44,119,127,44,119,128,130,127,44,129,119,128,130,127,44,129,119,128,130,127,44,129,44,44,119,128,130,127,44,129,130,125,0,0,125,0,125,0,0,125,0,125,0,125,0,125,125,0,0,125,125,0,0,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,52,135,136,137,24,59,125,15,52,135,136,137,24,59,125,15,24,135,136,137,135,136,137,15,15,125,15,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,52,15,52,135,136,137,24,59,125,125,125,52,59,15,138,139,140,52,135,136,137,24,59,125,15,15,15,15,15,138,139,140,52,135,136,137,24,59,59,125,15,52,24,59,125,15,52,59,15,135,136,137,59,15,138,139,140,52,135,136,137,24,59,125,24,15,138,139,140,52,135,136,137,24,59,125,52,125,125,125,15,15,15,24,59,15,125,15,125,15,135,136,137,135,136,137,0,125,125,125,15,52,135,136,137,24,59,125,138,139,140,15,15,15,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,0,0,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,143,133,133,133,133,133,145,0,11,145,11,144,11,145,145,0,145,11,11,11,144,145,11,0,11,144,144,145,11,144,145,11,144,145,11,144,145,11,144,145,11,144,145,11,11,144,144,145,145,11,144,145,11,144,145,11,144,145,11,11,144,145,11,144,145,11,144,145,11,144,145,11,144,145,155,156,157,158,155,156,159,160,158,160,155,156,159,157,161,158,161,161,161,161,155,156,159,157,159,155,156,159,157,161,158,162,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,0,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134],"f":"````````````````````{{{b{e}}{b{e}}}g{}{{f{}{{d{c}}}}}{}}{{{b{{h{c}}}}{b{c}}}e{}{}}{{{b{{j{c}}}}{b{c}}}el{}}{{{b{{h{{j{c}}}}}}c}el{}}{{{h{{b{c}}}}{b{c}}}e{}{}}{{{b{c}}{b{{h{c}}}}}g{{f{h}{{d{}}}}}{}{}}{{{b{{j{c}}}}c}el{}}{{{b{c}}{h{{b{c}}}}}g{{f{h}{{d{}}}}}{}{}}{{{b{{h{{j{c}}}}}}{b{c}}}el{}}{{{h{{b{c}}}}{h{{b{c}}}}}e{}{}}{{{b{c}}g}{{b{e}}}{}{}{{n{c}{{d{{b{e}}}}}}}}{{{h{A`{b{c}}}}}{{b{{h{A`c}}}}}{}}{{{h{{b{c}}}}}{{b{{h{c}}}}}{}}{{{h{{b{c}}}}e}Ab{}{{n{{h{c}}}{{d{Ad}}}}}}{{{b{c}}}{{Ah{cAf}}}{}}{{{h{A`{Aj{c}}}}g{An{Al}}B`k}{{Ah{{Bb{ic}}Af}}}l{{Bf{Bd}}}{{Bh{}{{d{e}}}}}{}{{Bj{}{{d{{b{i}}}}}}}}{{{h{A`{Aj{c}}}}g{An{Al}}B`i}{{Ah{{Bb{ic}}Af}}}l{{Bf{Bd}}}{{Bh{}{{d{e}}}}}{}}{{{h{A`{Aj{c}}}}g{An{Bl}}B`{An{Al}}B`}{{Ah{{Bb{cc}}Af}}}l{{Bf{Bd}}}{{Bh{}{{d{e}}}}}}{{{h{A`Bn}}{h{Bh}}C`B`{h{A`Bj}}}{{Ah{AbAf}}}}{{{h{A`{Cb{ce}}}}{h{Bh}}C`B`{h{A`Bj}}}{{Ah{AbAf}}}l{{Cd{c}}}}{{{h{A`{Cf{c}}}}gC`B`k}{{Ah{AbAf}}}l{{Bf{Bd}}}{{Bh{}{{d{e}}}}}{{Bf{{j{c}}}}}{{Bj{}{{d{{b{i}}}}}}}}{{{h{A`{Aj{c}}}}g{An{Ch}}B`k}{{Ah{{Bb{ic}}Af}}}l{{Bf{Bd}}}{{Bh{}{{d{e}}}}}{}{{Bj{}{{d{{b{i}}}}}}}}{{{h{A`{Cl{}{{Cj{c}}}}}}im}{{Ah{kAf}}}{{Cl{e}}}l{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{}{{Bj{{Aj{e}}}{{d{{Ah{kAf}}}}}}}}{{{h{A`{Cn{ce}}}}im}{{Ah{kAf}}}l{{Cl{c}}}{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{}{{Bj{{Aj{c}}}{{d{{Ah{kAf}}}}}}}}{{{h{A`{Cl{}{{Cj{c}}}}}}ik}{{Ah{AbAf}}}{{Cl{e}}}l{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{{Bj{{Cf{e}}}{{d{{Ah{AbAf}}}}}}}}{{{h{A`{Cn{ce}}}}ik}{{Ah{AbAf}}}l{{Cl{c}}}{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{{Bj{{Cf{c}}}{{d{{Ah{AbAf}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000000000{{{h{A`c}}}{{h{A`e}}}{}{}}000000000{{{h{A`{D`{ce}}}}Db{h{{Dd{B`c}}}}}{{Ah{{Df{{Dh{{Df{c}}}}}}Af}}}l{{Dj{c}}}}{{{h{{Bb{ce}}}}}Dl{}l}{{{h{{b{c}}}}}{{b{c}}}Dn}{{{h{E`}}}E`}{{{h{Eb}}}Eb}{{{h{Dl}}}Dl}{{{h{{Bb{ce}}}}}{{Bb{ce}}}Dn{Dnl}}{{{h{c}}{h{A`e}}}Ab{}{}}0000{{{b{{h{A`c}}}}}{{b{c}}}Dn}{{{b{{h{c}}}}}{{b{c}}}Dn}`{{Ed{h{e}}Ad}{{Ah{{Ej{{Ef{c}}{Eh{c}}}}Af}}}l{{Dj{c}}}}{{{h{{F`{}{{El{c}}{En{e}}}}}}}{{h{c}}}{FbDn}{FbDn}}{{{h{A`{Aj{c}}}}Dle}{{Ah{AbAf}}}l{{Bf{{j{c}}}}}}{{{h{A`{Aj{c}}}}DlDl}{{Ah{AbAf}}}l}{{{h{A`{Cl{}{{Cj{c}}}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}{{Cl{e}}}l}{{{h{A`{Cn{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}l{{Cl{c}}}}{{{b{{h{A`c}}}}}{{b{c}}}Fd}{{{b{{h{c}}}}}{{b{c}}}Fd}{{{h{{Bb{ce}}}}i{h{A`{Aj{e}}}}{An{Al}}B`}{{Ah{{Bb{ce}}Af}}}Dnl{{Bf{Bd}}}{{Bh{}{{d{g}}}}}}{{{h{{b{e}}}}}{{b{{j{c}}}}}l{{Ff{{j{c}}}}}}{{}{{b{c}}}{}}`{B`{{h{c}}}{}}00{{{h{E`}}}{{h{c}}}{}}11{{{h{Eb}}}{{h{c}}}{}}22222{B`{{h{A`c}}}{}}0000000005{B`Ab}000000000{{{h{A`{Cn{ce}}}}}Abl{{Cl{c}}}}{{{h{A`{Aj{c}}}}g{h{Fh}}B`}{{Ah{AbAf}}}l{{Bf{Bd}}}{{Bh{}{{d{e}}}}}}{{{h{Eb}}{h{Eb}}}Ad}{{{h{{b{c}}}}e}{{Ah{AbAf}}}{}{{n{{h{c}}}{{d{Ad}}}}}}{{{b{{j{c}}}}}{{b{c}}}l}{{{Bb{{j{c}}c}}}{{Bb{cc}}}l}`{{{h{{Cb{ce}}}}{h{A`Fj}}}Fll{{Cd{c}}}}{{{h{{b{c}}}}{h{A`Fj}}}FlFb}{{{h{{D`{ce}}}}{h{A`Fj}}}Fl{Fbl}{Fb{Dj{c}}}}{{{h{E`}}{h{A`Fj}}}Fl}{{{h{Eb}}{h{A`Fj}}}Fl}{{{h{Dl}}{h{A`Fj}}}Fl}{{{h{{Bb{ce}}}}{h{A`Fj}}}FlFb{Fbl}}{{{h{{Aj{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{h{{Cf{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{h{{Cn{ce}}}}{h{A`Fj}}}Fl{Fbl}{Fb{Cl{c}}}}{cc{}}{{{b{c}}}{{b{{j{c}}}}}l}111{B`E`}2{B`Eb}33{{{h{A`Fn}}}{{Aj{c}}}l}4{{{h{A`Bn}}}{{Cf{c}}}l}55{e{{b{g}}}{}{{Gb{}{{G`{{b{c}}}}}}}{{Gd{c}}}}{{{h{{Cl{}{{Cj{c}}}}}}Gf}{{b{e}}}{{Cl{e}}}l}{{{h{{Cn{ce}}}}Gf}{{b{c}}}l{{Cl{c}}}}{{{h{A`{Cl{}{{Cj{c}}}}}}}{{h{A`c}}}{{Cl{e}}}l}{{{h{A`{Cn{ce}}}}}{{h{A`g}}}l{{Cl{c}}}{}}{{}B`}000000000{{{h{A`{Aj{c}}}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{ce{}{}}000000000{{{b{e}}}{{b{{j{c}}}}}l{{Bf{{j{c}}}}}}{{{h{{b{e}}}}}{{b{{j{c}}}}}l{{Ff{{j{c}}}}}}{c{{b{c}}}{}}`{{{h{{F`{}{{El{c}}{En{e}}}}}}}{{h{e}}}{FbDn}{FbDn}}{{{b{c}}g}{{b{e}}}{}{}{{n{c}{{d{e}}}}}}{{{b{{h{{j{c}}}}}}{b{c}}}el{}}{{{b{c}}{h{{b{c}}}}}g{{Gh{h}{{d{}}}}}{}{}}{{{b{{j{c}}}}c}el{}}{{{b{{j{c}}}}{b{c}}}el{}}{{{b{e}}{b{e}}}g{}{{Gh{}{{d{c}}}}}{}}{{{b{c}}{b{{h{c}}}}}g{{Gh{h}{{d{}}}}}{}{}}{{{h{{b{c}}}}{b{c}}}e{}{}}{{{b{{h{{j{c}}}}}}c}el{}}{{{b{{h{c}}}}{b{c}}}e{}{}}{{{h{{b{c}}}}{h{{b{c}}}}}e{}{}}{{{h{A`{Aj{c}}}}gi}Abl{{Bf{Bd}}}{{Bh{}{{d{e}}}}}{{Bf{{An{Gj}}}}}}{{{h{A`{Cl{}{{Cj{c}}}}}}i}{{Cn{ec}}}{{Cl{e}}}l{{Bf{Bd}}}{{n{}{{d{g}}}}}}{{{b{c}}}eGl{}}{{{h{A`e}}{h{{Gn{C`}}}}}{{Cb{ce}}}l{{Cd{c}}}}{{Ed{h{e}}h{h{{Eh{c}}}}{h{{Gn{{Df{c}}}}}}}{{D`{ce}}}l{{Dj{c}}}}{{{h{A`{Cl{}{{Cj{c}}}}}}{Dh{Bd}}}Ab{{Cl{e}}}l}{{{h{A`{Cn{ce}}}}{Dh{Bd}}}Abl{{Cl{c}}}}{{{h{A`{Cl{}{{Cj{c}}}}}}i}Ab{{Cl{e}}}l{{Bf{Bd}}}{{n{}{{d{g}}}}}}{{{h{A`{Cn{ce}}}}i}Abl{{Cl{c}}}{{Bf{Bd}}}{{n{}{{d{g}}}}}}``{{{h{{b{e}}}}}{{b{{j{c}}}}}l{{Ff{{j{c}}}}}}{{{b{{j{c}}}}{b{c}}}el{}}<={{{b{e}}{b{e}}}g{}{{H`{}{{d{c}}}}}{}}{{{b{c}}{b{{h{c}}}}}g{{H`{h}{{d{}}}}}{}{}}{{{b{c}}{h{{b{c}}}}}g{{H`{h}{{d{}}}}}{}{}}{{{b{{j{c}}}}c}el{}}?{{{b{{h{{j{c}}}}}}{b{c}}}el{}}{{{h{{b{c}}}}{b{c}}}e{}{}}{{{h{{b{c}}}}}{{b{{j{e}}}}}{}l}{{{h{c}}}e{}{}}0000{{{b{{Hb{c}}}}}{{Hb{{b{c}}}}}Fd}{{{b{e}}B`}{{Df{{b{c}}}}}{}{{Gb{}{{G`{c}}}}}}{c{{Ah{e}}}{}{}}0000000000000000000{{{h{c}}}Hd{}}000000000{{}{{b{c}}}{}}{{{b{{Ej{ce}}}}}{{Ej{{b{c}}{b{e}}}}}{}{}}{{{h{{Bb{ce}}}}}{{b{{h{c}}}}}{}l}{{{h{{Bb{ce}}}}}{{b{{j{e}}}}}{}l}{ce{}{}}000000000{{{b{c}}{b{e}}}{{b{{Ej{ce}}}}}{}{}}``````{{{h{A`{Hf{ce}}}}im}{{Ah{kAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{}{{Bj{{Aj{c}}}{{d{{Ah{kAf}}}}}}}}{{{h{A`{Hf{ce}}}}ik}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{{Bj{{Cf{c}}}{{d{{Ah{AbAf}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{A`c}}}{{h{A`e}}}{}{}}0{{{h{A`{Hf{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}l{{Cd{c}}Hh}}{B`{{h{c}}}{}}0{B`{{h{A`c}}}{}}0{B`Ab}0{{{h{{Hf{ce}}}}{h{A`Fj}}}Fll{{Cd{c}}}}{{{h{Hj}}{h{A`Fj}}}Fl}{cc{}}0{{{h{{Hf{ce}}}}Gf}{{b{c}}}l{{Cd{c}}Hh}}{{{h{A`{Hf{ce}}}}}{{h{A`g}}}l{{Cd{c}}Hh}{}}{{}B`}0??{{{h{A`e}}{Df{{An{Ch}}}}}{{Ah{{Hf{ce}}Af}}}l{{Cd{c}}}}{{{h{A`{Hf{ce}}}}{Dh{Bd}}}Abl{{Cd{c}}Hh}}{{{h{A`{Hf{ce}}}}i}Abl{{Cd{c}}Hh}{{Bf{Bd}}}{{n{}{{d{g}}}}}}{{{h{A`e}}{h{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Dj{c}}}}{c{{Ah{e}}}{}{}}000{{{h{c}}}Hd{}}0{ce{}{}}0````{{{h{A`{Hl{ce}}}}im}{{Ah{kAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{}{{Bj{{Aj{c}}}{{d{{Ah{kAf}}}}}}}}{{{h{A`{Hl{ce}}}}ik}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{d{g}}}}}{{Bj{{Cf{c}}}{{d{{Ah{AbAf}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{A`c}}}{{h{A`e}}}{}{}}000{{{h{A`{Hl{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}l{{Cd{c}}Hh}}{B`{{h{c}}}{}}000{B`{{h{A`c}}}{}}000{B`Ab}000{{{h{Hn}}{h{A`Fj}}}Fl}{{{h{{Hl{ce}}}}{h{A`Fj}}}Fl{Fbl}{Fb{Cd{c}}}}{{{h{I`}}{h{A`Fj}}}Fl}{{{h{{Ib{ce}}}}{h{A`Fj}}}Fl{Fbl}{Fb{Cd{c}}}}{cc{}}000{{{h{{Hl{ce}}}}Gf}{{b{c}}}l{{Cd{c}}Hh}}{{{h{A`{Hl{ce}}}}}{{h{A`g}}}l{{Cd{c}}Hh}{}}{{}B`}000{ce{}{}}000{{{h{A`{Hl{ce}}}}{Dh{Bd}}}Abl{{Cd{c}}Hh}}{{{h{A`{Hl{ce}}}}i}Abl{{Cd{c}}Hh}{{Bf{Bd}}}{{n{}{{d{g}}}}}}`{{{h{A`e}}{h{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Dj{c}}}}{c{{Ah{e}}}{}{}}0000000{{{h{c}}}Hd{}}0005555```````{{{h{A`Fn}}{h{Bh}}{An{Al}}B`{h{A`Bj}}}{{Ah{DlAf}}}}{{{h{A`Id}}{h{Bh}}{An{Al}}B`{h{A`Bj}}}{{Ah{DlAf}}}}{{{h{A`Fn}}{h{Bh}}{An{Al}}B`{j{c}}}{{Ah{DlAf}}}l}{{{h{A`Id}}{h{Bh}}{An{Al}}B`{j{c}}}{{Ah{DlAf}}}l}{{{h{A`Fn}}{h{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{b{c}}}}Af}}}l}{{{h{A`Id}}{h{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{b{c}}}}Af}}}l}{{{h{A`Bn}}{h{Bh}}C`B`{h{A`Bj}}}{{Ah{AbAf}}}}{{{h{A`Fn}}{h{Bh}}{An{Ch}}B`{h{A`Bj}}}{{Ah{DlAf}}}}{{{h{A`Id}}{h{Bh}}{An{Ch}}B`{h{A`Bj}}}{{Ah{DlAf}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{A`c}}}{{h{A`e}}}{}{}}0{{{h{Id}}}Id}{{{h{If}}}If}{{{h{c}}{h{A`e}}}Ab{}{}}0{{{h{If}}{h{If}}}Ih}{{{h{Id}}}{{h{{Ij{If}}}}}}{{{h{A`Fn}}Dl{j{c}}}{{Ah{AbAf}}}l}{{{h{A`Id}}Dl{j{c}}}{{Ah{AbAf}}}l}{{{h{A`Fn}}DlDl}{{Ah{AbAf}}}}{{{h{A`Id}}DlDl}{{Ah{AbAf}}}}{B`{{h{c}}}{}}0{B`{{h{A`c}}}{}}0{B`Ab}0{{{h{A`Fn}}{h{Bh}}{h{Fh}}B`}{{Ah{AbAf}}}}{{{h{A`Id}}{h{Bh}}{h{Fh}}B`}{{Ah{AbAf}}}}{{{h{If}}{h{If}}}Ad}{{{h{Id}}{h{A`Fj}}}Fl}{{{h{If}}{h{A`Fj}}}Fl}{cc{}}0{{{An{Gj}}}If}{FhIf}{{{h{If}}{h{A`c}}}AbIl}{{}B`}0{{{h{A`Fn}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{{{h{A`Id}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{ce{}{}}0{{{h{A`Fn}}{h{Bh}}{An{Gj}}}Ab}{{{h{A`Id}}{h{Bh}}{An{Gj}}}Ab}{E`Id}{{{h{If}}{h{If}}}{{Dh{Ih}}}}{{{h{Id}}}E`}{{{h{Id}}}B`}{{{h{c}}}e{}{}}0{c{{Ah{e}}}{}{}}000{{{h{c}}}Hd{}}099```````````````````````{{{h{{In{c}}}}}{{h{{Df{{Df{{J`{c}}}}}}}}}{JbJd}}{{{h{A`{In{c}}}}B`}{{h{A`{Gn{{J`{c}}}}}}}l}{{{h{{In{c}}}}{An{Al}}}{{h{{Gn{{J`{c}}}}}}}{JbJd}}{{{h{A`{In{c}}}}g{An{Gj}}}Abl{{Bf{Bd}}}{{n{}{{d{e}}}}}}{{{h{{In{c}}}}}Ab{JbJd}}{{{h{{In{c}}}}ee}Ab{JbJd}{Dn{Jf{}{{G`{B`}}}}}}{{{h{A`{In{c}}}}g{An{Al}}B`k}{{Ah{AbAf}}}l{{Bf{Bd}}}{{n{}{{d{e}}}}}{{Bf{{j{c}}}}}{{n{}{{d{{b{i}}}}}}}}{{{h{A`{In{c}}}}g{An{Ch}}B`k}{{Ah{AbAf}}}l{{Bf{Bd}}}{{n{}{{d{e}}}}}{{Bf{{j{c}}}}}{{n{}{{d{{b{i}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{A`c}}}{{h{A`e}}}{}{}}0000000{{{h{e}}}Bdl{{Dj{c}}}}{{{h{Jh}}}Jh}{{{h{Jj}}}Jj}{{{h{{J`{c}}}}}{{J`{c}}}{Dnl}}{{{h{{Jl{c}}}}}{{Jl{c}}}{Dnl}}{{{h{c}}{h{A`e}}}Ab{}{}}000{{}Jn}{{{h{A`{In{c}}}}{An{Gj}}B`{An{Gj}}B`}{{Ah{AbAf}}}l}``{{{h{{In{c}}}}}{{h{{Eh{c}}}}}{JbJd}}{{}K`}{B`{{h{c}}}{}}0000000{B`{{h{A`c}}}{}}0000000{B`Ab}0000000{{{h{Jj}}{h{{In{c}}}}}Abl}{{{h{A`{In{c}}}}g{h{Fh}}B`}{{Ah{AbAf}}}l{{Bf{Bd}}}{{n{}{{d{e}}}}}}{{{h{A`{In{c}}}}g}Abl{{Bf{Bd}}}{{n{}{{d{e}}}}}}{{{h{Jh}}{h{Jh}}}Ad}{{{h{Jj}}{h{Jj}}}Ad}{{{h{{J`{c}}}}{h{{J`{c}}}}}Ad{Kbl}}{{{h{{Jl{c}}}}{h{{Jl{c}}}}}Ad{Kbl}}{{{h{A`{In{c}}}}}Abl}{{{h{A`{In{c}}}}{An{Ch}}B`{b{{j{c}}}}}{{Ah{AbAf}}}l}{{{h{{In{c}}}}}{{h{{Df{{Df{{J`{c}}}}}}}}}{JbJd}}{{{h{{In{c}}}}{An{Ch}}}{{h{{Gn{{J`{c}}}}}}}{JbJd}}{{{h{Jh}}{h{A`Fj}}}Fl}0{{{h{Jj}}{h{A`Fj}}}Fl}0{{{h{Jn}}{h{A`Fj}}}{{Ah{AbKd}}}}{{{h{Jn}}{h{A`Fj}}}Fl}{{{h{{Kf{c}}}}{h{A`Fj}}}Fl{FbKh}}{{{h{K`}}{h{A`Fj}}}Fl}{{{h{{J`{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{h{{In{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{h{{Jl{c}}}}{h{A`Fj}}}Fl{Fbl}}{cc{}}0000000{{{h{{In{c}}}}Gf}{{b{c}}}l}{{}B`}0000000{{{h{{In{c}}}}}{{h{{Df{{Df{{Jl{c}}}}}}}}}{JbJd}}{{{h{A`{In{c}}}}B`}{{h{A`{Gn{{Jl{c}}}}}}}l}{ce{}{}}0000000{{K`Ad}K`}`{{{h{A`{In{c}}}}{Dh{Bd}}}Abl}{{{h{A`{In{c}}}}g}Abl{{Bf{Bd}}}{{n{}{{d{e}}}}}}{{{h{Jn}}}Bd}{{{h{{In{c}}}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{{K`Ed{h{e}}{h{{Kl{gKj}}}}}{{Ah{AbKn}}}l{{Dj{c}}}L`}{{Ed{h{e}}{Df{{Df{c}}}}}{{Ah{{In{c}}Af}}}{JbJd}{{Dj{c}}}}{{{h{{In{c}}}}}{{h{{Df{{Df{Ad}}}}}}}{JbJd}}77{{{h{A`e}}{h{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Dj{c}}}}{{{h{c}}}e{}{}}000{{{h{c}}}Bd{}}00{c{{Ah{e}}}{}{}}000000000000000{{{h{c}}}Hd{}}0000000{{{h{{In{c}}}}}{{h{{Lb{B`}}}}}{JbJd}}{{{h{{Jl{c}}}}}cl}{{{h{{In{c}}}}}{{Ah{Ab{Df{Jj}}}}}{JbJd}}{{{h{{In{c}}}}ee}{{Ah{Ab{Df{Jj}}}}}{JbJd}{Dn{Jf{}{{G`{B`}}}}}}{{K`{Lb{B`}}}K`}0{ce{}{}}0000000````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{A`c}}}{{h{A`e}}}{}{}}00{B`{{h{c}}}{}}00{B`{{h{A`c}}}{}}00{B`Ab}00{{{h{{Ld{ce}}}}{h{A`Fj}}}Fl{FbLf}{FbDj}}{{{h{{Lh{c}}}}{h{A`Fj}}}Fl{FbLf}}{{{h{{Lj{c}}}}{h{A`Fj}}}Fl{FbLf}}{cc{}}00{{}B`}00:::{{{h{{Ld{ce}}}}}{{Lh{c}}}LfDj}{{Ed{h{c}}}{{Ld{ec}}}DjLf}{{{h{{Ld{ce}}}}B`}{{Lj{c}}}LfDj}{c{{Ah{e}}}{}{}}00000{{{h{c}}}Hd{}}00???```````````>>>>>>>======={{{h{Ll}}}Ll}{{{h{Ln}}}Ln}{{{h{M`}}}M`}{{{h{Mb}}}Mb}{{{h{c}}{h{A`e}}}Ab{}{}}000{{{h{Ll}}{h{Ll}}}Ih}`{B`{{h{c}}}{}}000000{B`{{h{A`c}}}{}}000000{c{{Ah{M`}}}Md}{c{{Ah{Mf}}}Md}{B`Ab}000000{{{h{Mh}}{h{Mh}}}Ad}{{{h{Ll}}{h{Ll}}}Ad}`{{{h{Mh}}{h{A`Fj}}}Fl}{{{h{Mj}}{h{A`Fj}}}Fl}{{{h{Ll}}{h{A`Fj}}}Fl}{{{h{Ln}}{h{A`Fj}}}Fl}{{{h{M`}}{h{A`Fj}}}Fl}{{{h{Mb}}{h{A`Fj}}}Fl}{{{h{Mf}}{h{A`Fj}}}Fl}{cc{}}000000{{Ed{h{e}}{Df{{Df{c}}}}}Mj{JdlJb}{{Dj{c}}}}{{Ed{h{e}}{Df{{Df{c}}}}Mh}Mf{JdlJb}{{Dj{c}}}}{{{h{Ml}}}{{Ah{Llc}}}{}}`{{}B`}000000`{ce{}{}}000000{{{h{Mj}}Mh}Mf}``````{{{h{Ll}}{h{Ll}}}{{Dh{Ih}}}}````{{{h{M`}}c}AhMn}{{{h{Mf}}c}AhMn}```{{{h{c}}}e{}{}}000{c{{Ah{e}}}{}{}}0000000000000{{{h{c}}}Hd{}}0000007777777`````{{{h{c}}}{{h{e}}}{}{}}0000{{{h{A`c}}}{{h{A`e}}}{}{}}0000{{{h{N`}}}N`}{{{h{Nb}}}Nb}{{{h{Nd}}}Nd}{{{h{Nf}}}Nf}{{{h{Nh}}}Nh}{{{h{c}}{h{A`e}}}Ab{}{}}0000{{{h{N`}}{h{N`}}}Ih}{{{h{Nb}}{h{Nb}}}Ih}`{B`{{h{c}}}{}}0000{B`{{h{A`c}}}{}}0000{B`Ab}0000{{{h{N`}}{h{N`}}}Ad}{{{h{Nb}}{h{Nb}}}Ad}{{{h{Nd}}{h{Nd}}}Ad}{{{h{Nf}}{h{Nf}}}Ad}{{{h{Nh}}{h{Nh}}}Ad}{{{h{N`}}{h{A`Fj}}}{{Ah{AbKd}}}}0{{{h{Nb}}{h{A`Fj}}}Fl}0{{{h{Nd}}{h{A`Fj}}}Fl}0{{{h{Nf}}{h{A`Fj}}}Fl}0{{{h{Nh}}{h{A`Fj}}}Fl}0{{{An{Gj}}}N`}{cc{}}{{{Ej{N`Nj}}}Nb}{{{Ej{cN`Nj}}}Nb{{Nl{Ml}}}}2{NnNb}{{{Ej{B`c}}}Nd{{Nl{Ml}}}}44{{{Ej{NdB`c}}}Nf{{Nl{Ml}}}}{{{Ej{B`{h{Ml}}{Dd{N`Bd}}}}}Nh}{{{Ej{B`Bd}}}Nh}7{{{Ej{B`{h{Ml}}}}}Nh}{{{Ej{B`Bd{Dd{N`Bd}}}}}Nh}{{{h{N`}}{h{A`c}}}AbIl}`{{}B`}0000{ce{}{}}0000{{GjB`}N`}{{{h{N`}}{h{N`}}}{{Dh{Ih}}}}{{{h{Nb}}{h{Nb}}}{{Dh{Ih}}}}{{{h{c}}}e{}{}}0000{{{h{c}}}Bd{}}0000{c{{Ah{e}}}{}{}}000000000{{{h{c}}}Hd{}}000077777```````````{{{h{{j{c}}}}{j{c}}}{{j{c}}}l}{{{j{c}}{j{c}}}{{j{c}}}l}{{{h{{j{c}}}}{h{{j{c}}}}}{{j{c}}}l}{{{h{{j{c}}}}c}{{j{c}}}l}{{{j{c}}{h{{j{c}}}}}{{j{c}}}l}{{{j{c}}c}{{j{c}}}l}{{{h{A`{j{c}}}}{j{c}}}Abl}{{{h{A`{j{c}}}}{h{{j{c}}}}}Abl}{{{h{c}}}{{h{e}}}{}{}}{{{h{A`c}}}{{h{A`e}}}{}{}}{{{h{{j{c}}}}}{{j{c}}}Dn}{{{h{c}}{h{A`e}}}Ab{}{}}{{{h{{j{c}}}}}{{j{c}}}l}{{{h{{j{c}}}}}{{Dh{c}}}l}{B`{{h{c}}}{}}{B`{{h{A`c}}}{}}3{B`Ab}{{{h{{j{c}}}}{h{{j{c}}}}}Adl}{{{j{c}}}cl}{{{h{{j{c}}}}{h{A`Fj}}}FlFb}7{c{{j{c}}}l}{{{Ej{cc}}}{{j{c}}}l}{cc{}}{{{h{c}}}{{j{c}}}l}{{}B`}{ce{}{}}={{{h{{j{c}}}}}Adl}{{{j{c}}c}{{j{c}}}l}{{{h{{j{c}}}}c}{{j{c}}}l}{{{j{c}}{h{{j{c}}}}}{{j{c}}}l}{{{j{c}}{j{c}}}{{j{c}}}l}{{{h{A`{j{c}}}}{j{c}}}Abl}{{{h{A`{j{c}}}}{h{{j{c}}}}}Abl}{{{h{{j{c}}}}}el{}}{{{j{c}}}el{}}{{{h{{j{c}}}}}cl}{{{h{{j{c}}}}}{{j{c}}}l}978{{{h{{j{c}}}}{h{{j{c}}}}}{{j{c}}}l}{{{h{{j{c}}}}{j{c}}}{{j{c}}}l}876{{{h{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{h{c}}}Hd{}}{ce{}{}}``````````{{{h{A`Cd}}e{An{Gj}}}Ab{{Bf{Bd}}}{{n{}{{d{c}}}}}}{{{h{A`Cd}}e{An{Al}}B`k}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{d{c}}}}}l{{Bf{{j{g}}}}}{{n{}{{d{{b{i}}}}}}}}{{{h{A`Cd}}e{An{Ch}}B`k}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{d{c}}}}}l{{Bf{{j{g}}}}}{{n{}{{d{{b{i}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}00{{{h{A`c}}}{{h{A`e}}}{}{}}00{{{h{Al}}}Al}{{{h{Ch}}}Ch}{{{h{Bl}}}Bl}{{{h{c}}{h{A`e}}}Ab{}{}}00`{{{h{A`{Eh{c}}}}}el{}}{{{h{A`{Eh{c}}}}e}gl{}{}}`{{{h{A`Cd}}{An{Gj}}B`{An{Gj}}B`}{{Ah{AbAf}}}}{B`{{h{c}}}{}}00{B`{{h{A`c}}}{}}00{B`Ab}00{{{h{A`Cd}}e{h{Fh}}B`}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{d{c}}}}}}{{{h{A`Cd}}e}Ab{{Bf{Bd}}}{{n{}{{d{c}}}}}}{{{h{Al}}{h{Al}}}Ad}{{{h{Ch}}{h{Ch}}}Ad}{{{h{Bl}}{h{Bl}}}Ad}{{{h{A`Cd}}}Ab}`{{{h{A`Cd}}{An{Ch}}B`{b{{j{c}}}}}{{Ah{AbAf}}}l}{{{h{Al}}{h{A`Fj}}}Fl}{{{h{Ch}}{h{A`Fj}}}Fl}{{{h{Bl}}{h{A`Fj}}}Fl}{cc{}}00{{{h{Cd}}Gf}{{b{c}}}l}{{{h{Al}}{h{A`c}}}AbIl}{{{h{Ch}}{h{A`c}}}AbIl}{{{h{Bl}}{h{A`c}}}AbIl}{{}B`}00{ce{}{}}00{{{h{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}}}gDnKhOd}{{{h{A`Cd}}{Dh{Bd}}}Ab}{{{h{A`Cd}}e}Ab{{Bf{Bd}}}{{n{}{{d{c}}}}}}{{{h{Of}}B`Oh}{{Oj{c}}}l}{{{h{Al}}B`Oh}{{Oj{c}}}l}{{{h{Ch}}B`Oh}{{Oj{c}}}l}{{{h{Bl}}B`Oh}{{Oj{c}}}l}{{{h{Cd}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{{{h{A`e}}{h{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Dj{c}}}}{{{h{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}}ck}{{Ah{AbAf}}}DnKhOdl{{Cl{i}}}}{{{h{c}}}e{}{}}00{c{{Ah{e}}}{}{}}00000{{{h{c}}}Hd{}}00==={{{h{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}}}{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}DnKhOd}``````{{{h{A`{Eh{c}}}}}{{An{Al}}}l}{{{h{A`{Eh{c}}}}e}{{An{Al}}}lOl}{{{h{{Eh{c}}}}}{{Df{Db}}}l}{{{h{{Eh{c}}}}}{{h{{Df{{Ej{{An{Al}}Oh}}}}}}}l}{{{h{A`{Eh{c}}}}ei}Abl{{Bf{{An{Gj}}}}}{{Bf{Bd}}}{{Bh{}{{d{g}}}}}}0{{{h{A`{Eh{c}}}}C`g}Abl{{Bf{Bd}}}{{Bh{}{{d{e}}}}}}{{{h{{Eh{c}}}}}B`l}{{{h{c}}}{{h{e}}}{}{}}00000{{{h{A`c}}}{{h{A`e}}}{}{}}000006{{{h{A`{Eh{c}}}}e}GflOl}{{{h{Nn}}}Nn}{{{h{{On{c}}}}}{{On{c}}}{Dnl}}{{{h{{Eh{c}}}}}{{Eh{c}}}{Dnl}}{{{h{c}}{h{A`e}}}Ab{}{}}00`{{{h{A`{Eh{c}}}}}Fhl}{{{Eh{c}}{Df{{Df{Ad}}}}}{{Ej{{Eh{c}}{Df{{Df{c}}}}}}}l}{{{h{{Eh{c}}}}}{{h{{Df{{An{Ch}}}}}}}l}{{{h{{On{c}}}}B`}{{h{Ml}}}l}{{{h{A`{Eh{c}}}}ek}Abl{{Nl{Ml}}}{{Bf{{A@`{c}}}}}{{Gb{}{{G`{g}}}}}{{n{{h{A`{A@b{c}}}}}{{d{i}}}}}}{{}{{Eh{c}}}l}={B`{{h{c}}}{}}00000{B`{{h{A`c}}}{}}000006{B`Ab}00000{{{h{A`{Eh{c}}}}{An{Ch}}}Abl}{{{h{A`{Eh{c}}}}e}Abl{{Bf{{An{Gj}}}}}}{{{h{A`{Eh{c}}}}}{{An{Ch}}}l}{{{h{{Eh{c}}}}}{{h{{Df{{Ej{{An{Ch}}Oh}}}}}}}l}{{{h{Nn}}{h{A`Fj}}}Fl}{{{h{{A@`{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{h{{A@d{ceg}}}}{h{A`Fj}}}Fl{Fbl}{Fb{Bf{{A@`{c}}}}}{Fb{Gb{}{{G`{e}}}}}}{{{h{{On{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{h{{Eh{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{h{{A@b{c}}}}{h{A`Fj}}}Fl{Fbl}}{{{Ej{cOh}}}Nn{{Bf{{An{Gj}}}}}}{cc{}}0{{{Ej{c{Oj{e}}}}}{{A@`{e}}}{{Nl{Ml}}}l}{{{Oj{c}}}{{A@`{c}}}l}2222{{{h{{Eh{c}}}}}{{h{{Df{{On{c}}}}}}}l}{{{h{{Eh{c}}}}}{{h{{Dd{N`Bd}}}}}l}{{{h{{Eh{c}}}}{An{Gj}}Oh}B`l}{{}B`}00000{{{h{A`{Eh{c}}}}}{{An{Bl}}}l}{{{h{{Eh{c}}}}}{{h{{Df{{Ej{{An{Bl}}Oh}}}}}}}l}{ce{}{}}00000{{{A@d{ceg}}}il{{Bf{{A@`{c}}}}}{{Gb{}{{G`{e}}}}}{}}{{{h{A`{Eh{c}}}}eg}B`l{{Nl{Ml}}}{{n{{h{A`{A@b{c}}}}}{{d{{Df{{Ej{{Oj{c}}C`}}}}}}}}}}{{{h{A`{Eh{c}}}}eg}B`l{{Nl{Ml}}}{{n{{h{A`{A@b{c}}}}}{{d{{Df{{Ej{{Oj{c}}{Oj{c}}}}}}}}}}}}{{{h{A`{Eh{c}}}}}C`l}{{{h{{Eh{c}}}}}{{h{{Df{{A@f{c}}}}}}}l}{{{h{{Eh{c}}}}}B`l}{{{h{{On{c}}}}}{{h{Ml}}}l}11111{{{h{{Eh{c}}}}}{{h{A@h}}}l}{{{h{{Eh{c}}}}}{{`{{Jf{}{{G`{A@j}}}}}}}l}{{{h{{On{c}}}}}{{h{{Gn{{Oj{c}}}}}}}l}{{{h{{On{c}}}}}{{h{{Gn{Nn}}}}}l}{{{h{{On{c}}}}}{{h{{Gn{Fh}}}}}l}{{{h{A`{A@b{c}}}}{An{Al}}Oh}{{Oj{c}}}l}{{{h{A`{A@b{c}}}}eOh}{{Oj{c}}}l{{Bf{{An{Gj}}}}}}{{{h{A`{A@b{c}}}}Gf}{{Oj{c}}}l}{{{h{A`{A@b{c}}}}{An{Ch}}Oh}{{Oj{c}}}l}{{{h{A`{A@b{c}}}}{An{Bl}}Oh}{{Oj{c}}}l}{{{h{A`{A@b{c}}}}Fh}{{Oj{c}}}l}`{{{h{A`{Eh{c}}}}}Fhl}{{{h{A`{Eh{c}}}}B`}Abl}{{{h{A`{Eh{c}}}}eg}B`l{{Nl{Ml}}}{{n{{h{A`{A@b{c}}}}}{{d{{Df{{Ej{{Oj{c}}{Oj{c}}}}}}}}}}}}{{{h{{Eh{c}}}}}{{h{{Df{{A@l{c}}}}}}}l}{{{h{c}}}e{}{}}00{c{{Ah{e}}}{}{}}00000000000{{{h{c}}}Hd{}}00000{{{h{A`{Eh{c}}}}}{{An{Al}}}l}{{{h{A`{Eh{c}}}}e}{{An{Al}}}lOl}{ce{}{}}00000{{{Oj{c}}g}{{A@d{ceg}}}l{{Bf{{A@`{c}}}}}{{Gb{}{{G`{e}}}}}}``````````````````````{{{Oj{c}}{Oj{c}}}{{Oj{c}}}l}{{{h{c}}}{{h{e}}}{}{}}0000000000{{{h{A`c}}}{{h{A`e}}}{}{}}0000000000{{{h{{An{c}}}}}{{An{c}}}{DnOf}}{{{h{Fh}}}Fh}{{{h{A@n}}}A@n}{{{h{AA`}}}AA`}{{{h{AAb}}}AAb}{{{h{C`}}}C`}{{{h{Gf}}}Gf}{{{h{{Oj{c}}}}}{{Oj{c}}}Dn}{{{h{c}}{h{A`e}}}Ab{}{}}0000000{{{h{{An{c}}}}{h{{An{c}}}}}IhOf}{{{h{C`}}{h{C`}}}Ih}{{{h{A@n}}}B`}{{{h{AA`}}}B`}{{{h{AAb}}}B`}```{{{h{{An{c}}}}}{{h{c}}}Of}`{{{h{{Oj{c}}}}}B`l}{{{h{{An{c}}}}}{{Oj{e}}}Ofl}1{B`{{h{c}}}{}}0000000000{B`{{h{A`c}}}{}}0000000000{B`Ab}0000000000{{{h{Fh}}{h{A`{Aj{c}}}}B`}{{Ah{AbAf}}}l}{{{h{{An{c}}}}{h{{An{c}}}}}Ad{KbOf}}{{{h{Fh}}{h{Fh}}}Ad}{{{h{A@n}}{h{A@n}}}Ad}{{{h{AA`}}{h{AA`}}}Ad}{{{h{AAb}}{h{AAb}}}Ad}{{{h{C`}}{h{C`}}}Ad}{{{h{Gf}}{h{Gf}}}Ad}{{{h{{Oj{c}}}}{h{{Oj{c}}}}}AdKb}{{{h{{Oj{c}}}}{h{g}}{h{i}}{h{k}}{h{m}}{h{o}}{h{Aa}}{h{Ac}}{h{Ae}}{h{Ag}}{h{Ai}}}el{}{{Bh{c}{{d{e}}}}}{{Bh{Fh}{{d{e}}}}}{{Bh{A@n}{{d{e}}}}}{{Bh{AA`}{{d{e}}}}}{{Bh{AAb}{{d{e}}}}}{{Bh{Gf}{{d{e}}}}}{{Bh{e}{{d{e}}}}}{{Bh{ee}{{d{e}}}}}{{Bh{ee}{{d{e}}}}}{{Bh{ec}{{d{e}}}}}}{{{h{{Oj{c}}}}{h{g}}{h{i}}{h{k}}{h{m}}{h{o}}{h{Aa}}{h{Ac}}{h{Ae}}{h{Ag}}{h{Ai}}{h{e}}}elKb{{Bh{c}{{d{e}}}}}{{Bh{Fh}{{d{e}}}}}{{Bh{A@n}{{d{e}}}}}{{Bh{AA`}{{d{e}}}}}{{Bh{AAb}{{d{e}}}}}{{Bh{Gf}{{d{e}}}}}{{Bh{e}{{d{e}}}}}{{Bh{ee}{{d{e}}}}}{{Bh{ee}{{d{e}}}}}{{Bh{ec}{{d{e}}}}}}{{{h{Fh}}}{{Oj{c}}}l}{{{h{Gf}}}{{Oj{c}}}l}{{{h{{An{c}}}}{h{A`Fj}}}Fl{FbOf}}{{{h{AAd}}{h{A`Fj}}}Fl}{{{h{AAf}}{h{A`Fj}}}Fl}{{{h{AAh}}{h{A`Fj}}}Fl}{{{h{Fh}}{h{A`Fj}}}Fl}{{{h{A@n}}{h{A`Fj}}}Fl}{{{h{AA`}}{h{A`Fj}}}Fl}{{{h{AAb}}{h{A`Fj}}}Fl}{{{h{C`}}{h{A`Fj}}}Fl}{{{h{Gf}}{h{A`Fj}}}Fl}{{{h{{Oj{c}}}}{h{A`Fj}}}FlFb}{{{An{Al}}}{{An{Gj}}}}{{{An{Bl}}}{{An{Gj}}}}{cc{}}{{{An{Ch}}}{{An{Gj}}}}{N`{{An{Gj}}}}22222222{AAjGf}33{{{h{{An{c}}}}{h{A`e}}}Ab{AAlOf}Il}{{{h{Fh}}{h{A`c}}}AbIl}{{{h{C`}}{h{A`c}}}AbIl}{{{h{Gf}}{h{A`c}}}AbIl}{{{h{{Oj{c}}}}}Bdl}{{{h{{An{c}}}}}B`Of}{{{h{Fh}}}B`}{{{h{Gf}}}B`}`````{{}B`}0000000000{{{h{C`}}}{{An{Ch}}}}{ce{}{}}0000000000{{{h{Fh}}}Ad}{{{Oj{c}}c}{{Oj{c}}}l}{{{Oj{c}}{Oj{c}}}{{Oj{c}}}l}{{{Oj{c}}}el{}}{{B`c}{{An{c}}}Of}{{{h{{An{c}}}}}{{Oj{e}}}Ofl}{{{h{{An{c}}}}{h{{An{c}}}}}{{Dh{Ih}}}Of}{{{h{C`}}{h{C`}}}{{Dh{Ih}}}}{{{h{Gf}}}Db}3{e{{Oj{c}}}l{{Jf{}{{G`{{Oj{c}}}}}}}}{{{h{{An{c}}}}Oh}{{Oj{e}}}Ofl}{{{h{A`{Oj{c}}}}{h{A`{A@b{c}}}}}Abl}{{{h{{An{c}}}}Nj}{{Oj{e}}}Ofl}{{{h{A@n}}}Oh}{{{h{AA`}}}Oh}{{{h{AAb}}}Oh}````{{{Oj{c}}}{{Oj{c}}}l}>7{{{h{c}}}e{}{}}0000000{AAdA@j}{AAfA@j}{AAhA@j}{{{An{Gj}}}{{Ah{{An{Ch}}c}}}{}}{{{An{Gj}}}{{Ah{{An{Al}}c}}}{}}{{{An{Gj}}}{{Ah{{An{Bl}}c}}}{}}{c{{Ah{e}}}{}{}}000000000000000000000{{{h{c}}}Hd{}}0000000000{ce{}{}}0000000000``{{{h{c}}}{{h{e}}}{}{}}{{{h{A`c}}}{{h{A`e}}}{}{}}{{{h{A@j}}}A@j}{{{h{c}}{h{A`e}}}Ab{}{}}{{{h{A@j}}{h{A@j}}}Ih}{B`{{h{c}}}{}}{B`{{h{A`c}}}{}}{B`Ab}{{{h{A@j}}{h{A@j}}}Ad}{{{h{A@j}}{h{A`Fj}}}Fl}{cc{}}{{{h{A@j}}{h{A`c}}}AbIl}{{}B`}={{{h{A@j}}{h{A@j}}}{{Dh{Ih}}}}{{{h{A@j}}}{{Dh{A@j}}}}{{{h{c}}}e{}{}}{AAnA@j}{A@jA@j}{c{{Ah{e}}}{}{}}0{{{h{c}}}Hd{}}{ce{}{}}``````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{A`c}}}{{h{A`e}}}{}{}}00{B`{{h{c}}}{}}00{B`{{h{A`c}}}{}}00{B`Ab}00{{{h{Af}}{h{A`Fj}}}Fl}0{{{h{AB`}}{h{A`Fj}}}Fl}0{{{h{ABb}}{h{A`Fj}}}Fl}0{cc{}}00{{}B`}00:::{EdAf}{{{h{c}}}Bd{}}00>>>>>>===<<<`````````````````````````````````;:{{{h{{A@f{c}}}}}{{A@f{c}}}{Dnl}}{{{h{c}}{h{A`e}}}Ab{}{}};:9{{{h{{A@f{c}}}}{h{A`Fj}}}Fll}65{{{h{{A@f{c}}}}}{{h{{Df{{Oj{c}}}}}}}l}{ce{}{}}{{{h{{A@f{c}}}}}{{h{Ml}}}l}{{c{Df{{Ej{{Oj{e}}{Oj{e}}}}}}}{{A@f{e}}}{{Nl{Ml}}}l}3{{{h{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{h{c}}}Hd{}}5`{{{h{c}}}{{h{e}}}{}{}}{{{h{A`c}}}{{h{A`e}}}{}{}}{{{h{A@h}}}A@h};{{}A@h}{B`{{h{c}}}{}}{B`{{h{A`c}}}{}}{B`Ab}{{{h{A@h}}{h{A`Fj}}}Fl}{cc{}}{{{h{A@h}}}{{Df{{An{Gj}}}}}}{{}B`}{ce{}{}}>==<0`;:{{{h{{A@l{c}}}}}{{A@l{c}}}{Dnl}}{{{h{c}}{h{A`e}}}Ab{}{}}987{{{h{{A@l{c}}}}{h{A`Fj}}}Fll}64{{{h{{A@l{c}}}}}{{h{{Df{{Oj{c}}}}}}}l}4{{{h{{A@l{c}}}}}{{h{Ml}}}l}{{c{Df{{Ej{{Oj{e}}{Oj{e}}}}}}}{{A@l{e}}}{{Nl{Ml}}}l}2{{{h{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{h{c}}}Hd{}}9","D":"DEf","p":[[5,"Value",3,1731],[17,"Output"],[10,"Add",1732],[1,"reference"],[6,"Assigned",979],[10,"Field",1733],[10,"FnOnce",1734],[0,"mut"],[1,"unit"],[1,"bool"],[6,"Error",1570],[6,"Result",1735],[5,"Region",3],[5,"Advice",1036],[5,"Column",1280],[1,"usize"],[5,"AssignedCell",3],[5,"String",1736],[10,"Into",1737],[10,"Fn",1734],[10,"FnMut",1734],[5,"Instance",1036],[10,"TableLayouter",381,1738],[5,"TableColumn",1280],[5,"SimpleTableLayouter",3,1738],[10,"Assignment",1036],[5,"Table",3],[5,"Fixed",1036],[17,"Root"],[10,"Layouter",3],[5,"NamespacedLayouter",3],[5,"WitnessCalculator",3],[1,"u8"],[5,"HashMap",1739],[5,"Vec",1740],[6,"Option",1741],[10,"Circuit",1036],[5,"Cell",3],[10,"Clone",1742],[5,"RegionIndex",3],[5,"RegionStart",3],[1,"u32"],[5,"CompiledCircuit",1743],[5,"ConstraintSystem",1125],[1,"tuple"],[17,"Config"],[17,"Loaded"],[10,"Chip",3],[10,"Debug",1744],[10,"Copy",1745],[10,"Borrow",1746],[5,"Selector",1280],[5,"Formatter",1744],[8,"Result",1744],[10,"RegionLayouter",381],[17,"Item"],[10,"IntoIterator",1747],[10,"FromIterator",1747],[5,"Challenge",1280],[10,"Mul",1732],[6,"Any",1743],[10,"Neg",1732],[1,"slice"],[10,"Sub",1732],[1,"array"],[5,"TypeId",1748],[5,"SingleChipLayouter",279],[10,"SyncDeps",381],[5,"SimpleFloorPlanner",279],[5,"V1Pass",316],[5,"V1",316],[5,"MeasurementPass",316],[5,"AssignmentPass",316],[5,"RegionShape",381],[6,"RegionColumn",381],[6,"Ordering",1749],[5,"HashSet",1750],[10,"Hasher",1751],[5,"MockProver",449],[6,"CellValue",449],[10,"FromUniformBytes",1733],[10,"Ord",1749],[10,"Iterator",1752],[6,"FailureLocation",449,1753],[6,"VerifyFailure",449,1753],[6,"InstanceValue",449],[5,"CircuitGates",449,1754],[5,"CircuitLayout",449,1755],[10,"PartialEq",1749],[5,"Error",1744],[5,"TracingFloorPlanner",449,1756],[10,"FloorPlanner",1036],[5,"Shift",1757],[5,"DrawingArea",1758],[6,"DrawingAreaErrorKind",1758],[10,"DrawingBackend",1759],[5,"Range",1760],[5,"CircuitCost",666],[10,"PrimeGroup",1761],[5,"MarginalProofSize",666],[5,"ProofSize",666],[5,"Poly",711],[5,"Lookup",711],[5,"Permutation",711],[5,"Shuffle",711],[10,"Deserializer",1762],[5,"ModelCircuit",711],[6,"CommitmentScheme",711],[5,"CostOptions",711],[1,"str"],[10,"Serializer",1763],[5,"Column",854],[5,"VirtualCell",854],[5,"Gate",854],[5,"Constraint",854],[5,"Region",854],[1,"i32"],[10,"AsRef",1737],[5,"VirtualCell",1125],[17,"FloorPlanner"],[17,"Params"],[10,"Default",1764],[10,"ColumnType",1036],[5,"Rotation",1765],[6,"Expression",1280],[10,"Phase",1280],[5,"Gate",1125],[5,"Constraint",1125],[5,"VirtualCells",1125],[5,"Constraints",1125],[5,"Argument",1670],[5,"Argument",1691],[5,"Phase",1545],[5,"Argument",1710],[5,"FixedQuery",1280],[5,"AdviceQuery",1280],[5,"InstanceQuery",1280],[5,"FirstPhase",1280],[5,"SecondPhase",1280],[5,"ThirdPhase",1280],[5,"ChallengeMid",1743],[10,"Hash",1751],[10,"SealedPhase",1545],[6,"TableError",1570],[6,"AssignError",1570],[15,"InRegion",641],[15,"OutsideRegion",641],[15,"ConstraintNotSatisfied",644],[15,"CellNotAssigned",644],[15,"InstanceCellNotAssigned",644],[15,"Permutation",644],[15,"ConstraintPoisoned",644],[15,"Lookup",644],[15,"Shuffle",644],[15,"AssignAdvice",1638],[15,"AssignFixed",1638],[15,"QueryInstance",1638],[15,"FillFromRow",1638],[15,"EnableSelector",1638],[15,"WitnessMissing",1638],[15,"Copy",1638],[15,"NotEnoughRowsAvailable",1669]],"r":[[14,279],[15,1738],[17,1738],[18,1731],[275,316],[276,316],[387,1738],[453,666],[454,1754],[455,1755],[458,1753],[469,1756],[471,1753],[496,1766]],"b":[[20,"impl-Add-for-Value%3CV%3E"],[21,"impl-Add%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[22,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[23,"impl-Add%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[24,"impl-Add%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[25,"impl-Add%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[26,"impl-Add%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[27,"impl-Add%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[28,"impl-Add%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[29,"impl-Add-for-%26Value%3CV%3E"],[78,"impl-Value%3C%26mut+V%3E"],[79,"impl-Value%3C%26V%3E"],[87,"impl-Value%3C%26mut+V%3E"],[88,"impl-Value%3C%26V%3E"],[190,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[191,"impl-Mul%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[192,"impl-Mul%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[193,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[194,"impl-Mul-for-Value%3CV%3E"],[195,"impl-Mul%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[196,"impl-Mul%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[197,"impl-Mul%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[198,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[199,"impl-Mul-for-%26Value%3CV%3E"],[212,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[213,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[214,"impl-Sub%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[215,"impl-Sub-for-Value%3CV%3E"],[216,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[217,"impl-Sub%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[218,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[219,"impl-Sub-for-%26Value%3CV%3E"],[220,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[221,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[424,"impl-From%3CColumn%3CAny%3E%3E-for-RegionColumn"],[425,"impl-From%3CSelector%3E-for-RegionColumn"],[546,"impl-Display-for-FailureLocation"],[547,"impl-Debug-for-FailureLocation"],[548,"impl-Display-for-VerifyFailure"],[549,"impl-Debug-for-VerifyFailure"],[550,"impl-Display-for-CircuitGates"],[551,"impl-Debug-for-CircuitGates"],[902,"impl-Display-for-ColumnMid"],[903,"impl-Debug-for-ColumnMid"],[904,"impl-Debug-for-VirtualCell"],[905,"impl-Display-for-VirtualCell"],[906,"impl-Debug-for-Gate"],[907,"impl-Display-for-Gate"],[908,"impl-Display-for-Constraint"],[909,"impl-Debug-for-Constraint"],[910,"impl-Display-for-Region"],[911,"impl-Debug-for-Region"],[914,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[915,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[917,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[922,"impl-From%3C(usize,+%26str,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[923,"impl-From%3C(usize,+String)%3E-for-Region"],[925,"impl-From%3C(usize,+%26str)%3E-for-Region"],[926,"impl-From%3C(usize,+String,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[983,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[984,"impl-Add-for-Assigned%3CF%3E"],[985,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[986,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[987,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[988,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[989,"impl-AddAssign-for-Assigned%3CF%3E"],[990,"impl-AddAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1004,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1005,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1006,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1008,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1013,"impl-Mul%3CF%3E-for-Assigned%3CF%3E"],[1014,"impl-Mul%3CF%3E-for-%26Assigned%3CF%3E"],[1015,"impl-Mul%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1016,"impl-Mul-for-Assigned%3CF%3E"],[1017,"impl-MulAssign-for-Assigned%3CF%3E"],[1018,"impl-MulAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1019,"impl-Neg-for-%26Assigned%3CF%3E"],[1020,"impl-Neg-for-Assigned%3CF%3E"],[1023,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1024,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1025,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1026,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1027,"impl-Sub%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1028,"impl-Sub-for-Assigned%3CF%3E"],[1029,"impl-SubAssign-for-Assigned%3CF%3E"],[1030,"impl-SubAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1199,"impl-From%3C(S,+Expression%3CF%3E)%3E-for-Constraint%3CF%3E"],[1200,"impl-From%3CExpression%3CF%3E%3E-for-Constraint%3CF%3E"],[1411,"impl-From%3CColumn%3CAdvice%3E%3E-for-Column%3CAny%3E"],[1412,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1414,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1415,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1464,"impl-Mul%3CF%3E-for-Expression%3CF%3E"],[1465,"impl-Mul-for-Expression%3CF%3E"],[1498,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1499,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1500,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1607,"impl-Debug-for-Error"],[1608,"impl-Display-for-Error"],[1609,"impl-Debug-for-TableError"],[1610,"impl-Display-for-TableError"],[1611,"impl-Debug-for-AssignError"],[1612,"impl-Display-for-AssignError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJgEkAAAAAAAAwAAAA8AAAAVAAkAKAAAACwAAAAuABQARQAJAFcAAABcAAAAXgAVAHUACgCBAAAAhgAJAJEAAACVAAAAlwAAAJoAAACcAAAAoQAAAKMACgC/AAkAywAAAM8AAADRAAAA1QAJAOAABADnAB0ACQEJABQBAwAaAQ4AKwEDADIBCgBBARoAYAEFAGoBEwCGAQAAiAEAAIoBAACNAQkAmQEAAJsBBgCjAQMAqQEEAK8BAACzAQAAtQEAALgBCQDGAQAA3AEAAN8BEQDyAQcA+wEAAP8BGAAZAgcAIwIKADYCCABLAgEATgIAAFQCHwB6AgcAngIRALMCAgC8AgsA0wIWAOsCGAAFAwYAFQMAABcDBgAtAwAAMgMBADcDHwBcAxUAcwMeAJMDAQCWAwEAmgMCAJ4DAgCiAwQArAMlANMDAADYAwsA5gMBAOkDAQDsAwMA8QMBAPYDBwAABAwAGgQMACkEAAArBAgANgQCADoEAAA8BAIAQwQFAFAEAgBWBA4AdAQLAIIEBgCOBAAAkAQLAJ0EBQCnBAYAsAQBALgEBgDHBAAA1gQBAN4EAADjBBQA+gQFABcFKABHBQAASwUgAG0FBwB5BQwAhwUBAJEFAACUBQMAnAUAAKAFCwC5BQMAvgUBAMIFAADMBQAAzgU7AAwGCQAXBgEAGgYJACYGAAAqBgEALQYAADIGAAA4BhUAUQYCAFgGLQCIBgcAkQYAAJcGBACdBggAqAYAAKoGBACwBgcAuQYAAL8GBAA="}],\ -["halo2_middleware",{"t":"CCEECCCCCCPGFPFFFPFIPFIPPFPPFPPGONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNOONOONNOOOONNNOONONOONOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNPGPPPPKNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNMFINNNNNNNNNNOONOOOONNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNFFNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNFINNNNNNNNNNOONOOOONNNNNCCFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRKMMMMMM","n":["circuit","expression","ff","halo2curves","lookup","multicore","permutation","poly","shuffle","zal","Advice","Any","Cell","Challenge","ChallengeMid","ColumnMid","CompiledCircuit","Constant","ConstraintSystemMid","ExpressionMid","Fixed","Gate","GateMid","Instance","Negated","Preprocessing","Product","Query","QueryMid","Sum","Var","VarMid","advice_column_phase","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","challenge_phase","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","cmp","cmp","cmp","column","column_index","column_type","column_type","complexity","cs","degree","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","gates","general_column_annotations","hash","hash","hash","index","index","index","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","lookups","minimum_degree","name","name","name","new","new","num_advice_columns","num_challenges","num_fixed_columns","num_instance_columns","partial_cmp","partial_cmp","partial_cmp","permutation","permutation","phase","phase","phases","poly","poly","polynomial","preprocessing","rotation","row","shuffles","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","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_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","unblinded_advice_columns","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_identifier","Constant","Expression","Negated","Product","Sum","Var","Variable","add","borrow","borrow_mut","clone","clone_into","complexity","complexity","degree","degree","deref","deref_mut","drop","eq","evaluate","fmt","from","identifier","init","into","mul","mul","neg","product","sub","sum","to_owned","try_from","try_into","type_id","vzip","write_identifier","Argument","ArgumentMid","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","input_expressions","into","name","name","table_expressions","table_expressions","to_owned","try_from","try_into","type_id","vzip","IndexedParallelIterator","IntoParallelIterator","IntoParallelRefIterator","IntoParallelRefMutIterator","Item","Item","Item","Item","Iter","Iter","Iter","ParallelIterator","ParallelSliceMut","Scope","TryFoldAndReduce","all","any","as_parallel_slice_mut","borrow","borrow_mut","by_exponential_blocks","by_uniform_blocks","chain","chunks","cloned","cmp","collect","collect_into_vec","collect_vec_list","copied","count","current_num_threads","deref","deref_mut","drive","drive_unindexed","drop","enumerate","eq","filter","filter_map","find_any","find_first","find_last","find_map_any","find_map_first","find_map_last","flat_map","flat_map_iter","flatten","flatten_iter","fmt","fold","fold_chunks","fold_chunks_with","fold_with","for_each","for_each_init","for_each_with","from","ge","gt","init","inspect","interleave","interleave_shortest","intersperse","into","into_par_iter","join","le","len","lt","map","map_init","map_with","max","max_by","max_by_key","min","min_by","min_by_key","ne","opt_len","panic_fuse","par_chunk_by_mut","par_chunks_exact_mut","par_chunks_mut","par_iter","par_iter_mut","par_rchunks_exact_mut","par_rchunks_mut","par_sort","par_sort_by","par_sort_by_cached_key","par_sort_by_key","par_sort_unstable","par_sort_unstable_by","par_sort_unstable_by_key","par_split_inclusive_mut","par_split_mut","partial_cmp","partition","partition_map","position_any","position_first","position_last","positions","product","reduce","reduce_with","rev","scope","skip","skip_any","skip_any_while","spawn","spawn_broadcast","step_by","sum","take","take_any","take_any_while","try_fold","try_fold_and_reduce","try_fold_with","try_for_each","try_for_each_init","try_for_each_with","try_from","try_into","try_reduce","try_reduce_with","type_id","unzip","unzip_into_vecs","update","vzip","while_some","with_max_len","with_min_len","with_producer","zip","zip_eq","ArgumentMid","AssemblyMid","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","columns","copies","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Rotation","borrow","borrow_mut","clone","clone_into","cmp","cur","deref","deref_mut","drop","eq","fmt","from","hash","init","into","next","partial_cmp","prev","to_owned","try_from","try_into","type_id","vzip","Argument","ArgumentMid","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","input_expressions","into","name","name","shuffle_expressions","shuffle_expressions","to_owned","try_from","try_into","type_id","vzip","impls","traits","H2cEngine","H2cMsmBaseDesc","H2cMsmCoeffsDesc","HasCurve","HasMsmEngine","NoCurve","NoMsmEngine","PlonkEngine","PlonkEngineConfig","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","build","build_default","default","default","default","default","default","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","fmt","from","from","from","from","from","from","from","from","from","get_base_descriptor","get_coeffs_descriptor","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","msm","msm_backend","msm_with_cached_base","msm_with_cached_inputs","msm_with_cached_scalars","new","new","set_curve","set_msm","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","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","BaseDescriptor","CoeffsDescriptor","MsmAccel","get_base_descriptor","get_coeffs_descriptor","msm","msm_with_cached_base","msm_with_cached_inputs","msm_with_cached_scalars"],"q":[[0,"halo2_middleware"],[10,"halo2_middleware::circuit"],[251,"halo2_middleware::expression"],[289,"halo2_middleware::lookup"],[313,"halo2_middleware::multicore"],[457,"halo2_middleware::permutation"],[493,"halo2_middleware::poly"],[517,"halo2_middleware::shuffle"],[541,"halo2_middleware::zal"],[543,"halo2_middleware::zal::impls"],[679,"halo2_middleware::zal::traits"],[688,"core::clone"],[689,"ff"],[690,"core::cmp"],[691,"core::fmt"],[692,"core::hash"],[693,"core::option"],[694,"alloc::string"],[695,"core::result"],[696,"core::any"],[697,"std::io::error"],[698,"std::io"],[699,"core::ops::function"],[700,"core::iter::traits::iterator"],[701,"rayon::iter"],[702,"core::marker"],[703,"rayon::slice"],[704,"rayon::iter::blocks"],[705,"rayon::iter::chain"],[706,"rayon::iter::chunks"],[707,"rayon::iter::cloned"],[708,"alloc::vec"],[709,"alloc::collections::linked_list"],[710,"rayon::iter::copied"],[711,"rayon::iter::plumbing"],[712,"rayon::iter::enumerate"],[713,"rayon::iter::filter"],[714,"rayon::iter::filter_map"],[715,"rayon::iter::flat_map"],[716,"rayon::iter::flat_map_iter"],[717,"core::iter::traits::collect"],[718,"rayon::iter::flatten"],[719,"rayon::iter::flatten_iter"],[720,"rayon_core::scope"],[721,"rayon::iter::fold"],[722,"rayon::iter::fold_chunks"],[723,"rayon::iter::fold_chunks_with"],[724,"rayon::iter::inspect"],[725,"rayon::iter::interleave"],[726,"rayon::iter::interleave_shortest"],[727,"rayon::iter::intersperse"],[728,"rayon::iter::map"],[729,"rayon::iter::map_with"],[730,"rayon::iter::panic_fuse"],[731,"rayon::slice::chunk_by"],[732,"rayon::slice::chunks"],[733,"rayon::slice::rchunks"],[734,"core::default"],[735,"either"],[736,"rayon::iter::positions"],[737,"core::iter::traits::accum"],[738,"rayon::iter::rev"],[739,"rayon::iter::skip"],[740,"rayon::iter::skip_any"],[741,"rayon::iter::skip_any_while"],[742,"rayon_core::broadcast"],[743,"rayon::iter::step_by"],[744,"rayon::iter::take"],[745,"rayon::iter::take_any"],[746,"rayon::iter::take_any_while"],[747,"rayon::iter::try_fold"],[748,"rayon::iter::private"],[749,"rayon::iter::update"],[750,"rayon::iter::while_some"],[751,"rayon::iter::len"],[752,"rayon::iter::zip"],[753,"rayon::iter::zip_eq"],[754,"pasta_curves::arithmetic::curves"],[755,"rayon_core"],[756,"rayon_core::join"]],"i":[0,0,0,0,0,0,0,0,0,0,13,0,0,5,0,0,0,133,0,0,13,0,0,13,133,0,133,5,0,133,133,0,10,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,10,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,13,14,15,15,4,4,14,5,12,5,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,3,4,5,13,14,15,11,3,4,5,5,6,10,11,12,13,14,14,15,3,4,5,6,10,11,12,13,14,15,10,10,3,13,14,3,3,14,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,10,10,6,134,6,4,14,10,10,10,10,13,14,15,10,11,3,3,10,134,6,6,12,4,15,10,3,4,5,6,10,11,12,13,14,15,5,14,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,10,3,4,5,6,10,11,12,13,14,15,5,28,0,28,28,28,28,0,28,28,28,28,28,9,28,9,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,9,0,0,39,39,39,39,39,39,39,39,39,39,135,39,39,135,39,135,39,39,39,39,39,39,0,0,0,0,49,87,88,40,49,87,88,0,0,0,0,40,40,43,66,66,45,45,40,45,40,45,40,45,40,40,40,0,66,66,45,40,66,45,45,40,40,40,40,40,40,40,40,40,40,40,40,66,40,45,45,40,40,40,40,66,45,45,66,40,45,45,40,66,49,0,45,45,45,40,40,40,40,40,40,40,40,40,45,40,40,43,43,43,87,88,43,43,43,43,43,43,43,43,43,43,43,45,40,40,45,45,45,45,40,40,40,45,0,45,40,40,66,66,45,40,45,40,40,40,110,40,40,40,40,66,66,40,40,66,40,45,40,66,40,45,45,45,45,45,0,0,119,120,119,120,119,120,119,120,120,119,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,121,121,121,121,121,121,121,121,121,121,136,121,121,136,121,136,121,121,121,121,121,121,0,0,0,0,0,0,0,0,0,0,0,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,124,124,128,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,125,137,138,123,128,125,124,129,122,130,128,128,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,128,125,128,128,128,128,124,124,124,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,127,127,0,127,127,127,127,127,127],"f":"`````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}000000000{{{b{dc}}}{{b{de}}}{}{}}000000000`{{{b{f}}}f}{{{b{h}}}h}{{{b{j}}}j}{{{b{{l{ce}}}}}{{l{ce}}}{nA`}{nAb}}{{{b{{Ad{c}}}}}{{Ad{c}}}{nA`}}{{{b{{Af{c}}}}}{{Af{c}}}{nA`}}{{{b{{Ah{c}}}}}{{Ah{c}}}{nA`}}{{{b{Aj}}}Aj}{{{b{Al}}}Al}{{{b{An}}}An}{{{b{c}}{b{de}}}B`{}{}}000000000{{{b{Aj}}{b{Aj}}}Bb}{{{b{Al}}{b{Al}}}Bb}{{{b{An}}{b{An}}}Bb}````{{{b{j}}}Bd}`0{Bd{{b{c}}}{}}000000000{Bd{{b{dc}}}{}}000000000{BdB`}000000000{{{b{f}}{b{f}}}Bf}{{{b{h}}{b{h}}}Bf}{{{b{j}}{b{j}}}Bf}{{{b{Aj}}{b{Aj}}}Bf}{{{b{Al}}{b{Al}}}Bf}{{{b{An}}{b{An}}}Bf}`{{{b{f}}{b{dBh}}}Bj}{{{b{h}}{b{dBh}}}Bj}{{{b{j}}{b{dBh}}}Bj}0{{{b{{l{ce}}}}{b{dBh}}}Bj{BlA`}{BlAb}}{{{b{{Ad{c}}}}{b{dBh}}}Bj{BlA`}}{{{b{{Af{c}}}}{b{dBh}}}Bj{BlA`}}{{{b{{Ah{c}}}}{b{dBh}}}Bj{BlA`}}{{{b{Aj}}{b{dBh}}}Bj}{{{b{Al}}{b{dBh}}}Bj}0{{{b{An}}{b{dBh}}}Bj}{cc{}}000000000``{{{b{f}}{b{dc}}}B`Bn}{{{b{Aj}}{b{dc}}}B`Bn}{{{b{Al}}{b{dc}}}B`Bn}{{{b{f}}}Bd}``{{}Bd}000000000{ce{}{}}000000000``{{{b{{l{ce}}}}}{{b{C`}}}A`Ab}``{{AjBdCb}h}{{AjBd}Al}````{{{b{Aj}}{b{Aj}}}{{Cd{Bb}}}}{{{b{Al}}{b{Al}}}{{Cd{Bb}}}}{{{b{An}}{b{An}}}{{Cd{Bb}}}}``{{{b{f}}}Cf}`{{{b{{Ad{c}}}}}BdA`}``{{{b{{l{ce}}}}}{{b{{Ch{ce}}}}}A`Ab}````{{{b{c}}}e{}{}}000000000{{{b{c}}}Cj{}}0{c{{Cl{e}}}{}{}}0000000000000000000{{{b{c}}}Cn{}}000000000`=========={{{b{j}}{b{dc}}}{{D`{B`}}}Db}```````{{{Ch{ce}}{Ch{ce}}}{{Ch{ce}}}A`Ab}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{Ch{ce}}}}}{{Ch{ce}}}n{nAb}}{{{b{c}}{b{de}}}B`{}{}}{{{b{Ab}}}Bd}{{{b{{Ch{ce}}}}}BdA`Ab}10{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{BdB`}{{{b{{Ch{ce}}}}{b{{Ch{ce}}}}}BfDd{DdAb}}{{{b{{Ch{ce}}}}{b{i}}{b{k}}{b{m}}{b{o}}{b{Aa}}}gA`Ab{}{{Dh{c}{{Df{g}}}}}{{Dh{e}{{Df{g}}}}}{{Dh{g}{{Df{g}}}}}{{Dh{gg}{{Df{g}}}}}{{Dh{gg}{{Df{g}}}}}}{{{b{{Ch{ce}}}}{b{dBh}}}BjBl{BlAb}}{cc{}}{{{b{{Ch{ce}}}}}CjA`Ab}{{}Bd}{ce{}{}}{{{Ch{ce}}{Ch{ce}}}{{Ch{ce}}}A`Ab}{{{Ch{ce}}c}{{Ch{ce}}}A`Ab}{{{Ch{ce}}}gA`Ab{}}{g{{Ch{ce}}}A`Ab{{Dl{}{{Dj{{Ch{ce}}}}}}}}30{{{b{c}}}e{}{}}{c{{Cl{e}}}{}{}}0{{{b{c}}}Cn{}}7{{{b{Ab}}{b{dc}}}{{D`{B`}}}Db}``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{Dn{ce}}}}}{{Dn{ce}}}{nA`}{nAb}}{{{b{c}}{b{de}}}B`{}{}}{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{BdB`}{{{b{{Dn{ce}}}}{b{dBh}}}Bj{BlA`}{BlAb}}{cc{}}{{}Bd}``{ce{}{}}````>==<0```````````````{{{E`{}{{Dj{c}}}}e}BfEb{{Dh{c}{{Df{Bf}}}}EdEb}}0{{{b{dEf}}}{{b{d{Eh{c}}}}}Eb}<;{Ej{{El{Ej}}}}{{EjBd}{{En{Ej}}}}{{{E`{}{{Dj{c}}}}e}{{F`{{E`{}{{Dj{c}}}}}}}Eb{{Fb{}{{Dj{c}}}}}}{{EjBd}{{Fd{Ej}}}}{{{E`{}{{Dj{c}}}}}{{Ff{{E`{}{{Dj{c}}}}}}}Eb}{{Eje}Bb{}{{Fb{}{{Dj{c}}}}}}{{{E`{}{{Dj{c}}}}}eEb{{Fh{c}}}}{{Ej{b{d{Fj{c}}}}}B`{}}{{{E`{}{{Dj{c}}}}}{{Fl{{Fj{c}}}}}Eb}{{{E`{}{{Dj{c}}}}}{{Fn{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}}BdEb}>{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{{Eje}{}{}{{G`{c}}}}{{{E`{}{{Dj{c}}}}e}{}Eb{{Gb{c}}}}{BdB`}{Ej{{Gd{Ej}}}}{{Ejc}BfFb}{{{E`{}{{Dj{c}}}}e}{{Gf{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}{{Gh{{E`{}{{Dj{c}}}}g}}}EbEb{{Dh{c}{{Df{{Cd{e}}}}}}EdEb}}{{{E`{}{{Dj{c}}}}e}{{Cd{c}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}00{{{E`{}{{Dj{c}}}}g}{{Cd{e}}}EbEb{{Dh{c}{{Df{{Cd{e}}}}}}EdEb}}00{{{E`{}{{Dj{c}}}}g}{{Gj{{E`{}{{Dj{c}}}}g}}}EbFb{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}{{Gl{{E`{}{{Dj{c}}}}g}}}EbGn{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}}{{H`{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}}{{Hb{{E`{}{{Dj{c}}}}}}}Eb}{{{b{Hd}}{b{dBh}}}{{Cl{B`Hf}}}}{{{E`{}{{Dj{c}}}}gi}{{Hh{{E`{}{{Dj{c}}}}gi}}}EbEb{{Dh{}{{Df{e}}}}EdEb}{{Dh{ec}{{Df{e}}}}EdEb}}{{EjBdei}{{Hj{Ejei}}}Eb{{Dh{}{{Df{c}}}}EbEd}{}{{Dh{cg}{{Df{c}}}}EbEd}}{{EjBdcg}{{Hl{Ejcg}}}{Ebn}{}{{Dh{ce}{{Df{c}}}}EbEd}}{{{E`{}{{Dj{c}}}}eg}{{Hn{{E`{}{{Dj{c}}}}eg}}}Eb{Ebn}{{Dh{ec}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}e}B`Eb{{Dh{c}}EdEb}}{{{E`{}{{Dj{c}}}}gi}B`Eb{}{{Dh{}{{Df{e}}}}EdEb}{{Dh{{b{de}}c}}EdEb}}{{{E`{}{{Dj{c}}}}eg}B`Eb{Ebn}{{Dh{{b{de}}c}}EdEb}}{cc{}}{{Ejc}BfFb}0{{}Bd}{{{E`{}{{Dj{c}}}}e}{{I`{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}}EdEb}}{{Eje}{{Ib{Ej}}}{}{{Fb{}{{Dj{c}}}}}}{{Eje}{{Id{Ej}}}{}{{Fb{}{{Dj{c}}}}}}{{{E`{}{{Dj{c}}}}c}{{If{{E`{}{{Dj{c}}}}}}}Eb}{ce{}{}}{{{Fb{}{{Ih{c}}{Dj{e}}}}}c{{E`{}{{Dj{e}}}}}Eb}{{ei}{{Ij{cg}}}Eb{{Il{}{{Df{c}}}}Eb}Eb{{Il{}{{Df{g}}}}Eb}}8{{{b{Ej}}}Bd}9{{{E`{}{{Dj{c}}}}g}{{In{{E`{}{{Dj{c}}}}g}}}EbEb{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}gk}{{J`{{E`{}{{Dj{c}}}}gk}}}Eb{}{{Dh{}{{Df{e}}}}EdEb}Eb{{Dh{{b{de}}c}{{Df{i}}}}EdEb}}{{{E`{}{{Dj{c}}}}ei}{{Jb{{E`{}{{Dj{c}}}}ei}}}Eb{Ebn}Eb{{Dh{{b{de}}c}{{Df{g}}}}EdEb}}{{{E`{}{{Dj{c}}}}}{{Cd{c}}}Eb}{{{E`{}{{Dj{c}}}}e}{{Cd{c}}}Eb{EdEb{Dh{{b{c}}{b{c}}}{{Df{Bb}}}}}}{{{E`{}{{Dj{c}}}}g}{{Cd{c}}}Eb{JdEb}{EdEb{Dh{{b{c}}}{{Df{e}}}}}}210?{{{b{{E`{}{{Dj{c}}}}}}}{{Cd{Bd}}}Eb}{{{E`{}{{Dj{c}}}}}{{Jf{{E`{}{{Dj{c}}}}}}}Eb}{{{b{dEf}}e}{{Jh{ce}}}Eb{{Dh{{b{c}}{b{c}}}{{Df{Bf}}}}EbEd}}{{{b{dEf}}Bd}{{Jj{c}}}Eb}{{{b{dEf}}Bd}{{Jl{c}}}Eb}{{{b{{Jn{}{{Ih{c}}{Dj{e}}}}}}}c{{E`{}{{Dj{e}}}}}Eb}{{{b{d{K`{}{{Ih{c}}{Dj{e}}}}}}}c{{E`{}{{Dj{e}}}}}Eb}{{{b{dEf}}Bd}{{Kb{c}}}Eb}{{{b{dEf}}Bd}{{Kd{c}}}Eb}{{{b{dEf}}}B`}{{{b{dEf}}e}B`Eb{{Dh{{b{c}}{b{c}}}{{Df{Bb}}}}Ed}}{{{b{dEf}}g}B`Eb{JdEb}{{Dh{{b{c}}}{{Df{e}}}}Ed}}{{{b{dEf}}g}B`EbJd{{Dh{{b{c}}}{{Df{e}}}}Ed}}320{{{b{dEf}}e}{{Kf{ce}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{b{dEf}}e}{{Kh{ce}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{Ejc}{{Cd{Bb}}}Fb}{{{E`{}{{Dj{c}}}}e}{{Ij{gi}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}{KjEb{Kl{c}}}{KjEb{Kl{c}}}}{{{E`{}{{Dj{c}}}}i}{{Ij{km}}}EbEbEb{{Dh{c}{{Df{{Kn{eg}}}}}}EdEb}{KjEb{Kl{e}}}{KjEb{Kl{g}}}}{{Eje}{{Cd{Bd}}}{}{{Dh{c}{{Df{Bf}}}}EdEb}}00{{Eje}{{L`{Eje}}}{}{{Dh{c}{{Df{Bf}}}}EdEb}}{{{E`{}{{Dj{c}}}}}eEb{Eb{Lb{c}}Lb}}{{{E`{}{{Dj{c}}}}eg}cEb{{Dh{}{{Df{c}}}}EdEb}{{Dh{cc}{{Df{c}}}}EdEb}}{{{E`{}{{Dj{c}}}}e}{{Cd{c}}}Eb{{Dh{cc}{{Df{c}}}}EdEb}}{Ej{{Ld{Ej}}}}{ecEb{{Il{{b{Hd}}}{{Df{c}}}}Eb}}{{EjBd}{{Lf{Ej}}}}{{{E`{}{{Dj{c}}}}Bd}{{Lh{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}e}{{Lj{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{b{Hd}}c}B`{{Il{{b{Hd}}}}Eb}}{{{b{Hd}}c}B`{{Dh{{b{Hd}}Ll}}EbEd}}{{EjBd}{{Ln{Ej}}}}{{{E`{}{{Dj{c}}}}}eEb{Eb{M`{c}}M`}}{{EjBd}{{Mb{Ej}}}}{{{E`{}{{Dj{c}}}}Bd}{{Md{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}e}{{Mf{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{E`{}{{Dj{c}}}}gk}{{Mh{{E`{}{{Dj{c}}}}igk}}}Eb{}{{Dh{}{{Df{e}}}}EdEb}{{Mj{}{{Df{e}}}}Eb}{{Dh{ec}{{Df{i}}}}EdEb}}{{Mlei}{{Cl{cg}}}{}{{Dh{}{{Df{c}}}}EbEd}{}{{Dh{c{Cl{cg}}}{{Df{{Cl{cg}}}}}}EbEd}}{{{E`{}{{Dj{c}}}}ei}{{Mn{{E`{}{{Dj{c}}}}gi}}}Eb{nEb}{{Mj{}{{Df{e}}}}Eb}{{Dh{ec}{{Df{g}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}eEb{{Mj{}{{Df{B`}}}}Eb}{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}gk}iEb{}{{Dh{}{{Df{e}}}}EdEb}{{Mj{}{{Df{B`}}}}Eb}{{Dh{{b{de}}c}{{Df{i}}}}EdEb}}{{{E`{}{{Dj{c}}}}ei}gEb{Ebn}{{Mj{}{{Df{B`}}}}Eb}{{Dh{{b{de}}c}{{Df{g}}}}EdEb}}{c{{Cl{e}}}{}{}}0{{{E`{}{{Dj{c}}}}gi}cEb{}{{Dh{}{{Df{e}}}}EdEb}{{Dh{ee}{{Df{c}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}{{Cd{c}}}Eb{}{{Dh{ee}{{Df{c}}}}EdEb}}{{{b{c}}}Cn{}}{{{E`{}{{Dj{c}}}}}{{Ij{gk}}}EbEb{KjEb{Kl{e}}}Eb{KjEb{Kl{i}}}}{{Ej{b{d{Fj{c}}}}{b{d{Fj{e}}}}}B`EbEb}{{{E`{}{{Dj{c}}}}e}{{N`{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{dc}}}}EdEb}}{ce{}{}}{{{E`{}{{Dj{c}}}}}{{Nb{{E`{}{{Dj{c}}}}}}}Eb}{{EjBd}{{Nd{Ej}}}}{{EjBd}{{Nf{Ej}}}}{{Eje}{}{}{{Nh{c}}}}{{Ejc}{{Nj{Ej}}}Fb}{{Ejc}{{Nl{Ej}}}Fb}``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Nn}}}Nn}{{{b{O`}}}O`}{{{b{c}}{b{de}}}B`{}{}}0``{Bd{{b{c}}}{}}0{Bd{{b{dc}}}{}}0{BdB`}0{{{b{Nn}}{b{dBh}}}Bj}{{{b{O`}}{b{dBh}}}Bj}{cc{}}0{{}Bd}0{ce{}{}}0{{{b{c}}}e{}{}}0{c{{Cl{e}}}{}{}}000{{{b{c}}}Cn{}}033`?>{{{b{Cb}}}Cb}<{{{b{Cb}}{b{Cb}}}Bb}{{}Cb}=<;{{{b{Cb}}{b{Cb}}}Bf}{{{b{Cb}}{b{dBh}}}Bj}:{{{b{Cb}}{b{dc}}}B`Bn}:93{{{b{Cb}}{b{Cb}}}{{Cd{Bb}}}}49887:``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{Ob{ce}}}}}{{Ob{ce}}}{nA`}{nAb}}{{{b{c}}{b{de}}}B`{}{}}{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{BdB`}{{{b{{Ob{ce}}}}{b{dBh}}}Bj{BlA`}{BlAb}}{cc{}}{{}Bd}``{ce{}{}}````{{{b{c}}}e{}{}}{c{{Cl{e}}}{}{}}0{{{b{c}}}Cn{}}3```````````=========<<<<<<<<<{{{Oh{{Od{c}}{Of{ce}}}}}{{Oj{ce}}}Ol{{On{c}}}}{{}{{Oj{cA@`}}}Ol}{{}A@`}{{}{{Oh{ce}}}KjKj}{{}A@b}{{}{{Od{c}}}{KjOl}}{{}A@d}{Bd{{b{c}}}{}}00000000{Bd{{b{dc}}}{}}00000000{BdB`}00000000{{{b{{Oj{ce}}}}{b{dBh}}}Bj{BlOl}{Bl{On{c}}}}{cc{}}00000000{{{b{A@`}}{b{{Eh{c}}}}}eOl{}}{{{b{A@`}}{b{Eh}}}c{}}{{}Bd}00000000{ce{}{}}00000000{{{b{A@`}}{b{Eh}}{b{{Eh{c}}}}}{}Ol}`{{{b{A@`}}{b{Eh}}{b{c}}}{}{}}{{{b{A@`}}{b{c}}{b{e}}}{}{}{}}{{{b{A@`}}{b{c}}{b{{Eh{e}}}}}{}{}Ol}{{}A@`}{{}{{Oh{A@bA@d}}}}{{{Oh{A@bA@d}}}{{Oh{{Od{c}}A@d}}}Ol}{{{Oh{{Od{c}}e}}g}{{Oh{{Od{c}}{Of{cg}}}}}Ol{}{{On{c}}}}{c{{Cl{e}}}{}{}}00000000000000000{{{b{c}}}Cn{}}00000000:::::::::```{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{{Eh{g}}}}}e{}{}Ol}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{Eh}}}c{}{}}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{Eh}}{b{{Eh{g}}}}}{}{}{}Ol}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{Eh}}{b{e}}}{}{}{}}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{c}}{b{e}}}{}{}{}}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{c}}{b{{Eh{g}}}}}{}{}{}Ol}","D":"AMf","p":[[1,"reference"],[0,"mut"],[5,"ChallengeMid",10],[5,"QueryMid",10],[6,"VarMid",10],[5,"Gate",10],[10,"Clone",688],[10,"Field",689],[10,"Variable",251],[5,"ConstraintSystemMid",10],[5,"Preprocessing",10],[5,"CompiledCircuit",10],[6,"Any",10],[5,"ColumnMid",10],[5,"Cell",10],[1,"unit"],[6,"Ordering",690],[1,"usize"],[1,"bool"],[5,"Formatter",691],[8,"Result",691],[10,"Debug",691],[10,"Hasher",692],[1,"str"],[5,"Rotation",493],[6,"Option",693],[1,"u8"],[6,"Expression",251],[5,"String",694],[6,"Result",695],[5,"TypeId",696],[8,"Result",697],[10,"Write",698],[10,"PartialEq",690],[17,"Output"],[10,"Fn",699],[17,"Item"],[10,"Iterator",700],[5,"Argument",289],[10,"ParallelIterator",313,701],[10,"Send",702],[10,"Sync",702],[10,"ParallelSliceMut",313,703],[1,"slice"],[10,"IndexedParallelIterator",313,701],[5,"ExponentialBlocks",704],[5,"UniformBlocks",704],[5,"Chain",705],[10,"IntoParallelIterator",313,701],[5,"Chunks",706],[5,"Cloned",707],[10,"FromParallelIterator",701],[5,"Vec",708],[5,"LinkedList",709],[5,"Copied",710],[10,"Consumer",711],[10,"UnindexedConsumer",711],[5,"Enumerate",712],[5,"Filter",713],[5,"FilterMap",714],[5,"FlatMap",715],[5,"FlatMapIter",716],[10,"IntoIterator",717],[5,"Flatten",718],[5,"FlattenIter",719],[5,"Scope",313,720],[5,"Error",691],[5,"Fold",721],[5,"FoldChunks",722],[5,"FoldChunksWith",723],[5,"FoldWith",721],[5,"Inspect",724],[5,"Interleave",725],[5,"InterleaveShortest",726],[5,"Intersperse",727],[17,"Iter"],[1,"tuple"],[10,"FnOnce",699],[5,"Map",728],[5,"MapInit",729],[5,"MapWith",729],[10,"Ord",690],[5,"PanicFuse",730],[5,"ChunkByMut",731],[5,"ChunksExactMut",732],[5,"ChunksMut",732],[10,"IntoParallelRefIterator",313,701],[10,"IntoParallelRefMutIterator",313,701],[5,"RChunksExactMut",733],[5,"RChunksMut",733],[5,"SplitInclusiveMut",703],[5,"SplitMut",703],[10,"Default",734],[10,"ParallelExtend",701],[6,"Either",735],[5,"Positions",736],[10,"Product",737],[5,"Rev",738],[5,"Skip",739],[5,"SkipAny",740],[5,"SkipAnyWhile",741],[5,"BroadcastContext",742],[5,"StepBy",743],[10,"Sum",737],[5,"Take",744],[5,"TakeAny",745],[5,"TakeAnyWhile",746],[5,"TryFold",747],[10,"Try",748],[10,"TryFoldAndReduce",313],[5,"TryFoldWith",747],[5,"Update",749],[5,"WhileSome",750],[5,"MaxLen",751],[5,"MinLen",751],[10,"ProducerCallback",711],[5,"Zip",752],[5,"ZipEq",753],[5,"AssemblyMid",457],[5,"ArgumentMid",457],[5,"Argument",517],[5,"HasCurve",543],[5,"HasMsmEngine",543],[5,"PlonkEngineConfig",543],[5,"PlonkEngine",543],[10,"CurveAffine",754],[10,"MsmAccel",679],[5,"H2cEngine",543],[5,"NoCurve",543],[5,"NoMsmEngine",543],[17,"CoeffsDescriptor"],[17,"BaseDescriptor"],[8,"ExpressionMid",10],[8,"GateMid",10],[8,"ArgumentMid",289],[8,"ArgumentMid",517],[5,"H2cMsmCoeffsDesc",543],[5,"H2cMsmBaseDesc",543]],"r":[[313,701],[314,701],[315,701],[316,701],[324,701],[325,703],[326,720],[344,755],[382,756],[425,720]],"b":[[123,"impl-Debug-for-VarMid"],[124,"impl-Display-for-VarMid"],[130,"impl-Debug-for-ColumnMid"],[131,"impl-Display-for-ColumnMid"],[277,"impl-Mul-for-Expression%3CF,+V%3E"],[278,"impl-Mul%3CF%3E-for-Expression%3CF,+V%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMUBMQAAAAkAFAAAABcAAAAdAAAAIAAAACIAEwA3ABcAUgAzAJAABACWAAAAmAAJAKwAAQCvAAwAvQAAAL8AAQDCAAAAxAArAPEACgACAQUADAEDABEBAAAUAQAAFgEKACMBCAAtAQIAMQEIAEgBAABMAQEAWgEBAF4BAABtAQAAeAEAALsBAQC/AQAAwwEAAMsBCADVAQgA4AEBAOQBCQDvAQQA9QEEAPsBAQD/AQAAAQIEAAcCCAARAgIAFQJIAGcCCgB7AjUA"}],\ -["halo2_proofs",{"t":"PPPGCNNCNNNNCNNNENNCCNCNNNNRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMFFKRKRFFFRFFFNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNCNNFFNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNCNNNNNNNNPPPGFPPGPPGPFPPPPPPGNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOGFPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPGPGKPPPFPKFPPKRPFPFFGGGGFFPPFKRPFPPPPPPPPPPPRKPFPPFFPPPFPFPPFFPNNNNNNNNNNNNONMNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNMNNMNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONMNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHNNNNOONNNNNNNNNNNNNNNNNONONONONNNNNNNONNNNHMNNMNNMNNNNNNNNMNNNNNNONNNNONNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNMNNOOFFKNNNNNNNNNNNCNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNMNNNNNMNNNNNNNNNNNNFTKRRKRRKKRKRKRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFKRKKKKKNNNNNNNNNNNNNMNNMNNNNNNNNNNNNMNNNNNNNMNMMNNNNNNNNMNMNMNMNNNNNNNNNNNNNNNNNNMNMN","n":["Processed","RawBytes","RawBytesUnchecked","SerdeFormat","arithmetic","borrow","borrow_mut","circuit","clone","clone_into","deref","deref_mut","dev","drop","fmt","from","halo2curves","init","into","plonk","poly","to_owned","transcript","try_from","try_into","type_id","vzip","AffineExt","Base","Base","CURVE_ID","CurveAffine","CurveExt","CurveExt","Field","ONE","ScalarExt","ScalarExt","ZERO","a","a","b","b","coordinates","cube","double","endo","from_xy","hash_to_curve","invert","is_on_curve","is_on_curve","is_zero","is_zero_vartime","jacobian_coordinates","new_jacobian","parallelize","pow","pow_vartime","random","sqrt","sqrt_alt","sqrt_ratio","square","AssignedCell","Cell","Chip","Config","Layouter","Loaded","NamespacedLayouter","Region","RegionIndex","Root","SimpleFloorPlanner","Table","Value","add","add","add","add","add","add","add","add","add","add","and_then","as_mut","as_ref","assert_if_known","assign","assign_advice","assign_advice_from_constant","assign_advice_from_instance","assign_cell","assign_fixed","assign_region","assign_region","assign_table","assign_table","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cell","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cloned","cloned","column","config","constrain_constant","constrain_equal","constrain_instance","constrain_instance","copied","copied","copy_advice","cube","default","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","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable_selector","error_if_known_and","evaluate","evaluate","floor_planner","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","get_challenge","get_challenge","get_root","get_root","init","init","init","init","init","init","init","init","instance_value","into","into","into","into","into","into","into","into","into_field","invert","known","loaded","map","mul","mul","mul","mul","mul","mul","mul","mul","mul","mul","name_column","namespace","neg","pop_namespace","pop_namespace","push_namespace","push_namespace","region_index","row_offset","square","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","synthesize","to_field","to_owned","to_owned","to_owned","to_owned","transpose_array","transpose_vec","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","unknown","unzip","value","value_field","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","zip","V1","V1Pass","assign_region","assign_table","borrow","borrow","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_challenge","get_root","init","init","into","into","pop_namespace","push_namespace","single_pass","synthesize","try_from","try_from","try_into","try_into","type_id","type_id","v1","vzip","vzip","SimpleFloorPlanner","SingleChipLayouter","assign_region","assign_table","borrow","borrow_mut","constrain_instance","deref","deref_mut","drop","fmt","from","get_challenge","get_root","init","into","new","pop_namespace","push_namespace","try_from","try_into","type_id","vzip","AssignmentPass","MeasurementPass","V1","V1Pass","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","strategy","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Assigned","Assigned","CellNotAssigned","CellValue","CircuitLayout","ConstraintNotSatisfied","ConstraintPoisoned","FailureLocation","InRegion","InstanceCellNotAssigned","InstanceValue","Lookup","MockProver","OutsideRegion","Padding","Permutation","Poison","Shuffle","Unassigned","VerifyFailure","advice","advice_mut","advice_values","annotate_column","assert_satisfied","assert_satisfied_at_rows","assign_advice","assign_fixed","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_dot_graph","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","copy","cost_model","cs","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","emit","enable_selector","enter_region","eq","eq","eq","eq","exit_region","fill_from_row","fixed","fixed_values","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_challenge","init","init","init","init","init","init","instance","instance_mut","into","into","into","into","into","into","mark_equality_cells","metadata","pop_namespace","push_namespace","query_instance","render","run","selectors","show_equality_constraints","show_labels","to_owned","to_owned","to_owned","to_owned","to_string","to_string","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","usable_rows","value","verify","verify_at_rows","view_height","view_width","vzip","vzip","vzip","vzip","vzip","vzip","offset","region","row","cell_values","column","column","column","constraint","constraint","gate","gate","gate_offset","gate_offset","location","location","location","location","lookup_index","name","name","offset","region","region","row","shuffle_index","CommitmentScheme","CostOptions","KZGGWC","KZGSHPLONK","Lookup","ModelCircuit","Permutation","Poly","Shuffle","advice","advice_columns","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_into","clone_into","clone_into","clone_into","cmp","column_queries","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","eq","eq","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_circuit_to_cost_model_options","from_circuit_to_model_circuit","from_str","gate_degree","init","init","init","init","init","init","init","instance","into","into","into","into","into","into","into","into_model_circuit","k","k","lookup","lookups","max_deg","max_degree","partial_cmp","permutation","permutations","point_sets","rotations","serialize","serialize","shuffle","shuffles","size","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","Column","Constraint","Gate","Region","VirtualCell","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","column_type","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","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","hash","index","init","init","init","init","init","into","into","into","into","into","new","partial_cmp","partial_cmp","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","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","vzip","vzip","vzip","vzip","vzip","Advice","Advice","Advice","Any","AssignError","Assigned","Assignment","Backend","BoundsFailure","BoundsFailure","Challenge","Challenge","Circuit","Column","ColumnNotInPermutation","ColumnNotInPermutation","ColumnType","Config","Constant","ConstraintSystem","ConstraintSystemFailure","ConstraintSystemMid","Constraints","Error","ErrorBack","ErrorFront","Expression","FirstPhase","Fixed","Fixed","Fixed","FixedQuery","FloorPlanner","FloorPlanner","Frontend","Instance","Instance","Instance","InstanceTooLarge","InvalidInstances","Negated","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","NotEnoughRowsAvailable","Opening","Other","Other","Params","Phase","Product","ProvingKey","Rational","Scaled","SecondPhase","Selector","Selector","Sum","Synthesis","TableColumn","TableError","ThirdPhase","Transcript","Trivial","VerifyingKey","VirtualCells","Zero","add","add","add","add","add","add","add","add_assign","add_assign","advice_column","advice_column_in","advice_column_phase","advice_column_phase","advice_queries","annotate_column","annotate_column","annotate_lookup_any_column","annotate_lookup_column","assign_advice","assign_fixed","blinding_factors","borrow","borrow","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge_phase","challenge_phase","challenge_usable_after","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","cmp","cmp","cmp","column_index","column_index","column_type","column_type","complex_selector","complexity","compress_selectors","configure","configure_with_params","constants","copy","create_gate","create_proof","create_proof_with_engine","cube","cur","default","degree","degree","denominator","deref","deref","deref","deref","deref","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","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","directly_convert_selectors_to_fixed","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","enable_constant","enable_equality","enable_selector","enter_region","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","evaluate","evaluate","evaluate_lazy","exit_region","expr","expr","fill_from_row","fixed_column","fixed_commitments","fixed_queries","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","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","gates","gates","general_column_annotations","general_column_annotations","get_any_query_index","get_challenge","get_domain","get_vk","hash","hash","hash","hash","hash","hash","hash","hash","hash_into","identifier","index","index","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inner","instance_column","instance_queries","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","invert","is_simple","is_zero_vartime","keygen_pk","keygen_pk_custom","keygen_vk","keygen_vk_custom","lookup","lookup_any","lookup_table_column","lookups","lookups","minimum_degree","minimum_rows","mul","mul","mul","mul","mul","mul","mul_assign","mul_assign","neg","neg","neg","new","next","not_enough_rows_available","not_enough_rows_available","num_advice_columns","num_advice_columns","num_challenges","num_challenges","num_fixed_columns","num_fixed_columns","num_instance_columns","num_instance_columns","num_selectors","numerator","params","partial_cmp","partial_cmp","partial_cmp","permutation","permutation","phase","phases","phases","pinned","pk_read","pop_namespace","prev","product","push_namespace","query_advice","query_any","query_cell","query_cell","query_cell","query_cell","query_cell","query_cell","query_cells","query_challenge","query_fixed","query_instance","query_instance","query_selector","read","read","rot","rotation","rotation","selector","set_minimum_degree","shuffle","shuffles","shuffles","source","square","square","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sum","synthesize","synthesize","to_bytes","to_bytes","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_sealed","to_sealed","to_sealed","to_string","to_string","to_string","transcript_repr","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_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","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","type_id","type_id","type_id","type_id","type_id","unblinded_advice_column","unblinded_advice_column_in","unblinded_advice_columns","verify_proof_multi","vk_read","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_selector","without_witnesses","write","write","current_k","current_k","EvaluationDomain","Rotation","VerificationStrategy","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","coeff_from_vec","coeff_to_extended","commitment","constant_extended","constant_lagrange","cur","deref","deref","deref_mut","deref_mut","divide_by_vanishing_poly","drop","drop","empty_coeff","empty_extended","empty_lagrange","eq","extended_k","extended_len","extended_to_coeff","finalize","fmt","fmt","from","from","get_extended_omega","get_omega","get_omega_inv","get_quotient_poly_degree","hash","init","init","into","into","k","kzg","l_i_range","lagrange_extended","lagrange_from_vec","lagrange_to_coeff","new","new","next","partial_cmp","pinned","prev","process","rotate_extended","rotate_omega","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Blind","COMMIT_INSTANCE","CommitmentScheme","Curve","Guard","MSM","MSM","MSMAccumulator","Params","ParamsProver","ParamsProver","ParamsVerifier","ParamsVerifier","Prover","Scalar","Verifier","add","add_assign","add_assign","add_msm","append_term","bases","borrow","borrow_mut","check","clone","clone_into","commit","commit_lagrange","create_proof","create_proof_with_engine","default","deref","deref_mut","downsize","drop","empty_msm","eq","eval","fmt","from","init","into","k","mul","mul_assign","mul_assign","n","new","new","new","new","new_params","read","read_params","scalars","scale","to_owned","try_from","try_into","type_id","verify_proof","vzip","write","commitment","msm","multiopen","strategy","KZGCommitmentScheme","ParamsKZG","ParamsVerifierKZG","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","commit","commit_lagrange","commit_lagrange","deref","deref","deref","deref_mut","deref_mut","deref_mut","downsize","downsize","drop","drop","drop","empty_msm","empty_msm","fmt","fmt","fmt","from","from","from","from_parts","init","init","init","into","into","into","k","k","n","n","new","new_params","read","read","read_custom","read_custom","read_params","setup","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verifier_params","vzip","vzip","vzip","write","write","write_custom","write_custom","DualMSM","MSMKZG","add_msm","add_msm","append_term","bases","borrow","borrow","borrow_mut","borrow_mut","check","check","clone","clone","clone_into","clone_into","combine_with_base","default","default","deref","deref","deref_mut","deref_mut","drop","drop","eval","fmt","fmt","from","from","init","init","into","into","new","new","scalars","scale","scale","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ProverGWC","ProverSHPLONK","VerifierGWC","VerifierSHPLONK","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","create_proof_with_engine","create_proof_with_engine","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","new","new","new","new","new","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verify_proof","verify_proof","vzip","vzip","vzip","vzip","AccumulatorStrategy","GuardKZG","SingleStrategy","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","finalize","finalize","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","new","new","new","new","process","process","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with","Blake2bRead","Blake2bWrite","Challenge255","EncodedChallenge","Input","Transcript","TranscriptRead","TranscriptReadBuffer","TranscriptWrite","TranscriptWriterBuffer","as_challenge_scalar","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","common_point","common_point","common_point","common_scalar","common_scalar","common_scalar","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","finalize","finalize","fmt","fmt","fmt","from","from","from","get_scalar","get_scalar","init","init","init","init","init","init","init","into","into","into","new","new","read_point","read_point","read_scalar","read_scalar","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge_scalar","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","write_point","write_point","write_scalar","write_scalar"],"q":[[0,"halo2_proofs"],[27,"halo2_proofs::arithmetic"],[64,"halo2_proofs::circuit"],[293,"halo2_proofs::circuit::floor_planner"],[331,"halo2_proofs::circuit::floor_planner::single_pass"],[354,"halo2_proofs::circuit::floor_planner::v1"],[385,"halo2_proofs::dev"],[542,"halo2_proofs::dev::FailureLocation"],[545,"halo2_proofs::dev::VerifyFailure"],[567,"halo2_proofs::dev::cost_model"],[710,"halo2_proofs::dev::metadata"],[828,"halo2_proofs::plonk"],[1476,"halo2_proofs::plonk::ErrorBack"],[1477,"halo2_proofs::plonk::ErrorFront"],[1478,"halo2_proofs::poly"],[1549,"halo2_proofs::poly::commitment"],[1613,"halo2_proofs::poly::kzg"],[1617,"halo2_proofs::poly::kzg::commitment"],[1690,"halo2_proofs::poly::kzg::msm"],[1739,"halo2_proofs::poly::kzg::multiopen"],[1804,"halo2_proofs::poly::kzg::strategy"],[1864,"halo2_proofs::transcript"],[1952,"halo2_backend::helpers"],[1953,"core::fmt"],[1954,"core::result"],[1955,"core::any"],[1956,"pasta_curves::arithmetic::curves"],[1957,"subtle"],[1958,"ff"],[1959,"core::cmp"],[1960,"core::ops::arith"],[1961,"core::ops::function"],[1962,"alloc::boxed"],[1963,"core::marker"],[1964,"core::clone"],[1965,"core::convert"],[1966,"rand_core"],[1967,"halo2_frontend::plonk::assigned"],[1968,"halo2_frontend::circuit::value"],[1969,"halo2_frontend::circuit"],[1970,"halo2_frontend::plonk::circuit"],[1971,"halo2_frontend::plonk::circuit::expression"],[1972,"alloc::string"],[1973,"core::borrow"],[1974,"halo2_frontend::circuit::floor_planner::single_pass"],[1975,"halo2_frontend::circuit::layouter"],[1976,"halo2_frontend::circuit::table_layouter"],[1977,"core::iter::traits::collect"],[1978,"halo2_middleware::circuit"],[1979,"core::option"],[1980,"alloc::vec"],[1981,"halo2_frontend::circuit::floor_planner::v1"],[1982,"halo2_frontend::dev"],[1983,"core::iter::traits::iterator"],[1984,"halo2_frontend::dev::failure"],[1985,"halo2_frontend::plonk::circuit::constraint_system"],[1986,"halo2_frontend::dev::graph::layout"],[1987,"plotters::coord"],[1988,"plotters::drawing::area"],[1989,"plotters_backend"],[1990,"core::ops::range"],[1991,"halo2_frontend::dev::cost_model"],[1992,"serde::de"],[1993,"serde::ser"],[1994,"halo2_frontend::dev::metadata"],[1995,"std::collections::hash::map"],[1996,"core::hash"],[1997,"halo2_middleware::poly"],[1998,"halo2_backend::plonk"],[1999,"halo2_proofs::plonk::error"],[2000,"halo2_backend::transcript"],[2001,"halo2_middleware::zal::impls"],[2002,"halo2_middleware::zal::traits"],[2003,"std::io::error"],[2004,"halo2_backend::plonk::circuit"],[2005,"halo2_backend::poly::domain"],[2006,"halo2_backend::poly::commitment"],[2007,"halo2_frontend::plonk::lookup"],[2008,"core::default"],[2009,"halo2_frontend::plonk::permutation"],[2010,"halo2_frontend::plonk::circuit::expression::sealed"],[2011,"std::io"],[2012,"halo2_frontend::plonk::shuffle"],[2013,"core::error"],[2014,"halo2_backend::poly"],[2015,"halo2_backend::poly::strategy"],[2016,"halo2_backend::poly::query"],[2017,"halo2_backend::poly::kzg::commitment"],[2018,"pairing"],[2019,"halo2_backend::poly::kzg::msm"],[2020,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[2021,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[2022,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[2023,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[2024,"halo2_backend::poly::kzg::strategy"],[2025,"halo2_backend::arithmetic"],[2026,"halo2_frontend::circuit::floor_planner"],[2027,"halo2_frontend::dev::graph"],[2028,"halo2_proofs::plonk::prover"],[2029,"halo2_proofs::plonk::keygen"],[2030,"halo2_backend::plonk::verifier"],[2031,"halo2_backend::poly::kzg"]],"i":[3,3,3,0,0,3,3,0,3,3,3,3,0,3,3,3,0,3,3,0,0,3,0,3,3,3,3,19,19,13,19,0,0,13,0,20,19,13,20,19,13,19,13,13,20,20,19,13,19,20,19,13,20,20,19,19,0,20,20,20,20,20,20,20,0,0,0,59,0,59,0,0,0,53,0,0,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,41,41,41,49,41,53,54,53,54,64,37,56,55,44,41,49,54,64,37,56,55,44,41,49,54,44,37,56,55,44,37,56,55,44,37,37,55,59,41,41,53,54,37,37,44,37,37,64,37,56,56,55,44,41,49,54,64,37,56,55,44,41,49,54,37,64,37,56,55,44,41,49,54,54,41,37,37,44,0,64,37,56,55,44,41,49,54,64,37,37,56,56,55,44,41,41,49,49,54,37,53,54,53,54,64,37,56,55,44,41,49,54,41,64,37,56,55,44,41,49,54,37,37,37,59,37,37,37,37,37,37,37,37,37,37,37,41,53,37,53,54,53,54,55,55,37,37,37,37,37,37,37,37,37,37,37,64,37,37,56,55,44,37,37,64,37,56,55,44,41,49,54,64,37,56,55,44,41,49,54,64,37,56,55,44,41,49,54,37,37,44,44,64,37,56,55,44,41,49,54,37,0,0,80,80,81,80,81,80,80,81,80,81,80,81,80,81,80,81,80,80,80,81,80,81,80,80,80,0,81,81,80,81,80,81,80,0,81,80,0,0,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,83,84,83,84,83,84,83,84,83,84,83,84,83,84,83,84,83,84,0,83,84,83,84,83,84,83,84,86,91,90,0,0,90,90,0,89,90,0,90,0,89,91,90,86,90,86,0,85,85,85,85,85,85,85,85,89,90,93,86,85,91,89,90,93,86,85,91,0,89,90,86,91,89,90,86,91,85,0,85,93,89,90,93,86,85,91,89,90,93,86,85,91,89,90,93,86,85,91,90,85,85,89,90,86,91,85,85,85,85,89,89,90,90,93,86,85,91,89,90,93,86,85,91,85,89,90,93,86,85,91,85,85,89,90,93,86,85,91,93,0,85,85,85,93,85,85,93,93,89,90,86,91,89,90,89,90,93,86,85,91,89,90,93,86,85,91,89,90,93,86,85,91,85,91,85,85,93,93,89,90,93,86,85,91,208,208,209,210,211,212,213,210,214,211,212,211,212,210,215,216,213,215,215,216,211,211,212,212,216,0,0,108,108,0,0,0,0,0,109,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,101,102,103,104,101,102,103,104,101,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,103,107,108,109,101,102,103,104,107,108,101,109,108,109,101,102,103,104,107,108,109,101,102,103,104,107,0,0,101,109,108,109,101,102,103,104,107,109,108,109,101,102,103,104,107,109,109,107,109,107,107,109,101,109,107,107,101,103,107,109,107,107,101,102,103,104,108,109,101,102,103,104,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,0,0,0,0,0,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,111,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,111,112,112,113,113,114,114,115,115,111,111,112,112,112,112,113,113,114,114,115,115,115,115,115,111,111,111,112,113,114,115,111,112,113,114,115,111,111,112,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,0,71,120,0,40,0,0,131,139,40,0,120,0,0,139,40,0,78,120,0,139,0,0,0,0,0,0,0,0,71,120,0,0,78,131,0,71,120,139,139,120,40,139,40,139,139,40,78,0,120,0,36,120,0,0,120,120,40,0,40,0,139,36,0,0,36,36,36,36,36,36,36,120,36,36,92,92,92,124,92,76,92,92,92,76,76,92,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,124,92,124,71,125,126,36,92,43,63,128,50,70,120,42,51,48,124,71,125,126,36,92,43,63,128,50,70,120,42,51,48,71,43,50,128,128,43,43,92,120,92,78,78,92,76,92,0,0,36,43,92,92,120,36,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,36,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,63,92,92,76,76,71,36,43,63,128,50,70,120,42,51,48,36,120,120,76,63,70,76,92,125,92,131,131,124,71,139,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,40,131,131,131,124,124,71,71,71,71,139,139,125,126,36,36,36,36,36,140,92,130,43,43,43,43,43,141,142,143,63,128,50,70,70,120,42,51,48,40,125,126,92,124,92,124,92,76,125,126,71,43,63,50,70,42,51,48,125,120,43,63,70,43,128,70,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,50,92,92,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,140,36,63,36,0,0,0,0,92,92,92,92,124,124,92,36,36,36,36,120,120,36,36,36,36,120,43,43,139,40,92,124,92,124,92,124,92,124,92,36,78,71,43,50,92,124,70,124,92,125,0,76,43,120,76,130,130,127,71,43,42,51,48,120,130,130,76,130,130,125,126,43,128,128,92,92,92,92,124,139,36,120,36,36,36,36,36,36,120,36,36,120,156,78,125,126,124,71,125,126,36,92,43,63,128,50,70,120,42,51,48,141,142,143,131,139,40,125,131,124,71,139,125,126,36,140,92,130,43,43,43,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,92,124,0,0,131,124,71,139,125,126,36,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,140,78,125,126,217,218,0,0,0,123,149,123,149,123,149,123,149,123,149,149,0,149,149,123,123,149,123,149,149,123,149,149,149,149,123,149,149,149,171,123,149,123,149,149,149,149,149,123,123,149,123,149,149,0,149,149,149,149,171,149,123,123,149,123,171,149,149,123,149,123,149,123,149,123,149,123,149,0,179,0,184,182,0,179,182,0,0,184,0,184,0,184,0,173,173,173,174,174,174,173,173,174,173,173,175,152,176,176,173,173,173,152,173,179,173,174,173,173,173,173,152,173,173,173,152,175,176,182,173,184,152,184,174,174,173,173,173,173,182,173,152,0,0,0,0,0,0,0,187,189,191,187,189,191,187,189,187,189,187,187,189,187,189,191,187,189,191,187,189,187,189,191,187,189,187,189,191,187,189,191,187,187,189,191,187,189,191,187,189,187,189,187,191,187,189,187,189,191,187,187,189,187,189,191,187,189,191,187,189,191,187,187,189,191,187,189,187,189,0,0,190,192,190,190,190,192,190,192,190,192,190,192,190,192,190,190,192,190,192,190,192,190,192,190,190,192,190,192,190,192,190,192,190,192,190,190,192,190,192,190,192,190,192,190,192,190,192,0,0,0,0,194,196,195,197,194,196,195,197,194,195,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,195,197,194,196,195,197,194,196,195,197,194,196,195,197,196,197,194,196,195,197,0,0,0,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,199,200,198,199,200,198,199,200,198,199,200,198,199,200,199,199,200,200,199,200,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,199,0,0,0,0,132,0,0,0,0,0,132,203,204,205,203,204,205,203,204,205,203,204,205,151,203,204,151,203,204,203,204,205,205,203,204,205,203,204,205,206,204,203,204,205,203,204,205,132,205,207,206,203,203,204,204,205,203,204,205,132,205,165,203,165,203,151,203,204,151,203,204,205,203,204,205,203,204,205,203,204,205,203,204,205,133,204,133,204],"f":"`````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{j{{b{c}}}{}}{j{{b{dc}}}{}}`{jh}{{{b{f}}{b{dl}}}{{A`{hn}}}}{cc{}}`{{}j}{ce{}{}}``{{{b{c}}}e{}{}}`{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}3````````````{{}c{}}000{{{b{{Aj{}{{Ad{c}}{Af{e}}{Ah{g}}}}}}}{{An{{Al{{Aj{}{{Ad{c}}{Af{e}}{Ah{g}}}}}}}}}{B`Bb}{B`Bb}{{Bf{}{{Bd{}}{Ad{}}}}}}{{{b{Bh}}}Bh}0{{{b{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}}}{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}B`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{c}}{Bl{c}}}}{{cc}{{An{{Aj{}{{Ad{e}}{Af{c}}{Ah{g}}}}}}}{B`Bb}{B`Bb}{{Bf{}{{Bd{}}{Ad{}}}}}}{{{b{Bn}}}{{Cb{C`}}}}{{{b{Bh}}}{{An{Bh}}}}{{{b{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}}}CdB`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{c}}{Bl{c}}}}{{{b{{Aj{}{{Ad{c}}{Af{e}}{Ah{g}}}}}}}Cd{B`Bb}{B`Bb}{{Bf{}{{Bd{}}{Ad{}}}}}}{{{b{Bh}}}Cd}{{{b{Bh}}}Cf}{{{b{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}}}{{Ch{eee}}}B`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{c}}{Bl{c}}}}{{ccc}{{An{{Bf{}{{Ad{e}}{Af{c}}{Bd{g}}}}}}}B`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{e}}{Bl{e}}}}{{{b{d{Cj{c}}}}e}hCl{{C`{{b{d{Cj{c}}}}j}}ClCnD`}}{{{b{Bh}}c}Bh{{Dd{{Cj{Db}}}}}}0{cBhDf}9{{{b{Bh}}}{{Ch{CdBh}}}}{{{b{Bh}}{b{Bh}}}{{Ch{CdBh}}}}?`````````````{{{Dj{{b{{Dh{c}}}}}}c}{}Bh}{{{b{{Dj{c}}}}{b{{Dj{c}}}}}{}{}}{{{Dj{{b{c}}}}{Dj{c}}}{}{}}{{{Dj{c}}{b{{Dj{c}}}}}{}{{Dl{b}{{Bj{}}}}}{}}{{{Dj{c}}{Dj{{b{c}}}}}{}{{Dl{b}{{Bj{}}}}}{}}{{{b{{Dj{c}}}}{Dj{c}}}{}{}}{{{Dj{e}}{Dj{e}}}{}{}{{Dl{}{{Bj{c}}}}}}{{{Dj{{Dh{c}}}}{Dj{c}}}{}Bh}{{{Dj{{Dh{c}}}}c}{}Bh}{{{Dj{{b{{Dh{c}}}}}}{Dj{c}}}{}Bh}{{{Dj{c}}g}{{Dj{e}}}{}{}{{Dn{c}{{Bj{{Dj{e}}}}}}}}{{{b{d{Dj{c}}}}}{{Dj{{b{dc}}}}}{}}{{{b{{Dj{c}}}}}{{Dj{{b{c}}}}}{}}{{{b{{Dj{c}}}}e}h{}{{Dn{{b{c}}}{{Bj{Cf}}}}}}{{{Dj{c}}}{{A`{cE`}}}{}}{{{b{d{Eb{c}}}}g{Ef{Ed}}jk}{{A`{{Eh{ic}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{}{{En{}{{Bj{{Dj{i}}}}}}}}{{{b{d{Eb{c}}}}g{Ef{Ed}}ji}{{A`{{Eh{ic}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{}}{{{b{d{Eb{c}}}}g{Ef{F`}}j{Ef{Ed}}j}{{A`{{Eh{cc}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}}{{{b{d{Fb{c}}}}gFdjk}{{A`{hE`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{{El{{Dh{c}}}}}{{En{}{{Bj{{Dj{i}}}}}}}}{{{b{d{Eb{c}}}}g{Ef{Ff}}jk}{{A`{{Eh{ic}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{}{{En{}{{Bj{{Dj{i}}}}}}}}{{{b{d{Fj{}{{Fh{c}}}}}}im}{{A`{kE`}}}{{Fj{e}}}Bh{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{e}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{Fl{ce}}}}im}{{A`{kE`}}}Bh{{Fj{c}}}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{c}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{Fj{}{{Fh{c}}}}}}ik}{{A`{hE`}}}{{Fj{e}}}Bh{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{e}}}{{Bj{{A`{hE`}}}}}}}}{{{b{d{Fl{ce}}}}ik}{{A`{hE`}}}Bh{{Fj{c}}}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{c}}}{{Bj{{A`{hE`}}}}}}}}{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{{Eh{ce}}}}}Fn{}Bh}{{{b{{Dj{c}}}}}{{Dj{c}}}D`}{{{b{G`}}}G`}{{{b{Fn}}}Fn}{{{b{{Eh{ce}}}}}{{Eh{ce}}}D`{D`Bh}}{{{b{c}}{b{de}}}h{}{}}000{{{Dj{{b{dc}}}}}{{Dj{c}}}D`}{{{Dj{{b{c}}}}}{{Dj{c}}}D`}`{{{b{{Gf{}{{Gb{c}}{Gd{e}}}}}}}{{b{c}}}{GhD`}{GhD`}}{{{b{d{Eb{c}}}}Fne}{{A`{hE`}}}Bh{{El{{Dh{c}}}}}}{{{b{d{Eb{c}}}}FnFn}{{A`{hE`}}}Bh}{{{b{d{Fj{}{{Fh{c}}}}}}Fn{Ef{F`}}j}{{A`{hE`}}}{{Fj{e}}}Bh}{{{b{d{Fl{ce}}}}Fn{Ef{F`}}j}{{A`{hE`}}}Bh{{Fj{c}}}}{{{Dj{{b{dc}}}}}{{Dj{c}}}Gj}{{{Dj{{b{c}}}}}{{Dj{c}}}Gj}{{{b{{Eh{ce}}}}i{b{d{Eb{e}}}}{Ef{Ed}}j}{{A`{{Eh{ce}}E`}}}D`Bh{{El{Ej}}}{{C`{}{{Bj{g}}}}}}{{{b{{Dj{e}}}}}{{Dj{{Dh{c}}}}}Bh{{Gl{{Dh{c}}}}}}{{}{{Dj{c}}}{}}{j{{b{c}}}{}}0{{{b{G`}}}b}111111{j{{b{dc}}}{}}00000004{jh}0000000{{{b{d{Fl{ce}}}}}hBh{{Fj{c}}}}{{{b{d{Eb{c}}}}g{b{Gn}}j}{{A`{hE`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}}{{{b{{Dj{c}}}}e}{{A`{hE`}}}{}{{Dn{{b{c}}}{{Bj{Cf}}}}}}{{{Dj{{Dh{c}}}}}{{Dj{c}}}Bh}{{{Eh{{Dh{c}}c}}}{{Eh{cc}}}Bh}`{{{b{H`}}{b{dl}}}{{A`{hn}}}}{{{b{{Dj{c}}}}{b{dl}}}{{A`{hn}}}Gh}{{{b{G`}}{b{dl}}}{{A`{hn}}}}{{{b{Fn}}{b{dl}}}{{A`{hn}}}}{{{b{{Eh{ce}}}}{b{dl}}}{{A`{hn}}}Gh{GhBh}}{{{b{{Eb{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Fb{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Fl{ce}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{Fj{c}}}}{cc{}}0{{{Dj{c}}}{{Dj{{Dh{c}}}}}Bh}1{jG`}222{{{b{dHb}}}{{Eb{c}}}Bh}3{{{b{dHd}}}{{Fb{c}}}Bh}4{e{{Dj{g}}}{}{{Hh{}{{Hf{{Dj{c}}}}}}}{{Hj{c}}}}{{{b{{Fj{}{{Fh{c}}}}}}Hl}{{Dj{e}}}{{Fj{e}}}Bh}{{{b{{Fl{ce}}}}Hl}{{Dj{c}}}Bh{{Fj{c}}}}{{{b{d{Fj{}{{Fh{c}}}}}}}{{b{dc}}}{{Fj{e}}}Bh}{{{b{d{Fl{ce}}}}}{{b{d}}}Bh{{Fj{c}}}}{{}j}0000000{{{b{d{Eb{c}}}}{Ef{F`}}j}{{A`{{Dj{c}}E`}}}Bh}{ce{}{}}0000000{{{Dj{e}}}{{Dj{{Dh{c}}}}}Bh{{El{{Dh{c}}}}}}{{{b{{Dj{e}}}}}{{Dj{{Dh{c}}}}}Bh{{Gl{{Dh{c}}}}}}{c{{Dj{c}}}{}}{{{b{{Gf{}{{Gb{c}}{Gd{e}}}}}}}{{b{e}}}{GhD`}{GhD`}}{{{Dj{c}}g}{{Dj{e}}}{}{}{{Dn{c}{{Bj{e}}}}}}{{{Dj{{b{{Dh{c}}}}}}{Dj{c}}}{}Bh}{{{Dj{{b{c}}}}{Dj{c}}}{}{}}{{{Dj{c}}{Dj{{b{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{b{{Dj{c}}}}{b{{Dj{c}}}}}{}{}}{{{b{{Dj{c}}}}{Dj{c}}}{}{}}{{{Dj{{Dh{c}}}}{Dj{c}}}{}Bh}{{{Dj{c}}{b{{Dj{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{Dj{e}}{Dj{e}}}{}{}{{Bl{}{{Bj{c}}}}}}{{{Dj{{b{{Dh{c}}}}}}c}{}Bh}{{{Dj{{Dh{c}}}}c}{}Bh}{{{b{d{Eb{c}}}}gi}hBh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{{El{{Ef{Hn}}}}}}{{{b{d{Fj{}{{Fh{c}}}}}}i}{{Fl{ec}}}{{Fj{e}}}Bh{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}{{{Dj{c}}}{}I`}{{{b{d{Fj{}{{Fh{c}}}}}}{Ib{Ej}}}h{{Fj{e}}}Bh}{{{b{d{Fl{ce}}}}{Ib{Ej}}}hBh{{Fj{c}}}}{{{b{d{Fj{}{{Fh{c}}}}}}i}h{{Fj{e}}}Bh{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}{{{b{d{Fl{ce}}}}i}hBh{{Fj{c}}}{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}``{{{b{{Dj{e}}}}}{{Dj{{Dh{c}}}}}Bh{{Gl{{Dh{c}}}}}}{{{Dj{{b{c}}}}{Dj{c}}}{}{}}:{{{Dj{c}}{b{{Dj{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}?:{{{Dj{c}}{Dj{{b{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}?{{{Dj{e}}{Dj{e}}}{}{}{{Id{}{{Bj{c}}}}}}{{{Dj{{b{{Dh{c}}}}}}{Dj{c}}}{}Bh}{{{b{{Dj{c}}}}{b{{Dj{c}}}}}{}{}}{{{b{de}}{b{g}}{If{{Ef{Ff}}}}}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{Il{c}}}}{{{b{{Dj{c}}}}}{{Dj{{Dh{e}}}}}{}Bh}{{{b{c}}}e{}{}}000{{{Dj{{In{c}}}}}{{In{{Dj{c}}}}}Gj}{{{Dj{e}}j}{{If{{Dj{c}}}}}{}{{Hh{}{{Hf{c}}}}}}{c{{A`{e}}}{}{}}000000000000000{{{b{c}}}Ab{}}0000000{{}{{Dj{c}}}{}}{{{Dj{{Ch{ce}}}}}{{Ch{{Dj{c}}{Dj{e}}}}}{}{}}{{{b{{Eh{ce}}}}}{{Dj{{b{c}}}}}{}Bh}{{{b{{Eh{ce}}}}}{{Dj{{Dh{e}}}}}{}Bh}{ce{}{}}0000000{{{Dj{c}}{Dj{e}}}{{Dj{{Ch{ce}}}}}{}{}}``{{{b{d{J`{ce}}}}im}{{A`{kE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{c}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{J`{ce}}}}ik}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{c}}}{{Bj{{A`{hE`}}}}}}}}{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{d{J`{ce}}}}Fn{Ef{F`}}j}{{A`{hE`}}}Bh{{Ih{c}}Ij}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{Jb}}{b{dl}}}{{A`{hn}}}}{{{b{{J`{ce}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{Ih{c}}}}{cc{}}0{{{b{{J`{ce}}}}Hl}{{Dj{c}}}Bh{{Ih{c}}Ij}}{{{b{d{J`{ce}}}}}{{b{d}}}Bh{{Ih{c}}Ij}}{{}j}0??{{{b{d{J`{ce}}}}{Ib{Ej}}}hBh{{Ih{c}}Ij}}{{{b{d{J`{ce}}}}i}hBh{{Ih{c}}Ij}{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}`{{{b{de}}{b{g}}{If{{Ef{Ff}}}}}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{Il{c}}}}{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0`{ce{}{}}0``{{{b{d{Jd{ce}}}}im}{{A`{kE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{c}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{Jd{ce}}}}ik}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{c}}}{{Bj{{A`{hE`}}}}}}}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{d{Jd{ce}}}}Fn{Ef{F`}}j}{{A`{hE`}}}Bh{{Ih{c}}Ij}}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{{Jd{ce}}}}{b{dl}}}{{A`{hn}}}Bh{{Ih{c}}}}{cc{}}{{{b{{Jd{ce}}}}Hl}{{Dj{c}}}Bh{{Ih{c}}Ij}}{{{b{d{Jd{ce}}}}}{{b{d}}}Bh{{Ih{c}}Ij}}{{}j}={{{b{de}}{If{{Ef{Ff}}}}}{{A`{{Jd{ce}}E`}}}Bh{{Ih{c}}}}{{{b{d{Jd{ce}}}}{Ib{Ej}}}hBh{{Ih{c}}Ij}}{{{b{d{Jd{ce}}}}i}hBh{{Ih{c}}Ij}{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}{ce{}{}}````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0??>>=={{{b{Jf}}{b{dl}}}{{A`{hn}}}}{{{b{{Jh{ce}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{Ih{c}}}}==::44`66665544````````````````````{{{b{{Jj{c}}}}}{{b{{If{{If{{Jl{c}}}}}}}}}{JnBb}}{{{b{d{Jj{c}}}}j}{{b{d{Cj{{Jl{c}}}}}}}Bh}{{{b{{Jj{c}}}}{Ef{Ed}}}{{b{{Cj{{Jl{c}}}}}}}{JnBb}}{{{b{d{Jj{c}}}}g{Ef{Hn}}}hBh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{{Jj{c}}}}}h{JnBb}}{{{b{{Jj{c}}}}ee}h{JnBb}{D`{K`{}{{Hf{j}}}}}}{{{b{d{Jj{c}}}}g{Ef{Ed}}jk}{{A`{hE`}}}Bh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}{{El{{Dh{c}}}}}{{Dn{}{{Bj{{Dj{i}}}}}}}}{{{b{d{Jj{c}}}}g{Ef{Ff}}jk}{{A`{hE`}}}Bh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}{{El{{Dh{c}}}}}{{Dn{}{{Bj{{Dj{i}}}}}}}};;;;;;::::::{{{b{e}}}EjBh{{Il{c}}}}{{{b{Kb}}}Kb}{{{b{Kd}}}Kd}{{{b{{Jl{c}}}}}{{Jl{c}}}{D`Bh}}{{{b{{Kf{c}}}}}{{Kf{c}}}{D`Bh}}{{{b{c}}{b{de}}}h{}{}}000{{{b{d{Jj{c}}}}{Ef{Hn}}j{Ef{Hn}}j}{{A`{hE`}}}Bh}`{{{b{{Jj{c}}}}}{{b{{Kh{c}}}}}{JnBb}}{{}Kj}{j{{b{c}}}{}}00000{j{{b{dc}}}{}}00000{jh}00000{{{b{Kd}}{b{{Jj{c}}}}}hBh}{{{b{d{Jj{c}}}}g{b{Gn}}j}{{A`{hE`}}}Bh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{d{Jj{c}}}}g}hBh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{Kb}}{b{Kb}}}Cf}{{{b{Kd}}{b{Kd}}}Cf}{{{b{{Jl{c}}}}{b{{Jl{c}}}}}Cf{KlBh}}{{{b{{Kf{c}}}}{b{{Kf{c}}}}}Cf{KlBh}}{{{b{d{Jj{c}}}}}hBh}{{{b{d{Jj{c}}}}{Ef{Ff}}j{Dj{{Dh{c}}}}}{{A`{hE`}}}Bh}{{{b{{Jj{c}}}}}{{b{{If{{If{{Jl{c}}}}}}}}}{JnBb}}{{{b{{Jj{c}}}}{Ef{Ff}}}{{b{{Cj{{Jl{c}}}}}}}{JnBb}}{{{b{Kb}}{b{dl}}}{{A`{hn}}}}0{{{b{Kd}}{b{dl}}}{{A`{hn}}}}0{{{b{Kj}}{b{dl}}}{{A`{hn}}}}{{{b{{Jl{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Jj{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Kf{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{cc{}}00000{{{b{{Jj{c}}}}Hl}{{Dj{c}}}Bh}{{}j}00000{{{b{{Jj{c}}}}}{{b{{If{{If{{Kf{c}}}}}}}}}{JnBb}}{{{b{d{Jj{c}}}}j}{{b{d{Cj{{Kf{c}}}}}}}Bh}{ce{}{}}00000{{KjCf}Kj}`{{{b{d{Jj{c}}}}{Ib{Ej}}}hBh}{{{b{d{Jj{c}}}}g}hBh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{{Jj{c}}}}{Ef{F`}}j}{{A`{{Dj{c}}E`}}}Bh}{{KjKn{b{e}}{b{{Lb{gL`}}}}}{{A`{hLd}}}Bh{{Il{c}}}Lf}{{Kn{b{e}}{If{{If{c}}}}}{{A`{{Jj{c}}E`}}}{JnBb}{{Il{c}}}}{{{b{{Jj{c}}}}}{{b{{If{{If{Cf}}}}}}}{JnBb}}66{{{b{c}}}e{}{}}000{{{b{c}}}Ej{}}0{c{{A`{e}}}{}{}}00000000000{{{b{c}}}Ab{}}00000{{{b{{Jj{c}}}}}{{b{{Lh{j}}}}}{JnBb}}{{{b{{Kf{c}}}}}cBh}{{{b{{Jj{c}}}}}{{A`{h{If{Kd}}}}}{JnBb}}{{{b{{Jj{c}}}}ee}{{A`{h{If{Kd}}}}}{JnBb}{D`{K`{}{{Hf{j}}}}}}{{Kj{Lh{j}}}Kj}0{ce{}{}}00000````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}000000{{{b{dc}}}{{b{de}}}{}{}}000000{{{b{Lj}}}Lj}{{{b{Ll}}}Ll}{{{b{Ln}}}Ln}{{{b{M`}}}M`}{{{b{c}}{b{de}}}h{}{}}000{{{b{Lj}}{b{Lj}}}Mb}`{j{{b{c}}}{}}000000{j{{b{dc}}}{}}000000{c{{A`{Ln}}}Md}{c{{A`{Mf}}}Md}{jh}000000{{{b{Mh}}{b{Mh}}}Cf}{{{b{Lj}}{b{Lj}}}Cf}`{{{b{Mh}}{b{dl}}}{{A`{hn}}}}{{{b{Mj}}{b{dl}}}{{A`{hn}}}}{{{b{Lj}}{b{dl}}}{{A`{hn}}}}{{{b{Ll}}{b{dl}}}{{A`{hn}}}}{{{b{Ln}}{b{dl}}}{{A`{hn}}}}{{{b{M`}}{b{dl}}}{{A`{hn}}}}{{{b{Mf}}{b{dl}}}{{A`{hn}}}}{cc{}}000000{{Kn{b{e}}{If{{If{c}}}}}Mj{BbBhJn}{{Il{c}}}}{{Kn{b{e}}{If{{If{c}}}}Mh}Mf{BbBhJn}{{Il{c}}}}{{{b{Bn}}}{{A`{Lj}}}}`{{}j}000000`{ce{}{}}000000{{{b{Mj}}Mh}Mf}``````{{{b{Lj}}{b{Lj}}}{{Ib{Mb}}}}````{{{b{Ln}}c}A`Ml}{{{b{Mf}}c}A`Ml}```{{{b{c}}}e{}{}}000{c{{A`{e}}}{}{}}0000000000000{{{b{c}}}Ab{}}0000007777777`````{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000{{{b{Mn}}}Mn}{{{b{N`}}}N`}{{{b{Nb}}}Nb}{{{b{Nd}}}Nd}{{{b{Nf}}}Nf}{{{b{c}}{b{de}}}h{}{}}0000{{{b{Mn}}{b{Mn}}}Mb}{{{b{N`}}{b{N`}}}Mb}`{j{{b{c}}}{}}0000{j{{b{dc}}}{}}0000{jh}0000{{{b{Mn}}{b{Mn}}}Cf}{{{b{N`}}{b{N`}}}Cf}{{{b{Nb}}{b{Nb}}}Cf}{{{b{Nd}}{b{Nd}}}Cf}{{{b{Nf}}{b{Nf}}}Cf}{{{b{Mn}}{b{dl}}}{{A`{hn}}}}0{{{b{N`}}{b{dl}}}{{A`{hn}}}}0{{{b{Nb}}{b{dl}}}{{A`{hn}}}}0{{{b{Nd}}{b{dl}}}{{A`{hn}}}}0{{{b{Nf}}{b{dl}}}{{A`{hn}}}}0{cc{}}{{{Ef{Hn}}}Mn}1{{{Ch{MnNh}}}N`}{{{Ch{cMnNh}}}N`{{Dd{Bn}}}}{NjN`}4{{{Ch{jc}}}Nb{{Dd{Bn}}}}{{{Ch{Nbjc}}}Nd{{Dd{Bn}}}}6{{{Ch{j{b{Bn}}{Nl{MnEj}}}}}Nf}{{{Ch{jEj{Nl{MnEj}}}}}Nf}{{{Ch{jEj}}}Nf}{{{Ch{j{b{Bn}}}}}Nf}:{{{b{Mn}}{b{dc}}}hNn}`{{}j}0000{ce{}{}}0000{{Hnj}Mn}{{{b{Mn}}{b{Mn}}}{{Ib{Mb}}}}{{{b{N`}}{b{N`}}}{{Ib{Mb}}}}{{{b{c}}}e{}{}}0000{{{b{c}}}Ej{}}0000{c{{A`{e}}}{}{}}000000000{{{b{c}}}Ab{}}000077777``````````````````````````````````````````````````````````````````{{{Dh{c}}c}{{Dh{c}}}Bh}{{{b{{Dh{c}}}}{Dh{c}}}{{Dh{c}}}Bh}{{{Dh{c}}{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{b{{Dh{c}}}}c}{{Dh{c}}}Bh}{{{Dh{c}}{Dh{c}}}{{Dh{c}}}Bh}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dh{c}}}}{Dh{c}}}hBh}{{{b{d{Dh{c}}}}{b{{Dh{c}}}}}hBh}{{{b{d{Kh{c}}}}}{{Ef{Ed}}}Bh}{{{b{d{Kh{c}}}}e}{{Ef{Ed}}}BhOb}{{{b{{Kh{c}}}}}{{If{Od}}}Bh}`{{{b{{Kh{c}}}}}{{b{{If{{Ch{{Ef{Ed}}Of}}}}}}}Bh}{{{b{dIh}}e{Ef{Hn}}}h{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{d{Kh{c}}}}ei}hBh{{El{{Ef{Hn}}}}}{{El{Ej}}}{{C`{}{{Bj{g}}}}}}0{{{b{d{Kh{c}}}}Fdg}hBh{{El{Ej}}}{{C`{}{{Bj{e}}}}}}{{{b{dIh}}e{Ef{Ed}}jk}{{A`{hE`}}}{{El{Ej}}}{{Dn{}{{Bj{c}}}}}Bh{{El{{Dh{g}}}}}{{Dn{}{{Bj{{Dj{i}}}}}}}}{{{b{dIh}}e{Ef{Ff}}jk}{{A`{hE`}}}{{El{Ej}}}{{Dn{}{{Bj{c}}}}}Bh{{El{{Dh{g}}}}}{{Dn{}{{Bj{{Dj{i}}}}}}}}{{{b{{Kh{c}}}}}jBh}{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000000000000009`{{{b{d{Kh{c}}}}e}HlBhOb}{{{b{{Oh{c}}}}}{{Oh{c}}}{D`Bh}}{{{b{Hn}}}Hn}{{{b{{Oj{c}}}}}{{Oj{c}}}{D`Aj}}{{{b{{Ol{c}}}}}{{Ol{c}}}{D`Aj}}{{{b{{Dh{c}}}}}{{Dh{c}}}D`}{{{b{{Kh{c}}}}}{{Kh{c}}}{D`Bh}}{{{b{{Ef{c}}}}}{{Ef{c}}}{D`On}}{{{b{Gn}}}Gn}{{{b{A@`}}}A@`}{{{b{Fd}}}Fd}{{{b{Hl}}}Hl}{{{b{{O`{c}}}}}{{O`{c}}}D`}{{{b{Ed}}}Ed}{{{b{Ff}}}Ff}{{{b{F`}}}F`}{{{b{c}}{b{de}}}h{}{}}00000000000000{{{b{Hn}}{b{Hn}}}Mb}{{{b{{Ef{c}}}}{b{{Ef{c}}}}}MbOn}{{{b{Fd}}{b{Fd}}}Mb}{{{b{A@`}}}j}`{{{b{{Ef{c}}}}}{{b{c}}}On}`{{{b{d{Kh{c}}}}}GnBh}{{{b{{O`{c}}}}}jBh}{{{Kh{c}}{If{{If{Cf}}}}}{{Ch{{Kh{c}}{If{{If{c}}}}}}}Bh}{{{b{d{Kh{c}}}}}eBh{}}{{{b{d{Kh{c}}}}e}gBh{}{}}{{{b{{Kh{c}}}}}{{b{{If{{Ef{Ff}}}}}}}Bh}{{{b{dIh}}{Ef{Hn}}j{Ef{Hn}}j}{{A`{hE`}}}}{{{b{d{Kh{c}}}}ek}hBh{{Dd{Bn}}}{{El{{A@b{c}}}}}{{Hh{}{{Hf{g}}}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{i}}}}}}{{b{b{Ol}}{b{{Cj{c}}}}{b{{Cj{{If{If}}}}}}e{b{di}}}{{A`{hA@f}}}IlDfA@h{{A@j{g}}}}{{{A@l{c}}b{b{Ol}}{b{{Cj{e}}}}{b{{Cj{{If{If}}}}}}g{b{dk}}}{{A`{hA@f}}}A@nIlDfA@h{{A@j{i}}}}{{{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{b{{Ef{c}}}}}{{O`{e}}}OnBh}{{}{{Kh{c}}}Bh}{{{b{{Kh{c}}}}}jBh}<{{{b{{Dh{c}}}}}{{Ib{c}}}Bh}{j{{b{c}}}{}}0000000000000000000000{j{{b{dc}}}{}}0000000000000000000000>6{jh}0000000000000000000000{{{b{Gn}}{b{d{Eb{c}}}}j}{{A`{hE`}}}Bh}{{{b{d{Kh{c}}}}{Ef{Ff}}}hBh}{{{b{d{Kh{c}}}}e}hBh{{El{{Ef{Hn}}}}}}{{{b{dIh}}e{b{Gn}}j}{{A`{hE`}}}{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{dIh}}e}h{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{Hn}}{b{Hn}}}Cf}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}CfBh}{{{b{{Ef{c}}}}{b{{Ef{c}}}}}Cf{KlOn}}{{{b{Gn}}{b{Gn}}}Cf}{{{b{A@`}}{b{A@`}}}Cf}{{{b{Fd}}{b{Fd}}}Cf}{{{b{Hl}}{b{Hl}}}Cf}{{{b{{O`{c}}}}{b{{O`{c}}}}}CfKl}{{{b{Ed}}{b{Ed}}}Cf}{{{b{Ff}}{b{Ff}}}Cf}{{{b{F`}}{b{F`}}}Cf}{{{Dh{c}}}cBh}{{{b{{O`{c}}}}{b{g}}{b{i}}{b{k}}{b{m}}{b{o}}{b{Aa}}{b{Ac}}{b{Ae}}{b{Ag}}{b{Ai}}}eBh{}{{C`{c}{{Bj{e}}}}}{{C`{Gn}{{Bj{e}}}}}{{C`{A@`}{{Bj{e}}}}}{{C`{AA`}{{Bj{e}}}}}{{C`{AAb}{{Bj{e}}}}}{{C`{Hl}{{Bj{e}}}}}{{C`{e}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ec}{{Bj{e}}}}}}{{{b{{O`{c}}}}{b{g}}{b{i}}{b{k}}{b{m}}{b{o}}{b{Aa}}{b{Ac}}{b{Ae}}{b{Ag}}{b{Ai}}{b{e}}}eBhKl{{C`{c}{{Bj{e}}}}}{{C`{Gn}{{Bj{e}}}}}{{C`{A@`}{{Bj{e}}}}}{{C`{AA`}{{Bj{e}}}}}{{C`{AAb}{{Bj{e}}}}}{{C`{Hl}{{Bj{e}}}}}{{C`{e}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ec}{{Bj{e}}}}}}{{{b{dIh}}}h}{{{b{Gn}}}{{O`{c}}}Bh}{{{b{Hl}}}{{O`{c}}}Bh}{{{b{dIh}}{Ef{Ff}}j{Dj{{Dh{c}}}}}{{A`{hE`}}}Bh}{{{b{d{Kh{c}}}}}{{Ef{Ff}}}Bh}{{{b{{Oj{c}}}}}{{b{{If{c}}}}}Aj}{{{b{{Kh{c}}}}}{{b{{If{{Ch{{Ef{Ff}}Of}}}}}}}Bh}{{{b{A@f}}{b{dl}}}AAd}0{{{b{{Oh{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{Hn}}{b{dl}}}{{A`{hn}}}}{{{b{AAf}}{b{dl}}}{{A`{hn}}}}0{{{b{{Oj{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{Ol{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{Dh{c}}}}{b{dl}}}{{A`{hn}}}Gh}{{{b{{AAh{ceg}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{El{{A@b{c}}}}}{Gh{Hh{}{{Hf{e}}}}}}{{{b{{Kh{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{A@d{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Ef{c}}}}{b{dl}}}{{A`{hn}}}{GhOn}}{{{b{AAj}}{b{dl}}}{{A`{hn}}}}{{{b{AAl}}{b{dl}}}{{A`{hn}}}}{{{b{AAn}}{b{dl}}}{{A`{hn}}}}{{{b{Gn}}{b{dl}}}{{A`{hn}}}}{{{b{A@`}}{b{dl}}}{{A`{hn}}}}{{{b{Fd}}{b{dl}}}{{A`{hn}}}}{{{b{Hl}}{b{dl}}}{{A`{hn}}}}{{{b{{O`{c}}}}{b{dl}}}{{A`{hn}}}Gh}{{{b{Ed}}{b{dl}}}{{A`{hn}}}}{{{b{Ff}}{b{dl}}}{{A`{hn}}}}{{{b{F`}}{b{dl}}}{{A`{hn}}}}{{{b{E`}}{b{dl}}}{{A`{hn}}}}0{E`A@f}{cc{}}{AAfA@f}{{{Kh{c}}}{{Oh{c}}}Bh}2{EdHn}{FfHn}4{F`Hn}{AB`AAf}6666{{{b{c}}}{{Dh{c}}}Bh}{c{{Dh{c}}}Bh}{{{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{Ch{cc}}}{{Dh{c}}}Bh}:::{{{Ef{Ed}}}{{Ef{Hn}}}}{{{Ef{Ff}}}{{Ef{Hn}}}}{{{Ef{F`}}}{{Ef{Hn}}}}{Mn{{Ef{Hn}}}}>>>>>>>>{ABbHl}?????{{{b{{Cj{Od}}}}fABd}{{A`{{Oj{c}}AB`}}}ABf}{{{b{{Cj{Od}}}}fABd}{{A`{{Ol{c}}AB`}}}ABf}{{{b{{Kh{c}}}}}{{b{{If{{ABh{c}}}}}}}Bh}`{{{b{{Kh{c}}}}}{{b{{Nl{MnEj}}}}}Bh}`{{{b{{Kh{c}}}}{Ef{Hn}}Of}jBh}{{{b{Ih}}Hl}{{Dj{c}}}Bh}{{{b{{Oj{c}}}}}{{b{ABj}}}Aj}{{{b{{Ol{c}}}}}{{b{{Oj{c}}}}}Aj}{{{b{Hn}}{b{dc}}}hNn}{{{b{{Ef{c}}}}{b{de}}}h{ABlOn}Nn}{{{b{Gn}}{b{dc}}}hNn}{{{b{Fd}}{b{dc}}}hNn}{{{b{Hl}}{b{dc}}}hNn}{{{b{Ed}}{b{dc}}}hNn}{{{b{Ff}}{b{dc}}}hNn}{{{b{F`}}{b{dc}}}hNn}{{{b{{Oj{c}}}}{b{dg}}}{{A`{hAB`}}}Aj{{A@h{c}}}{{ABn{ce}}}}{{{b{{O`{c}}}}}EjBh}{{{b{{Ef{c}}}}}jOn}{{{b{Gn}}}j}{{{b{Hl}}}j}```{{}j}0000000000000000000000{{{b{Fd}}}{{Ef{Ff}}}}{{{b{d{Kh{c}}}}}{{Ef{F`}}}Bh}{{{b{{Kh{c}}}}}{{b{{If{{Ch{{Ef{F`}}Of}}}}}}}Bh}{ce{}{}}0000000000000000000000{{{AAh{ceg}}}{}Bh{{El{{A@b{c}}}}}{{Hh{}{{Hf{e}}}}}}{{{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{b{Gn}}}Cf}{{{b{{Dh{c}}}}}CfBh}{{{b{e}}{Oj{c}}{b{g}}}{{A`{{Ol{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{e}}{Oj{c}}{b{g}}Cf}{{A`{{Ol{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{e}}{b{g}}}{{A`{{Oj{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{e}}{b{g}}Cf}{{A`{{Oj{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{d{Kh{c}}}}eg}jBh{{Dd{Bn}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{{If{{Ch{{O`{c}}Fd}}}}}}}}}}{{{b{d{Kh{c}}}}eg}jBh{{Dd{Bn}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{{If{{Ch{{O`{c}}{O`{c}}}}}}}}}}}}{{{b{d{Kh{c}}}}}FdBh}{{{b{{Kh{c}}}}}{{b{{If{{ACb{c}}}}}}}Bh}``{{{b{{Kh{c}}}}}jBh}{{{Dh{c}}c}{{Dh{c}}}Bh}{{{Dh{c}}{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{b{{Dh{c}}}}c}{{Dh{c}}}Bh}{{{Dh{c}}{Dh{c}}}{{Dh{c}}}Bh}{{{O`{c}}c}{{O`{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dh{c}}}}{Dh{c}}}hBh}{{{b{d{Dh{c}}}}{b{{Dh{c}}}}}hBh}{{{Dh{c}}}{}Bh}{{{b{{Dh{c}}}}}{}Bh}{{{O`{c}}}{}Bh}{{jc}{{Ef{c}}}On}{{{b{{Ef{c}}}}}{{O`{e}}}OnBh}{KnAAf}{KnE`}?`?`?`?`?{{{b{{Dh{c}}}}}cBh}{{{b{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}}}gD`AChACj}{{{b{Hn}}{b{Hn}}}{{Ib{Mb}}}}{{{b{{Ef{c}}}}{b{{Ef{c}}}}}{{Ib{Mb}}}On}{{{b{Fd}}{b{Fd}}}{{Ib{Mb}}}}{{{b{{Kh{c}}}}}{{b{ACl}}}Bh}`{{{b{Hl}}}Od}{{{b{{Oh{c}}}}}jBh}{{{b{{Kh{c}}}}}{{`{{K`{}{{Hf{ACn}}}}}}}Bh}{{{b{{Oj{c}}}}}{{AD`{c}}}Aj}{{{b{dc}}fKn{b{e}}Cf}{{ADb{{Ol{g}}}}}ADdIlABf}{{{b{dIh}}{Ib{Ej}}}h}>{e{{O`{c}}}Bh{{K`{}{{Hf{{O`{c}}}}}}}}{{{b{dIh}}e}h{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{d{A@d{c}}}}{Ef{Ed}}Of}{{O`{c}}}Bh}{{{b{d{A@d{c}}}}eOf}{{O`{c}}}Bh{{El{{Ef{Hn}}}}}}{{{b{On}}jOf}{{O`{c}}}Bh}{{{b{Hn}}jOf}{{O`{c}}}Bh}{{{b{{Ef{c}}}}Of}{{O`{e}}}OnBh}{{{b{Ed}}jOf}{{O`{c}}}Bh}{{{b{Ff}}jOf}{{O`{c}}}Bh}{{{b{F`}}jOf}{{O`{c}}}Bh}{{{b{d{O`{c}}}}{b{d{A@d{c}}}}}hBh}{{{b{d{A@d{c}}}}Hl}{{O`{c}}}Bh}{{{b{d{A@d{c}}}}{Ef{Ff}}Of}{{O`{c}}}Bh}{{{b{Ih}}{Ef{F`}}j}{{A`{{Dj{c}}E`}}}Bh}{{{b{d{A@d{c}}}}{Ef{F`}}Of}{{O`{c}}}Bh}{{{b{d{A@d{c}}}}Gn}{{O`{c}}}Bh}{{{b{dc}}fABd}{{A`{{Oj{e}}AB`}}}ADdABf}{{{b{dc}}fABd}{{A`{{Ol{e}}AB`}}}ADdABf}{{{b{{Ef{c}}}}Nh}{{O`{e}}}OnBh}{{{b{A@`}}}Of}`{{{b{d{Kh{c}}}}}GnBh}{{{b{d{Kh{c}}}}j}hBh}{{{b{d{Kh{c}}}}eg}jBh{{Dd{Bn}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{{If{{Ch{{O`{c}}{O`{c}}}}}}}}}}}}{{{b{{Kh{c}}}}}{{b{{If{{ADf{c}}}}}}}Bh}`{{{b{AAf}}}{{Ib{{b{ADh}}}}}}{{{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{O`{c}}}{{O`{c}}}Bh}{{{b{{Dh{c}}}}{Dh{c}}}{{Dh{c}}}Bh}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{Dh{c}}c}{{Dh{c}}}Bh}{{{b{{Dh{c}}}}c}{{Dh{c}}}Bh}{{{Dh{c}}{Dh{c}}}{{Dh{c}}}Bh}{{{Dh{c}}{b{{Dh{c}}}}}{{Dh{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dh{c}}}}{b{{Dh{c}}}}}hBh}{{{b{d{Dh{c}}}}{Dh{c}}}hBh}{e{{O`{c}}}Bh{{K`{}{{Hf{{O`{c}}}}}}}}{{{b{de}}{b{g}}{If{{Ef{Ff}}}}}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{Il{c}}}}{{{b{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}}ck}{{A`{hE`}}}D`AChACjBh{{Fj{i}}}}{{{b{{Oj{c}}}}f}{{If{Od}}}ABf}{{{b{{Ol{c}}}}f}{{If{Od}}}ABf}{{{b{c}}}e{}{}}00000000000000{AAjACn}{AAlACn}{AAnACn}{{{b{c}}}Ej{}}00{{{b{{Oj{c}}}}}{}Aj}{c{{A`{e}}}{}{}}0000000000{{{Ef{Hn}}}{{A`{{Ef{F`}}}}}}{{{Ef{Hn}}}{{A`{{Ef{Ed}}}}}}{{{Ef{Hn}}}{{A`{{Ef{Ff}}}}}}33333333333333333333333333333333333{{{b{c}}}Ab{}}0000000000000000000000{{{b{d{Kh{c}}}}}{{Ef{Ed}}}Bh}{{{b{d{Kh{c}}}}e}{{Ef{Ed}}}BhOb}`{{b{b{Oj}}{b{{Cj{{If{If}}}}}}{b{de}}}CfA@h{{ADj{c}}}}{{{b{dc}}fKn{b{e}}Cf}{{ADb{{Oj{g}}}}}ADdIlABf}{ce{}{}}0000000000000000000000{{{O`{c}}g}{{AAh{ceg}}}Bh{{El{{A@b{c}}}}}{{Hh{}{{Hf{e}}}}}}{{{b{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}}}{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}D`AChACj}{{{b{{Oj{c}}}}{b{de}}f}{{A`{hAB`}}}ABfADl}{{{b{{Ol{c}}}}{b{de}}f}{{A`{hAB`}}}ABfADl}`````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Of}}}Of}{{{b{{ABj{c}}}}}{{ABj{c}}}{D`Bh}}{{{b{c}}{b{de}}}h{}{}}0{{{b{Of}}{b{Of}}}Mb}{{{b{{ABj{c}}}}{If{c}}}{{AE`{cADn}}}B`}{{{b{{ABj{c}}}}{AE`{cADn}}}{{AE`{cAEb}}}B`}`{{{b{{ABj{c}}}}c}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}c}{{AE`{cAEd}}}B`}{{}Of}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{{{b{{ABj{c}}}}{AE`{cAEb}}}{{AE`{cAEb}}}B`}{jh}0{{{b{{ABj{c}}}}}{{AE`{cADn}}}B`}{{{b{{ABj{c}}}}}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}}{{AE`{cAEd}}}B`}{{{b{Of}}{b{Of}}}Cf}{{{b{{ABj{c}}}}}KnB`}{{{b{{ABj{c}}}}}jB`}{{{b{{ABj{c}}}}{AE`{cAEb}}}{{If{c}}}B`}{AEfCf}{{{b{Of}}{b{dl}}}{{A`{hn}}}}{{{b{{ABj{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{cc{}}0{{{b{{ABj{c}}}}}cB`}006{{{b{Of}}{b{dc}}}hNn}{{}j}0{ce{}{}}0:`{{{b{{ABj{c}}}}cce}{{If{c}}}B`{{Hh{}{{Hf{Nh}}}}D`}}{{{b{{ABj{c}}}}j}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}{If{c}}}{{AE`{cAEd}}}B`}{{{b{{ABj{c}}}}{AE`{cAEd}}}{{AE`{cADn}}}B`}{bAEf}{{KnKn}{{ABj{c}}}B`}{{}Of}{{{b{Of}}{b{Of}}}{{Ib{Mb}}}}{{{b{{ABj{c}}}}}{{AEh{c}}}B`}2{{AEfc}{{A`{AEfAAf}}}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{{ABj{c}}}}{b{{AE`{cAEb}}}}Of}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}cOf}cB`}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0??````````````````{{{AEj{c}}{AEj{c}}}{{AEj{c}}}Bh}{{{b{d{AEj{c}}}}{AEj{c}}}hBh}{{{b{d{AEj{c}}}}c}hBh}{{{b{dAEl}}{b{AEl}}}h}{{{b{dAEl}}}h}{{{b{AEl}}}If}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{AEl}}{b{e}}}CfAj{{A@n{c}}}}{{{b{{AEj{c}}}}}{{AEj{c}}}D`}{{{b{c}}{b{de}}}h{}{}}{{{b{AEn}}{b{e}}{b{{AE`{ADn}}}}AEj}{}Aj{{A@n{c}}}}{{{b{AC`}}{b{e}}{b{{AE`{AEd}}}}AEj}{}Aj{{A@n{c}}}}{{{b{AF`}}c{b{dg}}i}{{A`{hAB`}}}DfA@h{{A@j{e}}}{{Hh{}{{Hf{AFb}}}}D`}}{{{b{AF`}}{b{c}}e{b{di}}k}{{A`{hAB`}}}A@nDfA@h{{A@j{g}}}{{Hh{}{{Hf{AFb}}}}D`}}{{}{{AEj{c}}}Bh}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{dAC`}}Kn}h}{jh}{{{b{{AFf{}{{AFd{c}}}}}}}c{{AEl{e}}}Aj}{{{b{{AEj{c}}}}{b{{AEj{c}}}}}CfKl}{{{b{AEl}}{b{e}}}{}Aj{{A@n{c}}}}{{{b{{AEj{c}}}}{b{dl}}}{{A`{hn}}}Gh}{cc{}}{{}j}{ce{}{}}{{{b{AC`}}}Kn}{{{AEj{c}}{AEj{c}}}{{AEj{c}}}Bh}{{{b{d{AEj{c}}}}{AEj{c}}}hBh}{{{b{d{AEj{c}}}}c}hBh}{{{b{AC`}}}Db}{KnAEn}{bAF`}{{}{{AFl{}{{AFh{c}}{AFj{g}}}}}{{AFn{e}{{AFj{g}}}}}AG`{}}{{{b{dc}}}{{AEj{e}}}DfBh}{Knc{}}{{{b{dc}}}{{A`{AC`AB`}}}ADd}{{{b{dc}}}{{A`{eAB`}}}ADd{}}{{{b{AEl}}}If}{{{b{dAEl}}}h}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}{{{b{{AFl{}{{AFh{c}}{AFj{g}}}}}}{b{dk}}mg}{{A`{cAGb}}}{{AFn{e}{{AFj{g}}}}}AG`{}A@h{{ADj{i}}}{{Hh{}{{Hf{AGd}}}}D`}}{ce{}{}}{{{b{AC`}}{b{dc}}}{{A`{hAB`}}}ADl}```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AGf{c}}}}}{{AGf{c}}}{D`AGh}}{{{b{{AGj{c}}}}}{{AGj{c}}}{D`AGh}}{{{b{c}}{b{de}}}h{}{}}0{{{b{{AGf{c}}}}{b{e}}{b{{AE`{ADn}}}}AEj}{}AGhA@n}{{{b{{AGf{c}}}}{b{e}}{b{{AE`{AEd}}}}AEj}{}AGhA@n}{{{b{{AGj{c}}}}{b{e}}{b{{AE`{AEd}}}}AEj}{}AGhA@n}{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{{{b{d{AGf{c}}}}Kn}hAGh}{{{b{d{AGj{c}}}}Kn}hAGh}{jh}00{{{b{{AGf{c}}}}}{{AGl{c}}}AGh}{{{b{{AGj{c}}}}}{{AGl{c}}}AGh}{{{b{{AGf{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AGj{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AGn{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}00{{{b{{AGf{c}}}}KnIf{Ib{If}}}{{AGf{c}}}AGh}{{}j}00{ce{}{}}00{{{b{{AGf{c}}}}}KnAGh}{{{b{{AGj{c}}}}}KnAGh}{{{b{{AGf{c}}}}}DbAGh}{{{b{{AGj{c}}}}}DbAGh}{Kn{{AGf{c}}}AGh}{Kn}{{{b{dc}}}{{A`{{AGf{e}}AB`}}}ADdAGh}{{{b{dc}}}{{A`{{AGj{e}}AB`}}}ADdAGh}{{{b{dc}}f}{{A`{{AGf{e}}AB`}}}ADdAGh}{{{b{dc}}f}{{A`{{AGj{e}}AB`}}}ADdAGh}{{{b{dc}}}{{A`{AB`}}}ADd}{{Knc}{{AGf{e}}}DfAGh}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00{{{b{{AGf{c}}}}}{{AGj{c}}}AGh}{ce{}{}}00{{{b{{AGf{c}}}}{b{de}}}{{A`{hAB`}}}AGhADl}{{{b{{AGj{c}}}}{b{de}}}{{A`{hAB`}}}AGhADl}{{{b{{AGf{c}}}}{b{de}}f}{{A`{hAB`}}}AGhADl}{{{b{{AGj{c}}}}{b{de}}f}{{A`{hAB`}}}AGhADl}``{{{b{d{AGl{c}}}}{b{{AGl{c}}}}}hAGh}{{{b{d{AH`{c}}}}{AH`{c}}}hAHb}{{{b{d{AGl{c}}}}}hAGh}{{{b{{AGl{c}}}}}IfAGh}{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AGl{c}}}}{b{e}}}CfAGhA@n}{{{AH`{c}}{b{e}}{b{{AGj{c}}}}}CfAHbA@n}{{{b{{AGl{c}}}}}{{AGl{c}}}{D`AGh}}{{{b{{AH`{c}}}}}{{AH`{c}}}{D`AGh}}{{{b{c}}{b{de}}}h{}{}}08{{}{{AGl{c}}}{ACjAGh}}{{}{{AH`{c}}}{ACjAGh}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{{AGl{c}}}}{b{e}}}{}AGhA@n}{{{b{{AGl{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AH`{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}0{{}j}0{ce{}{}}0{{}{{AGl{c}}}AGh}{{}{{AH`{c}}}AHb}{{{b{{AGl{c}}}}}IfAGh}{{{b{d{AGl{c}}}}}hAGh}{{{b{d{AH`{c}}}}}hAHb}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}088````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{{AHd{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AGhGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFb}}}}D`}}{{{b{{AHf{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AGhGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFb}}}}D`}}{j{{b{c}}}{}}000{j{{b{dc}}}{}}000{jh}000{{{b{{AHd{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AHh{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AHf{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AHj{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}000{{}j}000{ce{}{}}000{{{b{{AGf{c}}}}}{{AHd{c}}}{AGhGh}}{{}{{AHh{c}}}{AHbGh}}{{{b{{AGf{c}}}}}{{AHf{c}}}AGh}{{{b{{AGf{c}}}}}{{AHf{c}}}{AGhGh}}{{}{{AHj{c}}}{AHbGh}}{c{{A`{e}}}{}{}}0000000{{{b{c}}}Ab{}}000{{{b{{AHh{c}}}}{b{dg}}i{AH`{c}}}{{A`{AGb}}}{AHbGh}A@h{{ADj{e}}}{{Hh{}{{Hf{{AGd{{AGl{c}}}}}}}}D`}}{{{b{{AHj{c}}}}{b{dg}}i{AH`{c}}}{{A`{AGb}}}{AHbGh}A@h{{ADj{e}}}{{Hh{}{{Hf{{AGd{{AGl{c}}}}}}}}D`}}9999```{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AHl{c}}}}}{{AHl{c}}}{D`AHb}}{{{b{{AHn{c}}}}}{{AHn{c}}}{D`AGh}}{{{b{{AI`{c}}}}}{{AI`{c}}}{D`AGh}}{{{b{c}}{b{de}}}h{}{}}00{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{jh}00{{{AHn{c}}}Cf{AHbGh}}{{{AI`{c}}}Cf{AHbGh}}{{{b{{AHl{c}}}}{b{dl}}}{{A`{hn}}}{GhAHb}}{{{b{{AHn{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AI`{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}00{{}j}00{ce{}{}}00{{{b{{AGj{c}}}}}{{AHn{c}}}AHb}{{{b{{AGj{c}}}}}{{AHn{c}}}{AHbGh}}{{{b{{AGj{c}}}}}{{AI`{c}}}{AHbGh}}0{{{AHn{c}}e}{{A`{{AHn{c}}AAf}}}{AHbGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{AI`{c}}e}{{A`{{AI`{c}}AAf}}}{AHbGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00888{{{AH`{c}}{b{{AGj{c}}}}}{{AHn{c}}}AHb}``````````{{{b{{A@h{}{{AIb{c}}}}}}}{{AId{eg}}}{}Aj{}}{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AIf{ceg}}}}}{{AIf{ceg}}}{D`ADd}{D`Aj}{D`{A@h{e}}}}{{{b{{AIh{ceg}}}}}{{AIh{ceg}}}{D`ADl}{D`Aj}{D`{A@h{e}}}}{{{b{{AIj{c}}}}}{{AIj{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}00{{{b{dABn}}c}{{A`{hAB`}}}Aj}{{{b{d{AIf{ce{AIj{e}}}}}}e}{{A`{hAB`}}}ADdAj}{{{b{d{AIh{ce{AIj{e}}}}}}e}{{A`{hAB`}}}ADlAj}{{{b{dABn}}}{{A`{hAB`}}}}{{{b{d{AIf{ce{AIj{e}}}}}}}{{A`{hAB`}}}ADdAj}{{{b{d{AIh{ce{AIj{e}}}}}}}{{A`{hAB`}}}ADlAj}{j{{b{c}}}{}}00{{{b{{AIj{c}}}}}bAj}{j{{b{dc}}}{}}00{jh}00{AIlcADl}{{{AIh{ce{AIj{e}}}}}cADlAj}{{{b{{AIf{ceg}}}}{b{dl}}}{{A`{hn}}}{GhADd}{GhAj}{Gh{A@h{e}}}}{{{b{{AIh{ceg}}}}{b{dl}}}{{A`{hn}}}{GhADl}{GhAj}{Gh{A@h{e}}}}{{{b{{AIj{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}00{{{b{{A@h{}{{AIb{c}}}}}}}{}{}}{{{b{{AIj{c}}}}}{}Aj}{cAInADd}{cAIlADl}{{}j}{c{{AIf{ce{AIj{e}}}}}ADdAj}{c{{AIh{ce{AIj{e}}}}}ADlAj}22{ce{}{}}00{{{b{c}}}{{A@h{}{{AIb{c}}}}}{}}{{{b{{In{Od}}}}}{{AIj{c}}}Aj}{{{b{dADj}}}{{A`{cAB`}}}Aj}{{{b{d{AIf{ce{AIj{e}}}}}}}{{A`{eAB`}}}ADdAj}{{{b{dADj}}}{{A`{AB`}}}}{{{b{d{AIf{ce{AIj{e}}}}}}}{{A`{AB`}}}ADdAj}{{{b{dABn}}}eAj{{A@h{c}}}}{{{b{d{AIf{ce{AIj{e}}}}}}}{{AIj{e}}}ADdAj}{{{b{d{AIh{ce{AIj{e}}}}}}}{{AIj{e}}}ADlAj}{{{b{dABn}}}{{AId{ce}}}Aj{}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00==={{{b{dA@j}}c}{{A`{hAB`}}}Aj}{{{b{d{AIh{ce{AIj{e}}}}}}e}{{A`{hAB`}}}ADlAj}{{{b{dA@j}}}{{A`{hAB`}}}}{{{b{d{AIh{ce{AIj{e}}}}}}}{{A`{hAB`}}}ADlAj}","D":"EIh","p":[[1,"reference"],[0,"mut"],[6,"SerdeFormat",0,1952],[1,"unit"],[1,"usize"],[5,"Formatter",1953],[5,"Error",1953],[6,"Result",1954],[5,"TypeId",1955],[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",27,1956],[5,"Coordinates",1956],[5,"CtOption",1957],[10,"WithSmallOrderMulGroup",1958],[10,"Ord",1959],[17,"AffineExt"],[10,"CurveExt",27,1956],[10,"Field",27,1958],[17,"Output"],[10,"Mul",1960],[1,"str"],[10,"Fn",1961],[5,"Box",1962],[5,"Choice",1957],[1,"bool"],[1,"tuple"],[1,"slice"],[10,"Send",1963],[10,"Sync",1963],[10,"Clone",1964],[1,"u64"],[10,"AsRef",1965],[10,"RngCore",1966],[6,"Assigned",828,1967],[5,"Value",64,1968],[10,"Add",1960],[10,"FnOnce",1961],[6,"ErrorFront",828],[5,"Region",64,1969],[5,"Advice",828,1970],[5,"Column",828,1971],[5,"AssignedCell",64,1969],[5,"String",1972],[10,"Into",1965],[10,"FnMut",1961],[5,"Instance",828,1970],[5,"Table",64,1969],[5,"TableColumn",828,1971],[5,"Fixed",828,1970],[17,"Root"],[10,"Layouter",64,1969],[5,"NamespacedLayouter",64,1969],[5,"Cell",64,1969],[5,"RegionIndex",64,1969],[17,"Config"],[17,"Loaded"],[10,"Chip",64,1969],[10,"Debug",1953],[10,"Copy",1963],[10,"Borrow",1973],[5,"Selector",828,1971],[5,"SimpleFloorPlanner",64,1974],[10,"RegionLayouter",1975],[10,"TableLayouter",1976],[17,"Item"],[10,"IntoIterator",1977],[10,"FromIterator",1977],[5,"Challenge",828,1971],[6,"Any",828,1978],[10,"Neg",1960],[6,"Option",1979],[10,"Sub",1960],[5,"Vec",1980],[10,"Assignment",828,1970],[10,"SyncDeps",1975],[10,"Circuit",828,1970],[1,"array"],[5,"V1Pass",293,1981],[5,"V1",293,1981],[5,"SingleChipLayouter",331,1974],[5,"MeasurementPass",354,1981],[5,"AssignmentPass",354,1981],[5,"MockProver",385,1982],[6,"CellValue",385,1982],[10,"FromUniformBytes",1958],[10,"Iterator",1983],[6,"FailureLocation",385,1984],[6,"VerifyFailure",385,1984],[6,"InstanceValue",385,1982],[5,"ConstraintSystem",828,1985],[5,"CircuitLayout",385,1986],[10,"PartialEq",1959],[1,"u32"],[5,"Shift",1987],[5,"DrawingArea",1988],[6,"DrawingAreaErrorKind",1988],[10,"DrawingBackend",1989],[5,"Range",1990],[5,"Poly",567,1991],[5,"Lookup",567,1991],[5,"Permutation",567,1991],[5,"Shuffle",567,1991],[6,"Ordering",1959],[10,"Deserializer",1992],[5,"ModelCircuit",567,1991],[6,"CommitmentScheme",567,1991],[5,"CostOptions",567,1991],[10,"Serializer",1993],[5,"Column",710],[5,"VirtualCell",710,1994],[5,"Gate",710,1994],[5,"Constraint",710,1994],[5,"Region",710,1994],[1,"i32"],[5,"VirtualCell",1985],[5,"HashMap",1995],[10,"Hasher",1996],[6,"Expression",828,1971],[10,"Phase",828,1971],[1,"u8"],[5,"Rotation",1478,1997],[5,"ConstraintSystemMid",828,1978],[5,"VerifyingKey",828,1998],[5,"ProvingKey",828,1998],[10,"ColumnType",828,1970],[5,"FixedQuery",828,1971],[5,"Constraint",1985],[5,"VirtualCells",828,1985],[6,"Error",828,1999],[10,"EncodedChallenge",1864,2000],[10,"TranscriptWrite",1864,2000],[5,"PlonkEngine",2001],[10,"MsmAccel",2002],[5,"AdviceQuery",1971],[5,"InstanceQuery",1971],[8,"Result",1953],[6,"ErrorBack",828],[5,"Constraints",828,1985],[5,"FirstPhase",828,1971],[5,"SecondPhase",828,1971],[5,"ThirdPhase",828,1971],[5,"Error",2003],[5,"ChallengeMid",1978],[5,"ConstraintSystemBack",2004],[10,"SerdeCurveAffine",1952],[5,"Gate",1985],[5,"EvaluationDomain",1478,2005],[10,"Hash",1996],[10,"Transcript",1864,2000],[10,"Params",1549,2006],[5,"Argument",2007],[17,"FloorPlanner"],[17,"Params"],[10,"FloorPlanner",828,1970],[10,"Default",2008],[5,"Argument",2009],[5,"Phase",2010],[5,"PinnedVerificationKey",1998],[8,"Result",2003],[10,"Read",2011],[5,"Argument",2012],[10,"Error",2013],[10,"TranscriptRead",1864,2000],[10,"Write",2011],[5,"Coeff",2014],[5,"Polynomial",2014],[5,"ExtendedLagrangeCoeff",2014],[5,"LagrangeCoeff",2014],[10,"VerificationStrategy",1478,2015],[5,"PinnedEvaluationDomain",2005],[5,"Blind",1549,2006],[10,"MSM",1549,2006],[10,"ParamsProver",1549,2006],[10,"Prover",1549,2006],[5,"ProverQuery",2016],[17,"MSM"],[10,"ParamsVerifier",1549,2006],[17,"Guard"],[17,"MSMAccumulator"],[10,"Verifier",1549,2006],[10,"Guard",2015],[10,"CommitmentScheme",1549,2006],[6,"Error",2014],[5,"VerifierQuery",2016],[5,"ParamsKZG",1617,2017],[10,"Engine",2018],[5,"ParamsVerifierKZG",1617,2017],[5,"MSMKZG",1690,2019],[5,"KZGCommitmentScheme",1617,2017],[5,"DualMSM",1690,2019],[10,"MultiMillerLoop",2018],[5,"ProverGWC",1739,2020],[5,"ProverSHPLONK",1739,2021],[5,"VerifierGWC",1739,2022],[5,"VerifierSHPLONK",1739,2023],[5,"GuardKZG",1804,2024],[5,"AccumulatorStrategy",1804,2024],[5,"SingleStrategy",1804,2024],[17,"Input"],[5,"ChallengeScalar",2000],[5,"Blake2bRead",1864,2000],[5,"Blake2bWrite",1864,2000],[5,"Challenge255",1864,2000],[10,"TranscriptWriterBuffer",1864,2000],[10,"TranscriptReadBuffer",1864,2000],[15,"InRegion",542],[15,"OutsideRegion",542],[15,"ConstraintNotSatisfied",545],[15,"CellNotAssigned",545],[15,"InstanceCellNotAssigned",545],[15,"Permutation",545],[15,"ConstraintPoisoned",545],[15,"Lookup",545],[15,"Shuffle",545],[15,"NotEnoughRowsAvailable",1476],[15,"NotEnoughRowsAvailable",1477]],"r":[[3,1952],[31,1956],[32,1956],[34,1958],[56,2025],[64,1969],[65,1969],[66,1969],[68,1969],[70,1969],[71,1969],[72,1969],[74,1974],[75,1969],[76,1968],[170,1969],[293,1981],[294,1981],[320,2026],[328,2026],[331,1974],[332,1974],[354,1981],[355,1981],[356,1981],[357,1981],[376,1981],[388,1982],[389,1986],[392,1984],[395,1982],[397,1982],[404,1984],[425,2027],[435,1982],[497,1982],[567,1991],[568,1991],[571,1991],[572,1991],[573,1991],[574,1991],[575,1991],[642,1991],[643,1991],[711,1994],[712,1994],[713,1994],[714,1994],[828,1970],[831,1978],[833,1967],[834,1970],[838,1971],[840,1970],[841,1971],[844,1970],[847,1985],[849,1978],[850,1985],[851,1999],[854,1971],[855,1971],[856,1970],[859,1971],[860,1970],[863,1970],[876,1971],[878,1998],[881,1971],[882,1971],[886,1971],[888,1971],[891,1998],[892,1985],[1009,2028],[1010,2028],[1258,2029],[1259,2029],[1260,2029],[1261,2029],[1447,2030],[1478,2005],[1479,1997],[1480,2015],[1492,2014],[1525,2014],[1549,2006],[1551,2006],[1554,2006],[1557,2006],[1558,2006],[1560,2006],[1562,2006],[1564,2006],[1613,2031],[1614,2031],[1615,2031],[1616,2031],[1617,2017],[1618,2017],[1619,2017],[1690,2019],[1691,2019],[1739,2020],[1740,2021],[1741,2022],[1742,2023],[1804,2024],[1805,2024],[1806,2024],[1864,2000],[1865,2000],[1866,2000],[1867,2000],[1869,2000],[1870,2000],[1871,2000],[1872,2000],[1873,2000]],"b":[[77,"impl-Add%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[78,"impl-Add-for-%26Value%3CV%3E"],[79,"impl-Add%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[80,"impl-Add%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[81,"impl-Add%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[82,"impl-Add%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[83,"impl-Add-for-Value%3CV%3E"],[84,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[85,"impl-Add%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[86,"impl-Add%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[126,"impl-Value%3C%26mut+V%3E"],[127,"impl-Value%3C%26V%3E"],[134,"impl-Value%3C%26mut+V%3E"],[135,"impl-Value%3C%26V%3E"],[218,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[219,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[220,"impl-Mul%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[221,"impl-Mul-for-%26Value%3CV%3E"],[222,"impl-Mul%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[223,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[224,"impl-Mul%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[225,"impl-Mul-for-Value%3CV%3E"],[226,"impl-Mul%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[227,"impl-Mul%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[238,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[239,"impl-Sub%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[240,"impl-Sub%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[241,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[242,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[243,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[244,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[245,"impl-Sub-for-Value%3CV%3E"],[246,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[247,"impl-Sub-for-%26Value%3CV%3E"],[467,"impl-Display-for-FailureLocation"],[468,"impl-Debug-for-FailureLocation"],[469,"impl-Display-for-VerifyFailure"],[470,"impl-Debug-for-VerifyFailure"],[758,"impl-Display-for-ColumnMid"],[759,"impl-Debug-for-ColumnMid"],[760,"impl-Debug-for-VirtualCell"],[761,"impl-Display-for-VirtualCell"],[762,"impl-Display-for-Gate"],[763,"impl-Debug-for-Gate"],[764,"impl-Debug-for-Constraint"],[765,"impl-Display-for-Constraint"],[766,"impl-Display-for-Region"],[767,"impl-Debug-for-Region"],[771,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[772,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[773,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[778,"impl-From%3C(usize,+%26str,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[779,"impl-From%3C(usize,+String,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[780,"impl-From%3C(usize,+String)%3E-for-Region"],[781,"impl-From%3C(usize,+%26str)%3E-for-Region"],[894,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[895,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[896,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[897,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[898,"impl-Add-for-Assigned%3CF%3E"],[899,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[901,"impl-AddAssign-for-Assigned%3CF%3E"],[902,"impl-AddAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1114,"impl-Display-for-Error"],[1115,"impl-Debug-for-Error"],[1118,"impl-Debug-for-Error"],[1119,"impl-Display-for-Error"],[1138,"impl-Display-for-Error"],[1139,"impl-Debug-for-Error"],[1140,"impl-From%3CError%3E-for-Error"],[1142,"impl-From%3CError%3E-for-Error"],[1145,"impl-From%3CAdvice%3E-for-Any"],[1146,"impl-From%3CFixed%3E-for-Any"],[1148,"impl-From%3CInstance%3E-for-Any"],[1154,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1155,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1156,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1157,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1161,"impl-From%3CColumn%3CAdvice%3E%3E-for-Column%3CAny%3E"],[1162,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1163,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1164,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1269,"impl-Mul%3CF%3E-for-Assigned%3CF%3E"],[1270,"impl-Mul%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1271,"impl-Mul%3CF%3E-for-%26Assigned%3CF%3E"],[1272,"impl-Mul-for-Assigned%3CF%3E"],[1273,"impl-Mul%3CF%3E-for-Expression%3CF%3E"],[1274,"impl-Mul-for-Expression%3CF%3E"],[1275,"impl-MulAssign-for-Assigned%3CF%3E"],[1276,"impl-MulAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1277,"impl-Neg-for-Assigned%3CF%3E"],[1278,"impl-Neg-for-%26Assigned%3CF%3E"],[1336,"impl-Sub%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1337,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1338,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1339,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1340,"impl-Sub-for-Assigned%3CF%3E"],[1341,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1343,"impl-SubAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1344,"impl-SubAssign-for-Assigned%3CF%3E"],[1383,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1384,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1385,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1566,"impl-AddAssign-for-Blind%3CF%3E"],[1567,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[1594,"impl-MulAssign-for-Blind%3CF%3E"],[1595,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[1783,"impl-ProverSHPLONK%3C\'a,+E%3E"],[1784,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[1842,"impl-AccumulatorStrategy%3CE%3E"],[1843,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[1844,"impl-SingleStrategy%3CE%3E"],[1845,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAANQEngAGAAEACQADAA4AAQARAAEAFgAAABgAAwBOAAkAYwAAAGUAEAB3AAcAhgAAAIsAEQCeAAgArAAHALYAAAC4AAAAvAAAAL4AAADCAAAAxAAIANsACQDnAAAA6QAAAOsAAADvAAoA+wADAAEBFwAdAQcAKAEOADkBAwA/AQwATgEIAFgBAgBdAQUAZwELAHUBAQB5AQgAmQEAAJwBDQCrAQgAtgESAMoBBwDUAQcA4gEGAPMBAgD7ARcAGQIFAEMCFgBbAhgAdQIGAIUCAACHAgYAnQIAAKICAQCnAh8AzAIVAOMCHQACAwAABAMCAAgDAQALAwMAEAMAABIDBAAcAyAAfwMIAJQDLQDFAyAA6QMAAPYDAAD6Ay0AKgQWAEYECgBbBBoAdwQBAHoEAQB9BAEAgwQDAIoEAwCWBAAAnwQAAKEEAQCmBAcAswQAALUEFwDnBAAA8wQBAPYECwAGBQAACAUAAAoFAAAMBQAAEAUCABQFAAAcBQAAIQUAACMFAgA1BQEAOQUJAEcFFABdBUcAqgUWAMoFCADZBQMA3gUBAOMFAADoBQEA8AUCAPgFAAD+BQAABAYJAB4GAgAkBgEAJwYBAC0GAgAxBgAAMwYAADUGAAA3BgAAOgYCAEcGAwBMBgAAVQYcAHYGAgB8BgUAhQYBAIgGDgCaBgAAnQYAAJ8GBgCnBgMArAYKALkGAQC/BgEAwgYJANAGBwDaBg8A7gYDAPYGAQD5Bg4ACQcDABAHGQAtBwIANAcAADYHEQBUBwsAYQcBAGQHCwBxBwMAeQcAAHwHAAB/BwEAhQcAAIcHAACJBwAAiwcBAI4HDgCeBwAAoAcAAA=="}],\ -["p3_frontend",{"t":"PKFPFPPGPPPFFPFPPFGFPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Add","AirBuilderWithPublicValues","CompileParams","Constant","FWrap","FirstRow","LastRow","Location","Location","Mul","Neg","PreprocessingInfo","Public","Public","Query","Query","Sub","SymbolicAirBuilder","SymbolicExpression","SymbolicVariable","Transition","Var","Variable","add","add","add","add","add","add","add","add_assign","add_assign","add_assign","as_base_slice","as_base_slice","as_canonical_biguint","as_canonical_u64","as_slice","as_slice_mut","assert_zero","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","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","cmp","column","compile_circuit_cs","compile_preprocessing","default","default","default","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","deserialize","disable_zk","div","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","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_base","from_base","from_base_fn","from_base_fn","from_base_slice","from_base_slice","from_bool","from_bool","from_canonical_u16","from_canonical_u16","from_canonical_u32","from_canonical_u32","from_canonical_u64","from_canonical_u64","from_canonical_u8","from_canonical_u8","from_canonical_usize","from_canonical_usize","from_f","from_f","from_fn","from_slice","from_slice_mut","from_wrapped_u32","from_wrapped_u32","from_wrapped_u64","from_wrapped_u64","generator","generator","get_public_inputs","hash","index","init","init","init","init","init","init","init","init","init","init","interleave","into","into","into","into","into","into","into","into","into","into","is_first_row","is_last_row","is_next","is_one","is_transition_window","is_zero","is_zero","main","mul","mul","mul","mul","mul","mul","mul","mul_assign","mul_assign","mul_assign","neg","neg","neg_one","neg_one","new_public","new_query","one","one","order","partial_cmp","product","product","product","public_values","public_values","serialize","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sum","sum","sum","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","trace_to_wit","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_inverse","two","two","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","zero","zero"],"q":[[0,"p3_frontend"],[304,"p3_frontend::fwrap"],[305,"ff"],[306,"p3_frontend::symbolic_expression"],[307,"p3_field::field"],[308,"p3_frontend::symbolic_variable"],[309,"num_bigint::biguint"],[310,"core::hash"],[311,"core::cmp"],[312,"p3_frontend::symbolic_builder"],[313,"core::convert"],[314,"core::clone"],[315,"halo2_middleware::circuit"],[316,"p3_air::air"],[317,"core::default"],[318,"core::result"],[319,"serde::de"],[320,"core::fmt"],[321,"core::ops::function"],[322,"alloc::vec"],[323,"core::option"],[324,"core::iter::traits::iterator"],[325,"p3_frontend::air"],[326,"serde::ser"],[327,"alloc::string"],[328,"p3_matrix::dense"],[329,"core::any"]],"i":[3,0,0,3,0,18,18,0,3,3,3,0,0,19,0,19,3,0,0,0,18,0,3,1,3,3,3,5,5,5,1,3,3,1,3,1,1,1,1,15,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,18,3,5,19,20,21,22,23,1,18,3,5,19,20,21,22,23,1,20,0,0,1,3,23,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,23,1,3,15,1,18,3,5,19,20,21,22,23,1,1,1,18,18,3,3,5,5,19,20,21,22,23,15,1,18,3,3,3,5,19,20,21,22,23,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,1,1,1,3,1,3,1,3,0,1,21,15,1,18,3,5,19,20,21,22,23,1,15,1,18,3,5,19,20,21,22,23,15,15,20,3,15,1,3,15,1,3,3,3,5,5,5,1,3,3,1,3,1,3,5,5,1,3,1,1,1,3,3,49,15,1,1,3,3,3,5,5,5,1,3,3,1,3,3,1,18,3,5,19,20,21,22,23,1,18,3,5,0,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,1,3,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,3],"f":"```````````````````````{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}c}{{f{c}}}h}{{{f{c}}{f{c}}}{{f{c}}}h}{{{f{c}}{j{c}}}eh{}}{{{j{c}}{j{c}}}eh{}}{{{j{c}}c}eh{}}{{{j{c}}{f{c}}}eh{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}c}A`h}{{{n{l{f{c}}}}{f{c}}}A`h}{{{n{c}}}{{n{{Ab{e}}}}}{}{}}0{{{n{{b{c}}}}}Ad{AfAhAj}}{{{n{{b{c}}}}}Al{AfAhAj}}{{{n{c}}}{{n{Ab}}}{}}{{{n{lc}}}{{n{lAb}}}{}}{{{n{l{An{c}}}}g}A`h{}{{B`{e}}}}{{{n{c}}}{{n{e}}}{}{}}000000000{{{n{lc}}}{{n{le}}}{}{}}000000000{{{n{{b{c}}}}}{{b{c}}}{Bbd}}{{{n{Bd}}}Bd}{{{n{{f{c}}}}}{{f{c}}}{Bbh}}{{{n{{j{c}}}}}{{j{c}}}{Bbh}}{{{n{Bf}}}Bf}{{{n{Bh}}}Bh}{{{n{Bj}}}Bj}{{{n{Bl}}}Bl}{{{n{Bn}}}Bn}{{{n{c}}{n{le}}}A`{}{}}00000000{{{n{{b{c}}}}{n{{b{c}}}}}C`{Ajd}}`{{{n{e}}{n{Bn}}Cb}{{Cf{{Cd{c}}Bl}}}{AfAh}{{Ch{{An{{b{c}}}}}}}}{{CjCb{n{Bl}}{n{e}}}{{Cl{c}}}{AfAh}{{Ch{{An{{b{c}}}}}}}}{{}{{b{c}}}{Cnd}}{{}{{f{c}}}h}{{}Bn}{Cb{{n{c}}}{}}000000000{Cb{{n{lc}}}{}}000000000{c{{D`{{b{e}}}}}DbAf}`{{{b{c}}{b{c}}}{{b{c}}}d}{{{n{{f{c}}}}}{{f{c}}}h}{CbA`}000000000{{{n{{b{c}}}}{n{{b{c}}}}}Dd{Dfd}}{{{n{{b{c}}}}{n{lDh}}}Djd}{{{n{{b{c}}}}{n{lDh}}}Dj{Dld}}{{{n{Bd}}{n{lDh}}}Dj}0{{{n{{f{c}}}}{n{lDh}}}Djh}{{{n{{f{c}}}}{n{lDh}}}Dj{Dlh}}{{{n{{j{c}}}}{n{lDh}}}Djh}{{{n{{j{c}}}}{n{lDh}}}Dj{Dlh}}{{{n{Bf}}{n{lDh}}}Dj}{{{n{Bh}}{n{lDh}}}Dj}{{{n{Bj}}{n{lDh}}}Dj}{{{n{Bl}}{n{lDh}}}Dj}{{{n{Bn}}{n{lDh}}}Dj}{cc{}}00{c{{f{c}}}h}{{{j{c}}}{{f{c}}}h}222222222{ec{}{{E`{Cb}{{Dn{c}}}}}}0{{{n{{Ab{c}}}}}c{}}0{Dd{{b{c}}}{AfAh}}{Dd{{f{c}}}h}{Eb{{b{c}}}{AfAh}}{Eb{{f{c}}}h}{Cj{{b{c}}}{AfAh}}{Cj{{f{c}}}h}{Al{{b{c}}}{AfAh}}{Al{{f{c}}}h}{Ed{{b{c}}}{AfAh}}{Ed{{f{c}}}h}{Cb{{b{c}}}{AfAh}}{Cb{{f{c}}}h}{c{{b{e}}}{}{AfAh}}{c{{f{e}}}{}h}{ce{{E`{Cb}{{Dn{}}}}}{}}{{{n{Ab}}}{{n{c}}}{}}{{{n{lAb}}}{{n{lc}}}{}}<;:9{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{{{n{Bl}}Cb{n{{Ab{{Ef{c}}}}}}}{{Ef{{Ef{c}}}}}d}{{{n{{b{c}}}}{n{le}}}A`{Ahd}Eh}`{{}Cb}000000000{{{n{c}}eCb}{{Cf{ee}}}{}{}}{ce{}{}}000000000{{{n{{An{c}}}}}eh{}}0`{{{n{{f{c}}}}}Ddh}{{{n{{An{c}}}}Cb}eh{}}{{{n{{b{c}}}}}Dd{AfAh}}23{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}{f{c}}}{{f{c}}}h}{{{f{c}}{j{c}}}eh{}}{{{f{c}}c}{{f{c}}}h}{{{j{c}}c}eh{}}{{{j{c}}{f{c}}}eh{}}{{{j{c}}{j{c}}}eh{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}{f{c}}}A`h}{{{n{l{f{c}}}}c}A`h}{{{b{c}}}ed{}}{{{f{c}}}{{f{c}}}h}{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{Cb{{j{c}}}h}{{DdCb}{{j{c}}}h}32{{}Ad}{{{n{{b{c}}}}{n{{b{c}}}}}{{Ej{C`}}}{Eld}}{e{{b{c}}}d{{F`{}{{En{{b{c}}}}}}}}{e{{f{c}}}h{{F`{}{{En{c}}}}}}{e{{f{c}}}h{{F`{}{{En{{f{c}}}}}}}}{{{n{Fb}}}{{n{{Ab{c}}}}}{}}{{{n{{An{c}}}}}{{n{{Ab{e}}}}}h{}}{{{n{{b{c}}}}e}D`AfFd}{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}{j{c}}}eh{}}{{{f{c}}c}{{f{c}}}h}{{{f{c}}{f{c}}}{{f{c}}}h}{{{j{c}}c}eh{}}{{{j{c}}{j{c}}}eh{}}{{{j{c}}{f{c}}}eh{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}c}A`h}{{{n{l{f{c}}}}{f{c}}}A`h}?>={{{n{c}}}e{}{}}00000000{{{n{c}}}Ff{}}000{{Cj{Fh{{b{c}}}}}{{Ef{{Ef{c}}}}}d}{c{{D`{e}}}{}{}}0000000000000000000{{{n{{b{c}}}}}{{Ej{{b{c}}}}}{AfAh}}{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{{{n{c}}}Fj{}}000000000{ce{}{}}00000000032","D":"C`","p":[[5,"FWrap",0,304],[10,"Field",305],[6,"SymbolicExpression",0,306],[10,"Field",307],[5,"SymbolicVariable",0,308],[0,"mut"],[1,"reference"],[1,"unit"],[1,"slice"],[5,"BigUint",309],[10,"PrimeField",305],[10,"Hash",310],[10,"Ord",311],[1,"u64"],[5,"SymbolicAirBuilder",0,312],[10,"Into",313],[10,"Clone",314],[6,"Location",0,306],[6,"Var",0,308],[5,"Query",0,308],[5,"Public",0,308],[5,"PreprocessingInfo",0],[5,"CompileParams",0],[6,"Ordering",311],[1,"usize"],[5,"ConstraintSystemMid",315],[1,"tuple"],[10,"Air",316],[1,"u32"],[5,"Preprocessing",315],[10,"Default",317],[6,"Result",318],[10,"Deserializer",319],[1,"bool"],[10,"PartialEq",311],[5,"Formatter",320],[8,"Result",320],[10,"Debug",320],[17,"Output"],[10,"FnMut",321],[1,"u16"],[1,"u8"],[5,"Vec",322],[10,"Hasher",310],[6,"Option",323],[10,"PartialOrd",311],[17,"Item"],[10,"Iterator",324],[10,"AirBuilderWithPublicValues",0,325],[10,"Serializer",326],[5,"String",327],[5,"RowMajorMatrix",328],[5,"TypeId",329]],"r":[[1,325],[4,304],[7,306],[12,308],[14,308],[17,312],[18,306],[19,308],[21,308]],"b":[[24,"impl-Add%3CF%3E-for-SymbolicExpression%3CF%3E"],[25,"impl-Add-for-SymbolicExpression%3CF%3E"],[26,"impl-Add%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[27,"impl-Add-for-SymbolicVariable%3CF%3E"],[28,"impl-Add%3CF%3E-for-SymbolicVariable%3CF%3E"],[29,"impl-Add%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[31,"impl-AddAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[32,"impl-AddAssign-for-SymbolicExpression%3CF%3E"],[120,"impl-Display-for-FWrap%3CF%3E"],[121,"impl-Debug-for-FWrap%3CF%3E"],[122,"impl-Display-for-Location"],[123,"impl-Debug-for-Location"],[124,"impl-Display-for-SymbolicExpression%3CF%3E"],[125,"impl-Debug-for-SymbolicExpression%3CF%3E"],[126,"impl-Display-for-SymbolicVariable%3CF%3E"],[127,"impl-Debug-for-SymbolicVariable%3CF%3E"],[136,"impl-From%3CF%3E-for-SymbolicExpression%3CF%3E"],[137,"impl-From%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[207,"impl-Mul-for-SymbolicExpression%3CF%3E"],[208,"impl-Mul%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[209,"impl-Mul%3CF%3E-for-SymbolicExpression%3CF%3E"],[210,"impl-Mul%3CF%3E-for-SymbolicVariable%3CF%3E"],[211,"impl-Mul%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[212,"impl-Mul-for-SymbolicVariable%3CF%3E"],[214,"impl-MulAssign-for-SymbolicExpression%3CF%3E"],[215,"impl-MulAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[227,"impl-Product%3CF%3E-for-SymbolicExpression%3CF%3E"],[228,"impl-Product-for-SymbolicExpression%3CF%3E"],[233,"impl-Sub%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[234,"impl-Sub%3CF%3E-for-SymbolicExpression%3CF%3E"],[235,"impl-Sub-for-SymbolicExpression%3CF%3E"],[236,"impl-Sub%3CF%3E-for-SymbolicVariable%3CF%3E"],[237,"impl-Sub-for-SymbolicVariable%3CF%3E"],[238,"impl-Sub%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[240,"impl-SubAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[241,"impl-SubAssign-for-SymbolicExpression%3CF%3E"],[243,"impl-Sum%3CF%3E-for-SymbolicExpression%3CF%3E"],[244,"impl-Sum-for-SymbolicExpression%3CF%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABgBBQABABAAFQBwAIkAAQCSACoAxwBpAA=="}]\ +["halo2_frontend",{"t":"CCCFFKRKRFFFFREFFKFFNNNNNNNNNNNNNNNNNNMNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHMNNMNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNCMNNNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEECCFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNPGKFPKKMNMNMNMMNNNNNNNNNNNMNMNNNNNNNMNNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNPPPGEFFPPGPPGPFPPPPPFPGNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCCCCCGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKKKRFKRFRMMMNNNNNNNNNNNNCMNCMNNNNNNNNNMMNNNMCMNNNNNNMNNNNNNNNNNMMMNNNMMMNNNNNNNNNNNNNNNMFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFPFPGFPFPFPKPPFFPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKNNNNNNNNNNNNNNNNNMNNNNNPGPPPPPPPGPPPPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNN","n":["circuit","dev","plonk","AssignedCell","Cell","Chip","Config","Layouter","Loaded","NamespacedLayouter","Region","RegionIndex","RegionStart","Root","SimpleFloorPlanner","SimpleTableLayouter","Table","TableLayouter","Value","WitnessCalculator","add","add","add","add","add","add","add","add","add","add","and_then","as_mut","as_ref","assert_if_known","assign","assign_advice","assign_advice_from_constant","assign_advice_from_instance","assign_cell","assign_cell","assign_cell","assign_fixed","assign_region","assign_region","assign_table","assign_table","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","calc","cell","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cloned","column","compile_circuit","config","constrain_constant","constrain_equal","constrain_instance","constrain_instance","copied","copied","copy_advice","cube","default","default_and_assigned","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","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable_selector","eq","error_if_known_and","evaluate","evaluate","floor_planner","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_iter","get_challenge","get_challenge","get_root","get_root","init","init","init","init","init","init","init","init","init","init","instance_value","into","into","into","into","into","into","into","into","into","into","into_field","invert","known","layouter","loaded","map","mul","mul","mul","mul","mul","mul","mul","mul","mul","mul","name_column","namespace","neg","new","new","pop_namespace","pop_namespace","push_namespace","push_namespace","region_index","row_offset","square","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","to_field","to_owned","to_owned","to_owned","to_owned","to_owned","transpose_array","transpose_vec","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unknown","unzip","value","value_field","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","zip","V1","V1Pass","single_pass","v1","SimpleFloorPlanner","SingleChipLayouter","assign_region","assign_table","borrow","borrow","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_challenge","get_root","init","init","into","into","new","pop_namespace","push_namespace","synthesize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AssignmentPass","MeasurementPass","V1","V1Pass","assign_region","assign_table","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","get_challenge","get_root","init","init","init","init","into","into","into","into","pop_namespace","push_namespace","strategy","synthesize","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","Column","RegionColumn","RegionLayouter","RegionShape","Selector","SyncDeps","TableLayouter","assign_advice","assign_advice","assign_advice_from_constant","assign_advice_from_constant","assign_advice_from_instance","assign_advice_from_instance","assign_cell","assign_fixed","assign_fixed","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","columns","constrain_constant","constrain_constant","constrain_equal","constrain_equal","deref","deref","deref_mut","deref_mut","drop","drop","enable_selector","enable_selector","eq","fmt","fmt","from","from","from","from","hash","init","init","instance_value","instance_value","into","into","name_column","name_column","new","partial_cmp","region_index","row_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Assigned","Assigned","CellNotAssigned","CellValue","CircuitCost","CircuitGates","CircuitLayout","ConstraintNotSatisfied","ConstraintPoisoned","FailureLocation","InRegion","InstanceCellNotAssigned","InstanceValue","Lookup","MockProver","OutsideRegion","Padding","Permutation","Poison","Shuffle","TracingFloorPlanner","Unassigned","VerifyFailure","advice","advice_mut","advice_values","annotate_column","assert_satisfied","assert_satisfied_at_rows","assign_advice","assign_fixed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_dot_graph","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","collect","copy","cost","cost_model","cs","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","drop","drop","drop","drop","drop","drop","drop","drop","emit","enable_selector","enter_region","eq","eq","eq","eq","exit_region","fill_from_row","fixed","fixed_values","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_challenge","init","init","init","init","init","init","init","init","instance","instance_mut","into","into","into","into","into","into","into","into","mark_equality_cells","metadata","pop_namespace","push_namespace","queries_to_csv","query_instance","render","run","selectors","show_equality_constraints","show_labels","synthesize","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","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","usable_rows","value","verify","verify_at_rows","view_height","view_width","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","offset","region","row","cell_values","column","column","column","constraint","constraint","gate","gate","gate_offset","gate_offset","location","location","location","location","lookup_index","name","name","offset","region","region","row","shuffle_index","CircuitCost","MarginalProofSize","ProofSize","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","marginal_proof_size","measure","proof_size","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","CommitmentScheme","CostOptions","KZGGWC","KZGSHPLONK","Lookup","ModelCircuit","Permutation","Poly","Shuffle","advice","advice_columns","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_into","clone_into","clone_into","clone_into","cmp","column_queries","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","eq","eq","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_circuit_to_cost_model_options","from_circuit_to_model_circuit","from_str","gate_degree","init","init","init","init","init","init","init","instance","into","into","into","into","into","into","into","into_model_circuit","k","k","lookup","lookups","max_deg","max_degree","partial_cmp","permutation","permutations","point_sets","rotations","serialize","serialize","shuffle","shuffles","size","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","Column","Constraint","Gate","Region","VirtualCell","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","column_type","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","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","hash","index","init","init","init","init","init","into","into","into","into","into","new","partial_cmp","partial_cmp","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","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","vzip","vzip","vzip","vzip","vzip","assigned","circuit","error","keygen","lookup","permutation","shuffle","Assigned","Rational","Trivial","Zero","add","add","add","add","add","add","add_assign","add_assign","borrow","borrow_mut","clone","clone_into","cube","denominator","deref","deref_mut","double","drop","eq","evaluate","fmt","from","from","from","from","from","init","into","invert","is_zero_vartime","mul","mul","mul","mul","mul_assign","mul_assign","neg","neg","numerator","square","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","to_owned","try_from","try_into","type_id","vzip","Advice","Assignment","Circuit","ColumnType","Config","Fixed","FloorPlanner","FloorPlanner","Instance","Params","annotate_column","assign_advice","assign_fixed","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","compress_selectors","configure","configure_with_params","constraint_system","copy","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","enable_selector","enter_region","eq","eq","eq","exit_region","expression","fill_from_row","fmt","fmt","fmt","from","from","from","get_challenge","hash","hash","hash","init","init","init","into","into","into","params","pop_namespace","push_namespace","query_cell","query_cell","query_cell","query_cell","query_instance","synthesize","synthesize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","without_witnesses","Constraint","ConstraintSystem","Constraints","Gate","VirtualCell","VirtualCells","advice_column","advice_column_in","advice_column_phase","advice_queries","annotate_column","annotate_lookup_any_column","annotate_lookup_column","blinding_factors","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge_phase","challenge_usable_after","clone","clone","clone","clone_into","clone_into","clone_into","column","complex_selector","compress_selectors","constants","constraint_name","create_gate","default","degree","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","directly_convert_selectors_to_fixed","drop","drop","drop","drop","drop","drop","enable_constant","enable_equality","fixed_column","fixed_queries","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","gates","general_column_annotations","get_any_query_index","init","init","init","init","init","init","instance_column","instance_queries","into","into","into","into","into","into","into_iter","lookup","lookup_any","lookup_table_column","lookups","minimum_rows","name","num_advice_columns","num_challenges","num_fixed_columns","num_instance_columns","num_selectors","permutation","phases","polynomials","queried_cells","queried_selectors","query_advice","query_any","query_challenge","query_fixed","query_instance","query_selector","rotation","selector","set_minimum_degree","shuffle","shuffles","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","unblinded_advice_column","unblinded_advice_column_in","vzip","vzip","vzip","vzip","vzip","vzip","with_selector","Advice","AdviceQuery","Challenge","Challenge","Column","Constant","Expression","FirstPhase","Fixed","FixedQuery","Instance","InstanceQuery","Negated","Phase","Product","Scaled","SecondPhase","Selector","Selector","Sum","TableColumn","ThirdPhase","add","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","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","column_index","column_index","column_index","column_index","column_index","column_index","column_type","column_type","complexity","cur","degree","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","eq","eq","eq","eq","eq","eq","eq","eq","evaluate","evaluate_lazy","expr","expr","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","hash","hash","hash","hash","identifier","index","index","index","index","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","inner","into","into","into","into","into","into","into","into","into","into","into","is_simple","mul","mul","neg","new","next","partial_cmp","partial_cmp","phase","prev","product","query_cell","query_cells","rot","rotation","rotation","rotation","rotation","rotation","rotation","sealed","square","sub","sum","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_sealed","to_sealed","to_sealed","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","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","Phase","SealedPhase","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","fmt","from","hash","init","into","partial_cmp","prev","to_owned","to_sealed","to_sealed","try_from","try_into","type_id","vzip","AssignAdvice","AssignError","AssignError","AssignFixed","BoundsFailure","ColumnNotAssigned","ColumnNotInPermutation","Copy","EnableSelector","Error","FillFromRow","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","Other","OverwriteDefault","QueryInstance","Synthesis","TableError","TableError","UnevenColumnLengths","UsedColumn","WitnessMissing","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","not_enough_rows_available","to_string","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","col","col","col","col","desc","desc","desc","desc","from_row","func","k","k","k","k","k","k","left_col","left_row","right_col","right_row","row","row","row","row","selector","usable_rows","usable_rows","usable_rows","usable_rows","usable_rows","usable_rows","current_k","Argument","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","into","name","new","table_expressions","to_owned","try_from","try_into","type_id","vzip","Argument","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","fmt","from","get_columns","init","into","to_owned","try_from","try_into","type_id","vzip","Argument","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","into","name","new","shuffle_expressions","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"halo2_frontend"],[3,"halo2_frontend::circuit"],[275,"halo2_frontend::circuit::floor_planner"],[279,"halo2_frontend::circuit::floor_planner::single_pass"],[316,"halo2_frontend::circuit::floor_planner::v1"],[381,"halo2_frontend::circuit::layouter"],[449,"halo2_frontend::dev"],[641,"halo2_frontend::dev::FailureLocation"],[644,"halo2_frontend::dev::VerifyFailure"],[666,"halo2_frontend::dev::cost"],[711,"halo2_frontend::dev::cost_model"],[854,"halo2_frontend::dev::metadata"],[972,"halo2_frontend::plonk"],[979,"halo2_frontend::plonk::assigned"],[1036,"halo2_frontend::plonk::circuit"],[1125,"halo2_frontend::plonk::circuit::constraint_system"],[1280,"halo2_frontend::plonk::circuit::expression"],[1545,"halo2_frontend::plonk::circuit::expression::sealed"],[1570,"halo2_frontend::plonk::error"],[1638,"halo2_frontend::plonk::error::AssignError"],[1669,"halo2_frontend::plonk::error::Error"],[1670,"halo2_frontend::plonk::lookup"],[1691,"halo2_frontend::plonk::permutation"],[1710,"halo2_frontend::plonk::shuffle"],[1731,"halo2_frontend::circuit::value"],[1732,"ff"],[1733,"core::ops::arith"],[1734,"core::ops::function"],[1735,"core::result"],[1736,"alloc::string"],[1737,"core::convert"],[1738,"halo2_frontend::circuit::table_layouter"],[1739,"std::collections::hash::map"],[1740,"alloc::vec"],[1741,"core::option"],[1742,"core::clone"],[1743,"halo2_middleware::circuit"],[1744,"core::fmt"],[1745,"core::marker"],[1746,"core::borrow"],[1747,"core::iter::traits::collect"],[1748,"core::any"],[1749,"core::cmp"],[1750,"std::collections::hash::set"],[1751,"core::hash"],[1752,"core::iter::traits::iterator"],[1753,"halo2_frontend::dev::failure"],[1754,"halo2_frontend::dev::gates"],[1755,"halo2_frontend::dev::graph::layout"],[1756,"halo2_frontend::dev::tfp"],[1757,"plotters::coord"],[1758,"plotters::drawing::area"],[1759,"plotters_backend"],[1760,"core::ops::range"],[1761,"group::prime"],[1762,"serde::de"],[1763,"serde::ser"],[1764,"core::default"],[1765,"halo2_middleware::poly"],[1766,"halo2_frontend::dev::graph"]],"i":[0,0,0,0,0,0,48,0,48,0,0,0,0,30,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,13,13,13,23,25,27,13,30,31,30,31,25,3,32,40,41,38,17,13,27,31,25,3,32,40,41,38,17,13,27,31,32,17,3,40,41,38,17,3,40,41,38,17,3,3,38,0,48,13,13,30,31,3,3,17,3,3,25,25,3,32,40,40,41,41,38,17,13,27,31,25,3,32,40,41,38,17,13,27,31,3,25,3,32,40,41,38,17,13,27,31,31,13,41,3,3,17,0,25,3,32,40,41,38,17,13,27,31,25,3,3,32,40,40,41,41,38,17,13,13,27,27,31,3,30,31,30,31,25,3,32,40,41,38,17,13,27,31,13,25,3,32,40,41,38,17,13,27,31,3,3,3,0,48,3,3,3,3,3,3,3,3,3,3,3,13,30,3,25,32,30,31,30,31,38,38,3,3,3,3,3,3,3,3,3,3,3,3,3,40,41,38,17,3,3,25,3,32,40,41,38,17,13,27,31,25,3,32,40,41,38,17,13,27,31,25,3,32,40,41,38,17,13,27,31,3,3,17,17,25,3,32,40,41,38,17,13,27,31,3,0,0,0,0,0,0,67,67,67,69,67,69,67,67,69,67,69,67,69,67,69,67,69,67,67,67,69,67,69,67,67,67,69,67,69,67,69,67,69,67,69,0,0,0,0,70,70,71,70,72,73,71,70,72,73,70,71,70,72,73,71,70,72,73,71,70,72,73,71,70,72,73,71,70,72,73,70,70,71,70,72,73,71,70,72,73,70,70,0,71,71,70,72,73,71,70,72,73,71,70,72,73,71,70,72,73,75,0,0,0,75,0,0,55,74,55,74,55,74,23,55,74,74,75,74,75,74,75,74,75,75,74,55,74,55,74,74,75,74,75,74,75,55,74,75,74,75,74,75,75,75,75,74,75,55,74,74,75,55,74,74,75,74,74,74,75,74,75,74,75,74,75,74,75,80,86,85,0,0,0,0,85,85,0,84,85,0,85,0,84,86,85,80,85,0,80,0,79,79,79,79,79,79,79,79,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,0,84,85,80,86,84,85,80,86,87,79,0,0,79,88,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,85,79,79,84,85,80,86,79,79,79,79,84,84,85,85,87,87,91,88,80,79,86,84,85,87,91,88,80,79,86,79,84,85,87,91,88,80,79,86,79,79,84,85,87,91,88,80,79,86,88,0,79,79,87,79,88,79,79,88,88,91,84,85,80,86,84,85,87,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,84,85,87,91,88,80,79,86,79,86,79,79,88,88,84,85,87,91,88,80,79,86,146,146,147,148,149,150,151,148,152,149,150,149,150,148,153,154,151,153,153,154,149,149,150,150,154,0,0,0,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,100,101,98,98,98,98,100,101,98,100,101,98,100,101,98,100,101,0,0,108,108,0,0,0,0,0,109,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,102,103,104,105,102,103,104,105,102,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,104,107,108,109,102,103,104,105,107,108,102,109,108,109,102,103,104,105,107,108,109,102,103,104,105,107,0,0,102,109,108,109,102,103,104,105,107,109,108,109,102,103,104,105,107,109,109,107,109,107,107,109,102,109,107,107,102,104,107,109,107,107,102,103,104,105,108,109,102,103,104,105,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,108,109,102,103,104,105,107,0,0,0,0,0,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,112,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,112,113,113,114,114,115,115,116,116,112,112,113,113,113,113,114,114,115,115,116,116,116,116,116,112,112,112,113,114,115,116,112,113,114,115,116,112,112,113,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,112,113,114,115,116,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,37,0,0,37,0,37,26,26,26,14,28,22,14,28,22,14,28,22,14,28,22,0,37,37,0,26,14,28,22,14,28,22,14,28,22,26,26,14,28,22,26,0,26,14,28,22,14,28,22,26,14,28,22,14,28,22,14,28,22,37,26,26,123,14,28,22,26,92,37,14,28,22,14,28,22,14,28,22,14,28,22,14,28,22,37,0,0,0,0,0,0,44,44,44,44,44,44,44,44,117,128,130,127,44,129,117,128,130,127,44,129,44,44,117,127,44,117,127,44,117,44,44,44,127,44,44,44,117,128,130,127,44,129,117,128,130,127,44,129,44,117,128,130,127,44,129,44,44,44,44,117,128,130,127,44,129,117,117,128,128,128,130,127,44,129,44,44,44,117,128,130,127,44,129,44,44,117,128,130,127,44,129,130,44,44,44,44,44,127,44,44,44,44,44,44,44,127,127,127,129,129,129,129,129,129,117,44,44,44,44,117,127,44,117,128,130,127,44,129,117,128,130,127,44,129,117,128,130,127,44,129,44,44,117,128,130,127,44,129,130,125,0,0,125,0,125,0,0,125,0,125,0,125,0,125,125,0,0,125,125,0,0,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,52,135,136,137,24,59,125,15,52,135,136,137,24,59,125,15,24,135,136,137,135,136,137,15,15,125,15,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,52,15,52,135,136,137,24,59,125,125,125,52,59,15,138,139,140,52,135,136,137,24,59,125,15,15,15,15,15,138,139,140,52,135,136,137,24,59,59,125,15,52,24,59,125,15,52,59,15,135,136,137,59,15,138,139,140,52,135,136,137,24,59,125,24,15,138,139,140,52,135,136,137,24,59,125,52,125,125,125,15,15,15,24,59,15,125,15,125,15,135,136,137,135,136,137,0,125,125,125,15,52,135,136,137,24,59,125,138,139,140,15,15,15,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,15,138,139,140,52,135,136,137,24,59,125,0,0,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,143,133,133,133,133,133,145,0,11,145,11,144,11,145,145,0,145,11,11,11,144,145,11,0,11,144,144,145,11,144,145,11,144,145,11,144,145,11,144,145,11,144,145,11,11,144,144,145,145,11,144,145,11,144,145,11,144,145,11,11,144,145,11,144,145,11,144,145,11,144,145,11,144,145,155,156,157,158,155,156,159,160,158,160,155,156,159,157,161,158,161,161,161,161,155,156,159,157,159,155,156,159,157,161,158,162,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,0,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134],"f":"````````````````````{{{f{{d{{b{c}}}}}}c}eh{}}{{{f{{b{c}}}}{f{c}}}eh{}}{{{f{{d{c}}}}{f{c}}}e{}{}}{{{f{e}}{f{e}}}g{}{{l{}{{j{c}}}}}{}}{{{f{{b{c}}}}c}eh{}}{{{f{c}}{f{{d{c}}}}}g{{l{d}{{j{}}}}}{}{}}{{{d{{f{c}}}}{f{c}}}e{}{}}{{{d{{f{c}}}}{d{{f{c}}}}}e{}{}}{{{f{c}}{d{{f{c}}}}}g{{l{d}{{j{}}}}}{}{}}{{{f{{d{{b{c}}}}}}{f{c}}}eh{}}{{{f{c}}g}{{f{e}}}{}{}{{n{c}{{j{{f{e}}}}}}}}{{{d{A`{f{c}}}}}{{f{{d{A`c}}}}}{}}{{{d{{f{c}}}}}{{f{{d{c}}}}}{}}{{{d{{f{c}}}}e}Ab{}{{n{{d{c}}}{{j{Ad}}}}}}{{{f{c}}}{{Ah{cAf}}}{}}{{{d{A`{Aj{c}}}}g{An{Al}}B`k}{{Ah{{Bb{ic}}Af}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}{}{{Bj{}{{j{{f{i}}}}}}}}{{{d{A`{Aj{c}}}}g{An{Al}}B`i}{{Ah{{Bb{ic}}Af}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}{}}{{{d{A`{Aj{c}}}}g{An{Bl}}B`{An{Al}}B`}{{Ah{{Bb{cc}}Af}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}}{{{d{A`Bn}}{d{Bh}}C`B`{d{A`Bj}}}{{Ah{AbAf}}}}{{{d{A`{Cb{ce}}}}{d{Bh}}C`B`{d{A`Bj}}}{{Ah{AbAf}}}h{{Cd{c}}}}{{{d{A`{Cf{c}}}}gC`B`k}{{Ah{AbAf}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}{{Bf{{b{c}}}}}{{Bj{}{{j{{f{i}}}}}}}}{{{d{A`{Aj{c}}}}g{An{Ch}}B`k}{{Ah{{Bb{ic}}Af}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}{}{{Bj{}{{j{{f{i}}}}}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}im}{{Ah{kAf}}}{{Cl{e}}}h{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{}{{Bj{{Aj{e}}}{{j{{Ah{kAf}}}}}}}}{{{d{A`{Cn{ce}}}}im}{{Ah{kAf}}}h{{Cl{c}}}{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{}{{Bj{{Aj{c}}}{{j{{Ah{kAf}}}}}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}ik}{{Ah{AbAf}}}{{Cl{e}}}h{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{{Bj{{Cf{e}}}{{j{{Ah{AbAf}}}}}}}}{{{d{A`{Cn{ce}}}}ik}{{Ah{AbAf}}}h{{Cl{c}}}{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{{Bj{{Cf{c}}}{{j{{Ah{AbAf}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}000000000{{{d{A`c}}}{{d{A`e}}}{}{}}000000000{{{d{A`{D`{ce}}}}Db{d{{Dd{B`c}}}}}{{Ah{{Df{{Dh{{Df{c}}}}}}Af}}}h{{Dj{c}}}}{{{d{{Bb{ce}}}}}Dl{}h}{{{d{{f{c}}}}}{{f{c}}}Dn}{{{d{E`}}}E`}{{{d{Eb}}}Eb}{{{d{Dl}}}Dl}{{{d{{Bb{ce}}}}}{{Bb{ce}}}Dn{Dnh}}{{{d{c}}{d{A`e}}}Ab{}{}}0000{{{f{{d{c}}}}}{{f{c}}}Dn}{{{f{{d{A`c}}}}}{{f{c}}}Dn}`{{Ed{d{e}}Ad}{{Ah{{Ej{{Ef{c}}{Eh{c}}}}Af}}}h{{Dj{c}}}}{{{d{{F`{}{{El{c}}{En{e}}}}}}}{{d{c}}}{FbDn}{FbDn}}{{{d{A`{Aj{c}}}}Dle}{{Ah{AbAf}}}h{{Bf{{b{c}}}}}}{{{d{A`{Aj{c}}}}DlDl}{{Ah{AbAf}}}h}{{{d{A`{Cl{}{{Cj{c}}}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}{{Cl{e}}}h}{{{d{A`{Cn{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}h{{Cl{c}}}}{{{f{{d{c}}}}}{{f{c}}}Fd}{{{f{{d{A`c}}}}}{{f{c}}}Fd}{{{d{{Bb{ce}}}}i{d{A`{Aj{e}}}}{An{Al}}B`}{{Ah{{Bb{ce}}Af}}}Dnh{{Bf{Bd}}}{{Bh{}{{j{g}}}}}}{{{d{{f{e}}}}}{{f{{b{c}}}}}h{{Ff{{b{c}}}}}}{{}{{f{c}}}{}}`{B`{{d{c}}}{}}00{{{d{E`}}}{{d{c}}}{}}11{{{d{Eb}}}{{d{c}}}{}}22222{B`{{d{A`c}}}{}}0000000005{B`Ab}00000000{{{d{A`{Cn{ce}}}}}Abh{{Cl{c}}}}1{{{d{A`{Aj{c}}}}g{d{Fh}}B`}{{Ah{AbAf}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}}{{{d{Eb}}{d{Eb}}}Ad}{{{d{{f{c}}}}e}{{Ah{AbAf}}}{}{{n{{d{c}}}{{j{Ad}}}}}}{{{f{{b{c}}}}}{{f{c}}}h}{{{Bb{{b{c}}c}}}{{Bb{cc}}}h}`{{{d{{Cb{ce}}}}{d{A`Fj}}}Flh{{Cd{c}}}}{{{d{{f{c}}}}{d{A`Fj}}}FlFb}{{{d{{D`{ce}}}}{d{A`Fj}}}Fl{Fbh}{Fb{Dj{c}}}}{{{d{E`}}{d{A`Fj}}}Fl}{{{d{Eb}}{d{A`Fj}}}Fl}{{{d{Dl}}{d{A`Fj}}}Fl}{{{d{{Bb{ce}}}}{d{A`Fj}}}FlFb{Fbh}}{{{d{{Aj{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{d{{Cf{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{d{{Cn{ce}}}}{d{A`Fj}}}Fl{Fbh}{Fb{Cl{c}}}}{cc{}}0{{{f{c}}}{{f{{b{c}}}}}h}11{B`E`}2{B`Eb}333{{{d{A`Fn}}}{{Aj{c}}}h}{{{d{A`Bn}}}{{Cf{c}}}h}55{e{{f{g}}}{}{{Gb{}{{G`{{f{c}}}}}}}{{Gd{c}}}}{{{d{{Cl{}{{Cj{c}}}}}}Gf}{{f{e}}}{{Cl{e}}}h}{{{d{{Cn{ce}}}}Gf}{{f{c}}}h{{Cl{c}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}}{{d{A`c}}}{{Cl{e}}}h}{{{d{A`{Cn{ce}}}}}{{d{A`g}}}h{{Cl{c}}}{}}{{}B`}000000000{{{d{A`{Aj{c}}}}{An{Bl}}B`}{{Ah{{f{c}}Af}}}h}{ce{}{}}000000000{{{f{e}}}{{f{{b{c}}}}}h{{Bf{{b{c}}}}}}{{{d{{f{e}}}}}{{f{{b{c}}}}}h{{Ff{{b{c}}}}}}{c{{f{c}}}{}}`{{{d{{F`{}{{El{c}}{En{e}}}}}}}{{d{e}}}{FbDn}{FbDn}}{{{f{c}}g}{{f{e}}}{}{}{{n{c}{{j{e}}}}}}{{{d{{f{c}}}}{f{c}}}e{}{}}{{{f{{d{c}}}}{f{c}}}e{}{}}{{{f{c}}{f{{d{c}}}}}g{{Gh{d}{{j{}}}}}{}{}}{{{f{e}}{f{e}}}g{}{{Gh{}{{j{c}}}}}{}}{{{f{c}}{d{{f{c}}}}}g{{Gh{d}{{j{}}}}}{}{}}{{{f{{d{{b{c}}}}}}c}eh{}}{{{f{{b{c}}}}{f{c}}}eh{}}{{{f{{d{{b{c}}}}}}{f{c}}}eh{}}{{{f{{b{c}}}}c}eh{}}{{{d{{f{c}}}}{d{{f{c}}}}}e{}{}}{{{d{A`{Aj{c}}}}gi}Abh{{Bf{Bd}}}{{Bh{}{{j{e}}}}}{{Bf{{An{Gj}}}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}i}{{Cn{ec}}}{{Cl{e}}}h{{Bf{Bd}}}{{n{}{{j{g}}}}}}{{{f{c}}}eGl{}}{{{d{A`e}}{d{{Gn{C`}}}}}{{Cb{ce}}}h{{Cd{c}}}}{{Ed{d{e}}d{d{{Eh{c}}}}{d{{Gn{{Df{c}}}}}}}{{D`{ce}}}h{{Dj{c}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}{Dh{Bd}}}Ab{{Cl{e}}}h}{{{d{A`{Cn{ce}}}}{Dh{Bd}}}Abh{{Cl{c}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}i}Ab{{Cl{e}}}h{{Bf{Bd}}}{{n{}{{j{g}}}}}}{{{d{A`{Cn{ce}}}}i}Abh{{Cl{c}}}{{Bf{Bd}}}{{n{}{{j{g}}}}}}``{{{d{{f{e}}}}}{{f{{b{c}}}}}h{{Ff{{b{c}}}}}};{{{f{{d{c}}}}{f{c}}}e{}{}}{{{f{c}}{f{{d{c}}}}}g{{H`{d}{{j{}}}}}{}{}}{{{f{{d{{b{c}}}}}}c}eh{}}{{{d{{f{c}}}}{f{c}}}e{}{}}{{{f{{b{c}}}}{f{c}}}eh{}}?{{{f{{d{{b{c}}}}}}{f{c}}}eh{}}{{{f{c}}{d{{f{c}}}}}g{{H`{d}{{j{}}}}}{}{}}{{{f{e}}{f{e}}}g{}{{H`{}{{j{c}}}}}{}}{{{d{{f{c}}}}}{{f{{b{e}}}}}{}h}{{{d{c}}}e{}{}}0000{{{f{{Hb{c}}}}}{{Hb{{f{c}}}}}Fd}{{{f{e}}B`}{{Df{{f{c}}}}}{}{{Gb{}{{G`{c}}}}}}{c{{Ah{e}}}{}{}}0000000000000000000{{{d{c}}}Hd{}}000000000{{}{{f{c}}}{}}{{{f{{Ej{ce}}}}}{{Ej{{f{c}}{f{e}}}}}{}{}}{{{d{{Bb{ce}}}}}{{f{{d{c}}}}}{}h}{{{d{{Bb{ce}}}}}{{f{{b{e}}}}}{}h}{ce{}{}}000000000{{{f{c}}{f{e}}}{{f{{Ej{ce}}}}}{}{}}``````{{{d{A`{Hf{ce}}}}im}{{Ah{kAf}}}h{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{}{{Bj{{Aj{c}}}{{j{{Ah{kAf}}}}}}}}{{{d{A`{Hf{ce}}}}ik}{{Ah{AbAf}}}h{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{{Bj{{Cf{c}}}{{j{{Ah{AbAf}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0{{{d{A`{Hf{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}h{{Cd{c}}Hh}}{B`{{d{c}}}{}}0{B`{{d{A`c}}}{}}0{B`Ab}0{{{d{{Hf{ce}}}}{d{A`Fj}}}Flh{{Cd{c}}}}{{{d{Hj}}{d{A`Fj}}}Fl}{cc{}}0{{{d{{Hf{ce}}}}Gf}{{f{c}}}h{{Cd{c}}Hh}}{{{d{A`{Hf{ce}}}}}{{d{A`g}}}h{{Cd{c}}Hh}{}}{{}B`}0??{{{d{A`e}}{Df{{An{Ch}}}}}{{Ah{{Hf{ce}}Af}}}h{{Cd{c}}}}{{{d{A`{Hf{ce}}}}{Dh{Bd}}}Abh{{Cd{c}}Hh}}{{{d{A`{Hf{ce}}}}i}Abh{{Cd{c}}Hh}{{Bf{Bd}}}{{n{}{{j{g}}}}}}{{{d{A`e}}{d{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}h{{Cd{c}}Hh}{{Dj{c}}}}{c{{Ah{e}}}{}{}}000{{{d{c}}}Hd{}}0{ce{}{}}0````{{{d{A`{Hl{ce}}}}im}{{Ah{kAf}}}h{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{}{{Bj{{Aj{c}}}{{j{{Ah{kAf}}}}}}}}{{{d{A`{Hl{ce}}}}ik}{{Ah{AbAf}}}h{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{j{g}}}}}{{Bj{{Cf{c}}}{{j{{Ah{AbAf}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{A`c}}}{{d{A`e}}}{}{}}000{{{d{A`{Hl{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}h{{Cd{c}}Hh}}{B`{{d{c}}}{}}000{B`{{d{A`c}}}{}}000{B`Ab}000{{{d{Hn}}{d{A`Fj}}}Fl}{{{d{{Hl{ce}}}}{d{A`Fj}}}Fl{Fbh}{Fb{Cd{c}}}}{{{d{I`}}{d{A`Fj}}}Fl}{{{d{{Ib{ce}}}}{d{A`Fj}}}Fl{Fbh}{Fb{Cd{c}}}}{cc{}}000{{{d{{Hl{ce}}}}Gf}{{f{c}}}h{{Cd{c}}Hh}}{{{d{A`{Hl{ce}}}}}{{d{A`g}}}h{{Cd{c}}Hh}{}}{{}B`}000{ce{}{}}000{{{d{A`{Hl{ce}}}}{Dh{Bd}}}Abh{{Cd{c}}Hh}}{{{d{A`{Hl{ce}}}}i}Abh{{Cd{c}}Hh}{{Bf{Bd}}}{{n{}{{j{g}}}}}}`{{{d{A`e}}{d{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}h{{Cd{c}}Hh}{{Dj{c}}}}{c{{Ah{e}}}{}{}}0000000{{{d{c}}}Hd{}}0005555```````{{{d{A`Fn}}{d{Bh}}{An{Al}}B`{d{A`Bj}}}{{Ah{DlAf}}}}{{{d{A`Id}}{d{Bh}}{An{Al}}B`{d{A`Bj}}}{{Ah{DlAf}}}}{{{d{A`Fn}}{d{Bh}}{An{Al}}B`{b{c}}}{{Ah{DlAf}}}h}{{{d{A`Id}}{d{Bh}}{An{Al}}B`{b{c}}}{{Ah{DlAf}}}h}{{{d{A`Fn}}{d{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{f{c}}}}Af}}}h}{{{d{A`Id}}{d{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{f{c}}}}Af}}}h}{{{d{A`Bn}}{d{Bh}}C`B`{d{A`Bj}}}{{Ah{AbAf}}}}{{{d{A`Fn}}{d{Bh}}{An{Ch}}B`{d{A`Bj}}}{{Ah{DlAf}}}}{{{d{A`Id}}{d{Bh}}{An{Ch}}B`{d{A`Bj}}}{{Ah{DlAf}}}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0{{{d{Id}}}Id}{{{d{If}}}If}{{{d{c}}{d{A`e}}}Ab{}{}}0{{{d{If}}{d{If}}}Ih}{{{d{Id}}}{{d{{Ij{If}}}}}}{{{d{A`Fn}}Dl{b{c}}}{{Ah{AbAf}}}h}{{{d{A`Id}}Dl{b{c}}}{{Ah{AbAf}}}h}{{{d{A`Fn}}DlDl}{{Ah{AbAf}}}}{{{d{A`Id}}DlDl}{{Ah{AbAf}}}}{B`{{d{c}}}{}}0{B`{{d{A`c}}}{}}0{B`Ab}0{{{d{A`Fn}}{d{Bh}}{d{Fh}}B`}{{Ah{AbAf}}}}{{{d{A`Id}}{d{Bh}}{d{Fh}}B`}{{Ah{AbAf}}}}{{{d{If}}{d{If}}}Ad}{{{d{Id}}{d{A`Fj}}}Fl}{{{d{If}}{d{A`Fj}}}Fl}{cc{}}{FhIf}{{{An{Gj}}}If}2{{{d{If}}{d{A`c}}}AbIl}{{}B`}0{{{d{A`Fn}}{An{Bl}}B`}{{Ah{{f{c}}Af}}}h}{{{d{A`Id}}{An{Bl}}B`}{{Ah{{f{c}}Af}}}h}{ce{}{}}0{{{d{A`Fn}}{d{Bh}}{An{Gj}}}Ab}{{{d{A`Id}}{d{Bh}}{An{Gj}}}Ab}{E`Id}{{{d{If}}{d{If}}}{{Dh{Ih}}}}{{{d{Id}}}E`}{{{d{Id}}}B`}{{{d{c}}}e{}{}}0{c{{Ah{e}}}{}{}}000{{{d{c}}}Hd{}}099```````````````````````{{{d{{In{c}}}}}{{d{{Df{{Df{{J`{c}}}}}}}}}{JbJd}}{{{d{A`{In{c}}}}B`}{{d{A`{Gn{{J`{c}}}}}}}h}{{{d{{In{c}}}}{An{Al}}}{{d{{Gn{{J`{c}}}}}}}{JbJd}}{{{d{A`{In{c}}}}g{An{Gj}}}Abh{{Bf{Bd}}}{{n{}{{j{e}}}}}}{{{d{{In{c}}}}}Ab{JbJd}}{{{d{{In{c}}}}ee}Ab{JbJd}{Dn{Jf{}{{G`{B`}}}}}}{{{d{A`{In{c}}}}g{An{Al}}B`k}{{Ah{AbAf}}}h{{Bf{Bd}}}{{n{}{{j{e}}}}}{{Bf{{b{c}}}}}{{n{}{{j{{f{i}}}}}}}}{{{d{A`{In{c}}}}g{An{Ch}}B`k}{{Ah{AbAf}}}h{{Bf{Bd}}}{{n{}{{j{e}}}}}{{Bf{{b{c}}}}}{{n{}{{j{{f{i}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{A`c}}}{{d{A`e}}}{}{}}0000000{{{d{e}}}Bdh{{Dj{c}}}}{{{d{Jh}}}Jh}{{{d{Jj}}}Jj}{{{d{{J`{c}}}}}{{J`{c}}}{Dnh}}{{{d{{Jl{c}}}}}{{Jl{c}}}{Dnh}}{{{d{c}}{d{A`e}}}Ab{}{}}000{{}Jn}{{{d{A`{In{c}}}}{An{Gj}}B`{An{Gj}}B`}{{Ah{AbAf}}}h}``{{{d{{In{c}}}}}{{d{{Eh{c}}}}}{JbJd}}{{}K`}{B`{{d{c}}}{}}0000000{B`{{d{A`c}}}{}}0000000{B`Ab}0000000{{{d{Jj}}{d{{In{c}}}}}Abh}{{{d{A`{In{c}}}}g{d{Fh}}B`}{{Ah{AbAf}}}h{{Bf{Bd}}}{{n{}{{j{e}}}}}}{{{d{A`{In{c}}}}g}Abh{{Bf{Bd}}}{{n{}{{j{e}}}}}}{{{d{Jh}}{d{Jh}}}Ad}{{{d{Jj}}{d{Jj}}}Ad}{{{d{{J`{c}}}}{d{{J`{c}}}}}Ad{Kbh}}{{{d{{Jl{c}}}}{d{{Jl{c}}}}}Ad{Kbh}}{{{d{A`{In{c}}}}}Abh}{{{d{A`{In{c}}}}{An{Ch}}B`{f{{b{c}}}}}{{Ah{AbAf}}}h}{{{d{{In{c}}}}}{{d{{Df{{Df{{J`{c}}}}}}}}}{JbJd}}{{{d{{In{c}}}}{An{Ch}}}{{d{{Gn{{J`{c}}}}}}}{JbJd}}{{{d{Jh}}{d{A`Fj}}}Fl}0{{{d{Jj}}{d{A`Fj}}}Fl}0{{{d{Jn}}{d{A`Fj}}}Fl}{{{d{Jn}}{d{A`Fj}}}{{Ah{AbKd}}}}{{{d{{Kf{c}}}}{d{A`Fj}}}Fl{FbKh}}{{{d{K`}}{d{A`Fj}}}Fl}{{{d{{J`{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{d{{In{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{d{{Jl{c}}}}{d{A`Fj}}}Fl{Fbh}}{cc{}}0000000{{{d{{In{c}}}}Gf}{{f{c}}}h}{{}B`}0000000{{{d{{In{c}}}}}{{d{{Df{{Df{{Jl{c}}}}}}}}}{JbJd}}{{{d{A`{In{c}}}}B`}{{d{A`{Gn{{Jl{c}}}}}}}h}{ce{}{}}0000000{{K`Ad}K`}`{{{d{A`{In{c}}}}{Dh{Bd}}}Abh}{{{d{A`{In{c}}}}g}Abh{{Bf{Bd}}}{{n{}{{j{e}}}}}}{{{d{Jn}}}Bd}{{{d{{In{c}}}}{An{Bl}}B`}{{Ah{{f{c}}Af}}}h}{{K`Ed{d{e}}{d{{Kl{gKj}}}}}{{Ah{AbKn}}}h{{Dj{c}}}L`}{{Ed{d{e}}{Df{{Df{c}}}}}{{Ah{{In{c}}Af}}}{JbJd}{{Dj{c}}}}{{{d{{In{c}}}}}{{d{{Df{{Df{Ad}}}}}}}{JbJd}}77{{{d{A`e}}{d{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}h{{Cd{c}}Hh}{{Dj{c}}}}{{{d{c}}}e{}{}}000{{{d{c}}}Bd{}}00{c{{Ah{e}}}{}{}}000000000000000{{{d{c}}}Hd{}}0000000{{{d{{In{c}}}}}{{d{{Lb{B`}}}}}{JbJd}}{{{d{{Jl{c}}}}}ch}{{{d{{In{c}}}}}{{Ah{Ab{Df{Jj}}}}}{JbJd}}{{{d{{In{c}}}}ee}{{Ah{Ab{Df{Jj}}}}}{JbJd}{Dn{Jf{}{{G`{B`}}}}}}{{K`{Lb{B`}}}K`}0{ce{}{}}0000000````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{A`c}}}{{d{A`e}}}{}{}}00{B`{{d{c}}}{}}00{B`{{d{A`c}}}{}}00{B`Ab}00{{{d{{Ld{ce}}}}{d{A`Fj}}}Fl{FbLf}{FbDj}}{{{d{{Lh{c}}}}{d{A`Fj}}}Fl{FbLf}}{{{d{{Lj{c}}}}{d{A`Fj}}}Fl{FbLf}}{cc{}}00{{}B`}00:::{{{d{{Ld{ce}}}}}{{Lh{c}}}LfDj}{{Ed{d{c}}}{{Ld{ec}}}DjLf}{{{d{{Ld{ce}}}}B`}{{Lj{c}}}LfDj}{c{{Ah{e}}}{}{}}00000{{{d{c}}}Hd{}}00???```````````>>>>>>>======={{{d{Ll}}}Ll}{{{d{Ln}}}Ln}{{{d{M`}}}M`}{{{d{Mb}}}Mb}{{{d{c}}{d{A`e}}}Ab{}{}}000{{{d{Ll}}{d{Ll}}}Ih}`{B`{{d{c}}}{}}000000{B`{{d{A`c}}}{}}000000{c{{Ah{M`}}}Md}{c{{Ah{Mf}}}Md}{B`Ab}000000{{{d{Mh}}{d{Mh}}}Ad}{{{d{Ll}}{d{Ll}}}Ad}`{{{d{Mh}}{d{A`Fj}}}Fl}{{{d{Mj}}{d{A`Fj}}}Fl}{{{d{Ll}}{d{A`Fj}}}Fl}{{{d{Ln}}{d{A`Fj}}}Fl}{{{d{M`}}{d{A`Fj}}}Fl}{{{d{Mb}}{d{A`Fj}}}Fl}{{{d{Mf}}{d{A`Fj}}}Fl}{cc{}}000000{{Ed{d{e}}{Df{{Df{c}}}}}Mj{JdhJb}{{Dj{c}}}}{{Ed{d{e}}{Df{{Df{c}}}}Mh}Mf{JdhJb}{{Dj{c}}}}{{{d{Ml}}}{{Ah{Llc}}}{}}`{{}B`}000000`{ce{}{}}000000{{{d{Mj}}Mh}Mf}``````{{{d{Ll}}{d{Ll}}}{{Dh{Ih}}}}````{{{d{M`}}c}AhMn}{{{d{Mf}}c}AhMn}```{{{d{c}}}e{}{}}000{c{{Ah{e}}}{}{}}0000000000000{{{d{c}}}Hd{}}0000007777777`````{{{d{c}}}{{d{e}}}{}{}}0000{{{d{A`c}}}{{d{A`e}}}{}{}}0000{{{d{N`}}}N`}{{{d{Nb}}}Nb}{{{d{Nd}}}Nd}{{{d{Nf}}}Nf}{{{d{Nh}}}Nh}{{{d{c}}{d{A`e}}}Ab{}{}}0000{{{d{N`}}{d{N`}}}Ih}{{{d{Nb}}{d{Nb}}}Ih}`{B`{{d{c}}}{}}0000{B`{{d{A`c}}}{}}0000{B`Ab}0000{{{d{N`}}{d{N`}}}Ad}{{{d{Nb}}{d{Nb}}}Ad}{{{d{Nd}}{d{Nd}}}Ad}{{{d{Nf}}{d{Nf}}}Ad}{{{d{Nh}}{d{Nh}}}Ad}{{{d{N`}}{d{A`Fj}}}{{Ah{AbKd}}}}0{{{d{Nb}}{d{A`Fj}}}Fl}0{{{d{Nd}}{d{A`Fj}}}Fl}0{{{d{Nf}}{d{A`Fj}}}Fl}0{{{d{Nh}}{d{A`Fj}}}Fl}0{{{An{Gj}}}N`}{cc{}}{NjNb}{{{Ej{cN`Nl}}}Nb{{Nn{Ml}}}}{{{Ej{N`Nl}}}Nb}3{{{Ej{B`c}}}Nd{{Nn{Ml}}}}4{{{Ej{NdB`c}}}Nf{{Nn{Ml}}}}5{{{Ej{B`{d{Ml}}}}}Nh}{{{Ej{B`Bd{Dd{N`Bd}}}}}Nh}7{{{Ej{B`{d{Ml}}{Dd{N`Bd}}}}}Nh}{{{Ej{B`Bd}}}Nh}{{{d{N`}}{d{A`c}}}AbIl}`{{}B`}0000{ce{}{}}0000{{GjB`}N`}{{{d{N`}}{d{N`}}}{{Dh{Ih}}}}{{{d{Nb}}{d{Nb}}}{{Dh{Ih}}}}{{{d{c}}}e{}{}}0000{{{d{c}}}Bd{}}0000{c{{Ah{e}}}{}{}}000000000{{{d{c}}}Hd{}}000077777```````````{{{d{{b{c}}}}{b{c}}}{{b{c}}}h}{{{d{{b{c}}}}c}{{b{c}}}h}{{{b{c}}c}{{b{c}}}h}{{{b{c}}{d{{b{c}}}}}{{b{c}}}h}{{{b{c}}{b{c}}}{{b{c}}}h}{{{d{{b{c}}}}{d{{b{c}}}}}{{b{c}}}h}{{{d{A`{b{c}}}}{d{{b{c}}}}}Abh}{{{d{A`{b{c}}}}{b{c}}}Abh}{{{d{c}}}{{d{e}}}{}{}}{{{d{A`c}}}{{d{A`e}}}{}{}}{{{d{{b{c}}}}}{{b{c}}}Dn}{{{d{c}}{d{A`e}}}Ab{}{}}{{{d{{b{c}}}}}{{b{c}}}h}{{{d{{b{c}}}}}{{Dh{c}}}h}{B`{{d{c}}}{}}{B`{{d{A`c}}}{}}3{B`Ab}{{{d{{b{c}}}}{d{{b{c}}}}}Adh}{{{b{c}}}ch}{{{d{{b{c}}}}{d{A`Fj}}}FlFb}{{{d{c}}}{{b{c}}}h}{c{{b{c}}}h}{cc{}}:{{{Ej{cc}}}{{b{c}}}h}{{}B`}{ce{}{}}={{{d{{b{c}}}}}Adh}{{{b{c}}{b{c}}}{{b{c}}}h}{{{d{{b{c}}}}c}{{b{c}}}h}{{{b{c}}{d{{b{c}}}}}{{b{c}}}h}{{{b{c}}c}{{b{c}}}h}{{{d{A`{b{c}}}}{b{c}}}Abh}{{{d{A`{b{c}}}}{d{{b{c}}}}}Abh}{{{d{{b{c}}}}}eh{}}{{{b{c}}}eh{}}{{{d{{b{c}}}}}ch}{{{d{{b{c}}}}}{{b{c}}}h}{{{d{{b{c}}}}{b{c}}}{{b{c}}}h}9:7{{{d{{b{c}}}}{d{{b{c}}}}}{{b{c}}}h}976{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}{ce{}{}}``````````{{{d{A`Cd}}e{An{Gj}}}Ab{{Bf{Bd}}}{{n{}{{j{c}}}}}}{{{d{A`Cd}}e{An{Al}}B`k}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{j{c}}}}}h{{Bf{{b{g}}}}}{{n{}{{j{{f{i}}}}}}}}{{{d{A`Cd}}e{An{Ch}}B`k}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{j{c}}}}}h{{Bf{{b{g}}}}}{{n{}{{j{{f{i}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}00{{{d{A`c}}}{{d{A`e}}}{}{}}00{{{d{Al}}}Al}{{{d{Ch}}}Ch}{{{d{Bl}}}Bl}{{{d{c}}{d{A`e}}}Ab{}{}}00`{{{d{A`{Eh{c}}}}}eh{}}{{{d{A`{Eh{c}}}}e}gh{}{}}`{{{d{A`Cd}}{An{Gj}}B`{An{Gj}}B`}{{Ah{AbAf}}}}{B`{{d{c}}}{}}00{B`{{d{A`c}}}{}}00{B`Ab}00{{{d{A`Cd}}e{d{Fh}}B`}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{j{c}}}}}}{{{d{A`Cd}}e}Ab{{Bf{Bd}}}{{n{}{{j{c}}}}}}{{{d{Al}}{d{Al}}}Ad}{{{d{Ch}}{d{Ch}}}Ad}{{{d{Bl}}{d{Bl}}}Ad}{{{d{A`Cd}}}Ab}`{{{d{A`Cd}}{An{Ch}}B`{f{{b{c}}}}}{{Ah{AbAf}}}h}{{{d{Al}}{d{A`Fj}}}Fl}{{{d{Ch}}{d{A`Fj}}}Fl}{{{d{Bl}}{d{A`Fj}}}Fl}{cc{}}00{{{d{Cd}}Gf}{{f{c}}}h}{{{d{Al}}{d{A`c}}}AbIl}{{{d{Ch}}{d{A`c}}}AbIl}{{{d{Bl}}{d{A`c}}}AbIl}{{}B`}00{ce{}{}}00{{{d{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}}}gDnKhOd}{{{d{A`Cd}}{Dh{Bd}}}Ab}{{{d{A`Cd}}e}Ab{{Bf{Bd}}}{{n{}{{j{c}}}}}}{{{d{Of}}B`Oh}{{Oj{c}}}h}{{{d{Al}}B`Oh}{{Oj{c}}}h}{{{d{Ch}}B`Oh}{{Oj{c}}}h}{{{d{Bl}}B`Oh}{{Oj{c}}}h}{{{d{Cd}}{An{Bl}}B`}{{Ah{{f{c}}Af}}}h}{{{d{A`e}}{d{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}h{{Cd{c}}Hh}{{Dj{c}}}}{{{d{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}}ck}{{Ah{AbAf}}}DnKhOdh{{Cl{i}}}}{{{d{c}}}e{}{}}00{c{{Ah{e}}}{}{}}00000{{{d{c}}}Hd{}}00==={{{d{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}}}{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}DnKhOd}``````{{{d{A`{Eh{c}}}}}{{An{Al}}}h}{{{d{A`{Eh{c}}}}e}{{An{Al}}}hOl}{{{d{{Eh{c}}}}}{{Df{Db}}}h}{{{d{{Eh{c}}}}}{{d{{Df{{Ej{{An{Al}}Oh}}}}}}}h}{{{d{A`{Eh{c}}}}ei}Abh{{Bf{{An{Gj}}}}}{{Bf{Bd}}}{{Bh{}{{j{g}}}}}}0{{{d{A`{Eh{c}}}}C`g}Abh{{Bf{Bd}}}{{Bh{}{{j{e}}}}}}{{{d{{Eh{c}}}}}B`h}{{{d{c}}}{{d{e}}}{}{}}00000{{{d{A`c}}}{{d{A`e}}}{}{}}000006{{{d{A`{Eh{c}}}}e}GfhOl}{{{d{Nj}}}Nj}{{{d{{On{c}}}}}{{On{c}}}{Dnh}}{{{d{{Eh{c}}}}}{{Eh{c}}}{Dnh}}{{{d{c}}{d{A`e}}}Ab{}{}}00`{{{d{A`{Eh{c}}}}}Fhh}{{{Eh{c}}{Df{{Df{Ad}}}}}{{Ej{{Eh{c}}{Df{{Df{c}}}}}}}h}{{{d{{Eh{c}}}}}{{d{{Df{{An{Ch}}}}}}}h}{{{d{{On{c}}}}B`}{{d{Ml}}}h}{{{d{A`{Eh{c}}}}ek}Abh{{Nn{Ml}}}{{Bf{{A@`{c}}}}}{{Gb{}{{G`{g}}}}}{{n{{d{A`{A@b{c}}}}}{{j{i}}}}}}{{}{{Eh{c}}}h}={B`{{d{c}}}{}}00000{B`{{d{A`c}}}{}}000006{B`Ab}00000{{{d{A`{Eh{c}}}}{An{Ch}}}Abh}{{{d{A`{Eh{c}}}}e}Abh{{Bf{{An{Gj}}}}}}{{{d{A`{Eh{c}}}}}{{An{Ch}}}h}{{{d{{Eh{c}}}}}{{d{{Df{{Ej{{An{Ch}}Oh}}}}}}}h}{{{d{Nj}}{d{A`Fj}}}Fl}{{{d{{A@`{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{d{{A@d{ceg}}}}{d{A`Fj}}}Fl{Fbh}{Fb{Bf{{A@`{c}}}}}{Fb{Gb{}{{G`{e}}}}}}{{{d{{On{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{d{{Eh{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{d{{A@b{c}}}}{d{A`Fj}}}Fl{Fbh}}{{{Ej{cOh}}}Nj{{Bf{{An{Gj}}}}}}{cc{}}{{{Oj{c}}}{{A@`{c}}}h}{{{Ej{c{Oj{e}}}}}{{A@`{e}}}{{Nn{Ml}}}h}22222{{{d{{Eh{c}}}}}{{d{{Df{{On{c}}}}}}}h}{{{d{{Eh{c}}}}}{{d{{Dd{N`Bd}}}}}h}{{{d{{Eh{c}}}}{An{Gj}}Oh}B`h}{{}B`}00000{{{d{A`{Eh{c}}}}}{{An{Bl}}}h}{{{d{{Eh{c}}}}}{{d{{Df{{Ej{{An{Bl}}Oh}}}}}}}h}{ce{}{}}00000{{{A@d{ceg}}}ih{{Bf{{A@`{c}}}}}{{Gb{}{{G`{e}}}}}{}}{{{d{A`{Eh{c}}}}eg}B`h{{Nn{Ml}}}{{n{{d{A`{A@b{c}}}}}{{j{{Df{{Ej{{Oj{c}}C`}}}}}}}}}}{{{d{A`{Eh{c}}}}eg}B`h{{Nn{Ml}}}{{n{{d{A`{A@b{c}}}}}{{j{{Df{{Ej{{Oj{c}}{Oj{c}}}}}}}}}}}}{{{d{A`{Eh{c}}}}}C`h}{{{d{{Eh{c}}}}}{{d{{Df{{A@f{c}}}}}}}h}{{{d{{Eh{c}}}}}B`h}{{{d{{On{c}}}}}{{d{Ml}}}h}11111{{{d{{Eh{c}}}}}{{d{A@h}}}h}{{{d{{Eh{c}}}}}{{`{{Jf{}{{G`{A@j}}}}}}}h}{{{d{{On{c}}}}}{{d{{Gn{{Oj{c}}}}}}}h}{{{d{{On{c}}}}}{{d{{Gn{Nj}}}}}h}{{{d{{On{c}}}}}{{d{{Gn{Fh}}}}}h}{{{d{A`{A@b{c}}}}{An{Al}}Oh}{{Oj{c}}}h}{{{d{A`{A@b{c}}}}eOh}{{Oj{c}}}h{{Bf{{An{Gj}}}}}}{{{d{A`{A@b{c}}}}Gf}{{Oj{c}}}h}{{{d{A`{A@b{c}}}}{An{Ch}}Oh}{{Oj{c}}}h}{{{d{A`{A@b{c}}}}{An{Bl}}Oh}{{Oj{c}}}h}{{{d{A`{A@b{c}}}}Fh}{{Oj{c}}}h}`{{{d{A`{Eh{c}}}}}Fhh}{{{d{A`{Eh{c}}}}B`}Abh}{{{d{A`{Eh{c}}}}eg}B`h{{Nn{Ml}}}{{n{{d{A`{A@b{c}}}}}{{j{{Df{{Ej{{Oj{c}}{Oj{c}}}}}}}}}}}}{{{d{{Eh{c}}}}}{{d{{Df{{A@l{c}}}}}}}h}{{{d{c}}}e{}{}}00{c{{Ah{e}}}{}{}}00000000000{{{d{c}}}Hd{}}00000{{{d{A`{Eh{c}}}}}{{An{Al}}}h}{{{d{A`{Eh{c}}}}e}{{An{Al}}}hOl}{ce{}{}}00000{{{Oj{c}}g}{{A@d{ceg}}}h{{Bf{{A@`{c}}}}}{{Gb{}{{G`{e}}}}}}``````````````````````{{{Oj{c}}{Oj{c}}}{{Oj{c}}}h}{{{d{c}}}{{d{e}}}{}{}}0000000000{{{d{A`c}}}{{d{A`e}}}{}{}}0000000000{{{d{{An{c}}}}}{{An{c}}}{DnOf}}{{{d{Fh}}}Fh}{{{d{A@n}}}A@n}{{{d{AA`}}}AA`}{{{d{AAb}}}AAb}{{{d{C`}}}C`}{{{d{Gf}}}Gf}{{{d{{Oj{c}}}}}{{Oj{c}}}Dn}{{{d{c}}{d{A`e}}}Ab{}{}}0000000{{{d{{An{c}}}}{d{{An{c}}}}}IhOf}{{{d{C`}}{d{C`}}}Ih}{{{d{A@n}}}B`}{{{d{AA`}}}B`}{{{d{AAb}}}B`}```{{{d{{An{c}}}}}{{d{c}}}Of}`{{{d{{Oj{c}}}}}B`h}{{{d{{An{c}}}}}{{Oj{e}}}Ofh}1{B`{{d{c}}}{}}0000000000{B`{{d{A`c}}}{}}0000000000{B`Ab}0000000000{{{d{Fh}}{d{A`{Aj{c}}}}B`}{{Ah{AbAf}}}h}{{{d{{An{c}}}}{d{{An{c}}}}}Ad{KbOf}}{{{d{Fh}}{d{Fh}}}Ad}{{{d{A@n}}{d{A@n}}}Ad}{{{d{AA`}}{d{AA`}}}Ad}{{{d{AAb}}{d{AAb}}}Ad}{{{d{C`}}{d{C`}}}Ad}{{{d{Gf}}{d{Gf}}}Ad}{{{d{{Oj{c}}}}{d{{Oj{c}}}}}AdKb}{{{d{{Oj{c}}}}{d{g}}{d{i}}{d{k}}{d{m}}{d{o}}{d{Aa}}{d{Ac}}{d{Ae}}{d{Ag}}{d{Ai}}}eh{}{{Bh{c}{{j{e}}}}}{{Bh{Fh}{{j{e}}}}}{{Bh{A@n}{{j{e}}}}}{{Bh{AA`}{{j{e}}}}}{{Bh{AAb}{{j{e}}}}}{{Bh{Gf}{{j{e}}}}}{{Bh{e}{{j{e}}}}}{{Bh{ee}{{j{e}}}}}{{Bh{ee}{{j{e}}}}}{{Bh{ec}{{j{e}}}}}}{{{d{{Oj{c}}}}{d{g}}{d{i}}{d{k}}{d{m}}{d{o}}{d{Aa}}{d{Ac}}{d{Ae}}{d{Ag}}{d{Ai}}{d{e}}}ehKb{{Bh{c}{{j{e}}}}}{{Bh{Fh}{{j{e}}}}}{{Bh{A@n}{{j{e}}}}}{{Bh{AA`}{{j{e}}}}}{{Bh{AAb}{{j{e}}}}}{{Bh{Gf}{{j{e}}}}}{{Bh{e}{{j{e}}}}}{{Bh{ee}{{j{e}}}}}{{Bh{ee}{{j{e}}}}}{{Bh{ec}{{j{e}}}}}}{{{d{Fh}}}{{Oj{c}}}h}{{{d{Gf}}}{{Oj{c}}}h}{{{d{{An{c}}}}{d{A`Fj}}}Fl{FbOf}}{{{d{AAd}}{d{A`Fj}}}Fl}{{{d{AAf}}{d{A`Fj}}}Fl}{{{d{AAh}}{d{A`Fj}}}Fl}{{{d{Fh}}{d{A`Fj}}}Fl}{{{d{A@n}}{d{A`Fj}}}Fl}{{{d{AA`}}{d{A`Fj}}}Fl}{{{d{AAb}}{d{A`Fj}}}Fl}{{{d{C`}}{d{A`Fj}}}Fl}{{{d{Gf}}{d{A`Fj}}}Fl}{{{d{{Oj{c}}}}{d{A`Fj}}}FlFb}{{{An{Ch}}}{{An{Gj}}}}{{{An{Al}}}{{An{Gj}}}}{{{An{Bl}}}{{An{Gj}}}}{cc{}}{N`{{An{Gj}}}}11111111{AAjGf}22{{{d{{An{c}}}}{d{A`e}}}Ab{AAlOf}Il}{{{d{Fh}}{d{A`c}}}AbIl}{{{d{C`}}{d{A`c}}}AbIl}{{{d{Gf}}{d{A`c}}}AbIl}{{{d{{Oj{c}}}}}Bdh}{{{d{{An{c}}}}}B`Of}{{{d{Fh}}}B`}{{{d{Gf}}}B`}`````{{}B`}0000000000{{{d{C`}}}{{An{Ch}}}}{ce{}{}}0000000000{{{d{Fh}}}Ad}{{{Oj{c}}c}{{Oj{c}}}h}{{{Oj{c}}{Oj{c}}}{{Oj{c}}}h}{{{Oj{c}}}eh{}}{{B`c}{{An{c}}}Of}{{{d{{An{c}}}}}{{Oj{e}}}Ofh}{{{d{{An{c}}}}{d{{An{c}}}}}{{Dh{Ih}}}Of}{{{d{C`}}{d{C`}}}{{Dh{Ih}}}}{{{d{Gf}}}Db}3{e{{Oj{c}}}h{{Jf{}{{G`{{Oj{c}}}}}}}}{{{d{{An{c}}}}Oh}{{Oj{e}}}Ofh}{{{d{A`{Oj{c}}}}{d{A`{A@b{c}}}}}Abh}{{{d{{An{c}}}}Nl}{{Oj{e}}}Ofh}{{{d{A@n}}}Oh}{{{d{AA`}}}Oh}{{{d{AAb}}}Oh}````{{{Oj{c}}}{{Oj{c}}}h}>7{{{d{c}}}e{}{}}0000000{AAdA@j}{AAfA@j}{AAhA@j}{{{An{Gj}}}{{Ah{{An{Bl}}c}}}{}}{{{An{Gj}}}{{Ah{{An{Al}}c}}}{}}{c{{Ah{e}}}{}{}}{{{An{Gj}}}{{Ah{{An{Ch}}c}}}{}}111111111111111111111{{{d{c}}}Hd{}}0000000000{ce{}{}}0000000000``{{{d{c}}}{{d{e}}}{}{}}{{{d{A`c}}}{{d{A`e}}}{}{}}{{{d{A@j}}}A@j}{{{d{c}}{d{A`e}}}Ab{}{}}{{{d{A@j}}{d{A@j}}}Ih}{B`{{d{c}}}{}}{B`{{d{A`c}}}{}}{B`Ab}{{{d{A@j}}{d{A@j}}}Ad}{{{d{A@j}}{d{A`Fj}}}Fl}{cc{}}{{{d{A@j}}{d{A`c}}}AbIl}{{}B`}={{{d{A@j}}{d{A@j}}}{{Dh{Ih}}}}{{{d{A@j}}}{{Dh{A@j}}}}{{{d{c}}}e{}{}}{AAnA@j}{A@jA@j}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}{ce{}{}}``````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{A`c}}}{{d{A`e}}}{}{}}00{B`{{d{c}}}{}}00{B`{{d{A`c}}}{}}00{B`Ab}00{{{d{Af}}{d{A`Fj}}}Fl}0{{{d{AB`}}{d{A`Fj}}}Fl}0{{{d{ABb}}{d{A`Fj}}}Fl}0{cc{}}00{{}B`}00:::{EdAf}{{{d{c}}}Bd{}}00>>>>>>===<<<`````````````````````````````````;:{{{d{{A@f{c}}}}}{{A@f{c}}}{Dnh}}{{{d{c}}{d{A`e}}}Ab{}{}};:9{{{d{{A@f{c}}}}{d{A`Fj}}}Flh}65{{{d{{A@f{c}}}}}{{d{{Df{{Oj{c}}}}}}}h}{ce{}{}}{{{d{{A@f{c}}}}}{{d{Ml}}}h}{{c{Df{{Ej{{Oj{e}}{Oj{e}}}}}}}{{A@f{e}}}{{Nn{Ml}}}h}3{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}5`{{{d{c}}}{{d{e}}}{}{}}{{{d{A`c}}}{{d{A`e}}}{}{}}{{{d{A@h}}}A@h};{{}A@h}{B`{{d{c}}}{}}{B`{{d{A`c}}}{}}{B`Ab}{{{d{A@h}}{d{A`Fj}}}Fl}{cc{}}{{{d{A@h}}}{{Df{{An{Gj}}}}}}{{}B`}{ce{}{}}>==<0`;:{{{d{{A@l{c}}}}}{{A@l{c}}}{Dnh}}{{{d{c}}{d{A`e}}}Ab{}{}}987{{{d{{A@l{c}}}}{d{A`Fj}}}Flh}64{{{d{{A@l{c}}}}}{{d{{Df{{Oj{c}}}}}}}h}4{{{d{{A@l{c}}}}}{{d{Ml}}}h}{{c{Df{{Ej{{Oj{e}}{Oj{e}}}}}}}{{A@l{e}}}{{Nn{Ml}}}h}2{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}9","D":"DEf","p":[[6,"Assigned",979],[1,"reference"],[5,"Value",3,1731],[10,"Field",1732],[17,"Output"],[10,"Add",1733],[10,"FnOnce",1734],[0,"mut"],[1,"unit"],[1,"bool"],[6,"Error",1570],[6,"Result",1735],[5,"Region",3],[5,"Advice",1036],[5,"Column",1280],[1,"usize"],[5,"AssignedCell",3],[5,"String",1736],[10,"Into",1737],[10,"Fn",1734],[10,"FnMut",1734],[5,"Instance",1036],[10,"TableLayouter",381,1738],[5,"TableColumn",1280],[5,"SimpleTableLayouter",3,1738],[10,"Assignment",1036],[5,"Table",3],[5,"Fixed",1036],[17,"Root"],[10,"Layouter",3],[5,"NamespacedLayouter",3],[5,"WitnessCalculator",3],[1,"u8"],[5,"HashMap",1739],[5,"Vec",1740],[6,"Option",1741],[10,"Circuit",1036],[5,"Cell",3],[10,"Clone",1742],[5,"RegionIndex",3],[5,"RegionStart",3],[1,"u32"],[5,"CompiledCircuit",1743],[5,"ConstraintSystem",1125],[1,"tuple"],[17,"Config"],[17,"Loaded"],[10,"Chip",3],[10,"Debug",1744],[10,"Copy",1745],[10,"Borrow",1746],[5,"Selector",1280],[5,"Formatter",1744],[8,"Result",1744],[10,"RegionLayouter",381],[17,"Item"],[10,"IntoIterator",1747],[10,"FromIterator",1747],[5,"Challenge",1280],[10,"Mul",1733],[6,"Any",1743],[10,"Neg",1733],[1,"slice"],[10,"Sub",1733],[1,"array"],[5,"TypeId",1748],[5,"SingleChipLayouter",279],[10,"SyncDeps",381],[5,"SimpleFloorPlanner",279],[5,"V1Pass",316],[5,"V1",316],[5,"MeasurementPass",316],[5,"AssignmentPass",316],[5,"RegionShape",381],[6,"RegionColumn",381],[6,"Ordering",1749],[5,"HashSet",1750],[10,"Hasher",1751],[5,"MockProver",449],[6,"CellValue",449],[10,"FromUniformBytes",1732],[10,"Ord",1749],[10,"Iterator",1752],[6,"FailureLocation",449,1753],[6,"VerifyFailure",449,1753],[6,"InstanceValue",449],[5,"CircuitGates",449,1754],[5,"CircuitLayout",449,1755],[10,"PartialEq",1749],[5,"Error",1744],[5,"TracingFloorPlanner",449,1756],[10,"FloorPlanner",1036],[5,"Shift",1757],[5,"DrawingArea",1758],[6,"DrawingAreaErrorKind",1758],[10,"DrawingBackend",1759],[5,"Range",1760],[5,"CircuitCost",666],[10,"PrimeGroup",1761],[5,"MarginalProofSize",666],[5,"ProofSize",666],[5,"Poly",711],[5,"Lookup",711],[5,"Permutation",711],[5,"Shuffle",711],[10,"Deserializer",1762],[5,"ModelCircuit",711],[6,"CommitmentScheme",711],[5,"CostOptions",711],[1,"str"],[10,"Serializer",1763],[5,"Column",854],[5,"VirtualCell",854],[5,"Gate",854],[5,"Constraint",854],[5,"Region",854],[5,"VirtualCell",1125],[1,"i32"],[10,"AsRef",1737],[17,"FloorPlanner"],[17,"Params"],[10,"Default",1764],[10,"ColumnType",1036],[5,"Rotation",1765],[6,"Expression",1280],[10,"Phase",1280],[5,"Gate",1125],[5,"Constraint",1125],[5,"VirtualCells",1125],[5,"Constraints",1125],[5,"Argument",1670],[5,"Argument",1691],[5,"Phase",1545],[5,"Argument",1710],[5,"FixedQuery",1280],[5,"AdviceQuery",1280],[5,"InstanceQuery",1280],[5,"FirstPhase",1280],[5,"SecondPhase",1280],[5,"ThirdPhase",1280],[5,"ChallengeMid",1743],[10,"Hash",1751],[10,"SealedPhase",1545],[6,"TableError",1570],[6,"AssignError",1570],[15,"InRegion",641],[15,"OutsideRegion",641],[15,"ConstraintNotSatisfied",644],[15,"CellNotAssigned",644],[15,"InstanceCellNotAssigned",644],[15,"Permutation",644],[15,"ConstraintPoisoned",644],[15,"Lookup",644],[15,"Shuffle",644],[15,"AssignAdvice",1638],[15,"AssignFixed",1638],[15,"QueryInstance",1638],[15,"FillFromRow",1638],[15,"EnableSelector",1638],[15,"WitnessMissing",1638],[15,"Copy",1638],[15,"NotEnoughRowsAvailable",1669]],"r":[[14,279],[15,1738],[17,1738],[18,1731],[275,316],[276,316],[387,1738],[453,666],[454,1754],[455,1755],[458,1753],[469,1756],[471,1753],[496,1766]],"b":[[20,"impl-Add%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[21,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[22,"impl-Add%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[23,"impl-Add-for-Value%3CV%3E"],[24,"impl-Add%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[25,"impl-Add%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[26,"impl-Add%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[27,"impl-Add-for-%26Value%3CV%3E"],[28,"impl-Add%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[29,"impl-Add%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[78,"impl-Value%3C%26V%3E"],[79,"impl-Value%3C%26mut+V%3E"],[87,"impl-Value%3C%26V%3E"],[88,"impl-Value%3C%26mut+V%3E"],[190,"impl-Mul%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[191,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[192,"impl-Mul%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[193,"impl-Mul-for-Value%3CV%3E"],[194,"impl-Mul%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[195,"impl-Mul%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[196,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[197,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[198,"impl-Mul%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[199,"impl-Mul-for-%26Value%3CV%3E"],[212,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[213,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[214,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[215,"impl-Sub%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[216,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[217,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[218,"impl-Sub-for-%26Value%3CV%3E"],[219,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[220,"impl-Sub%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[221,"impl-Sub-for-Value%3CV%3E"],[423,"impl-From%3CSelector%3E-for-RegionColumn"],[424,"impl-From%3CColumn%3CAny%3E%3E-for-RegionColumn"],[546,"impl-Debug-for-FailureLocation"],[547,"impl-Display-for-FailureLocation"],[548,"impl-Display-for-VerifyFailure"],[549,"impl-Debug-for-VerifyFailure"],[550,"impl-Debug-for-CircuitGates"],[551,"impl-Display-for-CircuitGates"],[902,"impl-Debug-for-ColumnMid"],[903,"impl-Display-for-ColumnMid"],[904,"impl-Debug-for-VirtualCell"],[905,"impl-Display-for-VirtualCell"],[906,"impl-Debug-for-Gate"],[907,"impl-Display-for-Gate"],[908,"impl-Debug-for-Constraint"],[909,"impl-Display-for-Constraint"],[910,"impl-Debug-for-Region"],[911,"impl-Display-for-Region"],[914,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[915,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[916,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[922,"impl-From%3C(usize,+%26str)%3E-for-Region"],[923,"impl-From%3C(usize,+String,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[925,"impl-From%3C(usize,+%26str,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[926,"impl-From%3C(usize,+String)%3E-for-Region"],[983,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[984,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[985,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[986,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[987,"impl-Add-for-Assigned%3CF%3E"],[988,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[989,"impl-AddAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[990,"impl-AddAssign-for-Assigned%3CF%3E"],[1004,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1005,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1007,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1008,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1013,"impl-Mul-for-Assigned%3CF%3E"],[1014,"impl-Mul%3CF%3E-for-%26Assigned%3CF%3E"],[1015,"impl-Mul%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1016,"impl-Mul%3CF%3E-for-Assigned%3CF%3E"],[1017,"impl-MulAssign-for-Assigned%3CF%3E"],[1018,"impl-MulAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1019,"impl-Neg-for-%26Assigned%3CF%3E"],[1020,"impl-Neg-for-Assigned%3CF%3E"],[1023,"impl-Sub%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1024,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1025,"impl-Sub-for-Assigned%3CF%3E"],[1026,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1027,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1028,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1029,"impl-SubAssign-for-Assigned%3CF%3E"],[1030,"impl-SubAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1198,"impl-From%3CExpression%3CF%3E%3E-for-Constraint%3CF%3E"],[1199,"impl-From%3C(S,+Expression%3CF%3E)%3E-for-Constraint%3CF%3E"],[1411,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1412,"impl-From%3CColumn%3CAdvice%3E%3E-for-Column%3CAny%3E"],[1413,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1415,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1464,"impl-Mul%3CF%3E-for-Expression%3CF%3E"],[1465,"impl-Mul-for-Expression%3CF%3E"],[1498,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1499,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1501,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1607,"impl-Debug-for-Error"],[1608,"impl-Display-for-Error"],[1609,"impl-Display-for-TableError"],[1610,"impl-Debug-for-TableError"],[1611,"impl-Display-for-AssignError"],[1612,"impl-Debug-for-AssignError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJgEkQAAAAAAAwAAAA8AAAAVAAkAKAAAACwAAAAuABQARQAJAFcAAABcAAAAXgAVAHUACgCBAAAAhgAJAJIAAACVAAAAlwAAAJsAAQChAAAAowAKAL8ACQDLAAAAzwAAANEAAADVAAkA4AAEAOcAHQAJAQkAFAEDABoBDgArAQMAMgEKAEEBGgBgAQUAagETAIYBAACIAQAAigEAAI0BCQCZAQAAmwEGAKMBAwCoAQEAqwECAK8BAACzAQAAtQEAALgBCQDGAQAA3AEAAN8BEQDyAQcA+wEAAP8BGAAZAgcAIwIKADYCCABLAgEATgIAAFQCHwB6AgcAngIRALMCAgC8AgsA0wIWAOsCGAAFAwYAFQMAABcDBgAtAwAAMgMBADcDHwBcAxUAcwMeAJMDAgCXAwAAmQMAAJsDAQCeAwIAogMEAKwDJQDTAwAA2AMLAOYDAQDpAwEA7AMCAPADAgD2AwcAAAQMABoEDAApBAAAKwQIADYEAgA6BAAAPAQCAEMEBQBQBAIAVgQOAHQECwCCBAYAjgQAAJAECwCdBAUApwQGAK8EAQC4BAYAxwQAANYEAQDeBAAA4wQUAPoEBQAXBSgARwUAAEsFIABtBQcAeQUNAIgFAACRBQAAlAUDAJwFAACgBQsAuQUDAL4FAQDCBQAAzAUAAM4FOwAMBgkAFwYBABoGCQAmBgAAKgYBAC0GAAAyBgAAOAYVAFEGAgBYBi0AiAYHAJEGAACXBgQAnQYIAKgGAACqBgQAsAYHALkGAAC/BgQA"}],\ +["halo2_middleware",{"t":"CCEECCCCCCPGFPFFFPFIPFIPPFPPFPPGONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNOONOONNOOOONNNOONONOONOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNPGPPPPKNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNMFINNNNNNNNNNOONOOOONNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNFFNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNFINNNNNNNNNNOONOOOONNNNNCCFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRKMMMMMM","n":["circuit","expression","ff","halo2curves","lookup","multicore","permutation","poly","shuffle","zal","Advice","Any","Cell","Challenge","ChallengeMid","ColumnMid","CompiledCircuit","Constant","ConstraintSystemMid","ExpressionMid","Fixed","Gate","GateMid","Instance","Negated","Preprocessing","Product","Query","QueryMid","Sum","Var","VarMid","advice_column_phase","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","challenge_phase","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","cmp","cmp","cmp","column","column_index","column_type","column_type","complexity","cs","degree","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","gates","general_column_annotations","hash","hash","hash","index","index","index","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","lookups","minimum_degree","name","name","name","new","new","num_advice_columns","num_challenges","num_fixed_columns","num_instance_columns","partial_cmp","partial_cmp","partial_cmp","permutation","permutation","phase","phase","phases","poly","poly","polynomial","preprocessing","rotation","row","shuffles","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","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_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","unblinded_advice_columns","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_identifier","Constant","Expression","Negated","Product","Sum","Var","Variable","add","borrow","borrow_mut","clone","clone_into","complexity","complexity","degree","degree","deref","deref_mut","drop","eq","evaluate","fmt","from","identifier","init","into","mul","mul","neg","product","sub","sum","to_owned","try_from","try_into","type_id","vzip","write_identifier","Argument","ArgumentMid","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","input_expressions","into","name","name","table_expressions","table_expressions","to_owned","try_from","try_into","type_id","vzip","IndexedParallelIterator","IntoParallelIterator","IntoParallelRefIterator","IntoParallelRefMutIterator","Item","Item","Item","Item","Iter","Iter","Iter","ParallelIterator","ParallelSliceMut","Scope","TryFoldAndReduce","all","any","as_parallel_slice_mut","borrow","borrow_mut","by_exponential_blocks","by_uniform_blocks","chain","chunks","cloned","cmp","collect","collect_into_vec","collect_vec_list","copied","count","current_num_threads","deref","deref_mut","drive","drive_unindexed","drop","enumerate","eq","filter","filter_map","find_any","find_first","find_last","find_map_any","find_map_first","find_map_last","flat_map","flat_map_iter","flatten","flatten_iter","fmt","fold","fold_chunks","fold_chunks_with","fold_with","for_each","for_each_init","for_each_with","from","ge","gt","init","inspect","interleave","interleave_shortest","intersperse","into","into_par_iter","join","le","len","lt","map","map_init","map_with","max","max_by","max_by_key","min","min_by","min_by_key","ne","opt_len","panic_fuse","par_chunk_by_mut","par_chunks_exact_mut","par_chunks_mut","par_iter","par_iter_mut","par_rchunks_exact_mut","par_rchunks_mut","par_sort","par_sort_by","par_sort_by_cached_key","par_sort_by_key","par_sort_unstable","par_sort_unstable_by","par_sort_unstable_by_key","par_split_inclusive_mut","par_split_mut","partial_cmp","partition","partition_map","position_any","position_first","position_last","positions","product","reduce","reduce_with","rev","scope","skip","skip_any","skip_any_while","spawn","spawn_broadcast","step_by","sum","take","take_any","take_any_while","try_fold","try_fold_and_reduce","try_fold_with","try_for_each","try_for_each_init","try_for_each_with","try_from","try_into","try_reduce","try_reduce_with","type_id","unzip","unzip_into_vecs","update","vzip","while_some","with_max_len","with_min_len","with_producer","zip","zip_eq","ArgumentMid","AssemblyMid","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","columns","copies","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Rotation","borrow","borrow_mut","clone","clone_into","cmp","cur","deref","deref_mut","drop","eq","fmt","from","hash","init","into","next","partial_cmp","prev","to_owned","try_from","try_into","type_id","vzip","Argument","ArgumentMid","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","init","input_expressions","input_expressions","into","name","name","shuffle_expressions","shuffle_expressions","to_owned","try_from","try_into","type_id","vzip","impls","traits","H2cEngine","H2cMsmBaseDesc","H2cMsmCoeffsDesc","HasCurve","HasMsmEngine","NoCurve","NoMsmEngine","PlonkEngine","PlonkEngineConfig","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","build","build_default","default","default","default","default","default","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","fmt","from","from","from","from","from","from","from","from","from","get_base_descriptor","get_coeffs_descriptor","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","msm","msm_backend","msm_with_cached_base","msm_with_cached_inputs","msm_with_cached_scalars","new","new","set_curve","set_msm","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","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","BaseDescriptor","CoeffsDescriptor","MsmAccel","get_base_descriptor","get_coeffs_descriptor","msm","msm_with_cached_base","msm_with_cached_inputs","msm_with_cached_scalars"],"q":[[0,"halo2_middleware"],[10,"halo2_middleware::circuit"],[251,"halo2_middleware::expression"],[289,"halo2_middleware::lookup"],[313,"halo2_middleware::multicore"],[457,"halo2_middleware::permutation"],[493,"halo2_middleware::poly"],[517,"halo2_middleware::shuffle"],[541,"halo2_middleware::zal"],[543,"halo2_middleware::zal::impls"],[679,"halo2_middleware::zal::traits"],[688,"core::clone"],[689,"ff"],[690,"core::cmp"],[691,"core::fmt"],[692,"core::hash"],[693,"core::option"],[694,"alloc::string"],[695,"core::result"],[696,"core::any"],[697,"std::io::error"],[698,"std::io"],[699,"core::ops::function"],[700,"core::iter::traits::iterator"],[701,"rayon::iter"],[702,"core::marker"],[703,"rayon::slice"],[704,"rayon::iter::blocks"],[705,"rayon::iter::chain"],[706,"rayon::iter::chunks"],[707,"rayon::iter::cloned"],[708,"alloc::vec"],[709,"alloc::collections::linked_list"],[710,"rayon::iter::copied"],[711,"rayon::iter::plumbing"],[712,"rayon::iter::enumerate"],[713,"rayon::iter::filter"],[714,"rayon::iter::filter_map"],[715,"rayon::iter::flat_map"],[716,"rayon::iter::flat_map_iter"],[717,"core::iter::traits::collect"],[718,"rayon::iter::flatten"],[719,"rayon::iter::flatten_iter"],[720,"rayon_core::scope"],[721,"rayon::iter::fold"],[722,"rayon::iter::fold_chunks"],[723,"rayon::iter::fold_chunks_with"],[724,"rayon::iter::inspect"],[725,"rayon::iter::interleave"],[726,"rayon::iter::interleave_shortest"],[727,"rayon::iter::intersperse"],[728,"rayon::iter::map"],[729,"rayon::iter::map_with"],[730,"rayon::iter::panic_fuse"],[731,"rayon::slice::chunk_by"],[732,"rayon::slice::chunks"],[733,"rayon::slice::rchunks"],[734,"core::default"],[735,"either"],[736,"rayon::iter::positions"],[737,"core::iter::traits::accum"],[738,"rayon::iter::rev"],[739,"rayon::iter::skip"],[740,"rayon::iter::skip_any"],[741,"rayon::iter::skip_any_while"],[742,"rayon_core::broadcast"],[743,"rayon::iter::step_by"],[744,"rayon::iter::take"],[745,"rayon::iter::take_any"],[746,"rayon::iter::take_any_while"],[747,"rayon::iter::try_fold"],[748,"rayon::iter::private"],[749,"rayon::iter::update"],[750,"rayon::iter::while_some"],[751,"rayon::iter::len"],[752,"rayon::iter::zip"],[753,"rayon::iter::zip_eq"],[754,"pasta_curves::arithmetic::curves"],[755,"rayon_core"],[756,"rayon_core::join"]],"i":[0,0,0,0,0,0,0,0,0,0,13,0,0,5,0,0,0,133,0,0,13,0,0,13,133,0,133,5,0,133,133,0,10,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,10,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,13,14,15,15,4,4,14,5,12,5,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,3,4,5,13,14,15,11,3,4,5,5,6,10,11,12,13,14,14,15,3,4,5,6,10,11,12,13,14,15,10,10,3,13,14,3,3,14,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,10,10,6,134,6,4,14,10,10,10,10,13,14,15,10,11,3,3,10,134,6,6,12,4,15,10,3,4,5,6,10,11,12,13,14,15,5,14,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,3,4,5,6,10,11,12,13,14,15,10,3,4,5,6,10,11,12,13,14,15,5,28,0,28,28,28,28,0,28,28,28,28,28,9,28,9,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,9,0,0,39,39,39,39,39,39,39,39,39,39,135,39,39,135,39,135,39,39,39,39,39,39,0,0,0,0,49,87,88,40,49,87,88,0,0,0,0,40,40,43,66,66,45,45,40,45,40,45,40,45,40,40,40,0,66,66,45,40,66,45,45,40,40,40,40,40,40,40,40,40,40,40,40,66,40,45,45,40,40,40,40,66,45,45,66,40,45,45,40,66,49,0,45,45,45,40,40,40,40,40,40,40,40,40,45,40,40,43,43,43,87,88,43,43,43,43,43,43,43,43,43,43,43,45,40,40,45,45,45,45,40,40,40,45,0,45,40,40,66,66,45,40,45,40,40,40,110,40,40,40,40,66,66,40,40,66,40,45,40,66,40,45,45,45,45,45,0,0,119,120,119,120,119,120,119,120,120,119,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,119,120,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,121,121,121,121,121,121,121,121,121,121,136,121,121,136,121,136,121,121,121,121,121,121,0,0,0,0,0,0,0,0,0,0,0,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,124,124,128,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,125,137,138,123,128,125,124,129,122,130,128,128,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,128,125,128,128,128,128,124,124,124,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,137,138,123,128,125,124,129,122,130,127,127,0,127,127,127,127,127,127],"f":"`````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}000000000{{{b{dc}}}{{b{de}}}{}{}}000000000`{{{b{f}}}f}{{{b{h}}}h}{{{b{j}}}j}{{{b{{l{ce}}}}}{{l{ce}}}{nA`}{nAb}}{{{b{{Ad{c}}}}}{{Ad{c}}}{nA`}}{{{b{{Af{c}}}}}{{Af{c}}}{nA`}}{{{b{{Ah{c}}}}}{{Ah{c}}}{nA`}}{{{b{Aj}}}Aj}{{{b{Al}}}Al}{{{b{An}}}An}{{{b{c}}{b{de}}}B`{}{}}000000000{{{b{Aj}}{b{Aj}}}Bb}{{{b{Al}}{b{Al}}}Bb}{{{b{An}}{b{An}}}Bb}````{{{b{j}}}Bd}`0{Bd{{b{c}}}{}}000000000{Bd{{b{dc}}}{}}000000000{BdB`}000000000{{{b{f}}{b{f}}}Bf}{{{b{h}}{b{h}}}Bf}{{{b{j}}{b{j}}}Bf}{{{b{Aj}}{b{Aj}}}Bf}{{{b{Al}}{b{Al}}}Bf}{{{b{An}}{b{An}}}Bf}`{{{b{f}}{b{dBh}}}Bj}{{{b{h}}{b{dBh}}}Bj}{{{b{j}}{b{dBh}}}Bj}0{{{b{{l{ce}}}}{b{dBh}}}Bj{BlA`}{BlAb}}{{{b{{Ad{c}}}}{b{dBh}}}Bj{BlA`}}{{{b{{Af{c}}}}{b{dBh}}}Bj{BlA`}}{{{b{{Ah{c}}}}{b{dBh}}}Bj{BlA`}}{{{b{Aj}}{b{dBh}}}Bj}{{{b{Al}}{b{dBh}}}Bj}0{{{b{An}}{b{dBh}}}Bj}{cc{}}000000000``{{{b{f}}{b{dc}}}B`Bn}{{{b{Aj}}{b{dc}}}B`Bn}{{{b{Al}}{b{dc}}}B`Bn}{{{b{f}}}Bd}``{{}Bd}000000000{ce{}{}}000000000``{{{b{{l{ce}}}}}{{b{C`}}}A`Ab}``{{AjBdCb}h}{{AjBd}Al}````{{{b{Aj}}{b{Aj}}}{{Cd{Bb}}}}{{{b{Al}}{b{Al}}}{{Cd{Bb}}}}{{{b{An}}{b{An}}}{{Cd{Bb}}}}``{{{b{f}}}Cf}`{{{b{{Ad{c}}}}}BdA`}``{{{b{{l{ce}}}}}{{b{{Ch{ce}}}}}A`Ab}````{{{b{c}}}e{}{}}000000000{{{b{c}}}Cj{}}0{c{{Cl{e}}}{}{}}0000000000000000000{{{b{c}}}Cn{}}000000000`=========={{{b{j}}{b{dc}}}{{D`{B`}}}Db}```````{{{Ch{ce}}{Ch{ce}}}{{Ch{ce}}}A`Ab}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{Ch{ce}}}}}{{Ch{ce}}}n{nAb}}{{{b{c}}{b{de}}}B`{}{}}{{{b{Ab}}}Bd}{{{b{{Ch{ce}}}}}BdA`Ab}10{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{BdB`}{{{b{{Ch{ce}}}}{b{{Ch{ce}}}}}BfDd{DdAb}}{{{b{{Ch{ce}}}}{b{i}}{b{k}}{b{m}}{b{o}}{b{Aa}}}gA`Ab{}{{Dh{c}{{Df{g}}}}}{{Dh{e}{{Df{g}}}}}{{Dh{g}{{Df{g}}}}}{{Dh{gg}{{Df{g}}}}}{{Dh{gg}{{Df{g}}}}}}{{{b{{Ch{ce}}}}{b{dBh}}}BjBl{BlAb}}{cc{}}{{{b{{Ch{ce}}}}}CjA`Ab}{{}Bd}{ce{}{}}{{{Ch{ce}}c}{{Ch{ce}}}A`Ab}{{{Ch{ce}}{Ch{ce}}}{{Ch{ce}}}A`Ab}{{{Ch{ce}}}gA`Ab{}}{g{{Ch{ce}}}A`Ab{{Dl{}{{Dj{{Ch{ce}}}}}}}}20{{{b{c}}}e{}{}}{c{{Cl{e}}}{}{}}0{{{b{c}}}Cn{}}7{{{b{Ab}}{b{dc}}}{{D`{B`}}}Db}``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{Dn{ce}}}}}{{Dn{ce}}}{nA`}{nAb}}{{{b{c}}{b{de}}}B`{}{}}{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{BdB`}{{{b{{Dn{ce}}}}{b{dBh}}}Bj{BlA`}{BlAb}}{cc{}}{{}Bd}``{ce{}{}}````>==<0```````````````{{{E`{}{{Dj{c}}}}e}BfEb{{Dh{c}{{Df{Bf}}}}EdEb}}0{{{b{dEf}}}{{b{d{Eh{c}}}}}Eb}<;{Ej{{El{Ej}}}}{{EjBd}{{En{Ej}}}}{{{E`{}{{Dj{c}}}}e}{{F`{{E`{}{{Dj{c}}}}}}}Eb{{Fb{}{{Dj{c}}}}}}{{EjBd}{{Fd{Ej}}}}{{{E`{}{{Dj{c}}}}}{{Ff{{E`{}{{Dj{c}}}}}}}Eb}{{Eje}Bb{}{{Fb{}{{Dj{c}}}}}}{{{E`{}{{Dj{c}}}}}eEb{{Fh{c}}}}{{Ej{b{d{Fj{c}}}}}B`{}}{{{E`{}{{Dj{c}}}}}{{Fl{{Fj{c}}}}}Eb}{{{E`{}{{Dj{c}}}}}{{Fn{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}}BdEb}>{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{{Eje}{}{}{{G`{c}}}}{{{E`{}{{Dj{c}}}}e}{}Eb{{Gb{c}}}}{BdB`}{Ej{{Gd{Ej}}}}{{Ejc}BfFb}{{{E`{}{{Dj{c}}}}e}{{Gf{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}{{Gh{{E`{}{{Dj{c}}}}g}}}EbEb{{Dh{c}{{Df{{Cd{e}}}}}}EdEb}}{{{E`{}{{Dj{c}}}}e}{{Cd{c}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}00{{{E`{}{{Dj{c}}}}g}{{Cd{e}}}EbEb{{Dh{c}{{Df{{Cd{e}}}}}}EdEb}}00{{{E`{}{{Dj{c}}}}g}{{Gj{{E`{}{{Dj{c}}}}g}}}EbFb{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}{{Gl{{E`{}{{Dj{c}}}}g}}}EbGn{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}}{{H`{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}}{{Hb{{E`{}{{Dj{c}}}}}}}Eb}{{{b{Hd}}{b{dBh}}}{{Cl{B`Hf}}}}{{{E`{}{{Dj{c}}}}gi}{{Hh{{E`{}{{Dj{c}}}}gi}}}EbEb{{Dh{}{{Df{e}}}}EdEb}{{Dh{ec}{{Df{e}}}}EdEb}}{{EjBdei}{{Hj{Ejei}}}Eb{{Dh{}{{Df{c}}}}EbEd}{}{{Dh{cg}{{Df{c}}}}EbEd}}{{EjBdcg}{{Hl{Ejcg}}}{Ebn}{}{{Dh{ce}{{Df{c}}}}EbEd}}{{{E`{}{{Dj{c}}}}eg}{{Hn{{E`{}{{Dj{c}}}}eg}}}Eb{Ebn}{{Dh{ec}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}e}B`Eb{{Dh{c}}EdEb}}{{{E`{}{{Dj{c}}}}gi}B`Eb{}{{Dh{}{{Df{e}}}}EdEb}{{Dh{{b{de}}c}}EdEb}}{{{E`{}{{Dj{c}}}}eg}B`Eb{Ebn}{{Dh{{b{de}}c}}EdEb}}{cc{}}{{Ejc}BfFb}0{{}Bd}{{{E`{}{{Dj{c}}}}e}{{I`{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}}EdEb}}{{Eje}{{Ib{Ej}}}{}{{Fb{}{{Dj{c}}}}}}{{Eje}{{Id{Ej}}}{}{{Fb{}{{Dj{c}}}}}}{{{E`{}{{Dj{c}}}}c}{{If{{E`{}{{Dj{c}}}}}}}Eb}{ce{}{}}{{{Fb{}{{Ih{c}}{Dj{e}}}}}c{{E`{}{{Dj{e}}}}}Eb}{{ei}{{Ij{cg}}}Eb{{Il{}{{Df{c}}}}Eb}Eb{{Il{}{{Df{g}}}}Eb}}8{{{b{Ej}}}Bd}9{{{E`{}{{Dj{c}}}}g}{{In{{E`{}{{Dj{c}}}}g}}}EbEb{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}gk}{{J`{{E`{}{{Dj{c}}}}gk}}}Eb{}{{Dh{}{{Df{e}}}}EdEb}Eb{{Dh{{b{de}}c}{{Df{i}}}}EdEb}}{{{E`{}{{Dj{c}}}}ei}{{Jb{{E`{}{{Dj{c}}}}ei}}}Eb{Ebn}Eb{{Dh{{b{de}}c}{{Df{g}}}}EdEb}}{{{E`{}{{Dj{c}}}}}{{Cd{c}}}Eb}{{{E`{}{{Dj{c}}}}e}{{Cd{c}}}Eb{EdEb{Dh{{b{c}}{b{c}}}{{Df{Bb}}}}}}{{{E`{}{{Dj{c}}}}g}{{Cd{c}}}Eb{JdEb}{EdEb{Dh{{b{c}}}{{Df{e}}}}}}210?{{{b{{E`{}{{Dj{c}}}}}}}{{Cd{Bd}}}Eb}{{{E`{}{{Dj{c}}}}}{{Jf{{E`{}{{Dj{c}}}}}}}Eb}{{{b{dEf}}e}{{Jh{ce}}}Eb{{Dh{{b{c}}{b{c}}}{{Df{Bf}}}}EbEd}}{{{b{dEf}}Bd}{{Jj{c}}}Eb}{{{b{dEf}}Bd}{{Jl{c}}}Eb}{{{b{{Jn{}{{Ih{c}}{Dj{e}}}}}}}c{{E`{}{{Dj{e}}}}}Eb}{{{b{d{K`{}{{Ih{c}}{Dj{e}}}}}}}c{{E`{}{{Dj{e}}}}}Eb}{{{b{dEf}}Bd}{{Kb{c}}}Eb}{{{b{dEf}}Bd}{{Kd{c}}}Eb}{{{b{dEf}}}B`}{{{b{dEf}}e}B`Eb{{Dh{{b{c}}{b{c}}}{{Df{Bb}}}}Ed}}{{{b{dEf}}g}B`Eb{JdEb}{{Dh{{b{c}}}{{Df{e}}}}Ed}}{{{b{dEf}}g}B`EbJd{{Dh{{b{c}}}{{Df{e}}}}Ed}}320{{{b{dEf}}e}{{Kf{ce}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{b{dEf}}e}{{Kh{ce}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{Ejc}{{Cd{Bb}}}Fb}{{{E`{}{{Dj{c}}}}e}{{Ij{gi}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}{KjEb{Kl{c}}}{KjEb{Kl{c}}}}{{{E`{}{{Dj{c}}}}i}{{Ij{km}}}EbEbEb{{Dh{c}{{Df{{Kn{eg}}}}}}EdEb}{KjEb{Kl{e}}}{KjEb{Kl{g}}}}{{Eje}{{Cd{Bd}}}{}{{Dh{c}{{Df{Bf}}}}EdEb}}00{{Eje}{{L`{Eje}}}{}{{Dh{c}{{Df{Bf}}}}EdEb}}{{{E`{}{{Dj{c}}}}}eEb{Eb{Lb{c}}Lb}}{{{E`{}{{Dj{c}}}}eg}cEb{{Dh{}{{Df{c}}}}EdEb}{{Dh{cc}{{Df{c}}}}EdEb}}{{{E`{}{{Dj{c}}}}e}{{Cd{c}}}Eb{{Dh{cc}{{Df{c}}}}EdEb}}{Ej{{Ld{Ej}}}}{ecEb{{Il{{b{Hd}}}{{Df{c}}}}Eb}}{{EjBd}{{Lf{Ej}}}}{{{E`{}{{Dj{c}}}}Bd}{{Lh{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}e}{{Lj{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{b{Hd}}c}B`{{Il{{b{Hd}}}}Eb}}{{{b{Hd}}c}B`{{Dh{{b{Hd}}Ll}}EbEd}}{{EjBd}{{Ln{Ej}}}}{{{E`{}{{Dj{c}}}}}eEb{Eb{M`{c}}M`}}{{EjBd}{{Mb{Ej}}}}{{{E`{}{{Dj{c}}}}Bd}{{Md{{E`{}{{Dj{c}}}}}}}Eb}{{{E`{}{{Dj{c}}}}e}{{Mf{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{c}}}{{Df{Bf}}}}EdEb}}{{{E`{}{{Dj{c}}}}gk}{{Mh{{E`{}{{Dj{c}}}}igk}}}Eb{}{{Dh{}{{Df{e}}}}EdEb}{{Mj{}{{Df{e}}}}Eb}{{Dh{ec}{{Df{i}}}}EdEb}}{{Mlei}{{Cl{cg}}}{}{{Dh{}{{Df{c}}}}EbEd}{}{{Dh{c{Cl{cg}}}{{Df{{Cl{cg}}}}}}EbEd}}{{{E`{}{{Dj{c}}}}ei}{{Mn{{E`{}{{Dj{c}}}}gi}}}Eb{nEb}{{Mj{}{{Df{e}}}}Eb}{{Dh{ec}{{Df{g}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}eEb{{Mj{}{{Df{B`}}}}Eb}{{Dh{c}{{Df{e}}}}EdEb}}{{{E`{}{{Dj{c}}}}gk}iEb{}{{Dh{}{{Df{e}}}}EdEb}{{Mj{}{{Df{B`}}}}Eb}{{Dh{{b{de}}c}{{Df{i}}}}EdEb}}{{{E`{}{{Dj{c}}}}ei}gEb{Ebn}{{Mj{}{{Df{B`}}}}Eb}{{Dh{{b{de}}c}{{Df{g}}}}EdEb}}{c{{Cl{e}}}{}{}}0{{{E`{}{{Dj{c}}}}gi}cEb{}{{Dh{}{{Df{e}}}}EdEb}{{Dh{ee}{{Df{c}}}}EdEb}}{{{E`{}{{Dj{c}}}}g}{{Cd{c}}}Eb{}{{Dh{ee}{{Df{c}}}}EdEb}}{{{b{c}}}Cn{}}{{{E`{}{{Dj{c}}}}}{{Ij{gk}}}EbEb{KjEb{Kl{e}}}Eb{KjEb{Kl{i}}}}{{Ej{b{d{Fj{c}}}}{b{d{Fj{e}}}}}B`EbEb}{{{E`{}{{Dj{c}}}}e}{{N`{{E`{}{{Dj{c}}}}e}}}Eb{{Dh{{b{dc}}}}EdEb}}{ce{}{}}{{{E`{}{{Dj{c}}}}}{{Nb{{E`{}{{Dj{c}}}}}}}Eb}{{EjBd}{{Nd{Ej}}}}{{EjBd}{{Nf{Ej}}}}{{Eje}{}{}{{Nh{c}}}}{{Ejc}{{Nj{Ej}}}Fb}{{Ejc}{{Nl{Ej}}}Fb}``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Nn}}}Nn}{{{b{O`}}}O`}{{{b{c}}{b{de}}}B`{}{}}0``{Bd{{b{c}}}{}}0{Bd{{b{dc}}}{}}0{BdB`}0{{{b{Nn}}{b{dBh}}}Bj}{{{b{O`}}{b{dBh}}}Bj}{cc{}}0{{}Bd}0{ce{}{}}0{{{b{c}}}e{}{}}0{c{{Cl{e}}}{}{}}000{{{b{c}}}Cn{}}033`?>{{{b{Cb}}}Cb}<{{{b{Cb}}{b{Cb}}}Bb}{{}Cb}=<;{{{b{Cb}}{b{Cb}}}Bf}{{{b{Cb}}{b{dBh}}}Bj}:{{{b{Cb}}{b{dc}}}B`Bn}:93{{{b{Cb}}{b{Cb}}}{{Cd{Bb}}}}49887:``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{Ob{ce}}}}}{{Ob{ce}}}{nA`}{nAb}}{{{b{c}}{b{de}}}B`{}{}}{Bd{{b{c}}}{}}{Bd{{b{dc}}}{}}{BdB`}{{{b{{Ob{ce}}}}{b{dBh}}}Bj{BlA`}{BlAb}}{cc{}}{{}Bd}``{ce{}{}}````{{{b{c}}}e{}{}}{c{{Cl{e}}}{}{}}0{{{b{c}}}Cn{}}3```````````=========<<<<<<<<<{{{Oh{{Od{c}}{Of{ce}}}}}{{Oj{ce}}}Ol{{On{c}}}}{{}{{Oj{cA@`}}}Ol}{{}A@`}{{}{{Oh{ce}}}KjKj}{{}A@b}{{}{{Od{c}}}{KjOl}}{{}A@d}{Bd{{b{c}}}{}}00000000{Bd{{b{dc}}}{}}00000000{BdB`}00000000{{{b{{Oj{ce}}}}{b{dBh}}}Bj{BlOl}{Bl{On{c}}}}{cc{}}00000000{{{b{A@`}}{b{{Eh{c}}}}}eOl{}}{{{b{A@`}}{b{Eh}}}c{}}{{}Bd}00000000{ce{}{}}00000000{{{b{A@`}}{b{Eh}}{b{{Eh{c}}}}}{}Ol}`{{{b{A@`}}{b{Eh}}{b{c}}}{}{}}{{{b{A@`}}{b{c}}{b{e}}}{}{}{}}{{{b{A@`}}{b{c}}{b{{Eh{e}}}}}{}{}Ol}{{}A@`}{{}{{Oh{A@bA@d}}}}{{{Oh{A@bA@d}}}{{Oh{{Od{c}}A@d}}}Ol}{{{Oh{{Od{c}}e}}g}{{Oh{{Od{c}}{Of{cg}}}}}Ol{}{{On{c}}}}{c{{Cl{e}}}{}{}}00000000000000000{{{b{c}}}Cn{}}00000000:::::::::```{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{{Eh{g}}}}}e{}{}Ol}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{Eh}}}c{}{}}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{Eh}}{b{{Eh{g}}}}}{}{}{}Ol}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{Eh}}{b{e}}}{}{}{}}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{c}}{b{e}}}{}{}{}}{{{b{{On{}{{A@f{c}}{A@h{e}}}}}}{b{c}}{b{{Eh{g}}}}}{}{}{}Ol}","D":"AMf","p":[[1,"reference"],[0,"mut"],[5,"ChallengeMid",10],[5,"QueryMid",10],[6,"VarMid",10],[5,"Gate",10],[10,"Clone",688],[10,"Field",689],[10,"Variable",251],[5,"ConstraintSystemMid",10],[5,"Preprocessing",10],[5,"CompiledCircuit",10],[6,"Any",10],[5,"ColumnMid",10],[5,"Cell",10],[1,"unit"],[6,"Ordering",690],[1,"usize"],[1,"bool"],[5,"Formatter",691],[8,"Result",691],[10,"Debug",691],[10,"Hasher",692],[1,"str"],[5,"Rotation",493],[6,"Option",693],[1,"u8"],[6,"Expression",251],[5,"String",694],[6,"Result",695],[5,"TypeId",696],[8,"Result",697],[10,"Write",698],[10,"PartialEq",690],[17,"Output"],[10,"Fn",699],[17,"Item"],[10,"Iterator",700],[5,"Argument",289],[10,"ParallelIterator",313,701],[10,"Send",702],[10,"Sync",702],[10,"ParallelSliceMut",313,703],[1,"slice"],[10,"IndexedParallelIterator",313,701],[5,"ExponentialBlocks",704],[5,"UniformBlocks",704],[5,"Chain",705],[10,"IntoParallelIterator",313,701],[5,"Chunks",706],[5,"Cloned",707],[10,"FromParallelIterator",701],[5,"Vec",708],[5,"LinkedList",709],[5,"Copied",710],[10,"Consumer",711],[10,"UnindexedConsumer",711],[5,"Enumerate",712],[5,"Filter",713],[5,"FilterMap",714],[5,"FlatMap",715],[5,"FlatMapIter",716],[10,"IntoIterator",717],[5,"Flatten",718],[5,"FlattenIter",719],[5,"Scope",313,720],[5,"Error",691],[5,"Fold",721],[5,"FoldChunks",722],[5,"FoldChunksWith",723],[5,"FoldWith",721],[5,"Inspect",724],[5,"Interleave",725],[5,"InterleaveShortest",726],[5,"Intersperse",727],[17,"Iter"],[1,"tuple"],[10,"FnOnce",699],[5,"Map",728],[5,"MapInit",729],[5,"MapWith",729],[10,"Ord",690],[5,"PanicFuse",730],[5,"ChunkByMut",731],[5,"ChunksExactMut",732],[5,"ChunksMut",732],[10,"IntoParallelRefIterator",313,701],[10,"IntoParallelRefMutIterator",313,701],[5,"RChunksExactMut",733],[5,"RChunksMut",733],[5,"SplitInclusiveMut",703],[5,"SplitMut",703],[10,"Default",734],[10,"ParallelExtend",701],[6,"Either",735],[5,"Positions",736],[10,"Product",737],[5,"Rev",738],[5,"Skip",739],[5,"SkipAny",740],[5,"SkipAnyWhile",741],[5,"BroadcastContext",742],[5,"StepBy",743],[10,"Sum",737],[5,"Take",744],[5,"TakeAny",745],[5,"TakeAnyWhile",746],[5,"TryFold",747],[10,"Try",748],[10,"TryFoldAndReduce",313],[5,"TryFoldWith",747],[5,"Update",749],[5,"WhileSome",750],[5,"MaxLen",751],[5,"MinLen",751],[10,"ProducerCallback",711],[5,"Zip",752],[5,"ZipEq",753],[5,"AssemblyMid",457],[5,"ArgumentMid",457],[5,"Argument",517],[5,"HasCurve",543],[5,"HasMsmEngine",543],[5,"PlonkEngineConfig",543],[5,"PlonkEngine",543],[10,"CurveAffine",754],[10,"MsmAccel",679],[5,"H2cEngine",543],[5,"NoCurve",543],[5,"NoMsmEngine",543],[17,"CoeffsDescriptor"],[17,"BaseDescriptor"],[8,"ExpressionMid",10],[8,"GateMid",10],[8,"ArgumentMid",289],[8,"ArgumentMid",517],[5,"H2cMsmCoeffsDesc",543],[5,"H2cMsmBaseDesc",543]],"r":[[313,701],[314,701],[315,701],[316,701],[324,701],[325,703],[326,720],[344,755],[382,756],[425,720]],"b":[[123,"impl-Display-for-VarMid"],[124,"impl-Debug-for-VarMid"],[130,"impl-Debug-for-ColumnMid"],[131,"impl-Display-for-ColumnMid"],[277,"impl-Mul%3CF%3E-for-Expression%3CF,+V%3E"],[278,"impl-Mul-for-Expression%3CF,+V%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMUBMQAAAAkAFAAAABcAAAAdAAAAIAAAACIAEwA3ABcAUgAzAJAABACWAAAAmAAJAKwAAQCvAAwAvQAAAL8AAQDCAAAAxAArAPEACgACAQUADAEDABEBAAAUAQAAFgEKACMBCAAtAQIAMQEIAEgBAABMAQEAWgEBAF4BAABtAQAAeAEAALsBAQC/AQAAwwEAAMsBCADVAQgA4AEBAOQBCQDvAQQA9QEEAPsBAQD/AQAAAQIEAAcCCAARAgIAFQJIAGcCCgB7AjUA"}],\ +["halo2_proofs",{"t":"PPPGCNNCNNNNCNNNENNCCNCNNNNRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMFFKRKRFFFRFFFNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNCNNFFNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNCNNNNNNNNPPPGFPPGPPGPFPPPPPPGNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOGFPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPGPGKPPPFPKFPPKRPFPFFGGGGFFPPFKRPFPPPPPPPPPPPRKPFPPFFPPPFPFPPFFPNNNNNNNNNNNNONMNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNMNNMNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONMNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHNNNNOONNNNNNNNNNNNNNNNNONONONONNNNNNNONNNNHMNNMNNMNNNNNNNNMNNNNNNONNNNONNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNMNNOOFFKNNNNNNNNNNNCNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNMNNNNNMNNNNNNNNNNNNFTKRRKRRKKRKRKRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFKRKKKKKNNNNNNNNNNNNNMNNMNNNNNNNNNNNNMNNNNNNNMNMMNNNNNNNNMNMNMNMNNNNNNNNNNNNNNNNNNMNMN","n":["Processed","RawBytes","RawBytesUnchecked","SerdeFormat","arithmetic","borrow","borrow_mut","circuit","clone","clone_into","deref","deref_mut","dev","drop","fmt","from","halo2curves","init","into","plonk","poly","to_owned","transcript","try_from","try_into","type_id","vzip","AffineExt","Base","Base","CURVE_ID","CurveAffine","CurveExt","CurveExt","Field","ONE","ScalarExt","ScalarExt","ZERO","a","a","b","b","coordinates","cube","double","endo","from_xy","hash_to_curve","invert","is_on_curve","is_on_curve","is_zero","is_zero_vartime","jacobian_coordinates","new_jacobian","parallelize","pow","pow_vartime","random","sqrt","sqrt_alt","sqrt_ratio","square","AssignedCell","Cell","Chip","Config","Layouter","Loaded","NamespacedLayouter","Region","RegionIndex","Root","SimpleFloorPlanner","Table","Value","add","add","add","add","add","add","add","add","add","add","and_then","as_mut","as_ref","assert_if_known","assign","assign_advice","assign_advice_from_constant","assign_advice_from_instance","assign_cell","assign_fixed","assign_region","assign_region","assign_table","assign_table","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cell","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cloned","cloned","column","config","constrain_constant","constrain_equal","constrain_instance","constrain_instance","copied","copied","copy_advice","cube","default","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","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable_selector","error_if_known_and","evaluate","evaluate","floor_planner","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","get_challenge","get_challenge","get_root","get_root","init","init","init","init","init","init","init","init","instance_value","into","into","into","into","into","into","into","into","into_field","invert","known","loaded","map","mul","mul","mul","mul","mul","mul","mul","mul","mul","mul","name_column","namespace","neg","pop_namespace","pop_namespace","push_namespace","push_namespace","region_index","row_offset","square","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","synthesize","to_field","to_owned","to_owned","to_owned","to_owned","transpose_array","transpose_vec","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","unknown","unzip","value","value_field","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","zip","V1","V1Pass","assign_region","assign_table","borrow","borrow","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_challenge","get_root","init","init","into","into","pop_namespace","push_namespace","single_pass","synthesize","try_from","try_from","try_into","try_into","type_id","type_id","v1","vzip","vzip","SimpleFloorPlanner","SingleChipLayouter","assign_region","assign_table","borrow","borrow_mut","constrain_instance","deref","deref_mut","drop","fmt","from","get_challenge","get_root","init","into","new","pop_namespace","push_namespace","try_from","try_into","type_id","vzip","AssignmentPass","MeasurementPass","V1","V1Pass","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","strategy","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Assigned","Assigned","CellNotAssigned","CellValue","CircuitLayout","ConstraintNotSatisfied","ConstraintPoisoned","FailureLocation","InRegion","InstanceCellNotAssigned","InstanceValue","Lookup","MockProver","OutsideRegion","Padding","Permutation","Poison","Shuffle","Unassigned","VerifyFailure","advice","advice_mut","advice_values","annotate_column","assert_satisfied","assert_satisfied_at_rows","assign_advice","assign_fixed","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_dot_graph","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","copy","cost_model","cs","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","emit","enable_selector","enter_region","eq","eq","eq","eq","exit_region","fill_from_row","fixed","fixed_values","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_challenge","init","init","init","init","init","init","instance","instance_mut","into","into","into","into","into","into","mark_equality_cells","metadata","pop_namespace","push_namespace","query_instance","render","run","selectors","show_equality_constraints","show_labels","to_owned","to_owned","to_owned","to_owned","to_string","to_string","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","usable_rows","value","verify","verify_at_rows","view_height","view_width","vzip","vzip","vzip","vzip","vzip","vzip","offset","region","row","cell_values","column","column","column","constraint","constraint","gate","gate","gate_offset","gate_offset","location","location","location","location","lookup_index","name","name","offset","region","region","row","shuffle_index","CommitmentScheme","CostOptions","KZGGWC","KZGSHPLONK","Lookup","ModelCircuit","Permutation","Poly","Shuffle","advice","advice_columns","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_into","clone_into","clone_into","clone_into","cmp","column_queries","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","eq","eq","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_circuit_to_cost_model_options","from_circuit_to_model_circuit","from_str","gate_degree","init","init","init","init","init","init","init","instance","into","into","into","into","into","into","into","into_model_circuit","k","k","lookup","lookups","max_deg","max_degree","partial_cmp","permutation","permutations","point_sets","rotations","serialize","serialize","shuffle","shuffles","size","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","Column","Constraint","Gate","Region","VirtualCell","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","column_type","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","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","hash","index","init","init","init","init","init","into","into","into","into","into","new","partial_cmp","partial_cmp","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","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","vzip","vzip","vzip","vzip","vzip","Advice","Advice","Advice","Any","AssignError","Assigned","Assignment","Backend","BoundsFailure","BoundsFailure","Challenge","Challenge","Circuit","Column","ColumnNotInPermutation","ColumnNotInPermutation","ColumnType","Config","Constant","ConstraintSystem","ConstraintSystemFailure","ConstraintSystemMid","Constraints","Error","ErrorBack","ErrorFront","Expression","FirstPhase","Fixed","Fixed","Fixed","FixedQuery","FloorPlanner","FloorPlanner","Frontend","Instance","Instance","Instance","InstanceTooLarge","InvalidInstances","Negated","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","NotEnoughRowsAvailable","Opening","Other","Other","Params","Phase","Product","ProvingKey","Rational","Scaled","SecondPhase","Selector","Selector","Sum","Synthesis","TableColumn","TableError","ThirdPhase","Transcript","Trivial","VerifyingKey","VirtualCells","Zero","add","add","add","add","add","add","add","add_assign","add_assign","advice_column","advice_column_in","advice_column_phase","advice_column_phase","advice_queries","annotate_column","annotate_column","annotate_lookup_any_column","annotate_lookup_column","assign_advice","assign_fixed","blinding_factors","borrow","borrow","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge_phase","challenge_phase","challenge_usable_after","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","cmp","cmp","cmp","column_index","column_index","column_type","column_type","complex_selector","complexity","compress_selectors","configure","configure_with_params","constants","copy","create_gate","create_proof","create_proof_with_engine","cube","cur","default","degree","degree","denominator","deref","deref","deref","deref","deref","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","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","directly_convert_selectors_to_fixed","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","enable_constant","enable_equality","enable_selector","enter_region","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","evaluate","evaluate","evaluate_lazy","exit_region","expr","expr","fill_from_row","fixed_column","fixed_commitments","fixed_queries","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","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","gates","gates","general_column_annotations","general_column_annotations","get_any_query_index","get_challenge","get_domain","get_vk","hash","hash","hash","hash","hash","hash","hash","hash","hash_into","identifier","index","index","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inner","instance_column","instance_queries","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","invert","is_simple","is_zero_vartime","keygen_pk","keygen_pk_custom","keygen_vk","keygen_vk_custom","lookup","lookup_any","lookup_table_column","lookups","lookups","minimum_degree","minimum_rows","mul","mul","mul","mul","mul","mul","mul_assign","mul_assign","neg","neg","neg","new","next","not_enough_rows_available","not_enough_rows_available","num_advice_columns","num_advice_columns","num_challenges","num_challenges","num_fixed_columns","num_fixed_columns","num_instance_columns","num_instance_columns","num_selectors","numerator","params","partial_cmp","partial_cmp","partial_cmp","permutation","permutation","phase","phases","phases","pinned","pk_read","pop_namespace","prev","product","push_namespace","query_advice","query_any","query_cell","query_cell","query_cell","query_cell","query_cell","query_cell","query_cells","query_challenge","query_fixed","query_instance","query_instance","query_selector","read","read","rot","rotation","rotation","selector","set_minimum_degree","shuffle","shuffles","shuffles","source","square","square","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sum","synthesize","synthesize","to_bytes","to_bytes","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_sealed","to_sealed","to_sealed","to_string","to_string","to_string","transcript_repr","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_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","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","type_id","type_id","type_id","type_id","type_id","unblinded_advice_column","unblinded_advice_column_in","unblinded_advice_columns","verify_proof_multi","vk_read","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_selector","without_witnesses","write","write","current_k","current_k","EvaluationDomain","Rotation","VerificationStrategy","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","coeff_from_vec","coeff_to_extended","commitment","constant_extended","constant_lagrange","cur","deref","deref","deref_mut","deref_mut","divide_by_vanishing_poly","drop","drop","empty_coeff","empty_extended","empty_lagrange","eq","extended_k","extended_len","extended_to_coeff","finalize","fmt","fmt","from","from","get_extended_omega","get_omega","get_omega_inv","get_quotient_poly_degree","hash","init","init","into","into","k","kzg","l_i_range","lagrange_extended","lagrange_from_vec","lagrange_to_coeff","new","new","next","partial_cmp","pinned","prev","process","rotate_extended","rotate_omega","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Blind","COMMIT_INSTANCE","CommitmentScheme","Curve","Guard","MSM","MSM","MSMAccumulator","Params","ParamsProver","ParamsProver","ParamsVerifier","ParamsVerifier","Prover","Scalar","Verifier","add","add_assign","add_assign","add_msm","append_term","bases","borrow","borrow_mut","check","clone","clone_into","commit","commit_lagrange","create_proof","create_proof_with_engine","default","deref","deref_mut","downsize","drop","empty_msm","eq","eval","fmt","from","init","into","k","mul","mul_assign","mul_assign","n","new","new","new","new","new_params","read","read_params","scalars","scale","to_owned","try_from","try_into","type_id","verify_proof","vzip","write","commitment","msm","multiopen","strategy","KZGCommitmentScheme","ParamsKZG","ParamsVerifierKZG","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","commit","commit_lagrange","commit_lagrange","deref","deref","deref","deref_mut","deref_mut","deref_mut","downsize","downsize","drop","drop","drop","empty_msm","empty_msm","fmt","fmt","fmt","from","from","from","from_parts","init","init","init","into","into","into","k","k","n","n","new","new_params","read","read","read_custom","read_custom","read_params","setup","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verifier_params","vzip","vzip","vzip","write","write","write_custom","write_custom","DualMSM","MSMKZG","add_msm","add_msm","append_term","bases","borrow","borrow","borrow_mut","borrow_mut","check","check","clone","clone","clone_into","clone_into","combine_with_base","default","default","deref","deref","deref_mut","deref_mut","drop","drop","eval","fmt","fmt","from","from","init","init","into","into","new","new","scalars","scale","scale","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ProverGWC","ProverSHPLONK","VerifierGWC","VerifierSHPLONK","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","create_proof_with_engine","create_proof_with_engine","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","new","new","new","new","new","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verify_proof","verify_proof","vzip","vzip","vzip","vzip","AccumulatorStrategy","GuardKZG","SingleStrategy","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","finalize","finalize","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","new","new","new","new","process","process","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with","Blake2bRead","Blake2bWrite","Challenge255","EncodedChallenge","Input","Transcript","TranscriptRead","TranscriptReadBuffer","TranscriptWrite","TranscriptWriterBuffer","as_challenge_scalar","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","common_point","common_point","common_point","common_scalar","common_scalar","common_scalar","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","finalize","finalize","fmt","fmt","fmt","from","from","from","get_scalar","get_scalar","init","init","init","init","init","init","init","into","into","into","new","new","read_point","read_point","read_scalar","read_scalar","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge_scalar","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","write_point","write_point","write_scalar","write_scalar"],"q":[[0,"halo2_proofs"],[27,"halo2_proofs::arithmetic"],[64,"halo2_proofs::circuit"],[293,"halo2_proofs::circuit::floor_planner"],[331,"halo2_proofs::circuit::floor_planner::single_pass"],[354,"halo2_proofs::circuit::floor_planner::v1"],[385,"halo2_proofs::dev"],[542,"halo2_proofs::dev::FailureLocation"],[545,"halo2_proofs::dev::VerifyFailure"],[567,"halo2_proofs::dev::cost_model"],[710,"halo2_proofs::dev::metadata"],[828,"halo2_proofs::plonk"],[1476,"halo2_proofs::plonk::ErrorBack"],[1477,"halo2_proofs::plonk::ErrorFront"],[1478,"halo2_proofs::poly"],[1549,"halo2_proofs::poly::commitment"],[1613,"halo2_proofs::poly::kzg"],[1617,"halo2_proofs::poly::kzg::commitment"],[1690,"halo2_proofs::poly::kzg::msm"],[1739,"halo2_proofs::poly::kzg::multiopen"],[1804,"halo2_proofs::poly::kzg::strategy"],[1864,"halo2_proofs::transcript"],[1952,"halo2_backend::helpers"],[1953,"core::fmt"],[1954,"core::result"],[1955,"core::any"],[1956,"pasta_curves::arithmetic::curves"],[1957,"subtle"],[1958,"ff"],[1959,"core::cmp"],[1960,"core::ops::arith"],[1961,"core::ops::function"],[1962,"alloc::boxed"],[1963,"core::marker"],[1964,"core::clone"],[1965,"core::convert"],[1966,"rand_core"],[1967,"halo2_frontend::circuit::value"],[1968,"halo2_frontend::plonk::assigned"],[1969,"halo2_frontend::circuit"],[1970,"halo2_frontend::plonk::circuit"],[1971,"halo2_frontend::plonk::circuit::expression"],[1972,"alloc::string"],[1973,"core::borrow"],[1974,"halo2_frontend::circuit::floor_planner::single_pass"],[1975,"halo2_frontend::circuit::layouter"],[1976,"halo2_frontend::circuit::table_layouter"],[1977,"core::iter::traits::collect"],[1978,"halo2_middleware::circuit"],[1979,"core::option"],[1980,"alloc::vec"],[1981,"halo2_frontend::circuit::floor_planner::v1"],[1982,"halo2_frontend::dev"],[1983,"core::iter::traits::iterator"],[1984,"halo2_frontend::dev::failure"],[1985,"halo2_frontend::plonk::circuit::constraint_system"],[1986,"halo2_frontend::dev::graph::layout"],[1987,"plotters::coord"],[1988,"plotters::drawing::area"],[1989,"plotters_backend"],[1990,"core::ops::range"],[1991,"halo2_frontend::dev::cost_model"],[1992,"serde::de"],[1993,"serde::ser"],[1994,"halo2_frontend::dev::metadata"],[1995,"std::collections::hash::map"],[1996,"core::hash"],[1997,"halo2_middleware::poly"],[1998,"halo2_backend::plonk"],[1999,"halo2_proofs::plonk::error"],[2000,"halo2_backend::transcript"],[2001,"halo2_middleware::zal::impls"],[2002,"halo2_middleware::zal::traits"],[2003,"std::io::error"],[2004,"halo2_backend::plonk::circuit"],[2005,"halo2_backend::poly::domain"],[2006,"halo2_backend::poly::commitment"],[2007,"halo2_frontend::plonk::lookup"],[2008,"core::default"],[2009,"halo2_frontend::plonk::permutation"],[2010,"halo2_frontend::plonk::circuit::expression::sealed"],[2011,"std::io"],[2012,"halo2_frontend::plonk::shuffle"],[2013,"core::error"],[2014,"halo2_backend::poly"],[2015,"halo2_backend::poly::strategy"],[2016,"halo2_backend::poly::query"],[2017,"halo2_backend::poly::kzg::commitment"],[2018,"pairing"],[2019,"halo2_backend::poly::kzg::msm"],[2020,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[2021,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[2022,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[2023,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[2024,"halo2_backend::poly::kzg::strategy"],[2025,"halo2_backend::arithmetic"],[2026,"halo2_frontend::circuit::floor_planner"],[2027,"halo2_frontend::dev::graph"],[2028,"halo2_proofs::plonk::prover"],[2029,"halo2_proofs::plonk::keygen"],[2030,"halo2_backend::plonk::verifier"],[2031,"halo2_backend::poly::kzg"]],"i":[3,3,3,0,0,3,3,0,3,3,3,3,0,3,3,3,0,3,3,0,0,3,0,3,3,3,3,19,19,13,19,0,0,13,0,20,19,13,20,19,13,19,13,13,20,20,19,13,19,20,19,13,20,20,19,19,0,20,20,20,20,20,20,20,0,0,0,59,0,59,0,0,0,53,0,0,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,41,41,41,49,41,53,54,53,54,64,36,56,55,44,41,49,54,64,36,56,55,44,41,49,54,44,36,56,55,44,36,56,55,44,36,36,55,59,41,41,53,54,36,36,44,36,36,64,36,56,56,55,44,41,49,54,64,36,56,55,44,41,49,54,36,64,36,56,55,44,41,49,54,54,41,36,36,44,0,64,36,56,55,44,41,49,54,64,36,36,56,56,55,44,41,41,49,49,54,36,53,54,53,54,64,36,56,55,44,41,49,54,41,64,36,56,55,44,41,49,54,36,36,36,59,36,36,36,36,36,36,36,36,36,36,36,41,53,36,53,54,53,54,55,55,36,36,36,36,36,36,36,36,36,36,36,64,36,36,56,55,44,36,36,64,36,56,55,44,41,49,54,64,36,56,55,44,41,49,54,64,36,56,55,44,41,49,54,36,36,44,44,64,36,56,55,44,41,49,54,36,0,0,80,80,81,80,81,80,80,81,80,81,80,81,80,81,80,81,80,80,80,81,80,81,80,80,80,0,81,81,80,81,80,81,80,0,81,80,0,0,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,83,84,83,84,83,84,83,84,83,84,83,84,83,84,83,84,83,84,0,83,84,83,84,83,84,83,84,86,91,90,0,0,90,90,0,89,90,0,90,0,89,91,90,86,90,86,0,85,85,85,85,85,85,85,85,89,90,93,86,85,91,89,90,93,86,85,91,0,89,90,86,91,89,90,86,91,85,0,85,93,89,90,93,86,85,91,89,90,93,86,85,91,89,90,93,86,85,91,90,85,85,89,90,86,91,85,85,85,85,89,89,90,90,93,86,85,91,89,90,93,86,85,91,85,89,90,93,86,85,91,85,85,89,90,93,86,85,91,93,0,85,85,85,93,85,85,93,93,89,90,86,91,89,90,89,90,93,86,85,91,89,90,93,86,85,91,89,90,93,86,85,91,85,91,85,85,93,93,89,90,93,86,85,91,208,208,209,210,211,212,213,210,214,211,212,211,212,210,215,216,213,215,215,216,211,211,212,212,216,0,0,108,108,0,0,0,0,0,109,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,101,102,103,104,101,102,103,104,101,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,103,107,108,109,101,102,103,104,107,108,101,109,108,109,101,102,103,104,107,108,109,101,102,103,104,107,0,0,101,109,108,109,101,102,103,104,107,109,108,109,101,102,103,104,107,109,109,107,109,107,107,109,101,109,107,107,101,103,107,109,107,107,101,102,103,104,108,109,101,102,103,104,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,108,109,101,102,103,104,107,0,0,0,0,0,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,111,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,111,112,112,113,113,114,114,115,115,111,111,112,112,112,112,113,113,114,114,115,115,115,115,115,111,111,111,112,113,114,115,111,112,113,114,115,111,111,112,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,111,112,113,114,115,0,71,120,0,40,0,0,131,139,40,0,120,0,0,139,40,0,78,120,0,139,0,0,0,0,0,0,0,0,71,120,0,0,78,131,0,71,120,139,139,120,40,139,40,139,139,40,78,0,120,0,37,120,0,0,120,120,40,0,40,0,139,37,0,0,37,37,37,37,37,37,37,120,37,37,92,92,92,124,92,76,92,92,92,76,76,92,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,124,92,124,71,125,126,37,92,43,63,128,50,70,120,42,51,48,124,71,125,126,37,92,43,63,128,50,70,120,42,51,48,71,43,50,128,128,43,43,92,120,92,78,78,92,76,92,0,0,37,43,92,92,120,37,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,37,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,63,92,92,76,76,71,37,43,63,128,50,70,120,42,51,48,37,120,120,76,63,70,76,92,125,92,131,131,124,71,139,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,40,131,131,131,124,124,71,71,71,71,139,139,125,126,37,37,37,37,37,140,92,130,43,43,43,43,43,141,142,143,63,128,50,70,70,120,42,51,48,40,125,126,92,124,92,124,92,76,125,126,71,43,63,50,70,42,51,48,125,120,43,63,70,43,128,70,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,50,92,92,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,140,37,63,37,0,0,0,0,92,92,92,92,124,124,92,37,37,37,37,120,120,37,37,37,37,120,43,43,139,40,92,124,92,124,92,124,92,124,92,37,78,71,43,50,92,124,70,124,92,125,0,76,43,120,76,130,130,127,71,43,42,51,48,120,130,130,76,130,130,125,126,43,128,128,92,92,92,92,124,139,37,120,37,37,37,37,37,37,120,37,37,120,156,78,125,126,124,71,125,126,37,92,43,63,128,50,70,120,42,51,48,141,142,143,131,139,40,125,131,124,71,139,125,126,37,140,92,130,43,43,43,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,92,124,0,0,131,124,71,139,125,126,37,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,140,78,125,126,217,218,0,0,0,123,149,123,149,123,149,123,149,123,149,149,0,149,149,123,123,149,123,149,149,123,149,149,149,149,123,149,149,149,171,123,149,123,149,149,149,149,149,123,123,149,123,149,149,0,149,149,149,149,171,149,123,123,149,123,171,149,149,123,149,123,149,123,149,123,149,123,149,0,179,0,184,182,0,179,182,0,0,184,0,184,0,184,0,173,173,173,174,174,174,173,173,174,173,173,175,152,176,176,173,173,173,152,173,179,173,174,173,173,173,173,152,173,173,173,152,175,176,182,173,184,152,184,174,174,173,173,173,173,182,173,152,0,0,0,0,0,0,0,187,189,191,187,189,191,187,189,187,189,187,187,189,187,189,191,187,189,191,187,189,187,189,191,187,189,187,189,191,187,189,191,187,187,189,191,187,189,191,187,189,187,189,187,191,187,189,187,189,191,187,187,189,187,189,191,187,189,191,187,189,191,187,187,189,191,187,189,187,189,0,0,190,192,190,190,190,192,190,192,190,192,190,192,190,192,190,190,192,190,192,190,192,190,192,190,190,192,190,192,190,192,190,192,190,192,190,190,192,190,192,190,192,190,192,190,192,190,192,0,0,0,0,194,196,195,197,194,196,195,197,194,195,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,195,197,194,196,195,197,194,196,195,197,194,196,195,197,196,197,194,196,195,197,0,0,0,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,199,200,198,199,200,198,199,200,198,199,200,198,199,200,199,199,200,200,199,200,198,199,200,198,199,200,198,199,200,198,199,200,198,199,200,199,0,0,0,0,132,0,0,0,0,0,132,203,204,205,203,204,205,203,204,205,203,204,205,151,203,204,151,203,204,203,204,205,205,203,204,205,203,204,205,206,204,203,204,205,203,204,205,132,205,207,206,203,203,204,204,205,203,204,205,132,205,165,203,165,203,151,203,204,151,203,204,205,203,204,205,203,204,205,203,204,205,203,204,205,133,204,133,204],"f":"`````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{j{{b{c}}}{}}{j{{b{dc}}}{}}`{jh}{{{b{f}}{b{dl}}}{{A`{hn}}}}{cc{}}`{{}j}{ce{}{}}``{{{b{c}}}e{}{}}`{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}3````````````{{}c{}}000{{{b{{Aj{}{{Ad{c}}{Af{e}}{Ah{g}}}}}}}{{An{{Al{{Aj{}{{Ad{c}}{Af{e}}{Ah{g}}}}}}}}}{B`Bb}{B`Bb}{{Bf{}{{Bd{}}{Ad{}}}}}}{{{b{Bh}}}Bh}0{{{b{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}}}{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}B`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{c}}{Bl{c}}}}{{cc}{{An{{Aj{}{{Ad{e}}{Af{c}}{Ah{g}}}}}}}{B`Bb}{B`Bb}{{Bf{}{{Bd{}}{Ad{}}}}}}{{{b{Bn}}}{{Cb{C`}}}}{{{b{Bh}}}{{An{Bh}}}}{{{b{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}}}CdB`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{c}}{Bl{c}}}}{{{b{{Aj{}{{Ad{c}}{Af{e}}{Ah{g}}}}}}}Cd{B`Bb}{B`Bb}{{Bf{}{{Bd{}}{Ad{}}}}}}{{{b{Bh}}}Cd}{{{b{Bh}}}Cf}{{{b{{Bf{}{{Ad{c}}{Af{e}}{Bd{g}}}}}}}{{Ch{eee}}}B`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{c}}{Bl{c}}}}{{ccc}{{An{{Bf{}{{Ad{e}}{Af{c}}{Bd{g}}}}}}}B`B`{{Aj{}{{Ah{}}{Ad{}}{Bj{}}{Bj{}}}}{Bl{e}}{Bl{e}}}}{{{b{d{Cj{c}}}}e}hCl{{C`{{b{d{Cj{c}}}}j}}ClCnD`}}{{{b{Bh}}c}Bh{{Dd{{Cj{Db}}}}}}0{cBhDf}9{{{b{Bh}}}{{Ch{CdBh}}}}{{{b{Bh}}{b{Bh}}}{{Ch{CdBh}}}}?`````````````{{{b{{Dh{c}}}}{Dh{c}}}{}{}}{{{Dh{{Dj{c}}}}c}{}Bh}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Dl{b}{{Bj{}}}}}{}}{{{Dh{{Dj{c}}}}{Dh{c}}}{}Bh}{{{Dh{{b{c}}}}{Dh{c}}}{}{}}{{{Dh{c}}{b{{Dh{c}}}}}{}{{Dl{b}{{Bj{}}}}}{}}{{{Dh{{b{{Dj{c}}}}}}{Dh{c}}}{}Bh}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}{}{}}{{{Dh{{b{{Dj{c}}}}}}c}{}Bh}{{{Dh{e}}{Dh{e}}}{}{}{{Dl{}{{Bj{c}}}}}}{{{Dh{c}}g}{{Dh{e}}}{}{}{{Dn{c}{{Bj{{Dh{e}}}}}}}}{{{b{d{Dh{c}}}}}{{Dh{{b{dc}}}}}{}}{{{b{{Dh{c}}}}}{{Dh{{b{c}}}}}{}}{{{b{{Dh{c}}}}e}h{}{{Dn{{b{c}}}{{Bj{Cf}}}}}}{{{Dh{c}}}{{A`{cE`}}}{}}{{{b{d{Eb{c}}}}g{Ef{Ed}}jk}{{A`{{Eh{ic}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{}{{En{}{{Bj{{Dh{i}}}}}}}}{{{b{d{Eb{c}}}}g{Ef{Ed}}ji}{{A`{{Eh{ic}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{}}{{{b{d{Eb{c}}}}g{Ef{F`}}j{Ef{Ed}}j}{{A`{{Eh{cc}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}}{{{b{d{Fb{c}}}}gFdjk}{{A`{hE`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{{El{{Dj{c}}}}}{{En{}{{Bj{{Dh{i}}}}}}}}{{{b{d{Eb{c}}}}g{Ef{Ff}}jk}{{A`{{Eh{ic}}E`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{}{{En{}{{Bj{{Dh{i}}}}}}}}{{{b{d{Fj{}{{Fh{c}}}}}}im}{{A`{kE`}}}{{Fj{e}}}Bh{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{e}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{Fl{ce}}}}im}{{A`{kE`}}}Bh{{Fj{c}}}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{c}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{Fj{}{{Fh{c}}}}}}ik}{{A`{hE`}}}{{Fj{e}}}Bh{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{e}}}{{Bj{{A`{hE`}}}}}}}}{{{b{d{Fl{ce}}}}ik}{{A`{hE`}}}Bh{{Fj{c}}}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{c}}}{{Bj{{A`{hE`}}}}}}}}{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{{Eh{ce}}}}}Fn{}Bh}{{{b{{Dh{c}}}}}{{Dh{c}}}D`}{{{b{G`}}}G`}{{{b{Fn}}}Fn}{{{b{{Eh{ce}}}}}{{Eh{ce}}}D`{D`Bh}}{{{b{c}}{b{de}}}h{}{}}000{{{Dh{{b{dc}}}}}{{Dh{c}}}D`}{{{Dh{{b{c}}}}}{{Dh{c}}}D`}`{{{b{{Gf{}{{Gb{c}}{Gd{e}}}}}}}{{b{c}}}{GhD`}{GhD`}}{{{b{d{Eb{c}}}}Fne}{{A`{hE`}}}Bh{{El{{Dj{c}}}}}}{{{b{d{Eb{c}}}}FnFn}{{A`{hE`}}}Bh}{{{b{d{Fj{}{{Fh{c}}}}}}Fn{Ef{F`}}j}{{A`{hE`}}}{{Fj{e}}}Bh}{{{b{d{Fl{ce}}}}Fn{Ef{F`}}j}{{A`{hE`}}}Bh{{Fj{c}}}}{{{Dh{{b{c}}}}}{{Dh{c}}}Gj}{{{Dh{{b{dc}}}}}{{Dh{c}}}Gj}{{{b{{Eh{ce}}}}i{b{d{Eb{e}}}}{Ef{Ed}}j}{{A`{{Eh{ce}}E`}}}D`Bh{{El{Ej}}}{{C`{}{{Bj{g}}}}}}{{{b{{Dh{e}}}}}{{Dh{{Dj{c}}}}}Bh{{Gl{{Dj{c}}}}}}{{}{{Dh{c}}}{}}{j{{b{c}}}{}}00{{{b{G`}}}b}11111{j{{b{dc}}}{}}00000004{jh}000000{{{b{d{Fl{ce}}}}}hBh{{Fj{c}}}}1{{{b{d{Eb{c}}}}g{b{Gn}}j}{{A`{hE`}}}Bh{{El{Ej}}}{{C`{}{{Bj{e}}}}}}{{{b{{Dh{c}}}}e}{{A`{hE`}}}{}{{Dn{{b{c}}}{{Bj{Cf}}}}}}{{{Dh{{Dj{c}}}}}{{Dh{c}}}Bh}{{{Eh{{Dj{c}}c}}}{{Eh{cc}}}Bh}`{{{b{H`}}{b{dl}}}{{A`{hn}}}}{{{b{{Dh{c}}}}{b{dl}}}{{A`{hn}}}Gh}{{{b{G`}}{b{dl}}}{{A`{hn}}}}{{{b{Fn}}{b{dl}}}{{A`{hn}}}}{{{b{{Eh{ce}}}}{b{dl}}}{{A`{hn}}}Gh{GhBh}}{{{b{{Eb{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Fb{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Fl{ce}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{Fj{c}}}}{cc{}}0{{{Dh{c}}}{{Dh{{Dj{c}}}}}Bh}{jG`}2222{{{b{dHb}}}{{Eb{c}}}Bh}3{{{b{dHd}}}{{Fb{c}}}Bh}4{e{{Dh{g}}}{}{{Hh{}{{Hf{{Dh{c}}}}}}}{{Hj{c}}}}{{{b{{Fj{}{{Fh{c}}}}}}Hl}{{Dh{e}}}{{Fj{e}}}Bh}{{{b{{Fl{ce}}}}Hl}{{Dh{c}}}Bh{{Fj{c}}}}{{{b{d{Fj{}{{Fh{c}}}}}}}{{b{dc}}}{{Fj{e}}}Bh}{{{b{d{Fl{ce}}}}}{{b{d}}}Bh{{Fj{c}}}}{{}j}0000000{{{b{d{Eb{c}}}}{Ef{F`}}j}{{A`{{Dh{c}}E`}}}Bh}{ce{}{}}0000000{{{Dh{e}}}{{Dh{{Dj{c}}}}}Bh{{El{{Dj{c}}}}}}{{{b{{Dh{e}}}}}{{Dh{{Dj{c}}}}}Bh{{Gl{{Dj{c}}}}}}{c{{Dh{c}}}{}}{{{b{{Gf{}{{Gb{c}}{Gd{e}}}}}}}{{b{e}}}{GhD`}{GhD`}}{{{Dh{c}}g}{{Dh{e}}}{}{}{{Dn{c}{{Bj{e}}}}}}{{{Dh{{b{{Dj{c}}}}}}c}{}Bh}{{{b{{Dh{c}}}}{Dh{c}}}{}{}}{{{Dh{c}}{b{{Dh{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{Dh{{Dj{c}}}}{Dh{c}}}{}Bh}{{{Dh{{b{{Dj{c}}}}}}{Dh{c}}}{}Bh}{{{Dh{{Dj{c}}}}c}{}Bh}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{Dh{{b{c}}}}{Dh{c}}}{}{}}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}{}{}}{{{Dh{e}}{Dh{e}}}{}{}{{Bl{}{{Bj{c}}}}}}{{{b{d{Eb{c}}}}gi}hBh{{El{Ej}}}{{C`{}{{Bj{e}}}}}{{El{{Ef{Hn}}}}}}{{{b{d{Fj{}{{Fh{c}}}}}}i}{{Fl{ec}}}{{Fj{e}}}Bh{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}{{{Dh{c}}}{}I`}{{{b{d{Fj{}{{Fh{c}}}}}}{Ib{Ej}}}h{{Fj{e}}}Bh}{{{b{d{Fl{ce}}}}{Ib{Ej}}}hBh{{Fj{c}}}}{{{b{d{Fj{}{{Fh{c}}}}}}i}h{{Fj{e}}}Bh{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}{{{b{d{Fl{ce}}}}i}hBh{{Fj{c}}}{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}``{{{b{{Dh{e}}}}}{{Dh{{Dj{c}}}}}Bh{{Gl{{Dj{c}}}}}}{{{b{{Dh{c}}}}{Dh{c}}}{}{}}{{{Dh{c}}{b{{Dh{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}<{{{Dh{{b{{Dj{c}}}}}}c}{}Bh}<{{{Dh{{b{{Dj{c}}}}}}{Dh{c}}}{}Bh}{{{Dh{{Dj{c}}}}{Dh{c}}}{}Bh}{{{Dh{{Dj{c}}}}c}{}Bh}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}{{{Dh{e}}{Dh{e}}}{}{}{{Id{}{{Bj{c}}}}}}{{{b{de}}{b{g}}{If{{Ef{Ff}}}}}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{Il{c}}}}{{{b{{Dh{c}}}}}{{Dh{{Dj{e}}}}}{}Bh}{{{b{c}}}e{}{}}000{{{Dh{{In{c}}}}}{{In{{Dh{c}}}}}Gj}{{{Dh{e}}j}{{If{{Dh{c}}}}}{}{{Hh{}{{Hf{c}}}}}}{c{{A`{e}}}{}{}}000000000000000{{{b{c}}}Ab{}}0000000{{}{{Dh{c}}}{}}{{{Dh{{Ch{ce}}}}}{{Ch{{Dh{c}}{Dh{e}}}}}{}{}}{{{b{{Eh{ce}}}}}{{Dh{{b{c}}}}}{}Bh}{{{b{{Eh{ce}}}}}{{Dh{{Dj{e}}}}}{}Bh}{ce{}{}}0000000{{{Dh{c}}{Dh{e}}}{{Dh{{Ch{ce}}}}}{}{}}``{{{b{d{J`{ce}}}}im}{{A`{kE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{c}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{J`{ce}}}}ik}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{c}}}{{Bj{{A`{hE`}}}}}}}}{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{d{J`{ce}}}}Fn{Ef{F`}}j}{{A`{hE`}}}Bh{{Ih{c}}Ij}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{Jb}}{b{dl}}}{{A`{hn}}}}{{{b{{J`{ce}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{Ih{c}}}}{cc{}}0{{{b{{J`{ce}}}}Hl}{{Dh{c}}}Bh{{Ih{c}}Ij}}{{{b{d{J`{ce}}}}}{{b{d}}}Bh{{Ih{c}}Ij}}{{}j}0??{{{b{d{J`{ce}}}}{Ib{Ej}}}hBh{{Ih{c}}Ij}}{{{b{d{J`{ce}}}}i}hBh{{Ih{c}}Ij}{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}`{{{b{de}}{b{g}}{If{{Ef{Ff}}}}}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{Il{c}}}}{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0`{ce{}{}}0``{{{b{d{Jd{ce}}}}im}{{A`{kE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{}{{En{{Eb{c}}}{{Bj{{A`{kE`}}}}}}}}{{{b{d{Jd{ce}}}}ik}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{El{Ej}}}{{C`{}{{Bj{g}}}}}{{En{{Fb{c}}}{{Bj{{A`{hE`}}}}}}}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{d{Jd{ce}}}}Fn{Ef{F`}}j}{{A`{hE`}}}Bh{{Ih{c}}Ij}}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{{Jd{ce}}}}{b{dl}}}{{A`{hn}}}Bh{{Ih{c}}}}{cc{}}{{{b{{Jd{ce}}}}Hl}{{Dh{c}}}Bh{{Ih{c}}Ij}}{{{b{d{Jd{ce}}}}}{{b{d}}}Bh{{Ih{c}}Ij}}{{}j}={{{b{de}}{If{{Ef{Ff}}}}}{{A`{{Jd{ce}}E`}}}Bh{{Ih{c}}}}{{{b{d{Jd{ce}}}}{Ib{Ej}}}hBh{{Ih{c}}Ij}}{{{b{d{Jd{ce}}}}i}hBh{{Ih{c}}Ij}{{El{Ej}}}{{Dn{}{{Bj{g}}}}}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}{ce{}{}}````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0??>>=={{{b{Jf}}{b{dl}}}{{A`{hn}}}}{{{b{{Jh{ce}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{Ih{c}}}}==::44`66665544````````````````````{{{b{{Jj{c}}}}}{{b{{If{{If{{Jl{c}}}}}}}}}{JnBb}}{{{b{d{Jj{c}}}}j}{{b{d{Cj{{Jl{c}}}}}}}Bh}{{{b{{Jj{c}}}}{Ef{Ed}}}{{b{{Cj{{Jl{c}}}}}}}{JnBb}}{{{b{d{Jj{c}}}}g{Ef{Hn}}}hBh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{{Jj{c}}}}}h{JnBb}}{{{b{{Jj{c}}}}ee}h{JnBb}{D`{K`{}{{Hf{j}}}}}}{{{b{d{Jj{c}}}}g{Ef{Ed}}jk}{{A`{hE`}}}Bh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}{{El{{Dj{c}}}}}{{Dn{}{{Bj{{Dh{i}}}}}}}}{{{b{d{Jj{c}}}}g{Ef{Ff}}jk}{{A`{hE`}}}Bh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}{{El{{Dj{c}}}}}{{Dn{}{{Bj{{Dh{i}}}}}}}};;;;;;::::::{{{b{e}}}EjBh{{Il{c}}}}{{{b{Kb}}}Kb}{{{b{Kd}}}Kd}{{{b{{Jl{c}}}}}{{Jl{c}}}{D`Bh}}{{{b{{Kf{c}}}}}{{Kf{c}}}{D`Bh}}{{{b{c}}{b{de}}}h{}{}}000{{{b{d{Jj{c}}}}{Ef{Hn}}j{Ef{Hn}}j}{{A`{hE`}}}Bh}`{{{b{{Jj{c}}}}}{{b{{Kh{c}}}}}{JnBb}}{{}Kj}{j{{b{c}}}{}}00000{j{{b{dc}}}{}}00000{jh}00000{{{b{Kd}}{b{{Jj{c}}}}}hBh}{{{b{d{Jj{c}}}}g{b{Gn}}j}{{A`{hE`}}}Bh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{d{Jj{c}}}}g}hBh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{Kb}}{b{Kb}}}Cf}{{{b{Kd}}{b{Kd}}}Cf}{{{b{{Jl{c}}}}{b{{Jl{c}}}}}Cf{KlBh}}{{{b{{Kf{c}}}}{b{{Kf{c}}}}}Cf{KlBh}}{{{b{d{Jj{c}}}}}hBh}{{{b{d{Jj{c}}}}{Ef{Ff}}j{Dh{{Dj{c}}}}}{{A`{hE`}}}Bh}{{{b{{Jj{c}}}}}{{b{{If{{If{{Jl{c}}}}}}}}}{JnBb}}{{{b{{Jj{c}}}}{Ef{Ff}}}{{b{{Cj{{Jl{c}}}}}}}{JnBb}}{{{b{Kb}}{b{dl}}}{{A`{hn}}}}0{{{b{Kd}}{b{dl}}}{{A`{hn}}}}0{{{b{Kj}}{b{dl}}}{{A`{hn}}}}{{{b{{Jl{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Jj{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Kf{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{cc{}}00000{{{b{{Jj{c}}}}Hl}{{Dh{c}}}Bh}{{}j}00000{{{b{{Jj{c}}}}}{{b{{If{{If{{Kf{c}}}}}}}}}{JnBb}}{{{b{d{Jj{c}}}}j}{{b{d{Cj{{Kf{c}}}}}}}Bh}{ce{}{}}00000{{KjCf}Kj}`{{{b{d{Jj{c}}}}{Ib{Ej}}}hBh}{{{b{d{Jj{c}}}}g}hBh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}}{{{b{{Jj{c}}}}{Ef{F`}}j}{{A`{{Dh{c}}E`}}}Bh}{{KjKn{b{e}}{b{{Lb{gL`}}}}}{{A`{hLd}}}Bh{{Il{c}}}Lf}{{Kn{b{e}}{If{{If{c}}}}}{{A`{{Jj{c}}E`}}}{JnBb}{{Il{c}}}}{{{b{{Jj{c}}}}}{{b{{If{{If{Cf}}}}}}}{JnBb}}66{{{b{c}}}e{}{}}000{{{b{c}}}Ej{}}0{c{{A`{e}}}{}{}}00000000000{{{b{c}}}Ab{}}00000{{{b{{Jj{c}}}}}{{b{{Lh{j}}}}}{JnBb}}{{{b{{Kf{c}}}}}cBh}{{{b{{Jj{c}}}}}{{A`{h{If{Kd}}}}}{JnBb}}{{{b{{Jj{c}}}}ee}{{A`{h{If{Kd}}}}}{JnBb}{D`{K`{}{{Hf{j}}}}}}{{Kj{Lh{j}}}Kj}0{ce{}{}}00000````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}000000{{{b{dc}}}{{b{de}}}{}{}}000000{{{b{Lj}}}Lj}{{{b{Ll}}}Ll}{{{b{Ln}}}Ln}{{{b{M`}}}M`}{{{b{c}}{b{de}}}h{}{}}000{{{b{Lj}}{b{Lj}}}Mb}`{j{{b{c}}}{}}000000{j{{b{dc}}}{}}000000{c{{A`{Ln}}}Md}{c{{A`{Mf}}}Md}{jh}000000{{{b{Mh}}{b{Mh}}}Cf}{{{b{Lj}}{b{Lj}}}Cf}`{{{b{Mh}}{b{dl}}}{{A`{hn}}}}{{{b{Mj}}{b{dl}}}{{A`{hn}}}}{{{b{Lj}}{b{dl}}}{{A`{hn}}}}{{{b{Ll}}{b{dl}}}{{A`{hn}}}}{{{b{Ln}}{b{dl}}}{{A`{hn}}}}{{{b{M`}}{b{dl}}}{{A`{hn}}}}{{{b{Mf}}{b{dl}}}{{A`{hn}}}}{cc{}}000000{{Kn{b{e}}{If{{If{c}}}}}Mj{BbBhJn}{{Il{c}}}}{{Kn{b{e}}{If{{If{c}}}}Mh}Mf{BbBhJn}{{Il{c}}}}{{{b{Bn}}}{{A`{Lj}}}}`{{}j}000000`{ce{}{}}000000{{{b{Mj}}Mh}Mf}``````{{{b{Lj}}{b{Lj}}}{{Ib{Mb}}}}````{{{b{Ln}}c}A`Ml}{{{b{Mf}}c}A`Ml}```{{{b{c}}}e{}{}}000{c{{A`{e}}}{}{}}0000000000000{{{b{c}}}Ab{}}0000007777777`````{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000{{{b{Mn}}}Mn}{{{b{N`}}}N`}{{{b{Nb}}}Nb}{{{b{Nd}}}Nd}{{{b{Nf}}}Nf}{{{b{c}}{b{de}}}h{}{}}0000{{{b{Mn}}{b{Mn}}}Mb}{{{b{N`}}{b{N`}}}Mb}`{j{{b{c}}}{}}0000{j{{b{dc}}}{}}0000{jh}0000{{{b{Mn}}{b{Mn}}}Cf}{{{b{N`}}{b{N`}}}Cf}{{{b{Nb}}{b{Nb}}}Cf}{{{b{Nd}}{b{Nd}}}Cf}{{{b{Nf}}{b{Nf}}}Cf}{{{b{Mn}}{b{dl}}}{{A`{hn}}}}0{{{b{N`}}{b{dl}}}{{A`{hn}}}}0{{{b{Nb}}{b{dl}}}{{A`{hn}}}}0{{{b{Nd}}{b{dl}}}{{A`{hn}}}}0{{{b{Nf}}{b{dl}}}{{A`{hn}}}}0{cc{}}{{{Ef{Hn}}}Mn}1{{{Ch{MnNh}}}N`}{{{Ch{cMnNh}}}N`{{Dd{Bn}}}}{NjN`}4{{{Ch{jc}}}Nb{{Dd{Bn}}}}5{{{Ch{Nbjc}}}Nd{{Dd{Bn}}}}{{{Ch{j{b{Bn}}{Nl{MnEj}}}}}Nf}{{{Ch{jEj{Nl{MnEj}}}}}Nf}{{{Ch{jEj}}}Nf}{{{Ch{j{b{Bn}}}}}Nf}:{{{b{Mn}}{b{dc}}}hNn}`{{}j}0000{ce{}{}}0000{{Hnj}Mn}{{{b{Mn}}{b{Mn}}}{{Ib{Mb}}}}{{{b{N`}}{b{N`}}}{{Ib{Mb}}}}{{{b{c}}}e{}{}}0000{{{b{c}}}Ej{}}0000{c{{A`{e}}}{}{}}000000000{{{b{c}}}Ab{}}000077777``````````````````````````````````````````````````````````````````{{{Dj{c}}{Dj{c}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}{Dj{c}}}{{Dj{c}}}Bh}{{{Dj{c}}c}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}c}{{Dj{c}}}Bh}{{{Dj{c}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dj{c}}}}{Dj{c}}}hBh}{{{b{d{Dj{c}}}}{b{{Dj{c}}}}}hBh}{{{b{d{Kh{c}}}}}{{Ef{Ed}}}Bh}{{{b{d{Kh{c}}}}e}{{Ef{Ed}}}BhOb}{{{b{{Kh{c}}}}}{{If{Od}}}Bh}`{{{b{{Kh{c}}}}}{{b{{If{{Ch{{Ef{Ed}}Of}}}}}}}Bh}{{{b{dIh}}e{Ef{Hn}}}h{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{d{Kh{c}}}}ei}hBh{{El{{Ef{Hn}}}}}{{El{Ej}}}{{C`{}{{Bj{g}}}}}}0{{{b{d{Kh{c}}}}Fdg}hBh{{El{Ej}}}{{C`{}{{Bj{e}}}}}}{{{b{dIh}}e{Ef{Ed}}jk}{{A`{hE`}}}{{El{Ej}}}{{Dn{}{{Bj{c}}}}}Bh{{El{{Dj{g}}}}}{{Dn{}{{Bj{{Dh{i}}}}}}}}{{{b{dIh}}e{Ef{Ff}}jk}{{A`{hE`}}}{{El{Ej}}}{{Dn{}{{Bj{c}}}}}Bh{{El{{Dj{g}}}}}{{Dn{}{{Bj{{Dh{i}}}}}}}}{{{b{{Kh{c}}}}}jBh}{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000000000000009`{{{b{d{Kh{c}}}}e}HlBhOb}{{{b{{Oh{c}}}}}{{Oh{c}}}{D`Bh}}{{{b{Hn}}}Hn}{{{b{{Oj{c}}}}}{{Oj{c}}}{D`Aj}}{{{b{{Ol{c}}}}}{{Ol{c}}}{D`Aj}}{{{b{{Dj{c}}}}}{{Dj{c}}}D`}{{{b{{Kh{c}}}}}{{Kh{c}}}{D`Bh}}{{{b{{Ef{c}}}}}{{Ef{c}}}{D`On}}{{{b{Gn}}}Gn}{{{b{A@`}}}A@`}{{{b{Fd}}}Fd}{{{b{Hl}}}Hl}{{{b{{O`{c}}}}}{{O`{c}}}D`}{{{b{Ed}}}Ed}{{{b{Ff}}}Ff}{{{b{F`}}}F`}{{{b{c}}{b{de}}}h{}{}}00000000000000{{{b{Hn}}{b{Hn}}}Mb}{{{b{{Ef{c}}}}{b{{Ef{c}}}}}MbOn}{{{b{Fd}}{b{Fd}}}Mb}{{{b{A@`}}}j}`{{{b{{Ef{c}}}}}{{b{c}}}On}`{{{b{d{Kh{c}}}}}GnBh}{{{b{{O`{c}}}}}jBh}{{{Kh{c}}{If{{If{Cf}}}}}{{Ch{{Kh{c}}{If{{If{c}}}}}}}Bh}{{{b{d{Kh{c}}}}}eBh{}}{{{b{d{Kh{c}}}}e}gBh{}{}}{{{b{{Kh{c}}}}}{{b{{If{{Ef{Ff}}}}}}}Bh}{{{b{dIh}}{Ef{Hn}}j{Ef{Hn}}j}{{A`{hE`}}}}{{{b{d{Kh{c}}}}ek}hBh{{Dd{Bn}}}{{El{{A@b{c}}}}}{{Hh{}{{Hf{g}}}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{i}}}}}}{{b{b{Ol}}{b{{Cj{c}}}}{b{{Cj{{If{If}}}}}}e{b{di}}}{{A`{hA@f}}}IlDfA@h{{A@j{g}}}}{{{A@l{c}}b{b{Ol}}{b{{Cj{e}}}}{b{{Cj{{If{If}}}}}}g{b{dk}}}{{A`{hA@f}}}A@nIlDfA@h{{A@j{i}}}}{{{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{b{{Ef{c}}}}}{{O`{e}}}OnBh}{{}{{Kh{c}}}Bh}{{{b{{Kh{c}}}}}jBh}<{{{b{{Dj{c}}}}}{{Ib{c}}}Bh}{j{{b{c}}}{}}0000000000000000000000{j{{b{dc}}}{}}0000000000000000000000>6{jh}0000000000000000000000{{{b{Gn}}{b{d{Eb{c}}}}j}{{A`{hE`}}}Bh}{{{b{d{Kh{c}}}}{Ef{Ff}}}hBh}{{{b{d{Kh{c}}}}e}hBh{{El{{Ef{Hn}}}}}}{{{b{dIh}}e{b{Gn}}j}{{A`{hE`}}}{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{dIh}}e}h{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{Hn}}{b{Hn}}}Cf}{{{b{{Dj{c}}}}{b{{Dj{c}}}}}CfBh}{{{b{{Ef{c}}}}{b{{Ef{c}}}}}Cf{KlOn}}{{{b{Gn}}{b{Gn}}}Cf}{{{b{A@`}}{b{A@`}}}Cf}{{{b{Fd}}{b{Fd}}}Cf}{{{b{Hl}}{b{Hl}}}Cf}{{{b{{O`{c}}}}{b{{O`{c}}}}}CfKl}{{{b{Ed}}{b{Ed}}}Cf}{{{b{Ff}}{b{Ff}}}Cf}{{{b{F`}}{b{F`}}}Cf}{{{Dj{c}}}cBh}{{{b{{O`{c}}}}{b{g}}{b{i}}{b{k}}{b{m}}{b{o}}{b{Aa}}{b{Ac}}{b{Ae}}{b{Ag}}{b{Ai}}}eBh{}{{C`{c}{{Bj{e}}}}}{{C`{Gn}{{Bj{e}}}}}{{C`{A@`}{{Bj{e}}}}}{{C`{AA`}{{Bj{e}}}}}{{C`{AAb}{{Bj{e}}}}}{{C`{Hl}{{Bj{e}}}}}{{C`{e}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ec}{{Bj{e}}}}}}{{{b{{O`{c}}}}{b{g}}{b{i}}{b{k}}{b{m}}{b{o}}{b{Aa}}{b{Ac}}{b{Ae}}{b{Ag}}{b{Ai}}{b{e}}}eBhKl{{C`{c}{{Bj{e}}}}}{{C`{Gn}{{Bj{e}}}}}{{C`{A@`}{{Bj{e}}}}}{{C`{AA`}{{Bj{e}}}}}{{C`{AAb}{{Bj{e}}}}}{{C`{Hl}{{Bj{e}}}}}{{C`{e}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ee}{{Bj{e}}}}}{{C`{ec}{{Bj{e}}}}}}{{{b{dIh}}}h}{{{b{Gn}}}{{O`{c}}}Bh}{{{b{Hl}}}{{O`{c}}}Bh}{{{b{dIh}}{Ef{Ff}}j{Dh{{Dj{c}}}}}{{A`{hE`}}}Bh}{{{b{d{Kh{c}}}}}{{Ef{Ff}}}Bh}{{{b{{Oj{c}}}}}{{b{{If{c}}}}}Aj}{{{b{{Kh{c}}}}}{{b{{If{{Ch{{Ef{Ff}}Of}}}}}}}Bh}{{{b{A@f}}{b{dl}}}AAd}0{{{b{{Oh{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{Hn}}{b{dl}}}{{A`{hn}}}}{{{b{AAf}}{b{dl}}}{{A`{hn}}}}0{{{b{{Oj{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{Ol{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{Dj{c}}}}{b{dl}}}{{A`{hn}}}Gh}{{{b{{AAh{ceg}}}}{b{dl}}}{{A`{hn}}}{GhBh}{Gh{El{{A@b{c}}}}}{Gh{Hh{}{{Hf{e}}}}}}{{{b{{Kh{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{A@d{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{{{b{{Ef{c}}}}{b{dl}}}{{A`{hn}}}{GhOn}}{{{b{AAj}}{b{dl}}}{{A`{hn}}}}{{{b{AAl}}{b{dl}}}{{A`{hn}}}}{{{b{AAn}}{b{dl}}}{{A`{hn}}}}{{{b{Gn}}{b{dl}}}{{A`{hn}}}}{{{b{A@`}}{b{dl}}}{{A`{hn}}}}{{{b{Fd}}{b{dl}}}{{A`{hn}}}}{{{b{Hl}}{b{dl}}}{{A`{hn}}}}{{{b{{O`{c}}}}{b{dl}}}{{A`{hn}}}Gh}{{{b{Ed}}{b{dl}}}{{A`{hn}}}}{{{b{Ff}}{b{dl}}}{{A`{hn}}}}{{{b{F`}}{b{dl}}}{{A`{hn}}}}{{{b{E`}}{b{dl}}}{{A`{hn}}}}0{AAfA@f}{cc{}}{E`A@f}1{{{Kh{c}}}{{Oh{c}}}Bh}{F`Hn}3{FfHn}{EdHn}{AB`AAf}666{c{{Dj{c}}}Bh}7{{{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{b{c}}}{{Dj{c}}}Bh}{{{Ch{cc}}}{{Dj{c}}}Bh}:::{{{Ef{Ff}}}{{Ef{Hn}}}}{Mn{{Ef{Hn}}}}<{{{Ef{F`}}}{{Ef{Hn}}}}{{{Ef{Ed}}}{{Ef{Hn}}}}>>>>>>{ABbHl}??????{{{b{{Cj{Od}}}}fABd}{{A`{{Oj{c}}AB`}}}ABf}{{{b{{Cj{Od}}}}fABd}{{A`{{Ol{c}}AB`}}}ABf}{{{b{{Kh{c}}}}}{{b{{If{{ABh{c}}}}}}}Bh}`{{{b{{Kh{c}}}}}{{b{{Nl{MnEj}}}}}Bh}`{{{b{{Kh{c}}}}{Ef{Hn}}Of}jBh}{{{b{Ih}}Hl}{{Dh{c}}}Bh}{{{b{{Oj{c}}}}}{{b{ABj}}}Aj}{{{b{{Ol{c}}}}}{{b{{Oj{c}}}}}Aj}{{{b{Hn}}{b{dc}}}hNn}{{{b{{Ef{c}}}}{b{de}}}h{ABlOn}Nn}{{{b{Gn}}{b{dc}}}hNn}{{{b{Fd}}{b{dc}}}hNn}{{{b{Hl}}{b{dc}}}hNn}{{{b{Ed}}{b{dc}}}hNn}{{{b{Ff}}{b{dc}}}hNn}{{{b{F`}}{b{dc}}}hNn}{{{b{{Oj{c}}}}{b{dg}}}{{A`{hAB`}}}Aj{{A@h{c}}}{{ABn{ce}}}}{{{b{{O`{c}}}}}EjBh}{{{b{{Ef{c}}}}}jOn}{{{b{Gn}}}j}{{{b{Hl}}}j}```{{}j}0000000000000000000000{{{b{Fd}}}{{Ef{Ff}}}}{{{b{d{Kh{c}}}}}{{Ef{F`}}}Bh}{{{b{{Kh{c}}}}}{{b{{If{{Ch{{Ef{F`}}Of}}}}}}}Bh}{ce{}{}}0000000000000000000000{{{AAh{ceg}}}{}Bh{{El{{A@b{c}}}}}{{Hh{}{{Hf{e}}}}}}{{{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{b{Gn}}}Cf}{{{b{{Dj{c}}}}}CfBh}{{{b{e}}{Oj{c}}{b{g}}}{{A`{{Ol{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{e}}{Oj{c}}{b{g}}Cf}{{A`{{Ol{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{e}}{b{g}}}{{A`{{Oj{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{e}}{b{g}}Cf}{{A`{{Oj{c}}A@f}}}Aj{{AC`{c}}}Il}{{{b{d{Kh{c}}}}eg}jBh{{Dd{Bn}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{{If{{Ch{{O`{c}}Fd}}}}}}}}}}{{{b{d{Kh{c}}}}eg}jBh{{Dd{Bn}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{{If{{Ch{{O`{c}}{O`{c}}}}}}}}}}}}{{{b{d{Kh{c}}}}}FdBh}{{{b{{Kh{c}}}}}{{b{{If{{ACb{c}}}}}}}Bh}``{{{b{{Kh{c}}}}}jBh}{{{Dj{c}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{Dj{c}}{Dj{c}}}{{Dj{c}}}Bh}{{{Dj{c}}c}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}c}{{Dj{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{O`{c}}c}{{O`{c}}}Bh}{{{b{d{Dj{c}}}}{Dj{c}}}hBh}{{{b{d{Dj{c}}}}{b{{Dj{c}}}}}hBh}{{{Dj{c}}}{}Bh}{{{b{{Dj{c}}}}}{}Bh}{{{O`{c}}}{}Bh}{{jc}{{Ef{c}}}On}{{{b{{Ef{c}}}}}{{O`{e}}}OnBh}{KnAAf}{KnE`}?`?`?`?`?{{{b{{Dj{c}}}}}cBh}{{{b{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}}}gD`AChACj}{{{b{Hn}}{b{Hn}}}{{Ib{Mb}}}}{{{b{{Ef{c}}}}{b{{Ef{c}}}}}{{Ib{Mb}}}On}{{{b{Fd}}{b{Fd}}}{{Ib{Mb}}}}{{{b{{Kh{c}}}}}{{b{ACl}}}Bh}`{{{b{Hl}}}Od}{{{b{{Oh{c}}}}}jBh}{{{b{{Kh{c}}}}}{{`{{K`{}{{Hf{ACn}}}}}}}Bh}{{{b{{Oj{c}}}}}{{AD`{c}}}Aj}{{{b{dc}}fKn{b{e}}Cf}{{ADb{{Ol{g}}}}}ADdIlABf}{{{b{dIh}}{Ib{Ej}}}h}>{e{{O`{c}}}Bh{{K`{}{{Hf{{O`{c}}}}}}}}{{{b{dIh}}e}h{{El{Ej}}}{{Dn{}{{Bj{c}}}}}}{{{b{d{A@d{c}}}}{Ef{Ed}}Of}{{O`{c}}}Bh}{{{b{d{A@d{c}}}}eOf}{{O`{c}}}Bh{{El{{Ef{Hn}}}}}}{{{b{On}}jOf}{{O`{c}}}Bh}{{{b{Hn}}jOf}{{O`{c}}}Bh}{{{b{{Ef{c}}}}Of}{{O`{e}}}OnBh}{{{b{Ed}}jOf}{{O`{c}}}Bh}{{{b{Ff}}jOf}{{O`{c}}}Bh}{{{b{F`}}jOf}{{O`{c}}}Bh}{{{b{d{O`{c}}}}{b{d{A@d{c}}}}}hBh}{{{b{d{A@d{c}}}}Hl}{{O`{c}}}Bh}{{{b{d{A@d{c}}}}{Ef{Ff}}Of}{{O`{c}}}Bh}{{{b{Ih}}{Ef{F`}}j}{{A`{{Dh{c}}E`}}}Bh}{{{b{d{A@d{c}}}}{Ef{F`}}Of}{{O`{c}}}Bh}{{{b{d{A@d{c}}}}Gn}{{O`{c}}}Bh}{{{b{dc}}fABd}{{A`{{Oj{e}}AB`}}}ADdABf}{{{b{dc}}fABd}{{A`{{Ol{e}}AB`}}}ADdABf}{{{b{{Ef{c}}}}Nh}{{O`{e}}}OnBh}{{{b{A@`}}}Of}`{{{b{d{Kh{c}}}}}GnBh}{{{b{d{Kh{c}}}}j}hBh}{{{b{d{Kh{c}}}}eg}jBh{{Dd{Bn}}}{{Dn{{b{d{A@d{c}}}}}{{Bj{{If{{Ch{{O`{c}}{O`{c}}}}}}}}}}}}{{{b{{Kh{c}}}}}{{b{{If{{ADf{c}}}}}}}Bh}`{{{b{AAf}}}{{Ib{{b{ADh}}}}}}{{{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{O`{c}}}{{O`{c}}}Bh}{{{Dj{c}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{Dj{c}}{Dj{c}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}{Dj{c}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}c}{{Dj{c}}}Bh}{{{Dj{c}}c}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dj{c}}}}{Dj{c}}}hBh}{{{b{d{Dj{c}}}}{b{{Dj{c}}}}}hBh}{e{{O`{c}}}Bh{{K`{}{{Hf{{O`{c}}}}}}}}{{{b{de}}{b{g}}{If{{Ef{Ff}}}}}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{Il{c}}}}{{{b{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}}ck}{{A`{hE`}}}D`AChACjBh{{Fj{i}}}}{{{b{{Oj{c}}}}f}{{If{Od}}}ABf}{{{b{{Ol{c}}}}f}{{If{Od}}}ABf}{{{b{c}}}e{}{}}00000000000000{AAjACn}{AAlACn}{AAnACn}{{{b{c}}}Ej{}}00{{{b{{Oj{c}}}}}{}Aj}{c{{A`{e}}}{}{}}0000000000{{{Ef{Hn}}}{{A`{{Ef{F`}}}}}}{{{Ef{Hn}}}{{A`{{Ef{Ed}}}}}}{{{Ef{Hn}}}{{A`{{Ef{Ff}}}}}}33333333333333333333333333333333333{{{b{c}}}Ab{}}0000000000000000000000{{{b{d{Kh{c}}}}}{{Ef{Ed}}}Bh}{{{b{d{Kh{c}}}}e}{{Ef{Ed}}}BhOb}`{{b{b{Oj}}{b{{Cj{{If{If}}}}}}{b{de}}}CfA@h{{ADj{c}}}}{{{b{dc}}fKn{b{e}}Cf}{{ADb{{Oj{g}}}}}ADdIlABf}{ce{}{}}0000000000000000000000{{{O`{c}}g}{{AAh{ceg}}}Bh{{El{{A@b{c}}}}}{{Hh{}{{Hf{e}}}}}}{{{b{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}}}{{Il{}{{Gb{c}}{ACd{e}}{ACf{g}}}}}D`AChACj}{{{b{{Oj{c}}}}{b{de}}f}{{A`{hAB`}}}ABfADl}{{{b{{Ol{c}}}}{b{de}}f}{{A`{hAB`}}}ABfADl}`````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Of}}}Of}{{{b{{ABj{c}}}}}{{ABj{c}}}{D`Bh}}{{{b{c}}{b{de}}}h{}{}}0{{{b{Of}}{b{Of}}}Mb}{{{b{{ABj{c}}}}{If{c}}}{{AE`{cADn}}}B`}{{{b{{ABj{c}}}}{AE`{cADn}}}{{AE`{cAEb}}}B`}`{{{b{{ABj{c}}}}c}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}c}{{AE`{cAEd}}}B`}{{}Of}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{{{b{{ABj{c}}}}{AE`{cAEb}}}{{AE`{cAEb}}}B`}{jh}0{{{b{{ABj{c}}}}}{{AE`{cADn}}}B`}{{{b{{ABj{c}}}}}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}}{{AE`{cAEd}}}B`}{{{b{Of}}{b{Of}}}Cf}{{{b{{ABj{c}}}}}KnB`}{{{b{{ABj{c}}}}}jB`}{{{b{{ABj{c}}}}{AE`{cAEb}}}{{If{c}}}B`}{AEfCf}{{{b{Of}}{b{dl}}}{{A`{hn}}}}{{{b{{ABj{c}}}}{b{dl}}}{{A`{hn}}}{GhBh}}{cc{}}0{{{b{{ABj{c}}}}}cB`}006{{{b{Of}}{b{dc}}}hNn}{{}j}0{ce{}{}}0:`{{{b{{ABj{c}}}}cce}{{If{c}}}B`{{Hh{}{{Hf{Nh}}}}D`}}{{{b{{ABj{c}}}}j}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}{If{c}}}{{AE`{cAEd}}}B`}{{{b{{ABj{c}}}}{AE`{cAEd}}}{{AE`{cADn}}}B`}{bAEf}{{KnKn}{{ABj{c}}}B`}{{}Of}{{{b{Of}}{b{Of}}}{{Ib{Mb}}}}{{{b{{ABj{c}}}}}{{AEh{c}}}B`}2{{AEfc}{{A`{AEfAAf}}}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{{ABj{c}}}}{b{{AE`{cAEb}}}}Of}{{AE`{cAEb}}}B`}{{{b{{ABj{c}}}}cOf}cB`}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0??````````````````{{{AEj{c}}{AEj{c}}}{{AEj{c}}}Bh}{{{b{d{AEj{c}}}}c}hBh}{{{b{d{AEj{c}}}}{AEj{c}}}hBh}{{{b{dAEl}}{b{AEl}}}h}{{{b{dAEl}}}h}{{{b{AEl}}}If}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{AEl}}{b{e}}}CfAj{{A@n{c}}}}{{{b{{AEj{c}}}}}{{AEj{c}}}D`}{{{b{c}}{b{de}}}h{}{}}{{{b{AEn}}{b{e}}{b{{AE`{ADn}}}}AEj}{}Aj{{A@n{c}}}}{{{b{AC`}}{b{e}}{b{{AE`{AEd}}}}AEj}{}Aj{{A@n{c}}}}{{{b{AF`}}c{b{dg}}i}{{A`{hAB`}}}DfA@h{{A@j{e}}}{{Hh{}{{Hf{AFb}}}}D`}}{{{b{AF`}}{b{c}}e{b{di}}k}{{A`{hAB`}}}A@nDfA@h{{A@j{g}}}{{Hh{}{{Hf{AFb}}}}D`}}{{}{{AEj{c}}}Bh}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{dAC`}}Kn}h}{jh}{{{b{{AFf{}{{AFd{c}}}}}}}c{{AEl{e}}}Aj}{{{b{{AEj{c}}}}{b{{AEj{c}}}}}CfKl}{{{b{AEl}}{b{e}}}{}Aj{{A@n{c}}}}{{{b{{AEj{c}}}}{b{dl}}}{{A`{hn}}}Gh}{cc{}}{{}j}{ce{}{}}{{{b{AC`}}}Kn}{{{AEj{c}}{AEj{c}}}{{AEj{c}}}Bh}{{{b{d{AEj{c}}}}c}hBh}{{{b{d{AEj{c}}}}{AEj{c}}}hBh}{{{b{AC`}}}Db}{KnAEn}{bAF`}{{}{{AFl{}{{AFh{c}}{AFj{g}}}}}{{AFn{e}{{AFj{g}}}}}AG`{}}{{{b{dc}}}{{AEj{e}}}DfBh}{Knc{}}{{{b{dc}}}{{A`{AC`AB`}}}ADd}{{{b{dc}}}{{A`{eAB`}}}ADd{}}{{{b{AEl}}}If}{{{b{dAEl}}}h}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}{{{b{{AFl{}{{AFh{c}}{AFj{g}}}}}}{b{dk}}mg}{{A`{cAGb}}}{{AFn{e}{{AFj{g}}}}}AG`{}A@h{{ADj{i}}}{{Hh{}{{Hf{AGd}}}}D`}}{ce{}{}}{{{b{AC`}}{b{dc}}}{{A`{hAB`}}}ADl}```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AGf{c}}}}}{{AGf{c}}}{D`AGh}}{{{b{{AGj{c}}}}}{{AGj{c}}}{D`AGh}}{{{b{c}}{b{de}}}h{}{}}0{{{b{{AGf{c}}}}{b{e}}{b{{AE`{ADn}}}}AEj}{}AGhA@n}{{{b{{AGf{c}}}}{b{e}}{b{{AE`{AEd}}}}AEj}{}AGhA@n}{{{b{{AGj{c}}}}{b{e}}{b{{AE`{AEd}}}}AEj}{}AGhA@n}{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{{{b{d{AGf{c}}}}Kn}hAGh}{{{b{d{AGj{c}}}}Kn}hAGh}{jh}00{{{b{{AGf{c}}}}}{{AGl{c}}}AGh}{{{b{{AGj{c}}}}}{{AGl{c}}}AGh}{{{b{{AGf{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AGj{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AGn{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}00{{{b{{AGf{c}}}}KnIf{Ib{If}}}{{AGf{c}}}AGh}{{}j}00{ce{}{}}00{{{b{{AGf{c}}}}}KnAGh}{{{b{{AGj{c}}}}}KnAGh}{{{b{{AGf{c}}}}}DbAGh}{{{b{{AGj{c}}}}}DbAGh}{Kn{{AGf{c}}}AGh}{Kn}{{{b{dc}}}{{A`{{AGf{e}}AB`}}}ADdAGh}{{{b{dc}}}{{A`{{AGj{e}}AB`}}}ADdAGh}{{{b{dc}}f}{{A`{{AGf{e}}AB`}}}ADdAGh}{{{b{dc}}f}{{A`{{AGj{e}}AB`}}}ADdAGh}{{{b{dc}}}{{A`{AB`}}}ADd}{{Knc}{{AGf{e}}}DfAGh}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00{{{b{{AGf{c}}}}}{{AGj{c}}}AGh}{ce{}{}}00{{{b{{AGf{c}}}}{b{de}}}{{A`{hAB`}}}AGhADl}{{{b{{AGj{c}}}}{b{de}}}{{A`{hAB`}}}AGhADl}{{{b{{AGf{c}}}}{b{de}}f}{{A`{hAB`}}}AGhADl}{{{b{{AGj{c}}}}{b{de}}f}{{A`{hAB`}}}AGhADl}``{{{b{d{AGl{c}}}}{b{{AGl{c}}}}}hAGh}{{{b{d{AH`{c}}}}{AH`{c}}}hAHb}{{{b{d{AGl{c}}}}}hAGh}{{{b{{AGl{c}}}}}IfAGh}{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AGl{c}}}}{b{e}}}CfAGhA@n}{{{AH`{c}}{b{e}}{b{{AGj{c}}}}}CfAHbA@n}{{{b{{AGl{c}}}}}{{AGl{c}}}{D`AGh}}{{{b{{AH`{c}}}}}{{AH`{c}}}{D`AGh}}{{{b{c}}{b{de}}}h{}{}}08{{}{{AGl{c}}}{ACjAGh}}{{}{{AH`{c}}}{ACjAGh}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{{AGl{c}}}}{b{e}}}{}AGhA@n}{{{b{{AGl{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AH`{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}0{{}j}0{ce{}{}}0{{}{{AGl{c}}}AGh}{{}{{AH`{c}}}AHb}{{{b{{AGl{c}}}}}IfAGh}{{{b{d{AGl{c}}}}}hAGh}{{{b{d{AH`{c}}}}}hAHb}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}088````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{{AHd{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AGhGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFb}}}}D`}}{{{b{{AHf{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AGhGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFb}}}}D`}}{j{{b{c}}}{}}000{j{{b{dc}}}{}}000{jh}000{{{b{{AHd{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AHh{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AHf{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AHj{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}000{{}j}000{ce{}{}}000{{{b{{AGf{c}}}}}{{AHd{c}}}{AGhGh}}{{}{{AHh{c}}}{AHbGh}}{{{b{{AGf{c}}}}}{{AHf{c}}}{AGhGh}}{{{b{{AGf{c}}}}}{{AHf{c}}}AGh}{{}{{AHj{c}}}{AHbGh}}{c{{A`{e}}}{}{}}0000000{{{b{c}}}Ab{}}000{{{b{{AHh{c}}}}{b{dg}}i{AH`{c}}}{{A`{AGb}}}{AHbGh}A@h{{ADj{e}}}{{Hh{}{{Hf{{AGd{{AGl{c}}}}}}}}D`}}{{{b{{AHj{c}}}}{b{dg}}i{AH`{c}}}{{A`{AGb}}}{AHbGh}A@h{{ADj{e}}}{{Hh{}{{Hf{{AGd{{AGl{c}}}}}}}}D`}}9999```{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AHl{c}}}}}{{AHl{c}}}{D`AHb}}{{{b{{AHn{c}}}}}{{AHn{c}}}{D`AGh}}{{{b{{AI`{c}}}}}{{AI`{c}}}{D`AGh}}{{{b{c}}{b{de}}}h{}{}}00{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{jh}00{{{AHn{c}}}Cf{AHbGh}}{{{AI`{c}}}Cf{AHbGh}}{{{b{{AHl{c}}}}{b{dl}}}{{A`{hn}}}{GhAHb}}{{{b{{AHn{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{{{b{{AI`{c}}}}{b{dl}}}{{A`{hn}}}{GhAGh}}{cc{}}00{{}j}00{ce{}{}}00{{{b{{AGj{c}}}}}{{AHn{c}}}AHb}{{{b{{AGj{c}}}}}{{AHn{c}}}{AHbGh}}{{{b{{AGj{c}}}}}{{AI`{c}}}{AHbGh}}0{{{AHn{c}}e}{{A`{{AHn{c}}AAf}}}{AHbGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{AI`{c}}e}{{A`{{AI`{c}}AAf}}}{AHbGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00888{{{AH`{c}}{b{{AGj{c}}}}}{{AHn{c}}}AHb}``````````{{{b{{A@h{}{{AIb{c}}}}}}}{{AId{eg}}}{}Aj{}}{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AIf{ceg}}}}}{{AIf{ceg}}}{D`ADd}{D`Aj}{D`{A@h{e}}}}{{{b{{AIh{ceg}}}}}{{AIh{ceg}}}{D`ADl}{D`Aj}{D`{A@h{e}}}}{{{b{{AIj{c}}}}}{{AIj{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}00{{{b{dABn}}c}{{A`{hAB`}}}Aj}{{{b{d{AIf{ce{AIj{e}}}}}}e}{{A`{hAB`}}}ADdAj}{{{b{d{AIh{ce{AIj{e}}}}}}e}{{A`{hAB`}}}ADlAj}{{{b{dABn}}}{{A`{hAB`}}}}{{{b{d{AIf{ce{AIj{e}}}}}}}{{A`{hAB`}}}ADdAj}{{{b{d{AIh{ce{AIj{e}}}}}}}{{A`{hAB`}}}ADlAj}{j{{b{c}}}{}}0{{{b{{AIj{c}}}}}bAj}1{j{{b{dc}}}{}}00{jh}00{AIlcADl}{{{AIh{ce{AIj{e}}}}}cADlAj}{{{b{{AIf{ceg}}}}{b{dl}}}{{A`{hn}}}{GhADd}{GhAj}{Gh{A@h{e}}}}{{{b{{AIh{ceg}}}}{b{dl}}}{{A`{hn}}}{GhADl}{GhAj}{Gh{A@h{e}}}}{{{b{{AIj{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}00{{{b{{A@h{}{{AIb{c}}}}}}}{}{}}{{{b{{AIj{c}}}}}{}Aj}{cAInADd}{cAIlADl}{c{{AIf{ce{AIj{e}}}}}ADdAj}{{}j}{c{{AIh{ce{AIj{e}}}}}ADlAj}11{ce{}{}}00{{{b{c}}}{{A@h{}{{AIb{c}}}}}{}}{{{b{{In{Od}}}}}{{AIj{c}}}Aj}{{{b{dADj}}}{{A`{cAB`}}}Aj}{{{b{d{AIf{ce{AIj{e}}}}}}}{{A`{eAB`}}}ADdAj}{{{b{dADj}}}{{A`{AB`}}}}{{{b{d{AIf{ce{AIj{e}}}}}}}{{A`{AB`}}}ADdAj}{{{b{dABn}}}eAj{{A@h{c}}}}{{{b{d{AIf{ce{AIj{e}}}}}}}{{AIj{e}}}ADdAj}{{{b{d{AIh{ce{AIj{e}}}}}}}{{AIj{e}}}ADlAj}{{{b{dABn}}}{{AId{ce}}}Aj{}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00==={{{b{dA@j}}c}{{A`{hAB`}}}Aj}{{{b{d{AIh{ce{AIj{e}}}}}}e}{{A`{hAB`}}}ADlAj}{{{b{dA@j}}}{{A`{hAB`}}}}{{{b{d{AIh{ce{AIj{e}}}}}}}{{A`{hAB`}}}ADlAj}","D":"EIh","p":[[1,"reference"],[0,"mut"],[6,"SerdeFormat",0,1952],[1,"unit"],[1,"usize"],[5,"Formatter",1953],[5,"Error",1953],[6,"Result",1954],[5,"TypeId",1955],[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",27,1956],[5,"Coordinates",1956],[5,"CtOption",1957],[10,"WithSmallOrderMulGroup",1958],[10,"Ord",1959],[17,"AffineExt"],[10,"CurveExt",27,1956],[10,"Field",27,1958],[17,"Output"],[10,"Mul",1960],[1,"str"],[10,"Fn",1961],[5,"Box",1962],[5,"Choice",1957],[1,"bool"],[1,"tuple"],[1,"slice"],[10,"Send",1963],[10,"Sync",1963],[10,"Clone",1964],[1,"u64"],[10,"AsRef",1965],[10,"RngCore",1966],[5,"Value",64,1967],[6,"Assigned",828,1968],[10,"Add",1960],[10,"FnOnce",1961],[6,"ErrorFront",828],[5,"Region",64,1969],[5,"Advice",828,1970],[5,"Column",828,1971],[5,"AssignedCell",64,1969],[5,"String",1972],[10,"Into",1965],[10,"FnMut",1961],[5,"Instance",828,1970],[5,"Table",64,1969],[5,"TableColumn",828,1971],[5,"Fixed",828,1970],[17,"Root"],[10,"Layouter",64,1969],[5,"NamespacedLayouter",64,1969],[5,"Cell",64,1969],[5,"RegionIndex",64,1969],[17,"Config"],[17,"Loaded"],[10,"Chip",64,1969],[10,"Debug",1953],[10,"Copy",1963],[10,"Borrow",1973],[5,"Selector",828,1971],[5,"SimpleFloorPlanner",64,1974],[10,"RegionLayouter",1975],[10,"TableLayouter",1976],[17,"Item"],[10,"IntoIterator",1977],[10,"FromIterator",1977],[5,"Challenge",828,1971],[6,"Any",828,1978],[10,"Neg",1960],[6,"Option",1979],[10,"Sub",1960],[5,"Vec",1980],[10,"Assignment",828,1970],[10,"SyncDeps",1975],[10,"Circuit",828,1970],[1,"array"],[5,"V1Pass",293,1981],[5,"V1",293,1981],[5,"SingleChipLayouter",331,1974],[5,"MeasurementPass",354,1981],[5,"AssignmentPass",354,1981],[5,"MockProver",385,1982],[6,"CellValue",385,1982],[10,"FromUniformBytes",1958],[10,"Iterator",1983],[6,"FailureLocation",385,1984],[6,"VerifyFailure",385,1984],[6,"InstanceValue",385,1982],[5,"ConstraintSystem",828,1985],[5,"CircuitLayout",385,1986],[10,"PartialEq",1959],[1,"u32"],[5,"Shift",1987],[5,"DrawingArea",1988],[6,"DrawingAreaErrorKind",1988],[10,"DrawingBackend",1989],[5,"Range",1990],[5,"Poly",567,1991],[5,"Lookup",567,1991],[5,"Permutation",567,1991],[5,"Shuffle",567,1991],[6,"Ordering",1959],[10,"Deserializer",1992],[5,"ModelCircuit",567,1991],[6,"CommitmentScheme",567,1991],[5,"CostOptions",567,1991],[10,"Serializer",1993],[5,"Column",710],[5,"VirtualCell",710,1994],[5,"Gate",710,1994],[5,"Constraint",710,1994],[5,"Region",710,1994],[1,"i32"],[5,"VirtualCell",1985],[5,"HashMap",1995],[10,"Hasher",1996],[6,"Expression",828,1971],[10,"Phase",828,1971],[1,"u8"],[5,"Rotation",1478,1997],[5,"ConstraintSystemMid",828,1978],[5,"VerifyingKey",828,1998],[5,"ProvingKey",828,1998],[10,"ColumnType",828,1970],[5,"FixedQuery",828,1971],[5,"Constraint",1985],[5,"VirtualCells",828,1985],[6,"Error",828,1999],[10,"EncodedChallenge",1864,2000],[10,"TranscriptWrite",1864,2000],[5,"PlonkEngine",2001],[10,"MsmAccel",2002],[5,"AdviceQuery",1971],[5,"InstanceQuery",1971],[8,"Result",1953],[6,"ErrorBack",828],[5,"Constraints",828,1985],[5,"FirstPhase",828,1971],[5,"SecondPhase",828,1971],[5,"ThirdPhase",828,1971],[5,"Error",2003],[5,"ChallengeMid",1978],[5,"ConstraintSystemBack",2004],[10,"SerdeCurveAffine",1952],[5,"Gate",1985],[5,"EvaluationDomain",1478,2005],[10,"Hash",1996],[10,"Transcript",1864,2000],[10,"Params",1549,2006],[5,"Argument",2007],[17,"FloorPlanner"],[17,"Params"],[10,"FloorPlanner",828,1970],[10,"Default",2008],[5,"Argument",2009],[5,"Phase",2010],[5,"PinnedVerificationKey",1998],[8,"Result",2003],[10,"Read",2011],[5,"Argument",2012],[10,"Error",2013],[10,"TranscriptRead",1864,2000],[10,"Write",2011],[5,"Coeff",2014],[5,"Polynomial",2014],[5,"ExtendedLagrangeCoeff",2014],[5,"LagrangeCoeff",2014],[10,"VerificationStrategy",1478,2015],[5,"PinnedEvaluationDomain",2005],[5,"Blind",1549,2006],[10,"MSM",1549,2006],[10,"ParamsProver",1549,2006],[10,"Prover",1549,2006],[5,"ProverQuery",2016],[17,"MSM"],[10,"ParamsVerifier",1549,2006],[17,"Guard"],[17,"MSMAccumulator"],[10,"Verifier",1549,2006],[10,"Guard",2015],[10,"CommitmentScheme",1549,2006],[6,"Error",2014],[5,"VerifierQuery",2016],[5,"ParamsKZG",1617,2017],[10,"Engine",2018],[5,"ParamsVerifierKZG",1617,2017],[5,"MSMKZG",1690,2019],[5,"KZGCommitmentScheme",1617,2017],[5,"DualMSM",1690,2019],[10,"MultiMillerLoop",2018],[5,"ProverGWC",1739,2020],[5,"ProverSHPLONK",1739,2021],[5,"VerifierGWC",1739,2022],[5,"VerifierSHPLONK",1739,2023],[5,"GuardKZG",1804,2024],[5,"AccumulatorStrategy",1804,2024],[5,"SingleStrategy",1804,2024],[17,"Input"],[5,"ChallengeScalar",2000],[5,"Blake2bRead",1864,2000],[5,"Blake2bWrite",1864,2000],[5,"Challenge255",1864,2000],[10,"TranscriptWriterBuffer",1864,2000],[10,"TranscriptReadBuffer",1864,2000],[15,"InRegion",542],[15,"OutsideRegion",542],[15,"ConstraintNotSatisfied",545],[15,"CellNotAssigned",545],[15,"InstanceCellNotAssigned",545],[15,"Permutation",545],[15,"ConstraintPoisoned",545],[15,"Lookup",545],[15,"Shuffle",545],[15,"NotEnoughRowsAvailable",1476],[15,"NotEnoughRowsAvailable",1477]],"r":[[3,1952],[31,1956],[32,1956],[34,1958],[56,2025],[64,1969],[65,1969],[66,1969],[68,1969],[70,1969],[71,1969],[72,1969],[74,1974],[75,1969],[76,1967],[170,1969],[293,1981],[294,1981],[320,2026],[328,2026],[331,1974],[332,1974],[354,1981],[355,1981],[356,1981],[357,1981],[376,1981],[388,1982],[389,1986],[392,1984],[395,1982],[397,1982],[404,1984],[425,2027],[435,1982],[497,1982],[567,1991],[568,1991],[571,1991],[572,1991],[573,1991],[574,1991],[575,1991],[642,1991],[643,1991],[711,1994],[712,1994],[713,1994],[714,1994],[828,1970],[831,1978],[833,1968],[834,1970],[838,1971],[840,1970],[841,1971],[844,1970],[847,1985],[849,1978],[850,1985],[851,1999],[854,1971],[855,1971],[856,1970],[859,1971],[860,1970],[863,1970],[876,1971],[878,1998],[881,1971],[882,1971],[886,1971],[888,1971],[891,1998],[892,1985],[1009,2028],[1010,2028],[1258,2029],[1259,2029],[1260,2029],[1261,2029],[1447,2030],[1478,2005],[1479,1997],[1480,2015],[1492,2014],[1525,2014],[1549,2006],[1551,2006],[1554,2006],[1557,2006],[1558,2006],[1560,2006],[1562,2006],[1564,2006],[1613,2031],[1614,2031],[1615,2031],[1616,2031],[1617,2017],[1618,2017],[1619,2017],[1690,2019],[1691,2019],[1739,2020],[1740,2021],[1741,2022],[1742,2023],[1804,2024],[1805,2024],[1806,2024],[1864,2000],[1865,2000],[1866,2000],[1867,2000],[1869,2000],[1870,2000],[1871,2000],[1872,2000],[1873,2000]],"b":[[77,"impl-Add%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[78,"impl-Add%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[79,"impl-Add%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[80,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[81,"impl-Add%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[82,"impl-Add%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[83,"impl-Add%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[84,"impl-Add-for-%26Value%3CV%3E"],[85,"impl-Add%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[86,"impl-Add-for-Value%3CV%3E"],[126,"impl-Value%3C%26mut+V%3E"],[127,"impl-Value%3C%26V%3E"],[134,"impl-Value%3C%26V%3E"],[135,"impl-Value%3C%26mut+V%3E"],[218,"impl-Mul%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[219,"impl-Mul%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[220,"impl-Mul%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[221,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[222,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[223,"impl-Mul%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[224,"impl-Mul%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[225,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[226,"impl-Mul-for-%26Value%3CV%3E"],[227,"impl-Mul-for-Value%3CV%3E"],[238,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[239,"impl-Sub%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[240,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[241,"impl-Sub%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[242,"impl-Sub-for-%26Value%3CV%3E"],[243,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[244,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[245,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[246,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[247,"impl-Sub-for-Value%3CV%3E"],[467,"impl-Debug-for-FailureLocation"],[468,"impl-Display-for-FailureLocation"],[469,"impl-Display-for-VerifyFailure"],[470,"impl-Debug-for-VerifyFailure"],[758,"impl-Display-for-ColumnMid"],[759,"impl-Debug-for-ColumnMid"],[760,"impl-Debug-for-VirtualCell"],[761,"impl-Display-for-VirtualCell"],[762,"impl-Display-for-Gate"],[763,"impl-Debug-for-Gate"],[764,"impl-Debug-for-Constraint"],[765,"impl-Display-for-Constraint"],[766,"impl-Debug-for-Region"],[767,"impl-Display-for-Region"],[771,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[772,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[773,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[778,"impl-From%3C(usize,+%26str,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[779,"impl-From%3C(usize,+String,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[780,"impl-From%3C(usize,+String)%3E-for-Region"],[781,"impl-From%3C(usize,+%26str)%3E-for-Region"],[894,"impl-Add-for-Assigned%3CF%3E"],[895,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[896,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[897,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[898,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[899,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[901,"impl-AddAssign-for-Assigned%3CF%3E"],[902,"impl-AddAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1114,"impl-Debug-for-Error"],[1115,"impl-Display-for-Error"],[1118,"impl-Debug-for-Error"],[1119,"impl-Display-for-Error"],[1138,"impl-Display-for-Error"],[1139,"impl-Debug-for-Error"],[1140,"impl-From%3CError%3E-for-Error"],[1142,"impl-From%3CError%3E-for-Error"],[1145,"impl-From%3CInstance%3E-for-Any"],[1147,"impl-From%3CFixed%3E-for-Any"],[1148,"impl-From%3CAdvice%3E-for-Any"],[1153,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1155,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1156,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1157,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1161,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1162,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1164,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1165,"impl-From%3CColumn%3CAdvice%3E%3E-for-Column%3CAny%3E"],[1269,"impl-Mul%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1270,"impl-Mul-for-Assigned%3CF%3E"],[1271,"impl-Mul%3CF%3E-for-Assigned%3CF%3E"],[1272,"impl-Mul%3CF%3E-for-%26Assigned%3CF%3E"],[1273,"impl-Mul-for-Expression%3CF%3E"],[1274,"impl-Mul%3CF%3E-for-Expression%3CF%3E"],[1275,"impl-MulAssign-for-Assigned%3CF%3E"],[1276,"impl-MulAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1277,"impl-Neg-for-Assigned%3CF%3E"],[1278,"impl-Neg-for-%26Assigned%3CF%3E"],[1336,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1337,"impl-Sub-for-Assigned%3CF%3E"],[1338,"impl-Sub%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1339,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1340,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1341,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1343,"impl-SubAssign-for-Assigned%3CF%3E"],[1344,"impl-SubAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1383,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1384,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1385,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1566,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[1567,"impl-AddAssign-for-Blind%3CF%3E"],[1594,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[1595,"impl-MulAssign-for-Blind%3CF%3E"],[1783,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[1784,"impl-ProverSHPLONK%3C\'a,+E%3E"],[1842,"impl-AccumulatorStrategy%3CE%3E"],[1843,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[1844,"impl-SingleStrategy%3CE%3E"],[1845,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAANQEnwAGAAEACQADAA4AAQARAAEAFgAAABgAAwBOAAkAYwAAAGUAEAB3AAcAhgAAAIsAEQCeAAgArAAHALYAAQC8AAAAvgAAAMIAAADEAAgA2wAJAOcAAADpAAAA6wAAAO8ACgD7AAMAAQEXAB0BBwAoAQ4AOQEDAD8BDABOAQgAWAECAF0BBQBnAQsAdQEBAHkBCACZAQAAnAENAKsBCAC2ARIAygEHANQBBwDiAQYA8wECAPsBFwAZAgUAQwIWAFsCGAB1AgYAhQIAAIcCBgCdAgAAogIBAKcCHwDMAhUA4wIdAAIDAAAEAwIACAMAAAoDBAAQAwAAEgMEABwDIAB/AwgAlAMtAMUDIADpAwAA9gMAAPoDLQAqBBYARgQKAFsEGgB3BAAAeQQBAHwEAgCCBAAAhAQCAIoEAQCNBAEAlQQAAJ8EAAChBAEApgQHALMEAAC1BBcA5wQAAPMEAQD2BAsABgUAAAgFAAAKBQAADAUAABAFAgAUBQAAHAUAACEFAAAjBQIANQUBADkFCQBHBRQAXQVHAKoFFgDKBQgA2QUDAN4FAQDjBQAA6AUBAPAFAgD4BQAA/gUAAAQGCQAeBgIAJAYBACcGAQAtBgIAMQYAADMGAAA1BgAANwYAADoGAgBHBgMATAYAAFUGHAB2BgIAfAYFAIUGAQCIBg4AmgYAAJ0GAACfBgYApwYDAKwGCgC5BgEAvwYBAMIGCQDQBgcA2gYPAO4GAwD2BgIA+gYNAAkHAwAQBxkALQcCADQHAAA2BxEAVAcLAGEHAQBkBwsAcQcDAHkHAAB9BwAAfwcBAIUHAACHBwAAiQcAAIsHAQCOBw4AngcAAKAHAAA="}],\ +["p3_frontend",{"t":"PKFPFPPGPPPFFPFPPFGFPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Add","AirBuilderWithPublicValues","CompileParams","Constant","FWrap","FirstRow","LastRow","Location","Location","Mul","Neg","PreprocessingInfo","Public","Public","Query","Query","Sub","SymbolicAirBuilder","SymbolicExpression","SymbolicVariable","Transition","Var","Variable","add","add","add","add","add","add","add","add_assign","add_assign","add_assign","as_base_slice","as_base_slice","as_canonical_biguint","as_canonical_u64","as_slice","as_slice_mut","assert_zero","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","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","cmp","column","compile_circuit_cs","compile_preprocessing","default","default","default","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","deserialize","disable_zk","div","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","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_base","from_base","from_base_fn","from_base_fn","from_base_slice","from_base_slice","from_bool","from_bool","from_canonical_u16","from_canonical_u16","from_canonical_u32","from_canonical_u32","from_canonical_u64","from_canonical_u64","from_canonical_u8","from_canonical_u8","from_canonical_usize","from_canonical_usize","from_f","from_f","from_fn","from_slice","from_slice_mut","from_wrapped_u32","from_wrapped_u32","from_wrapped_u64","from_wrapped_u64","generator","generator","get_public_inputs","hash","index","init","init","init","init","init","init","init","init","init","init","interleave","into","into","into","into","into","into","into","into","into","into","is_first_row","is_last_row","is_next","is_one","is_transition_window","is_zero","is_zero","main","mul","mul","mul","mul","mul","mul","mul","mul_assign","mul_assign","mul_assign","neg","neg","neg_one","neg_one","new_public","new_query","one","one","order","partial_cmp","product","product","product","public_values","public_values","serialize","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sum","sum","sum","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","trace_to_wit","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_inverse","two","two","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","zero","zero"],"q":[[0,"p3_frontend"],[304,"p3_frontend::fwrap"],[305,"ff"],[306,"p3_frontend::symbolic_expression"],[307,"p3_field::field"],[308,"p3_frontend::symbolic_variable"],[309,"num_bigint::biguint"],[310,"core::hash"],[311,"core::cmp"],[312,"p3_frontend::symbolic_builder"],[313,"core::convert"],[314,"core::clone"],[315,"halo2_middleware::circuit"],[316,"p3_air::air"],[317,"core::default"],[318,"core::result"],[319,"serde::de"],[320,"core::fmt"],[321,"core::ops::function"],[322,"alloc::vec"],[323,"core::option"],[324,"core::iter::traits::iterator"],[325,"p3_frontend::air"],[326,"serde::ser"],[327,"alloc::string"],[328,"p3_matrix::dense"],[329,"core::any"]],"i":[3,0,0,3,0,18,18,0,3,3,3,0,0,19,0,19,3,0,0,0,18,0,3,1,3,3,3,5,5,5,1,3,3,1,3,1,1,1,1,15,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,18,3,5,19,20,21,22,23,1,18,3,5,19,20,21,22,23,1,20,0,0,1,3,23,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,23,1,3,15,1,18,3,5,19,20,21,22,23,1,1,1,18,18,3,3,5,5,19,20,21,22,23,15,1,18,3,3,3,5,19,20,21,22,23,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,1,1,1,3,1,3,1,3,0,1,21,15,1,18,3,5,19,20,21,22,23,1,15,1,18,3,5,19,20,21,22,23,15,15,20,3,15,1,3,15,1,3,3,3,5,5,5,1,3,3,1,3,1,3,5,5,1,3,1,1,1,3,3,49,15,1,1,3,3,3,5,5,5,1,3,3,1,3,3,1,18,3,5,19,20,21,22,23,1,18,3,5,0,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,1,3,15,1,18,3,5,19,20,21,22,23,15,1,18,3,5,19,20,21,22,23,1,3],"f":"```````````````````````{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}c}{{f{c}}}h}{{{f{c}}{f{c}}}{{f{c}}}h}{{{f{c}}{j{c}}}eh{}}{{{j{c}}{f{c}}}eh{}}{{{j{c}}c}eh{}}{{{j{c}}{j{c}}}eh{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}{f{c}}}A`h}{{{n{l{f{c}}}}c}A`h}{{{n{c}}}{{n{{Ab{e}}}}}{}{}}0{{{n{{b{c}}}}}Ad{AfAhAj}}{{{n{{b{c}}}}}Al{AfAhAj}}{{{n{c}}}{{n{Ab}}}{}}{{{n{lc}}}{{n{lAb}}}{}}{{{n{l{An{c}}}}g}A`h{}{{B`{e}}}}{{{n{c}}}{{n{e}}}{}{}}000000000{{{n{lc}}}{{n{le}}}{}{}}000000000{{{n{{b{c}}}}}{{b{c}}}{Bbd}}{{{n{Bd}}}Bd}{{{n{{f{c}}}}}{{f{c}}}{Bbh}}{{{n{{j{c}}}}}{{j{c}}}{Bbh}}{{{n{Bf}}}Bf}{{{n{Bh}}}Bh}{{{n{Bj}}}Bj}{{{n{Bl}}}Bl}{{{n{Bn}}}Bn}{{{n{c}}{n{le}}}A`{}{}}00000000{{{n{{b{c}}}}{n{{b{c}}}}}C`{Ajd}}`{{{n{e}}{n{Bn}}Cb}{{Cf{{Cd{c}}Bl}}}{AfAh}{{Ch{{An{{b{c}}}}}}}}{{CjCb{n{Bl}}{n{e}}}{{Cl{c}}}{AfAh}{{Ch{{An{{b{c}}}}}}}}{{}{{b{c}}}{Cnd}}{{}{{f{c}}}h}{{}Bn}{Cb{{n{c}}}{}}000000000{Cb{{n{lc}}}{}}000000000{c{{D`{{b{e}}}}}DbAf}`{{{b{c}}{b{c}}}{{b{c}}}d}{{{n{{f{c}}}}}{{f{c}}}h}{CbA`}000000000{{{n{{b{c}}}}{n{{b{c}}}}}Dd{Dfd}}{{{n{{b{c}}}}{n{lDh}}}Djd}{{{n{{b{c}}}}{n{lDh}}}Dj{Dld}}{{{n{Bd}}{n{lDh}}}Dj}0{{{n{{f{c}}}}{n{lDh}}}Dj{Dlh}}{{{n{{f{c}}}}{n{lDh}}}Djh}{{{n{{j{c}}}}{n{lDh}}}Djh}{{{n{{j{c}}}}{n{lDh}}}Dj{Dlh}}{{{n{Bf}}{n{lDh}}}Dj}{{{n{Bh}}{n{lDh}}}Dj}{{{n{Bj}}{n{lDh}}}Dj}{{{n{Bl}}{n{lDh}}}Dj}{{{n{Bn}}{n{lDh}}}Dj}{cc{}}000{{{j{c}}}{{f{c}}}h}{c{{f{c}}}h}22222222{ec{}{{E`{Cb}{{Dn{c}}}}}}0{{{n{{Ab{c}}}}}c{}}0{Dd{{b{c}}}{AfAh}}{Dd{{f{c}}}h}{Eb{{b{c}}}{AfAh}}{Eb{{f{c}}}h}{Cj{{b{c}}}{AfAh}}{Cj{{f{c}}}h}{Al{{b{c}}}{AfAh}}{Al{{f{c}}}h}{Ed{{b{c}}}{AfAh}}{Ed{{f{c}}}h}{Cb{{b{c}}}{AfAh}}{Cb{{f{c}}}h}{c{{b{e}}}{}{AfAh}}{c{{f{e}}}{}h}{ce{{E`{Cb}{{Dn{}}}}}{}}{{{n{Ab}}}{{n{c}}}{}}{{{n{lAb}}}{{n{lc}}}{}}<;:9{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{{{n{Bl}}Cb{n{{Ab{{Ef{c}}}}}}}{{Ef{{Ef{c}}}}}d}{{{n{{b{c}}}}{n{le}}}A`{Ahd}Eh}`{{}Cb}000000000{{{n{c}}eCb}{{Cf{ee}}}{}{}}{ce{}{}}000000000{{{n{{An{c}}}}}eh{}}0`{{{n{{f{c}}}}}Ddh}{{{n{{An{c}}}}Cb}eh{}}{{{n{{b{c}}}}}Dd{AfAh}}23{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}{j{c}}}eh{}}{{{f{c}}{f{c}}}{{f{c}}}h}{{{f{c}}c}{{f{c}}}h}{{{j{c}}c}eh{}}{{{j{c}}{j{c}}}eh{}}{{{j{c}}{f{c}}}eh{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}c}A`h}{{{n{l{f{c}}}}{f{c}}}A`h}{{{b{c}}}ed{}}{{{f{c}}}{{f{c}}}h}{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{Cb{{j{c}}}h}{{DdCb}{{j{c}}}h}32{{}Ad}{{{n{{b{c}}}}{n{{b{c}}}}}{{Ej{C`}}}{Eld}}{e{{b{c}}}d{{F`{}{{En{{b{c}}}}}}}}{e{{f{c}}}h{{F`{}{{En{{f{c}}}}}}}}{e{{f{c}}}h{{F`{}{{En{c}}}}}}{{{n{Fb}}}{{n{{Ab{c}}}}}{}}{{{n{{An{c}}}}}{{n{{Ab{e}}}}}h{}}{{{n{{b{c}}}}e}D`AfFd}{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}{f{c}}}{{f{c}}}h}{{{f{c}}c}{{f{c}}}h}{{{f{c}}{j{c}}}eh{}}{{{j{c}}{j{c}}}eh{}}{{{j{c}}{f{c}}}eh{}}{{{j{c}}c}eh{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}c}A`h}{{{n{l{f{c}}}}{f{c}}}A`h}?=>{{{n{c}}}e{}{}}00000000{{{n{c}}}Ff{}}000{{Cj{Fh{{b{c}}}}}{{Ef{{Ef{c}}}}}d}{c{{D`{e}}}{}{}}0000000000000000000{{{n{{b{c}}}}}{{Ej{{b{c}}}}}{AfAh}}{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{{{n{c}}}Fj{}}000000000{ce{}{}}00000000032","D":"C`","p":[[5,"FWrap",0,304],[10,"Field",305],[6,"SymbolicExpression",0,306],[10,"Field",307],[5,"SymbolicVariable",0,308],[0,"mut"],[1,"reference"],[1,"unit"],[1,"slice"],[5,"BigUint",309],[10,"PrimeField",305],[10,"Hash",310],[10,"Ord",311],[1,"u64"],[5,"SymbolicAirBuilder",0,312],[10,"Into",313],[10,"Clone",314],[6,"Location",0,306],[6,"Var",0,308],[5,"Query",0,308],[5,"Public",0,308],[5,"PreprocessingInfo",0],[5,"CompileParams",0],[6,"Ordering",311],[1,"usize"],[5,"ConstraintSystemMid",315],[1,"tuple"],[10,"Air",316],[1,"u32"],[5,"Preprocessing",315],[10,"Default",317],[6,"Result",318],[10,"Deserializer",319],[1,"bool"],[10,"PartialEq",311],[5,"Formatter",320],[8,"Result",320],[10,"Debug",320],[17,"Output"],[10,"FnMut",321],[1,"u16"],[1,"u8"],[5,"Vec",322],[10,"Hasher",310],[6,"Option",323],[10,"PartialOrd",311],[17,"Item"],[10,"Iterator",324],[10,"AirBuilderWithPublicValues",0,325],[10,"Serializer",326],[5,"String",327],[5,"RowMajorMatrix",328],[5,"TypeId",329]],"r":[[1,325],[4,304],[7,306],[12,308],[14,308],[17,312],[18,306],[19,308],[21,308]],"b":[[24,"impl-Add%3CF%3E-for-SymbolicExpression%3CF%3E"],[25,"impl-Add-for-SymbolicExpression%3CF%3E"],[26,"impl-Add%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[27,"impl-Add%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[28,"impl-Add%3CF%3E-for-SymbolicVariable%3CF%3E"],[29,"impl-Add-for-SymbolicVariable%3CF%3E"],[31,"impl-AddAssign-for-SymbolicExpression%3CF%3E"],[32,"impl-AddAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[120,"impl-Display-for-FWrap%3CF%3E"],[121,"impl-Debug-for-FWrap%3CF%3E"],[122,"impl-Display-for-Location"],[123,"impl-Debug-for-Location"],[124,"impl-Debug-for-SymbolicExpression%3CF%3E"],[125,"impl-Display-for-SymbolicExpression%3CF%3E"],[126,"impl-Display-for-SymbolicVariable%3CF%3E"],[127,"impl-Debug-for-SymbolicVariable%3CF%3E"],[137,"impl-From%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[138,"impl-From%3CF%3E-for-SymbolicExpression%3CF%3E"],[207,"impl-Mul%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[208,"impl-Mul-for-SymbolicExpression%3CF%3E"],[209,"impl-Mul%3CF%3E-for-SymbolicExpression%3CF%3E"],[210,"impl-Mul%3CF%3E-for-SymbolicVariable%3CF%3E"],[211,"impl-Mul-for-SymbolicVariable%3CF%3E"],[212,"impl-Mul%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[214,"impl-MulAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[215,"impl-MulAssign-for-SymbolicExpression%3CF%3E"],[227,"impl-Product-for-SymbolicExpression%3CF%3E"],[228,"impl-Product%3CF%3E-for-SymbolicExpression%3CF%3E"],[233,"impl-Sub-for-SymbolicExpression%3CF%3E"],[234,"impl-Sub%3CF%3E-for-SymbolicExpression%3CF%3E"],[235,"impl-Sub%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[236,"impl-Sub-for-SymbolicVariable%3CF%3E"],[237,"impl-Sub%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[238,"impl-Sub%3CF%3E-for-SymbolicVariable%3CF%3E"],[240,"impl-SubAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[241,"impl-SubAssign-for-SymbolicExpression%3CF%3E"],[243,"impl-Sum%3CF%3E-for-SymbolicExpression%3CF%3E"],[244,"impl-Sum-for-SymbolicExpression%3CF%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABgBBQABABAAFQBwAIoAAQCSACoAxwBpAA=="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/search.desc/halo2_frontend/halo2_frontend-desc-0-.js b/search.desc/halo2_frontend/halo2_frontend-desc-0-.js index 7994dead6..b6f6385d4 100644 --- a/search.desc/halo2_frontend/halo2_frontend-desc-0-.js +++ b/search.desc/halo2_frontend/halo2_frontend-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("halo2_frontend", 0, "Traits and structs for implementing circuit components.\nTools for developing circuits.\nAn assigned cell.\nA pointer to a cell within a circuit.\nA chip implements a set of instructions that can be used …\nA type that holds the configuration for this chip, and any …\nA layout strategy within a circuit. The layouter is …\nA type that holds any general chip state that needs to be …\nThis is a “namespaced” layouter which borrows a …\nA region of the circuit in which aChip
can assign cells.\nIndex of a region in a layouter\nStarting row of a region in a layouter\nRepresents the type of the “root” of this layouter, so …\nA table layouter that can be used to assign values to a …\nA lookup table in the circuit.\nHelper trait for implementing a customLayouter
.\nA value that might exist within a circuit.\nWitness calculator. Frontend function\nReturnsValue::unknown()
if the value isValue::unknown()
, …\nConverts from&mut Value<V>
toValue<&mut V>
.\nConverts from&Value<V>
toValue<&V>
.\nEnforces an assertion on the contained value, if known.\nObtains the inner value for assigning into the circuit.\nAssign an advice column value (witness).\nAssigns a constant value to the columnadvice
atoffset
…\nAssign the value of the instance column’s cell at …\nAssigns a fixed value to a table cell.\nAssigns a fixed value to a table cell.\nAssign a fixed value.\nAssign a region of gates to an absolute row number.\nAssign a table region to an absolute row number.\nCalculate witness at phase\nReturns the cell.\nMaps aValue<&mut V>
to aValue<V>
by cloning the contents …\nMaps aValue<&V>
to aValue<V>
by cloning the contents of …\nThe column of this cell.\nCompile a circuit. Runs configure and synthesize on the …\nThe chip holds its own configuration.\nConstrains a cell to have a constant value.\nConstrains two cells to have the same value.\nConstrains aCell
to equal an instance column’s row …\nMaps aValue<&mut V>
to aValue<V>
by copying the contents …\nMaps aValue<&V>
to aValue<V>
by copying the contents of …\nCopies the value to a given advice cell and constrains …\nCubes this field element.\nmaps from a fixed column to a pair (default value, vector …\nDoubles this field element.\nEnables a selector at the given offset.\nChecks the contained value for an error condition, if …\nEvaluates this value directly, performing an unbatched …\nEvaluates this assigned cell’s value directly, …\nImplementations of common circuit floor planners.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nTakes each element in theIterator
: if it is …\nQueries the value of the given challenge.\nGets the “root” of this assignment, bypassing the …\nReturns the value of the instance column’s cell at …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns the field element corresponding to this value.\nInverts this assigned value (taking the inverse of zero to …\nConstructs a known value.\nImplementations of common circuit layouters.\nProvides access to general chip state loaded at the …\nMaps aValue<V>
toValue<W>
by applying a function to the …\nAllows the circuit implementor to name/annotate a Column …\nEnters into a namespace.\nReturns a new SimpleTableLayouter\nCreate a new WitnessCalculator\nExits out of the existing namespace.\nCreates a new (sub)namespace and enters into it.\nIdentifies the region in which this cell resides.\nThe relative offset of this cell within its region.\nSquares this field element.\nReturns the field element corresponding to this value.\nTransposes aValue<[V; LEN]>
into a[Value<V>; LEN]
.\nTransposes aValue<impl IntoIterator<Item = V>>
into a …\nConstructs an unwitnessed value.\nUnzips a value containing a tuple of two values.\nReturns the value of theAssignedCell
.\nReturns the field element value of theAssignedCell
.\nZipsself
with anotherValue
.\nA simpleFloorPlanner
that performs minimal optimizations.\nALayouter
for a single-chip circuit.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCreates a new single-chip layouter.\nAssigns the circuit.\nMeasures the circuit.\nThe version 1FloorPlanner
provided byhalo2
.\nA single pass of theV1
layouter.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConcrete column\nThe virtual column involved in a region. This includes …\nHelper trait for implementing a customLayouter
.\nThe shape of a region. For a region at a certain index, we …\nVirtual column representing a (boolean) selector\nIntermediate trait requirements forRegionLayouter
when …\nHelper trait for implementing a customLayouter
.\nAssign an advice column value (witness)\nAssigns a constant value to the columnadvice
atoffset
…\nAssign the value of the instance column’s cell at …\nAssigns a fixed value to a table cell.\nAssigns a fixed value\nGet a reference to the set ofcolumns
used in aRegionShape
…\nConstrains a cell to have a constant value.\nConstraint two cells to have the same value.\nEnables a selector at the given offset.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the value of the instance column’s cell at …\nCallsU::from(self)
.\nCallsU::from(self)
.\nAllows the circuit implementor to name/annotate a Column …\nCreate a newRegionShape
for a region atregion_index
.\nGet theregion_index
of aRegionShape
.\nGet therow_count
of aRegionShape
.\nA cell that has been assigned a value.\nAssigned instance value\nA cell used in an active gate was not assigned to.\nThe value of a particular cell within the circuit.\nA struct for collecting and displaying the gates within a …\nGraphical renderer for circuit layouts.\nA constraint was not satisfied for a particular row.\nA constraint was active on an unusable row, and is likely …\nThe location within the circuit at which a particular …\nA location inside a region.\nAn instance cell used in an active gate was not assigned …\nInstance Value\nA lookup input did not exist in its corresponding table.\nA test prover for debugging circuits.\nA location outside of a region.\nPadding\nA permutation did not preserve the original value of a …\nA unique poisoned cell.\nA shuffle input did not exist in its corresponding map.\nA helper type that augments aFloorPlanner
withtracing
…\nAn unassigned cell.\nThe reasons why a particular circuit is not satisfied.\nReturns the list of Advice Columns used within a …\nReturn the content of an advice column as mutable\nReturn the content of an advice column as assigned by the …\nPanics if the circuit being checked by thisMockProver
is …\nPanics if the circuit being checked by thisMockProver
is …\nBuilds a dot graph string representing the given circuit.\nCollects the gates from within the circuit.\nDeveloper tools for investigating the cost of a circuit.\nThe cost estimator takes high-level parameters for a …\nReturns the constraint system\nEmits this failure in pretty-printed format to stderr.\nReturns the list of Fixed Columns used within a MockProver …\nReturn the content of a fixed column as assigned by the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the list of Instance Columns used within a …\nReturn the content of an instance column as mutable\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nMarks cells involved in equality constraints, in red.\nMetadata about circuits.\nPrints the queries in this circuit to a CSV grid.\nRenders the given circuit on the given drawing area.\nRuns a synthetic keygen-and-prove operation on the given …\nReturns the list of Selector Columns used within a …\nDraws red lines between equality-constrained cells.\nSets the visibility of region labels.\nReturns the usable rows\nField value on the instance cell\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nSets the view height for this layout, as a number of rows.\nSets the view width for this layout, as a number of …\nThe offset (relative to the start of the region) at which …\nThe region in which the failure occurred.\nThe circuit row on which the failure occurred.\nThe values of the virtual cells used by this constraint.\nThe column in which this cell should be assigned.\nThe column in which this cell should be assigned.\nThe column in which this permutation is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe index of the active gate.\nThe index of the active gate.\nThe offset (relative to the start of the region) at which …\nThe offset (relative to the start of the region) at which …\nThe location at which this constraint is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the permutation is not satisfied.\nThe index of the lookup that is not satisfied. These …\nThe name of the lookup that is not satisfied.\nThe name of the lookup that is not satisfied.\nThe offset (relative to the start of the region) at which …\nThe region in which this cell should be assigned.\nThe region in which this gate was activated.\nThe absolute row at which this cell should be assigned.\nThe index of the lookup that is not satisfied. These …\nMeasures a circuit to determine its costs, and explain …\nThe marginal size of a Halo 2 proof, broken down into its …\nThe size of a Halo 2 proof, broken down into its …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns the marginal proof size per instance of this …\nMeasures a circuit with parameter constantk
.\nReturns the proof size for the given number of instances …\nSupported commitment schemes\nOptions to build a circuit specification to measure the …\nKZG with GWC19 multi-open strategy\nKZG with BDFG20 multi-open strategy\nStructure holding the Lookup related data for circuit …\nHigh-level specifications of an abstract circuit.\nNumber of permutation enabled columns\nStructure holding polynomial related data for benchmarks\nStructure holding the Shuffle related data for circuit …\nAn advice column with the given rotations. May be repeated.\nNumber of advice columns.\nNumber of distinct column queries across all gates.\nA fixed column with the given rotations. May be repeated.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGiven a Plonk circuit, this function returns CostOptions\nGiven a Plonk circuit, this function returns a ModelCircuit\nMaximum degree of the custom gates.\nAn instance column with the given rotations. May be …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConvert CostOptions to ModelCircuit. The proof sizè is …\n2^K bound on the number of rows.\nPower-of-2 bound on the number of rows in the circuit.\nA lookup over N columns with max input degree I and max …\nNumber of lookup arguments.\nMaximum degree of the circuit.\nMaximum degree of the constraint system.\nA permutation over N columns. May be repeated.\nEquality constraint enabled columns.\nNumber of distinct sets of points in the multiopening …\nRotations for the given polynomial\nA shuffle over N columns with max input degree I and max …\nNumber of shuffle arguments\nSize of the proof for the circuit\nA column with an index and type\nMetadata about a configured constraint within a circuit.\nMetadata about a configured gate within a circuit.\nMetadata about an assigned region within a circuit.\nA “virtual cell” is a PLONK cell that has been queried …\nThe type of the column.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe index of the column.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nImplementation of permutation argument.\nA value assigned to a cell within a circuit.\nA value stored as a fraction to enable batch inversion.\nA value that does not require inversion to evaluate.\nThe field element zero.\nCubes this element.\nReturns the denominator, if non-trivial.\nDoubles this element.\nEvaluates this assigned value directly, performing an …\nReturns the argument unchanged.\nCallsU::from(self)
.\nInverts this assigned value (taking the inverse of zero to …\nReturns true iff this element is zero.\nReturns the numerator.\nSquares this element.\nAn advice column\nThis trait allows aCircuit
to direct some backend to …\nThis is a trait that circuits provide implementations for …\nA column type\nThis is a configuration object that stores things like …\nA fixed column\nA floor planning strategy for a circuit.\nThe floor planner used for this circuit. This is an …\nAn instance column\nOptional circuit configuration parameters. Requires the …\nAllows the developer to include an annotation for an …\nAssign an advice column value (witness)\nAssign a fixed value\nThe circuit is given an opportunity to describe the exact …\nThe circuit is given an opportunity to describe the exact …\nAssign two cells to have the same value\nEnables a selector at the given row.\nCreates a new region and enters into it.\nExits the current region.\nFills a fixedcolumn
starting from the givenrow
with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nQueries the value of the given challenge.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns a reference to the parameters that should be used …\nExits out of the existing namespace.\nCreates a new (sub)namespace and enters into it.\nReturn expression from cell\nQueries the cell of an instance column at a particular …\nGiven the providedcs
, synthesize the given circuit.\nGiven the providedcs
, synthesize the circuit. The …\nReturns a copy of this circuit with no witness values …\nAn individual polynomial constraint.\nThis is a description of the circuit environment, such as …\nA set of polynomial constraints with a common selector.\nGate\nA “virtual cell” is a PLONK cell that has been queried …\nExposes the “virtual cells” that can be queried while …\nAllocate a new advice column atFirstPhase
\nAllocate a new advice column in given phase\nReturns phase of advice columns\nReturns advice queries\nAnnotate a column.\nAnnotate an Instance column.\nAnnotate a Lookup column.\nCompute the number of blinding factors necessary to …\nReturns phase of challenges\nRequests a challenge that is usable after the given phase.\nAllocate a new complex selector that can appear anywhere …\nThis will compress selectors together depending on their …\nReturns constants\nReturns the name of the constraint at index …\nCreates a new gate.\nCompute the degree of the constraint system (the maximum …\nDoes not combine selectors and directly replaces them …\nEnables this fixed column to be used for global constant …\nEnable the ability to enforce equality over cells in this …\nAllocate a new fixed column\nReturns fixed queries\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns gates\nReturns general column annotations\nAllocate a new instance column\nReturns instance queries\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nAdd a lookup argument for some input expressions and table …\nAdd a lookup argument for some input expressions and table …\nAllocates a new fixed column that can be used in a lookup …\nReturns lookup arguments\nReturns the minimum necessary rows that need to exist in …\nReturns the gate name.\nReturns number of advice columns\nReturns number of challenges\nReturns number of fixed columns\nReturns number of instance columns\nReturns number of selectors\nReturns permutation argument\nReturns the list of phases\nReturns constraints of this gate\nQuery an advice column at a relative position\nQuery an Any column at a relative position\nQuery a challenge\nQuery a fixed column at a relative position\nQuery an instance column at a relative position\nQuery a selector at the current position.\nAllocate a new (simple) selector. Simple selectors cannot …\nSets the minimum degree required by the circuit, which can …\nAdd a shuffle argument for some input expressions and …\nReturns shuffle arguments\nAllocate a new unblinded advice column atFirstPhase
\nAllocate a new unblinded advice column in given phase. …\nConstructs a set of constraints that are controlled by the …\nThis is an advice (witness) column queried at a certain …\nQuery of advice column at a certain relative location\nA challenge squeezed from transcript after advice columns …\nThis is a challenge\nA column with an index and type\nThis is a constant polynomial\nLow-degree expression representing an identity that must …\nFirst phase\nThis is a fixed column queried at a certain relative …\nQuery of fixed column at a certain relative location\nThis is an instance (external) column queried at a certain …\nQuery of instance column at a certain relative location\nThis is a negated polynomial\nPhase of advice column\nThis is the product of two polynomials\nThis is a scaled polynomial\nSecond phase\nA selector, representing a fixed boolean value per row of …\nThis is a virtual selector\nThis is the sum of two polynomials\nA fixed column of a lookup table.\nThird phase\nColumn index\nColumn index\nColumn index\nColumn index\nColumn index\nColumn index\nType of this column.\nApproximate the computational complexity of this …\nReturn expression from column at the current row\nCompute the degree of this polynomial\nEnable this selector at the given offset within the given …\nEvaluate the polynomial using the provided closures to …\nEvaluate the polynomial lazily using the provided closures …\nReturn expression from selector\nReturn Expression\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nIdentifier for this expression. Expressions with identical …\nIndex of this column.\nReturns index of this selector\nIndex of this challenge.\nQuery index\nQuery index\nQuery index\nReturns inner column\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nIs this selector “simple”? Simple selectors can only …\nReturn expression from column at the next row\nPhase of this challenge.\nReturn expression from column at the previous row\nReturn expression from column at a relative position\nMake side effects\nReturn expression from column at the specified rotation\nRotation of this query\nRotation of this query\nRotation of this query\nRotation of this query\nRotation of this query\nRotation of this query\nSquare this expression.\nPhase of advice column\nSealed trait to help keepPhase
private.\nReturns the argument unchanged.\nCallsU::from(self)
.\nThis is an error that could occur duringassign_advice
, …\nAn error relating to a circuit assignment.\nOut of bounds index passed to a backend\nATableColumn
has not been assigned.\nThe instance sets up a copy constraint involving a column …\nThis is an error that could occur during circuit synthesis.\nCircuit synthesis requires global constants, but circuit …\nk
is too small for the given circuit.\nGeneric error not covered by previous cases\nAttempt to overwrite a default value\nThis is an error that can occur during synthesis of the …\nThis is an error that could occur during table synthesis.\nAn error relating to a lookup table.\nA Table has columns of uneven lengths.\nAttempt to assign a usedTableColumn
\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConstructs anError::NotEnoughRowsAvailable
.\nThe current value ofk
being used.\nExpressions involved in a lookup argument, with a name as …\nReturns the argument unchanged.\nReturns input of this argument\nCallsU::from(self)
.\nReturns name of this argument\nConstructs a new lookup argument.\nReturns table of this argument\nA permutation argument.\nReturns the argument unchanged.\nReturns columns that participate on the permutation …\nCallsU::from(self)
.\nExpressions involved in a shuffle argument, with a name as …\nReturns the argument unchanged.\nReturns input of this argument\nCallsU::from(self)
.\nReturns name of this argument\nConstructs a new shuffle argument.\nReturns table of this argument") \ No newline at end of file +searchState.loadedDescShard("halo2_frontend", 0, "Traits and structs for implementing circuit components.\nTools for developing circuits.\nAn assigned cell.\nA pointer to a cell within a circuit.\nA chip implements a set of instructions that can be used …\nA type that holds the configuration for this chip, and any …\nA layout strategy within a circuit. The layouter is …\nA type that holds any general chip state that needs to be …\nThis is a “namespaced” layouter which borrows a …\nA region of the circuit in which aChip
can assign cells.\nIndex of a region in a layouter\nStarting row of a region in a layouter\nRepresents the type of the “root” of this layouter, so …\nA table layouter that can be used to assign values to a …\nA lookup table in the circuit.\nHelper trait for implementing a customLayouter
.\nA value that might exist within a circuit.\nWitness calculator. Frontend function\nReturnsValue::unknown()
if the value isValue::unknown()
, …\nConverts from&mut Value<V>
toValue<&mut V>
.\nConverts from&Value<V>
toValue<&V>
.\nEnforces an assertion on the contained value, if known.\nObtains the inner value for assigning into the circuit.\nAssign an advice column value (witness).\nAssigns a constant value to the columnadvice
atoffset
…\nAssign the value of the instance column’s cell at …\nAssigns a fixed value to a table cell.\nAssigns a fixed value to a table cell.\nAssign a fixed value.\nAssign a region of gates to an absolute row number.\nAssign a table region to an absolute row number.\nCalculate witness at phase\nReturns the cell.\nMaps aValue<&V>
to aValue<V>
by cloning the contents of …\nMaps aValue<&mut V>
to aValue<V>
by cloning the contents …\nThe column of this cell.\nCompile a circuit. Runs configure and synthesize on the …\nThe chip holds its own configuration.\nConstrains a cell to have a constant value.\nConstrains two cells to have the same value.\nConstrains aCell
to equal an instance column’s row …\nMaps aValue<&V>
to aValue<V>
by copying the contents of …\nMaps aValue<&mut V>
to aValue<V>
by copying the contents …\nCopies the value to a given advice cell and constrains …\nCubes this field element.\nmaps from a fixed column to a pair (default value, vector …\nDoubles this field element.\nEnables a selector at the given offset.\nChecks the contained value for an error condition, if …\nEvaluates this value directly, performing an unbatched …\nEvaluates this assigned cell’s value directly, …\nImplementations of common circuit floor planners.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nTakes each element in theIterator
: if it is …\nQueries the value of the given challenge.\nGets the “root” of this assignment, bypassing the …\nReturns the value of the instance column’s cell at …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns the field element corresponding to this value.\nInverts this assigned value (taking the inverse of zero to …\nConstructs a known value.\nImplementations of common circuit layouters.\nProvides access to general chip state loaded at the …\nMaps aValue<V>
toValue<W>
by applying a function to the …\nAllows the circuit implementor to name/annotate a Column …\nEnters into a namespace.\nReturns a new SimpleTableLayouter\nCreate a new WitnessCalculator\nExits out of the existing namespace.\nCreates a new (sub)namespace and enters into it.\nIdentifies the region in which this cell resides.\nThe relative offset of this cell within its region.\nSquares this field element.\nReturns the field element corresponding to this value.\nTransposes aValue<[V; LEN]>
into a[Value<V>; LEN]
.\nTransposes aValue<impl IntoIterator<Item = V>>
into a …\nConstructs an unwitnessed value.\nUnzips a value containing a tuple of two values.\nReturns the value of theAssignedCell
.\nReturns the field element value of theAssignedCell
.\nZipsself
with anotherValue
.\nA simpleFloorPlanner
that performs minimal optimizations.\nALayouter
for a single-chip circuit.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCreates a new single-chip layouter.\nAssigns the circuit.\nMeasures the circuit.\nThe version 1FloorPlanner
provided byhalo2
.\nA single pass of theV1
layouter.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConcrete column\nThe virtual column involved in a region. This includes …\nHelper trait for implementing a customLayouter
.\nThe shape of a region. For a region at a certain index, we …\nVirtual column representing a (boolean) selector\nIntermediate trait requirements forRegionLayouter
when …\nHelper trait for implementing a customLayouter
.\nAssign an advice column value (witness)\nAssigns a constant value to the columnadvice
atoffset
…\nAssign the value of the instance column’s cell at …\nAssigns a fixed value to a table cell.\nAssigns a fixed value\nGet a reference to the set ofcolumns
used in aRegionShape
…\nConstrains a cell to have a constant value.\nConstraint two cells to have the same value.\nEnables a selector at the given offset.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the value of the instance column’s cell at …\nCallsU::from(self)
.\nCallsU::from(self)
.\nAllows the circuit implementor to name/annotate a Column …\nCreate a newRegionShape
for a region atregion_index
.\nGet theregion_index
of aRegionShape
.\nGet therow_count
of aRegionShape
.\nA cell that has been assigned a value.\nAssigned instance value\nA cell used in an active gate was not assigned to.\nThe value of a particular cell within the circuit.\nA struct for collecting and displaying the gates within a …\nGraphical renderer for circuit layouts.\nA constraint was not satisfied for a particular row.\nA constraint was active on an unusable row, and is likely …\nThe location within the circuit at which a particular …\nA location inside a region.\nAn instance cell used in an active gate was not assigned …\nInstance Value\nA lookup input did not exist in its corresponding table.\nA test prover for debugging circuits.\nA location outside of a region.\nPadding\nA permutation did not preserve the original value of a …\nA unique poisoned cell.\nA shuffle input did not exist in its corresponding map.\nA helper type that augments aFloorPlanner
withtracing
…\nAn unassigned cell.\nThe reasons why a particular circuit is not satisfied.\nReturns the list of Advice Columns used within a …\nReturn the content of an advice column as mutable\nReturn the content of an advice column as assigned by the …\nPanics if the circuit being checked by thisMockProver
is …\nPanics if the circuit being checked by thisMockProver
is …\nBuilds a dot graph string representing the given circuit.\nCollects the gates from within the circuit.\nDeveloper tools for investigating the cost of a circuit.\nThe cost estimator takes high-level parameters for a …\nReturns the constraint system\nEmits this failure in pretty-printed format to stderr.\nReturns the list of Fixed Columns used within a MockProver …\nReturn the content of a fixed column as assigned by the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the list of Instance Columns used within a …\nReturn the content of an instance column as mutable\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nMarks cells involved in equality constraints, in red.\nMetadata about circuits.\nPrints the queries in this circuit to a CSV grid.\nRenders the given circuit on the given drawing area.\nRuns a synthetic keygen-and-prove operation on the given …\nReturns the list of Selector Columns used within a …\nDraws red lines between equality-constrained cells.\nSets the visibility of region labels.\nReturns the usable rows\nField value on the instance cell\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nSets the view height for this layout, as a number of rows.\nSets the view width for this layout, as a number of …\nThe offset (relative to the start of the region) at which …\nThe region in which the failure occurred.\nThe circuit row on which the failure occurred.\nThe values of the virtual cells used by this constraint.\nThe column in which this cell should be assigned.\nThe column in which this cell should be assigned.\nThe column in which this permutation is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe index of the active gate.\nThe index of the active gate.\nThe offset (relative to the start of the region) at which …\nThe offset (relative to the start of the region) at which …\nThe location at which this constraint is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the permutation is not satisfied.\nThe index of the lookup that is not satisfied. These …\nThe name of the lookup that is not satisfied.\nThe name of the lookup that is not satisfied.\nThe offset (relative to the start of the region) at which …\nThe region in which this cell should be assigned.\nThe region in which this gate was activated.\nThe absolute row at which this cell should be assigned.\nThe index of the lookup that is not satisfied. These …\nMeasures a circuit to determine its costs, and explain …\nThe marginal size of a Halo 2 proof, broken down into its …\nThe size of a Halo 2 proof, broken down into its …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns the marginal proof size per instance of this …\nMeasures a circuit with parameter constantk
.\nReturns the proof size for the given number of instances …\nSupported commitment schemes\nOptions to build a circuit specification to measure the …\nKZG with GWC19 multi-open strategy\nKZG with BDFG20 multi-open strategy\nStructure holding the Lookup related data for circuit …\nHigh-level specifications of an abstract circuit.\nNumber of permutation enabled columns\nStructure holding polynomial related data for benchmarks\nStructure holding the Shuffle related data for circuit …\nAn advice column with the given rotations. May be repeated.\nNumber of advice columns.\nNumber of distinct column queries across all gates.\nA fixed column with the given rotations. May be repeated.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGiven a Plonk circuit, this function returns CostOptions\nGiven a Plonk circuit, this function returns a ModelCircuit\nMaximum degree of the custom gates.\nAn instance column with the given rotations. May be …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConvert CostOptions to ModelCircuit. The proof sizè is …\n2^K bound on the number of rows.\nPower-of-2 bound on the number of rows in the circuit.\nA lookup over N columns with max input degree I and max …\nNumber of lookup arguments.\nMaximum degree of the circuit.\nMaximum degree of the constraint system.\nA permutation over N columns. May be repeated.\nEquality constraint enabled columns.\nNumber of distinct sets of points in the multiopening …\nRotations for the given polynomial\nA shuffle over N columns with max input degree I and max …\nNumber of shuffle arguments\nSize of the proof for the circuit\nA column with an index and type\nMetadata about a configured constraint within a circuit.\nMetadata about a configured gate within a circuit.\nMetadata about an assigned region within a circuit.\nA “virtual cell” is a PLONK cell that has been queried …\nThe type of the column.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe index of the column.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nImplementation of permutation argument.\nA value assigned to a cell within a circuit.\nA value stored as a fraction to enable batch inversion.\nA value that does not require inversion to evaluate.\nThe field element zero.\nCubes this element.\nReturns the denominator, if non-trivial.\nDoubles this element.\nEvaluates this assigned value directly, performing an …\nReturns the argument unchanged.\nCallsU::from(self)
.\nInverts this assigned value (taking the inverse of zero to …\nReturns true iff this element is zero.\nReturns the numerator.\nSquares this element.\nAn advice column\nThis trait allows aCircuit
to direct some backend to …\nThis is a trait that circuits provide implementations for …\nA column type\nThis is a configuration object that stores things like …\nA fixed column\nA floor planning strategy for a circuit.\nThe floor planner used for this circuit. This is an …\nAn instance column\nOptional circuit configuration parameters. Requires the …\nAllows the developer to include an annotation for an …\nAssign an advice column value (witness)\nAssign a fixed value\nThe circuit is given an opportunity to describe the exact …\nThe circuit is given an opportunity to describe the exact …\nAssign two cells to have the same value\nEnables a selector at the given row.\nCreates a new region and enters into it.\nExits the current region.\nFills a fixedcolumn
starting from the givenrow
with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nQueries the value of the given challenge.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns a reference to the parameters that should be used …\nExits out of the existing namespace.\nCreates a new (sub)namespace and enters into it.\nReturn expression from cell\nQueries the cell of an instance column at a particular …\nGiven the providedcs
, synthesize the given circuit.\nGiven the providedcs
, synthesize the circuit. The …\nReturns a copy of this circuit with no witness values …\nAn individual polynomial constraint.\nThis is a description of the circuit environment, such as …\nA set of polynomial constraints with a common selector.\nGate\nA “virtual cell” is a PLONK cell that has been queried …\nExposes the “virtual cells” that can be queried while …\nAllocate a new advice column atFirstPhase
\nAllocate a new advice column in given phase\nReturns phase of advice columns\nReturns advice queries\nAnnotate a column.\nAnnotate an Instance column.\nAnnotate a Lookup column.\nCompute the number of blinding factors necessary to …\nReturns phase of challenges\nRequests a challenge that is usable after the given phase.\nAllocate a new complex selector that can appear anywhere …\nThis will compress selectors together depending on their …\nReturns constants\nReturns the name of the constraint at index …\nCreates a new gate.\nCompute the degree of the constraint system (the maximum …\nDoes not combine selectors and directly replaces them …\nEnables this fixed column to be used for global constant …\nEnable the ability to enforce equality over cells in this …\nAllocate a new fixed column\nReturns fixed queries\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns gates\nReturns general column annotations\nAllocate a new instance column\nReturns instance queries\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nAdd a lookup argument for some input expressions and table …\nAdd a lookup argument for some input expressions and table …\nAllocates a new fixed column that can be used in a lookup …\nReturns lookup arguments\nReturns the minimum necessary rows that need to exist in …\nReturns the gate name.\nReturns number of advice columns\nReturns number of challenges\nReturns number of fixed columns\nReturns number of instance columns\nReturns number of selectors\nReturns permutation argument\nReturns the list of phases\nReturns constraints of this gate\nQuery an advice column at a relative position\nQuery an Any column at a relative position\nQuery a challenge\nQuery a fixed column at a relative position\nQuery an instance column at a relative position\nQuery a selector at the current position.\nAllocate a new (simple) selector. Simple selectors cannot …\nSets the minimum degree required by the circuit, which can …\nAdd a shuffle argument for some input expressions and …\nReturns shuffle arguments\nAllocate a new unblinded advice column atFirstPhase
\nAllocate a new unblinded advice column in given phase. …\nConstructs a set of constraints that are controlled by the …\nThis is an advice (witness) column queried at a certain …\nQuery of advice column at a certain relative location\nA challenge squeezed from transcript after advice columns …\nThis is a challenge\nA column with an index and type\nThis is a constant polynomial\nLow-degree expression representing an identity that must …\nFirst phase\nThis is a fixed column queried at a certain relative …\nQuery of fixed column at a certain relative location\nThis is an instance (external) column queried at a certain …\nQuery of instance column at a certain relative location\nThis is a negated polynomial\nPhase of advice column\nThis is the product of two polynomials\nThis is a scaled polynomial\nSecond phase\nA selector, representing a fixed boolean value per row of …\nThis is a virtual selector\nThis is the sum of two polynomials\nA fixed column of a lookup table.\nThird phase\nColumn index\nColumn index\nColumn index\nColumn index\nColumn index\nColumn index\nType of this column.\nApproximate the computational complexity of this …\nReturn expression from column at the current row\nCompute the degree of this polynomial\nEnable this selector at the given offset within the given …\nEvaluate the polynomial using the provided closures to …\nEvaluate the polynomial lazily using the provided closures …\nReturn expression from selector\nReturn Expression\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nIdentifier for this expression. Expressions with identical …\nIndex of this column.\nReturns index of this selector\nIndex of this challenge.\nQuery index\nQuery index\nQuery index\nReturns inner column\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nIs this selector “simple”? Simple selectors can only …\nReturn expression from column at the next row\nPhase of this challenge.\nReturn expression from column at the previous row\nReturn expression from column at a relative position\nMake side effects\nReturn expression from column at the specified rotation\nRotation of this query\nRotation of this query\nRotation of this query\nRotation of this query\nRotation of this query\nRotation of this query\nSquare this expression.\nPhase of advice column\nSealed trait to help keepPhase
private.\nReturns the argument unchanged.\nCallsU::from(self)
.\nThis is an error that could occur duringassign_advice
, …\nAn error relating to a circuit assignment.\nOut of bounds index passed to a backend\nATableColumn
has not been assigned.\nThe instance sets up a copy constraint involving a column …\nThis is an error that could occur during circuit synthesis.\nCircuit synthesis requires global constants, but circuit …\nk
is too small for the given circuit.\nGeneric error not covered by previous cases\nAttempt to overwrite a default value\nThis is an error that can occur during synthesis of the …\nThis is an error that could occur during table synthesis.\nAn error relating to a lookup table.\nA Table has columns of uneven lengths.\nAttempt to assign a usedTableColumn
\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConstructs anError::NotEnoughRowsAvailable
.\nThe current value ofk
being used.\nExpressions involved in a lookup argument, with a name as …\nReturns the argument unchanged.\nReturns input of this argument\nCallsU::from(self)
.\nReturns name of this argument\nConstructs a new lookup argument.\nReturns table of this argument\nA permutation argument.\nReturns the argument unchanged.\nReturns columns that participate on the permutation …\nCallsU::from(self)
.\nExpressions involved in a shuffle argument, with a name as …\nReturns the argument unchanged.\nReturns input of this argument\nCallsU::from(self)
.\nReturns name of this argument\nConstructs a new shuffle argument.\nReturns table of this argument") \ No newline at end of file diff --git a/search.desc/halo2_proofs/halo2_proofs-desc-0-.js b/search.desc/halo2_proofs/halo2_proofs-desc-0-.js index 8d0a84192..a06ca61e0 100644 --- a/search.desc/halo2_proofs/halo2_proofs-desc-0-.js +++ b/search.desc/halo2_proofs/halo2_proofs-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("halo2_proofs", 0, "Legacy halo2 API that wraps the frontend-backend split …\nCurve elements are serialized in compressed form. Field …\nCurve elements are serialized in uncompressed form. Field …\nSerialization is the same asRawBytes
, but no checks are …\nThis enum specifies how various types are serialized and …\nThis module provides common utilities, traits and …\nTraits and structs for implementing circuit components.\nTools for developing circuits.\nReturns the argument unchanged.\nCallsU::from(self)
.\nThis module provides an implementation of a variant of …\nContains utilities for performing arithmetic over …\nThis module contains utilities and traits for dealing with …\nThe affine version of the curve\nThe base field over which this elliptic curve is …\nThe base field over which this elliptic curve is …\nCURVE_ID used for hash-to-curve.\nThis trait is the affine counterpart toCurve
and is used …\nThis trait is a common interface for dealing with elements …\nThe projective form of the curve\nThis trait represents an element of a field.\nThe one element of the field, the multiplicative identity.\nThe scalar field of this elliptic curve.\nThe scalar field of this elliptic curve.\nThe zero element of the field, the additive identity.\nReturns the curve constant a.\nReturns the curve constant $a$.\nReturns the curve constant b.\nReturns the curve constant $b$.\nGets the coordinates of this point.\nCubes this element.\nDoubles this element.\nApply the curve endomorphism by multiplying the …\nObtains a point given $(x, y)$, failing if it is not on the\nRequests a hasher that accepts messages and returns …\nComputes the multiplicative inverse of this element, …\nReturns whether or not this element is on the curve; should\nReturns whether or not this element is on the curve; should\nReturns true iff this element is zero.\nReturns true iff this element is zero.\nReturn the Jacobian coordinates of this point.\nObtains a point given Jacobian coordinates $X : Y : Z$, …\nThis utility function will parallelize an operation that …\nExponentiatesself
byexp
, whereexp
is a little-endian …\nExponentiatesself
byexp
, whereexp
is a little-endian …\nReturns an element chosen uniformly at random using a …\nReturns the square root of the field element, if it is …\nEquivalent toSelf::sqrt_ratio(self, one())
.\nComputes:\nSquares this element.\nAn assigned cell.\nA pointer to a cell within a circuit.\nA chip implements a set of instructions that can be used …\nA type that holds the configuration for this chip, and any …\nA layout strategy within a circuit. The layouter is …\nA type that holds any general chip state that needs to be …\nThis is a “namespaced” layouter which borrows a …\nA region of the circuit in which aChip
can assign cells.\nIndex of a region in a layouter\nRepresents the type of the “root” of this layouter, so …\nA simpleFloorPlanner
that performs minimal optimizations.\nA lookup table in the circuit.\nA value that might exist within a circuit.\nReturnsValue::unknown()
if the value isValue::unknown()
, …\nConverts from&mut Value<V>
toValue<&mut V>
.\nConverts from&Value<V>
toValue<&V>
.\nEnforces an assertion on the contained value, if known.\nObtains the inner value for assigning into the circuit.\nAssign an advice column value (witness).\nAssigns a constant value to the columnadvice
atoffset
…\nAssign the value of the instance column’s cell at …\nAssigns a fixed value to a table cell.\nAssign a fixed value.\nAssign a region of gates to an absolute row number.\nAssign a table region to an absolute row number.\nReturns the cell.\nMaps aValue<&mut V>
to aValue<V>
by cloning the contents …\nMaps aValue<&V>
to aValue<V>
by cloning the contents of …\nThe column of this cell.\nThe chip holds its own configuration.\nConstrains a cell to have a constant value.\nConstrains two cells to have the same value.\nConstrains aCell
to equal an instance column’s row …\nMaps aValue<&mut V>
to aValue<V>
by copying the contents …\nMaps aValue<&V>
to aValue<V>
by copying the contents of …\nCopies the value to a given advice cell and constrains …\nCubes this field element.\nDoubles this field element.\nEnables a selector at the given offset.\nChecks the contained value for an error condition, if …\nEvaluates this value directly, performing an unbatched …\nEvaluates this assigned cell’s value directly, …\nImplementations of common circuit floor planners.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nTakes each element in theIterator
: if it is …\nQueries the value of the given challenge.\nGets the “root” of this assignment, bypassing the …\nReturns the value of the instance column’s cell at …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns the field element corresponding to this value.\nInverts this assigned value (taking the inverse of zero to …\nConstructs a known value.\nProvides access to general chip state loaded at the …\nMaps aValue<V>
toValue<W>
by applying a function to the …\nAllows the circuit implementor to name/annotate a Column …\nEnters into a namespace.\nExits out of the existing namespace.\nCreates a new (sub)namespace and enters into it.\nIdentifies the region in which this cell resides.\nThe relative offset of this cell within its region.\nSquares this field element.\nReturns the field element corresponding to this value.\nTransposes aValue<[V; LEN]>
into a[Value<V>; LEN]
.\nTransposes aValue<impl IntoIterator<Item = V>>
into a …\nConstructs an unwitnessed value.\nUnzips a value containing a tuple of two values.\nReturns the value of theAssignedCell
.\nReturns the field element value of theAssignedCell
.\nZipsself
with anotherValue
.\nThe version 1FloorPlanner
provided byhalo2
.\nA single pass of theV1
layouter.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nA simpleFloorPlanner
that performs minimal optimizations.\nALayouter
for a single-chip circuit.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCreates a new single-chip layouter.\nAssigns the circuit.\nMeasures the circuit.\nThe version 1FloorPlanner
provided byhalo2
.\nA single pass of theV1
layouter.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nA cell that has been assigned a value.\nAssigned instance value\nA cell used in an active gate was not assigned to.\nThe value of a particular cell within the circuit.\nGraphical renderer for circuit layouts.\nA constraint was not satisfied for a particular row.\nA constraint was active on an unusable row, and is likely …\nThe location within the circuit at which a particular …\nA location inside a region.\nAn instance cell used in an active gate was not assigned …\nInstance Value\nA lookup input did not exist in its corresponding table.\nA test prover for debugging circuits.\nA location outside of a region.\nPadding\nA permutation did not preserve the original value of a …\nA unique poisoned cell.\nA shuffle input did not exist in its corresponding map.\nAn unassigned cell.\nThe reasons why a particular circuit is not satisfied.\nReturns the list of Advice Columns used within a …\nReturn the content of an advice column as mutable\nReturn the content of an advice column as assigned by the …\nPanics if the circuit being checked by thisMockProver
is …\nPanics if the circuit being checked by thisMockProver
is …\nBuilds a dot graph string representing the given circuit.\nThe cost estimator takes high-level parameters for a …\nReturns the constraint system\nEmits this failure in pretty-printed format to stderr.\nReturns the list of Fixed Columns used within a MockProver …\nReturn the content of a fixed column as assigned by the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the list of Instance Columns used within a …\nReturn the content of an instance column as mutable\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nMarks cells involved in equality constraints, in red.\nMetadata about circuits.\nRenders the given circuit on the given drawing area.\nRuns a synthetic keygen-and-prove operation on the given …\nReturns the list of Selector Columns used within a …\nDraws red lines between equality-constrained cells.\nSets the visibility of region labels.\nReturns the usable rows\nField value on the instance cell\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nSets the view height for this layout, as a number of rows.\nSets the view width for this layout, as a number of …\nThe offset (relative to the start of the region) at which …\nThe region in which the failure occurred.\nThe circuit row on which the failure occurred.\nThe values of the virtual cells used by this constraint.\nThe column in which this cell should be assigned.\nThe column in which this cell should be assigned.\nThe column in which this permutation is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe index of the active gate.\nThe index of the active gate.\nThe offset (relative to the start of the region) at which …\nThe offset (relative to the start of the region) at which …\nThe location at which this constraint is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the permutation is not satisfied.\nThe index of the lookup that is not satisfied. These …\nThe name of the lookup that is not satisfied.\nThe name of the lookup that is not satisfied.\nThe offset (relative to the start of the region) at which …\nThe region in which this cell should be assigned.\nThe region in which this gate was activated.\nThe absolute row at which this cell should be assigned.\nThe index of the lookup that is not satisfied. These …\nSupported commitment schemes\nOptions to build a circuit specification to measure the …\nKZG with GWC19 multi-open strategy\nKZG with BDFG20 multi-open strategy\nStructure holding the Lookup related data for circuit …\nHigh-level specifications of an abstract circuit.\nNumber of permutation enabled columns\nStructure holding polynomial related data for benchmarks\nStructure holding the Shuffle related data for circuit …\nAn advice column with the given rotations. May be repeated.\nNumber of advice columns.\nNumber of distinct column queries across all gates.\nA fixed column with the given rotations. May be repeated.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGiven a Plonk circuit, this function returns CostOptions\nGiven a Plonk circuit, this function returns a ModelCircuit\nMaximum degree of the custom gates.\nAn instance column with the given rotations. May be …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConvert CostOptions to ModelCircuit. The proof sizè is …\n2^K bound on the number of rows.\nPower-of-2 bound on the number of rows in the circuit.\nA lookup over N columns with max input degree I and max …\nNumber of lookup arguments.\nMaximum degree of the circuit.\nMaximum degree of the constraint system.\nA permutation over N columns. May be repeated.\nEquality constraint enabled columns.\nNumber of distinct sets of points in the multiopening …\nRotations for the given polynomial\nA shuffle over N columns with max input degree I and max …\nNumber of shuffle arguments\nSize of the proof for the circuit\nA column with an index and type\nMetadata about a configured constraint within a circuit.\nMetadata about a configured gate within a circuit.\nMetadata about an assigned region within a circuit.\nA “virtual cell” is a PLONK cell that has been queried …\nThe type of the column.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe index of the column.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nAn advice column\nAn Advice variant\nThis is an advice (witness) column queried at a certain …\nAn enum over the Advice, Fixed, Instance structs\nAn error relating to a circuit assignment.\nA value assigned to a cell within a circuit.\nThis trait allows aCircuit
to direct some backend to …\nBackend error case\nOut of bounds index passed to a backend\nOut of bounds index passed to a backend\nA challenge squeezed from transcript after advice columns …\nThis is a challenge\nThis is a trait that circuits provide implementations for …\nA column with an index and type\nThe instance sets up a copy constraint involving a column …\nThe instance sets up a copy constraint involving a column …\nA column type\nThis is a configuration object that stores things like …\nThis is a constant polynomial\nThis is a description of the circuit environment, such as …\nThe constraint system is not satisfied.\nThis is a description of the circuit environment, such as …\nA set of polynomial constraints with a common selector.\nThis is an error that could occur during proving or …\nThis is an error that could occur during proving.\nThis is an error that could occur during circuit synthesis.\nLow-degree expression representing an identity that must …\nFirst phase\nA fixed column\nA Fixed variant\nThis is a fixed column queried at a certain relative …\nQuery of fixed column at a certain relative location\nA floor planning strategy for a circuit.\nThe floor planner used for this circuit. This is an …\nFrontend error case\nAn instance column\nAn Instance variant\nThis is an instance (external) column queried at a certain …\nInstance provided exceeds number of available rows\nThe provided instances do not match the circuit parameters.\nThis is a negated polynomial\nCircuit synthesis requires global constants, but circuit …\nk
is too small for the given circuit.\nk
is too small for the given circuit.\nOpening error\nGeneric error not covered by previous cases\nGeneric error not covered by previous cases\nOptional circuit configuration parameters. Requires the …\nPhase of advice column\nThis is the product of two polynomials\nThis is a proving key which allows for the creation of …\nA value stored as a fraction to enable batch inversion.\nThis is a scaled polynomial\nSecond phase\nA selector, representing a fixed boolean value per row of …\nThis is a virtual selector\nThis is the sum of two polynomials\nThis is an error that can occur during synthesis of the …\nA fixed column of a lookup table.\nAn error relating to a lookup table.\nThird phase\nTranscript error\nA value that does not require inversion to evaluate.\nThis is a verifying key which allows for the verification …\nExposes the “virtual cells” that can be queried while …\nThe field element zero.\nAllocate a new advice column atFirstPhase
\nAllocate a new advice column in given phase\nReturns phase of advice columns\nContains the phase for each advice column. Should have …\nReturns advice queries\nAllows the developer to include an annotation for an …\nAnnotate a column.\nAnnotate an Instance column.\nAnnotate a Lookup column.\nAssign an advice column value (witness)\nAssign a fixed value\nCompute the number of blinding factors necessary to …\nReturns phase of challenges\nContains the phase for each challenge. Should have same …\nRequests a challenge that is usable after the given phase.\nColumn index\nColumn index\nType of this column.\nAllocate a new complex selector that can appear anywhere …\nApproximate the computational complexity of this …\nThis will compress selectors together depending on their …\nThe circuit is given an opportunity to describe the exact …\nThe circuit is given an opportunity to describe the exact …\nReturns constants\nAssign two cells to have the same value\nCreates a new gate.\nThis creates a proof for the providedcircuit
when given …\nThis creates a proof for the providedcircuit
when given …\nCubes this element.\nReturn expression from column at the current row\nCompute the degree of the constraint system (the maximum …\nCompute the degree of this polynomial\nReturns the denominator, if non-trivial.\nDoes not combine selectors and directly replaces them …\nDoubles this element.\nEnable this selector at the given offset within the given …\nEnables this fixed column to be used for global constant …\nEnable the ability to enforce equality over cells in this …\nEnables a selector at the given row.\nCreates a new region and enters into it.\nEvaluates this assigned value directly, performing an …\nEvaluate the polynomial using the provided closures to …\nEvaluate the polynomial lazily using the provided closures …\nExits the current region.\nReturn expression from selector\nReturn Expression\nFills a fixedcolumn
starting from the givenrow
with …\nAllocate a new fixed column\nReturns commitments of fixed polynomials\nReturns fixed queries\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReads a verification key from a slice of bytes using …\nReads a proving key from a slice of bytes usingSelf::read
.\nReturns gates\nReturns general column annotations\nQueries the value of the given challenge.\nGet the underlyingEvaluationDomain
.\nGet the underlyingVerifyingKey
.\nHashes a verification key into a transcript.\nIdentifier for this expression. Expressions with identical …\nIndex of this column.\nReturns index of this selector\nIndex of this challenge.\nQuery index\nReturns inner column\nAllocate a new instance column\nReturns instance queries\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nInverts this assigned value (taking the inverse of zero to …\nIs this selector “simple”? Simple selectors can only …\nReturns true iff this element is zero.\nGenerate aProvingKey
from aVerifyingKey
and an instance …\nGenerate aProvingKey
from an instance ofCircuit
.\nGenerate aVerifyingKey
from an instance ofCircuit
. By …\nGenerate aVerifyingKey
from an instance ofCircuit
.\nAdd a lookup argument for some input expressions and table …\nAdd a lookup argument for some input expressions and table …\nAllocates a new fixed column that can be used in a lookup …\nReturns lookup arguments\nReturns the minimum necessary rows that need to exist in …\nReturn expression from column at the next row\nConstructs anError::NotEnoughRowsAvailable
.\nConstructs anError::NotEnoughRowsAvailable
.\nReturns number of advice columns\nReturns number of challenges\nReturns number of fixed columns\nReturns number of instance columns\nReturns number of selectors\nReturns the numerator.\nReturns a reference to the parameters that should be used …\nReturns permutation argument\nPhase of this challenge.\nReturns the number of phases\nReturns the list of phases\nObtains a pinned representation of this verification key …\nReads a proving key from a buffer. Does so by reading …\nExits out of the existing namespace.\nReturn expression from column at the previous row\nCreates a new (sub)namespace and enters into it.\nQuery an advice column at a relative position\nQuery an Any column at a relative position\nReturn expression from cell\nReturn expression from column at a relative position\nMake side effects\nQuery a challenge\nQuery a fixed column at a relative position\nQueries the cell of an instance column at a particular …\nQuery an instance column at a relative position\nQuery a selector at the current position.\nReads a verification key from a buffer.\nReads a proving key from a buffer. Does so by reading …\nReturn expression from column at the specified rotation\nRotation of this query\nRotation of this query\nAllocate a new (simple) selector. Simple selectors cannot …\nSets the minimum degree required by the circuit, which can …\nAdd a shuffle argument for some input expressions and …\nReturns shuffle arguments\nSquares this element.\nSquare this expression.\nGiven the providedcs
, synthesize the given circuit.\nGiven the providedcs
, synthesize the circuit. The …\nWrites a verifying key to a vector of bytes using …\nWrites a proving key to a vector of bytes usingSelf::write
…\nReturns representative of thisVerifyingKey
in transcripts\nAllocate a new unblinded advice column atFirstPhase
\nAllocate a new unblinded advice column in given phase. …\nContains the index of each advice column that is left …\nReturns a boolean indicating whether or not the proof is …\nReads a verification key from a buffer.\nConstructs a set of constraints that are controlled by the …\nReturns a copy of this circuit with no witness values …\nWrites a verifying key to a buffer.\nWrites a proving key to a buffer.\nThe current value ofk
being used.\nThe current value ofk
being used.\nThis structure contains precomputed constants and other …\nDescribes the relative rotation of a vector. Negative …\nTrait representing a strategy for verifying Halo 2 proofs.\nObtains a polynomial in coefficient form when given a …\nThis takes us from an n-length coefficient vector into a …\nGeneric commitment scheme structures\nReturns a constant polynomial in the extended Lagrange …\nReturns a constant polynomial in the Lagrange coefficient …\nThe current location in the evaluation domain\nThis divides the polynomial (in the extended domain) by …\nReturns an empty (zero) polynomial in the coefficient basis\nReturns an empty (zero) polynomial in the extended …\nReturns an empty (zero) polynomial in the Lagrange …\nGet the size of the extended domain\nGet the size of the extended domain\nThis takes us from the extended evaluation domain and gets …\nFinalizes the batch and checks its validity.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the generator of the extended domain’s …\nGet $\\omega$, the generator of the $2^k$ order …\nGet $\\omega^{-1}$, the inverse of the generator of the …\nGets the quotient polynomial’s degree (as a multiple of …\nCallsU::from(self)
.\nCallsU::from(self)
.\nGet the size of the domain\nKZG commitment scheme\nComputes evaluations (at the pointx
, wherexn = x^n
) of …\nObtains a polynomial in Lagrange form when given a vector …\nThis takes us from an n-length vector into the coefficient …\nCreates new verification strategy instance\nThis constructs a new evaluation domain object based on …\nThe next location in the evaluation domain\nObtain a pinned version of this evaluation domain; a …\nThe previous location in the evaluation domain\nObtains an MSM from the verifier strategy and yields back …\nRotate the extended domain polynomial over the original …\nMultiplies a value by some power of $\\omega$, essentially …\nWrapper type around a blinding factor.\nCan commit to instance or not.\nDefines components of a commitment scheme.\nElliptic curve used to commit the application and witnesses\nUnfinalized verification result. This is returned in …\nMultiscalar multiplication engine\nMultiscalar multiplication engine\nAccumulator for compressed verification\nCommon for Verifier and Prover.\nParameters for circuit synthesis and prover parameters.\nConstant prover parameters\nVerifier specific functionality with circuit constraints\nConstant verifier parameters\nCommon multi-open prover interface for various commitment …\nApplication field of this commitment scheme\nCommon multi-open verifier interface for various …\nAdd another multiexp into this one\nAdd arbitrary term (the scalar and the point)\nReturn base points\nPerform multiexp and check that it results in zero\nThis computes a commitment to a polynomial described by …\nThis commits to a polynomial using its evaluations over …\nCreate a multi-opening proof\nCreate a multi-opening proof\nDownsizeParams
with smallerk
.\nGenerates an empty multiscalar multiplication struct using …\nPerform multiexp and return the result\nReturns the argument unchanged.\nCallsU::from(self)
.\nLogarithmic size of the circuit\nSize of the circuit\nReturns new instance of parameters\nCreates new prover instance\nCreates new verifier instance\nGivenrng
creates new blinding scalar\nWrapper for parameter generator\nReads params from a buffer.\nWrapper for parameter reader\nScalars\nScale all scalars in the MSM by some scaling factor\nProcess the proof and return unfinished result namedGuard
\nWrites params to a buffer.\nKZG commitment scheme\nMultiscalar multiplication engines\nKZG multi-open scheme\nStrategies used with KZG scheme\nUmbrella commitment scheme construction for all KZG …\nThese are the public parameters for the polynomial …\nParameters KZG-based proof verification:\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nInitializes parameters for the curve through existing …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReads params from a buffer.\nReads params from a buffer.\nReads params from a buffer.\nInitializes parameters for the curve, draws toxic secret …\nWrites params to a buffer.\nWrites params to a buffer.\nWrites parameters to buffer\nTwo channel MSM accumulator\nA multiscalar multiplication in the polynomial commitment …\nAdd another multiexp into this one\nPerforms final pairing check with given verifier params …\nPrepares all scalars in the MSM to linear combination\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCreate an empty MSM instance\nCreate a new two channel MSM accumulator instance\nScale all scalars in the MSM by some scaling factor\nConcrete KZG prover with GWC variant\nConcrete KZG prover with SHPLONK variant\nConcrete KZG verifier with GWC variant\nConcrete KZG multiopen verifier with SHPLONK variant\nCreate a multi-opening proof\nCreate a multi-opening proof\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nGiven parameters creates new prover instance\nVerify a multi-opening proof\nA verifier that checks multiple proofs in a batch\nWrapper for linear verification accumulator\nA verifier that checks a single proof\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConstructs an empty batch verifier\nConstructs an empty batch verifier\nConstructs and initialized new batch verifier\nWe will replace BLAKE2b with an algebraic hash function in …\nWe will replace BLAKE2b with an algebraic hash function in …\nA 255-bit challenge.\nEncodedChallenge<C>
defines a challenge encoding with a …\nThe Input type used to derive the challenge encoding. For …\nGeneric transcript view (from either the prover or verifier…\nTranscript view from the perspective of a verifier that …\nInitializes transcript at verifier side.\nTranscript view from the perspective of a prover that has …\nManages beginning and finishing of transcript pipeline.\nCast an encoded challenge as a typedChallengeScalar
.\nWriting the point to the transcript without writing it to …\nWriting the scalar to the transcript without writing it to …\nConclude the interaction and return the output buffer …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a scalar field element from an encoded challenge.\nInitialize a transcript given an input buffer.\nInitialize a transcript given an output buffer.\nInitialize a transcript given an input buffer.\nInitialize a transcript given an output buffer.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nGet an encoded challenge from a given input challenge.\nRead a curve point from the prover.\nRead a curve scalar from the prover.\nSqueeze an encoded verifier challenge from the transcript.\nSqueeze a typed challenge (in the scalar field) from the …\nWrite a curve point to the proof and the transcript.\nWrite a scalar to the proof and the transcript.") \ No newline at end of file +searchState.loadedDescShard("halo2_proofs", 0, "Legacy halo2 API that wraps the frontend-backend split …\nCurve elements are serialized in compressed form. Field …\nCurve elements are serialized in uncompressed form. Field …\nSerialization is the same asRawBytes
, but no checks are …\nThis enum specifies how various types are serialized and …\nThis module provides common utilities, traits and …\nTraits and structs for implementing circuit components.\nTools for developing circuits.\nReturns the argument unchanged.\nCallsU::from(self)
.\nThis module provides an implementation of a variant of …\nContains utilities for performing arithmetic over …\nThis module contains utilities and traits for dealing with …\nThe affine version of the curve\nThe base field over which this elliptic curve is …\nThe base field over which this elliptic curve is …\nCURVE_ID used for hash-to-curve.\nThis trait is the affine counterpart toCurve
and is used …\nThis trait is a common interface for dealing with elements …\nThe projective form of the curve\nThis trait represents an element of a field.\nThe one element of the field, the multiplicative identity.\nThe scalar field of this elliptic curve.\nThe scalar field of this elliptic curve.\nThe zero element of the field, the additive identity.\nReturns the curve constant a.\nReturns the curve constant $a$.\nReturns the curve constant b.\nReturns the curve constant $b$.\nGets the coordinates of this point.\nCubes this element.\nDoubles this element.\nApply the curve endomorphism by multiplying the …\nObtains a point given $(x, y)$, failing if it is not on the\nRequests a hasher that accepts messages and returns …\nComputes the multiplicative inverse of this element, …\nReturns whether or not this element is on the curve; should\nReturns whether or not this element is on the curve; should\nReturns true iff this element is zero.\nReturns true iff this element is zero.\nReturn the Jacobian coordinates of this point.\nObtains a point given Jacobian coordinates $X : Y : Z$, …\nThis utility function will parallelize an operation that …\nExponentiatesself
byexp
, whereexp
is a little-endian …\nExponentiatesself
byexp
, whereexp
is a little-endian …\nReturns an element chosen uniformly at random using a …\nReturns the square root of the field element, if it is …\nEquivalent toSelf::sqrt_ratio(self, one())
.\nComputes:\nSquares this element.\nAn assigned cell.\nA pointer to a cell within a circuit.\nA chip implements a set of instructions that can be used …\nA type that holds the configuration for this chip, and any …\nA layout strategy within a circuit. The layouter is …\nA type that holds any general chip state that needs to be …\nThis is a “namespaced” layouter which borrows a …\nA region of the circuit in which aChip
can assign cells.\nIndex of a region in a layouter\nRepresents the type of the “root” of this layouter, so …\nA simpleFloorPlanner
that performs minimal optimizations.\nA lookup table in the circuit.\nA value that might exist within a circuit.\nReturnsValue::unknown()
if the value isValue::unknown()
, …\nConverts from&mut Value<V>
toValue<&mut V>
.\nConverts from&Value<V>
toValue<&V>
.\nEnforces an assertion on the contained value, if known.\nObtains the inner value for assigning into the circuit.\nAssign an advice column value (witness).\nAssigns a constant value to the columnadvice
atoffset
…\nAssign the value of the instance column’s cell at …\nAssigns a fixed value to a table cell.\nAssign a fixed value.\nAssign a region of gates to an absolute row number.\nAssign a table region to an absolute row number.\nReturns the cell.\nMaps aValue<&mut V>
to aValue<V>
by cloning the contents …\nMaps aValue<&V>
to aValue<V>
by cloning the contents of …\nThe column of this cell.\nThe chip holds its own configuration.\nConstrains a cell to have a constant value.\nConstrains two cells to have the same value.\nConstrains aCell
to equal an instance column’s row …\nMaps aValue<&V>
to aValue<V>
by copying the contents of …\nMaps aValue<&mut V>
to aValue<V>
by copying the contents …\nCopies the value to a given advice cell and constrains …\nCubes this field element.\nDoubles this field element.\nEnables a selector at the given offset.\nChecks the contained value for an error condition, if …\nEvaluates this value directly, performing an unbatched …\nEvaluates this assigned cell’s value directly, …\nImplementations of common circuit floor planners.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nTakes each element in theIterator
: if it is …\nQueries the value of the given challenge.\nGets the “root” of this assignment, bypassing the …\nReturns the value of the instance column’s cell at …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReturns the field element corresponding to this value.\nInverts this assigned value (taking the inverse of zero to …\nConstructs a known value.\nProvides access to general chip state loaded at the …\nMaps aValue<V>
toValue<W>
by applying a function to the …\nAllows the circuit implementor to name/annotate a Column …\nEnters into a namespace.\nExits out of the existing namespace.\nCreates a new (sub)namespace and enters into it.\nIdentifies the region in which this cell resides.\nThe relative offset of this cell within its region.\nSquares this field element.\nReturns the field element corresponding to this value.\nTransposes aValue<[V; LEN]>
into a[Value<V>; LEN]
.\nTransposes aValue<impl IntoIterator<Item = V>>
into a …\nConstructs an unwitnessed value.\nUnzips a value containing a tuple of two values.\nReturns the value of theAssignedCell
.\nReturns the field element value of theAssignedCell
.\nZipsself
with anotherValue
.\nThe version 1FloorPlanner
provided byhalo2
.\nA single pass of theV1
layouter.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nA simpleFloorPlanner
that performs minimal optimizations.\nALayouter
for a single-chip circuit.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCreates a new single-chip layouter.\nAssigns the circuit.\nMeasures the circuit.\nThe version 1FloorPlanner
provided byhalo2
.\nA single pass of theV1
layouter.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nA cell that has been assigned a value.\nAssigned instance value\nA cell used in an active gate was not assigned to.\nThe value of a particular cell within the circuit.\nGraphical renderer for circuit layouts.\nA constraint was not satisfied for a particular row.\nA constraint was active on an unusable row, and is likely …\nThe location within the circuit at which a particular …\nA location inside a region.\nAn instance cell used in an active gate was not assigned …\nInstance Value\nA lookup input did not exist in its corresponding table.\nA test prover for debugging circuits.\nA location outside of a region.\nPadding\nA permutation did not preserve the original value of a …\nA unique poisoned cell.\nA shuffle input did not exist in its corresponding map.\nAn unassigned cell.\nThe reasons why a particular circuit is not satisfied.\nReturns the list of Advice Columns used within a …\nReturn the content of an advice column as mutable\nReturn the content of an advice column as assigned by the …\nPanics if the circuit being checked by thisMockProver
is …\nPanics if the circuit being checked by thisMockProver
is …\nBuilds a dot graph string representing the given circuit.\nThe cost estimator takes high-level parameters for a …\nReturns the constraint system\nEmits this failure in pretty-printed format to stderr.\nReturns the list of Fixed Columns used within a MockProver …\nReturn the content of a fixed column as assigned by the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the list of Instance Columns used within a …\nReturn the content of an instance column as mutable\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nMarks cells involved in equality constraints, in red.\nMetadata about circuits.\nRenders the given circuit on the given drawing area.\nRuns a synthetic keygen-and-prove operation on the given …\nReturns the list of Selector Columns used within a …\nDraws red lines between equality-constrained cells.\nSets the visibility of region labels.\nReturns the usable rows\nField value on the instance cell\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nReturnsOk(())
if thisMockProver
is satisfied, or a list …\nSets the view height for this layout, as a number of rows.\nSets the view width for this layout, as a number of …\nThe offset (relative to the start of the region) at which …\nThe region in which the failure occurred.\nThe circuit row on which the failure occurred.\nThe values of the virtual cells used by this constraint.\nThe column in which this cell should be assigned.\nThe column in which this cell should be assigned.\nThe column in which this permutation is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe polynomial constraint that is not satisfied.\nThe index of the active gate.\nThe index of the active gate.\nThe offset (relative to the start of the region) at which …\nThe offset (relative to the start of the region) at which …\nThe location at which this constraint is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the lookup is not satisfied.\nThe location at which the permutation is not satisfied.\nThe index of the lookup that is not satisfied. These …\nThe name of the lookup that is not satisfied.\nThe name of the lookup that is not satisfied.\nThe offset (relative to the start of the region) at which …\nThe region in which this cell should be assigned.\nThe region in which this gate was activated.\nThe absolute row at which this cell should be assigned.\nThe index of the lookup that is not satisfied. These …\nSupported commitment schemes\nOptions to build a circuit specification to measure the …\nKZG with GWC19 multi-open strategy\nKZG with BDFG20 multi-open strategy\nStructure holding the Lookup related data for circuit …\nHigh-level specifications of an abstract circuit.\nNumber of permutation enabled columns\nStructure holding polynomial related data for benchmarks\nStructure holding the Shuffle related data for circuit …\nAn advice column with the given rotations. May be repeated.\nNumber of advice columns.\nNumber of distinct column queries across all gates.\nA fixed column with the given rotations. May be repeated.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGiven a Plonk circuit, this function returns CostOptions\nGiven a Plonk circuit, this function returns a ModelCircuit\nMaximum degree of the custom gates.\nAn instance column with the given rotations. May be …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConvert CostOptions to ModelCircuit. The proof sizè is …\n2^K bound on the number of rows.\nPower-of-2 bound on the number of rows in the circuit.\nA lookup over N columns with max input degree I and max …\nNumber of lookup arguments.\nMaximum degree of the circuit.\nMaximum degree of the constraint system.\nA permutation over N columns. May be repeated.\nEquality constraint enabled columns.\nNumber of distinct sets of points in the multiopening …\nRotations for the given polynomial\nA shuffle over N columns with max input degree I and max …\nNumber of shuffle arguments\nSize of the proof for the circuit\nA column with an index and type\nMetadata about a configured constraint within a circuit.\nMetadata about a configured gate within a circuit.\nMetadata about an assigned region within a circuit.\nA “virtual cell” is a PLONK cell that has been queried …\nThe type of the column.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe index of the column.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nAn advice column\nAn Advice variant\nThis is an advice (witness) column queried at a certain …\nAn enum over the Advice, Fixed, Instance structs\nAn error relating to a circuit assignment.\nA value assigned to a cell within a circuit.\nThis trait allows aCircuit
to direct some backend to …\nBackend error case\nOut of bounds index passed to a backend\nOut of bounds index passed to a backend\nA challenge squeezed from transcript after advice columns …\nThis is a challenge\nThis is a trait that circuits provide implementations for …\nA column with an index and type\nThe instance sets up a copy constraint involving a column …\nThe instance sets up a copy constraint involving a column …\nA column type\nThis is a configuration object that stores things like …\nThis is a constant polynomial\nThis is a description of the circuit environment, such as …\nThe constraint system is not satisfied.\nThis is a description of the circuit environment, such as …\nA set of polynomial constraints with a common selector.\nThis is an error that could occur during proving or …\nThis is an error that could occur during proving.\nThis is an error that could occur during circuit synthesis.\nLow-degree expression representing an identity that must …\nFirst phase\nA fixed column\nA Fixed variant\nThis is a fixed column queried at a certain relative …\nQuery of fixed column at a certain relative location\nA floor planning strategy for a circuit.\nThe floor planner used for this circuit. This is an …\nFrontend error case\nAn instance column\nAn Instance variant\nThis is an instance (external) column queried at a certain …\nInstance provided exceeds number of available rows\nThe provided instances do not match the circuit parameters.\nThis is a negated polynomial\nCircuit synthesis requires global constants, but circuit …\nk
is too small for the given circuit.\nk
is too small for the given circuit.\nOpening error\nGeneric error not covered by previous cases\nGeneric error not covered by previous cases\nOptional circuit configuration parameters. Requires the …\nPhase of advice column\nThis is the product of two polynomials\nThis is a proving key which allows for the creation of …\nA value stored as a fraction to enable batch inversion.\nThis is a scaled polynomial\nSecond phase\nA selector, representing a fixed boolean value per row of …\nThis is a virtual selector\nThis is the sum of two polynomials\nThis is an error that can occur during synthesis of the …\nA fixed column of a lookup table.\nAn error relating to a lookup table.\nThird phase\nTranscript error\nA value that does not require inversion to evaluate.\nThis is a verifying key which allows for the verification …\nExposes the “virtual cells” that can be queried while …\nThe field element zero.\nAllocate a new advice column atFirstPhase
\nAllocate a new advice column in given phase\nReturns phase of advice columns\nContains the phase for each advice column. Should have …\nReturns advice queries\nAllows the developer to include an annotation for an …\nAnnotate a column.\nAnnotate an Instance column.\nAnnotate a Lookup column.\nAssign an advice column value (witness)\nAssign a fixed value\nCompute the number of blinding factors necessary to …\nReturns phase of challenges\nContains the phase for each challenge. Should have same …\nRequests a challenge that is usable after the given phase.\nColumn index\nColumn index\nType of this column.\nAllocate a new complex selector that can appear anywhere …\nApproximate the computational complexity of this …\nThis will compress selectors together depending on their …\nThe circuit is given an opportunity to describe the exact …\nThe circuit is given an opportunity to describe the exact …\nReturns constants\nAssign two cells to have the same value\nCreates a new gate.\nThis creates a proof for the providedcircuit
when given …\nThis creates a proof for the providedcircuit
when given …\nCubes this element.\nReturn expression from column at the current row\nCompute the degree of the constraint system (the maximum …\nCompute the degree of this polynomial\nReturns the denominator, if non-trivial.\nDoes not combine selectors and directly replaces them …\nDoubles this element.\nEnable this selector at the given offset within the given …\nEnables this fixed column to be used for global constant …\nEnable the ability to enforce equality over cells in this …\nEnables a selector at the given row.\nCreates a new region and enters into it.\nEvaluates this assigned value directly, performing an …\nEvaluate the polynomial using the provided closures to …\nEvaluate the polynomial lazily using the provided closures …\nExits the current region.\nReturn expression from selector\nReturn Expression\nFills a fixedcolumn
starting from the givenrow
with …\nAllocate a new fixed column\nReturns commitments of fixed polynomials\nReturns fixed queries\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReads a verification key from a slice of bytes using …\nReads a proving key from a slice of bytes usingSelf::read
.\nReturns gates\nReturns general column annotations\nQueries the value of the given challenge.\nGet the underlyingEvaluationDomain
.\nGet the underlyingVerifyingKey
.\nHashes a verification key into a transcript.\nIdentifier for this expression. Expressions with identical …\nIndex of this column.\nReturns index of this selector\nIndex of this challenge.\nQuery index\nReturns inner column\nAllocate a new instance column\nReturns instance queries\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nInverts this assigned value (taking the inverse of zero to …\nIs this selector “simple”? Simple selectors can only …\nReturns true iff this element is zero.\nGenerate aProvingKey
from aVerifyingKey
and an instance …\nGenerate aProvingKey
from an instance ofCircuit
.\nGenerate aVerifyingKey
from an instance ofCircuit
. By …\nGenerate aVerifyingKey
from an instance ofCircuit
.\nAdd a lookup argument for some input expressions and table …\nAdd a lookup argument for some input expressions and table …\nAllocates a new fixed column that can be used in a lookup …\nReturns lookup arguments\nReturns the minimum necessary rows that need to exist in …\nReturn expression from column at the next row\nConstructs anError::NotEnoughRowsAvailable
.\nConstructs anError::NotEnoughRowsAvailable
.\nReturns number of advice columns\nReturns number of challenges\nReturns number of fixed columns\nReturns number of instance columns\nReturns number of selectors\nReturns the numerator.\nReturns a reference to the parameters that should be used …\nReturns permutation argument\nPhase of this challenge.\nReturns the number of phases\nReturns the list of phases\nObtains a pinned representation of this verification key …\nReads a proving key from a buffer. Does so by reading …\nExits out of the existing namespace.\nReturn expression from column at the previous row\nCreates a new (sub)namespace and enters into it.\nQuery an advice column at a relative position\nQuery an Any column at a relative position\nReturn expression from cell\nReturn expression from column at a relative position\nMake side effects\nQuery a challenge\nQuery a fixed column at a relative position\nQueries the cell of an instance column at a particular …\nQuery an instance column at a relative position\nQuery a selector at the current position.\nReads a verification key from a buffer.\nReads a proving key from a buffer. Does so by reading …\nReturn expression from column at the specified rotation\nRotation of this query\nRotation of this query\nAllocate a new (simple) selector. Simple selectors cannot …\nSets the minimum degree required by the circuit, which can …\nAdd a shuffle argument for some input expressions and …\nReturns shuffle arguments\nSquares this element.\nSquare this expression.\nGiven the providedcs
, synthesize the given circuit.\nGiven the providedcs
, synthesize the circuit. The …\nWrites a verifying key to a vector of bytes using …\nWrites a proving key to a vector of bytes usingSelf::write
…\nReturns representative of thisVerifyingKey
in transcripts\nAllocate a new unblinded advice column atFirstPhase
\nAllocate a new unblinded advice column in given phase. …\nContains the index of each advice column that is left …\nReturns a boolean indicating whether or not the proof is …\nReads a verification key from a buffer.\nConstructs a set of constraints that are controlled by the …\nReturns a copy of this circuit with no witness values …\nWrites a verifying key to a buffer.\nWrites a proving key to a buffer.\nThe current value ofk
being used.\nThe current value ofk
being used.\nThis structure contains precomputed constants and other …\nDescribes the relative rotation of a vector. Negative …\nTrait representing a strategy for verifying Halo 2 proofs.\nObtains a polynomial in coefficient form when given a …\nThis takes us from an n-length coefficient vector into a …\nGeneric commitment scheme structures\nReturns a constant polynomial in the extended Lagrange …\nReturns a constant polynomial in the Lagrange coefficient …\nThe current location in the evaluation domain\nThis divides the polynomial (in the extended domain) by …\nReturns an empty (zero) polynomial in the coefficient basis\nReturns an empty (zero) polynomial in the extended …\nReturns an empty (zero) polynomial in the Lagrange …\nGet the size of the extended domain\nGet the size of the extended domain\nThis takes us from the extended evaluation domain and gets …\nFinalizes the batch and checks its validity.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the generator of the extended domain’s …\nGet $\\omega$, the generator of the $2^k$ order …\nGet $\\omega^{-1}$, the inverse of the generator of the …\nGets the quotient polynomial’s degree (as a multiple of …\nCallsU::from(self)
.\nCallsU::from(self)
.\nGet the size of the domain\nKZG commitment scheme\nComputes evaluations (at the pointx
, wherexn = x^n
) of …\nObtains a polynomial in Lagrange form when given a vector …\nThis takes us from an n-length vector into the coefficient …\nCreates new verification strategy instance\nThis constructs a new evaluation domain object based on …\nThe next location in the evaluation domain\nObtain a pinned version of this evaluation domain; a …\nThe previous location in the evaluation domain\nObtains an MSM from the verifier strategy and yields back …\nRotate the extended domain polynomial over the original …\nMultiplies a value by some power of $\\omega$, essentially …\nWrapper type around a blinding factor.\nCan commit to instance or not.\nDefines components of a commitment scheme.\nElliptic curve used to commit the application and witnesses\nUnfinalized verification result. This is returned in …\nMultiscalar multiplication engine\nMultiscalar multiplication engine\nAccumulator for compressed verification\nCommon for Verifier and Prover.\nParameters for circuit synthesis and prover parameters.\nConstant prover parameters\nVerifier specific functionality with circuit constraints\nConstant verifier parameters\nCommon multi-open prover interface for various commitment …\nApplication field of this commitment scheme\nCommon multi-open verifier interface for various …\nAdd another multiexp into this one\nAdd arbitrary term (the scalar and the point)\nReturn base points\nPerform multiexp and check that it results in zero\nThis computes a commitment to a polynomial described by …\nThis commits to a polynomial using its evaluations over …\nCreate a multi-opening proof\nCreate a multi-opening proof\nDownsizeParams
with smallerk
.\nGenerates an empty multiscalar multiplication struct using …\nPerform multiexp and return the result\nReturns the argument unchanged.\nCallsU::from(self)
.\nLogarithmic size of the circuit\nSize of the circuit\nReturns new instance of parameters\nCreates new prover instance\nCreates new verifier instance\nGivenrng
creates new blinding scalar\nWrapper for parameter generator\nReads params from a buffer.\nWrapper for parameter reader\nScalars\nScale all scalars in the MSM by some scaling factor\nProcess the proof and return unfinished result namedGuard
\nWrites params to a buffer.\nKZG commitment scheme\nMultiscalar multiplication engines\nKZG multi-open scheme\nStrategies used with KZG scheme\nUmbrella commitment scheme construction for all KZG …\nThese are the public parameters for the polynomial …\nParameters KZG-based proof verification:\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nInitializes parameters for the curve through existing …\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nReads params from a buffer.\nReads params from a buffer.\nReads params from a buffer.\nInitializes parameters for the curve, draws toxic secret …\nWrites params to a buffer.\nWrites params to a buffer.\nWrites parameters to buffer\nTwo channel MSM accumulator\nA multiscalar multiplication in the polynomial commitment …\nAdd another multiexp into this one\nPerforms final pairing check with given verifier params …\nPrepares all scalars in the MSM to linear combination\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCreate an empty MSM instance\nCreate a new two channel MSM accumulator instance\nScale all scalars in the MSM by some scaling factor\nConcrete KZG prover with GWC variant\nConcrete KZG prover with SHPLONK variant\nConcrete KZG verifier with GWC variant\nConcrete KZG multiopen verifier with SHPLONK variant\nCreate a multi-opening proof\nCreate a multi-opening proof\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nGiven parameters creates new prover instance\nVerify a multi-opening proof\nA verifier that checks multiple proofs in a batch\nWrapper for linear verification accumulator\nA verifier that checks a single proof\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nConstructs an empty batch verifier\nConstructs an empty batch verifier\nConstructs and initialized new batch verifier\nWe will replace BLAKE2b with an algebraic hash function in …\nWe will replace BLAKE2b with an algebraic hash function in …\nA 255-bit challenge.\nEncodedChallenge<C>
defines a challenge encoding with a …\nThe Input type used to derive the challenge encoding. For …\nGeneric transcript view (from either the prover or verifier…\nTranscript view from the perspective of a verifier that …\nInitializes transcript at verifier side.\nTranscript view from the perspective of a prover that has …\nManages beginning and finishing of transcript pipeline.\nCast an encoded challenge as a typedChallengeScalar
.\nWriting the point to the transcript without writing it to …\nWriting the scalar to the transcript without writing it to …\nConclude the interaction and return the output buffer …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a scalar field element from an encoded challenge.\nInitialize a transcript given an input buffer.\nInitialize a transcript given an output buffer.\nInitialize a transcript given an input buffer.\nInitialize a transcript given an output buffer.\nCallsU::from(self)
.\nCallsU::from(self)
.\nCallsU::from(self)
.\nGet an encoded challenge from a given input challenge.\nRead a curve point from the prover.\nRead a curve scalar from the prover.\nSqueeze an encoded verifier challenge from the transcript.\nSqueeze a typed challenge (in the scalar field) from the …\nWrite a curve point to the proof and the transcript.\nWrite a scalar to the proof and the transcript.") \ No newline at end of file diff --git a/src/halo2_backend/plonk.rs.html b/src/halo2_backend/plonk.rs.html index 6b082b0f0..abfcb1b69 100644 --- a/src/halo2_backend/plonk.rs.html +++ b/src/halo2_backend/plonk.rs.html @@ -417,6 +417,21 @@ 401 402 403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418//! This module provides an implementation of a variant of (Turbo)[PLONK][plonk] //! that is designed specifically for the polynomial commitment scheme described //! in the [Halo][halo] paper. @@ -801,23 +816,38 @@ } } -#[derive(Clone, Copy, Debug)] +/// Verifier challenge value, used to keep lookup columns linearly independent +/// +/// Ref: https://zcash.github.io/halo2/design/proving-system/circuit-commitments.html +#[derive(Clone, Copy, Debug)] pub(crate) struct Theta; pub(crate) type ChallengeTheta<F> = ChallengeScalar<F, Theta>; -#[derive(Clone, Copy, Debug)] +/// Verifier challenge value, used to commit permutation polynomials +/// +/// Ref: https://zcash.github.io/halo2/design/proving-system/permutation.html +#[derive(Clone, Copy, Debug)] pub(crate) struct Beta; pub(crate) type ChallengeBeta<F> = ChallengeScalar<F, Beta>; -#[derive(Clone, Copy, Debug)] +/// Verifier challenge value, used to commit permutation polynomials +/// +/// Ref: https://zcash.github.io/halo2/design/proving-system/permutation.html +#[derive(Clone, Copy, Debug)] pub(crate) struct Gamma; pub(crate) type ChallengeGamma<F> = ChallengeScalar<F, Gamma>; -#[derive(Clone, Copy, Debug)] +/// Verifier challenge value, used to build quotient polynomial +/// +/// Ref: https://zcash.github.io/halo2/design/proving-system/vanishing.html +#[derive(Clone, Copy, Debug)] pub(crate) struct Y; pub(crate) type ChallengeY<F> = ChallengeScalar<F, Y>; -#[derive(Clone, Copy, Debug)] +/// Verifier challenge value, used for multipoint opening argument +/// +/// Ref: https://zcash.github.io/halo2/design/proving-system/multipoint-opening.html +#[derive(Clone, Copy, Debug)] pub(crate) struct X; pub(crate) type ChallengeX<F> = ChallengeScalar<F, X>;