diff --git a/halo2_backend/arithmetic/trait.CurveAffine.html b/halo2_backend/arithmetic/trait.CurveAffine.html index 98f636408..bc81d656e 100644 --- a/halo2_backend/arithmetic/trait.CurveAffine.html +++ b/halo2_backend/arithmetic/trait.CurveAffine.html @@ -42,19 +42,19 @@

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl CurveAffine for ErisAffine

§

type ScalarExt = Fp

§

type Base = Fq

§

type CurveExt = Eris

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<ErisAffine>>

§

fn from_xy( x: <ErisAffine as CurveAffine>::Base, y: <ErisAffine as CurveAffine>::Base -) -> 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( +) -> CtOption<ErisAffine>

§

fn a() -> <ErisAffine as CurveAffine>::Base

§

fn b() -> <ErisAffine as CurveAffine>::Base

§

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 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 = Fq

§

type Base = Fp

§

type CurveExt = G1

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G1Affine>>

§

fn from_xy( +) -> CtOption<G1Affine>

§

fn a() -> <G1Affine as CurveAffine>::Base

§

fn b() -> <G1Affine 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 G2Affine

§

type ScalarExt = Fr

§

type Base = Fq2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( +) -> CtOption<G1Affine>

§

fn a() -> <G1Affine as CurveAffine>::Base

§

fn b() -> <G1Affine as CurveAffine>::Base

§

impl CurveAffine for G2Affine

§

type ScalarExt = Fq

§

type Base = Fp2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( x: <G2Affine as CurveAffine>::Base, y: <G2Affine as CurveAffine>::Base -) -> CtOption<G2Affine>

§

fn a() -> <G2Affine as CurveAffine>::Base

§

fn b() -> <G2Affine as CurveAffine>::Base

§

impl CurveAffine for G2Affine

§

type ScalarExt = Fq

§

type Base = Fp2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( +) -> CtOption<G2Affine>

§

fn a() -> <G2Affine as CurveAffine>::Base

§

fn b() -> <G2Affine as CurveAffine>::Base

§

impl CurveAffine for G2Affine

§

type ScalarExt = Fr

§

type Base = Fq2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( x: <G2Affine as CurveAffine>::Base, y: <G2Affine as CurveAffine>::Base ) -> CtOption<G2Affine>

§

fn a() -> <G2Affine as CurveAffine>::Base

§

fn b() -> <G2Affine as CurveAffine>::Base

§

impl CurveAffine for Secp256k1Affine

§

type ScalarExt = Fq

§

type Base = Fp

§

type CurveExt = Secp256k1

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<Secp256k1Affine>>

§

fn from_xy( diff --git a/halo2_backend/arithmetic/trait.CurveExt.html b/halo2_backend/arithmetic/trait.CurveExt.html index 5b1b12091..8f0e74c2b 100644 --- a/halo2_backend/arithmetic/trait.CurveExt.html +++ b/halo2_backend/arithmetic/trait.CurveExt.html @@ -70,23 +70,23 @@

§Example
x: <Eris as CurveExt>::Base, y: <Eris as CurveExt>::Base, z: <Eris as CurveExt>::Base -) -> CtOption<Eris>
§

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<Eris>

§

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 -) -> 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 = "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 G2

§

type ScalarExt = Fr

§

type Base = Fq2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "bn256_g2"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fq2, Fq2, Fq2)

§

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( +) -> CtOption<G1>

§

impl CurveExt for G2

§

type ScalarExt = Fq

§

type Base = Fp2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "triton"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fp2, Fp2, Fp2)

§

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 = Fq

§

type Base = Fp2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "triton"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fp2, Fp2, Fp2)

§

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( +) -> CtOption<G2>

§

impl CurveExt for G2

§

type ScalarExt = Fr

§

type Base = Fq2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "bn256_g2"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fq2, Fq2, Fq2)

§

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_backend/arithmetic/trait.Field.html b/halo2_backend/arithmetic/trait.Field.html index d51af31cc..072e8b955 100644 --- a/halo2_backend/arithmetic/trait.Field.html +++ b/halo2_backend/arithmetic/trait.Field.html @@ -86,32 +86,32 @@

§Guarantee

This operation is variable time with respect to self, for all exponent. If the exponent is fixed, this operation is effectively constant time. However, for stronger constant-time guarantees, Field::pow should be used.

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl Field for Fp

§

fn invert(&self) -> CtOption<Fp>

Computes the multiplicative inverse of this element, -failing if the element is zero.

-
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn sqrt(&self) -> CtOption<Fp>

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

-
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

+
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where - S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

-
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the +

§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where + S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

+
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where - S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

+
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where + S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn invert(&self) -> CtOption<Fp>

Computes the multiplicative inverse of this element, +failing if the element is zero.

+
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn sqrt(&self) -> CtOption<Fp>

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

§

fn invert(&self) -> CtOption<Fp>

Computes the multiplicative inverse of this element, failing if the element is zero.

§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

fn sqrt_alt(&self) -> (Choice, Fp)

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where - S: AsRef<[u64]>,

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Computes the multiplicative inverse of this element, -failing if the element is zero.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the + S: AsRef<[u64]>,

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

+
§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where - S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

-
§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the +

§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the +

§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where + S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where - S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

+
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where + S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Computes the multiplicative inverse of this element, +failing if the element is zero.

+
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

§

fn invert(&self) -> CtOption<Fq>

Computes the multiplicative inverse of this element, failing if the element is zero.

§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

fn sqrt_alt(&self) -> (Choice, Fq)

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where diff --git a/halo2_backend/poly/commitment/struct.Blind.html b/halo2_backend/poly/commitment/struct.Blind.html index da1827a5d..88c3385bf 100644 --- a/halo2_backend/poly/commitment/struct.Blind.html +++ b/halo2_backend/poly/commitment/struct.Blind.html @@ -16,7 +16,7 @@

Struct halo2_backend::poly::commitment::Blind

source ·
pub struct Blind<F>(pub F);
Expand description

Wrapper type around a blinding factor.

Tuple Fields§

§0: F

Implementations§

source§

impl<F: Field> Blind<F>

source

pub fn new<R: RngCore>(rng: &mut R) -> Self

Given rng creates new blinding scalar

-

Trait Implementations§

source§

impl<F: Field> Add for Blind<F>

§

type Output = Blind<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Blind<F>) -> Self

Performs the + operation. Read more
source§

impl<F: Field> AddAssign<F> for Blind<F>

source§

fn add_assign(&mut self, rhs: F)

Performs the += operation. Read more
source§

impl<F: Field> AddAssign for Blind<F>

source§

fn add_assign(&mut self, rhs: Blind<F>)

Performs the += operation. Read more
source§

impl<F: Clone> Clone for Blind<F>

source§

fn clone(&self) -> Blind<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug> Debug for Blind<F>

source§

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

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

impl<F: Field> Default for Blind<F>

source§

fn default() -> Self

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

impl<F: Field> Mul for Blind<F>

§

type Output = Blind<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Blind<F>) -> Self

Performs the * operation. Read more
source§

impl<F: Field> MulAssign<F> for Blind<F>

source§

fn mul_assign(&mut self, rhs: F)

Performs the *= operation. Read more
source§

impl<F: Field> MulAssign for Blind<F>

source§

fn mul_assign(&mut self, rhs: Blind<F>)

Performs the *= operation. Read more
source§

impl<F: PartialEq> PartialEq for Blind<F>

source§

fn eq(&self, other: &Blind<F>) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl<F: Field> Add for Blind<F>

§

type Output = Blind<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Blind<F>) -> Self

Performs the + operation. Read more
source§

impl<F: Field> AddAssign<F> for Blind<F>

source§

fn add_assign(&mut self, rhs: F)

Performs the += operation. Read more
source§

impl<F: Field> AddAssign for Blind<F>

source§

fn add_assign(&mut self, rhs: Blind<F>)

Performs the += operation. Read more
source§

impl<F: Clone> Clone for Blind<F>

source§

fn clone(&self) -> Blind<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug> Debug for Blind<F>

source§

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

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

impl<F: Field> Default for Blind<F>

source§

fn default() -> Self

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

impl<F: Field> Mul for Blind<F>

§

type Output = Blind<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Blind<F>) -> Self

Performs the * operation. Read more
source§

impl<F: Field> MulAssign<F> for Blind<F>

source§

fn mul_assign(&mut self, rhs: F)

Performs the *= operation. Read more
source§

impl<F: Field> MulAssign for Blind<F>

source§

fn mul_assign(&mut self, rhs: Blind<F>)

Performs the *= operation. Read more
source§

impl<F: PartialEq> PartialEq for Blind<F>

source§

fn eq(&self, other: &Blind<F>) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
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/ipa/commitment/struct.IPACommitmentScheme.html b/halo2_backend/poly/ipa/commitment/struct.IPACommitmentScheme.html index 3ed750cb4..91b8f058d 100644 --- a/halo2_backend/poly/ipa/commitment/struct.IPACommitmentScheme.html +++ b/halo2_backend/poly/ipa/commitment/struct.IPACommitmentScheme.html @@ -25,7 +25,7 @@ ) -> Result<()>
where I: IntoIterator<Item = ProverQuery<'com, C>> + Clone, R: RngCore,

Create a multi-opening proof

-

source§

const QUERY_INSTANCE: bool = true

Query instance or not
source§

fn new(params: &'params ParamsIPA<C>) -> Self

Creates new prover instance
source§

fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( +

source§

const QUERY_INSTANCE: bool = true

Query instance or not
source§

fn new(params: &'params ParamsIPA<C>) -> Self

Creates new prover instance
source§

fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( &self, rng: R, transcript: &mut T, @@ -42,12 +42,12 @@ output.

source§

impl<'params, C: CurveAffine> VerificationStrategy<'params, IPACommitmentScheme<C>, VerifierIPA<C>> for SingleStrategy<'params, C>

source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity.

Returns false if some proof was invalid. If the caller needs to identify specific failing proofs, it must re-process the proofs separately.

-
§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsIPA<C>) -> Self

Creates new verification strategy instance
source§

fn process( +

§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsIPA<C>) -> Self

Creates new verification strategy instance
source§

fn process( self, f: impl FnOnce(MSMIPA<'params, C>) -> Result<GuardIPA<'params, C>, Error> ) -> Result<Self::Output, Error>

Obtains an MSM from the verifier strategy and yields back the strategy’s output.
source§

impl<'params, C: CurveAffine> Verifier<'params, IPACommitmentScheme<C>> for VerifierIPA<C>

§

type Guard = GuardIPA<'params, C>

Unfinalized verification result. This is returned in verification -to allow developer to compress or combine verification results
§

type MSMAccumulator = MSMIPA<'params, C>

Accumulator for compressed verification
source§

const QUERY_INSTANCE: bool = true

Query instance or not
source§

fn new() -> Self

Creates new verifier instance
source§

fn verify_proof<'com, E: EncodedChallenge<C>, T: TranscriptRead<C, E>, I>( +to allow developer to compress or combine verification results

§

type MSMAccumulator = MSMIPA<'params, C>

Accumulator for compressed verification
source§

const QUERY_INSTANCE: bool = true

Query instance or not
source§

fn new() -> Self

Creates new verifier instance
source§

fn verify_proof<'com, E: EncodedChallenge<C>, T: TranscriptRead<C, E>, I>( &self, transcript: &mut T, queries: I, diff --git a/halo2_backend/poly/ipa/multiopen/struct.VerifierIPA.html b/halo2_backend/poly/ipa/multiopen/struct.VerifierIPA.html index fc75d856f..96eff2cb9 100644 --- a/halo2_backend/poly/ipa/multiopen/struct.VerifierIPA.html +++ b/halo2_backend/poly/ipa/multiopen/struct.VerifierIPA.html @@ -25,12 +25,12 @@ output.

source§

impl<'params, C: CurveAffine> VerificationStrategy<'params, IPACommitmentScheme<C>, VerifierIPA<C>> for SingleStrategy<'params, C>

source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity.

Returns false if some proof was invalid. If the caller needs to identify specific failing proofs, it must re-process the proofs separately.

-
§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsIPA<C>) -> Self

Creates new verification strategy instance
source§

fn process( +

§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsIPA<C>) -> Self

Creates new verification strategy instance
source§

fn process( self, f: impl FnOnce(MSMIPA<'params, C>) -> Result<GuardIPA<'params, C>, Error> ) -> Result<Self::Output, Error>

Obtains an MSM from the verifier strategy and yields back the strategy’s output.
source§

impl<'params, C: CurveAffine> Verifier<'params, IPACommitmentScheme<C>> for VerifierIPA<C>

§

type Guard = GuardIPA<'params, C>

Unfinalized verification result. This is returned in verification -to allow developer to compress or combine verification results
§

type MSMAccumulator = MSMIPA<'params, C>

Accumulator for compressed verification
source§

const QUERY_INSTANCE: bool = true

Query instance or not
source§

fn new() -> Self

Creates new verifier instance
source§

fn verify_proof<'com, E: EncodedChallenge<C>, T: TranscriptRead<C, E>, I>( +to allow developer to compress or combine verification results

§

type MSMAccumulator = MSMIPA<'params, C>

Accumulator for compressed verification
source§

const QUERY_INSTANCE: bool = true

Query instance or not
source§

fn new() -> Self

Creates new verifier instance
source§

fn verify_proof<'com, E: EncodedChallenge<C>, T: TranscriptRead<C, E>, I>( &self, transcript: &mut T, queries: I, diff --git a/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html b/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html index e75dbd986..5507e0c3e 100644 --- a/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html +++ b/halo2_backend/poly/kzg/commitment/struct.KZGCommitmentScheme.html @@ -23,11 +23,11 @@ E::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E::G1: CurveExt<AffineExt = E::G1Affine>, E::G2Affine: SerdeCurveAffine,

Define accumulator type as DualMSM

-
§

type MSMAccumulator = DualMSM<E>

Multi scalar engine which is not evaluated yet.
source§

impl<'params, E: Engine + Debug> Prover<'params, KZGCommitmentScheme<E>> for ProverGWC<'params, E>
where +
§

type MSMAccumulator = DualMSM<E>

Multi scalar engine which is not evaluated yet.

source§

impl<'params, E: Engine + Debug> Prover<'params, KZGCommitmentScheme<E>> for ProverGWC<'params, E>
where E::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E::G1: CurveExt<AffineExt = E::G1Affine>, E::G2Affine: SerdeCurveAffine,

Create a multi-opening proof

-
source§

fn create_proof_with_engine<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptWrite<E::G1Affine, Ch>, R, I>( +

source§

fn create_proof_with_engine<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptWrite<E::G1Affine, Ch>, R, I>( &self, engine: &impl MsmAccel<E::G1Affine>, _: R, @@ -36,7 +36,7 @@ ) -> Result<()>
where I: IntoIterator<Item = ProverQuery<'com, E::G1Affine>> + Clone, R: RngCore,

Create a multi-opening proof

-
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> Self

Creates new prover instance
source§

fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( +

source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> Self

Creates new prover instance
source§

fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( &self, rng: R, transcript: &mut T, @@ -48,7 +48,7 @@ E::G1Affine: SerdeCurveAffine<ScalarExt = <E as Engine>::Fr, CurveExt = <E as Engine>::G1>, E::G1: CurveExt<AffineExt = E::G1Affine>, E::G2Affine: SerdeCurveAffine,

Create a multi-opening proof

-
source§

fn create_proof_with_engine<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptWrite<E::G1Affine, Ch>, R, I>( +

source§

fn create_proof_with_engine<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptWrite<E::G1Affine, Ch>, R, I>( &self, engine: &impl MsmAccel<E::G1Affine>, _: R, @@ -57,7 +57,7 @@ ) -> Result<()>
where I: IntoIterator<Item = ProverQuery<'com, E::G1Affine>> + Clone, R: RngCore,

Create a multi-opening proof

-
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> Self

Creates new prover instance
source§

fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( +

source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> Self

Creates new prover instance
source§

fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( &self, rng: R, transcript: &mut T, @@ -69,25 +69,25 @@ 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,

§

type Output = AccumulatorStrategy<E>

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> Self

Creates new verification strategy instance
source§

fn process( + E::G2Affine: SerdeCurveAffine,

§

type Output = AccumulatorStrategy<E>

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> Self

Creates new verification strategy instance
source§

fn process( self, f: impl FnOnce(V::MSMAccumulator) -> Result<V::Guard, Error> ) -> Result<Self::Output, Error>

Obtains an MSM from the verifier strategy and yields back the strategy’s -output.
source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
source§

impl<'params, E, V> VerificationStrategy<'params, KZGCommitmentScheme<E>, V> for SingleStrategy<E>
where +output.

source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
source§

impl<'params, E, V> VerificationStrategy<'params, KZGCommitmentScheme<E>, V> for SingleStrategy<E>
where E: MultiMillerLoop + Debug, 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,

§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> Self

Creates new verification strategy instance
source§

fn process( + E::G2Affine: SerdeCurveAffine,

§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> Self

Creates new verification strategy instance
source§

fn process( self, f: impl FnOnce(V::MSMAccumulator) -> Result<V::Guard, Error> ) -> Result<Self::Output, Error>

Obtains an MSM from the verifier strategy and yields back the strategy’s -output.
source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
source§

impl<'params, E> Verifier<'params, KZGCommitmentScheme<E>> for VerifierGWC<E>
where +output.

source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> Self

Creates new verifier instance
source§

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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> Self

Creates new verifier instance
source§

fn verify_proof<'com, Ch: EncodedChallenge<E::G1Affine>, T: TranscriptRead<E::G1Affine, Ch>, I>( &self, transcript: &mut T, queries: I, @@ -98,15 +98,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>
where I: IntoIterator<Item = VerifierQuery<'com, E::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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> Self

Creates new verifier instance

Auto 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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> Self

Creates new verifier instance

Auto 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 cd18bfd8a..44edeccaf 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 more
source§

impl<F: Clone, B: Clone> Clone for Polynomial<F, B>

source§

fn clone(&self) -> Polynomial<F, B>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug, B: Debug> Debug for Polynomial<F, B>

source§

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

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

impl<F, B> Deref for Polynomial<F, B>

§

type Target = [F]

The resulting type after dereferencing.
source§

fn deref(&self) -> &[F]

Dereferences the value.
source§

impl<F, B> DerefMut for Polynomial<F, B>

source§

fn deref_mut(&mut self) -> &mut [F]

Mutably dereferences the value.
source§

impl<F, B> Index<RangeFrom<usize>> for Polynomial<F, B>

§

type Output = [F]

The returned type after indexing.
source§

fn index(&self, index: RangeFrom<usize>) -> &[F]

Performs the indexing (container[index]) operation. Read more
source§

impl<F, B> Index<RangeFull> for Polynomial<F, B>

§

type Output = [F]

The returned type after indexing.
source§

fn index(&self, index: RangeFull) -> &[F]

Performs the indexing (container[index]) operation. Read more
source§

impl<F, B> Index<usize> for Polynomial<F, B>

§

type Output = F

The returned type after indexing.
source§

fn index(&self, index: usize) -> &F

Performs the indexing (container[index]) operation. Read more
source§

impl<F, B> IndexMut<RangeFrom<usize>> for Polynomial<F, B>

source§

fn index_mut(&mut self, index: RangeFrom<usize>) -> &mut [F]

Performs the mutable indexing (container[index]) operation. Read more
source§

impl<F, B> IndexMut<RangeFull> for Polynomial<F, B>

source§

fn index_mut(&mut self, index: RangeFull) -> &mut [F]

Performs the mutable indexing (container[index]) operation. Read more
source§

impl<F, B> IndexMut<usize> for Polynomial<F, B>

source§

fn index_mut(&mut self, index: usize) -> &mut F

Performs the mutable indexing (container[index]) operation. Read more
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 more
source§

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 more
source§

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 more

Auto 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 more
source§

impl<F: Clone, B: Clone> Clone for Polynomial<F, B>

source§

fn clone(&self) -> Polynomial<F, B>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug, B: Debug> Debug for Polynomial<F, B>

source§

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

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

impl<F, B> Deref for Polynomial<F, B>

§

type Target = [F]

The resulting type after dereferencing.
source§

fn deref(&self) -> &[F]

Dereferences the value.
source§

impl<F, B> DerefMut for Polynomial<F, B>

source§

fn deref_mut(&mut self) -> &mut [F]

Mutably dereferences the value.
source§

impl<F, B> Index<RangeFrom<usize>> for Polynomial<F, B>

§

type Output = [F]

The returned type after indexing.
source§

fn index(&self, index: RangeFrom<usize>) -> &[F]

Performs the indexing (container[index]) operation. Read more
source§

impl<F, B> Index<RangeFull> for Polynomial<F, B>

§

type Output = [F]

The returned type after indexing.
source§

fn index(&self, index: RangeFull) -> &[F]

Performs the indexing (container[index]) operation. Read more
source§

impl<F, B> Index<usize> for Polynomial<F, B>

§

type Output = F

The returned type after indexing.
source§

fn index(&self, index: usize) -> &F

Performs the indexing (container[index]) operation. Read more
source§

impl<F, B> IndexMut<RangeFrom<usize>> for Polynomial<F, B>

source§

fn index_mut(&mut self, index: RangeFrom<usize>) -> &mut [F]

Performs the mutable indexing (container[index]) operation. Read more
source§

impl<F, B> IndexMut<RangeFull> for Polynomial<F, B>

source§

fn index_mut(&mut self, index: RangeFull) -> &mut [F]

Performs the mutable indexing (container[index]) operation. Read more
source§

impl<F, B> IndexMut<usize> for Polynomial<F, B>

source§

fn index_mut(&mut self, index: usize) -> &mut F

Performs the mutable indexing (container[index]) operation. Read more
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 more
source§

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 more
source§

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 more

Auto Trait Implementations§

§

impl<F, B> Freeze for Polynomial<F, B>

§

impl<F, B> RefUnwindSafe for Polynomial<F, B>

§

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 ca7f6888e..6d0bbd763 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 typed ChallengeScalar.
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<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<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§

fn init(reader: R) -> Self

Initialize a transcript given an input buffer.

+ C::Scalar: FromUniformBytes<64>,
source§

fn init(reader: R) -> Self

Initialize a transcript given an input buffer.

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§

fn init(reader: R) -> Self

Initialize a transcript given an input buffer.

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§

fn init(writer: W) -> Self

Initialize a transcript given an output buffer.

-
source§

fn finalize(self) -> W

Conclude the interaction and return the output buffer (writer).
source§

impl<W: Write, C: CurveAffine> TranscriptWriterBuffer<W, C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where - C::Scalar: FromUniformBytes<64>,

source§

fn init(writer: W) -> Self

Initialize a transcript given an output buffer.

-
source§

fn finalize(self) -> W

Conclude the interaction and return the output buffer (writer).

+ C::Scalar: FromUniformBytes<64>,
source§

fn init(writer: W) -> Self

Initialize a transcript given an output buffer.

+
source§

fn finalize(self) -> W

Conclude the interaction and return the output buffer (writer).
source§

impl<W: Write, C: CurveAffine> TranscriptWriterBuffer<W, C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where + C::Scalar: FromUniformBytes<64>,

source§

fn init(writer: W) -> Self

Initialize a transcript given an output buffer.

+
source§

fn finalize(self) -> W

Conclude the interaction and return the output buffer (writer).

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/fn.compile_circuit.html b/halo2_frontend/circuit/fn.compile_circuit.html index 08300407f..fa942fd34 100644 --- a/halo2_frontend/circuit/fn.compile_circuit.html +++ b/halo2_frontend/circuit/fn.compile_circuit.html @@ -18,7 +18,7 @@ k: u32, circuit: &ConcreteCircuit, compress_selectors: bool -) -> Result<(CompiledCircuit<F>, ConcreteCircuit::Config, ConstraintSystem<F>), Error>
Expand description

Compile a circuit. Runs configure and synthesize on the circuit in order to materialize the +) -> Result<(CompiledCircuit<F>, ConcreteCircuit::Config, ConstraintSystem<F>), Error>

Expand description

Compile a circuit. Runs configure and synthesize on the circuit in order to materialize the circuit into its columns and the column configuration; as well as doing the fixed column and copy constraints assignments. The output of this function can then be used for the key generation, and proof generation. diff --git a/halo2_frontend/circuit/layouter/enum.RegionColumn.html b/halo2_frontend/circuit/layouter/enum.RegionColumn.html index e680c4a23..1effc3c85 100644 --- a/halo2_frontend/circuit/layouter/enum.RegionColumn.html +++ b/halo2_frontend/circuit/layouter/enum.RegionColumn.html @@ -15,13 +15,13 @@

Enum halo2_frontend::circuit::layouter::RegionColumn

source ·
pub enum RegionColumn {
-    Column(Column<Any>),
+    Column(Column<Any>),
     Selector(Selector),
 }
Expand description

The virtual column involved in a region. This includes concrete columns, as well as selectors that are not concrete columns at this stage.

-

Variants§

§

Column(Column<Any>)

Concrete column

+

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 more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for RegionColumn

source§

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

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

impl From<Column<Any>> for RegionColumn

source§

fn from(column: Column<Any>) -> RegionColumn

Converts to this type from the input type.
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§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
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 more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for RegionColumn

source§

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

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

impl From<Column<Any>> for RegionColumn

source§

fn from(column: Column<Any>) -> RegionColumn

Converts to this type from the input type.
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§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for RegionColumn

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where diff --git a/halo2_frontend/circuit/layouter/struct.RegionShape.html b/halo2_frontend/circuit/layouter/struct.RegionShape.html index 3828dfed9..0c907e759 100644 --- a/halo2_frontend/circuit/layouter/struct.RegionShape.html +++ b/halo2_frontend/circuit/layouter/struct.RegionShape.html @@ -58,7 +58,7 @@ ) -> Result<Cell, Error>

Assigns a fixed value
source§

fn name_column<'v>( &'v mut self, _annotation: &'v (dyn Fn() -> String + 'v), - _column: Column<Any> + _column: Column<Any> )

Allows the circuit implementor to name/annotate a Column within a Region context. Read more
source§

fn constrain_constant( &mut self, _cell: Cell, diff --git a/halo2_frontend/circuit/layouter/trait.RegionLayouter.html b/halo2_frontend/circuit/layouter/trait.RegionLayouter.html index b25d94d04..f55ccb6b1 100644 --- a/halo2_frontend/circuit/layouter/trait.RegionLayouter.html +++ b/halo2_frontend/circuit/layouter/trait.RegionLayouter.html @@ -25,7 +25,7 @@ fn name_column<'v>( &'v mut self, annotation: &'v (dyn Fn() -> String + 'v), - column: Column<Any> + column: Column<Any> ); fn assign_advice<'v>( &'v mut self, @@ -100,7 +100,7 @@

source

fn name_column<'v>( &'v mut self, annotation: &'v (dyn Fn() -> String + 'v), - column: Column<Any> + column: Column<Any> )

Allows the circuit implementor to name/annotate a Column within a Region context.

This is useful in order to improve the amount of information that prover.verify() and prover.assert_satisfied() can provide.

diff --git a/halo2_frontend/circuit/struct.Cell.html b/halo2_frontend/circuit/struct.Cell.html index 53a2cf55e..a236f3ece 100644 --- a/halo2_frontend/circuit/struct.Cell.html +++ b/halo2_frontend/circuit/struct.Cell.html @@ -17,11 +17,11 @@

Struct halo2_frontend::circuit::Cell

source ·
pub struct Cell {
     pub region_index: RegionIndex,
     pub row_offset: usize,
-    pub column: Column<Any>,
+    pub column: Column<Any>,
 }
Expand description

A pointer to a cell within a circuit.

Fields§

§region_index: RegionIndex

Identifies the region in which this cell resides.

§row_offset: usize

The relative offset of this cell within its region.

-
§column: Column<Any>

The column of this cell.

+
§column: Column<Any>

The column of this cell.

Trait Implementations§

source§

impl Clone for Cell

source§

fn clone(&self) -> Cell

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Cell

source§

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

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

impl Copy for Cell

Auto Trait Implementations§

§

impl Freeze for Cell

§

impl RefUnwindSafe for Cell

§

impl Send for Cell

§

impl Sync for Cell

§

impl Unpin for Cell

§

impl UnwindSafe for Cell

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/halo2_frontend/circuit/struct.Region.html b/halo2_frontend/circuit/struct.Region.html index 8972bdd0a..7ac0bfd81 100644 --- a/halo2_frontend/circuit/struct.Region.html +++ b/halo2_frontend/circuit/struct.Region.html @@ -33,7 +33,7 @@

source

pub fn name_column<A, AR, T>(&mut self, annotation: A, column: T)
where A: Fn() -> AR, AR: Into<String>, - T: Into<Column<Any>>,

Allows the circuit implementor to name/annotate a Column within a Region context.

+ T: Into<Column<Any>>,

Allows the circuit implementor to name/annotate a Column within a Region context.

This is useful in order to improve the amount of information that prover.verify() and prover.assert_satisfied() can provide.

source

pub fn assign_advice<'v, V, VR, A, AR>( diff --git a/halo2_frontend/circuit/struct.Value.html b/halo2_frontend/circuit/struct.Value.html index 5ceea6636..44dac8715 100644 --- a/halo2_frontend/circuit/struct.Value.html +++ b/halo2_frontend/circuit/struct.Value.html @@ -91,28 +91,28 @@

§Examples
source§

impl<F: Field> Value<Assigned<F>>

source

pub fn evaluate(self) -> Value<F>

Evaluates this value directly, performing an unbatched inversion if necessary.

If the denominator is zero, the returned value is zero.

Trait Implementations§

source§

impl<V, O> Add<&Value<V>> for Value<V>
where - for<'v> V: Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Self) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<&V>> for Value<V>
where - for<'v> V: Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<&V>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<Value<F>> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<Value<F>> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for &Value<V>
where - for<'v> &'v V: Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for Value<&V>
where - for<'v> &'v V: Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add for &Value<V>
where - for<'v> &'v V: Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add for Value<V>
where - V: Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl<V: Clone> Clone for Value<V>

source§

fn clone(&self) -> Value<V>

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

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

Performs copy-assignment from source. Read more
source§

impl<V: Debug> Debug for Value<V>

source§

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

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

impl<V> Default for Value<V>

source§

fn default() -> Self

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

impl<F: Field> From<Value<F>> for Value<Assigned<F>>

source§

fn from(value: Value<F>) -> Self

Converts to this type from the input type.
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 is Value::unknown(), no further + for<'v> V: Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Self) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<&V>> for Value<V>
where + for<'v> V: Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<&V>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<Value<F>> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<Value<F>> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for &Value<V>
where + for<'v> &'v V: Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for Value<&V>
where + for<'v> &'v V: Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add for &Value<V>
where + for<'v> &'v V: Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl<V, O> Add for Value<V>
where + V: Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl<V: Clone> Clone for Value<V>

source§

fn clone(&self) -> Value<V>

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

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

Performs copy-assignment from source. Read more
source§

impl<V: Debug> Debug for Value<V>

source§

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

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

impl<V> Default for Value<V>

source§

fn default() -> Self

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

impl<F: Field> From<Value<F>> for Value<Assigned<F>>

source§

fn from(value: Value<F>) -> Self

Converts to this type from the input type.
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 is Value::unknown(), no further elements are taken, and the Value::unknown() is returned. Should no Value::unknown() occur, a container of type V containing the values of each Value is returned.

source§

impl<V, O> Mul<&Value<V>> for Value<V>
where - for<'v> V: Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Self) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<&V>> for Value<V>
where - for<'v> V: Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<&V>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<Value<F>> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<Value<F>> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<V>> for &Value<V>
where - for<'v> &'v V: Mul<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<V>> for Value<&V>
where - for<'v> &'v V: Mul<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for &Value<V>
where - for<'v> &'v V: Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for Value<V>
where - V: Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
source§

impl<V: Neg> Neg for Value<V>

§

type Output = Value<<V as Neg>::Output>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<V, O> Sub<&Value<V>> for Value<V>
where - for<'v> V: Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Self) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<&V>> for Value<V>
where - for<'v> V: Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<&V>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<Value<F>> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<Value<F>> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<V>> for &Value<V>
where - for<'v> &'v V: Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<V>> for Value<&V>
where - for<'v> &'v V: Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for &Value<V>
where - for<'v> &'v V: Sub<Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for Value<V>
where - V: Sub<Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
source§

impl<V: Copy> Copy for Value<V>

Auto Trait Implementations§

§

impl<V> Freeze for Value<V>
where + for<'v> V: Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Self) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<&V>> for Value<V>
where + for<'v> V: Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<&V>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<Value<F>> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<Value<F>> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<V>> for &Value<V>
where + for<'v> &'v V: Mul<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<V>> for Value<&V>
where + for<'v> &'v V: Mul<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for &Value<V>
where + for<'v> &'v V: Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for Value<V>
where + V: Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
source§

impl<V: Neg> Neg for Value<V>

§

type Output = Value<<V as Neg>::Output>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<V, O> Sub<&Value<V>> for Value<V>
where + for<'v> V: Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Self) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<&V>> for Value<V>
where + for<'v> V: Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<&V>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<Value<F>> for Value<&Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<Value<F>> for Value<Assigned<F>>

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<V>> for &Value<V>
where + for<'v> &'v V: Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<V>> for Value<&V>
where + for<'v> &'v V: Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for &Value<V>
where + for<'v> &'v V: Sub<Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for Value<V>
where + V: Sub<Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
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/cost_model/struct.ModelCircuit.html b/halo2_frontend/dev/cost_model/struct.ModelCircuit.html index 43b4efa98..3eba9eb85 100644 --- a/halo2_frontend/dev/cost_model/struct.ModelCircuit.html +++ b/halo2_frontend/dev/cost_model/struct.ModelCircuit.html @@ -34,9 +34,9 @@
§column_queries: usize

Number of distinct column queries across all gates.

§point_sets: usize

Number of distinct sets of points in the multiopening argument.

§size: usize

Size of the proof for the circuit

-

Trait Implementations§

source§

impl Debug for ModelCircuit

source§

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

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

impl<'de> Deserialize<'de> for ModelCircuit

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ModelCircuit

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for ModelCircuit

source§

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

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

impl<'de> Deserialize<'de> for ModelCircuit

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ModelCircuit

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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 @@ -138,6 +138,6 @@ V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where +[WithDispatch] wrapper. Read more

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where T: Send + Sync,

\ No newline at end of file diff --git a/halo2_frontend/dev/cost_model/struct.Permutation.html b/halo2_frontend/dev/cost_model/struct.Permutation.html index 4990b0c11..f6539ad3b 100644 --- a/halo2_frontend/dev/cost_model/struct.Permutation.html +++ b/halo2_frontend/dev/cost_model/struct.Permutation.html @@ -15,9 +15,9 @@

Struct halo2_frontend::dev::cost_model::Permutation

source ·
pub struct Permutation { /* private fields */ }
Expand description

Number of permutation enabled columns

-

Trait Implementations§

source§

impl Clone for Permutation

source§

fn clone(&self) -> Permutation

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Permutation

source§

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

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

impl<'de> Deserialize<'de> for Permutation

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Permutation

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for Permutation

source§

fn clone(&self) -> Permutation

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Permutation

source§

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

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

impl<'de> Deserialize<'de> for Permutation

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Permutation

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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 @@ -120,6 +120,6 @@ V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where +[WithDispatch] wrapper. Read more

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where T: Send + Sync,

\ No newline at end of file diff --git a/halo2_frontend/dev/enum.FailureLocation.html b/halo2_frontend/dev/enum.FailureLocation.html index 287823862..724747bad 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.

Fields

§row: usize

The circuit row on which the failure occurred.

-

Trait Implementations§

source§

impl Clone for FailureLocation

source§

fn clone(&self) -> FailureLocation

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FailureLocation

source§

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

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

impl Display for FailureLocation

source§

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

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

impl PartialEq for FailureLocation

source§

fn eq(&self, other: &FailureLocation) -> bool

This method tests for self and other 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 more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for FailureLocation

source§

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

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

impl Display for FailureLocation

source§

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

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

impl PartialEq for FailureLocation

source§

fn eq(&self, other: &FailureLocation) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/halo2_frontend/dev/enum.VerifyFailure.html b/halo2_frontend/dev/enum.VerifyFailure.html index 34ef0a83c..1b7fe20c8 100644 --- a/halo2_frontend/dev/enum.VerifyFailure.html +++ b/halo2_frontend/dev/enum.VerifyFailure.html @@ -19,7 +19,7 @@ gate: Gate, region: Region, gate_offset: usize, - column: Column<Any>, + column: Column<Any>, offset: isize, }, InstanceCellNotAssigned { @@ -57,7 +57,7 @@

§region: Region

The region in which this cell should be assigned.

§gate_offset: usize

The offset (relative to the start of the region) at which the active gate queries this cell.

-
§column: Column<Any>

The column in which this cell should be assigned.

+
§column: Column<Any>

The column in which this cell should be assigned.

§offset: isize

The offset (relative to the start of the region) at which this cell should be assigned. This may be negative (for example, if a selector enables a gate at offset 0, but the gate uses Rotation::prev()).

@@ -114,7 +114,7 @@

Fields

§column: Column

The column in which this permutation is not satisfied.

§location: FailureLocation

The location at which the permutation is not satisfied.

Implementations§

source§

impl VerifyFailure

source

pub fn emit<F: Field>(&self, prover: &MockProver<F>)

Emits this failure in pretty-printed format to stderr.

-

Trait Implementations§

source§

impl Clone for VerifyFailure

source§

fn clone(&self) -> VerifyFailure

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for VerifyFailure

source§

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

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

impl Display for VerifyFailure

source§

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

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

impl PartialEq for VerifyFailure

source§

fn eq(&self, other: &VerifyFailure) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for VerifyFailure

source§

fn clone(&self) -> VerifyFailure

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for VerifyFailure

source§

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

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

impl Display for VerifyFailure

source§

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

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

impl PartialEq for VerifyFailure

source§

fn eq(&self, other: &VerifyFailure) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl Eq for VerifyFailure

source§

impl StructuralPartialEq for VerifyFailure

Auto Trait Implementations§

§

impl Freeze for VerifyFailure

§

impl RefUnwindSafe for VerifyFailure

§

impl Send for VerifyFailure

§

impl Sync for VerifyFailure

§

impl Unpin for VerifyFailure

§

impl UnwindSafe for VerifyFailure

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
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 7d88c07d0..95676dd4b 100644 --- a/halo2_frontend/dev/metadata/struct.Column.html +++ b/halo2_frontend/dev/metadata/struct.Column.html @@ -14,23 +14,23 @@ }); -

Fields§

§column_type: Any

The type of the column.

§index: usize

The index of the column.

-

Implementations§

source§

impl ColumnMid

source

pub fn new(column_type: Any, index: usize) -> ColumnMid

Trait Implementations§

source§

impl Clone for ColumnMid

source§

fn clone(&self) -> ColumnMid

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ColumnMid

source§

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

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

impl Display for ColumnMid

source§

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

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

impl From<Column<Any>> for ColumnMid

source§

fn from(val: Column<Any>) -> Self

Converts to this type from the input type.
source§

impl From<ColumnMid> for Column<Any>

source§

fn from(column: ColumnMid) -> Column<Any>

Converts to this type from the input type.
source§

impl Hash for ColumnMid

source§

fn hash<__H>(&self, state: &mut __H)
where +

Implementations§

§

impl ColumnMid

pub fn new(column_type: Any, index: usize) -> ColumnMid

Trait Implementations§

§

impl Clone for ColumnMid

§

fn clone(&self) -> ColumnMid

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

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

Performs copy-assignment from source. Read more
§

impl Debug for ColumnMid

§

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

Formats the value using the given formatter. Read more
§

impl Display for ColumnMid

§

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

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

impl From<Column<Any>> for ColumnMid

source§

fn from(val: Column<Any>) -> Self

Converts to this type from the input type.
source§

impl From<ColumnMid> for Column<Any>

source§

fn from(column: ColumnMid) -> Column<Any>

Converts to this type from the input type.
§

impl Hash for ColumnMid

§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ColumnMid

source§

fn cmp(&self, other: &ColumnMid) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl Ord for ColumnMid

§

fn cmp(&self, other: &ColumnMid) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for ColumnMid

source§

fn eq(&self, other: &ColumnMid) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,
Restrict a value to a certain interval. Read more
§

impl PartialEq for ColumnMid

§

fn eq(&self, other: &ColumnMid) -> bool

This method tests for self and other 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 -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ColumnMid

source§

fn partial_cmp(&self, other: &ColumnMid) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
§

impl PartialOrd for ColumnMid

§

fn partial_cmp(&self, other: &ColumnMid) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for ColumnMid

source§

impl Eq for ColumnMid

source§

impl StructuralPartialEq for ColumnMid

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +operator. Read more

§

impl Copy for ColumnMid

§

impl Eq for ColumnMid

§

impl StructuralPartialEq for ColumnMid

Auto Trait Implementations§

§

impl Freeze for ColumnMid

§

impl RefUnwindSafe for ColumnMid

§

impl Send for ColumnMid

§

impl Sync for ColumnMid

§

impl Unpin for ColumnMid

§

impl UnwindSafe for ColumnMid

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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/dev/metadata/struct.Region.html b/halo2_frontend/dev/metadata/struct.Region.html index 28e892bed..5ee68286e 100644 --- a/halo2_frontend/dev/metadata/struct.Region.html +++ b/halo2_frontend/dev/metadata/struct.Region.html @@ -15,9 +15,9 @@

Struct halo2_frontend::dev::metadata::Region

source ·
pub struct Region { /* private fields */ }
Expand description

Metadata about an assigned region within a circuit.

-

Trait Implementations§

source§

impl Clone for Region

source§

fn clone(&self) -> Region

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Region

source§

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

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

impl Display for Region

source§

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

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

impl From<(usize, &str)> for Region

source§

fn from((index, name): (usize, &str)) -> Self

Converts to this type from the input type.
source§

impl From<(usize, &str, HashMap<ColumnMid, String>)> for Region

Trait Implementations§

source§

impl Clone for Region

source§

fn clone(&self) -> Region

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Region

source§

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

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

impl Display for Region

source§

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

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

impl From<(usize, &str)> for Region

source§

fn from((index, name): (usize, &str)) -> Self

Converts to this type from the input type.
source§

impl From<(usize, &str, HashMap<ColumnMid, String>)> for Region

source§

fn from( (index, name, annotations): (usize, &str, HashMap<ColumnMetadata, String>) -) -> Self

Converts to this type from the input type.
source§

impl From<(usize, String)> for Region

source§

fn from((index, name): (usize, String)) -> Self

Converts to this type from the input type.
source§

impl From<(usize, String, HashMap<ColumnMid, String>)> for Region

source§

fn from( +) -> Self

Converts to this type from the input type.
source§

impl From<(usize, String)> for Region

source§

fn from((index, name): (usize, String)) -> Self

Converts to this type from the input type.
source§

impl From<(usize, String, HashMap<ColumnMid, String>)> for Region

source§

fn from( (index, name, annotations): (usize, String, HashMap<ColumnMetadata, String>) ) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Region

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other 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/dev/metadata/struct.VirtualCell.html b/halo2_frontend/dev/metadata/struct.VirtualCell.html index 69f543954..dfb3ca7e5 100644 --- a/halo2_frontend/dev/metadata/struct.VirtualCell.html +++ b/halo2_frontend/dev/metadata/struct.VirtualCell.html @@ -16,7 +16,7 @@

Struct halo2_frontend::dev::metadata::VirtualCell

source ·
pub struct VirtualCell { /* private fields */ }
Expand description

A “virtual cell” is a PLONK cell that has been queried at a particular relative offset within a custom gate.

-

Trait Implementations§

source§

impl Clone for VirtualCell

source§

fn clone(&self) -> VirtualCell

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for VirtualCell

source§

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

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

impl Display for VirtualCell

source§

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

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

impl From<(ColumnMid, i32)> for VirtualCell

source§

fn from((column, rotation): (Column, i32)) -> Self

Converts to this type from the input type.
source§

impl<S: AsRef<str>> From<(S, ColumnMid, i32)> for VirtualCell

source§

fn from((name, column, rotation): (S, Column, i32)) -> Self

Converts to this type from the input type.
source§

impl From<VirtualCell> for VirtualCell

source§

fn from(c: VirtualCell) -> Self

Converts to this type from the input type.
source§

impl Ord for VirtualCell

source§

fn cmp(&self, other: &VirtualCell) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +

Trait Implementations§

source§

impl Clone for VirtualCell

source§

fn clone(&self) -> VirtualCell

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for VirtualCell

source§

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

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

impl Display for VirtualCell

source§

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

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

impl From<(ColumnMid, i32)> for VirtualCell

source§

fn from((column, rotation): (Column, i32)) -> Self

Converts to this type from the input type.
source§

impl<S: AsRef<str>> From<(S, ColumnMid, i32)> for VirtualCell

source§

fn from((name, column, rotation): (S, Column, i32)) -> Self

Converts to this type from the input type.
source§

impl From<VirtualCell> for VirtualCell

source§

fn from(c: VirtualCell) -> Self

Converts to this type from the input type.
source§

impl Ord for VirtualCell

source§

fn cmp(&self, other: &VirtualCell) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for VirtualCell

source§

fn eq(&self, other: &VirtualCell) -> bool

This method tests for self and other values to be equal, and is used diff --git a/halo2_frontend/dev/struct.MockProver.html b/halo2_frontend/dev/struct.MockProver.html index c6f39e6a3..bc364326c 100644 --- a/halo2_frontend/dev/struct.MockProver.html +++ b/halo2_frontend/dev/struct.MockProver.html @@ -172,7 +172,7 @@

§Examples

source

pub fn instance(&self) -> &Vec<Vec<InstanceValue<F>>>

Returns the list of Instance Columns used within a MockProver instance and the associated values contained on each Cell.

Trait Implementations§

source§

impl<F: Field> Assignment<F> for MockProver<F>

source§

fn enter_region<NR, N>(&mut self, name: N)
where NR: Into<String>, - N: FnOnce() -> NR,

Creates a new region and enters into it. Read more
source§

fn exit_region(&mut self)

Exits the current region. Read more
source§

fn annotate_column<A, AR>(&mut self, annotation: A, column: Column<Any>)
where + N: FnOnce() -> NR,

Creates a new region and enters into it. Read more
source§

fn exit_region(&mut self)

Exits the current region. Read more
source§

fn annotate_column<A, AR>(&mut self, annotation: A, column: Column<Any>)
where A: FnOnce() -> AR, AR: Into<String>,

Allows the developer to include an annotation for an specific column within a Region. Read more
source§

fn enable_selector<A, AR>( &mut self, @@ -207,9 +207,9 @@

§Examples

A: FnOnce() -> AR, AR: Into<String>,

Assign a fixed value
source§

fn copy( &mut self, - left_column: Column<Any>, + left_column: Column<Any>, left_row: usize, - right_column: Column<Any>, + right_column: Column<Any>, right_row: usize ) -> Result<(), Error>

Assign two cells to have the same value
source§

fn fill_from_row( &mut self, diff --git a/halo2_frontend/plonk/assigned/enum.Assigned.html b/halo2_frontend/plonk/assigned/enum.Assigned.html index 6baacdb82..c9765f328 100644 --- a/halo2_frontend/plonk/assigned/enum.Assigned.html +++ b/halo2_frontend/plonk/assigned/enum.Assigned.html @@ -34,9 +34,9 @@

source

pub fn evaluate(self) -> F

Evaluates this assigned value directly, performing an unbatched inversion if necessary.

If the denominator is zero, this returns zero.

-

Trait Implementations§

source§

impl<F: Field> Add<&Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<&Assigned<F>> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Self) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> AddAssign<&Assigned<F>> for Assigned<F>

source§

fn add_assign(&mut self, rhs: &Self)

Performs the += operation. Read more
source§

impl<F: Field> AddAssign for Assigned<F>

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl<F: Clone> Clone for Assigned<F>

source§

fn clone(&self) -> Assigned<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug> Debug for Assigned<F>

source§

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

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

impl<F: Field> From<&Assigned<F>> for Assigned<F>

source§

fn from(val: &Assigned<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Field> From<&F> for Assigned<F>

source§

fn from(numerator: &F) -> Self

Converts to this type from the input type.
source§

impl<F: Field> From<(F, F)> for Assigned<F>

source§

fn from((numerator, denominator): (F, F)) -> Self

Converts to this type from the input type.
source§

impl<F: Field> From<F> for Assigned<F>

source§

fn from(numerator: F) -> Self

Converts to this type from the input type.
source§

impl<F: Field> Mul<&Assigned<F>> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> Mul for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Assigned<F>) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> MulAssign<&Assigned<F>> for Assigned<F>

source§

fn mul_assign(&mut self, rhs: &Self)

Performs the *= operation. Read more
source§

impl<F: Field> MulAssign for Assigned<F>

source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
source§

impl<F: Field> Neg for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: Field> Neg for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: Field> PartialEq for Assigned<F>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl<F: Field> Add<&Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<&Assigned<F>> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Self) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add<F> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> Add for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F: Field> AddAssign<&Assigned<F>> for Assigned<F>

source§

fn add_assign(&mut self, rhs: &Self)

Performs the += operation. Read more
source§

impl<F: Field> AddAssign for Assigned<F>

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl<F: Clone> Clone for Assigned<F>

source§

fn clone(&self) -> Assigned<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug> Debug for Assigned<F>

source§

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

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

impl<F: Field> From<&Assigned<F>> for Assigned<F>

source§

fn from(val: &Assigned<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Field> From<&F> for Assigned<F>

source§

fn from(numerator: &F) -> Self

Converts to this type from the input type.
source§

impl<F: Field> From<(F, F)> for Assigned<F>

source§

fn from((numerator, denominator): (F, F)) -> Self

Converts to this type from the input type.
source§

impl<F: Field> From<F> for Assigned<F>

source§

fn from(numerator: F) -> Self

Converts to this type from the input type.
source§

impl<F: Field> Mul<&Assigned<F>> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> Mul<F> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> Mul for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Assigned<F>) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F: Field> MulAssign<&Assigned<F>> for Assigned<F>

source§

fn mul_assign(&mut self, rhs: &Self)

Performs the *= operation. Read more
source§

impl<F: Field> MulAssign for Assigned<F>

source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
source§

impl<F: Field> Neg for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: Field> Neg for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: Field> PartialEq for Assigned<F>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other 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 -sufficient, and should not be overridden without very good reason.
source§

impl<F: Field> Sub<&Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<&Assigned<F>> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Self) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> SubAssign<&Assigned<F>> for Assigned<F>

source§

fn sub_assign(&mut self, rhs: &Self)

Performs the -= operation. Read more
source§

impl<F: Field> SubAssign for Assigned<F>

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

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> Sub<&Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<&Assigned<F>> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Self) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<Assigned<F>> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for &Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub<F> for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> Sub for Assigned<F>

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F: Field> SubAssign<&Assigned<F>> for Assigned<F>

source§

fn sub_assign(&mut self, rhs: &Self)

Performs the -= operation. Read more
source§

impl<F: Field> SubAssign for Assigned<F>

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

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.Constraint.html b/halo2_frontend/plonk/circuit/constraint_system/struct.Constraint.html index f0b68d36e..76b8035ad 100644 --- a/halo2_frontend/plonk/circuit/constraint_system/struct.Constraint.html +++ b/halo2_frontend/plonk/circuit/constraint_system/struct.Constraint.html @@ -16,7 +16,7 @@
pub struct Constraint<F: Field> { /* private fields */ }
Expand description

An individual polynomial constraint.

These are returned by the closures passed to ConstraintSystem::create_gate.

-

Trait Implementations§

source§

impl<F: Debug + Field> Debug for Constraint<F>

source§

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

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

impl<F: Field, S: AsRef<str>> From<(S, Expression<F>)> for Constraint<F>

source§

fn from((name, poly): (S, Expression<F>)) -> Self

Converts to this type from the input type.
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.

Auto Trait Implementations§

§

impl<F> Freeze for Constraint<F>
where +

Trait Implementations§

source§

impl<F: Debug + Field> Debug for Constraint<F>

source§

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

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

impl<F: Field, S: AsRef<str>> From<(S, Expression<F>)> for Constraint<F>

source§

fn from((name, poly): (S, Expression<F>)) -> Self

Converts to this type from the input type.
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.

Auto Trait Implementations§

§

impl<F> Freeze for Constraint<F>
where F: Freeze,

§

impl<F> RefUnwindSafe for Constraint<F>
where F: RefUnwindSafe,

§

impl<F> Send for Constraint<F>

§

impl<F> Sync for Constraint<F>

§

impl<F> Unpin for Constraint<F>
where F: Unpin,

§

impl<F> UnwindSafe for Constraint<F>
where diff --git a/halo2_frontend/plonk/circuit/constraint_system/struct.ConstraintSystem.html b/halo2_frontend/plonk/circuit/constraint_system/struct.ConstraintSystem.html index c6a11e1d8..955fc124b 100644 --- a/halo2_frontend/plonk/circuit/constraint_system/struct.ConstraintSystem.html +++ b/halo2_frontend/plonk/circuit/constraint_system/struct.ConstraintSystem.html @@ -19,7 +19,7 @@

Implementations§

source§

impl<F: Field> ConstraintSystem<F>

source

pub fn enable_constant(&mut self, column: Column<Fixed>)

Enables this fixed column to be used for global constant assignments.

§Side-effects

The column will be equality-enabled.

-
source

pub fn enable_equality<C: Into<Column<Any>>>(&mut self, column: C)

Enable the ability to enforce equality over cells in this column

+
source

pub fn enable_equality<C: Into<Column<Any>>>(&mut self, column: C)

Enable the ability to enforce equality over cells in this column

source

pub fn lookup<S: AsRef<str>>( &mut self, name: S, @@ -46,7 +46,7 @@

§Side-effe name: S, shuffle_map: impl FnOnce(&mut VirtualCells<'_, F>) -> Vec<(Expression<F>, Expression<F>)> ) -> usize

Add a shuffle argument for some input expressions and table expressions.

-
source

pub fn get_any_query_index(&self, column: Column<Any>, at: Rotation) -> usize

source

pub fn set_minimum_degree(&mut self, degree: usize)

Sets the minimum degree required by the circuit, which can be set to a +

source

pub fn get_any_query_index(&self, column: Column<Any>, at: Rotation) -> usize

source

pub fn set_minimum_degree(&mut self, degree: usize)

Sets the minimum degree required by the circuit, which can be set to a larger amount than actually needed. This can be used, for example, to force the permutation argument to involve more columns in the same set.

source

pub fn create_gate<C: Into<Constraint<F>>, Iter: IntoIterator<Item = C>, S: AsRef<str>>( @@ -87,11 +87,11 @@

§Panics
source

pub fn annotate_lookup_any_column<A, AR, T>(&mut self, column: T, annotation: A)
where A: Fn() -> AR, AR: Into<String>, - T: Into<Column<Any>>,

Annotate an Instance column.

+ T: Into<Column<Any>>,

Annotate an Instance column.

source

pub fn annotate_column<A, AR, T>(&mut self, column: T, annotation: A)
where A: Fn() -> AR, AR: Into<String>, - T: Into<Column<Any>>,

Annotate a column.

+ T: Into<Column<Any>>,

Annotate a column.

source

pub fn fixed_column(&mut self) -> Column<Fixed>

Allocate a new fixed column

source

pub fn unblinded_advice_column(&mut self) -> Column<Advice>

Allocate a new unblinded advice column at FirstPhase

source

pub fn advice_column(&mut self) -> Column<Advice>

Allocate a new advice column at FirstPhase

@@ -123,14 +123,14 @@
§Panics
source

pub fn challenge_phase(&self) -> Vec<u8>

Returns phase of challenges

source

pub fn gates(&self) -> &Vec<Gate<F>>

Returns gates

source

pub fn general_column_annotations(&self) -> &HashMap<ColumnMid, String>

Returns general column annotations

-
source

pub fn advice_queries(&self) -> &Vec<(Column<Advice>, Rotation)>

Returns advice queries

-
source

pub fn instance_queries(&self) -> &Vec<(Column<Instance>, Rotation)>

Returns instance queries

-
source

pub fn fixed_queries(&self) -> &Vec<(Column<Fixed>, Rotation)>

Returns fixed queries

+
source

pub fn advice_queries(&self) -> &Vec<(Column<Advice>, Rotation)>

Returns advice queries

+
source

pub fn instance_queries(&self) -> &Vec<(Column<Instance>, Rotation)>

Returns instance queries

+
source

pub fn fixed_queries(&self) -> &Vec<(Column<Fixed>, Rotation)>

Returns fixed queries

source

pub fn permutation(&self) -> &Argument

Returns permutation argument

source

pub fn lookups(&self) -> &Vec<Argument<F>>

Returns lookup arguments

source

pub fn shuffles(&self) -> &Vec<Argument<F>>

Returns shuffle arguments

source

pub fn constants(&self) -> &Vec<Column<Fixed>>

Returns constants

-

Trait Implementations§

source§

impl<F: Clone + Field> Clone for ConstraintSystem<F>

source§

fn clone(&self) -> ConstraintSystem<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for ConstraintSystem<F>

source§

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

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

impl<F: Field> Default for ConstraintSystem<F>

source§

fn default() -> ConstraintSystem<F>

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

impl<F: Field> From<ConstraintSystem<F>> for ConstraintSystemMid<F>

source§

fn from(cs: ConstraintSystem<F>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<F> Freeze for ConstraintSystem<F>

§

impl<F> RefUnwindSafe for ConstraintSystem<F>
where +

Trait Implementations§

source§

impl<F: Clone + Field> Clone for ConstraintSystem<F>

source§

fn clone(&self) -> ConstraintSystem<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for ConstraintSystem<F>

source§

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

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

impl<F: Field> Default for ConstraintSystem<F>

source§

fn default() -> ConstraintSystem<F>

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

impl<F: Field> From<ConstraintSystem<F>> for ConstraintSystemMid<F>

source§

fn from(cs: ConstraintSystem<F>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<F> Freeze for ConstraintSystem<F>

§

impl<F> RefUnwindSafe for ConstraintSystem<F>
where F: RefUnwindSafe,

§

impl<F> Send for ConstraintSystem<F>

§

impl<F> Sync for ConstraintSystem<F>

§

impl<F> Unpin for ConstraintSystem<F>
where F: Unpin,

§

impl<F> UnwindSafe for ConstraintSystem<F>
where F: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html b/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html index 5d513fc12..0548d707e 100644 --- a/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html +++ b/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCell.html @@ -15,11 +15,11 @@
pub struct VirtualCell {
-    pub column: Column<Any>,
-    pub rotation: Rotation,
+    pub column: Column<Any>,
+    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 more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for VirtualCell

source§

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

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

impl<Col: Into<Column<Any>>> From<(Col, Rotation)> for VirtualCell

source§

fn from((column, rotation): (Col, Rotation)) -> Self

Converts to this type from the input type.
source§

impl From<VirtualCell> for VirtualCell

source§

fn from(c: VirtualCell) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

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 more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for VirtualCell

source§

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

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

impl<Col: Into<Column<Any>>> From<(Col, Rotation)> for VirtualCell

source§

fn from((column, rotation): (Col, Rotation)) -> Self

Converts to this type from the input type.
source§

impl From<VirtualCell> for VirtualCell

source§

fn from(c: VirtualCell) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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/constraint_system/struct.VirtualCells.html b/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCells.html index 3c00015c5..1c5d7d707 100644 --- a/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCells.html +++ b/halo2_frontend/plonk/circuit/constraint_system/struct.VirtualCells.html @@ -20,22 +20,22 @@

source

pub fn query_fixed( &mut self, column: Column<Fixed>, - at: Rotation + at: Rotation ) -> Expression<F>

Query a fixed column at a relative position

source

pub fn query_advice( &mut self, column: Column<Advice>, - at: Rotation + at: Rotation ) -> Expression<F>

Query an advice column at a relative position

source

pub fn query_instance( &mut self, column: Column<Instance>, - at: Rotation + at: Rotation ) -> Expression<F>

Query an instance column at a relative position

-
source

pub fn query_any<C: Into<Column<Any>>>( +

source

pub fn query_any<C: Into<Column<Any>>>( &mut self, column: C, - at: Rotation + at: Rotation ) -> Expression<F>

Query an Any column at a relative position

source

pub fn query_challenge(&mut self, challenge: Challenge) -> Expression<F>

Query a challenge

Trait Implementations§

source§

impl<'a, F: Debug + Field> Debug for VirtualCells<'a, F>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, F> Freeze for VirtualCells<'a, F>

§

impl<'a, F> RefUnwindSafe for VirtualCells<'a, F>
where diff --git a/halo2_frontend/plonk/circuit/expression/enum.Expression.html b/halo2_frontend/plonk/circuit/expression/enum.Expression.html index 12edb7bf8..76234f48c 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 degree(&self) -> usize

Compute the degree of this polynomial

source

pub fn complexity(&self) -> usize

Approximate the computational complexity of this expression.

source

pub fn square(self) -> Self

Square 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 more
source§

impl<F: Clone> Clone for Expression<F>

source§

fn clone(&self) -> Expression<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug> Debug for Expression<F>

source§

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

Formats the value using the given formatter. Read more
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 more
source§

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 more
source§

impl<F: Field> Neg for Expression<F>

§

type Output = Expression<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: PartialEq> PartialEq for Expression<F>

source§

fn eq(&self, other: &Expression<F>) -> bool

This method tests for self and other 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 more
source§

impl<F: Clone> Clone for Expression<F>

source§

fn clone(&self) -> Expression<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug> Debug for Expression<F>

source§

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

Formats the value using the given formatter. Read more
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 more
source§

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 more
source§

impl<F: Field> Neg for Expression<F>

§

type Output = Expression<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: PartialEq> PartialEq for Expression<F>

source§

fn eq(&self, other: &Expression<F>) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl<F: Field> Product for Expression<F>

source§

fn product<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by -multiplying the items.
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 more
source§

impl<F: Field> Sum for Expression<F>

source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by +multiplying the items.
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 more
source§

impl<F: Field> Sum for Expression<F>

source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by “summing up” the items.
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.AdviceQuery.html b/halo2_frontend/plonk/circuit/expression/struct.AdviceQuery.html index 630197cae..6cc3627c2 100644 --- a/halo2_frontend/plonk/circuit/expression/struct.AdviceQuery.html +++ b/halo2_frontend/plonk/circuit/expression/struct.AdviceQuery.html @@ -17,13 +17,13 @@

Struct halo2_frontend::plonk::circuit::expression::AdviceQuery

source ·
pub struct AdviceQuery {
     pub index: Option<usize>,
     pub column_index: usize,
-    pub rotation: Rotation,
+    pub rotation: Rotation,
 }
Expand description

Query of advice column at a certain relative location

Fields§

§index: Option<usize>

Query index

§column_index: usize

Column index

-
§rotation: Rotation

Rotation of this query

+
§rotation: Rotation

Rotation of this query

Implementations§

source§

impl AdviceQuery

source

pub fn column_index(&self) -> usize

Column index

-
source

pub fn rotation(&self) -> Rotation

Rotation of this query

+
source

pub fn rotation(&self) -> Rotation

Rotation of this query

Trait Implementations§

source§

impl Clone for AdviceQuery

source§

fn clone(&self) -> AdviceQuery

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for AdviceQuery

source§

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

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

impl PartialEq for AdviceQuery

source§

fn eq(&self, other: &AdviceQuery) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl Copy for AdviceQuery

source§

impl Eq for AdviceQuery

source§

impl StructuralPartialEq for AdviceQuery

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/halo2_frontend/plonk/circuit/expression/struct.Challenge.html b/halo2_frontend/plonk/circuit/expression/struct.Challenge.html index 965ff5455..20d593aef 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§

source§

impl Challenge

source

pub fn index(&self) -> usize

Index of this challenge.

source

pub fn phase(&self) -> u8

Phase of this challenge.

source

pub fn expr<F: Field>(&self) -> Expression<F>

Return Expression

-

Trait Implementations§

source§

impl Clone for Challenge

source§

fn clone(&self) -> Challenge

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Challenge

source§

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

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

impl From<Challenge> for ChallengeMid

source§

fn from(val: Challenge) -> Self

Converts to this type from the input type.
source§

impl From<ChallengeMid> for Challenge

source§

fn from(c: ChallengeMid) -> Self

Converts to this type from the input type.
source§

impl Hash for Challenge

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Challenge

source§

fn clone(&self) -> Challenge

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Challenge

source§

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

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

impl From<Challenge> for ChallengeMid

source§

fn from(val: Challenge) -> Self

Converts to this type from the input type.
source§

impl From<ChallengeMid> for Challenge

source§

fn from(c: ChallengeMid) -> Self

Converts to this type from the input type.
source§

impl Hash for Challenge

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Challenge

source§

fn eq(&self, other: &Challenge) -> bool

This method tests for self and other 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 a4080e319..80af5a142 100644 --- a/halo2_frontend/plonk/circuit/expression/struct.Column.html +++ b/halo2_frontend/plonk/circuit/expression/struct.Column.html @@ -20,12 +20,12 @@ }
Expand description

A column with an index and type

Fields§

§index: usize§column_type: C

Implementations§

source§

impl<C: ColumnType> Column<C>

source

pub fn new(index: usize, column_type: C) -> Self

source

pub fn index(&self) -> usize

Index of this column.

source

pub fn column_type(&self) -> &C

Type of this column.

-
source

pub fn query_cell<F: Field>(&self, at: Rotation) -> Expression<F>

Return expression from column at a relative position

+
source

pub fn query_cell<F: Field>(&self, at: Rotation) -> Expression<F>

Return expression from column at a relative position

source

pub fn cur<F: Field>(&self) -> Expression<F>

Return expression from column at the current row

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§

source§

impl<C: Clone + ColumnType> Clone for Column<C>

source§

fn clone(&self) -> Column<C>

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

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

Performs copy-assignment from source. Read more
source§

impl<C: Debug + ColumnType> Debug for Column<C>

source§

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

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

impl From<Column<Advice>> for Column<Any>

source§

fn from(advice: Column<Advice>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Any>> for ColumnMid

source§

fn from(val: Column<Any>) -> Self

Converts to this type from the input type.
source§

impl From<Column<Any>> for RegionColumn

source§

fn from(column: Column<Any>) -> RegionColumn

Converts to this type from the input type.
source§

impl From<Column<Fixed>> for Column<Any>

source§

fn from(advice: Column<Fixed>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Instance>> for Column<Any>

source§

fn from(advice: Column<Instance>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<ColumnMid> for Column<Any>

source§

fn from(column: ColumnMid) -> Column<Any>

Converts to this type from the input type.
source§

impl<C: Hash + ColumnType> Hash for Column<C>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl<C: Clone + ColumnType> Clone for Column<C>

source§

fn clone(&self) -> Column<C>

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

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

Performs copy-assignment from source. Read more
source§

impl<C: Debug + ColumnType> Debug for Column<C>

source§

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

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

impl From<Column<Advice>> for Column<Any>

source§

fn from(advice: Column<Advice>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Any>> for ColumnMid

source§

fn from(val: Column<Any>) -> Self

Converts to this type from the input type.
source§

impl From<Column<Any>> for RegionColumn

source§

fn from(column: Column<Any>) -> RegionColumn

Converts to this type from the input type.
source§

impl From<Column<Fixed>> for Column<Any>

source§

fn from(advice: Column<Fixed>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Instance>> for Column<Any>

source§

fn from(advice: Column<Instance>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<ColumnMid> for Column<Any>

source§

fn from(column: ColumnMid) -> Column<Any>

Converts to this type from the input type.
source§

impl<C: Hash + ColumnType> Hash for Column<C>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<C: ColumnType> Ord for Column<C>

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -34,7 +34,7 @@ by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<C: ColumnType> PartialOrd for Column<C>

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl TryFrom<Column<Any>> for Column<Advice>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(any: Column<Any>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Fixed>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(any: Column<Any>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Instance>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(any: Column<Any>) -> Result<Self, Self::Error>

Performs the conversion.
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 +operator. Read more

source§

impl TryFrom<Column<Any>> for Column<Advice>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(any: Column<Any>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Fixed>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(any: Column<Any>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Instance>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(any: Column<Any>) -> Result<Self, Self::Error>

Performs the conversion.
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/circuit/expression/struct.FixedQuery.html b/halo2_frontend/plonk/circuit/expression/struct.FixedQuery.html index eb4caf0d4..bdabee598 100644 --- a/halo2_frontend/plonk/circuit/expression/struct.FixedQuery.html +++ b/halo2_frontend/plonk/circuit/expression/struct.FixedQuery.html @@ -17,13 +17,13 @@

Struct halo2_frontend::plonk::circuit::expression::FixedQuery

source ·
pub struct FixedQuery {
     pub index: Option<usize>,
     pub column_index: usize,
-    pub rotation: Rotation,
+    pub rotation: Rotation,
 }
Expand description

Query of fixed column at a certain relative location

Fields§

§index: Option<usize>

Query index

§column_index: usize

Column index

-
§rotation: Rotation

Rotation of this query

+
§rotation: Rotation

Rotation of this query

Implementations§

source§

impl FixedQuery

source

pub fn column_index(&self) -> usize

Column index

-
source

pub fn rotation(&self) -> Rotation

Rotation of this query

+
source

pub fn rotation(&self) -> Rotation

Rotation of this query

Trait Implementations§

source§

impl Clone for FixedQuery

source§

fn clone(&self) -> FixedQuery

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FixedQuery

source§

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

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

impl PartialEq for FixedQuery

source§

fn eq(&self, other: &FixedQuery) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl Copy for FixedQuery

source§

impl Eq for FixedQuery

source§

impl StructuralPartialEq for FixedQuery

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/halo2_frontend/plonk/circuit/expression/struct.InstanceQuery.html b/halo2_frontend/plonk/circuit/expression/struct.InstanceQuery.html index edeffaf55..d48914c2f 100644 --- a/halo2_frontend/plonk/circuit/expression/struct.InstanceQuery.html +++ b/halo2_frontend/plonk/circuit/expression/struct.InstanceQuery.html @@ -17,13 +17,13 @@

Struct halo2_frontend::plonk::circuit::expression::InstanceQuery

source ·
pub struct InstanceQuery {
     pub index: Option<usize>,
     pub column_index: usize,
-    pub rotation: Rotation,
+    pub rotation: Rotation,
 }
Expand description

Query of instance column at a certain relative location

Fields§

§index: Option<usize>

Query index

§column_index: usize

Column index

-
§rotation: Rotation

Rotation of this query

+
§rotation: Rotation

Rotation of this query

Implementations§

source§

impl InstanceQuery

source

pub fn column_index(&self) -> usize

Column index

-
source

pub fn rotation(&self) -> Rotation

Rotation of this query

+
source

pub fn rotation(&self) -> Rotation

Rotation of this query

Trait Implementations§

source§

impl Clone for InstanceQuery

source§

fn clone(&self) -> InstanceQuery

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for InstanceQuery

source§

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

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

impl PartialEq for InstanceQuery

source§

fn eq(&self, other: &InstanceQuery) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl Copy for InstanceQuery

source§

impl Eq for InstanceQuery

source§

impl StructuralPartialEq for InstanceQuery

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/halo2_frontend/plonk/circuit/struct.Advice.html b/halo2_frontend/plonk/circuit/struct.Advice.html index 5770a028e..16122d8c9 100644 --- a/halo2_frontend/plonk/circuit/struct.Advice.html +++ b/halo2_frontend/plonk/circuit/struct.Advice.html @@ -15,7 +15,7 @@

Struct halo2_frontend::plonk::circuit::Advice

source ·
pub struct Advice;
Expand description

An advice column

-

Trait Implementations§

source§

impl Clone for Advice

source§

fn clone(&self) -> Advice

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

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

Performs copy-assignment from source. Read more
source§

impl ColumnType for Advice

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell
source§

impl Debug for Advice

source§

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

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

impl From<Advice> for Any

source§

fn from(_: Advice) -> Any

Converts to this type from the input type.
source§

impl Hash for Advice

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Advice

source§

fn clone(&self) -> Advice

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

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

Performs copy-assignment from source. Read more
source§

impl ColumnType for Advice

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell
source§

impl Debug for Advice

source§

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

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

impl From<Advice> for Any

source§

fn from(_: Advice) -> Any

Converts to this type from the input type.
source§

impl Hash for Advice

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Advice

source§

fn eq(&self, other: &Advice) -> bool

This method tests for self and other 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/struct.Fixed.html b/halo2_frontend/plonk/circuit/struct.Fixed.html index 5f3fe804f..bf10fa418 100644 --- a/halo2_frontend/plonk/circuit/struct.Fixed.html +++ b/halo2_frontend/plonk/circuit/struct.Fixed.html @@ -15,7 +15,7 @@

Struct halo2_frontend::plonk::circuit::Fixed

source ·
pub struct Fixed;
Expand description

A fixed column

-

Trait Implementations§

source§

impl Clone for Fixed

source§

fn clone(&self) -> Fixed

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

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

Performs copy-assignment from source. Read more
source§

impl ColumnType for Fixed

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell
source§

impl Debug for Fixed

source§

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

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

impl From<Fixed> for Any

source§

fn from(_: Fixed) -> Any

Converts to this type from the input type.
source§

impl Hash for Fixed

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Fixed

source§

fn clone(&self) -> Fixed

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

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

Performs copy-assignment from source. Read more
source§

impl ColumnType for Fixed

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell
source§

impl Debug for Fixed

source§

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

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

impl From<Fixed> for Any

source§

fn from(_: Fixed) -> Any

Converts to this type from the input type.
source§

impl Hash for Fixed

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Fixed

source§

fn eq(&self, other: &Fixed) -> bool

This method tests for self and other 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/struct.Instance.html b/halo2_frontend/plonk/circuit/struct.Instance.html index a9bb7a525..9cde405d3 100644 --- a/halo2_frontend/plonk/circuit/struct.Instance.html +++ b/halo2_frontend/plonk/circuit/struct.Instance.html @@ -15,7 +15,7 @@

Struct halo2_frontend::plonk::circuit::Instance

source ·
pub struct Instance;
Expand description

An instance column

-

Trait Implementations§

source§

impl Clone for Instance

source§

fn clone(&self) -> Instance

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

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

Performs copy-assignment from source. Read more
source§

impl ColumnType for Instance

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell
source§

impl Debug for Instance

source§

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

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

impl From<Instance> for Any

source§

fn from(_: Instance) -> Any

Converts to this type from the input type.
source§

impl Hash for Instance

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Instance

source§

fn clone(&self) -> Instance

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

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

Performs copy-assignment from source. Read more
source§

impl ColumnType for Instance

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell
source§

impl Debug for Instance

source§

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

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

impl From<Instance> for Any

source§

fn from(_: Instance) -> Any

Converts to this type from the input type.
source§

impl Hash for Instance

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Instance

source§

fn eq(&self, other: &Instance) -> bool

This method tests for self and other 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/trait.Assignment.html b/halo2_frontend/plonk/circuit/trait.Assignment.html index 6d23a96b8..9d6807f57 100644 --- a/halo2_frontend/plonk/circuit/trait.Assignment.html +++ b/halo2_frontend/plonk/circuit/trait.Assignment.html @@ -19,7 +19,7 @@ fn enter_region<NR, N>(&mut self, name_fn: N) where NR: Into<String>, N: FnOnce() -> NR; - fn annotate_column<A, AR>(&mut self, annotation: A, column: Column<Any>) + fn annotate_column<A, AR>(&mut self, annotation: A, column: Column<Any>) where A: FnOnce() -> AR, AR: Into<String>; fn exit_region(&mut self); @@ -60,9 +60,9 @@ AR: Into<String>; fn copy( &mut self, - left_column: Column<Any>, + left_column: Column<Any>, left_row: usize, - right_column: Column<Any>, + right_column: Column<Any>, right_row: usize ) -> Result<(), Error>; fn fill_from_row( @@ -83,7 +83,7 @@ N: FnOnce() -> NR,

Creates a new region and enters into it.

Panics if we are currently in a region (if exit_region was not called).

Not intended for downstream consumption; use Layouter::assign_region instead.

-
source

fn annotate_column<A, AR>(&mut self, annotation: A, column: Column<Any>)
where +

source

fn annotate_column<A, AR>(&mut self, annotation: A, column: Column<Any>)
where A: FnOnce() -> AR, AR: Into<String>,

Allows the developer to include an annotation for an specific column within a Region.

This is usually useful for debugging circuit failures.

@@ -128,9 +128,9 @@ AR: Into<String>,

Assign a fixed value

source

fn copy( &mut self, - left_column: Column<Any>, + left_column: Column<Any>, left_row: usize, - right_column: Column<Any>, + right_column: Column<Any>, right_row: usize ) -> Result<(), Error>

Assign two cells to have the same value

source

fn fill_from_row( diff --git a/halo2_frontend/plonk/circuit/trait.ColumnType.html b/halo2_frontend/plonk/circuit/trait.ColumnType.html index 6f7c33bf1..5ca9eb800 100644 --- a/halo2_frontend/plonk/circuit/trait.ColumnType.html +++ b/halo2_frontend/plonk/circuit/trait.ColumnType.html @@ -14,9 +14,9 @@ }); -

Trait halo2_frontend::plonk::circuit::ColumnType

source ·
pub trait ColumnType: 'static + Sized + Copy + Debug + PartialEq + Eq + Into<Any> {
+

Trait halo2_frontend::plonk::circuit::ColumnType

source ·
pub trait ColumnType: 'static + Sized + Copy + Debug + PartialEq + Eq + Into<Any> {
     // Required method
-    fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>;
+    fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>;
 }
Expand description

A column type

-

Required Methods§

source

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ColumnType for Any

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Implementors§

\ No newline at end of file +

Required Methods§

source

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Return expression from cell

+

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ColumnType for Any

source§

fn query_cell<F: Field>(&self, index: usize, at: Rotation) -> Expression<F>

Implementors§

\ No newline at end of file diff --git a/halo2_frontend/plonk/error/enum.Error.html b/halo2_frontend/plonk/error/enum.Error.html index d99ce6249..bda1589a9 100644 --- a/halo2_frontend/plonk/error/enum.Error.html +++ b/halo2_frontend/plonk/error/enum.Error.html @@ -21,7 +21,7 @@ current_k: u32, }, NotEnoughColumnsForConstants, - ColumnNotInPermutation(Column<Any>), + ColumnNotInPermutation(Column<Any>), TableError(TableError), Other(String), }
Expand description

This is an error that could occur during circuit synthesis.

@@ -32,7 +32,7 @@

Fields

§current_k: u32

The current value of k being used.

§

NotEnoughColumnsForConstants

Circuit synthesis requires global constants, but circuit configuration did not call ConstraintSystem::enable_constant on fixed columns with sufficient space.

-
§

ColumnNotInPermutation(Column<Any>)

The instance sets up a copy constraint involving a column that has not been +

§

ColumnNotInPermutation(Column<Any>)

The instance sets up a copy constraint involving a column that has not been included in the permutation.

§

TableError(TableError)

An error relating to a lookup table.

§

Other(String)

Generic error not covered by previous cases

diff --git a/halo2_frontend/plonk/error/enum.TableError.html b/halo2_frontend/plonk/error/enum.TableError.html index 363588b9e..0fba31fe7 100644 --- a/halo2_frontend/plonk/error/enum.TableError.html +++ b/halo2_frontend/plonk/error/enum.TableError.html @@ -24,7 +24,7 @@
§

UnevenColumnLengths((TableColumn, usize), (TableColumn, usize))

A Table has columns of uneven lengths.

§

UsedColumn(TableColumn)

Attempt to assign a used TableColumn

§

OverwriteDefault(TableColumn, String, String)

Attempt to overwrite a default value

-

Trait Implementations§

source§

impl Debug for TableError

source§

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

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

impl Display for TableError

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for TableError

source§

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

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

impl Display for TableError

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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/permutation/struct.Argument.html b/halo2_frontend/plonk/permutation/struct.Argument.html index 971bbb65b..dcf03ea90 100644 --- a/halo2_frontend/plonk/permutation/struct.Argument.html +++ b/halo2_frontend/plonk/permutation/struct.Argument.html @@ -15,7 +15,7 @@

Struct halo2_frontend::plonk::permutation::Argument

source ·
pub struct Argument { /* private fields */ }
Expand description

A permutation argument.

-

Implementations§

source§

impl Argument

source

pub fn get_columns(&self) -> Vec<Column<Any>>

Returns columns that participate on the permutation argument.

+

Implementations§

source§

impl Argument

source

pub fn get_columns(&self) -> Vec<Column<Any>>

Returns columns that participate on the permutation argument.

Trait Implementations§

source§

impl Clone for Argument

source§

fn clone(&self) -> Argument

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Argument

source§

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

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

impl Default for Argument

source§

fn default() -> Argument

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/halo2_middleware/circuit/struct.ColumnMid.html b/halo2_middleware/circuit/struct.ColumnMid.html index 1868d4930..137303e85 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§

source§

impl ColumnMid

source

pub fn new(column_type: Any, index: usize) -> Self

Trait Implementations§

source§

impl Clone for ColumnMid

source§

fn clone(&self) -> ColumnMid

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ColumnMid

source§

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

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

impl Display for ColumnMid

source§

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

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

impl Hash for ColumnMid

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Implementations§

source§

impl ColumnMid

source

pub fn new(column_type: Any, index: usize) -> Self

Trait Implementations§

source§

impl Clone for ColumnMid

source§

fn clone(&self) -> ColumnMid

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ColumnMid

source§

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

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

impl Display for ColumnMid

source§

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

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

impl Hash for ColumnMid

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ColumnMid

source§

fn cmp(&self, other: &ColumnMid) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.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 197b6e2c4..9c68909f0 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 and 2 + 1 can have the same identifier).

source

pub fn degree(&self) -> usize

Compute the degree of this polynomial

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 more
source§

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 more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug, V: Debug + Variable> Debug for Expression<F, V>

source§

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

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

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 more
source§

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 more
source§

impl<F: Field, V: Variable> Neg for Expression<F, V>

§

type Output = Expression<F, V>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: PartialEq, V: PartialEq + Variable> PartialEq for Expression<F, V>

source§

fn eq(&self, other: &Expression<F, V>) -> bool

This method tests for self and other values to be equal, and is used +

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 more
source§

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 more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug, V: Debug + Variable> Debug for Expression<F, V>

source§

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

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

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 more
source§

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 more
source§

impl<F: Field, V: Variable> Neg for Expression<F, V>

§

type Output = Expression<F, V>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: PartialEq, V: PartialEq + Variable> PartialEq for Expression<F, V>

source§

fn eq(&self, other: &Expression<F, V>) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl<F: Field, V: Variable> Product for Expression<F, V>

source§

fn product<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by -multiplying the items.
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 more
source§

impl<F: Field, V: Variable> Sum for Expression<F, V>

source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by +multiplying the items.
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 more
source§

impl<F: Field, V: Variable> Sum for Expression<F, V>

source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by “summing up” the items.
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>
where F: Freeze, V: Freeze,

§

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 c09d98d32..ac951bed5 100644 --- a/halo2_proofs/arithmetic/trait.CurveAffine.html +++ b/halo2_proofs/arithmetic/trait.CurveAffine.html @@ -42,19 +42,19 @@

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl CurveAffine for ErisAffine

§

type ScalarExt = Fp

§

type Base = Fq

§

type CurveExt = Eris

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<ErisAffine>>

§

fn from_xy( x: <ErisAffine as CurveAffine>::Base, y: <ErisAffine as CurveAffine>::Base -) -> 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( +) -> CtOption<ErisAffine>

§

fn a() -> <ErisAffine as CurveAffine>::Base

§

fn b() -> <ErisAffine as CurveAffine>::Base

§

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 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 = Fq

§

type Base = Fp

§

type CurveExt = G1

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G1Affine>>

§

fn from_xy( +) -> CtOption<G1Affine>

§

fn a() -> <G1Affine as CurveAffine>::Base

§

fn b() -> <G1Affine 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 G2Affine

§

type ScalarExt = Fr

§

type Base = Fq2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( +) -> CtOption<G1Affine>

§

fn a() -> <G1Affine as CurveAffine>::Base

§

fn b() -> <G1Affine as CurveAffine>::Base

§

impl CurveAffine for G2Affine

§

type ScalarExt = Fq

§

type Base = Fp2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( x: <G2Affine as CurveAffine>::Base, y: <G2Affine as CurveAffine>::Base -) -> CtOption<G2Affine>

§

fn a() -> <G2Affine as CurveAffine>::Base

§

fn b() -> <G2Affine as CurveAffine>::Base

§

impl CurveAffine for G2Affine

§

type ScalarExt = Fq

§

type Base = Fp2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( +) -> CtOption<G2Affine>

§

fn a() -> <G2Affine as CurveAffine>::Base

§

fn b() -> <G2Affine as CurveAffine>::Base

§

impl CurveAffine for G2Affine

§

type ScalarExt = Fr

§

type Base = Fq2

§

type CurveExt = G2

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<G2Affine>>

§

fn from_xy( x: <G2Affine as CurveAffine>::Base, y: <G2Affine as CurveAffine>::Base ) -> CtOption<G2Affine>

§

fn a() -> <G2Affine as CurveAffine>::Base

§

fn b() -> <G2Affine as CurveAffine>::Base

§

impl CurveAffine for Secp256k1Affine

§

type ScalarExt = Fq

§

type Base = Fp

§

type CurveExt = Secp256k1

§

fn is_on_curve(&self) -> Choice

§

fn coordinates(&self) -> CtOption<Coordinates<Secp256k1Affine>>

§

fn from_xy( diff --git a/halo2_proofs/arithmetic/trait.CurveExt.html b/halo2_proofs/arithmetic/trait.CurveExt.html index 75bc41920..27787530e 100644 --- a/halo2_proofs/arithmetic/trait.CurveExt.html +++ b/halo2_proofs/arithmetic/trait.CurveExt.html @@ -70,23 +70,23 @@

§Example
x: <Eris as CurveExt>::Base, y: <Eris as CurveExt>::Base, z: <Eris as CurveExt>::Base -) -> CtOption<Eris>

§

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<Eris>

§

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 -) -> 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 = "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 G2

§

type ScalarExt = Fr

§

type Base = Fq2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "bn256_g2"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fq2, Fq2, Fq2)

§

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( +) -> CtOption<G1>

§

impl CurveExt for G2

§

type ScalarExt = Fq

§

type Base = Fp2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "triton"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fp2, Fp2, Fp2)

§

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 = Fq

§

type Base = Fp2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "triton"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fp2, Fp2, Fp2)

§

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( +) -> CtOption<G2>

§

impl CurveExt for G2

§

type ScalarExt = Fr

§

type Base = Fq2

§

type AffineExt = G2Affine

§

const CURVE_ID: &'static str = "bn256_g2"

§

fn endo(&self) -> G2

§

fn jacobian_coordinates(&self) -> (Fq2, Fq2, Fq2)

§

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/arithmetic/trait.Field.html b/halo2_proofs/arithmetic/trait.Field.html index e4c3b47ab..2483161d3 100644 --- a/halo2_proofs/arithmetic/trait.Field.html +++ b/halo2_proofs/arithmetic/trait.Field.html @@ -86,32 +86,32 @@

§Guarantee

This operation is variable time with respect to self, for all exponent. If the exponent is fixed, this operation is effectively constant time. However, for stronger constant-time guarantees, Field::pow should be used.

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl Field for Fp

§

fn invert(&self) -> CtOption<Fp>

Computes the multiplicative inverse of this element, -failing if the element is zero.

-
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn sqrt(&self) -> CtOption<Fp>

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

-
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

+
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where - S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

-
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the +

§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where + S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

+
§

fn invert(&self) -> CtOption<Fp>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where - S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

+
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where + S: AsRef<[u64]>,

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn invert(&self) -> CtOption<Fp>

Computes the multiplicative inverse of this element, +failing if the element is zero.

+
§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn sqrt(&self) -> CtOption<Fp>

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

impl Field for Fp

§

fn sqrt(&self) -> CtOption<Fp>

Computes the square root of this element, if it exists.

§

fn invert(&self) -> CtOption<Fp>

Computes the multiplicative inverse of this element, failing if the element is zero.

§

const ZERO: Fp = _

§

const ONE: Fp = _

§

fn random(rng: impl RngCore) -> Fp

§

fn double(&self) -> Fp

§

fn square(&self) -> Fp

§

fn sqrt_ratio(num: &Fp, div: &Fp) -> (Choice, Fp)

§

fn sqrt_alt(&self) -> (Choice, Fp)

§

fn pow_vartime<S>(&self, exp: S) -> Fp
where - S: AsRef<[u64]>,

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Computes the multiplicative inverse of this element, -failing if the element is zero.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the + S: AsRef<[u64]>,

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

+
§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where - S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

-
§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the +

§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the +

§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where + S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Returns the multiplicative inverse of the element. If it is zero, the method fails.

-
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where - S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

+
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where + S: AsRef<[u64]>,

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn invert(&self) -> CtOption<Fq>

Computes the multiplicative inverse of this element, +failing if the element is zero.

+
§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt(&self) -> CtOption<Fq>

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

impl Field for Fq

§

fn sqrt(&self) -> CtOption<Fq>

Computes the square root of this element, if it exists.

§

fn invert(&self) -> CtOption<Fq>

Computes the multiplicative inverse of this element, failing if the element is zero.

§

const ZERO: Fq = _

§

const ONE: Fq = _

§

fn random(rng: impl RngCore) -> Fq

§

fn double(&self) -> Fq

§

fn square(&self) -> Fq

§

fn sqrt_ratio(num: &Fq, div: &Fq) -> (Choice, Fq)

§

fn sqrt_alt(&self) -> (Choice, Fq)

§

fn pow_vartime<S>(&self, exp: S) -> Fq
where diff --git a/halo2_proofs/circuit/struct.Value.html b/halo2_proofs/circuit/struct.Value.html index 8e4ef4334..877e1ba84 100644 --- a/halo2_proofs/circuit/struct.Value.html +++ b/halo2_proofs/circuit/struct.Value.html @@ -100,16 +100,16 @@
§Examples
F: Field,

source

pub fn evaluate(self) -> Value<F>

Evaluates this value directly, performing an unbatched inversion if necessary.

If the denominator is zero, the returned value is zero.

Trait Implementations§

source§

impl<V, O> Add<&Value<V>> for Value<V>
where - V: for<'v> Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Value<V>) -> <Value<V> as Add<&Value<V>>>::Output

Performs the + operation. Read more
source§

impl<F> Add<F> for Value<&Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> <Value<&Assigned<F>> as Add<F>>::Output

Performs the + operation. Read more
source§

impl<F> Add<F> for Value<Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> <Value<Assigned<F>> as Add<F>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<&V>> for Value<V>
where - V: for<'v> Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<&V>) -> <Value<V> as Add<Value<&V>>>::Output

Performs the + operation. Read more
source§

impl<F> Add<Value<F>> for Value<&Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> <Value<&Assigned<F>> as Add<Value<F>>>::Output

Performs the + operation. Read more
source§

impl<F> Add<Value<F>> for Value<Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> <Value<Assigned<F>> as Add<Value<F>>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for &Value<V>
where - &'v V: for<'v> Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> <&Value<V> as Add<Value<V>>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for Value<&V>
where - &'v V: for<'v> Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> <Value<&V> as Add<Value<V>>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add for &Value<V>
where - &'v V: for<'v> Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Value<V>) -> <&Value<V> as Add>::Output

Performs the + operation. Read more
source§

impl<V, O> Add for Value<V>
where - V: Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> <Value<V> as Add>::Output

Performs the + operation. Read more
source§

impl<V> Clone for Value<V>
where + V: for<'v> Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Value<V>) -> <Value<V> as Add<&Value<V>>>::Output

Performs the + operation. Read more
source§

impl<F> Add<F> for Value<&Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> <Value<&Assigned<F>> as Add<F>>::Output

Performs the + operation. Read more
source§

impl<F> Add<F> for Value<Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> <Value<Assigned<F>> as Add<F>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<&V>> for Value<V>
where + V: for<'v> Add<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<&V>) -> <Value<V> as Add<Value<&V>>>::Output

Performs the + operation. Read more
source§

impl<F> Add<Value<F>> for Value<&Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> <Value<&Assigned<F>> as Add<Value<F>>>::Output

Performs the + operation. Read more
source§

impl<F> Add<Value<F>> for Value<Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<F>) -> <Value<Assigned<F>> as Add<Value<F>>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for &Value<V>
where + &'v V: for<'v> Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> <&Value<V> as Add<Value<V>>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add<Value<V>> for Value<&V>
where + &'v V: for<'v> Add<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> <Value<&V> as Add<Value<V>>>::Output

Performs the + operation. Read more
source§

impl<V, O> Add for &Value<V>
where + &'v V: for<'v> Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Value<V>) -> <&Value<V> as Add>::Output

Performs the + operation. Read more
source§

impl<V, O> Add for Value<V>
where + V: Add<Output = O>,

§

type Output = Value<O>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Value<V>) -> <Value<V> as Add>::Output

Performs the + operation. Read more
source§

impl<V> Clone for Value<V>
where V: Clone,

source§

fn clone(&self) -> Value<V>

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

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

Performs copy-assignment from source. Read more
source§

impl<V> Debug for Value<V>
where V: Debug,

source§

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

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

impl<V> Default for Value<V>

source§

fn default() -> Value<V>

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

impl<F> From<Value<F>> for Value<Assigned<F>>
where F: Field,

source§

fn from(value: Value<F>) -> Value<Assigned<F>>

Converts to this type from the input type.
source§

impl<A, V> FromIterator<Value<A>> for Value<V>
where @@ -119,26 +119,26 @@
§Examples
Value::unknown() occur, a container of type V containing the values of each Value is returned.

source§

impl<V, O> Mul<&Value<V>> for Value<V>
where - V: for<'v> Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Value<V>) -> <Value<V> as Mul<&Value<V>>>::Output

Performs the * operation. Read more
source§

impl<F> Mul<F> for Value<&Assigned<F>>
where + V: for<'v> Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Value<V>) -> <Value<V> as Mul<&Value<V>>>::Output

Performs the * operation. Read more
source§

impl<F> Mul<F> for Value<&Assigned<F>>
where F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> <Value<&Assigned<F>> as Mul<F>>::Output

Performs the * operation. Read more
source§

impl<F> Mul<F> for Value<Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> <Value<Assigned<F>> as Mul<F>>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<&V>> for Value<V>
where - V: for<'v> Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<&V>) -> <Value<V> as Mul<Value<&V>>>::Output

Performs the * operation. Read more
source§

impl<F> Mul<Value<F>> for Value<&Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> <Value<&Assigned<F>> as Mul<Value<F>>>::Output

Performs the * operation. Read more
source§

impl<F> Mul<Value<F>> for Value<Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> <Value<Assigned<F>> as Mul<Value<F>>>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<V>> for &Value<V>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> <Value<Assigned<F>> as Mul<F>>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<&V>> for Value<V>
where + V: for<'v> Mul<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<&V>) -> <Value<V> as Mul<Value<&V>>>::Output

Performs the * operation. Read more
source§

impl<F> Mul<Value<F>> for Value<&Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> <Value<&Assigned<F>> as Mul<Value<F>>>::Output

Performs the * operation. Read more
source§

impl<F> Mul<Value<F>> for Value<Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<F>) -> <Value<Assigned<F>> as Mul<Value<F>>>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<V>> for &Value<V>
where &'v V: for<'v> Mul<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> <&Value<V> as Mul<Value<V>>>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul<Value<V>> for Value<&V>
where - &'v V: for<'v> Mul<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> <Value<&V> as Mul<Value<V>>>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for &Value<V>
where - &'v V: for<'v> Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Value<V>) -> <&Value<V> as Mul>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for Value<V>
where - V: Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> <Value<V> as Mul>::Output

Performs the * operation. Read more
source§

impl<V> Neg for Value<V>
where + &'v V: for<'v> Mul<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> <Value<&V> as Mul<Value<V>>>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for &Value<V>
where + &'v V: for<'v> Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Value<V>) -> <&Value<V> as Mul>::Output

Performs the * operation. Read more
source§

impl<V, O> Mul for Value<V>
where + V: Mul<Output = O>,

§

type Output = Value<O>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Value<V>) -> <Value<V> as Mul>::Output

Performs the * operation. Read more
source§

impl<V> Neg for Value<V>
where V: Neg,

§

type Output = Value<<V as Neg>::Output>

The resulting type after applying the - operator.
source§

fn neg(self) -> <Value<V> as Neg>::Output

Performs the unary - operation. Read more
source§

impl<V, O> Sub<&Value<V>> for Value<V>
where - V: for<'v> Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Value<V>) -> <Value<V> as Sub<&Value<V>>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<F> for Value<&Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> <Value<&Assigned<F>> as Sub<F>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<F> for Value<Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> <Value<Assigned<F>> as Sub<F>>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<&V>> for Value<V>
where - V: for<'v> Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<&V>) -> <Value<V> as Sub<Value<&V>>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<Value<F>> for Value<&Assigned<F>>
where - F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<F>) -> <Value<&Assigned<F>> as Sub<Value<F>>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<Value<F>> for Value<Assigned<F>>
where + V: for<'v> Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Value<V>) -> <Value<V> as Sub<&Value<V>>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<F> for Value<&Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> <Value<&Assigned<F>> as Sub<F>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<F> for Value<Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> <Value<Assigned<F>> as Sub<F>>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<&V>> for Value<V>
where + V: for<'v> Sub<&'v V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<&V>) -> <Value<V> as Sub<Value<&V>>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<Value<F>> for Value<&Assigned<F>>
where + F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<F>) -> <Value<&Assigned<F>> as Sub<Value<F>>>::Output

Performs the - operation. Read more
source§

impl<F> Sub<Value<F>> for Value<Assigned<F>>
where F: Field,

§

type Output = Value<Assigned<F>>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<F>) -> <Value<Assigned<F>> as Sub<Value<F>>>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<V>> for &Value<V>
where - &'v V: for<'v> Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> <&Value<V> as Sub<Value<V>>>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<V>> for Value<&V>
where - &'v V: for<'v> Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> <Value<&V> as Sub<Value<V>>>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for &Value<V>
where - &'v V: for<'v> Sub<Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Value<V>) -> <&Value<V> as Sub>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for Value<V>
where + &'v V: for<'v> Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> <&Value<V> as Sub<Value<V>>>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub<Value<V>> for Value<&V>
where + &'v V: for<'v> Sub<V, Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> <Value<&V> as Sub<Value<V>>>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for &Value<V>
where + &'v V: for<'v> Sub<Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Value<V>) -> <&Value<V> as Sub>::Output

Performs the - operation. Read more
source§

impl<V, O> Sub for Value<V>
where V: Sub<Output = O>,

§

type Output = Value<O>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Value<V>) -> <Value<V> as Sub>::Output

Performs the - operation. Read more
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 diff --git a/halo2_proofs/dev/cost_model/struct.ModelCircuit.html b/halo2_proofs/dev/cost_model/struct.ModelCircuit.html index c9e9ee912..ba041a38c 100644 --- a/halo2_proofs/dev/cost_model/struct.ModelCircuit.html +++ b/halo2_proofs/dev/cost_model/struct.ModelCircuit.html @@ -34,14 +34,14 @@
§column_queries: usize

Number of distinct column queries across all gates.

§point_sets: usize

Number of distinct sets of points in the multiopening argument.

§size: usize

Size of the proof for the circuit

-

Trait Implementations§

source§

impl Debug for ModelCircuit

source§

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

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

impl<'de> Deserialize<'de> for ModelCircuit

Trait Implementations§

source§

impl Debug for ModelCircuit

source§

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

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

impl<'de> Deserialize<'de> for ModelCircuit

source§

fn deserialize<__D>( __deserializer: __D -) -> Result<ModelCircuit, <__D as Deserializer<'de>>::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ModelCircuit

source§

fn serialize<__S>( +) -> Result<ModelCircuit, <__D as Deserializer<'de>>::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ModelCircuit

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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 @@ -143,6 +143,6 @@ V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where +[WithDispatch] wrapper. Read more

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where T: Send + Sync,

\ No newline at end of file diff --git a/halo2_proofs/dev/cost_model/struct.Permutation.html b/halo2_proofs/dev/cost_model/struct.Permutation.html index b3fe5b56c..d5c66a5bd 100644 --- a/halo2_proofs/dev/cost_model/struct.Permutation.html +++ b/halo2_proofs/dev/cost_model/struct.Permutation.html @@ -15,14 +15,14 @@

Struct halo2_proofs::dev::cost_model::Permutation

source ·
pub struct Permutation { /* private fields */ }
Expand description

Number of permutation enabled columns

-

Trait Implementations§

source§

impl Clone for Permutation

source§

fn clone(&self) -> Permutation

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Permutation

source§

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

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

impl<'de> Deserialize<'de> for Permutation

Trait Implementations§

source§

impl Clone for Permutation

source§

fn clone(&self) -> Permutation

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Permutation

source§

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

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

impl<'de> Deserialize<'de> for Permutation

source§

fn deserialize<__D>( __deserializer: __D -) -> Result<Permutation, <__D as Deserializer<'de>>::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Permutation

source§

fn serialize<__S>( +) -> Result<Permutation, <__D as Deserializer<'de>>::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Permutation

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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 @@ -125,6 +125,6 @@ V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where +[WithDispatch] wrapper. Read more

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

source§

impl<T> SyncDeps for T
where T: Send + Sync,

\ No newline at end of file diff --git a/halo2_proofs/dev/metadata/struct.Region.html b/halo2_proofs/dev/metadata/struct.Region.html index 8660e6a2f..c0fc0e8aa 100644 --- a/halo2_proofs/dev/metadata/struct.Region.html +++ b/halo2_proofs/dev/metadata/struct.Region.html @@ -15,7 +15,7 @@

Struct halo2_proofs::dev::metadata::Region

source ·
pub struct Region { /* private fields */ }
Expand description

Metadata about an assigned region within a circuit.

-

Trait Implementations§

source§

impl Clone for Region

source§

fn clone(&self) -> Region

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Region

source§

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

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

impl Display for Region

source§

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

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

impl From<(usize, &str)> for Region

source§

fn from(_: (usize, &str)) -> Region

Converts to this type from the input type.
source§

impl From<(usize, &str, HashMap<ColumnMid, String>)> for Region

source§

fn from(_: (usize, &str, HashMap<ColumnMid, String>)) -> Region

Converts to this type from the input type.
source§

impl From<(usize, String)> for Region

source§

fn from(_: (usize, String)) -> Region

Converts to this type from the input type.
source§

impl From<(usize, String, HashMap<ColumnMid, String>)> for Region

source§

fn from(_: (usize, String, HashMap<ColumnMid, String>)) -> Region

Converts to this type from the input type.
source§

impl PartialEq for Region

source§

fn eq(&self, other: &Region) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for Region

source§

fn clone(&self) -> Region

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Region

source§

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

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

impl Display for Region

source§

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

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

impl From<(usize, &str)> for Region

source§

fn from(_: (usize, &str)) -> Region

Converts to this type from the input type.
source§

impl From<(usize, &str, HashMap<ColumnMid, String>)> for Region

source§

fn from(_: (usize, &str, HashMap<ColumnMid, String>)) -> Region

Converts to this type from the input type.
source§

impl From<(usize, String)> for Region

source§

fn from(_: (usize, String)) -> Region

Converts to this type from the input type.
source§

impl From<(usize, String, HashMap<ColumnMid, String>)> for Region

source§

fn from(_: (usize, String, HashMap<ColumnMid, String>)) -> Region

Converts to this type from the input type.
source§

impl PartialEq for Region

source§

fn eq(&self, other: &Region) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
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§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/halo2_proofs/dev/metadata/struct.VirtualCell.html b/halo2_proofs/dev/metadata/struct.VirtualCell.html index 39a90a05b..4c5efd927 100644 --- a/halo2_proofs/dev/metadata/struct.VirtualCell.html +++ b/halo2_proofs/dev/metadata/struct.VirtualCell.html @@ -16,8 +16,8 @@

Struct halo2_proofs::dev::metadata::VirtualCell

source ·
pub struct VirtualCell { /* private fields */ }
Expand description

A “virtual cell” is a PLONK cell that has been queried at a particular relative offset within a custom gate.

-

Trait Implementations§

source§

impl Clone for VirtualCell

source§

fn clone(&self) -> VirtualCell

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for VirtualCell

source§

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

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

impl Display for VirtualCell

source§

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

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

impl From<(ColumnMid, i32)> for VirtualCell

source§

fn from(_: (ColumnMid, i32)) -> VirtualCell

Converts to this type from the input type.
source§

impl<S> From<(S, ColumnMid, i32)> for VirtualCell
where - S: AsRef<str>,

source§

fn from(_: (S, ColumnMid, i32)) -> VirtualCell

Converts to this type from the input type.
source§

impl From<VirtualCell> for VirtualCell

source§

fn from(c: VirtualCell) -> VirtualCell

Converts to this type from the input type.
source§

impl Ord for VirtualCell

source§

fn cmp(&self, other: &VirtualCell) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +

Trait Implementations§

source§

impl Clone for VirtualCell

source§

fn clone(&self) -> VirtualCell

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for VirtualCell

source§

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

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

impl Display for VirtualCell

source§

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

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

impl From<(ColumnMid, i32)> for VirtualCell

source§

fn from(_: (ColumnMid, i32)) -> VirtualCell

Converts to this type from the input type.
source§

impl<S> From<(S, ColumnMid, i32)> for VirtualCell
where + S: AsRef<str>,

source§

fn from(_: (S, ColumnMid, i32)) -> VirtualCell

Converts to this type from the input type.
source§

impl From<VirtualCell> for VirtualCell

source§

fn from(c: VirtualCell) -> VirtualCell

Converts to this type from the input type.
source§

impl Ord for VirtualCell

source§

fn cmp(&self, other: &VirtualCell) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for VirtualCell

source§

fn eq(&self, other: &VirtualCell) -> bool

This method tests for self and other values to be equal, and is used diff --git a/halo2_proofs/plonk/enum.Any.html b/halo2_proofs/plonk/enum.Any.html index 0172d1093..f8ffa7f57 100644 --- a/halo2_proofs/plonk/enum.Any.html +++ b/halo2_proofs/plonk/enum.Any.html @@ -23,7 +23,7 @@
§

Fixed

A Fixed variant

§

Instance

An Instance variant

Trait Implementations§

source§

impl Clone for Any

source§

fn clone(&self) -> Any

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

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

Performs copy-assignment from source. Read more
source§

impl ColumnType for Any

source§

fn query_cell<F>(&self, index: usize, at: Rotation) -> Expression<F>
where - F: Field,

Return expression from cell
source§

impl Debug for Any

source§

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

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

impl From<Advice> for Any

source§

fn from(_: Advice) -> Any

Converts to this type from the input type.
source§

impl From<Fixed> for Any

source§

fn from(_: Fixed) -> Any

Converts to this type from the input type.
source§

impl From<Instance> for Any

source§

fn from(_: Instance) -> Any

Converts to this type from the input type.
source§

impl Hash for Any

source§

fn hash<__H>(&self, state: &mut __H)
where + F: Field,

Return expression from cell
source§

impl Debug for Any

source§

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

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

impl From<Advice> for Any

source§

fn from(_: Advice) -> Any

Converts to this type from the input type.
source§

impl From<Fixed> for Any

source§

fn from(_: Fixed) -> Any

Converts to this type from the input type.
source§

impl From<Instance> for Any

source§

fn from(_: Instance) -> Any

Converts to this type from the input type.
source§

impl Hash for Any

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Any

source§

fn cmp(&self, other: &Any) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where diff --git a/halo2_proofs/plonk/enum.Assigned.html b/halo2_proofs/plonk/enum.Assigned.html index 72291d53a..2e66770df 100644 --- a/halo2_proofs/plonk/enum.Assigned.html +++ b/halo2_proofs/plonk/enum.Assigned.html @@ -36,37 +36,37 @@ necessary.

If the denominator is zero, this returns zero.

Trait Implementations§

source§

impl<F> Add<&Assigned<F>> for &Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add<&Assigned<F>> for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add<&Assigned<F>> for Assigned<F>
where F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add<Assigned<F>> for &Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add<F> for &Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add<F> for Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add for Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> AddAssign<&Assigned<F>> for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add<F> for &Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add<F> for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Assigned<F>

Performs the + operation. Read more
source§

impl<F> Add for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Assigned<F>) -> Assigned<F>

Performs the + operation. Read more
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 more
source§

impl<F> AddAssign for Assigned<F>
where F: Field,

source§

fn add_assign(&mut self, rhs: Assigned<F>)

Performs the += operation. Read more
source§

impl<F> Clone for Assigned<F>
where F: Clone,

source§

fn clone(&self) -> Assigned<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F> Debug for Assigned<F>
where F: Debug,

source§

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

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

impl<F> From<&Assigned<F>> for Assigned<F>
where - F: Field,

source§

fn from(val: &Assigned<F>) -> Assigned<F>

Converts to this type from the input type.
source§

impl<F> From<&F> for Assigned<F>
where - F: Field,

source§

fn from(numerator: &F) -> Assigned<F>

Converts to this type from the input type.
source§

impl<F> From<(F, F)> for Assigned<F>
where + F: Field,

source§

fn from(val: &Assigned<F>) -> Assigned<F>

Converts to this type from the input type.
source§

impl<F> From<&F> for Assigned<F>
where + F: Field,

source§

fn from(numerator: &F) -> Assigned<F>

Converts to this type from the input type.
source§

impl<F> From<(F, F)> for Assigned<F>
where F: Field,

source§

fn from(_: (F, F)) -> Assigned<F>

Converts to this type from the input type.
source§

impl<F> From<F> for Assigned<F>
where F: Field,

source§

fn from(numerator: F) -> Assigned<F>

Converts to this type from the input type.
source§

impl<F> Mul<&Assigned<F>> for Assigned<F>
where F: Field,

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F> Mul<F> for &Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F> Mul<F> for Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F> Mul for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F> Mul<F> for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F> Mul for Assigned<F>
where F: Field,

§

type Output = Assigned<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Assigned<F>) -> Assigned<F>

Performs the * operation. Read more
source§

impl<F> MulAssign<&Assigned<F>> for Assigned<F>
where - F: Field,

source§

fn mul_assign(&mut self, rhs: &Assigned<F>)

Performs the *= operation. Read more
source§

impl<F> MulAssign for Assigned<F>
where - F: Field,

source§

fn mul_assign(&mut self, rhs: Assigned<F>)

Performs the *= operation. Read more
source§

impl<F> Neg for &Assigned<F>
where + F: Field,

source§

fn mul_assign(&mut self, rhs: &Assigned<F>)

Performs the *= operation. Read more
source§

impl<F> MulAssign for Assigned<F>
where + F: Field,

source§

fn mul_assign(&mut self, rhs: Assigned<F>)

Performs the *= operation. Read more
source§

impl<F> Neg for &Assigned<F>
where F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> <&Assigned<F> as Neg>::Output

Performs the unary - operation. Read more
source§

impl<F> Neg for Assigned<F>
where F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> <Assigned<F> as Neg>::Output

Performs the unary - operation. Read more
source§

impl<F> PartialEq for Assigned<F>
where F: Field,

source§

fn eq(&self, other: &Assigned<F>) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl<F> Sub<&Assigned<F>> for &Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub<&Assigned<F>> for Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub<Assigned<F>> for &Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub<F> for &Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub<&Assigned<F>> for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub<Assigned<F>> for &Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub<F> for &Assigned<F>
where F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub<F> for Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub for Assigned<F>
where - F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> SubAssign<&Assigned<F>> for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> Sub for Assigned<F>
where + F: Field,

§

type Output = Assigned<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Assigned<F>) -> Assigned<F>

Performs the - operation. Read more
source§

impl<F> SubAssign<&Assigned<F>> for Assigned<F>
where F: Field,

source§

fn sub_assign(&mut self, rhs: &Assigned<F>)

Performs the -= operation. Read more
source§

impl<F> SubAssign for Assigned<F>
where F: Field,

source§

fn sub_assign(&mut self, rhs: Assigned<F>)

Performs the -= operation. Read more
source§

impl<F> Copy for Assigned<F>
where F: Copy,

source§

impl<F> Eq for Assigned<F>
where diff --git a/halo2_proofs/plonk/enum.Error.html b/halo2_proofs/plonk/enum.Error.html index 860a2b347..5e99d8baa 100644 --- a/halo2_proofs/plonk/enum.Error.html +++ b/halo2_proofs/plonk/enum.Error.html @@ -20,7 +20,7 @@ }
Expand description

This is an error that could occur during proving or circuit synthesis.

Variants§

§

Frontend(ErrorFront)

Frontend error case

§

Backend(ErrorBack)

Backend error case

-

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl From<Error> for Error

source§

fn from(err: ErrorBack) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: ErrorFront) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl From<Error> for Error

source§

fn from(err: ErrorBack) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: ErrorFront) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
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_proofs/plonk/enum.Expression.html b/halo2_proofs/plonk/enum.Expression.html index d7ef7eb3a..18be3be72 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 more
source§

impl<F> Clone for Expression<F>
where F: Clone,

source§

fn clone(&self) -> Expression<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F> Debug for Expression<F>
where F: Debug,

source§

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

Formats the value using the given formatter. Read more
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 more
source§

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 more
source§

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 more
source§

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 more
source§

impl<F> Neg for Expression<F>
where F: Field,

§

type Output = Expression<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> <Expression<F> as Neg>::Output

Performs the unary - operation. Read more
source§

impl<F> PartialEq for Expression<F>
where F: PartialEq,

source§

fn eq(&self, other: &Expression<F>) -> bool

This method tests for self and other 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 87faea2e6..e9bed1173 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> Clone for Column<C>
where C: Clone + ColumnType,

source§

fn clone(&self) -> Column<C>

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

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

Performs copy-assignment from source. Read more
source§

impl<C> Debug for Column<C>
where - C: Debug + ColumnType,

source§

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

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

impl From<Column<Advice>> for Column<Any>

source§

fn from(advice: Column<Advice>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Any>> for ColumnMid

source§

fn from(val: Column<Any>) -> ColumnMid

Converts to this type from the input type.
source§

impl From<Column<Fixed>> for Column<Any>

source§

fn from(advice: Column<Fixed>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Instance>> for Column<Any>

source§

fn from(advice: Column<Instance>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<ColumnMid> for Column<Any>

source§

fn from(column: ColumnMid) -> Column<Any>

Converts to this type from the input type.
source§

impl<C> Hash for Column<C>
where + C: Debug + ColumnType,

source§

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

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

impl From<Column<Advice>> for Column<Any>

source§

fn from(advice: Column<Advice>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Any>> for ColumnMid

source§

fn from(val: Column<Any>) -> ColumnMid

Converts to this type from the input type.
source§

impl From<Column<Fixed>> for Column<Any>

source§

fn from(advice: Column<Fixed>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<Column<Instance>> for Column<Any>

source§

fn from(advice: Column<Instance>) -> Column<Any>

Converts to this type from the input type.
source§

impl From<ColumnMid> for Column<Any>

source§

fn from(column: ColumnMid) -> Column<Any>

Converts to this type from the input type.
source§

impl<C> Hash for Column<C>
where C: Hash + ColumnType,

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, @@ -48,11 +48,11 @@ sufficient, and should not be overridden without very good reason.

source§

impl<C> PartialOrd for Column<C>
where C: ColumnType,

source§

fn partial_cmp(&self, other: &Column<C>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl TryFrom<Column<Any>> for Column<Advice>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from( +operator. Read more

source§

impl TryFrom<Column<Any>> for Column<Advice>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from( any: Column<Any> -) -> Result<Column<Advice>, <Column<Advice> as TryFrom<Column<Any>>>::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Fixed>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from( +) -> Result<Column<Advice>, <Column<Advice> as TryFrom<Column<Any>>>::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Fixed>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from( any: Column<Any> -) -> Result<Column<Fixed>, <Column<Fixed> as TryFrom<Column<Any>>>::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Instance>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from( +) -> Result<Column<Fixed>, <Column<Fixed> as TryFrom<Column<Any>>>::Error>

Performs the conversion.
source§

impl TryFrom<Column<Any>> for Column<Instance>

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from( any: Column<Any> ) -> Result<Column<Instance>, <Column<Instance> as TryFrom<Column<Any>>>::Error>

Performs the conversion.
source§

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 145f68e6f..997bda4eb 100644 --- a/halo2_proofs/poly/commitment/struct.Blind.html +++ b/halo2_proofs/poly/commitment/struct.Blind.html @@ -20,14 +20,14 @@ R: RngCore,

Given rng creates new blinding scalar

Trait Implementations§

source§

impl<F> Add for Blind<F>
where F: Field,

§

type Output = Blind<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Blind<F>) -> Blind<F>

Performs the + operation. Read more
source§

impl<F> AddAssign<F> for Blind<F>
where - F: Field,

source§

fn add_assign(&mut self, rhs: F)

Performs the += operation. Read more
source§

impl<F> AddAssign for Blind<F>
where - F: Field,

source§

fn add_assign(&mut self, rhs: Blind<F>)

Performs the += operation. Read more
source§

impl<F> Clone for Blind<F>
where + F: Field,

source§

fn add_assign(&mut self, rhs: F)

Performs the += operation. Read more
source§

impl<F> AddAssign for Blind<F>
where + F: Field,

source§

fn add_assign(&mut self, rhs: Blind<F>)

Performs the += operation. Read more
source§

impl<F> Clone for Blind<F>
where F: Clone,

source§

fn clone(&self) -> Blind<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F> Debug for Blind<F>
where F: Debug,

source§

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

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

impl<F> Default for Blind<F>
where F: Field,

source§

fn default() -> Blind<F>

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

impl<F> Mul for Blind<F>
where F: Field,

§

type Output = Blind<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Blind<F>) -> Blind<F>

Performs the * operation. Read more
source§

impl<F> MulAssign<F> for Blind<F>
where - F: Field,

source§

fn mul_assign(&mut self, rhs: F)

Performs the *= operation. Read more
source§

impl<F> MulAssign for Blind<F>
where - F: Field,

source§

fn mul_assign(&mut self, rhs: Blind<F>)

Performs the *= operation. Read more
source§

impl<F> PartialEq for Blind<F>
where + F: Field,

source§

fn mul_assign(&mut self, rhs: F)

Performs the *= operation. Read more
source§

impl<F> MulAssign for Blind<F>
where + F: Field,

source§

fn mul_assign(&mut self, rhs: Blind<F>)

Performs the *= operation. Read more
source§

impl<F> PartialEq for Blind<F>
where F: PartialEq,

source§

fn eq(&self, other: &Blind<F>) -> bool

This method tests for self and other 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 sufficient, and should not be overridden without very good reason.
source§

impl<F> Copy 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 aba29bb28..f101d208b 100644 --- a/halo2_proofs/poly/kzg/commitment/struct.KZGCommitmentScheme.html +++ b/halo2_proofs/poly/kzg/commitment/struct.KZGCommitmentScheme.html @@ -36,7 +36,7 @@ E: Engine + Debug, <E as Engine>::G1: CurveExt<AffineExt = <E as Engine>::G1Affine>, <E as Engine>::G2Affine: SerdeCurveAffine,

Create a multi-opening proof

-
source§

fn create_proof_with_engine<'com, Ch, T, R, I>( +

source§

fn create_proof_with_engine<'com, Ch, T, R, I>( &self, engine: &impl MsmAccel<<E as Engine>::G1Affine>, _: R, @@ -47,7 +47,7 @@ T: TranscriptWrite<<E as Engine>::G1Affine, Ch>, I: IntoIterator<Item = ProverQuery<'com, <E as Engine>::G1Affine>> + Clone, R: RngCore,

Create a multi-opening proof

-
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> ProverGWC<'params, E>

Creates new prover instance
source§

fn create_proof<'com, E, T, R, I>( +

source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> ProverGWC<'params, E>

Creates new prover instance
source§

fn create_proof<'com, E, T, R, I>( &self, rng: R, transcript: &mut T, @@ -62,7 +62,7 @@ E: Engine + Debug, <E as Engine>::G1: CurveExt<AffineExt = <E as Engine>::G1Affine>, <E as Engine>::G2Affine: SerdeCurveAffine,

Create a multi-opening proof

-
source§

fn create_proof_with_engine<'com, Ch, T, R, I>( +

source§

fn create_proof_with_engine<'com, Ch, T, R, I>( &self, engine: &impl MsmAccel<<E as Engine>::G1Affine>, _: R, @@ -73,7 +73,7 @@ T: TranscriptWrite<<E as Engine>::G1Affine, Ch>, I: IntoIterator<Item = ProverQuery<'com, <E as Engine>::G1Affine>> + Clone, R: RngCore,

Create a multi-opening proof

-
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> ProverSHPLONK<'params, E>

Creates new prover instance
source§

fn create_proof<'com, E, T, R, I>( +

source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new(params: &'params ParamsKZG<E>) -> ProverSHPLONK<'params, E>

Creates new prover instance
source§

fn create_proof<'com, E, T, R, I>( &self, rng: R, transcript: &mut T, @@ -87,25 +87,25 @@ E: MultiMillerLoop + Debug, <E as Engine>::G1: CurveExt<AffineExt = <E as Engine>::G1Affine>, V: Verifier<'params, KZGCommitmentScheme<E>, MSMAccumulator = DualMSM<E>, Guard = GuardKZG<E>>, - <E as Engine>::G2Affine: SerdeCurveAffine,

§

type Output = AccumulatorStrategy<E>

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> AccumulatorStrategy<E>

Creates new verification strategy instance
source§

fn process( + <E as Engine>::G2Affine: SerdeCurveAffine,

§

type Output = AccumulatorStrategy<E>

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> AccumulatorStrategy<E>

Creates new verification strategy instance
source§

fn process( self, f: impl FnOnce(<V as Verifier<'params, KZGCommitmentScheme<E>>>::MSMAccumulator) -> Result<<V as Verifier<'params, KZGCommitmentScheme<E>>>::Guard, Error> ) -> Result<<AccumulatorStrategy<E> as VerificationStrategy<'params, KZGCommitmentScheme<E>, V>>::Output, Error>

Obtains an MSM from the verifier strategy and yields back the strategy’s -output.
source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
source§

impl<'params, E, V> VerificationStrategy<'params, KZGCommitmentScheme<E>, V> for SingleStrategy<E>
where +output.

source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
source§

impl<'params, E, V> VerificationStrategy<'params, KZGCommitmentScheme<E>, V> for SingleStrategy<E>
where <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>, V: Verifier<'params, KZGCommitmentScheme<E>, MSMAccumulator = DualMSM<E>, Guard = GuardKZG<E>>, - <E as Engine>::G2Affine: SerdeCurveAffine,

§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> SingleStrategy<E>

Creates new verification strategy instance
source§

fn process( + <E as Engine>::G2Affine: SerdeCurveAffine,

§

type Output = ()

The output type of this verification strategy after processing a proof.
source§

fn new(params: &'params ParamsVerifierKZG<E>) -> SingleStrategy<E>

Creates new verification strategy instance
source§

fn process( self, f: impl FnOnce(<V as Verifier<'params, KZGCommitmentScheme<E>>>::MSMAccumulator) -> Result<<V as Verifier<'params, KZGCommitmentScheme<E>>>::Guard, Error> ) -> Result<<SingleStrategy<E> as VerificationStrategy<'params, KZGCommitmentScheme<E>, V>>::Output, Error>

Obtains an MSM from the verifier strategy and yields back the strategy’s -output.
source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
source§

impl<'params, E> Verifier<'params, KZGCommitmentScheme<E>> for VerifierGWC<E>
where +output.

source§

fn finalize(self) -> bool

Finalizes the batch and checks its validity. Read more
source§

impl<'params, E> Verifier<'params, KZGCommitmentScheme<E>> for VerifierGWC<E>
where <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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> VerifierGWC<E>

Creates new verifier instance
source§

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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> VerifierGWC<E>

Creates new verifier instance
source§

fn verify_proof<'com, Ch, T, I>( &self, transcript: &mut T, queries: I, @@ -118,7 +118,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, @@ -127,8 +127,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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> VerifierSHPLONK<E>

Creates new verifier instance

Auto 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 verification
source§

const QUERY_INSTANCE: bool = false

Query instance or not
source§

fn new() -> VerifierSHPLONK<E>

Creates new verifier instance

Auto 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 dca29d4e2..5b70580be 100644 --- a/halo2_proofs/transcript/struct.Challenge255.html +++ b/halo2_proofs/transcript/struct.Challenge255.html @@ -115,12 +115,12 @@
§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 typed ChallengeScalar.
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, @@ -139,12 +139,12 @@
§Examples
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>>
where @@ -153,11 +153,11 @@
§Examples
<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> TranscriptReadBuffer<R, C, Challenge255<C>> for Blake2bRead<R, C, Challenge255<C>>
where R: Read, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,

source§

fn init(reader: R) -> Blake2bRead<R, C, Challenge255<C>>

Initialize a transcript given an input buffer.

+ <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,
source§

fn init(reader: R) -> Blake2bRead<R, C, Challenge255<C>>

Initialize a transcript given an input buffer.

source§

impl<R, C> TranscriptReadBuffer<R, C, Challenge255<C>> for Keccak256Read<R, C, Challenge255<C>>
where R: Read, C: CurveAffine, - <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,

source§

fn init(reader: R) -> Keccak256Read<R, C, Challenge255<C>>

Initialize a transcript given an input buffer.

+ <C as PrimeCurveAffine>::Scalar: FromUniformBytes<64>,
source§

fn init(reader: R) -> Keccak256Read<R, C, Challenge255<C>>

Initialize a transcript given an input buffer.

source§

impl<W, C> TranscriptWrite<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where W: Write, C: CurveAffine, @@ -173,12 +173,12 @@
§Examples
) -> Result<(), Error>

Write a scalar to the proof and the transcript.
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§

fn finalize(self) -> W

Conclude the interaction and return the output buffer (writer).
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§

fn finalize(self) -> W

Conclude the interaction and return the output buffer (writer).
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§

fn finalize(self) -> W

Conclude the interaction and return the output buffer (writer).

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 cdc80b58f..5ff211c09 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>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
source§

impl<F: Field> AddAssign<F> for SymbolicExpression<F>

source§

fn add_assign(&mut self, rhs: F)

Performs the += operation. Read more
source§

impl<F: Field> AddAssign for SymbolicExpression<F>

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl<F: Clone + Field> Clone for SymbolicExpression<F>

source§

fn clone(&self) -> SymbolicExpression<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for SymbolicExpression<F>

source§

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

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

impl<F: Field> Default for SymbolicExpression<F>

source§

fn default() -> Self

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

impl<F: Field> Display for SymbolicExpression<F>

source§

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

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

impl<F: Field> From<F> for SymbolicExpression<F>

source§

fn from(value: F) -> Self

Converts to this type from the input type.
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>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl<F: Field> MulAssign<F> for SymbolicExpression<F>

source§

fn mul_assign(&mut self, rhs: F)

Performs the *= operation. Read more
source§

impl<F: Field> MulAssign for SymbolicExpression<F>

source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
source§

impl<F: Field> Neg for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self

Performs the unary - operation. Read more
source§

impl<F: Field> Product<F> for SymbolicExpression<F>

source§

fn product<I: Iterator<Item = F>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by -multiplying the items.
source§

impl<F: Field> Product for SymbolicExpression<F>

source§

fn product<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by -multiplying the items.
source§

impl<F: Field> Sub<F> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
source§

impl<F: Field> SubAssign<F> for SymbolicExpression<F>

source§

fn sub_assign(&mut self, rhs: F)

Performs the -= operation. Read more
source§

impl<F: Field> SubAssign for SymbolicExpression<F>

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

impl<F: Field> Sum<F> for SymbolicExpression<F>

source§

fn sum<I: Iterator<Item = F>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by + Self: Mul<Rhs>,
source§

impl<F: Field> Add<F> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
source§

impl<F: Field> AddAssign<F> for SymbolicExpression<F>

source§

fn add_assign(&mut self, rhs: F)

Performs the += operation. Read more
source§

impl<F: Field> AddAssign for SymbolicExpression<F>

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl<F: Clone + Field> Clone for SymbolicExpression<F>

source§

fn clone(&self) -> SymbolicExpression<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for SymbolicExpression<F>

source§

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

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

impl<F: Field> Default for SymbolicExpression<F>

source§

fn default() -> Self

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

impl<F: Field> Display for SymbolicExpression<F>

source§

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

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

impl<F: Field> From<F> for SymbolicExpression<F>

source§

fn from(value: F) -> Self

Converts to this type from the input type.
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>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl<F: Field> MulAssign<F> for SymbolicExpression<F>

source§

fn mul_assign(&mut self, rhs: F)

Performs the *= operation. Read more
source§

impl<F: Field> MulAssign for SymbolicExpression<F>

source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
source§

impl<F: Field> Neg for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self

Performs the unary - operation. Read more
source§

impl<F: Field> Product<F> for SymbolicExpression<F>

source§

fn product<I: Iterator<Item = F>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by +multiplying the items.
source§

impl<F: Field> Product for SymbolicExpression<F>

source§

fn product<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by +multiplying the items.
source§

impl<F: Field> Sub<F> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
source§

impl<F: Field> SubAssign<F> for SymbolicExpression<F>

source§

fn sub_assign(&mut self, rhs: F)

Performs the -= operation. Read more
source§

impl<F: Field> SubAssign for SymbolicExpression<F>

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

impl<F: Field> Sum<F> for SymbolicExpression<F>

source§

fn sum<I: Iterator<Item = F>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by “summing up” the items.
source§

impl<F: Field> Sum for SymbolicExpression<F>

source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by “summing up” the items.

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 3300eb805..e6439b8a8 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> Add for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
source§

impl<F: Field> AddAssign for FWrap<F>

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl<F: Clone + Field> Clone for FWrap<F>

source§

fn clone(&self) -> FWrap<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for FWrap<F>

source§

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

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

impl<F: Default + Field> Default for FWrap<F>

source§

fn default() -> FWrap<F>

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

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 more
source§

impl<F: Field> Display for FWrap<F>

source§

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

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

impl<F: Field> Div for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the / operator.
source§

fn div(self, rhs: Self) -> Self

Performs the / operation. Read more
source§

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 more
source§

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> Add for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
source§

impl<F: Field> AddAssign for FWrap<F>

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl<F: Clone + Field> Clone for FWrap<F>

source§

fn clone(&self) -> FWrap<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for FWrap<F>

source§

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

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

impl<F: Default + Field> Default for FWrap<F>

source§

fn default() -> FWrap<F>

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

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 more
source§

impl<F: Field> Display for FWrap<F>

source§

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

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

impl<F: Field> Div for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the / operator.
source§

fn div(self, rhs: Self) -> Self

Performs the / operation. Read more
source§

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 more
source§

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 a u64 power. This is similar to exp_u64, but more general in that it can be used with AbstractFields, 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: Hash + Field> Hash for FWrap<F>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<F: Field> Mul for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl<F: Field> MulAssign for FWrap<F>

source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
source§

impl<F: Field> Neg for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: Ord + Field> Ord for FWrap<F>

source§

fn cmp(&self, other: &FWrap<F>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<F: Field> Mul for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl<F: Field> MulAssign for FWrap<F>

source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
source§

impl<F: Field> Neg for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl<F: Ord + Field> Ord for FWrap<F>

source§

fn cmp(&self, other: &FWrap<F>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<F: PartialEq + Field> PartialEq for FWrap<F>

source§

fn eq(&self, other: &FWrap<F>) -> bool

This method tests for self and other values to be equal, and is used @@ -33,8 +33,8 @@ sufficient, and should not be overridden without very good reason.
source§

impl<F: PartialOrd + Field> PartialOrd for FWrap<F>

source§

fn partial_cmp(&self, other: &FWrap<F>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<F: PrimeField + Hash + Ord> PrimeField for FWrap<F>

source§

impl<F: PrimeField + Hash + Ord> PrimeField64 for FWrap<F>

source§

const ORDER_U64: u64 = 0u64

source§

fn as_canonical_u64(&self) -> u64

Return the representative of value that is less than ORDER_U64.
source§

impl<F: Field> Product for FWrap<F>

source§

fn product<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by -multiplying the items.
source§

impl<F: PrimeField> Serialize for FWrap<F>

source§

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

Serialize this value into the given Serde serializer. Read more
source§

impl<F: Field> Sub for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
source§

impl<F: Field> SubAssign for FWrap<F>

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

impl<F: Field> Sum for FWrap<F>

source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by +multiplying the items.
source§

impl<F: PrimeField> Serialize for FWrap<F>

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where + S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<F: Field> Sub for FWrap<F>

§

type Output = FWrap<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
source§

impl<F: Field> SubAssign for FWrap<F>

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

impl<F: Field> Sum for FWrap<F>

source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Method which takes an iterator and generates Self from the elements by “summing up” the items.
source§

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 @@ -162,7 +162,7 @@ V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T, Rhs, Output> GroupOps<Rhs, Output> for T
where +[WithDispatch] wrapper. Read more

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T, Rhs, Output> GroupOps<Rhs, Output> for T
where T: Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>,

§

impl<T, Rhs, Output> ScalarMul<Rhs, Output> for T
where T: Mul<Rhs, Output = Output> + MulAssign<Rhs>,

\ No newline at end of file diff --git a/p3_frontend/struct.SymbolicVariable.html b/p3_frontend/struct.SymbolicVariable.html index 192e988bf..4ad850d8c 100644 --- a/p3_frontend/struct.SymbolicVariable.html +++ b/p3_frontend/struct.SymbolicVariable.html @@ -15,7 +15,7 @@

Struct p3_frontend::SymbolicVariable

source ·
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>

source

pub fn new_query(is_next: bool, column: usize) -> Self

source

pub fn new_public(index: usize) -> Self

Trait Implementations§

source§

impl<F: Field> Add<F> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Clone + Field> Clone for SymbolicVariable<F>

source§

fn clone(&self) -> SymbolicVariable<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for SymbolicVariable<F>

source§

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

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

impl<F: Field> Display for SymbolicVariable<F>

source§

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

Formats the value using the given formatter. Read more
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>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Sub<F> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
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>

source

pub fn new_query(is_next: bool, column: usize) -> Self

source

pub fn new_public(index: usize) -> Self

Trait Implementations§

source§

impl<F: Field> Add<F> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: F) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Field> Add for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl<F: Clone + Field> Clone for SymbolicVariable<F>

source§

fn clone(&self) -> SymbolicVariable<F>

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

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

Performs copy-assignment from source. Read more
source§

impl<F: Debug + Field> Debug for SymbolicVariable<F>

source§

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

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

impl<F: Field> Display for SymbolicVariable<F>

source§

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

Formats the value using the given formatter. Read more
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>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Mul for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
source§

impl<F: Field> Sub<F> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: F) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicExpression<F>> for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicExpression<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub<SymbolicVariable<F>> for SymbolicExpression<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: SymbolicVariable<F>) -> Self::Output

Performs the - operation. Read more
source§

impl<F: Field> Sub for SymbolicVariable<F>

§

type Output = SymbolicExpression<F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
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 3fcab9710..a2431bb38 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":"CCCCCCRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMKPPPKGKNNNNNNNNNNNNNNNNNNNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNPPPGPPPPPFFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNCNNNNNNNNNNNNNNNNNNNNNCNNNNNNOHHFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNHHNKFGFFKKFRPRFFPKONNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNCNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNFTKRRKRRKKRKRKTTRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFINNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFKRFFKKKKKNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMMNNNNNNNNNNNNNNNNMNHHMNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNN","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","ProverSingle","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","BatchVerifier","add_proof","borrow","borrow_mut","default","deref","deref_mut","drop","finalize","fmt","from","init","into","new","try_from","try_into","type_id","verify_proof","verify_proof_single","vzip","Basis","Coeff","Error","EvaluationDomain","ExtendedLagrangeCoeff","Guard","LagrangeBasis","LagrangeCoeff","MSMAccumulator","OpeningError","Output","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","ipa","iter","iter_mut","k","kzg","l_i_range","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","QUERY_INSTANCE","QUERY_INSTANCE","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","IPACommitmentScheme","ParamsIPA","ParamsVerifierIPA","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commit","commit_lagrange","create_proof_with_engine","deref","deref","deref_mut","deref_mut","downsize","drop","drop","empty_msm","fmt","fmt","from","from","init","init","into","into","k","n","new","new_params","read","read_params","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","write","MSMIPA","add_constant_term","add_msm","add_msm","add_to_g_scalars","add_to_u_scalar","add_to_w_scalar","append_term","bases","borrow","borrow_mut","check","clone","clone_into","deref","deref_mut","drop","eval","fmt","from","init","into","new","scalars","scale","to_owned","try_from","try_into","type_id","vzip","ProverIPA","VerifierIPA","borrow","borrow","borrow_mut","borrow_mut","create_proof_with_engine","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new","new","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","Accumulator","AccumulatorStrategy","GuardIPA","SingleStrategy","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","compute_g","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","finalize","finalize","fmt","fmt","fmt","fmt","from","from","from","from","g","init","init","init","init","into","into","into","into","new","new","process","process","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u_packed","use_challenges","use_g","vzip","vzip","vzip","vzip","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"],[369,"halo2_backend::poly"],[539,"halo2_backend::poly::commitment"],[605,"halo2_backend::poly::ipa"],[609,"halo2_backend::poly::ipa::commitment"],[654,"halo2_backend::poly::ipa::msm"],[684,"halo2_backend::poly::ipa::multiopen"],[716,"halo2_backend::poly::ipa::strategy"],[789,"halo2_backend::poly::kzg"],[793,"halo2_backend::poly::kzg::commitment"],[866,"halo2_backend::poly::kzg::msm"],[915,"halo2_backend::poly::kzg::multiopen"],[980,"halo2_backend::poly::kzg::strategy"],[1040,"halo2_backend::transcript"],[1195,"pasta_curves::arithmetic::curves"],[1196,"subtle"],[1197,"ff"],[1198,"core::cmp"],[1199,"core::ops::arith"],[1200,"core::ops::function"],[1201,"alloc::boxed"],[1202,"core::marker"],[1203,"core::clone"],[1204,"core::convert"],[1205,"rand_core"],[1206,"core::fmt"],[1207,"std::io::error"],[1208,"std::io"],[1209,"core::result"],[1210,"core::any"],[1211,"rayon::iter"],[1212,"rayon::slice"],[1213,"rayon::iter::blocks"],[1214,"rayon::iter::chain"],[1215,"rayon::iter::chunks"],[1216,"rayon::iter::cloned"],[1217,"alloc::vec"],[1218,"alloc::collections::linked_list"],[1219,"rayon::iter::copied"],[1220,"rayon::iter::plumbing"],[1221,"rayon::iter::enumerate"],[1222,"rayon::iter::filter"],[1223,"rayon::iter::filter_map"],[1224,"core::option"],[1225,"rayon::iter::flat_map"],[1226,"rayon::iter::flat_map_iter"],[1227,"core::iter::traits::collect"],[1228,"rayon::iter::flatten"],[1229,"rayon::iter::flatten_iter"],[1230,"rayon_core::scope"],[1231,"rayon::iter::fold"],[1232,"rayon::iter::fold_chunks"],[1233,"rayon::iter::fold_chunks_with"],[1234,"rayon::iter::inspect"],[1235,"rayon::iter::interleave"],[1236,"rayon::iter::interleave_shortest"],[1237,"rayon::iter::intersperse"],[1238,"rayon::iter::map"],[1239,"rayon::iter::map_with"],[1240,"rayon::iter::panic_fuse"],[1241,"rayon::slice::chunk_by"],[1242,"rayon::slice::chunks"],[1243,"rayon::slice::rchunks"],[1244,"core::default"],[1245,"either"],[1246,"rayon::iter::positions"],[1247,"core::iter::traits::accum"],[1248,"rayon::iter::rev"],[1249,"rayon::iter::skip"],[1250,"rayon::iter::skip_any"],[1251,"rayon::iter::skip_any_while"],[1252,"rayon_core::broadcast"],[1253,"rayon::iter::step_by"],[1254,"rayon::iter::take"],[1255,"rayon::iter::take_any"],[1256,"rayon::iter::take_any_while"],[1257,"rayon::iter::try_fold"],[1258,"rayon::iter::private"],[1259,"halo2_middleware::multicore"],[1260,"rayon::iter::update"],[1261,"rayon::iter::while_some"],[1262,"rayon::iter::len"],[1263,"rayon::iter::zip"],[1264,"rayon::iter::zip_eq"],[1265,"halo2_backend::plonk::error"],[1266,"halo2_backend::poly::domain"],[1267,"core::error"],[1268,"alloc::string"],[1269,"halo2_middleware::circuit"],[1270,"std::collections::hash::map"],[1271,"halo2_middleware::zal::traits"],[1272,"halo2_middleware::zal::impls"],[1273,"halo2_backend::plonk::verifier::batch"],[1274,"halo2_backend::poly::strategy"],[1275,"core::ops::range"],[1276,"core::iter::traits::iterator"],[1277,"halo2_middleware::poly"],[1278,"halo2_backend::poly::ipa::multiopen::prover"],[1279,"halo2_backend::poly::ipa::multiopen::verifier"],[1280,"pairing"],[1281,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[1282,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[1283,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[1284,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[1285,"halo2_middleware"],[1286,"rayon_core"],[1287,"rayon_core::join"],[1288,"halo2_backend::poly::ipa::commitment::prover"],[1289,"halo2_backend::poly::ipa::commitment::verifier"]],"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,202,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,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,0,0,143,0,0,0,0,0,0,0,0,168,154,146,0,0,154,0,148,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,126,150,151,152,148,126,150,151,152,148,126,126,0,126,126,126,153,154,150,151,152,148,148,126,153,154,150,151,152,148,148,126,126,153,154,150,151,152,148,126,126,126,126,126,126,146,126,153,154,150,151,152,148,126,153,154,150,151,152,148,126,126,126,126,148,148,148,148,148,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,0,148,148,126,0,126,126,126,148,146,126,148,148,148,126,146,148,126,126,148,148,126,150,151,152,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,148,126,153,154,150,151,152,148,0,164,0,136,145,0,164,145,0,0,136,0,136,0,137,145,136,0,160,160,160,161,161,161,160,160,161,160,160,162,133,137,137,160,160,160,133,160,164,160,161,160,160,160,160,133,160,160,160,133,162,137,145,160,136,133,136,161,161,160,160,160,160,145,160,133,0,0,0,0,0,0,0,169,171,169,171,169,169,169,169,0,169,171,169,171,169,169,171,169,169,171,169,171,169,171,169,171,169,169,169,171,169,171,169,169,171,169,171,169,171,0,169,171,169,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,0,173,174,173,174,173,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,174,173,174,0,0,0,0,172,175,176,177,172,175,176,177,172,175,172,175,172,172,175,176,177,172,175,176,177,172,175,176,177,176,177,172,175,176,177,172,175,176,177,175,172,175,176,177,172,175,176,177,176,177,176,177,172,175,172,175,176,177,172,175,176,177,172,175,176,177,175,172,172,172,175,176,177,0,0,0,0,0,0,0,178,180,182,178,180,182,178,180,178,180,178,178,180,178,180,182,178,180,182,178,180,178,180,182,178,180,178,180,182,178,180,182,178,178,180,182,178,180,182,178,180,178,180,178,182,178,180,178,180,182,178,178,180,178,180,182,178,180,182,178,180,182,178,178,180,182,178,180,178,180,0,0,181,183,181,181,181,183,181,183,181,183,181,183,181,183,181,181,183,181,183,181,183,181,183,181,181,183,181,183,181,183,181,183,181,183,181,181,183,181,183,181,183,181,183,181,183,181,183,0,0,0,0,185,187,186,188,185,187,186,188,185,186,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,186,188,185,187,186,188,185,187,186,188,185,187,186,188,187,188,185,187,186,188,0,0,0,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,190,191,189,190,191,189,190,191,189,190,191,189,190,191,190,190,191,191,190,191,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,190,0,0,0,0,0,127,0,0,0,0,0,0,0,127,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,128,194,195,196,197,128,194,195,196,197,194,195,196,197,193,193,198,198,194,195,196,197,193,198,194,195,196,197,193,198,199,196,197,194,195,196,197,193,198,194,195,196,197,193,198,127,198,200,199,194,194,195,195,196,196,197,197,193,198,194,195,196,197,193,198,127,198,0,0,147,194,195,147,194,195,128,194,195,196,197,128,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,138,196,197,138,196,197],"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{Bj{AAn{c}}}}{Fl{{Fl{Fl}}}}{Fl{Oj}}}Bnh}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{}{{AAn{c}}}{Kjh}}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{CbBn}{{{AAn{c}}{j{{AB`{c}}}}{j{{Nn{c}}}}}Bfh}{{{j{{AAn{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}{{}Cb}{ce{}{}}{{}{{AAn{c}}}h}>>={{j{j{Nn}}g{j{{Bl{{Fl{Fl}}}}}}{j{Bjk}}}{{Dn{Ob}}}AA`{{ABb{c}}}{{ABd{ce}}}On{{ABf{i}}}}{{j{j{Nn}}g{Fl{Fl}}{j{Bjk}}}{{Dn{Ob}}}AA`{{ABb{c}}}{{ABd{ce}}}On{{ABf{i}}}}3````````````````{{{ABh{ce}}{j{{ABh{ce}}}}}{{ABh{ce}}}AhABj}>>>>>>>======={{{j{{Ol{c}}}}}{{Ol{c}}}{CfAh}}{{{j{ABl}}}ABl}{{{j{ABn}}}ABn}{{{j{AC`}}}AC`}{{{j{{ABh{ce}}}}}{{ABh{ce}}}CfCf}{{{j{c}}{j{Bje}}}Bn{}{}}0000{{{j{{Ol{c}}}}{Fl{c}}}{{ABh{cABl}}}A`}{{{j{{Ol{c}}}}{ABh{cABl}}}{{ABh{cAC`}}}A`}`{{{j{{Ol{c}}}}c}{{ABh{cAC`}}}A`}{{{j{{Ol{c}}}}c}{{ABh{cABn}}}A`}{Cb{{j{c}}}{}}000000{{{j{{ABh{ce}}}}}{{j{{Bl{c}}}}}{}{}}{Cb{{j{Bjc}}}{}}00000{{{j{Bj{ABh{ce}}}}}{{j{Bj{Bl{c}}}}}{}{}}1{{{j{{Ol{c}}}}{ABh{cAC`}}}{{ABh{cAC`}}}A`}{CbBn}000000{{{j{{Ol{c}}}}}{{ABh{cABl}}}A`}{{{j{{Ol{c}}}}}{{ABh{cAC`}}}A`}{{{j{{Ol{c}}}}}{{ABh{cABn}}}A`}{{{j{{Ol{c}}}}}A@bA`}{{{j{{Ol{c}}}}}CbA`}{{{j{{Ol{c}}}}{ABh{cAC`}}}{{Fl{c}}}A`}{{{ABd{}{{Aj{c}}}}}Bf{}}{{{j{{Ol{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{{ACb{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{ACd}}{j{BjD`}}}Db}{{{j{ABl}}{j{BjD`}}}Db}{{{j{ABn}}{j{BjD`}}}Db}{{{j{AC`}}{j{BjD`}}}Db}{{{j{{ABh{ce}}}}{j{BjD`}}}DbOdOd}{cc{}}000000{{{j{{Ol{c}}}}}cA`}00;{{{j{{ABh{ce}}}}Cb}{{j{c}}}{}{}}{{{j{{ABh{ce}}}}ACf}{{j{{Bl{c}}}}}{}{}}{{{j{{ABh{ce}}}}{ACh{Cb}}}{{j{{Bl{c}}}}}{}{}}{{{j{Bj{ABh{ce}}}}{ACh{Cb}}}{{j{Bj{Bl{c}}}}}{}{}}{{{j{Bj{ABh{ce}}}}ACf}{{j{Bj{Bl{c}}}}}{}{}}{{{j{Bj{ABh{ce}}}}Cb}{{j{Bjc}}}{}{}}{{}Cb}000000{ce{}{}}000000`{{{j{{ABh{ce}}}}}{{`{{ACj{}{{Ed{{j{c}}}}}}}}}{}{}}{{{j{Bj{ABh{ce}}}}}{{`{{ACj{}{{Ed{{j{Bjc}}}}}}}}}{}{}}{{{j{{Ol{c}}}}}A@bA`}`{{{j{{Ol{c}}}}cce}{{Fl{c}}}A`{{Hb{}{{Ed{ACl}}}}Cf}}{{{j{{Ol{c}}}}{Fl{c}}}{{ABh{cABn}}}A`}{{{j{{Ol{c}}}}{ABh{cABn}}}{{ABh{cABl}}}A`}{{{ABh{ce}}c}{{ABh{ce}}}AhABj}{j{{ABd{}{{Aj{c}}}}}{}}{{A@bA@b}{{Ol{c}}}A`}{{Cbc}{{ABh{ce}}}Cf{}}{{{Fl{c}}}{{ABh{cABn}}}Cf}{{{j{{ABh{ce}}}}}Cb{}{}}{{{j{{Ol{c}}}}}{{ACb{c}}}A`}{{{ABd{}{{Aj{c}}}}e}{{Dn{cOb}}}{}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{j{{ABh{cABn}}}}ACn}{{ABh{cABn}}}Ah}{{{j{{Ol{c}}}}{j{{ABh{cAC`}}}}ACn}{{ABh{cAC`}}}A`}{{{j{{Ol{c}}}}cACn}cA`}{{{ABh{ce}}{j{{ABh{ce}}}}}{{ABh{ce}}}AhABj}{{{j{{ABh{ce}}}}c}{{ABh{ce}}}AhABj}{{{j{c}}}e{}{}}0000{c{{Dn{e}}}{}{}}0000000000000{{{j{c}}}E`{}}000000`{ce{}{}}000000``````````````````{{{AD`{c}}{AD`{c}}}{{AD`{c}}}Ah}{{{j{Bj{AD`{c}}}}c}BnAh}{{{j{Bj{AD`{c}}}}{AD`{c}}}BnAh}{{{j{BjADb}}{j{ADb}}}Bn}{{{j{BjADb}}}Bn}{{{j{ADb}}}Fl}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{{j{ADb}}{j{e}}}Bfh{{AAf{c}}}}{{{j{{AD`{c}}}}}{{AD`{c}}}Cf}{{{j{c}}{j{Bje}}}Bn{}{}}{{{j{ADd}}{j{e}}{j{{ABh{ABl}}}}AD`}{}h{{AAf{c}}}}{{{j{A@j}}{j{e}}{j{{ABh{ABn}}}}AD`}{}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}}{{}{{AD`{c}}}Ah}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{{{j{BjA@j}}A@b}Bn}{CbBn}{{{j{{ADh{}{{ADf{c}}}}}}}c{{ADb{e}}}h}{{{j{{AD`{c}}}}{j{{AD`{c}}}}}BfADj}{{{j{ADb}}{j{e}}}{}h{{AAf{c}}}}{{{j{{AD`{c}}}}{j{BjD`}}}DbOd}{cc{}}{{}Cb}{ce{}{}}{{{j{A@j}}}A@b}{{{AD`{c}}{AD`{c}}}{{AD`{c}}}Ah}{{{j{Bj{AD`{c}}}}{AD`{c}}}BnAh}{{{j{Bj{AD`{c}}}}c}BnAh}{{{j{A@j}}}Ch}{A@bADd}{jAAb}{{}{{ABb{}{{ADl{c}}{ADn{g}}}}}{{AE`{e}{{ADn{g}}}}}AA`{}}{{{j{Bjc}}}{{AD`{e}}}ClAh}{A@bc{}}{{{j{Bjc}}}{{Df{A@j}}}Dh}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{{j{ADb}}}Fl}{{{j{BjADb}}}Bn}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}{{{j{{ABb{}{{ADl{c}}{ADn{g}}}}}}{j{Bjk}}mg}{{Dn{cACd}}}{{AE`{e}{{ADn{g}}}}}AA`{}On{{ABf{i}}}{{Hb{}{{Ed{`}}}}Cf}}{ce{}{}}{{{j{A@j}}{j{Bjc}}}{{Df{Bn}}}Eb}```````{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AEb{c}}}}}{{AEb{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}{{{j{{AEb{c}}}}{j{e}}{j{{ABh{ABl}}}}AD`}{}h{{AAf{c}}}}{{{j{{AEb{c}}}}{j{e}}{j{{ABh{ABn}}}}AD`}{}h{{AAf{c}}}}{{{j{e}}{j{{AEb{c}}}}g{j{Bjk}}{j{{ABh{ABl}}}}AD`}{{Df{Bn}}}h{{AAf{c}}}Cl{{On{c}}}{{AAd{ci}}}}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{{{j{Bj{AEb{c}}}}A@b}Bnh}{CbBn}0{{{j{{AEb{c}}}}}{{AEd{c}}}h}{{{j{{AEb{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AEf{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}0{{}Cb}0{ce{}{}}0{{{j{{AEb{c}}}}}A@bh}{{{j{{AEb{c}}}}}Chh}{A@b{{AEb{c}}}h}{A@bc{}}{{{j{Bjc}}}{{Df{{AEb{e}}}}}Dhh}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}0{{{AEd{c}}{j{Bjg}}}{{Dn{{AEh{c}}ACd}}}h{{On{c}}}{{ABf{ce}}}}::{{{j{{AEb{c}}}}{j{Bje}}}{{Df{Bn}}}hEb}`{{{j{Bj{AEd{c}}}}}Bnh}{{{j{Bj{AEd{c}}}}{j{{AEd{c}}}}}Bnh}0{{{j{Bj{AEd{c}}}}{j{Bl}}}Bnh}222{{{j{{AEd{c}}}}}Flh}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{{j{{AEd{c}}}}{j{e}}}Bfh{{AAf{c}}}}{{{j{{AEd{c}}}}}{{AEd{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{CbBn}{{{j{{AEd{c}}}}{j{e}}}{}h{{AAf{c}}}}{{{j{{AEd{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}{{}Cb}{ce{}{}}{{{j{{AB`{c}}}}}{{AEd{c}}}h}>{{{j{Bj{AEd{c}}}}}Bnh}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}5``{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AEj{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}h{{AAf{c}}}Cl{{On{c}}}{{AAd{ci}}}{{Hb{}{{Ed{{`{c}}}}}}Cf}}??>>=={{{j{{AEj{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AEl{c}}}}{j{BjD`}}}Db{Odh}}<<;;::{{{j{{AEb{c}}}}}{{AEj{c}}}h}{{}{{AEl{c}}}h}888877{{{j{{AEl{c}}}}{j{Bjg}}i{AEd{c}}}{{Dn{kACd}}}h{{On{c}}}{{ABf{ce}}}{{Hb{}{{Ed{{`{c{AEd{c}}}}}}}}Cf}{}}==````77776666{{{j{{AEh{c}}}}}{{AEh{c}}}{Cfh}}{{{j{{AEn{c}}}}}{{AEn{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}0{{{j{{AEh{c}}}}{j{e}}}ch{{AAf{c}}}}{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{AF`{c}}}Bfh}{{{AFb{c}}}Bfh}{{{j{{AEh{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AEn{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AF`{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AFb{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}000`{{}Cb}000{ce{}{}}000{{{j{{AEb{c}}}}}{{AF`{c}}}h}{{{j{{AEb{c}}}}}{{AFb{c}}}h}{{{AF`{c}}e}{{Dn{gOb}}}h{{In{{AEd{c}}}{{Aj{{Dn{{AEh{c}}Ob}}}}}}}{}}{{{AFb{c}}e}{{Dn{gOb}}}h{{In{{AEd{c}}}{{Aj{{Dn{{AEh{c}}Ob}}}}}}}{}}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000`{{{AEh{c}}}{{AEd{c}}}h}{{{AEh{c}}c}{{Bh{{AEd{c}}{AEn{c}}}}}h}9999```````{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{AFd{c}}}}}{{AFd{c}}}{CfAFf}}{{{j{{AFh{c}}}}}{{AFh{c}}}{CfAFf}}{{{j{c}}{j{Bje}}}Bn{}{}}0{{{j{{AFd{c}}}}{j{e}}{j{{ABh{ABl}}}}AD`}{}AFfAAf}{{{j{{AFd{c}}}}{j{e}}{j{{ABh{ABn}}}}AD`}{}AFfAAf}{{{j{{AFh{c}}}}{j{e}}{j{{ABh{ABn}}}}AD`}{}AFfAAf}{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{{{j{Bj{AFd{c}}}}A@b}BnAFf}{{{j{Bj{AFh{c}}}}A@b}BnAFf}{CbBn}00{{{j{{AFd{c}}}}}{{AFj{c}}}AFf}{{{j{{AFh{c}}}}}{{AFj{c}}}AFf}{{{j{{AFd{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AFh{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AFl{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}00{{{j{{AFd{c}}}}A@bFl{Gl{Fl}}}{{AFd{c}}}AFf}{{}Cb}00{ce{}{}}00{{{j{{AFd{c}}}}}A@bAFf}{{{j{{AFh{c}}}}}A@bAFf}{{{j{{AFd{c}}}}}ChAFf}{{{j{{AFh{c}}}}}ChAFf}{A@b{{AFd{c}}}AFf}{A@bc{}}{{{j{Bjc}}}{{Df{{AFd{e}}}}}DhAFf}{{{j{Bjc}}}{{Df{{AFh{e}}}}}DhAFf}{{{j{Bjc}}Cn}{{Df{{AFd{e}}}}}DhAFf}{{{j{Bjc}}Cn}{{Df{{AFh{e}}}}}DhAFf}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{A@bc}{{AFd{e}}}ClAFf}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00{{{j{{AFd{c}}}}}{{AFh{c}}}AFf}{ce{}{}}00{{{j{{AFd{c}}}}{j{Bje}}}{{Df{Bn}}}AFfEb}{{{j{{AFh{c}}}}{j{Bje}}}{{Df{Bn}}}AFfEb}{{{j{{AFd{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AFfEb}{{{j{{AFh{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AFfEb}``{{{j{Bj{AFj{c}}}}{j{{AFj{c}}}}}BnAFf}{{{j{Bj{AFn{c}}}}{AFn{c}}}BnAG`}{{{j{Bj{AFj{c}}}}}BnAFf}{{{j{{AFj{c}}}}}FlAFf}{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AFj{c}}}}{j{e}}}BfAFfAAf}{{{AFn{c}}{j{e}}{j{{AFh{c}}}}}BfAG`AAf}{{{j{{AFj{c}}}}}{{AFj{c}}}{CfAFf}}{{{j{{AFn{c}}}}}{{AFn{c}}}{CfAFf}}{{{j{c}}{j{Bje}}}Bn{}{}}08{{}{{AFj{c}}}{KjAFf}}{{}{{AFn{c}}}{KjAFf}}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{CbBn}0{{{j{{AFj{c}}}}{j{e}}}{}AFfAAf}{{{j{{AFj{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AFn{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}0{{}Cb}0{ce{}{}}0{{}{{AFj{c}}}AFf}{{}{{AFn{c}}}AG`}{{{j{{AFj{c}}}}}FlAFf}{{{j{Bj{AFj{c}}}}}BnAFf}{{{j{Bj{AFn{c}}}}}BnAG`}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}088````{{{j{c}}}{{j{e}}}{}{}}000{{{j{Bjc}}}{{j{Bje}}}{}{}}000{{{j{{AGb{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AFfOd}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{{{j{{AGd{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AFfOd}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{j{{AGb{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGf{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGd{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGh{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}000{{}Cb}000{ce{}{}}000{{{j{{AFd{c}}}}}{{AGb{c}}}{AFfOd}}{{}{{AGf{c}}}{AG`Od}}{{{j{{AFd{c}}}}}{{AGd{c}}}AFf}{{{j{{AFd{c}}}}}{{AGd{c}}}{AFfOd}}{{}{{AGh{c}}}{AG`Od}}{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000{{{j{{AGf{c}}}}{j{Bjg}}i{AFn{c}}}{{Dn{kACd}}}{AG`Od}On{{ABf{e}}}{{Hb{}{{Ed{{`{{AFj{c}}}}}}}}Cf}{}}{{{j{{AGh{c}}}}{j{Bjg}}i{AFn{c}}}{{Dn{kACd}}}{AG`Od}On{{ABf{e}}}{{Hb{}{{Ed{{`{{AFj{c}}}}}}}}Cf}{}}9999```{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{AGj{c}}}}}{{AGj{c}}}{CfAG`}}{{{j{{AGl{c}}}}}{{AGl{c}}}{CfAFf}}{{{j{{AGn{c}}}}}{{AGn{c}}}{CfAFf}}{{{j{c}}{j{Bje}}}Bn{}{}}00{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{CbBn}00{{{AGl{c}}}Bf{AG`Od}}{{{AGn{c}}}Bf{AG`Od}}{{{j{{AGj{c}}}}{j{BjD`}}}Db{OdAG`}}{{{j{{AGl{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGn{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}00{{}Cb}00{ce{}{}}00{{{j{{AFh{c}}}}}{{AGl{c}}}AG`}{{{j{{AFh{c}}}}}{{AGl{c}}}{AG`Od}}{{{j{{AFh{c}}}}}{{AGn{c}}}{AG`Od}}0{{{AGl{c}}e}{{Dn{gOb}}}{AG`Od}{{In{}{{Aj{{Dn{Ob}}}}}}}{}}{{{AGn{c}}e}{{Dn{gOb}}}{AG`Od}{{In{}{{Aj{{Dn{Ob}}}}}}}{}}{{{j{c}}}e{}{}}00{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00888{{{AFn{c}}{j{{AFh{c}}}}}{{AGl{c}}}AG`}`````````````{{{j{{On{}{{AH`{c}}}}}}}{{AHb{eg}}}{}h{}}{{{j{c}}}{{j{e}}}{}{}}00000{{{j{Bjc}}}{{j{Bje}}}{}{}}00000{{{j{{AHd{ceg}}}}}{{AHd{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AHf{ceg}}}}}{{AHf{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AHh{ceg}}}}}{{AHh{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AHj{ceg}}}}}{{AHj{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AHb{ce}}}}}{{AHb{ce}}}{Cfh}Cf}{{{j{{AHl{c}}}}}{{AHl{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}00000{{{j{BjA@`}}c}{{Df{Bn}}}h}{{{j{Bj{AHd{ce{AHl{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AHh{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjA@`}}}{{Df{Bn}}}}{{{j{Bj{AHd{ce{AHl{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AHh{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}{Cb{{j{c}}}{}}0000{{{j{{AHb{ce}}}}}{{j{g}}}h{}{}}1{{{j{{AHl{c}}}}}{{j{e}}}h{}}{Cb{{j{Bjc}}}{}}00000{CbBn}00000{AHncEb}{{{AHh{ce{AHl{e}}}}}cEbh}{{{AHj{ce{AHl{e}}}}}cEbh}{{{j{{AHd{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AHf{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AHh{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AHj{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AHb{ce}}}}{j{BjD`}}}Db{Odh}Od}{{{j{{AHl{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}00000{{{j{{On{}{{AH`{c}}}}}}}{}{}}{{{j{{AHl{c}}}}}{}h}{cAI`Dh}{cAHnEb}{{}Cb}{c{{AHd{ce{AHl{e}}}}}Dhh}1{c{{AHf{ce{AHl{e}}}}}Dhh}2{c{{AHh{ce{AHl{e}}}}}Ebh}{c{{AHj{ce{AHl{e}}}}}Ebh}444{ce{}{}}00000{{{j{c}}}{{On{}{{AH`{c}}}}}{}}{{{j{{AIb{Oj}}}}}{{AHl{c}}}h}{{{j{Bjg}}Cb}{{Df{{Fl{c}}}}}h{{On{c}}}{{ABf{ce}}}}{{{j{Bjg}}Cb}{{Df{Fl}}}h{{On{c}}}{{ABf{ce}}}}{{{j{BjABf}}}{{Df{c}}}h}{{{j{Bj{AHd{ce{AHl{e}}}}}}}{{Df{e}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}{{Df{e}}}Dhh}{{{j{BjABf}}}Df}{{{j{Bj{AHd{ce{AHl{e}}}}}}}DfDhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}DfDhh}{{{j{BjA@`}}}eh{{On{c}}}}{{{j{Bj{AHd{ce{AHl{e}}}}}}}{{AHl{e}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}{{AHl{e}}}Dhh}{{{j{Bj{AHh{ce{AHl{e}}}}}}}{{AHl{e}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}}{{AHl{e}}}Ebh}{{{j{BjA@`}}}{{AHb{ce}}}h{}}{{{j{c}}}e{}{}}00000{c{{Dn{e}}}{}{}}00000000000{{{j{c}}}E`{}}00000{ce{}{}}00000{{{j{BjAAd}}c}{{Df{Bn}}}h}{{{j{Bj{AHh{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjAAd}}}{{Df{Bn}}}}{{{j{Bj{AHh{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}","D":"D@d","p":[[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",6,1195],[1,"reference"],[5,"Coordinates",1195],[5,"CtOption",1196],[10,"WithSmallOrderMulGroup",1197],[10,"Ord",1198],[17,"AffineExt"],[10,"CurveExt",6,1195],[10,"Field",6,1197],[17,"Output"],[10,"Mul",1199],[1,"str"],[10,"Fn",1200],[5,"Box",1201],[5,"Choice",1196],[1,"bool"],[1,"tuple"],[0,"mut"],[1,"slice"],[1,"unit"],[10,"Send",1202],[1,"usize"],[10,"Sync",1202],[10,"Clone",1203],[1,"u64"],[10,"AsRef",1204],[10,"RngCore",1205],[6,"SerdeFormat",43],[5,"Formatter",1206],[8,"Result",1206],[10,"CurveRead",43],[8,"Result",1207],[10,"Read",1208],[10,"SerdeCurveAffine",43],[10,"SerdePrimeField",43],[6,"Result",1209],[5,"TypeId",1210],[10,"Write",1208],[17,"Item"],[10,"ParallelIterator",72,1211],[10,"ParallelSliceMut",72,1212],[10,"IndexedParallelIterator",72,1211],[5,"ExponentialBlocks",1213],[5,"UniformBlocks",1213],[5,"Chain",1214],[10,"IntoParallelIterator",72,1211],[5,"Chunks",1215],[5,"Cloned",1216],[6,"Ordering",1198],[10,"FromParallelIterator",1211],[5,"Vec",1217],[5,"LinkedList",1218],[5,"Copied",1219],[10,"Consumer",1220],[10,"UnindexedConsumer",1220],[5,"Enumerate",1221],[5,"Filter",1222],[5,"FilterMap",1223],[6,"Option",1224],[5,"FlatMap",1225],[5,"FlatMapIter",1226],[10,"IntoIterator",1227],[5,"Flatten",1228],[5,"FlattenIter",1229],[5,"Scope",72,1230],[5,"Error",1206],[5,"Fold",1231],[5,"FoldChunks",1232],[5,"FoldChunksWith",1233],[5,"FoldWith",1231],[5,"Inspect",1234],[5,"Interleave",1235],[5,"InterleaveShortest",1236],[5,"Intersperse",1237],[17,"Iter"],[10,"FnOnce",1200],[5,"Map",1238],[5,"MapInit",1239],[5,"MapWith",1239],[5,"PanicFuse",1240],[5,"ChunkByMut",1241],[5,"ChunksExactMut",1242],[5,"ChunksMut",1242],[10,"IntoParallelRefIterator",72,1211],[10,"IntoParallelRefMutIterator",72,1211],[5,"RChunksExactMut",1243],[5,"RChunksMut",1243],[5,"SplitInclusiveMut",1212],[5,"SplitMut",1212],[10,"Default",1244],[10,"ParallelExtend",1211],[6,"Either",1245],[5,"Positions",1246],[10,"Product",1247],[5,"Rev",1248],[5,"Skip",1249],[5,"SkipAny",1250],[5,"SkipAnyWhile",1251],[5,"BroadcastContext",1252],[5,"StepBy",1253],[10,"Sum",1247],[5,"Take",1254],[5,"TakeAny",1255],[5,"TakeAnyWhile",1256],[5,"TryFold",1257],[10,"Try",1258],[10,"TryFoldAndReduce",72,1259],[5,"TryFoldWith",1257],[5,"Update",1260],[5,"WhileSome",1261],[5,"MaxLen",1262],[5,"MinLen",1262],[10,"ProducerCallback",1220],[5,"Zip",1263],[5,"ZipEq",1264],[5,"VerifyingKey",216],[5,"ProvingKey",216],[6,"Error",216,1265],[10,"Debug",1206],[5,"PinnedVerificationKey",216],[5,"Error",1207],[1,"u8"],[5,"EvaluationDomain",369,1266],[10,"EncodedChallenge",1040],[10,"Transcript",1040],[1,"u32"],[10,"Error",1267],[5,"String",1268],[5,"CompiledCircuit",1269],[10,"Params",539],[5,"ProverSingle",312],[5,"HashMap",1270],[10,"CommitmentScheme",539],[10,"Prover",539],[10,"TranscriptWrite",1040],[10,"MsmAccel",1271],[5,"Prover",312],[5,"H2cEngine",1272],[5,"PlonkEngine",1272],[5,"BatchVerifier",349,1273],[8,"ParamsVerifierIPA",609],[10,"Verifier",539],[10,"VerificationStrategy",369,1274],[10,"TranscriptRead",1040],[5,"Polynomial",369],[10,"Basis",369],[5,"Coeff",369],[5,"LagrangeCoeff",369],[5,"ExtendedLagrangeCoeff",369],[5,"PinnedEvaluationDomain",369,1266],[6,"Error",369],[5,"RangeFull",1275],[5,"RangeFrom",1275],[10,"Iterator",1276],[1,"i32"],[5,"Rotation",1277],[5,"Blind",539],[10,"MSM",539],[10,"ParamsProver",539],[17,"MSM"],[10,"ParamsVerifier",539],[10,"PartialEq",1198],[17,"Guard"],[17,"MSMAccumulator"],[10,"Guard",369,1274],[5,"ParamsIPA",609],[5,"MSMIPA",654],[5,"IPACommitmentScheme",609],[5,"GuardIPA",716],[5,"ProverIPA",684,1278],[5,"VerifierIPA",684,1279],[5,"Accumulator",716],[5,"AccumulatorStrategy",716],[5,"SingleStrategy",716],[5,"ParamsKZG",793],[10,"Engine",1280],[5,"ParamsVerifierKZG",793],[5,"MSMKZG",866],[5,"KZGCommitmentScheme",793],[5,"DualMSM",866],[10,"MultiMillerLoop",1280],[5,"ProverGWC",915,1281],[5,"ProverSHPLONK",915,1282],[5,"VerifierGWC",915,1283],[5,"VerifierSHPLONK",915,1284],[5,"GuardKZG",980],[5,"AccumulatorStrategy",980],[5,"SingleStrategy",980],[17,"Input"],[5,"ChallengeScalar",1040],[5,"Blake2bRead",1040],[5,"Keccak256Read",1040],[5,"Blake2bWrite",1040],[5,"Keccak256Write",1040],[5,"Challenge255",1040],[10,"TranscriptWriterBuffer",1040],[10,"TranscriptReadBuffer",1040],[1,"array"],[15,"NotEnoughRowsAvailable",309]],"r":[[2,1285],[10,1195],[11,1195],[13,1197],[72,1211],[73,1211],[74,1211],[75,1211],[83,1211],[84,1212],[85,1230],[86,1259],[103,1286],[141,1287],[184,1230],[219,1265],[349,1273],[372,1266],[374,1274],[380,1266],[383,1274],[620,1288],[650,1289],[684,1278],[685,1279],[915,1281],[916,1282],[917,1283],[918,1284]],"b":[[254,"impl-Debug-for-Error"],[255,"impl-Display-for-Error"],[464,"impl-Index%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[465,"impl-Index%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[466,"impl-Index%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[467,"impl-IndexMut%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[468,"impl-IndexMut%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[469,"impl-IndexMut%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[503,"impl-Sub%3C%26Polynomial%3CF,+B%3E%3E-for-Polynomial%3CF,+B%3E"],[504,"impl-Sub%3CF%3E-for-%26Polynomial%3CF,+B%3E"],[558,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[559,"impl-AddAssign-for-Blind%3CF%3E"],[586,"impl-MulAssign-for-Blind%3CF%3E"],[587,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[656,"impl-MSM%3CC%3E-for-MSMIPA%3C\'a,+C%3E"],[657,"impl-MSMIPA%3C\'a,+C%3E"],[959,"impl-ProverSHPLONK%3C\'a,+E%3E"],[960,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[1018,"impl-AccumulatorStrategy%3CE%3E"],[1019,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[1020,"impl-SingleStrategy%3CE%3E"],[1021,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKkCcwAAAAAAAgABACwAAAAwAAAAMgACADYABQA9AAAAQgAEAFcAAABbAAEAaQABAG0AAAB8AAAAhwAAAMoAAQDOAAAA0gAAAOYAFwD/AAQABQEAAA4BAwAcAQAAHwECACMBCwAwAQMAOwEDAEMBBwBNAQEAUQEAAFYBBwBgAQUAZwEAAGkBAABsAQIAcQEAAHgBAACBARkAoAEPALEBBgC/AQYA0QEMAO0BAADwAQAA+AEjAC4CAgA0AgEANwIBAD0CAgBBAgAAQwIAAEUCAABHAgAASgICAFcCAwBcAgAAZQIFAG4CCQB6AgEAfgIBAIECAACDAgcAjAIBAJYCCwCjAgAApgIGAK8CAwC0AgcAvgIBAMICCgDRAgsA3gILAOwCAwD1AgMA/QIRABIDAwAdAxwAPgMCAEQDBQBNAwEAUAMOAGIDAABlAwAAZwMGAG8DAwB0AwoAgQMBAIcDAQCKAwkAmAMHAKIDDwC2AwMAvgMBAMEDDgDRAwMA2AMZAPUDAgD8AwAA/gMRAB8EFwA4BAMAPQQXAFYEAABYBAUAZQQAAGgEAABqBAAAbAQAAG8EAgB5BAIAfQQBAIAEAQCDBAMAiAQdAKcEAQCqBAEA"}],\ +["halo2_backend",{"t":"CCCCCCRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMKPPPKGKNNNNNNNNNNNNNNNNNNNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNPPPGPPPPPFFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNCNNNNNNNNNNNNNNNNNNNNNCNNNNNNOHHFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNHHNKFGFFKKFRPRFFPKONNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNCNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNFTKRRKRRKKRKRKTTRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFINNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFKRFFKKKKKNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMMNNNNNNNNNNNNNNNNMNHHMNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNN","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","ProverSingle","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","BatchVerifier","add_proof","borrow","borrow_mut","default","deref","deref_mut","drop","finalize","fmt","from","init","into","new","try_from","try_into","type_id","verify_proof","verify_proof_single","vzip","Basis","Coeff","Error","EvaluationDomain","ExtendedLagrangeCoeff","Guard","LagrangeBasis","LagrangeCoeff","MSMAccumulator","OpeningError","Output","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","ipa","iter","iter_mut","k","kzg","l_i_range","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","QUERY_INSTANCE","QUERY_INSTANCE","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","IPACommitmentScheme","ParamsIPA","ParamsVerifierIPA","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commit","commit_lagrange","create_proof_with_engine","deref","deref","deref_mut","deref_mut","downsize","drop","drop","empty_msm","fmt","fmt","from","from","init","init","into","into","k","n","new","new_params","read","read_params","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","write","MSMIPA","add_constant_term","add_msm","add_msm","add_to_g_scalars","add_to_u_scalar","add_to_w_scalar","append_term","bases","borrow","borrow_mut","check","clone","clone_into","deref","deref_mut","drop","eval","fmt","from","init","into","new","scalars","scale","to_owned","try_from","try_into","type_id","vzip","ProverIPA","VerifierIPA","borrow","borrow","borrow_mut","borrow_mut","create_proof_with_engine","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new","new","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","Accumulator","AccumulatorStrategy","GuardIPA","SingleStrategy","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","compute_g","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","finalize","finalize","fmt","fmt","fmt","fmt","from","from","from","from","g","init","init","init","init","into","into","into","into","new","new","process","process","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u_packed","use_challenges","use_g","vzip","vzip","vzip","vzip","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"],[369,"halo2_backend::poly"],[539,"halo2_backend::poly::commitment"],[605,"halo2_backend::poly::ipa"],[609,"halo2_backend::poly::ipa::commitment"],[654,"halo2_backend::poly::ipa::msm"],[684,"halo2_backend::poly::ipa::multiopen"],[716,"halo2_backend::poly::ipa::strategy"],[789,"halo2_backend::poly::kzg"],[793,"halo2_backend::poly::kzg::commitment"],[866,"halo2_backend::poly::kzg::msm"],[915,"halo2_backend::poly::kzg::multiopen"],[980,"halo2_backend::poly::kzg::strategy"],[1040,"halo2_backend::transcript"],[1195,"pasta_curves::arithmetic::curves"],[1196,"subtle"],[1197,"ff"],[1198,"core::cmp"],[1199,"core::ops::arith"],[1200,"core::ops::function"],[1201,"alloc::boxed"],[1202,"core::marker"],[1203,"core::clone"],[1204,"core::convert"],[1205,"rand_core"],[1206,"core::fmt"],[1207,"std::io::error"],[1208,"std::io"],[1209,"core::result"],[1210,"core::any"],[1211,"rayon::iter"],[1212,"rayon::slice"],[1213,"rayon::iter::blocks"],[1214,"rayon::iter::chain"],[1215,"rayon::iter::chunks"],[1216,"rayon::iter::cloned"],[1217,"alloc::vec"],[1218,"alloc::collections::linked_list"],[1219,"rayon::iter::copied"],[1220,"rayon::iter::plumbing"],[1221,"rayon::iter::enumerate"],[1222,"rayon::iter::filter"],[1223,"rayon::iter::filter_map"],[1224,"core::option"],[1225,"rayon::iter::flat_map"],[1226,"rayon::iter::flat_map_iter"],[1227,"core::iter::traits::collect"],[1228,"rayon::iter::flatten"],[1229,"rayon::iter::flatten_iter"],[1230,"rayon_core::scope"],[1231,"rayon::iter::fold"],[1232,"rayon::iter::fold_chunks"],[1233,"rayon::iter::fold_chunks_with"],[1234,"rayon::iter::inspect"],[1235,"rayon::iter::interleave"],[1236,"rayon::iter::interleave_shortest"],[1237,"rayon::iter::intersperse"],[1238,"rayon::iter::map"],[1239,"rayon::iter::map_with"],[1240,"rayon::iter::panic_fuse"],[1241,"rayon::slice::chunk_by"],[1242,"rayon::slice::chunks"],[1243,"rayon::slice::rchunks"],[1244,"core::default"],[1245,"either"],[1246,"rayon::iter::positions"],[1247,"core::iter::traits::accum"],[1248,"rayon::iter::rev"],[1249,"rayon::iter::skip"],[1250,"rayon::iter::skip_any"],[1251,"rayon::iter::skip_any_while"],[1252,"rayon_core::broadcast"],[1253,"rayon::iter::step_by"],[1254,"rayon::iter::take"],[1255,"rayon::iter::take_any"],[1256,"rayon::iter::take_any_while"],[1257,"rayon::iter::try_fold"],[1258,"rayon::iter::private"],[1259,"halo2_middleware::multicore"],[1260,"rayon::iter::update"],[1261,"rayon::iter::while_some"],[1262,"rayon::iter::len"],[1263,"rayon::iter::zip"],[1264,"rayon::iter::zip_eq"],[1265,"halo2_backend::plonk::error"],[1266,"halo2_backend::poly::domain"],[1267,"core::error"],[1268,"alloc::string"],[1269,"halo2_middleware::circuit"],[1270,"std::collections::hash::map"],[1271,"halo2_middleware::zal::traits"],[1272,"halo2_middleware::zal::impls"],[1273,"halo2_backend::plonk::verifier::batch"],[1274,"halo2_backend::poly::strategy"],[1275,"core::ops::range"],[1276,"core::iter::traits::iterator"],[1277,"halo2_middleware::poly"],[1278,"halo2_backend::poly::ipa::multiopen::prover"],[1279,"halo2_backend::poly::ipa::multiopen::verifier"],[1280,"pairing"],[1281,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[1282,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[1283,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[1284,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[1285,"halo2_middleware"],[1286,"rayon_core"],[1287,"rayon_core::join"],[1288,"halo2_backend::poly::ipa::commitment::prover"],[1289,"halo2_backend::poly::ipa::commitment::verifier"]],"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,202,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,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,0,0,143,0,0,0,0,0,0,0,0,168,154,146,0,0,154,0,148,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,126,150,151,152,148,126,150,151,152,148,126,126,0,126,126,126,153,154,150,151,152,148,148,126,153,154,150,151,152,148,148,126,126,153,154,150,151,152,148,126,126,126,126,126,126,146,126,153,154,150,151,152,148,126,153,154,150,151,152,148,126,126,126,126,148,148,148,148,148,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,0,148,148,126,0,126,126,126,148,146,126,148,148,148,126,146,148,126,126,148,148,126,150,151,152,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,126,153,154,150,151,152,148,148,126,153,154,150,151,152,148,0,164,0,136,145,0,164,145,0,0,136,0,136,0,137,145,136,0,160,160,160,161,161,161,160,160,161,160,160,162,133,137,137,160,160,160,133,160,164,160,161,160,160,160,160,133,160,160,160,133,162,137,145,160,136,133,136,161,161,160,160,160,160,145,160,133,0,0,0,0,0,0,0,169,171,169,171,169,169,169,169,0,169,171,169,171,169,169,171,169,169,171,169,171,169,171,169,171,169,169,169,171,169,171,169,169,171,169,171,169,171,0,169,171,169,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,0,173,174,173,174,173,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,173,174,174,173,174,0,0,0,0,172,175,176,177,172,175,176,177,172,175,172,175,172,172,175,176,177,172,175,176,177,172,175,176,177,176,177,172,175,176,177,172,175,176,177,175,172,175,176,177,172,175,176,177,176,177,176,177,172,175,172,175,176,177,172,175,176,177,172,175,176,177,175,172,172,172,175,176,177,0,0,0,0,0,0,0,178,180,182,178,180,182,178,180,178,180,178,178,180,178,180,182,178,180,182,178,180,178,180,182,178,180,178,180,182,178,180,182,178,178,180,182,178,180,182,178,180,178,180,178,182,178,180,178,180,182,178,178,180,178,180,182,178,180,182,178,180,182,178,178,180,182,178,180,178,180,0,0,181,183,181,181,181,183,181,183,181,183,181,183,181,183,181,181,183,181,183,181,183,181,183,181,181,183,181,183,181,183,181,183,181,183,181,181,183,181,183,181,183,181,183,181,183,181,183,0,0,0,0,185,187,186,188,185,187,186,188,185,186,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,188,185,187,186,186,188,185,187,186,188,185,187,186,188,185,187,186,188,187,188,185,187,186,188,0,0,0,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,190,191,189,190,191,189,190,191,189,190,191,189,190,191,190,190,191,191,190,191,189,190,191,189,190,191,189,190,191,189,190,191,189,190,191,190,0,0,0,0,0,127,0,0,0,0,0,0,0,127,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,128,194,195,196,197,128,194,195,196,197,194,195,196,197,193,193,198,198,194,195,196,197,193,198,194,195,196,197,193,198,199,196,197,194,195,196,197,193,198,194,195,196,197,193,198,127,198,200,199,194,194,195,195,196,196,197,197,193,198,194,195,196,197,193,198,127,198,0,0,147,194,195,147,194,195,128,194,195,196,197,128,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,194,195,196,197,193,198,138,196,197,138,196,197],"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}}{OhOb}{cc{}}000``{{{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{Bj{AAn{c}}}}{Fl{{Fl{Fl}}}}{Fl{Oj}}}Bnh}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{}{{AAn{c}}}{Kjh}}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{CbBn}{{{AAn{c}}{j{{AB`{c}}}}{j{{Nn{c}}}}}Bfh}{{{j{{AAn{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}{{}Cb}{ce{}{}}{{}{{AAn{c}}}h}>>={{j{j{Nn}}g{j{{Bl{{Fl{Fl}}}}}}{j{Bjk}}}{{Dn{Ob}}}AA`{{ABb{c}}}{{ABd{ce}}}On{{ABf{i}}}}{{j{j{Nn}}g{Fl{Fl}}{j{Bjk}}}{{Dn{Ob}}}AA`{{ABb{c}}}{{ABd{ce}}}On{{ABf{i}}}}3````````````````{{{ABh{ce}}{j{{ABh{ce}}}}}{{ABh{ce}}}AhABj}>>>>>>>======={{{j{{Ol{c}}}}}{{Ol{c}}}{CfAh}}{{{j{ABl}}}ABl}{{{j{ABn}}}ABn}{{{j{AC`}}}AC`}{{{j{{ABh{ce}}}}}{{ABh{ce}}}CfCf}{{{j{c}}{j{Bje}}}Bn{}{}}0000{{{j{{Ol{c}}}}{Fl{c}}}{{ABh{cABl}}}A`}{{{j{{Ol{c}}}}{ABh{cABl}}}{{ABh{cAC`}}}A`}`{{{j{{Ol{c}}}}c}{{ABh{cAC`}}}A`}{{{j{{Ol{c}}}}c}{{ABh{cABn}}}A`}{Cb{{j{c}}}{}}000000{{{j{{ABh{ce}}}}}{{j{{Bl{c}}}}}{}{}}{Cb{{j{Bjc}}}{}}000000{{{j{Bj{ABh{ce}}}}}{{j{Bj{Bl{c}}}}}{}{}}{{{j{{Ol{c}}}}{ABh{cAC`}}}{{ABh{cAC`}}}A`}{CbBn}000000{{{j{{Ol{c}}}}}{{ABh{cABl}}}A`}{{{j{{Ol{c}}}}}{{ABh{cAC`}}}A`}{{{j{{Ol{c}}}}}{{ABh{cABn}}}A`}{{{j{{Ol{c}}}}}A@bA`}{{{j{{Ol{c}}}}}CbA`}{{{j{{Ol{c}}}}{ABh{cAC`}}}{{Fl{c}}}A`}{{{ABd{}{{Aj{c}}}}}Bf{}}{{{j{{Ol{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{{ACb{c}}}}{j{BjD`}}}Db{OdAh}}{{{j{ACd}}{j{BjD`}}}Db}{{{j{ABl}}{j{BjD`}}}Db}{{{j{ABn}}{j{BjD`}}}Db}{{{j{AC`}}{j{BjD`}}}Db}{{{j{{ABh{ce}}}}{j{BjD`}}}DbOdOd}{cc{}}000000{{{j{{Ol{c}}}}}cA`}00;{{{j{{ABh{ce}}}}Cb}{{j{c}}}{}{}}{{{j{{ABh{ce}}}}ACf}{{j{{Bl{c}}}}}{}{}}{{{j{{ABh{ce}}}}{ACh{Cb}}}{{j{{Bl{c}}}}}{}{}}{{{j{Bj{ABh{ce}}}}Cb}{{j{Bjc}}}{}{}}{{{j{Bj{ABh{ce}}}}ACf}{{j{Bj{Bl{c}}}}}{}{}}{{{j{Bj{ABh{ce}}}}{ACh{Cb}}}{{j{Bj{Bl{c}}}}}{}{}}{{}Cb}000000{ce{}{}}000000`{{{j{{ABh{ce}}}}}{{`{{ACj{}{{Ed{{j{c}}}}}}}}}{}{}}{{{j{Bj{ABh{ce}}}}}{{`{{ACj{}{{Ed{{j{Bjc}}}}}}}}}{}{}}{{{j{{Ol{c}}}}}A@bA`}`{{{j{{Ol{c}}}}cce}{{Fl{c}}}A`{{Hb{}{{Ed{ACl}}}}Cf}}{{{j{{Ol{c}}}}{Fl{c}}}{{ABh{cABn}}}A`}{{{j{{Ol{c}}}}{ABh{cABn}}}{{ABh{cABl}}}A`}{{{ABh{ce}}c}{{ABh{ce}}}AhABj}{j{{ABd{}{{Aj{c}}}}}{}}{{A@bA@b}{{Ol{c}}}A`}{{Cbc}{{ABh{ce}}}Cf{}}{{{Fl{c}}}{{ABh{cABn}}}Cf}{{{j{{ABh{ce}}}}}Cb{}{}}{{{j{{Ol{c}}}}}{{ACb{c}}}A`}{{{ABd{}{{Aj{c}}}}e}{{Dn{cOb}}}{}{{In{}{{Aj{{Dn{Ob}}}}}}}}{{{j{{ABh{cABn}}}}ACn}{{ABh{cABn}}}Ah}{{{j{{Ol{c}}}}{j{{ABh{cAC`}}}}ACn}{{ABh{cAC`}}}A`}{{{j{{Ol{c}}}}cACn}cA`}{{{ABh{ce}}{j{{ABh{ce}}}}}{{ABh{ce}}}AhABj}{{{j{{ABh{ce}}}}c}{{ABh{ce}}}AhABj}{{{j{c}}}e{}{}}0000{c{{Dn{e}}}{}{}}0000000000000{{{j{c}}}E`{}}000000`{ce{}{}}000000``````````````````{{{AD`{c}}{AD`{c}}}{{AD`{c}}}Ah}{{{j{Bj{AD`{c}}}}c}BnAh}{{{j{Bj{AD`{c}}}}{AD`{c}}}BnAh}{{{j{BjADb}}{j{ADb}}}Bn}{{{j{BjADb}}}Bn}{{{j{ADb}}}Fl}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{{j{ADb}}{j{e}}}Bfh{{AAf{c}}}}{{{j{{AD`{c}}}}}{{AD`{c}}}Cf}{{{j{c}}{j{Bje}}}Bn{}{}}{{{j{ADd}}{j{e}}{j{{ABh{ABl}}}}AD`}{}h{{AAf{c}}}}{{{j{A@j}}{j{e}}{j{{ABh{ABn}}}}AD`}{}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}}{{}{{AD`{c}}}Ah}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{{{j{BjA@j}}A@b}Bn}{CbBn}{{{j{{ADh{}{{ADf{c}}}}}}}c{{ADb{e}}}h}{{{j{{AD`{c}}}}{j{{AD`{c}}}}}BfADj}{{{j{ADb}}{j{e}}}{}h{{AAf{c}}}}{{{j{{AD`{c}}}}{j{BjD`}}}DbOd}{cc{}}{{}Cb}{ce{}{}}{{{j{A@j}}}A@b}{{{AD`{c}}{AD`{c}}}{{AD`{c}}}Ah}{{{j{Bj{AD`{c}}}}c}BnAh}{{{j{Bj{AD`{c}}}}{AD`{c}}}BnAh}{{{j{A@j}}}Ch}{A@bADd}{jAAb}{{}{{ABb{}{{ADl{c}}{ADn{g}}}}}{{AE`{e}{{ADn{g}}}}}AA`{}}{{{j{Bjc}}}{{AD`{e}}}ClAh}{A@bc{}}{{{j{Bjc}}}{{Df{A@j}}}Dh}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{{j{ADb}}}Fl}{{{j{BjADb}}}Bn}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}{{{j{{ABb{}{{ADl{c}}{ADn{g}}}}}}{j{Bjk}}mg}{{Dn{cACd}}}{{AE`{e}{{ADn{g}}}}}AA`{}On{{ABf{i}}}{{Hb{}{{Ed{`}}}}Cf}}{ce{}{}}{{{j{A@j}}{j{Bjc}}}{{Df{Bn}}}Eb}```````{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AEb{c}}}}}{{AEb{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}{{{j{{AEb{c}}}}{j{e}}{j{{ABh{ABl}}}}AD`}{}h{{AAf{c}}}}{{{j{{AEb{c}}}}{j{e}}{j{{ABh{ABn}}}}AD`}{}h{{AAf{c}}}}{{{j{e}}{j{{AEb{c}}}}g{j{Bjk}}{j{{ABh{ABl}}}}AD`}{{Df{Bn}}}h{{AAf{c}}}Cl{{On{c}}}{{AAd{ci}}}}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{{{j{Bj{AEb{c}}}}A@b}Bnh}{CbBn}0{{{j{{AEb{c}}}}}{{AEd{c}}}h}{{{j{{AEb{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AEf{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}0{{}Cb}0{ce{}{}}0{{{j{{AEb{c}}}}}A@bh}{{{j{{AEb{c}}}}}Chh}{A@b{{AEb{c}}}h}{A@bc{}}{{{j{Bjc}}}{{Df{{AEb{e}}}}}Dhh}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}0{{{AEd{c}}{j{Bjg}}}{{Dn{{AEh{c}}ACd}}}h{{On{c}}}{{ABf{ce}}}}::{{{j{{AEb{c}}}}{j{Bje}}}{{Df{Bn}}}hEb}`{{{j{Bj{AEd{c}}}}}Bnh}{{{j{Bj{AEd{c}}}}{j{{AEd{c}}}}}Bnh}0{{{j{Bj{AEd{c}}}}{j{Bl}}}Bnh}222{{{j{{AEd{c}}}}}Flh}{{{j{c}}}{{j{e}}}{}{}}{{{j{Bjc}}}{{j{Bje}}}{}{}}{{{j{{AEd{c}}}}{j{e}}}Bfh{{AAf{c}}}}{{{j{{AEd{c}}}}}{{AEd{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}{Cb{{j{c}}}{}}{Cb{{j{Bjc}}}{}}{CbBn}{{{j{{AEd{c}}}}{j{e}}}{}h{{AAf{c}}}}{{{j{{AEd{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}{{}Cb}{ce{}{}}{{{j{{AB`{c}}}}}{{AEd{c}}}h}>{{{j{Bj{AEd{c}}}}}Bnh}{{{j{c}}}e{}{}}{c{{Dn{e}}}{}{}}0{{{j{c}}}E`{}}5``{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AEj{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}h{{AAf{c}}}Cl{{On{c}}}{{AAd{ci}}}{{Hb{}{{Ed{{`{c}}}}}}Cf}}??>>=={{{j{{AEj{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AEl{c}}}}{j{BjD`}}}Db{Odh}}<<;;::{{{j{{AEb{c}}}}}{{AEj{c}}}h}{{}{{AEl{c}}}h}888877{{{j{{AEl{c}}}}{j{Bjg}}i{AEd{c}}}{{Dn{kACd}}}h{{On{c}}}{{ABf{ce}}}{{Hb{}{{Ed{{`{c{AEd{c}}}}}}}}Cf}{}}==````77776666{{{j{{AEh{c}}}}}{{AEh{c}}}{Cfh}}{{{j{{AEn{c}}}}}{{AEn{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}0{{{j{{AEh{c}}}}{j{e}}}ch{{AAf{c}}}}{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{AF`{c}}}Bfh}{{{AFb{c}}}Bfh}{{{j{{AEh{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AEn{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AF`{c}}}}{j{BjD`}}}Db{Odh}}{{{j{{AFb{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}000`{{}Cb}000{ce{}{}}000{{{j{{AEb{c}}}}}{{AF`{c}}}h}{{{j{{AEb{c}}}}}{{AFb{c}}}h}{{{AF`{c}}e}{{Dn{gOb}}}h{{In{{AEd{c}}}{{Aj{{Dn{{AEh{c}}Ob}}}}}}}{}}{{{AFb{c}}e}{{Dn{gOb}}}h{{In{{AEd{c}}}{{Aj{{Dn{{AEh{c}}Ob}}}}}}}{}}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000`{{{AEh{c}}}{{AEd{c}}}h}{{{AEh{c}}c}{{Bh{{AEd{c}}{AEn{c}}}}}h}9999```````{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{AFd{c}}}}}{{AFd{c}}}{CfAFf}}{{{j{{AFh{c}}}}}{{AFh{c}}}{CfAFf}}{{{j{c}}{j{Bje}}}Bn{}{}}0{{{j{{AFd{c}}}}{j{e}}{j{{ABh{ABl}}}}AD`}{}AFfAAf}{{{j{{AFd{c}}}}{j{e}}{j{{ABh{ABn}}}}AD`}{}AFfAAf}{{{j{{AFh{c}}}}{j{e}}{j{{ABh{ABn}}}}AD`}{}AFfAAf}{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{{{j{Bj{AFd{c}}}}A@b}BnAFf}{{{j{Bj{AFh{c}}}}A@b}BnAFf}{CbBn}00{{{j{{AFd{c}}}}}{{AFj{c}}}AFf}{{{j{{AFh{c}}}}}{{AFj{c}}}AFf}{{{j{{AFd{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AFh{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AFl{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}00{{{j{{AFd{c}}}}A@bFl{Gl{Fl}}}{{AFd{c}}}AFf}{{}Cb}00{ce{}{}}00{{{j{{AFd{c}}}}}A@bAFf}{{{j{{AFh{c}}}}}A@bAFf}{{{j{{AFd{c}}}}}ChAFf}{{{j{{AFh{c}}}}}ChAFf}{A@b{{AFd{c}}}AFf}{A@bc{}}{{{j{Bjc}}}{{Df{{AFd{e}}}}}DhAFf}{{{j{Bjc}}}{{Df{{AFh{e}}}}}DhAFf}{{{j{Bjc}}Cn}{{Df{{AFd{e}}}}}DhAFf}{{{j{Bjc}}Cn}{{Df{{AFh{e}}}}}DhAFf}{{{j{Bjc}}}{{Df{e}}}Dh{}}{{A@bc}{{AFd{e}}}ClAFf}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00{{{j{{AFd{c}}}}}{{AFh{c}}}AFf}{ce{}{}}00{{{j{{AFd{c}}}}{j{Bje}}}{{Df{Bn}}}AFfEb}{{{j{{AFh{c}}}}{j{Bje}}}{{Df{Bn}}}AFfEb}{{{j{{AFd{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AFfEb}{{{j{{AFh{c}}}}{j{Bje}}Cn}{{Df{Bn}}}AFfEb}``{{{j{Bj{AFj{c}}}}{j{{AFj{c}}}}}BnAFf}{{{j{Bj{AFn{c}}}}{AFn{c}}}BnAG`}{{{j{Bj{AFj{c}}}}}BnAFf}{{{j{{AFj{c}}}}}FlAFf}{{{j{c}}}{{j{e}}}{}{}}0{{{j{Bjc}}}{{j{Bje}}}{}{}}0{{{j{{AFj{c}}}}{j{e}}}BfAFfAAf}{{{AFn{c}}{j{e}}{j{{AFh{c}}}}}BfAG`AAf}{{{j{{AFj{c}}}}}{{AFj{c}}}{CfAFf}}{{{j{{AFn{c}}}}}{{AFn{c}}}{CfAFf}}{{{j{c}}{j{Bje}}}Bn{}{}}08{{}{{AFj{c}}}{KjAFf}}{{}{{AFn{c}}}{KjAFf}}{Cb{{j{c}}}{}}0{Cb{{j{Bjc}}}{}}0{CbBn}0{{{j{{AFj{c}}}}{j{e}}}{}AFfAAf}{{{j{{AFj{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AFn{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}0{{}Cb}0{ce{}{}}0{{}{{AFj{c}}}AFf}{{}{{AFn{c}}}AG`}{{{j{{AFj{c}}}}}FlAFf}{{{j{Bj{AFj{c}}}}}BnAFf}{{{j{Bj{AFn{c}}}}}BnAG`}{{{j{c}}}e{}{}}0{c{{Dn{e}}}{}{}}000{{{j{c}}}E`{}}088````{{{j{c}}}{{j{e}}}{}{}}000{{{j{Bjc}}}{{j{Bje}}}{}{}}000{{{j{{AGb{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AFfOd}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{{{j{{AGd{c}}}}{j{e}}g{j{Bjk}}m}{{Df{Bn}}}{AFfOd}AAfClOn{{AAd{i}}}{{Hb{}{{Ed{`}}}}Cf}}{Cb{{j{c}}}{}}000{Cb{{j{Bjc}}}{}}000{CbBn}000{{{j{{AGb{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGf{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGd{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGh{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}000{{}Cb}000{ce{}{}}000{{{j{{AFd{c}}}}}{{AGb{c}}}{AFfOd}}{{}{{AGf{c}}}{AG`Od}}{{{j{{AFd{c}}}}}{{AGd{c}}}AFf}{{{j{{AFd{c}}}}}{{AGd{c}}}{AFfOd}}{{}{{AGh{c}}}{AG`Od}}{c{{Dn{e}}}{}{}}0000000{{{j{c}}}E`{}}000{{{j{{AGf{c}}}}{j{Bjg}}i{AFn{c}}}{{Dn{kACd}}}{AG`Od}On{{ABf{e}}}{{Hb{}{{Ed{{`{{AFj{c}}}}}}}}Cf}{}}{{{j{{AGh{c}}}}{j{Bjg}}i{AFn{c}}}{{Dn{kACd}}}{AG`Od}On{{ABf{e}}}{{Hb{}{{Ed{{`{{AFj{c}}}}}}}}Cf}{}}9999```{{{j{c}}}{{j{e}}}{}{}}00{{{j{Bjc}}}{{j{Bje}}}{}{}}00{{{j{{AGj{c}}}}}{{AGj{c}}}{CfAG`}}{{{j{{AGl{c}}}}}{{AGl{c}}}{CfAFf}}{{{j{{AGn{c}}}}}{{AGn{c}}}{CfAFf}}{{{j{c}}{j{Bje}}}Bn{}{}}00{Cb{{j{c}}}{}}00{Cb{{j{Bjc}}}{}}00{CbBn}00{{{AGl{c}}}Bf{AG`Od}}{{{AGn{c}}}Bf{AG`Od}}{{{j{{AGj{c}}}}{j{BjD`}}}Db{OdAG`}}{{{j{{AGl{c}}}}{j{BjD`}}}Db{OdAFf}}{{{j{{AGn{c}}}}{j{BjD`}}}Db{OdAFf}}{cc{}}00{{}Cb}00{ce{}{}}00{{{j{{AFh{c}}}}}{{AGl{c}}}{AG`Od}}{{{j{{AFh{c}}}}}{{AGl{c}}}AG`}{{{j{{AFh{c}}}}}{{AGn{c}}}{AG`Od}}0{{{AGl{c}}e}{{Dn{gOb}}}{AG`Od}{{In{}{{Aj{{Dn{Ob}}}}}}}{}}{{{AGn{c}}e}{{Dn{gOb}}}{AG`Od}{{In{}{{Aj{{Dn{Ob}}}}}}}{}}{{{j{c}}}e{}{}}00{c{{Dn{e}}}{}{}}00000{{{j{c}}}E`{}}00888{{{AFn{c}}{j{{AFh{c}}}}}{{AGl{c}}}AG`}`````````````{{{j{{On{}{{AH`{c}}}}}}}{{AHb{eg}}}{}h{}}{{{j{c}}}{{j{e}}}{}{}}00000{{{j{Bjc}}}{{j{Bje}}}{}{}}00000{{{j{{AHd{ceg}}}}}{{AHd{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AHf{ceg}}}}}{{AHf{ceg}}}{CfDh}{Cfh}{Cf{On{e}}}}{{{j{{AHh{ceg}}}}}{{AHh{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AHj{ceg}}}}}{{AHj{ceg}}}{CfEb}{Cfh}{Cf{On{e}}}}{{{j{{AHb{ce}}}}}{{AHb{ce}}}{Cfh}Cf}{{{j{{AHl{c}}}}}{{AHl{c}}}{Cfh}}{{{j{c}}{j{Bje}}}Bn{}{}}00000{{{j{BjA@`}}c}{{Df{Bn}}}h}{{{j{Bj{AHd{ce{AHl{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}e}{{Df{Bn}}}Dhh}{{{j{Bj{AHh{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjA@`}}}{{Df{Bn}}}}{{{j{Bj{AHd{ce{AHl{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}{{Df{Bn}}}Dhh}{{{j{Bj{AHh{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}{Cb{{j{c}}}{}}000{{{j{{AHb{ce}}}}}{{j{g}}}h{}{}}11{{{j{{AHl{c}}}}}{{j{e}}}h{}}{Cb{{j{Bjc}}}{}}00000{CbBn}00000{AHncEb}{{{AHh{ce{AHl{e}}}}}cEbh}{{{AHj{ce{AHl{e}}}}}cEbh}{{{j{{AHd{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AHf{ceg}}}}{j{BjD`}}}Db{OdDh}{Odh}{Od{On{e}}}}{{{j{{AHh{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AHj{ceg}}}}{j{BjD`}}}Db{OdEb}{Odh}{Od{On{e}}}}{{{j{{AHb{ce}}}}{j{BjD`}}}Db{Odh}Od}{{{j{{AHl{c}}}}{j{BjD`}}}Db{Odh}}{cc{}}00000{{{j{{On{}{{AH`{c}}}}}}}{}{}}{{{j{{AHl{c}}}}}{}h}{cAI`Dh}{cAHnEb}{c{{AHd{ce{AHl{e}}}}}Dhh}{{}Cb}{c{{AHf{ce{AHl{e}}}}}Dhh}1{c{{AHh{ce{AHl{e}}}}}Ebh}22{c{{AHj{ce{AHl{e}}}}}Ebh}33{ce{}{}}00000{{{j{c}}}{{On{}{{AH`{c}}}}}{}}{{{j{{AIb{Oj}}}}}{{AHl{c}}}h}{{{j{Bjg}}Cb}{{Df{{Fl{c}}}}}h{{On{c}}}{{ABf{ce}}}}{{{j{Bjg}}Cb}{{Df{Fl}}}h{{On{c}}}{{ABf{ce}}}}{{{j{BjABf}}}{{Df{c}}}h}{{{j{Bj{AHd{ce{AHl{e}}}}}}}{{Df{e}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}{{Df{e}}}Dhh}{{{j{BjABf}}}Df}{{{j{Bj{AHd{ce{AHl{e}}}}}}}DfDhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}DfDhh}{{{j{BjA@`}}}eh{{On{c}}}}{{{j{Bj{AHd{ce{AHl{e}}}}}}}{{AHl{e}}}Dhh}{{{j{Bj{AHf{ce{AHl{e}}}}}}}{{AHl{e}}}Dhh}{{{j{Bj{AHh{ce{AHl{e}}}}}}}{{AHl{e}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}}{{AHl{e}}}Ebh}{{{j{BjA@`}}}{{AHb{ce}}}h{}}{{{j{c}}}e{}{}}00000{c{{Dn{e}}}{}{}}00000000000{{{j{c}}}E`{}}00000{ce{}{}}00000{{{j{BjAAd}}c}{{Df{Bn}}}h}{{{j{Bj{AHh{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}e}{{Df{Bn}}}Ebh}{{{j{BjAAd}}}{{Df{Bn}}}}{{{j{Bj{AHh{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}{{{j{Bj{AHj{ce{AHl{e}}}}}}}{{Df{Bn}}}Ebh}","D":"D@d","p":[[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",6,1195],[1,"reference"],[5,"Coordinates",1195],[5,"CtOption",1196],[10,"WithSmallOrderMulGroup",1197],[10,"Ord",1198],[17,"AffineExt"],[10,"CurveExt",6,1195],[10,"Field",6,1197],[17,"Output"],[10,"Mul",1199],[1,"str"],[10,"Fn",1200],[5,"Box",1201],[5,"Choice",1196],[1,"bool"],[1,"tuple"],[0,"mut"],[1,"slice"],[1,"unit"],[10,"Send",1202],[1,"usize"],[10,"Sync",1202],[10,"Clone",1203],[1,"u64"],[10,"AsRef",1204],[10,"RngCore",1205],[6,"SerdeFormat",43],[5,"Formatter",1206],[8,"Result",1206],[10,"CurveRead",43],[8,"Result",1207],[10,"Read",1208],[10,"SerdeCurveAffine",43],[10,"SerdePrimeField",43],[6,"Result",1209],[5,"TypeId",1210],[10,"Write",1208],[17,"Item"],[10,"ParallelIterator",72,1211],[10,"ParallelSliceMut",72,1212],[10,"IndexedParallelIterator",72,1211],[5,"ExponentialBlocks",1213],[5,"UniformBlocks",1213],[5,"Chain",1214],[10,"IntoParallelIterator",72,1211],[5,"Chunks",1215],[5,"Cloned",1216],[6,"Ordering",1198],[10,"FromParallelIterator",1211],[5,"Vec",1217],[5,"LinkedList",1218],[5,"Copied",1219],[10,"Consumer",1220],[10,"UnindexedConsumer",1220],[5,"Enumerate",1221],[5,"Filter",1222],[5,"FilterMap",1223],[6,"Option",1224],[5,"FlatMap",1225],[5,"FlatMapIter",1226],[10,"IntoIterator",1227],[5,"Flatten",1228],[5,"FlattenIter",1229],[5,"Scope",72,1230],[5,"Error",1206],[5,"Fold",1231],[5,"FoldChunks",1232],[5,"FoldChunksWith",1233],[5,"FoldWith",1231],[5,"Inspect",1234],[5,"Interleave",1235],[5,"InterleaveShortest",1236],[5,"Intersperse",1237],[17,"Iter"],[10,"FnOnce",1200],[5,"Map",1238],[5,"MapInit",1239],[5,"MapWith",1239],[5,"PanicFuse",1240],[5,"ChunkByMut",1241],[5,"ChunksExactMut",1242],[5,"ChunksMut",1242],[10,"IntoParallelRefIterator",72,1211],[10,"IntoParallelRefMutIterator",72,1211],[5,"RChunksExactMut",1243],[5,"RChunksMut",1243],[5,"SplitInclusiveMut",1212],[5,"SplitMut",1212],[10,"Default",1244],[10,"ParallelExtend",1211],[6,"Either",1245],[5,"Positions",1246],[10,"Product",1247],[5,"Rev",1248],[5,"Skip",1249],[5,"SkipAny",1250],[5,"SkipAnyWhile",1251],[5,"BroadcastContext",1252],[5,"StepBy",1253],[10,"Sum",1247],[5,"Take",1254],[5,"TakeAny",1255],[5,"TakeAnyWhile",1256],[5,"TryFold",1257],[10,"Try",1258],[10,"TryFoldAndReduce",72,1259],[5,"TryFoldWith",1257],[5,"Update",1260],[5,"WhileSome",1261],[5,"MaxLen",1262],[5,"MinLen",1262],[10,"ProducerCallback",1220],[5,"Zip",1263],[5,"ZipEq",1264],[5,"VerifyingKey",216],[5,"ProvingKey",216],[6,"Error",216,1265],[10,"Debug",1206],[5,"PinnedVerificationKey",216],[5,"Error",1207],[1,"u8"],[5,"EvaluationDomain",369,1266],[10,"EncodedChallenge",1040],[10,"Transcript",1040],[1,"u32"],[10,"Error",1267],[5,"String",1268],[5,"CompiledCircuit",1269],[10,"Params",539],[5,"ProverSingle",312],[5,"HashMap",1270],[10,"CommitmentScheme",539],[10,"Prover",539],[10,"TranscriptWrite",1040],[10,"MsmAccel",1271],[5,"Prover",312],[5,"H2cEngine",1272],[5,"PlonkEngine",1272],[5,"BatchVerifier",349,1273],[8,"ParamsVerifierIPA",609],[10,"Verifier",539],[10,"VerificationStrategy",369,1274],[10,"TranscriptRead",1040],[5,"Polynomial",369],[10,"Basis",369],[5,"Coeff",369],[5,"LagrangeCoeff",369],[5,"ExtendedLagrangeCoeff",369],[5,"PinnedEvaluationDomain",369,1266],[6,"Error",369],[5,"RangeFull",1275],[5,"RangeFrom",1275],[10,"Iterator",1276],[1,"i32"],[5,"Rotation",1277],[5,"Blind",539],[10,"MSM",539],[10,"ParamsProver",539],[17,"MSM"],[10,"ParamsVerifier",539],[10,"PartialEq",1198],[17,"Guard"],[17,"MSMAccumulator"],[10,"Guard",369,1274],[5,"ParamsIPA",609],[5,"MSMIPA",654],[5,"IPACommitmentScheme",609],[5,"GuardIPA",716],[5,"ProverIPA",684,1278],[5,"VerifierIPA",684,1279],[5,"Accumulator",716],[5,"AccumulatorStrategy",716],[5,"SingleStrategy",716],[5,"ParamsKZG",793],[10,"Engine",1280],[5,"ParamsVerifierKZG",793],[5,"MSMKZG",866],[5,"KZGCommitmentScheme",793],[5,"DualMSM",866],[10,"MultiMillerLoop",1280],[5,"ProverGWC",915,1281],[5,"ProverSHPLONK",915,1282],[5,"VerifierGWC",915,1283],[5,"VerifierSHPLONK",915,1284],[5,"GuardKZG",980],[5,"AccumulatorStrategy",980],[5,"SingleStrategy",980],[17,"Input"],[5,"ChallengeScalar",1040],[5,"Blake2bRead",1040],[5,"Keccak256Read",1040],[5,"Blake2bWrite",1040],[5,"Keccak256Write",1040],[5,"Challenge255",1040],[10,"TranscriptWriterBuffer",1040],[10,"TranscriptReadBuffer",1040],[1,"array"],[15,"NotEnoughRowsAvailable",309]],"r":[[2,1285],[10,1195],[11,1195],[13,1197],[72,1211],[73,1211],[74,1211],[75,1211],[83,1211],[84,1212],[85,1230],[86,1259],[103,1286],[141,1287],[184,1230],[219,1265],[349,1273],[372,1266],[374,1274],[380,1266],[383,1274],[620,1288],[650,1289],[684,1278],[685,1279],[915,1281],[916,1282],[917,1283],[918,1284]],"b":[[254,"impl-Debug-for-Error"],[255,"impl-Display-for-Error"],[464,"impl-Index%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[465,"impl-Index%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[466,"impl-Index%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[467,"impl-IndexMut%3Cusize%3E-for-Polynomial%3CF,+B%3E"],[468,"impl-IndexMut%3CRangeFull%3E-for-Polynomial%3CF,+B%3E"],[469,"impl-IndexMut%3CRangeFrom%3Cusize%3E%3E-for-Polynomial%3CF,+B%3E"],[503,"impl-Sub%3C%26Polynomial%3CF,+B%3E%3E-for-Polynomial%3CF,+B%3E"],[504,"impl-Sub%3CF%3E-for-%26Polynomial%3CF,+B%3E"],[558,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[559,"impl-AddAssign-for-Blind%3CF%3E"],[586,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[587,"impl-MulAssign-for-Blind%3CF%3E"],[656,"impl-MSMIPA%3C\'a,+C%3E"],[657,"impl-MSM%3CC%3E-for-MSMIPA%3C\'a,+C%3E"],[959,"impl-ProverSHPLONK%3C\'a,+E%3E"],[960,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[1018,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[1019,"impl-AccumulatorStrategy%3CE%3E"],[1020,"impl-SingleStrategy%3CE%3E"],[1021,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKkCcgAAAAAAAgABACwAAAAwAAAAMgACADYABQA9AAAAQgAEAFcAAABbAAEAaQABAG0AAAB8AAAAhwAAAMoAAQDOAAAA0gAAAOYAFwD/AAUADgEDABwBAAAfAQIAIwELADABAwA7AQMAQwEHAE0BAQBRAQAAVgEHAGABBQBnAQAAaQEAAGwBAgBxAQAAeAEAAIEBGQCgAQ8AsQEGAL8BBgDRAQwA7QEAAPABAAD4ASMALgICADQCAQA3AgEAPQICAEECAABDAgAARQIAAEcCAABKAgIAVwIDAFwCAABlAgUAbgIJAHoCAQB+AgEAgQIAAIMCBwCMAgEAlgILAKMCAACmAgYArwIDALQCBwC+AgEAwgIKANECCwDeAgsA7AIDAPUCAwD9AhEAEgMDAB0DHAA+AwIARAMFAE0DAQBQAw4AYgMAAGUDAABnAwYAbwMDAHQDCgCBAwEAhwMBAIoDCQCYAwcAogMPALYDAwC+AwEAwQMOANEDAwDYAxkA9QMCAPsDAAD+AxEAHwQXADgEAwA9BBcAVgQAAFgEBQBlBAAAaQQAAGsEAABtBAEAcAQBAHkEAgB9BAEAgAQBAIMEAwCIBB0ApwQBAKoEAQA="}],\ ["halo2_debug",{"t":"CHHHFFFFNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNHHHHNNNNNNNNNNNNNNNNNNNN","n":["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"],[4,"halo2_debug::display"],[70,"alloc::string"],[71,"core::convert"],[72,"alloc::vec"],[73,"core::ops::function"],[74,"core::marker"],[75,"rand_chacha::chacha"],[76,"halo2_middleware::expression"],[77,"ff"],[78,"halo2_middleware::circuit"],[79,"std::collections::hash::map"],[80,"core::fmt"],[81,"halo2_middleware::lookup"],[82,"halo2_middleware::shuffle"],[83,"core::result"],[84,"core::any"]],"i":[0,0,0,0,0,0,0,0,22,16,25,26,22,16,25,26,22,16,25,26,22,16,25,26,22,16,25,26,0,0,22,16,25,26,22,16,25,26,22,16,25,26,22,16,25,26,0,0,0,0,22,16,25,26,22,16,25,26,22,16,25,26,22,16,25,26,22,16,25,26],"f":"`{cb{{h{{f{d}}}}}}{{c{l{j}}}{{n{d}}}{{Ab{}{{A`{{n{d}}}}}}Ad}}{{}Af}````{{{l{c}}}{{l{e}}}{}{}}000{{{l{Ahc}}}{{l{Ahe}}}{}{}}000{Aj{{l{c}}}{}}000{Aj{{l{Ahc}}}{}}000{AjAl}000{{{l{{An{ce}}}}}{{B`{ceAl}}}BbBd}{{{l{{An{cBf}}}}{l{{Bj{Bhb}}}}}{{B`{cBf{Bj{Bhb}}}}}Bb}{{{l{{Bl{c}}}}{l{AhBn}}}C`Bb}{{{l{{B`{ceg}}}}{l{AhBn}}}C`BbBd{}}{{{l{{Cb{ceg}}}}{l{AhBn}}}C`BbBd{}}{{{l{{Cd{ceg}}}}{l{AhBn}}}C`BbBd{}}{cc{}}000{{}Aj}000{ce{}{}}000{{{l{{Cf{ce}}}}}{{Cb{ceAl}}}BbBd}{{{l{{Cf{cBf}}}}{l{{Bj{Bhb}}}}}{{Cb{cBf{Bj{Bhb}}}}}Bb}{{{l{{Ch{ce}}}}}{{Cd{ceAl}}}BbBd}{{{l{{Ch{cBf}}}}{l{{Bj{Bhb}}}}}{{Cd{cBf{Bj{Bhb}}}}}Bb}{{{l{c}}}b{}}000{c{{Cj{e}}}{}{}}0000000{{{l{c}}}Cl{}}0007777","D":"Bh","p":[[5,"String",70],[1,"u8"],[1,"slice"],[10,"AsRef",71],[1,"str"],[1,"reference"],[5,"Vec",72],[17,"Output"],[10,"FnOnce",73],[10,"Send",74],[5,"ChaCha20Rng",75],[0,"mut"],[1,"usize"],[1,"unit"],[6,"Expression",76],[5,"ExprDisp",4],[10,"PrimeField",77],[10,"Variable",76],[6,"VarMid",78],[5,"ColumnMid",78],[5,"HashMap",79],[5,"FDisp",4],[5,"Formatter",80],[8,"Result",80],[5,"LookupArgDisp",4],[5,"ShuffleArgDisp",4],[5,"Argument",81],[5,"Argument",82],[6,"Result",83],[5,"TypeId",84]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADIABgAAAAEABAAAAAkAEwAfAAMAJwADADMAEwA="}],\ -["halo2_frontend",{"t":"CCCFFKRKRFFFFREFFKFFNNNNNNNNNNNNNNNNNNMNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHMNNMNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNCMNNNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEECCFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNPGKFPKKMNMNMNMMNNNNNNNNNNNMNMNNNNNNNMNNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNPPPGEFFPPGPPGPFPPPPPFPGNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCCCCCGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKKKRFKRFRMMMNNNNNNNNNNNNCMNCMNNNNNNNNNMMNNNMCMNNNNNNMNNNNNNNNNNMMMNNNMMMNNNNNNNNNNNNNNNMFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFPFPGFPFPFPKPPFFPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKNNNNNNNNNNNNNNNNNMNNNNNPPPGPPPPPGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNN","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","IPA","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","BoundsFailure","ColumnNotAssigned","ColumnNotInPermutation","Error","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","Other","OverwriteDefault","Synthesis","TableError","TableError","UnevenColumnLengths","UsedColumn","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","fmt","from","from","init","init","into","into","not_enough_rows_available","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","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"],[855,"halo2_frontend::dev::metadata"],[973,"halo2_frontend::plonk"],[980,"halo2_frontend::plonk::assigned"],[1037,"halo2_frontend::plonk::circuit"],[1126,"halo2_frontend::plonk::circuit::constraint_system"],[1281,"halo2_frontend::plonk::circuit::expression"],[1546,"halo2_frontend::plonk::circuit::expression::sealed"],[1571,"halo2_frontend::plonk::error"],[1615,"halo2_frontend::plonk::error::Error"],[1616,"halo2_frontend::plonk::lookup"],[1637,"halo2_frontend::plonk::permutation"],[1656,"halo2_frontend::plonk::shuffle"],[1677,"halo2_frontend::circuit::value"],[1678,"ff"],[1679,"core::ops::arith"],[1680,"core::ops::function"],[1681,"core::result"],[1682,"alloc::string"],[1683,"core::convert"],[1684,"halo2_frontend::circuit::table_layouter"],[1685,"std::collections::hash::map"],[1686,"alloc::vec"],[1687,"core::option"],[1688,"core::clone"],[1689,"halo2_middleware::circuit"],[1690,"core::fmt"],[1691,"core::marker"],[1692,"core::borrow"],[1693,"core::iter::traits::collect"],[1694,"core::any"],[1695,"core::cmp"],[1696,"std::collections::hash::set"],[1697,"core::hash"],[1698,"core::iter::traits::iterator"],[1699,"halo2_frontend::dev::failure"],[1700,"halo2_frontend::dev::gates"],[1701,"halo2_frontend::dev::graph::layout"],[1702,"halo2_frontend::dev::tfp"],[1703,"plotters::coord"],[1704,"plotters::drawing::area"],[1705,"plotters_backend"],[1706,"core::ops::range"],[1707,"group::prime"],[1708,"serde::de"],[1709,"serde::ser"],[1710,"core::default"],[1711,"halo2_middleware::poly"],[1712,"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,145,145,146,147,148,149,150,147,151,148,149,148,149,147,152,153,150,152,152,153,148,148,149,149,153,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,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,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,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,118,128,130,127,44,129,118,128,130,127,44,129,44,44,118,127,44,118,127,44,118,44,44,44,127,44,44,44,118,128,130,127,44,129,118,128,130,127,44,129,44,118,128,130,127,44,129,44,44,44,44,118,128,130,127,44,129,118,118,128,128,128,130,127,44,129,44,44,44,118,128,130,127,44,129,44,44,118,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,118,44,44,44,44,118,127,44,118,128,130,127,44,129,118,128,130,127,44,129,118,128,130,127,44,129,44,44,118,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,11,144,11,0,11,11,11,144,11,0,11,144,144,11,144,11,144,11,144,11,144,11,144,11,11,144,144,11,144,11,144,11,144,11,11,144,11,144,11,144,11,144,11,144,154,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":"````````````````````{{{d{{b{c}}}}{d{{b{c}}}}}e{}{}}{{{b{{f{c}}}}{b{c}}}eh{}}{{{b{{d{{f{c}}}}}}{b{c}}}eh{}}{{{b{c}}{d{{b{c}}}}}g{{l{d}{{j{}}}}}{}{}}{{{b{{d{{f{c}}}}}}c}eh{}}{{{b{c}}{b{{d{c}}}}}g{{l{d}{{j{}}}}}{}{}}{{{b{{f{c}}}}c}eh{}}{{{d{{b{c}}}}{b{c}}}e{}{}}{{{b{e}}{b{e}}}g{}{{l{}{{j{c}}}}}{}}{{{b{{d{c}}}}{b{c}}}e{}{}}{{{b{c}}g}{{b{e}}}{}{}{{n{c}{{j{{b{e}}}}}}}}{{{d{A`{b{c}}}}}{{b{{d{A`c}}}}}{}}{{{d{{b{c}}}}}{{b{{d{c}}}}}{}}{{{d{{b{c}}}}e}Ab{}{{n{{d{c}}}{{j{Ad}}}}}}{{{b{c}}}{{Ah{cAf}}}{}}{{{d{A`{Aj{c}}}}g{An{Al}}B`k}{{Ah{{Bb{ic}}Af}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}{}{{Bj{}{{j{{b{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{{f{c}}}}}{{Bj{}{{j{{b{i}}}}}}}}{{{d{A`{Aj{c}}}}g{An{Ch}}B`k}{{Ah{{Bb{ic}}Af}}}h{{Bf{Bd}}}{{Bh{}{{j{e}}}}}{}{{Bj{}{{j{{b{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{{b{c}}}}}{{b{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{{{b{{d{c}}}}}{{b{c}}}Dn}{{{b{{d{A`c}}}}}{{b{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{{f{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}}}}{{{b{{d{c}}}}}{{b{c}}}Fd}{{{b{{d{A`c}}}}}{{b{c}}}Fd}{{{d{{Bb{ce}}}}i{d{A`{Aj{e}}}}{An{Al}}B`}{{Ah{{Bb{ce}}Af}}}Dnh{{Bf{Bd}}}{{Bh{}{{j{g}}}}}}{{{d{{b{e}}}}}{{b{{f{c}}}}}h{{Ff{{f{c}}}}}}{{}{{b{c}}}{}}`{B`{{d{c}}}{}}000{{{d{E`}}}{{d{c}}}{}}1{{{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{{b{c}}}}e}{{Ah{AbAf}}}{}{{n{{d{c}}}{{j{Ad}}}}}}{{{b{{f{c}}}}}{{b{c}}}h}{{{Bb{{f{c}}c}}}{{Bb{cc}}}h}`{{{d{{Cb{ce}}}}{d{A`Fj}}}Flh{{Cd{c}}}}{{{d{{b{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{{{b{c}}}{{b{{f{c}}}}}h}1{B`E`}22{B`Eb}333{{{d{A`Fn}}}{{Aj{c}}}h}{{{d{A`Bn}}}{{Cf{c}}}h}55{e{{b{g}}}{}{{Gb{}{{G`{{b{c}}}}}}}{{Gd{c}}}}{{{d{{Cl{}{{Cj{c}}}}}}Gf}{{b{e}}}{{Cl{e}}}h}{{{d{{Cn{ce}}}}Gf}{{b{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{{b{c}}Af}}}h}{ce{}{}}000000000{{{b{e}}}{{b{{f{c}}}}}h{{Bf{{f{c}}}}}}{{{d{{b{e}}}}}{{b{{f{c}}}}}h{{Ff{{f{c}}}}}}{c{{b{c}}}{}}`{{{d{{F`{}{{El{c}}{En{e}}}}}}}{{d{e}}}{FbDn}{FbDn}}{{{b{c}}g}{{b{e}}}{}{}{{n{c}{{j{e}}}}}}{{{b{e}}{b{e}}}g{}{{Gh{}{{j{c}}}}}{}}{{{b{c}}{d{{b{c}}}}}g{{Gh{d}{{j{}}}}}{}{}}{{{b{{f{c}}}}c}eh{}}{{{b{c}}{b{{d{c}}}}}g{{Gh{d}{{j{}}}}}{}{}}{{{b{{d{c}}}}{b{c}}}e{}{}}{{{d{{b{c}}}}{b{c}}}e{}{}}{{{b{{d{{f{c}}}}}}{b{c}}}eh{}}{{{d{{b{c}}}}{d{{b{c}}}}}e{}{}}{{{b{{f{c}}}}{b{c}}}eh{}}{{{b{{d{{f{c}}}}}}c}eh{}}{{{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}}}}}}{{{b{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{{b{e}}}}}{{b{{f{c}}}}}h{{Ff{{f{c}}}}}}><:{{{b{{f{c}}}}c}eh{}}{{{b{e}}{b{e}}}g{}{{H`{}{{j{c}}}}}{}}={{{b{{d{c}}}}{b{c}}}e{}{}}{{{b{c}}{d{{b{c}}}}}g{{H`{d}{{j{}}}}}{}{}}{{{b{{d{{f{c}}}}}}{b{c}}}eh{}}{{{b{c}}{b{{d{c}}}}}g{{H`{d}{{j{}}}}}{}{}}{{{d{{b{c}}}}}{{b{{f{e}}}}}{}h}{{{d{c}}}e{}{}}0000{{{b{{Hb{c}}}}}{{Hb{{b{c}}}}}Fd}{{{b{e}}B`}{{Df{{b{c}}}}}{}{{Gb{}{{G`{c}}}}}}{c{{Ah{e}}}{}{}}0000000000000000000{{{d{c}}}Hd{}}000000000{{}{{b{c}}}{}}{{{b{{Ej{ce}}}}}{{Ej{{b{c}}{b{e}}}}}{}{}}{{{d{{Bb{ce}}}}}{{b{{d{c}}}}}{}h}{{{d{{Bb{ce}}}}}{{b{{f{e}}}}}{}h}{ce{}{}}000000000{{{b{c}}{b{e}}}{{b{{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}{{b{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}{{b{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`{f{c}}}{{Ah{DlAf}}}h}{{{d{A`Id}}{d{Bh}}{An{Al}}B`{f{c}}}{{Ah{DlAf}}}h}{{{d{A`Fn}}{d{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{b{c}}}}Af}}}h}{{{d{A`Id}}{d{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{b{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{f{c}}}{{Ah{AbAf}}}h}{{{d{A`Id}}Dl{f{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{}}0{FhIf}{{{An{Gj}}}If}{{{d{If}}{d{A`c}}}AbIl}{{}B`}0{{{d{A`Fn}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}h}{{{d{A`Id}}{An{Bl}}B`}{{Ah{{b{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{{f{c}}}}}{{n{}{{j{{b{i}}}}}}}}{{{d{A`{In{c}}}}g{An{Ch}}B`k}{{Ah{AbAf}}}h{{Bf{Bd}}}{{n{}{{j{e}}}}}{{Bf{{f{c}}}}}{{n{}{{j{{b{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`{b{{f{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}}}{{Ah{AbKd}}}}{{{d{Jn}}{d{A`Fj}}}Fl}{{{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}{{b{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{{b{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{cc{}}{{{An{Gj}}}N`}1{{{Ej{N`Nj}}}Nb}{NlNb}{{{Ej{cN`Nj}}}Nb{{Nn{Ml}}}}{{{Ej{B`c}}}Nd{{Nn{Ml}}}}5{{{Ej{NdB`c}}}Nf{{Nn{Ml}}}}6{{{Ej{B`Bd{Dd{N`Bd}}}}}Nh}{{{Ej{B`{d{Ml}}}}}Nh}{{{Ej{B`Bd}}}Nh}{{{Ej{B`{d{Ml}}{Dd{N`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```````````{{{f{c}}c}{{f{c}}}h}{{{d{{f{c}}}}{f{c}}}{{f{c}}}h}{{{d{{f{c}}}}c}{{f{c}}}h}{{{f{c}}{f{c}}}{{f{c}}}h}{{{d{{f{c}}}}{d{{f{c}}}}}{{f{c}}}h}{{{f{c}}{d{{f{c}}}}}{{f{c}}}h}{{{d{A`{f{c}}}}{d{{f{c}}}}}Abh}{{{d{A`{f{c}}}}{f{c}}}Abh}{{{d{c}}}{{d{e}}}{}{}}{{{d{A`c}}}{{d{A`e}}}{}{}}{{{d{{f{c}}}}}{{f{c}}}Dn}{{{d{c}}{d{A`e}}}Ab{}{}}{{{d{{f{c}}}}}{{f{c}}}h}{{{d{{f{c}}}}}{{Dh{c}}}h}{B`{{d{c}}}{}}{B`{{d{A`c}}}{}}3{B`Ab}{{{d{{f{c}}}}{d{{f{c}}}}}Adh}{{{f{c}}}ch}{{{d{{f{c}}}}{d{A`Fj}}}FlFb}7{c{{f{c}}}h}{cc{}}{{{Ej{cc}}}{{f{c}}}h}{{{d{c}}}{{f{c}}}h}{{}B`}{ce{}{}}={{{d{{f{c}}}}}Adh}{{{f{c}}{f{c}}}{{f{c}}}h}{{{d{{f{c}}}}c}{{f{c}}}h}{{{f{c}}{d{{f{c}}}}}{{f{c}}}h}{{{f{c}}c}{{f{c}}}h}{{{d{A`{f{c}}}}{f{c}}}Abh}{{{d{A`{f{c}}}}{d{{f{c}}}}}Abh}{{{f{c}}}eh{}}{{{d{{f{c}}}}}eh{}}{{{d{{f{c}}}}}ch}{{{d{{f{c}}}}}{{f{c}}}h}8{{{d{{f{c}}}}{d{{f{c}}}}}{{f{c}}}h}{{{d{{f{c}}}}{f{c}}}{{f{c}}}h}8;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{{f{g}}}}}{{n{}{{j{{b{i}}}}}}}}{{{d{A`Cd}}e{An{Ch}}B`k}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{j{c}}}}}h{{Bf{{f{g}}}}}{{n{}{{j{{b{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`{b{{f{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}{{b{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{{b{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{Nl}}}Nl}{{{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{Nl}}{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}}}Nl{{Bf{{An{Gj}}}}}}{cc{}}{{{Oj{c}}}{{A@`{c}}}h}1{{{Ej{c{Oj{e}}}}}{{A@`{e}}}{{Nn{Ml}}}h}2222{{{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{Nl}}}}}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}{N`{{An{Gj}}}}{cc{}}{{{An{Al}}}{{An{Gj}}}}{{{An{Ch}}}{{An{Gj}}}}{{{An{Bl}}}{{An{Gj}}}}333333333{AAjGf}4{{{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}}}}Nj}{{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{Ch}}c}}}{}}{c{{Ah{e}}}{}{}}{{{An{Gj}}}{{Ah{{An{Al}}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}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0{B`{{d{c}}}{}}0{B`{{d{A`c}}}{}}0{B`Ab}0{{{d{Af}}{d{A`Fj}}}Fl}0{{{d{AB`}}{d{A`Fj}}}Fl}0{cc{}}0{{}B`}099{EdAf}{{{d{c}}}Bd{}}0====<<;;``:9{{{d{{A@f{c}}}}}{{A@f{c}}}{Dnh}}{{{d{c}}{d{A`e}}}Ab{}{}}:98{{{d{{A@f{c}}}}{d{A`Fj}}}Flh}65{{{d{{A@f{c}}}}}{{d{{Df{{Oj{c}}}}}}}h}?{{{d{{A@f{c}}}}}{{d{Ml}}}h}{{c{Df{{Ej{{Oj{e}}{Oj{e}}}}}}}{{A@f{e}}}{{Nn{Ml}}}h}2{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}{ce{}{}}`{{{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`};>==<;`:9{{{d{{A@l{c}}}}}{{A@l{c}}}{Dnh}}{{{d{c}}{d{A`e}}}Ab{}{}}876{{{d{{A@l{c}}}}{d{A`Fj}}}Flh}53{{{d{{A@l{c}}}}}{{d{{Df{{Oj{c}}}}}}}h}?{{{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{}}{ce{}{}}","D":"DE`","p":[[5,"Value",3,1677],[1,"reference"],[6,"Assigned",980],[10,"Field",1678],[17,"Output"],[10,"Add",1679],[10,"FnOnce",1680],[0,"mut"],[1,"unit"],[1,"bool"],[6,"Error",1571],[6,"Result",1681],[5,"Region",3],[5,"Advice",1037],[5,"Column",1281],[1,"usize"],[5,"AssignedCell",3],[5,"String",1682],[10,"Into",1683],[10,"Fn",1680],[10,"FnMut",1680],[5,"Instance",1037],[10,"TableLayouter",381,1684],[5,"TableColumn",1281],[5,"SimpleTableLayouter",3,1684],[10,"Assignment",1037],[5,"Table",3],[5,"Fixed",1037],[17,"Root"],[10,"Layouter",3],[5,"NamespacedLayouter",3],[5,"WitnessCalculator",3],[1,"u8"],[5,"HashMap",1685],[5,"Vec",1686],[6,"Option",1687],[10,"Circuit",1037],[5,"Cell",3],[10,"Clone",1688],[5,"RegionIndex",3],[5,"RegionStart",3],[1,"u32"],[5,"CompiledCircuit",1689],[5,"ConstraintSystem",1126],[1,"tuple"],[17,"Config"],[17,"Loaded"],[10,"Chip",3],[10,"Debug",1690],[10,"Copy",1691],[10,"Borrow",1692],[5,"Selector",1281],[5,"Formatter",1690],[8,"Result",1690],[10,"RegionLayouter",381],[17,"Item"],[10,"IntoIterator",1693],[10,"FromIterator",1693],[5,"Challenge",1281],[10,"Mul",1679],[6,"Any",1689],[10,"Neg",1679],[1,"slice"],[10,"Sub",1679],[1,"array"],[5,"TypeId",1694],[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",1695],[5,"HashSet",1696],[10,"Hasher",1697],[5,"MockProver",449],[6,"CellValue",449],[10,"FromUniformBytes",1678],[10,"Ord",1695],[10,"Iterator",1698],[6,"FailureLocation",449,1699],[6,"VerifyFailure",449,1699],[6,"InstanceValue",449],[5,"CircuitGates",449,1700],[5,"CircuitLayout",449,1701],[10,"PartialEq",1695],[5,"Error",1690],[5,"TracingFloorPlanner",449,1702],[10,"FloorPlanner",1037],[5,"Shift",1703],[5,"DrawingArea",1704],[6,"DrawingAreaErrorKind",1704],[10,"DrawingBackend",1705],[5,"Range",1706],[5,"CircuitCost",666],[10,"PrimeGroup",1707],[5,"MarginalProofSize",666],[5,"ProofSize",666],[5,"Poly",711],[5,"Lookup",711],[5,"Permutation",711],[5,"Shuffle",711],[10,"Deserializer",1708],[5,"ModelCircuit",711],[6,"CommitmentScheme",711],[5,"CostOptions",711],[1,"str"],[10,"Serializer",1709],[5,"Column",855],[5,"VirtualCell",855],[5,"Gate",855],[5,"Constraint",855],[5,"Region",855],[1,"i32"],[5,"VirtualCell",1126],[10,"AsRef",1683],[17,"FloorPlanner"],[17,"Params"],[10,"Default",1710],[10,"ColumnType",1037],[5,"Rotation",1711],[6,"Expression",1281],[10,"Phase",1281],[5,"Gate",1126],[5,"Constraint",1126],[5,"VirtualCells",1126],[5,"Constraints",1126],[5,"Argument",1616],[5,"Argument",1637],[5,"Phase",1546],[5,"Argument",1656],[5,"FixedQuery",1281],[5,"AdviceQuery",1281],[5,"InstanceQuery",1281],[5,"FirstPhase",1281],[5,"SecondPhase",1281],[5,"ThirdPhase",1281],[5,"ChallengeMid",1689],[10,"Hash",1697],[10,"SealedPhase",1546],[6,"TableError",1571],[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,"NotEnoughRowsAvailable",1615]],"r":[[14,279],[15,1684],[17,1684],[18,1677],[275,316],[276,316],[387,1684],[453,666],[454,1700],[455,1701],[458,1699],[469,1702],[471,1699],[496,1712]],"b":[[20,"impl-Add-for-%26Value%3CV%3E"],[21,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[22,"impl-Add%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[23,"impl-Add%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[24,"impl-Add%3CF%3E-for-Value%3C%26Assigned%3CF%3E%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%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[28,"impl-Add-for-Value%3CV%3E"],[29,"impl-Add%3CValue%3CV%3E%3E-for-Value%3C%26V%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-for-Value%3CV%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%3C%26V%3E%3E-for-Value%3CV%3E"],[194,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[195,"impl-Mul%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[196,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[197,"impl-Mul-for-%26Value%3CV%3E"],[198,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[199,"impl-Mul%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[212,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[213,"impl-Sub-for-%26Value%3CV%3E"],[214,"impl-Sub%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[215,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[216,"impl-Sub-for-Value%3CV%3E"],[217,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[218,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[219,"impl-Sub%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[220,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[221,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[424,"impl-From%3CSelector%3E-for-RegionColumn"],[425,"impl-From%3CColumn%3CAny%3E%3E-for-RegionColumn"],[546,"impl-Display-for-FailureLocation"],[547,"impl-Debug-for-FailureLocation"],[548,"impl-Debug-for-VerifyFailure"],[549,"impl-Display-for-VerifyFailure"],[550,"impl-Display-for-CircuitGates"],[551,"impl-Debug-for-CircuitGates"],[903,"impl-Display-for-ColumnMid"],[904,"impl-Debug-for-ColumnMid"],[905,"impl-Debug-for-VirtualCell"],[906,"impl-Display-for-VirtualCell"],[907,"impl-Display-for-Gate"],[908,"impl-Debug-for-Gate"],[909,"impl-Debug-for-Constraint"],[910,"impl-Display-for-Constraint"],[911,"impl-Debug-for-Region"],[912,"impl-Display-for-Region"],[916,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[917,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[918,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[923,"impl-From%3C(usize,+String,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[924,"impl-From%3C(usize,+%26str)%3E-for-Region"],[925,"impl-From%3C(usize,+String)%3E-for-Region"],[926,"impl-From%3C(usize,+%26str,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[984,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[985,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[986,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[987,"impl-Add-for-Assigned%3CF%3E"],[988,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[989,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[990,"impl-AddAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[991,"impl-AddAssign-for-Assigned%3CF%3E"],[1005,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1006,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1008,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1009,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1014,"impl-Mul-for-Assigned%3CF%3E"],[1015,"impl-Mul%3CF%3E-for-%26Assigned%3CF%3E"],[1016,"impl-Mul%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1017,"impl-Mul%3CF%3E-for-Assigned%3CF%3E"],[1018,"impl-MulAssign-for-Assigned%3CF%3E"],[1019,"impl-MulAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1020,"impl-Neg-for-Assigned%3CF%3E"],[1021,"impl-Neg-for-%26Assigned%3CF%3E"],[1024,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1025,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1026,"impl-Sub%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1027,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1028,"impl-Sub-for-Assigned%3CF%3E"],[1029,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1030,"impl-SubAssign-for-Assigned%3CF%3E"],[1031,"impl-SubAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1199,"impl-From%3CExpression%3CF%3E%3E-for-Constraint%3CF%3E"],[1201,"impl-From%3C(S,+Expression%3CF%3E)%3E-for-Constraint%3CF%3E"],[1412,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1414,"impl-From%3CColumn%3CAdvice%3E%3E-for-Column%3CAny%3E"],[1415,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1416,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1465,"impl-Mul%3CF%3E-for-Expression%3CF%3E"],[1466,"impl-Mul-for-Expression%3CF%3E"],[1499,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1500,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1502,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1594,"impl-Display-for-Error"],[1595,"impl-Debug-for-Error"],[1596,"impl-Display-for-TableError"],[1597,"impl-Debug-for-TableError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGUEjQAAAAAAAwAAAA8AAAAVAAkAKAAAACwAAAAuABQARQAJAFcAAABcAAAAXgAVAHUACgCBAAAAhgAJAJIAAACUAAAAlwAAAJsAAQChAAAAowAKAL8ACQDLAAAAzwAAANEAAADVAAkA4AAEAOcAHQAJAQkAFAEDABoBDgArAQMAMgEKAEEBGgBgAQUAagETAIYBAACIAQAAigEAAI0BCQCZAQAAmwEGAKMBAwCpAQQArwEAALMBAAC1AQAAuAEJAMYBAADcAQAA3wERAPIBBwD7AQAA/wEYABkCBwAjAgoANgIIAEsCAQBOAgAAVAIfAHoCBwCeAhEAswICALwCCwDUAhYA7AIYAAYDBgAWAwAAGAMGAC4DAAAzAwEAOAMfAF0DFQB0Ax0AkwMAAJUDAwCaAwAAnAMDAKEDAACjAwQArQMlANQDAADZAwsA5wMBAOoDAQDtAwIA8QMCAPcDBwABBAwAGwQMACoEAAAsBAgANwQCADsEAAA9BAIARAQFAFEEAgBXBA4AdQQLAIMEBgCPBAAAkQQLAJ4EBQCoBAYAsAQAALIEAAC5BAYAyAQAANcEAQDfBAAA5AQUAPsEBQAYBSgASAUAAEwFIABuBQcAegULAIcFAgCTBQAAlQUDAJ0FAAChBQsAugUDAL8FAQDDBQAAzQUAAM8FOwANBgkAGAYBABsGCAAxBg0AQQYBAEYGCQBSBgcAWwYAAGEGBABnBggAcgYAAHQGBAB6BgcAgwYAAIkGBAA="}],\ -["halo2_middleware",{"t":"CCEECCCCCCPGFPFFFPFIPFIPPFPPFPPGONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNOONOONNOOOONNNOONONOONOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNPGPPPPKNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNMNFINNNNNNNNNNOONOOOONNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNFFNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNFINNNNNNNNNNOONOOOONNNNNCCFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRKMMMMMM","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","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"],[290,"halo2_middleware::lookup"],[314,"halo2_middleware::multicore"],[458,"halo2_middleware::permutation"],[494,"halo2_middleware::poly"],[518,"halo2_middleware::shuffle"],[542,"halo2_middleware::zal"],[544,"halo2_middleware::zal::impls"],[680,"halo2_middleware::zal::traits"],[689,"core::clone"],[690,"ff"],[691,"core::cmp"],[692,"core::fmt"],[693,"core::hash"],[694,"core::option"],[695,"alloc::string"],[696,"core::result"],[697,"core::any"],[698,"std::io::error"],[699,"std::io"],[700,"core::ops::function"],[701,"core::iter::traits::iterator"],[702,"rayon::iter"],[703,"core::marker"],[704,"rayon::slice"],[705,"rayon::iter::blocks"],[706,"rayon::iter::chain"],[707,"rayon::iter::chunks"],[708,"rayon::iter::cloned"],[709,"alloc::vec"],[710,"alloc::collections::linked_list"],[711,"rayon::iter::copied"],[712,"rayon::iter::plumbing"],[713,"rayon::iter::enumerate"],[714,"rayon::iter::filter"],[715,"rayon::iter::filter_map"],[716,"rayon::iter::flat_map"],[717,"rayon::iter::flat_map_iter"],[718,"core::iter::traits::collect"],[719,"rayon::iter::flatten"],[720,"rayon::iter::flatten_iter"],[721,"rayon_core::scope"],[722,"rayon::iter::fold"],[723,"rayon::iter::fold_chunks"],[724,"rayon::iter::fold_chunks_with"],[725,"rayon::iter::inspect"],[726,"rayon::iter::interleave"],[727,"rayon::iter::interleave_shortest"],[728,"rayon::iter::intersperse"],[729,"rayon::iter::map"],[730,"rayon::iter::map_with"],[731,"rayon::iter::panic_fuse"],[732,"rayon::slice::chunk_by"],[733,"rayon::slice::chunks"],[734,"rayon::slice::rchunks"],[735,"core::default"],[736,"either"],[737,"rayon::iter::positions"],[738,"core::iter::traits::accum"],[739,"rayon::iter::rev"],[740,"rayon::iter::skip"],[741,"rayon::iter::skip_any"],[742,"rayon::iter::skip_any_while"],[743,"rayon_core::broadcast"],[744,"rayon::iter::step_by"],[745,"rayon::iter::take"],[746,"rayon::iter::take_any"],[747,"rayon::iter::take_any_while"],[748,"rayon::iter::try_fold"],[749,"rayon::iter::private"],[750,"rayon::iter::update"],[751,"rayon::iter::while_some"],[752,"rayon::iter::len"],[753,"rayon::iter::zip"],[754,"rayon::iter::zip_eq"],[755,"pasta_curves::arithmetic::curves"],[756,"rayon_core"],[757,"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,28,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{{Ch{ce}}}}{b{dg}}}{{D`{B`}}}A`AbDb}``{{{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",689],[10,"Field",690],[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",691],[1,"usize"],[1,"bool"],[5,"Formatter",692],[8,"Result",692],[10,"Debug",692],[10,"Hasher",693],[1,"str"],[5,"Rotation",494],[6,"Option",694],[1,"u8"],[6,"Expression",251],[5,"String",695],[6,"Result",696],[5,"TypeId",697],[8,"Result",698],[10,"Write",699],[10,"PartialEq",691],[17,"Output"],[10,"Fn",700],[17,"Item"],[10,"Iterator",701],[5,"Argument",290],[10,"ParallelIterator",314,702],[10,"Send",703],[10,"Sync",703],[10,"ParallelSliceMut",314,704],[1,"slice"],[10,"IndexedParallelIterator",314,702],[5,"ExponentialBlocks",705],[5,"UniformBlocks",705],[5,"Chain",706],[10,"IntoParallelIterator",314,702],[5,"Chunks",707],[5,"Cloned",708],[10,"FromParallelIterator",702],[5,"Vec",709],[5,"LinkedList",710],[5,"Copied",711],[10,"Consumer",712],[10,"UnindexedConsumer",712],[5,"Enumerate",713],[5,"Filter",714],[5,"FilterMap",715],[5,"FlatMap",716],[5,"FlatMapIter",717],[10,"IntoIterator",718],[5,"Flatten",719],[5,"FlattenIter",720],[5,"Scope",314,721],[5,"Error",692],[5,"Fold",722],[5,"FoldChunks",723],[5,"FoldChunksWith",724],[5,"FoldWith",722],[5,"Inspect",725],[5,"Interleave",726],[5,"InterleaveShortest",727],[5,"Intersperse",728],[17,"Iter"],[1,"tuple"],[10,"FnOnce",700],[5,"Map",729],[5,"MapInit",730],[5,"MapWith",730],[10,"Ord",691],[5,"PanicFuse",731],[5,"ChunkByMut",732],[5,"ChunksExactMut",733],[5,"ChunksMut",733],[10,"IntoParallelRefIterator",314,702],[10,"IntoParallelRefMutIterator",314,702],[5,"RChunksExactMut",734],[5,"RChunksMut",734],[5,"SplitInclusiveMut",704],[5,"SplitMut",704],[10,"Default",735],[10,"ParallelExtend",702],[6,"Either",736],[5,"Positions",737],[10,"Product",738],[5,"Rev",739],[5,"Skip",740],[5,"SkipAny",741],[5,"SkipAnyWhile",742],[5,"BroadcastContext",743],[5,"StepBy",744],[10,"Sum",738],[5,"Take",745],[5,"TakeAny",746],[5,"TakeAnyWhile",747],[5,"TryFold",748],[10,"Try",749],[10,"TryFoldAndReduce",314],[5,"TryFoldWith",748],[5,"Update",750],[5,"WhileSome",751],[5,"MaxLen",752],[5,"MinLen",752],[10,"ProducerCallback",712],[5,"Zip",753],[5,"ZipEq",754],[5,"AssemblyMid",458],[5,"ArgumentMid",458],[5,"Argument",518],[5,"HasCurve",544],[5,"HasMsmEngine",544],[5,"PlonkEngineConfig",544],[5,"PlonkEngine",544],[10,"CurveAffine",755],[10,"MsmAccel",680],[5,"H2cEngine",544],[5,"NoCurve",544],[5,"NoMsmEngine",544],[17,"CoeffsDescriptor"],[17,"BaseDescriptor"],[8,"ExpressionMid",10],[8,"GateMid",10],[8,"ArgumentMid",290],[8,"ArgumentMid",518],[5,"H2cMsmCoeffsDesc",544],[5,"H2cMsmBaseDesc",544]],"r":[[314,702],[315,702],[316,702],[317,702],[325,702],[326,704],[327,721],[345,756],[383,757],[426,721]],"b":[[123,"impl-Debug-for-VarMid"],[124,"impl-Display-for-VarMid"],[130,"impl-Display-for-ColumnMid"],[131,"impl-Debug-for-ColumnMid"],[277,"impl-Mul-for-Expression%3CF,+V%3E"],[278,"impl-Mul%3CF%3E-for-Expression%3CF,+V%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMYBMgAAAAkAFAAAABcAAAAdAAAAIAAAACIAEwA3ABcAUgAzAJAABACWAAAAmAAJAKwAAQCvAAwAvQAAAL8AAQDCAAAAxAArAPEACgACAQUADAEDABEBAAAUAQAAFgEKACIBAAAkAQgALgECADIBCABJAQAATQEBAFsBAQBfAQAAbgEAAHkBAAC8AQEAwAEAAMQBAADMAQgA1gEIAOEBAQDlAQkA8AEEAPYBBAD8AQEAAAIAAAICBAAIAggAEgICABYCSABoAgoAfAI1AA=="}],\ -["halo2_proofs",{"t":"PPPGCNNCNNNNCNNNENNCCNCNNNNRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMFFKRKRFFFRFFFNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNCNNFFNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNCNNNNNNNNPPPGFPPGPPGPFPPPPPPGNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOGFPPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPGGKPPPFPKFPPKRPFPFFGGGGFFPPFKRPFPPPPPPPPPPPRKPFPPFFPPPFPFPPFFPNNNNNNNNNNNNONMNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNMNNMNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONMNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHNNNNOONNNNNNNNNNNNNNNNNONONONONNNNNNNONNNNHMNNMNNMNNNNNNNNMNNNNNNONNNNONNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNMNNOOFRFKNNNNNNNNNNNCNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNCNCNNNMNNNNNMNNNNNNNNNNNNFTKRRKRRKKRKRKTTRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFINNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFKRKKKKKNNNNNNNNNNNNNMNNMNNNNNNNNNNNNMNNNNNNNMNMMNNNNNNNNMNMNMNMNNNNNNNNNNNNNNNNNNMNMN","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","IPA","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","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","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","Output","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","ipa","k","kzg","l_i_range","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","QUERY_INSTANCE","QUERY_INSTANCE","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","IPACommitmentScheme","ParamsIPA","ParamsVerifierIPA","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commit","commit_lagrange","create_proof_with_engine","deref","deref","deref_mut","deref_mut","downsize","drop","drop","empty_msm","fmt","fmt","from","from","init","init","into","into","k","n","new","new_params","read","read_params","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","write","MSMIPA","add_constant_term","add_msm","add_msm","add_to_g_scalars","add_to_u_scalar","add_to_w_scalar","append_term","bases","borrow","borrow_mut","check","clone","clone_into","deref","deref_mut","drop","eval","fmt","from","init","into","new","scalars","scale","to_owned","try_from","try_into","type_id","vzip","ProverIPA","VerifierIPA","borrow","borrow","borrow_mut","borrow_mut","create_proof_with_engine","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new","new","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","Accumulator","AccumulatorStrategy","GuardIPA","SingleStrategy","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","compute_g","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","finalize","finalize","fmt","fmt","fmt","fmt","from","from","from","from","g","init","init","init","init","into","into","into","into","new","new","process","process","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u_packed","use_challenges","use_g","vzip","vzip","vzip","vzip","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"],[711,"halo2_proofs::dev::metadata"],[829,"halo2_proofs::plonk"],[1476,"halo2_proofs::plonk::ErrorBack"],[1477,"halo2_proofs::plonk::ErrorFront"],[1478,"halo2_proofs::poly"],[1550,"halo2_proofs::poly::commitment"],[1616,"halo2_proofs::poly::ipa"],[1620,"halo2_proofs::poly::ipa::commitment"],[1665,"halo2_proofs::poly::ipa::msm"],[1695,"halo2_proofs::poly::ipa::multiopen"],[1727,"halo2_proofs::poly::ipa::strategy"],[1800,"halo2_proofs::poly::kzg"],[1804,"halo2_proofs::poly::kzg::commitment"],[1877,"halo2_proofs::poly::kzg::msm"],[1926,"halo2_proofs::poly::kzg::multiopen"],[1991,"halo2_proofs::poly::kzg::strategy"],[2051,"halo2_proofs::transcript"],[2139,"halo2_backend::helpers"],[2140,"core::fmt"],[2141,"core::result"],[2142,"core::any"],[2143,"pasta_curves::arithmetic::curves"],[2144,"subtle"],[2145,"ff"],[2146,"core::cmp"],[2147,"core::ops::arith"],[2148,"core::ops::function"],[2149,"alloc::boxed"],[2150,"core::marker"],[2151,"core::clone"],[2152,"core::convert"],[2153,"rand_core"],[2154,"halo2_frontend::circuit::value"],[2155,"halo2_frontend::plonk::assigned"],[2156,"halo2_frontend::circuit"],[2157,"halo2_frontend::plonk::circuit"],[2158,"halo2_frontend::plonk::circuit::expression"],[2159,"alloc::string"],[2160,"core::borrow"],[2161,"halo2_frontend::circuit::floor_planner::single_pass"],[2162,"halo2_frontend::circuit::layouter"],[2163,"halo2_frontend::circuit::table_layouter"],[2164,"core::iter::traits::collect"],[2165,"halo2_middleware::circuit"],[2166,"core::option"],[2167,"alloc::vec"],[2168,"halo2_frontend::circuit::floor_planner::v1"],[2169,"halo2_frontend::dev"],[2170,"core::iter::traits::iterator"],[2171,"halo2_frontend::dev::failure"],[2172,"halo2_frontend::plonk::circuit::constraint_system"],[2173,"halo2_frontend::dev::graph::layout"],[2174,"plotters::coord"],[2175,"plotters::drawing::area"],[2176,"plotters_backend"],[2177,"core::ops::range"],[2178,"halo2_frontend::dev::cost_model"],[2179,"serde::de"],[2180,"serde::ser"],[2181,"halo2_frontend::dev::metadata"],[2182,"std::collections::hash::map"],[2183,"core::hash"],[2184,"halo2_middleware::poly"],[2185,"halo2_backend::plonk"],[2186,"halo2_proofs::plonk::error"],[2187,"halo2_backend::transcript"],[2188,"halo2_middleware::zal::impls"],[2189,"halo2_middleware::zal::traits"],[2190,"std::io::error"],[2191,"halo2_backend::plonk::circuit"],[2192,"halo2_backend::poly::domain"],[2193,"halo2_backend::poly::commitment"],[2194,"halo2_frontend::plonk::lookup"],[2195,"core::default"],[2196,"halo2_frontend::plonk::permutation"],[2197,"halo2_frontend::plonk::circuit::expression::sealed"],[2198,"std::io"],[2199,"halo2_frontend::plonk::shuffle"],[2200,"core::error"],[2201,"halo2_backend::poly::strategy"],[2202,"halo2_backend::poly"],[2203,"halo2_backend::poly::query"],[2204,"halo2_backend::poly::ipa::commitment"],[2205,"halo2_backend::poly::ipa::msm"],[2206,"halo2_backend::poly::ipa::strategy"],[2207,"halo2_backend::poly::ipa::multiopen::prover"],[2208,"halo2_backend::poly::ipa::multiopen::verifier"],[2209,"halo2_backend::poly::kzg::commitment"],[2210,"pairing"],[2211,"halo2_backend::poly::kzg::msm"],[2212,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[2213,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[2214,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[2215,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[2216,"halo2_backend::poly::kzg::strategy"],[2217,"halo2_backend::arithmetic"],[2218,"halo2_frontend::circuit::floor_planner"],[2219,"halo2_frontend::dev::graph"],[2220,"halo2_proofs::plonk::prover"],[2221,"halo2_proofs::plonk::keygen"],[2222,"halo2_backend::plonk::verifier"],[2223,"halo2_backend::poly::ipa"],[2224,"halo2_backend::poly::ipa::commitment::prover"],[2225,"halo2_backend::poly::ipa::commitment::verifier"],[2226,"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,217,217,218,219,220,221,222,219,223,220,221,220,221,219,224,225,222,224,224,225,220,220,221,221,225,0,0,108,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,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,226,227,0,167,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,167,123,149,123,149,149,149,149,149,123,123,149,123,149,0,149,0,149,149,149,167,149,123,123,149,123,167,149,149,123,149,123,149,123,149,123,149,123,149,0,181,0,165,166,0,181,166,0,0,165,0,165,0,178,166,165,0,175,175,175,176,176,176,175,175,176,175,175,177,152,178,178,175,175,175,152,175,181,175,176,175,175,175,175,152,175,175,175,152,177,178,166,175,165,152,165,176,176,175,175,175,175,166,175,152,0,0,0,0,0,0,0,187,189,187,189,187,187,187,187,0,187,189,187,189,187,187,189,187,187,189,187,189,187,189,187,189,187,187,187,189,187,189,187,187,189,187,189,187,189,0,187,189,187,0,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,0,0,191,192,191,192,191,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,192,191,192,0,0,0,0,190,193,194,195,190,193,194,195,190,193,190,193,190,190,193,194,195,190,193,194,195,190,193,194,195,194,195,190,193,194,195,190,193,194,195,193,190,193,194,195,190,193,194,195,194,195,194,195,190,193,190,193,194,195,190,193,194,195,190,193,194,195,193,190,190,190,193,194,195,0,0,0,0,0,0,0,196,198,200,196,198,200,196,198,196,198,196,196,198,196,198,200,196,198,200,196,198,196,198,200,196,198,196,198,200,196,198,200,196,196,198,200,196,198,200,196,198,196,198,196,200,196,198,196,198,200,196,196,198,196,198,200,196,198,200,196,198,200,196,196,198,200,196,198,196,198,0,0,199,201,199,199,199,201,199,201,199,201,199,201,199,201,199,199,201,199,201,199,201,199,201,199,199,201,199,201,199,201,199,201,199,201,199,199,201,199,201,199,201,199,201,199,201,199,201,0,0,0,0,203,205,204,206,203,205,204,206,203,204,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,204,206,203,205,204,206,203,205,204,206,203,205,204,206,205,206,203,205,204,206,0,0,0,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,208,209,207,208,209,207,208,209,207,208,209,207,208,209,208,208,209,209,208,209,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,208,0,0,0,0,132,0,0,0,0,0,132,212,213,214,212,213,214,212,213,214,212,213,214,151,212,213,151,212,213,212,213,214,214,212,213,214,212,213,214,215,213,212,213,214,212,213,214,132,214,216,215,212,212,213,213,214,212,213,214,132,214,168,212,168,212,151,212,213,151,212,213,214,212,213,214,212,213,214,212,213,214,212,213,214,133,213,133,213],"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}}{b{{Dh{c}}}}}{}{{Dl{b}{{Bj{}}}}}{}}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}{}{}}{{{Dh{{b{{Dj{c}}}}}}c}{}Bh}{{{Dh{e}}{Dh{e}}}{}{}{{Dl{}{{Bj{c}}}}}}{{{Dh{{b{{Dj{c}}}}}}{Dh{c}}}{}Bh}{{{Dh{{Dj{c}}}}{Dh{c}}}{}Bh}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Dl{b}{{Bj{}}}}}{}}{{{Dh{{b{c}}}}{Dh{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{c}}}}}{{Dh{c}}}D`}{{{Dh{{b{dc}}}}}{{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{dc}}}}}{{Dh{c}}}Gj}{{{Dh{{b{c}}}}}{{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{}}{{{Dh{c}}}{{Dh{{Dj{c}}}}}Bh}1{jG`}222{{{b{dHb}}}{{Eb{c}}}Bh}3{{{b{dHd}}}{{Fb{c}}}Bh}44{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{{Dj{c}}}}{Dh{c}}}{}Bh}{{{Dh{c}}{b{{Dh{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{Dh{e}}{Dh{e}}}{}{}{{Bl{}{{Bj{c}}}}}}{{{Dh{{b{{Dj{c}}}}}}c}{}Bh}{{{b{{Dh{c}}}}{Dh{c}}}{}{}}{{{Dh{{b{{Dj{c}}}}}}{Dh{c}}}{}Bh}{{{Dh{{Dj{c}}}}c}{}Bh}{{{Dh{{b{c}}}}{Dh{c}}}{}{}}{{{b{{Dh{c}}}}{b{{Dh{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}}}}}}{{{Dh{c}}{b{{Dh{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}:?{{{Dh{{Dj{c}}}}{Dh{c}}}{}Bh}=?>{{{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}{{{Ch{cMnNh}}}N`{{Dd{Bn}}}}2{{{Ch{MnNh}}}N`}{NjN`}4{{{Ch{jc}}}Nb{{Dd{Bn}}}}5{{{Ch{Nbjc}}}Nd{{Dd{Bn}}}}{{{Ch{jEj}}}Nf}7{{{Ch{j{b{Bn}}{Nl{MnEj}}}}}Nf}{{{Ch{j{b{Bn}}}}}Nf}{{{Ch{jEj{Nl{MnEj}}}}}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`````````````````````````````````````````````````````````````````{{{b{{Dj{c}}}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{Dj{c}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}c}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}{Dj{c}}}{{Dj{c}}}Bh}{{{Dj{c}}{Dj{c}}}{{Dj{c}}}Bh}{{{Dj{c}}c}{{Dj{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dj{c}}}}{b{{Dj{c}}}}}hBh}{{{b{d{Dj{c}}}}{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{cc{}}{E`A@f}{AAfA@f}{{{Kh{c}}}{{Oh{c}}}Bh}33{FfHn}{F`Hn}{EdHn}{AB`AAf}777{{{Ch{cc}}}{{Dj{c}}}Bh}{c{{Dj{c}}}Bh}9{{{b{c}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}}{{Dj{c}}}Bh};;;{{{Ef{F`}}}{{Ef{Hn}}}}{Mn{{Ef{Hn}}}}{{{Ef{Ff}}}{{Ef{Hn}}}}{{{Ef{Ed}}}{{Ef{Hn}}}}???????{ABbHl}{cc{}}00000{{{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}}c}{{Dj{c}}}Bh}{{{Dj{c}}{Dj{c}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}c}{{Dj{c}}}Bh}{{{O`{c}}c}{{O`{c}}}Bh}{{{O`{c}}{O`{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}{{{b{{Dj{c}}}}{b{{Dj{c}}}}}{{Dj{c}}}Bh}{{{b{{Dj{c}}}}c}{{Dj{c}}}Bh}{{{Dj{c}}c}{{Dj{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}{{{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}}}{}{}}000000000{{{Ef{Hn}}}{{A`{{Ef{Ed}}}}}}1{{{Ef{Hn}}}{{A`{{Ef{Ff}}}}}}{{{Ef{Hn}}}{{A`{{Ef{F`}}}}}}33333333333333333333333333333333333{{{b{c}}}Ab{}}0000000000000000000000{{{b{d{Kh{c}}}}}{{Ef{Ed}}}Bh}{{{b{d{Kh{c}}}}e}{{Ef{Ed}}}BhOb}`{{b{b{Oj}}g{b{{Cj{{If{If}}}}}}{b{dk}}}{{A`{AAf}}}ADj{{ADl{c}}}{{ADn{ce}}}A@h{{AE`{i}}}}{{{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`}}}ABfAEb}{{{b{{Ol{c}}}}{b{de}}f}{{A`{hAB`}}}ABfAEb}``````{{{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}}}{{AEf{cAEd}}}B`}{{{b{{ABj{c}}}}{AEf{cAEd}}}{{AEf{cAEh}}}B`}`{{{b{{ABj{c}}}}c}{{AEf{cAEh}}}B`}{{{b{{ABj{c}}}}c}{{AEf{cAEj}}}B`}{{}Of}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{{{b{{ABj{c}}}}{AEf{cAEh}}}{{AEf{cAEh}}}B`}{jh}0{{{b{{ABj{c}}}}}{{AEf{cAEd}}}B`}{{{b{{ABj{c}}}}}{{AEf{cAEh}}}B`}{{{b{{ABj{c}}}}}{{AEf{cAEj}}}B`}{{{b{Of}}{b{Of}}}Cf}{{{b{{ABj{c}}}}}KnB`}{{{b{{ABj{c}}}}}jB`}{{{b{{ABj{c}}}}{AEf{cAEh}}}{{If{c}}}B`}{{{ADn{}{{Bj{c}}}}}Cf{}}{{{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}}}}{If{c}}}{{AEf{cAEj}}}B`}{{{b{{ABj{c}}}}{AEf{cAEj}}}{{AEf{cAEd}}}B`}{b{{ADn{}{{Bj{c}}}}}{}}{{KnKn}{{ABj{c}}}B`}{{}Of}{{{b{Of}}{b{Of}}}{{Ib{Mb}}}}{{{b{{ABj{c}}}}}{{AEl{c}}}B`}2{{{ADn{}{{Bj{c}}}}e}{{A`{cAAf}}}{}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{{ABj{c}}}}{b{{AEf{cAEh}}}}Of}{{AEf{cAEh}}}B`}{{{b{{ABj{c}}}}cOf}cB`}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0>>``````````````````{{{AEn{c}}{AEn{c}}}{{AEn{c}}}Bh}{{{b{d{AEn{c}}}}c}hBh}{{{b{d{AEn{c}}}}{AEn{c}}}hBh}{{{b{dAF`}}{b{AF`}}}h}{{{b{dAF`}}}h}{{{b{AF`}}}If}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{AF`}}{b{e}}}CfAj{{A@n{c}}}}{{{b{{AEn{c}}}}}{{AEn{c}}}D`}{{{b{c}}{b{de}}}h{}{}}{{{b{AFb}}{b{e}}{b{{AEf{AEd}}}}AEn}{}Aj{{A@n{c}}}}{{{b{AC`}}{b{e}}{b{{AEf{AEj}}}}AEn}{}Aj{{A@n{c}}}}{{{b{AFd}}c{b{dg}}i}{{A`{hAB`}}}DfA@h{{A@j{e}}}{{Hh{}{{Hf{AFf}}}}D`}}{{{b{AFd}}{b{c}}e{b{di}}k}{{A`{hAB`}}}A@nDfA@h{{A@j{g}}}{{Hh{}{{Hf{AFf}}}}D`}}{{}{{AEn{c}}}Bh}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{dAC`}}Kn}h}{jh}{{{b{{AFj{}{{AFh{c}}}}}}}c{{AF`{e}}}Aj}{{{b{{AEn{c}}}}{b{{AEn{c}}}}}CfKl}{{{b{AF`}}{b{e}}}{}Aj{{A@n{c}}}}{{{b{{AEn{c}}}}{b{dl}}}{{A`{hn}}}Gh}{cc{}}{{}j}{ce{}{}}{{{b{AC`}}}Kn}{{{AEn{c}}{AEn{c}}}{{AEn{c}}}Bh}{{{b{d{AEn{c}}}}{AEn{c}}}hBh}{{{b{d{AEn{c}}}}c}hBh}{{{b{AC`}}}Db}{KnAFb}{bAFd}{{}{{ADl{}{{AFl{c}}{AFn{g}}}}}{{AG`{e}{{AFn{g}}}}}ADj{}}{{{b{dc}}}{{AEn{e}}}DfBh}{Knc{}}{{{b{dc}}}{{A`{AC`AB`}}}ADd}{{{b{dc}}}{{A`{eAB`}}}ADd{}}{{{b{AF`}}}If}{{{b{dAF`}}}h}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}{{{b{{ADl{}{{AFl{c}}{AFn{g}}}}}}{b{dk}}mg}{{A`{cAGb}}}{{AG`{e}{{AFn{g}}}}}ADj{}A@h{{AE`{i}}}{{Hh{}{{Hf{AGd}}}}D`}}{ce{}{}}{{{b{AC`}}{b{dc}}}{{A`{hAB`}}}AEb}```````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AGf{c}}}}}{{AGf{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}{{{b{{AGf{c}}}}{b{e}}{b{{AEf{AEd}}}}AEn}{}Aj{{A@n{c}}}}{{{b{{AGf{c}}}}{b{e}}{b{{AEf{AEj}}}}AEn}{}Aj{{A@n{c}}}}{{{b{e}}{b{{AGf{c}}}}g{b{dk}}{b{{AEf{AEd}}}}AEn}{{A`{hAB`}}}Aj{{A@n{c}}}Df{{A@h{c}}}{{A@j{ci}}}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{{{b{d{AGf{c}}}}Kn}hAj}{jh}0{{{b{{AGf{c}}}}}{{AGh{c}}}Aj}{{{b{{AGf{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AGj{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}0{{}j}0{ce{}{}}0{{{b{{AGf{c}}}}}KnAj}{{{b{{AGf{c}}}}}DbAj}{Kn{{AGf{c}}}Aj}{Kn}{{{b{dc}}}{{A`{{AGf{e}}AB`}}}ADdAj}{{{b{dc}}}{{A`{AB`}}}ADd}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0{{{AGh{c}}{b{dg}}}{{A`{{AGl{c}}AGb}}}Aj{{A@h{c}}}{{AE`{ce}}}}::{{{b{{AGf{c}}}}{b{de}}}{{A`{hAB`}}}AjAEb}`{{{b{d{AGh{c}}}}}hAj}{{{b{d{AGh{c}}}}{b{{AGh{c}}}}}hAj}0{{{b{d{AGh{c}}}}{b{Cj}}}hAj}222{{{b{{AGh{c}}}}}IfAj}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{AGh{c}}}}{b{e}}}CfAj{{A@n{c}}}}{{{b{{AGh{c}}}}}{{AGh{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{{AGh{c}}}}{b{e}}}{}Aj{{A@n{c}}}}{{{b{{AGh{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}{{}j}{ce{}{}}{{{b{{AGf{c}}}}}{{AGh{c}}}Aj}>{{{b{d{AGh{c}}}}}hAj}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}5``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AGn{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}Aj{{A@n{c}}}Df{{A@h{c}}}{{A@j{ci}}}{{Hh{}{{Hf{{AFf{c}}}}}}D`}}??>>=={{{b{{AGn{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AH`{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}<<;;::{{{b{{AGf{c}}}}}{{AGn{c}}}Aj}{{}{{AH`{c}}}Aj}888877{{{b{{AH`{c}}}}{b{dg}}i{AGh{c}}}{{A`{AGb}}}Aj{{A@h{c}}}{{AE`{ce}}}{{Hh{}{{Hf{{AGd{c{AGh{c}}}}}}}}D`}}==````77776666{{{b{{AGl{c}}}}}{{AGl{c}}}{D`Aj}}{{{b{{AHb{c}}}}}{{AHb{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}0{{{b{{AGl{c}}}}{b{e}}}cAj{{A@n{c}}}}{j{{b{c}}}{}}000{j{{b{dc}}}{}}000{jh}000{{{AHd{c}}}CfAj}{{{AHf{c}}}CfAj}{{{b{{AGl{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AHb{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AHd{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AHf{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}000`{{}j}000{ce{}{}}000{{{b{{AGf{c}}}}}{{AHd{c}}}Aj}{{{b{{AGf{c}}}}}{{AHf{c}}}Aj}{{{AHd{c}}e}{{A`{AAf}}}Aj{{Dn{{AGh{c}}}{{Bj{{A`{{AGl{c}}AAf}}}}}}}}{{{AHf{c}}e}{{A`{AAf}}}Aj{{Dn{{AGh{c}}}{{Bj{{A`{{AGl{c}}AAf}}}}}}}}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}0000000{{{b{c}}}Ab{}}000`{{{AGl{c}}}{{AGh{c}}}Aj}{{{AGl{c}}c}{{Ch{{AGh{c}}{AHb{c}}}}}Aj}9999```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AHh{c}}}}}{{AHh{c}}}{D`AHj}}{{{b{{AHl{c}}}}}{{AHl{c}}}{D`AHj}}{{{b{c}}{b{de}}}h{}{}}0{{{b{{AHh{c}}}}{b{e}}{b{{AEf{AEd}}}}AEn}{}AHjA@n}{{{b{{AHh{c}}}}{b{e}}{b{{AEf{AEj}}}}AEn}{}AHjA@n}{{{b{{AHl{c}}}}{b{e}}{b{{AEf{AEj}}}}AEn}{}AHjA@n}{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{{{b{d{AHh{c}}}}Kn}hAHj}{{{b{d{AHl{c}}}}Kn}hAHj}{jh}00{{{b{{AHh{c}}}}}{{AHn{c}}}AHj}{{{b{{AHl{c}}}}}{{AHn{c}}}AHj}{{{b{{AHh{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AHl{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AI`{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}00{{{b{{AHh{c}}}}KnIf{Ib{If}}}{{AHh{c}}}AHj}{{}j}00{ce{}{}}00{{{b{{AHh{c}}}}}KnAHj}{{{b{{AHl{c}}}}}KnAHj}{{{b{{AHh{c}}}}}DbAHj}{{{b{{AHl{c}}}}}DbAHj}{Kn{{AHh{c}}}AHj}{Kn}{{{b{dc}}}{{A`{{AHh{e}}AB`}}}ADdAHj}{{{b{dc}}}{{A`{{AHl{e}}AB`}}}ADdAHj}{{{b{dc}}f}{{A`{{AHh{e}}AB`}}}ADdAHj}{{{b{dc}}f}{{A`{{AHl{e}}AB`}}}ADdAHj}{{{b{dc}}}{{A`{AB`}}}ADd}{{Knc}{{AHh{e}}}DfAHj}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00{{{b{{AHh{c}}}}}{{AHl{c}}}AHj}{ce{}{}}00{{{b{{AHh{c}}}}{b{de}}}{{A`{hAB`}}}AHjAEb}{{{b{{AHl{c}}}}{b{de}}}{{A`{hAB`}}}AHjAEb}{{{b{{AHh{c}}}}{b{de}}f}{{A`{hAB`}}}AHjAEb}{{{b{{AHl{c}}}}{b{de}}f}{{A`{hAB`}}}AHjAEb}``{{{b{d{AHn{c}}}}{b{{AHn{c}}}}}hAHj}{{{b{d{AIb{c}}}}{AIb{c}}}hAId}{{{b{d{AHn{c}}}}}hAHj}{{{b{{AHn{c}}}}}IfAHj}{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AHn{c}}}}{b{e}}}CfAHjA@n}{{{AIb{c}}{b{e}}{b{{AHl{c}}}}}CfAIdA@n}{{{b{{AHn{c}}}}}{{AHn{c}}}{D`AHj}}{{{b{{AIb{c}}}}}{{AIb{c}}}{D`AHj}}{{{b{c}}{b{de}}}h{}{}}08{{}{{AHn{c}}}{ACjAHj}}{{}{{AIb{c}}}{ACjAHj}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{{AHn{c}}}}{b{e}}}{}AHjA@n}{{{b{{AHn{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIb{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}0{{}j}0{ce{}{}}0{{}{{AHn{c}}}AHj}{{}{{AIb{c}}}AId}{{{b{{AHn{c}}}}}IfAHj}{{{b{d{AHn{c}}}}}hAHj}{{{b{d{AIb{c}}}}}hAId}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}088````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{{AIf{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AHjGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFf}}}}D`}}{{{b{{AIh{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AHjGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFf}}}}D`}}{j{{b{c}}}{}}000{j{{b{dc}}}{}}000{jh}000{{{b{{AIf{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIj{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIh{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIl{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}000{{}j}000{ce{}{}}000{{{b{{AHh{c}}}}}{{AIf{c}}}{AHjGh}}{{}{{AIj{c}}}{AIdGh}}{{{b{{AHh{c}}}}}{{AIh{c}}}{AHjGh}}{{{b{{AHh{c}}}}}{{AIh{c}}}AHj}{{}{{AIl{c}}}{AIdGh}}{c{{A`{e}}}{}{}}0000000{{{b{c}}}Ab{}}000{{{b{{AIj{c}}}}{b{dg}}i{AIb{c}}}{{A`{AGb}}}{AIdGh}A@h{{AE`{e}}}{{Hh{}{{Hf{{AGd{{AHn{c}}}}}}}}D`}}{{{b{{AIl{c}}}}{b{dg}}i{AIb{c}}}{{A`{AGb}}}{AIdGh}A@h{{AE`{e}}}{{Hh{}{{Hf{{AGd{{AHn{c}}}}}}}}D`}}9999```{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AIn{c}}}}}{{AIn{c}}}{D`AId}}{{{b{{AJ`{c}}}}}{{AJ`{c}}}{D`AHj}}{{{b{{AJb{c}}}}}{{AJb{c}}}{D`AHj}}{{{b{c}}{b{de}}}h{}{}}00{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{jh}00{{{AJ`{c}}}Cf{AIdGh}}{{{AJb{c}}}Cf{AIdGh}}{{{b{{AIn{c}}}}{b{dl}}}{{A`{hn}}}{GhAId}}{{{b{{AJ`{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AJb{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}00{{}j}00{ce{}{}}00{{{b{{AHl{c}}}}}{{AJ`{c}}}{AIdGh}}{{{b{{AHl{c}}}}}{{AJ`{c}}}AId}{{{b{{AHl{c}}}}}{{AJb{c}}}{AIdGh}}0{{{AJ`{c}}e}{{A`{AAf}}}{AIdGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{AJb{c}}e}{{A`{AAf}}}{AIdGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00888{{{AIb{c}}{b{{AHl{c}}}}}{{AJ`{c}}}AId}``````````{{{b{{A@h{}{{AJd{c}}}}}}}{{AJf{eg}}}{}Aj{}}{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AJh{ceg}}}}}{{AJh{ceg}}}{D`ADd}{D`Aj}{D`{A@h{e}}}}{{{b{{AJj{ceg}}}}}{{AJj{ceg}}}{D`AEb}{D`Aj}{D`{A@h{e}}}}{{{b{{AJl{c}}}}}{{AJl{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}00{{{b{dABn}}c}{{A`{hAB`}}}Aj}{{{b{d{AJh{ce{AJl{e}}}}}}e}{{A`{hAB`}}}ADdAj}{{{b{d{AJj{ce{AJl{e}}}}}}e}{{A`{hAB`}}}AEbAj}{{{b{dABn}}}{{A`{hAB`}}}}{{{b{d{AJh{ce{AJl{e}}}}}}}{{A`{hAB`}}}ADdAj}{{{b{d{AJj{ce{AJl{e}}}}}}}{{A`{hAB`}}}AEbAj}{j{{b{c}}}{}}00{{{b{{AJl{c}}}}}bAj}{j{{b{dc}}}{}}00{jh}00{AJncAEb}{{{AJj{ce{AJl{e}}}}}cAEbAj}{{{b{{AJh{ceg}}}}{b{dl}}}{{A`{hn}}}{GhADd}{GhAj}{Gh{A@h{e}}}}{{{b{{AJj{ceg}}}}{b{dl}}}{{A`{hn}}}{GhAEb}{GhAj}{Gh{A@h{e}}}}{{{b{{AJl{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}00{{{b{{A@h{}{{AJd{c}}}}}}}{}{}}{{{b{{AJl{c}}}}}{}Aj}{cAK`ADd}{cAJnAEb}{{}j}{c{{AJh{ce{AJl{e}}}}}ADdAj}{c{{AJj{ce{AJl{e}}}}}AEbAj}22{ce{}{}}00{{{b{c}}}{{A@h{}{{AJd{c}}}}}{}}{{{b{{In{Od}}}}}{{AJl{c}}}Aj}{{{b{dAE`}}}{{A`{cAB`}}}Aj}{{{b{d{AJh{ce{AJl{e}}}}}}}{{A`{eAB`}}}ADdAj}{{{b{dAE`}}}{{A`{AB`}}}}{{{b{d{AJh{ce{AJl{e}}}}}}}{{A`{AB`}}}ADdAj}{{{b{dABn}}}eAj{{A@h{c}}}}{{{b{d{AJh{ce{AJl{e}}}}}}}{{AJl{e}}}ADdAj}{{{b{d{AJj{ce{AJl{e}}}}}}}{{AJl{e}}}AEbAj}{{{b{dABn}}}{{AJf{ce}}}Aj{}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00==={{{b{dA@j}}c}{{A`{hAB`}}}Aj}{{{b{d{AJj{ce{AJl{e}}}}}}e}{{A`{hAB`}}}AEbAj}{{{b{dA@j}}}{{A`{hAB`}}}}{{{b{d{AJj{ce{AJl{e}}}}}}}{{A`{hAB`}}}AEbAj}","D":"F@l","p":[[1,"reference"],[0,"mut"],[6,"SerdeFormat",0,2139],[1,"unit"],[1,"usize"],[5,"Formatter",2140],[5,"Error",2140],[6,"Result",2141],[5,"TypeId",2142],[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",27,2143],[5,"Coordinates",2143],[5,"CtOption",2144],[10,"WithSmallOrderMulGroup",2145],[10,"Ord",2146],[17,"AffineExt"],[10,"CurveExt",27,2143],[10,"Field",27,2145],[17,"Output"],[10,"Mul",2147],[1,"str"],[10,"Fn",2148],[5,"Box",2149],[5,"Choice",2144],[1,"bool"],[1,"tuple"],[1,"slice"],[10,"Send",2150],[10,"Sync",2150],[10,"Clone",2151],[1,"u64"],[10,"AsRef",2152],[10,"RngCore",2153],[5,"Value",64,2154],[6,"Assigned",829,2155],[10,"Add",2147],[10,"FnOnce",2148],[6,"ErrorFront",829],[5,"Region",64,2156],[5,"Advice",829,2157],[5,"Column",829,2158],[5,"AssignedCell",64,2156],[5,"String",2159],[10,"Into",2152],[10,"FnMut",2148],[5,"Instance",829,2157],[5,"Table",64,2156],[5,"TableColumn",829,2158],[5,"Fixed",829,2157],[17,"Root"],[10,"Layouter",64,2156],[5,"NamespacedLayouter",64,2156],[5,"Cell",64,2156],[5,"RegionIndex",64,2156],[17,"Config"],[17,"Loaded"],[10,"Chip",64,2156],[10,"Debug",2140],[10,"Copy",2150],[10,"Borrow",2160],[5,"Selector",829,2158],[5,"SimpleFloorPlanner",64,2161],[10,"RegionLayouter",2162],[10,"TableLayouter",2163],[17,"Item"],[10,"IntoIterator",2164],[10,"FromIterator",2164],[5,"Challenge",829,2158],[6,"Any",829,2165],[10,"Neg",2147],[6,"Option",2166],[10,"Sub",2147],[5,"Vec",2167],[10,"Assignment",829,2157],[10,"SyncDeps",2162],[10,"Circuit",829,2157],[1,"array"],[5,"V1Pass",293,2168],[5,"V1",293,2168],[5,"SingleChipLayouter",331,2161],[5,"MeasurementPass",354,2168],[5,"AssignmentPass",354,2168],[5,"MockProver",385,2169],[6,"CellValue",385,2169],[10,"FromUniformBytes",2145],[10,"Iterator",2170],[6,"FailureLocation",385,2171],[6,"VerifyFailure",385,2171],[6,"InstanceValue",385,2169],[5,"ConstraintSystem",829,2172],[5,"CircuitLayout",385,2173],[10,"PartialEq",2146],[1,"u32"],[5,"Shift",2174],[5,"DrawingArea",2175],[6,"DrawingAreaErrorKind",2175],[10,"DrawingBackend",2176],[5,"Range",2177],[5,"Poly",567,2178],[5,"Lookup",567,2178],[5,"Permutation",567,2178],[5,"Shuffle",567,2178],[6,"Ordering",2146],[10,"Deserializer",2179],[5,"ModelCircuit",567,2178],[6,"CommitmentScheme",567,2178],[5,"CostOptions",567,2178],[10,"Serializer",2180],[5,"Column",711],[5,"VirtualCell",711,2181],[5,"Gate",711,2181],[5,"Constraint",711,2181],[5,"Region",711,2181],[1,"i32"],[5,"VirtualCell",2172],[5,"HashMap",2182],[10,"Hasher",2183],[6,"Expression",829,2158],[10,"Phase",829,2158],[1,"u8"],[5,"Rotation",1478,2184],[5,"ConstraintSystemMid",829,2165],[5,"VerifyingKey",829,2185],[5,"ProvingKey",829,2185],[10,"ColumnType",829,2157],[5,"FixedQuery",829,2158],[5,"Constraint",2172],[5,"VirtualCells",829,2172],[6,"Error",829,2186],[10,"EncodedChallenge",2051,2187],[10,"TranscriptWrite",2051,2187],[5,"PlonkEngine",2188],[10,"MsmAccel",2189],[5,"AdviceQuery",2158],[5,"InstanceQuery",2158],[8,"Result",2140],[6,"ErrorBack",829],[5,"Constraints",829,2172],[5,"FirstPhase",829,2158],[5,"SecondPhase",829,2158],[5,"ThirdPhase",829,2158],[5,"Error",2190],[5,"ChallengeMid",2165],[5,"ConstraintSystemBack",2191],[10,"SerdeCurveAffine",2139],[5,"Gate",2172],[5,"EvaluationDomain",1478,2192],[10,"Hash",2183],[10,"Transcript",2051,2187],[10,"Params",1550,2193],[5,"Argument",2194],[17,"FloorPlanner"],[17,"Params"],[10,"FloorPlanner",829,2157],[10,"Default",2195],[5,"Argument",2196],[5,"Phase",2197],[5,"PinnedVerificationKey",2185],[8,"Result",2190],[10,"Read",2198],[5,"Argument",2199],[10,"Error",2200],[10,"CommitmentScheme",1550,2193],[10,"Verifier",1550,2193],[10,"VerificationStrategy",1478,2201],[10,"TranscriptRead",2051,2187],[10,"Write",2198],[5,"Coeff",2202],[5,"Polynomial",2202],[5,"ExtendedLagrangeCoeff",2202],[5,"LagrangeCoeff",2202],[5,"PinnedEvaluationDomain",2192],[5,"Blind",1550,2193],[10,"MSM",1550,2193],[10,"ParamsProver",1550,2193],[10,"Prover",1550,2193],[5,"ProverQuery",2203],[17,"MSM"],[10,"ParamsVerifier",1550,2193],[17,"Guard"],[17,"MSMAccumulator"],[10,"Guard",2201],[6,"Error",2202],[5,"VerifierQuery",2203],[5,"ParamsIPA",1620,2204],[5,"MSMIPA",1665,2205],[5,"IPACommitmentScheme",1620,2204],[5,"GuardIPA",1727,2206],[5,"ProverIPA",1695,2207],[5,"VerifierIPA",1695,2208],[5,"Accumulator",1727,2206],[5,"AccumulatorStrategy",1727,2206],[5,"SingleStrategy",1727,2206],[5,"ParamsKZG",1804,2209],[10,"Engine",2210],[5,"ParamsVerifierKZG",1804,2209],[5,"MSMKZG",1877,2211],[5,"KZGCommitmentScheme",1804,2209],[5,"DualMSM",1877,2211],[10,"MultiMillerLoop",2210],[5,"ProverGWC",1926,2212],[5,"ProverSHPLONK",1926,2213],[5,"VerifierGWC",1926,2214],[5,"VerifierSHPLONK",1926,2215],[5,"GuardKZG",1991,2216],[5,"AccumulatorStrategy",1991,2216],[5,"SingleStrategy",1991,2216],[17,"Input"],[5,"ChallengeScalar",2187],[5,"Blake2bRead",2051,2187],[5,"Blake2bWrite",2051,2187],[5,"Challenge255",2051,2187],[10,"TranscriptWriterBuffer",2051,2187],[10,"TranscriptReadBuffer",2051,2187],[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,2139],[31,2143],[32,2143],[34,2145],[56,2217],[64,2156],[65,2156],[66,2156],[68,2156],[70,2156],[71,2156],[72,2156],[74,2161],[75,2156],[76,2154],[170,2156],[293,2168],[294,2168],[320,2218],[328,2218],[331,2161],[332,2161],[354,2168],[355,2168],[356,2168],[357,2168],[376,2168],[388,2169],[389,2173],[392,2171],[395,2169],[397,2169],[404,2171],[425,2219],[435,2169],[497,2169],[567,2178],[568,2178],[572,2178],[573,2178],[574,2178],[575,2178],[576,2178],[643,2178],[644,2178],[712,2181],[713,2181],[714,2181],[715,2181],[829,2157],[832,2165],[833,2155],[834,2157],[838,2158],[840,2157],[841,2158],[844,2157],[847,2172],[849,2165],[850,2172],[851,2186],[854,2158],[855,2158],[856,2157],[859,2158],[860,2157],[863,2157],[876,2158],[878,2185],[881,2158],[882,2158],[886,2158],[888,2158],[891,2185],[892,2172],[1009,2220],[1010,2220],[1258,2221],[1259,2221],[1260,2221],[1261,2221],[1447,2222],[1478,2192],[1480,2184],[1481,2201],[1493,2202],[1525,2202],[1527,2202],[1550,2193],[1552,2193],[1555,2193],[1558,2193],[1559,2193],[1561,2193],[1563,2193],[1567,2193],[1616,2223],[1617,2223],[1618,2223],[1619,2223],[1620,2204],[1621,2204],[1622,2204],[1631,2224],[1661,2225],[1665,2205],[1695,2207],[1696,2208],[1727,2206],[1728,2206],[1729,2206],[1730,2206],[1800,2226],[1801,2226],[1802,2226],[1803,2226],[1804,2209],[1805,2209],[1806,2209],[1877,2211],[1878,2211],[1926,2212],[1927,2213],[1928,2214],[1929,2215],[1991,2216],[1992,2216],[1993,2216],[2051,2187],[2052,2187],[2053,2187],[2054,2187],[2056,2187],[2057,2187],[2058,2187],[2059,2187],[2060,2187]],"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%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[80,"impl-Add-for-%26Value%3CV%3E"],[81,"impl-Add%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[82,"impl-Add-for-Value%3CV%3E"],[83,"impl-Add%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[84,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[85,"impl-Add%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[86,"impl-Add%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[126,"impl-Value%3C%26V%3E"],[127,"impl-Value%3C%26mut+V%3E"],[134,"impl-Value%3C%26mut+V%3E"],[135,"impl-Value%3C%26V%3E"],[218,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[219,"impl-Mul%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[220,"impl-Mul%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[221,"impl-Mul-for-Value%3CV%3E"],[222,"impl-Mul%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[223,"impl-Mul%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[224,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[225,"impl-Mul%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[226,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[227,"impl-Mul-for-%26Value%3CV%3E"],[238,"impl-Sub%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[239,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[240,"impl-Sub-for-%26Value%3CV%3E"],[241,"impl-Sub%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[242,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[243,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[244,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[245,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[246,"impl-Sub-for-Value%3CV%3E"],[247,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[467,"impl-Display-for-FailureLocation"],[468,"impl-Debug-for-FailureLocation"],[469,"impl-Display-for-VerifyFailure"],[470,"impl-Debug-for-VerifyFailure"],[759,"impl-Debug-for-ColumnMid"],[760,"impl-Display-for-ColumnMid"],[761,"impl-Debug-for-VirtualCell"],[762,"impl-Display-for-VirtualCell"],[763,"impl-Display-for-Gate"],[764,"impl-Debug-for-Gate"],[765,"impl-Display-for-Constraint"],[766,"impl-Debug-for-Constraint"],[767,"impl-Display-for-Region"],[768,"impl-Debug-for-Region"],[771,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[773,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[774,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[779,"impl-From%3C(usize,+String)%3E-for-Region"],[781,"impl-From%3C(usize,+%26str,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[782,"impl-From%3C(usize,+%26str)%3E-for-Region"],[783,"impl-From%3C(usize,+String,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[894,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[895,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[896,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[897,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[898,"impl-Add-for-Assigned%3CF%3E"],[899,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[901,"impl-AddAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[902,"impl-AddAssign-for-Assigned%3CF%3E"],[1114,"impl-Display-for-Error"],[1115,"impl-Debug-for-Error"],[1118,"impl-Display-for-Error"],[1119,"impl-Debug-for-Error"],[1138,"impl-Display-for-Error"],[1139,"impl-Debug-for-Error"],[1141,"impl-From%3CError%3E-for-Error"],[1142,"impl-From%3CError%3E-for-Error"],[1146,"impl-From%3CFixed%3E-for-Any"],[1147,"impl-From%3CInstance%3E-for-Any"],[1148,"impl-From%3CAdvice%3E-for-Any"],[1153,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1154,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1156,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1157,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1161,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1162,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1163,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1164,"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%3CF%3E-for-Assigned%3CF%3E"],[1271,"impl-Mul-for-Assigned%3CF%3E"],[1272,"impl-Mul%3CF%3E-for-%26Assigned%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%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1337,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1338,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1339,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1340,"impl-Sub-for-Assigned%3CF%3E"],[1341,"impl-Sub%3CAssigned%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"],[1382,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1384,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1385,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1569,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[1570,"impl-AddAssign-for-Blind%3CF%3E"],[1597,"impl-MulAssign-for-Blind%3CF%3E"],[1598,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[1667,"impl-MSM%3CC%3E-for-MSMIPA%3C\'a,+C%3E"],[1668,"impl-MSMIPA%3C\'a,+C%3E"],[1970,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[1971,"impl-ProverSHPLONK%3C\'a,+E%3E"],[2029,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[2030,"impl-AccumulatorStrategy%3CE%3E"],[2031,"impl-SingleStrategy%3CE%3E"],[2032,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFUFsQAGAAEACQADAA4AAQARAAEAFgAAABgAAwBOAAkAYwAAAGUAEAB3AAcAhgAAAIsAEQCeAAgArAAHALUAAAC3AAAAuwAAAL0AAADCAAAAxAAIANsACQDnAAAA6QAAAOsAAADvAAoA+wADAAEBFwAdAQcAKAEOADkBAwA/AQwATgEIAFgBAgBdAQUAZwELAHUBAQB5AQgAmQEAAJwBDQCrAQgAtgESAMoBBwDUAQcA4gEGAPMBAgD7ARcAGQIFAEQCFgBcAhgAdgIGAIYCAACIAgYAngIAAKMCAQCoAh8AzQIVAOQCHQADAwEABgMBAAkDAAALAwEADgMDABMDBAAdAyAAfwMIAJQDLQDFAyAA6QMAAPYDAAD6Ay0AKgQWAEYECgBbBBkAdgQCAHsEAwCCBAEAhQQBAIoEAwCVBAAAnwQAAKEEAQCmBAcAswQAALUEFwDnBAAA8wQBAPYECwAGBQAACAUAAAoFAAAMBQAAEAUCABQFAAAcBQAAIQUAACMFAgA1BQEAOQUJAEcFFABdBUcAqgUWAMsFCADaBQMA3wUBAOQFAADpBQEA8QUCAP8FAAAFBgkAIQYCACcGAQAqBgEAMAYCADQGAAA2BgAAOAYAADoGAAA9BgIASgYDAE8GAABYBgUAYQYJAG0GAQBxBgEAdAYAAHYGBwB/BgEAiQYLAJYGAACZBgYAogYDAKcGBwCxBgEAtQYKAMQGCwDRBgsA3wYDAOgGAwDwBhEABQcDABAHHAAxBwIANwcFAEAHAQBDBw4AVQcAAFgHAABaBwYAYgcDAGcHCgB0BwEAegcBAH0HCQCLBwcAlQcPAKkHAwCxBwIAtQcNAMQHAwDLBxkA6AcCAO4HAADxBxEADwgLABwIAQAfCAsALAgDADQIAAA3CAAAOggBAEAIAABCCAAARAgAAEYIAQBJCA4AWQgAAFsIAAA="}],\ -["p3_frontend",{"t":"PKFPFPPGPPPFFPFPPFGFPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","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","check_witness","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"],[305,"p3_frontend::fwrap"],[306,"ff"],[307,"p3_frontend::symbolic_expression"],[308,"p3_field::field"],[309,"p3_frontend::symbolic_variable"],[310,"num_bigint::biguint"],[311,"core::hash"],[312,"core::cmp"],[313,"p3_frontend::symbolic_builder"],[314,"core::convert"],[315,"halo2_middleware::circuit"],[316,"alloc::vec"],[317,"core::option"],[318,"core::clone"],[319,"p3_air::air"],[320,"core::default"],[321,"core::result"],[322,"serde::de"],[323,"core::fmt"],[324,"core::ops::function"],[325,"core::iter::traits::iterator"],[326,"p3_frontend::air"],[327,"serde::ser"],[328,"alloc::string"],[329,"p3_matrix::dense"],[330,"core::any"]],"i":[3,0,0,3,0,22,22,0,3,3,3,0,0,23,0,23,3,0,0,0,22,0,3,1,3,3,3,5,5,5,1,3,3,1,3,1,1,1,1,15,15,1,22,3,5,23,24,25,26,27,15,1,22,3,5,23,24,25,26,27,0,1,22,3,5,23,24,25,26,27,1,22,3,5,23,24,25,26,27,1,24,0,0,1,3,27,15,1,22,3,5,23,24,25,26,27,15,1,22,3,5,23,24,25,26,27,1,27,1,3,15,1,22,3,5,23,24,25,26,27,1,1,1,22,22,3,3,5,5,23,24,25,26,27,15,1,22,3,3,3,5,23,24,25,26,27,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,25,15,1,22,3,5,23,24,25,26,27,1,15,1,22,3,5,23,24,25,26,27,15,15,24,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,50,15,1,1,3,3,3,5,5,5,1,3,3,1,3,3,1,22,3,5,23,24,25,26,27,1,22,3,5,0,15,1,22,3,5,23,24,25,26,27,15,1,22,3,5,23,24,25,26,27,1,1,3,15,1,22,3,5,23,24,25,26,27,15,1,22,3,5,23,24,25,26,27,1,3],"f":"```````````````````````{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}c}{{f{c}}}h}{{{f{c}}{j{c}}}eh{}}{{{f{c}}{f{c}}}{{f{c}}}h}{{{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{{Bb{c}}}}Bd{n{{Ab{{Bh{{Bf{c}}}}}}}}{n{{Ab{{Bf{c}}}}}}}A`d}{{{n{{b{c}}}}}{{b{c}}}{Bjd}}{{{n{Bl}}}Bl}{{{n{{f{c}}}}}{{f{c}}}{Bjh}}{{{n{{j{c}}}}}{{j{c}}}{Bjh}}{{{n{Bn}}}Bn}{{{n{C`}}}C`}{{{n{Cb}}}Cb}{{{n{Cd}}}Cd}{{{n{Cf}}}Cf}{{{n{c}}{n{le}}}A`{}{}}00000000{{{n{{b{c}}}}{n{{b{c}}}}}Ch{Ajd}}`{{{n{e}}{n{Cf}}Cj}{{Cn{{Cl{c}}Cd}}}{AfAh}{{D`{{An{{b{c}}}}}}}}{{BdCj{n{Cd}}{n{e}}}{{Db{c}}}{AfAh}{{D`{{An{{b{c}}}}}}}}{{}{{b{c}}}{Ddd}}{{}{{f{c}}}h}{{}Cf}{Cj{{n{c}}}{}}000000000{Cj{{n{lc}}}{}}000000000{c{{Df{{b{e}}}}}DhAf}`{{{b{c}}{b{c}}}{{b{c}}}d}{{{n{{f{c}}}}}{{f{c}}}h}{CjA`}000000000{{{n{{b{c}}}}{n{{b{c}}}}}Dj{Dld}}{{{n{{b{c}}}}{n{lDn}}}E`d}{{{n{{b{c}}}}{n{lDn}}}E`{Ebd}}{{{n{Bl}}{n{lDn}}}E`}0{{{n{{f{c}}}}{n{lDn}}}E`{Ebh}}{{{n{{f{c}}}}{n{lDn}}}E`h}{{{n{{j{c}}}}{n{lDn}}}E`h}{{{n{{j{c}}}}{n{lDn}}}E`{Ebh}}{{{n{Bn}}{n{lDn}}}E`}{{{n{C`}}{n{lDn}}}E`}{{{n{Cb}}{n{lDn}}}E`}{{{n{Cd}}{n{lDn}}}E`}{{{n{Cf}}{n{lDn}}}E`}{cc{}}00{{{j{c}}}{{f{c}}}h}1{c{{f{c}}}h}22222222{ec{}{{Ef{Cj}{{Ed{c}}}}}}0{{{n{{Ab{c}}}}}c{}}0{Dj{{b{c}}}{AfAh}}{Dj{{f{c}}}h}{Eh{{b{c}}}{AfAh}}{Eh{{f{c}}}h}{Bd{{b{c}}}{AfAh}}{Bd{{f{c}}}h}{Al{{b{c}}}{AfAh}}{Al{{f{c}}}h}{Ej{{b{c}}}{AfAh}}{Ej{{f{c}}}h}{Cj{{b{c}}}{AfAh}}{Cj{{f{c}}}h}{c{{b{e}}}{}{AfAh}}{c{{f{e}}}{}h}{ce{{Ef{Cj}{{Ed{}}}}}{}}{{{n{Ab}}}{{n{c}}}{}}{{{n{lAb}}}{{n{lc}}}{}}<;:9{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{{{n{Cd}}Cj{n{{Ab{{Bh{{Bf{c}}}}}}}}}{{Bf{{Bf{c}}}}}d}{{{n{{b{c}}}}{n{le}}}A`{Ahd}El}`{{}Cj}000000000{{{n{c}}eCj}{{Cn{ee}}}{}{}}{ce{}{}}000000000{{{n{{An{c}}}}}eh{}}0`{{{n{{f{c}}}}}Djh}{{{n{{An{c}}}}Cj}eh{}}{{{n{{b{c}}}}}Dj{AfAh}}23{{{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}}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}{Cj{{j{c}}}h}{{DjCj}{{j{c}}}h}32{{}Ad}{{{n{{b{c}}}}{n{{b{c}}}}}{{Bh{Ch}}}{End}}{e{{b{c}}}d{{Fb{}{{F`{{b{c}}}}}}}}{e{{f{c}}}h{{Fb{}{{F`{{f{c}}}}}}}}{e{{f{c}}}h{{Fb{}{{F`{c}}}}}}{{{n{Fd}}}{{n{{Ab{c}}}}}{}}{{{n{{An{c}}}}}{{n{{Ab{e}}}}}h{}}{{{n{{b{c}}}}e}DfAfFf}{{{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}}{f{c}}}eh{}}{{{j{c}}{j{c}}}eh{}}{{{j{c}}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}}}e{}{}}00000000{{{n{c}}}Fh{}}000{{Bd{Fj{{b{c}}}}}{{Bf{{Bh{{Bf{c}}}}}}}d}{c{{Df{e}}}{}{}}0000000000000000000{{{n{{b{c}}}}}{{Bh{{b{c}}}}}{AfAh}}{{}{{b{c}}}{AfAh}}{{}{{f{c}}}h}{{{n{c}}}Fl{}}000000000{ce{}{}}00000000032","D":"C`","p":[[5,"FWrap",0,305],[10,"Field",306],[6,"SymbolicExpression",0,307],[10,"Field",308],[5,"SymbolicVariable",0,309],[0,"mut"],[1,"reference"],[1,"unit"],[1,"slice"],[5,"BigUint",310],[10,"PrimeField",306],[10,"Hash",311],[10,"Ord",312],[1,"u64"],[5,"SymbolicAirBuilder",0,313],[10,"Into",314],[5,"CompiledCircuit",315],[1,"u32"],[5,"Vec",316],[6,"Option",317],[10,"Clone",318],[6,"Location",0,307],[6,"Var",0,309],[5,"Query",0,309],[5,"Public",0,309],[5,"PreprocessingInfo",0],[5,"CompileParams",0],[6,"Ordering",312],[1,"usize"],[5,"ConstraintSystemMid",315],[1,"tuple"],[10,"Air",319],[5,"Preprocessing",315],[10,"Default",320],[6,"Result",321],[10,"Deserializer",322],[1,"bool"],[10,"PartialEq",312],[5,"Formatter",323],[8,"Result",323],[10,"Debug",323],[17,"Output"],[10,"FnMut",324],[1,"u16"],[1,"u8"],[10,"Hasher",311],[10,"PartialOrd",312],[17,"Item"],[10,"Iterator",325],[10,"AirBuilderWithPublicValues",0,326],[10,"Serializer",327],[5,"String",328],[5,"RowMajorMatrix",329],[5,"TypeId",330]],"r":[[1,326],[4,305],[7,307],[12,309],[14,309],[17,313],[18,307],[19,309],[21,309]],"b":[[24,"impl-Add%3CF%3E-for-SymbolicExpression%3CF%3E"],[25,"impl-Add%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[26,"impl-Add-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"],[121,"impl-Display-for-FWrap%3CF%3E"],[122,"impl-Debug-for-FWrap%3CF%3E"],[123,"impl-Debug-for-Location"],[124,"impl-Display-for-Location"],[125,"impl-Debug-for-SymbolicExpression%3CF%3E"],[126,"impl-Display-for-SymbolicExpression%3CF%3E"],[127,"impl-Display-for-SymbolicVariable%3CF%3E"],[128,"impl-Debug-for-SymbolicVariable%3CF%3E"],[137,"impl-From%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[139,"impl-From%3CF%3E-for-SymbolicExpression%3CF%3E"],[208,"impl-Mul-for-SymbolicExpression%3CF%3E"],[209,"impl-Mul%3CF%3E-for-SymbolicExpression%3CF%3E"],[210,"impl-Mul%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[211,"impl-Mul%3CF%3E-for-SymbolicVariable%3CF%3E"],[212,"impl-Mul%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[213,"impl-Mul-for-SymbolicVariable%3CF%3E"],[215,"impl-MulAssign-for-SymbolicExpression%3CF%3E"],[216,"impl-MulAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[228,"impl-Product-for-SymbolicExpression%3CF%3E"],[229,"impl-Product%3CF%3E-for-SymbolicExpression%3CF%3E"],[234,"impl-Sub-for-SymbolicExpression%3CF%3E"],[235,"impl-Sub%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[236,"impl-Sub%3CF%3E-for-SymbolicExpression%3CF%3E"],[237,"impl-Sub%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[238,"impl-Sub-for-SymbolicVariable%3CF%3E"],[239,"impl-Sub%3CF%3E-for-SymbolicVariable%3CF%3E"],[241,"impl-SubAssign-for-SymbolicExpression%3CF%3E"],[242,"impl-SubAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[244,"impl-Sum-for-SymbolicExpression%3CF%3E"],[245,"impl-Sum%3CF%3E-for-SymbolicExpression%3CF%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABkBBgABABAAFQBxAIoAAACMAAAAkwAqAMgAaQA="}]\ +["halo2_frontend",{"t":"CCCFFKRKRFFFFREFFKFFNNNNNNNNNNNNNNNNNNMNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHMNNMNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNCMNNNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEECCFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNPGKFPKKMNMNMNMMNNNNNNNNNNNMNMNNNNNNNMNNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNPPPGEFFPPGPPGPFPPPPPFPGNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCCCCCGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKKKRFKRFRMMMNNNNNNNNNNNNCMNCMNNNNNNNNNMMNNNMCMNNNNNNMNNNNNNNNNNMMMNNNMMMNNNNNNNNNNNNNNNMFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFPFPGFPFPFPKPPFFPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKNNNNNNNNNNNNNNNNNMNNNNNPPPGPPPPPGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNN","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","IPA","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","BoundsFailure","ColumnNotAssigned","ColumnNotInPermutation","Error","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","Other","OverwriteDefault","Synthesis","TableError","TableError","UnevenColumnLengths","UsedColumn","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","fmt","from","from","init","init","into","into","not_enough_rows_available","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","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"],[855,"halo2_frontend::dev::metadata"],[973,"halo2_frontend::plonk"],[980,"halo2_frontend::plonk::assigned"],[1037,"halo2_frontend::plonk::circuit"],[1126,"halo2_frontend::plonk::circuit::constraint_system"],[1281,"halo2_frontend::plonk::circuit::expression"],[1546,"halo2_frontend::plonk::circuit::expression::sealed"],[1571,"halo2_frontend::plonk::error"],[1615,"halo2_frontend::plonk::error::Error"],[1616,"halo2_frontend::plonk::lookup"],[1637,"halo2_frontend::plonk::permutation"],[1656,"halo2_frontend::plonk::shuffle"],[1677,"halo2_frontend::circuit::value"],[1678,"core::ops::arith"],[1679,"ff"],[1680,"core::ops::function"],[1681,"core::result"],[1682,"alloc::string"],[1683,"core::convert"],[1684,"halo2_frontend::circuit::table_layouter"],[1685,"std::collections::hash::map"],[1686,"alloc::vec"],[1687,"core::option"],[1688,"core::clone"],[1689,"halo2_middleware::circuit"],[1690,"core::fmt"],[1691,"core::marker"],[1692,"core::borrow"],[1693,"core::iter::traits::collect"],[1694,"core::any"],[1695,"core::cmp"],[1696,"std::collections::hash::set"],[1697,"core::hash"],[1698,"core::iter::traits::iterator"],[1699,"halo2_frontend::dev::failure"],[1700,"halo2_frontend::dev::gates"],[1701,"halo2_frontend::dev::graph::layout"],[1702,"halo2_frontend::dev::tfp"],[1703,"plotters::coord"],[1704,"plotters::drawing::area"],[1705,"plotters_backend"],[1706,"core::ops::range"],[1707,"group::prime"],[1708,"serde::de"],[1709,"serde::ser"],[1710,"core::default"],[1711,"halo2_middleware::poly"],[1712,"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,145,145,146,147,148,149,150,147,151,148,149,148,149,147,152,153,150,152,152,153,148,148,149,149,153,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,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,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,11,144,11,0,11,11,11,144,11,0,11,144,144,11,144,11,144,11,144,11,144,11,144,11,11,144,144,11,144,11,144,11,144,11,11,144,11,144,11,144,11,144,11,144,154,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{c}}{d{{b{c}}}}}g{{h{d}{{f{}}}}}{}{}}{{{b{{d{c}}}}{b{c}}}e{}{}}{{{b{{d{{j{c}}}}}}{b{c}}}el{}}{{{b{c}}{b{{d{c}}}}}g{{h{d}{{f{}}}}}{}{}}{{{b{{j{c}}}}c}el{}}{{{d{{b{c}}}}{b{c}}}e{}{}}{{{d{{b{c}}}}{d{{b{c}}}}}e{}{}}{{{b{{j{c}}}}{b{c}}}el{}}{{{b{e}}{b{e}}}g{}{{h{}{{f{c}}}}}{}}{{{b{{d{{j{c}}}}}}c}el{}}{{{b{c}}g}{{b{e}}}{}{}{{n{c}{{f{{b{e}}}}}}}}{{{d{A`{b{c}}}}}{{b{{d{A`c}}}}}{}}{{{d{{b{c}}}}}{{b{{d{c}}}}}{}}{{{d{{b{c}}}}e}Ab{}{{n{{d{c}}}{{f{Ad}}}}}}{{{b{c}}}{{Ah{cAf}}}{}}{{{d{A`{Aj{c}}}}g{An{Al}}B`k}{{Ah{{Bb{ic}}Af}}}l{{Bf{Bd}}}{{Bh{}{{f{e}}}}}{}{{Bj{}{{f{{b{i}}}}}}}}{{{d{A`{Aj{c}}}}g{An{Al}}B`i}{{Ah{{Bb{ic}}Af}}}l{{Bf{Bd}}}{{Bh{}{{f{e}}}}}{}}{{{d{A`{Aj{c}}}}g{An{Bl}}B`{An{Al}}B`}{{Ah{{Bb{cc}}Af}}}l{{Bf{Bd}}}{{Bh{}{{f{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}}}l{{Cd{c}}}}{{{d{A`{Cf{c}}}}gC`B`k}{{Ah{AbAf}}}l{{Bf{Bd}}}{{Bh{}{{f{e}}}}}{{Bf{{j{c}}}}}{{Bj{}{{f{{b{i}}}}}}}}{{{d{A`{Aj{c}}}}g{An{Ch}}B`k}{{Ah{{Bb{ic}}Af}}}l{{Bf{Bd}}}{{Bh{}{{f{e}}}}}{}{{Bj{}{{f{{b{i}}}}}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}im}{{Ah{kAf}}}{{Cl{e}}}l{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{}{{Bj{{Aj{e}}}{{f{{Ah{kAf}}}}}}}}{{{d{A`{Cn{ce}}}}im}{{Ah{kAf}}}l{{Cl{c}}}{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{}{{Bj{{Aj{c}}}{{f{{Ah{kAf}}}}}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}ik}{{Ah{AbAf}}}{{Cl{e}}}l{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{{Bj{{Cf{e}}}{{f{{Ah{AbAf}}}}}}}}{{{d{A`{Cn{ce}}}}ik}{{Ah{AbAf}}}l{{Cl{c}}}{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{{Bj{{Cf{c}}}{{f{{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}}}l{{Dj{c}}}}{{{d{{Bb{ce}}}}}Dl{}l}{{{d{{b{c}}}}}{{b{c}}}Dn}{{{d{E`}}}E`}{{{d{Eb}}}Eb}{{{d{Dl}}}Dl}{{{d{{Bb{ce}}}}}{{Bb{ce}}}Dn{Dnl}}{{{d{c}}{d{A`e}}}Ab{}{}}0000{{{b{{d{c}}}}}{{b{c}}}Dn}{{{b{{d{A`c}}}}}{{b{c}}}Dn}`{{Ed{d{e}}Ad}{{Ah{{Ej{{Ef{c}}{Eh{c}}}}Af}}}l{{Dj{c}}}}{{{d{{F`{}{{El{c}}{En{e}}}}}}}{{d{c}}}{FbDn}{FbDn}}{{{d{A`{Aj{c}}}}Dle}{{Ah{AbAf}}}l{{Bf{{j{c}}}}}}{{{d{A`{Aj{c}}}}DlDl}{{Ah{AbAf}}}l}{{{d{A`{Cl{}{{Cj{c}}}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}{{Cl{e}}}l}{{{d{A`{Cn{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}l{{Cl{c}}}}{{{b{{d{c}}}}}{{b{c}}}Fd}{{{b{{d{A`c}}}}}{{b{c}}}Fd}{{{d{{Bb{ce}}}}i{d{A`{Aj{e}}}}{An{Al}}B`}{{Ah{{Bb{ce}}Af}}}Dnl{{Bf{Bd}}}{{Bh{}{{f{g}}}}}}{{{d{{b{e}}}}}{{b{{j{c}}}}}l{{Ff{{j{c}}}}}}{{}{{b{c}}}{}}`{B`{{d{c}}}{}}000{{{d{E`}}}{{d{c}}}{}}{{{d{Eb}}}{{d{c}}}{}}222222{B`{{d{A`c}}}{}}0000000005{B`Ab}00000000{{{d{A`{Cn{ce}}}}}Abl{{Cl{c}}}}1{{{d{A`{Aj{c}}}}g{d{Fh}}B`}{{Ah{AbAf}}}l{{Bf{Bd}}}{{Bh{}{{f{e}}}}}}{{{d{Eb}}{d{Eb}}}Ad}{{{d{{b{c}}}}e}{{Ah{AbAf}}}{}{{n{{d{c}}}{{f{Ad}}}}}}{{{b{{j{c}}}}}{{b{c}}}l}{{{Bb{{j{c}}c}}}{{Bb{cc}}}l}`{{{d{{Cb{ce}}}}{d{A`Fj}}}Fll{{Cd{c}}}}{{{d{{b{c}}}}{d{A`Fj}}}FlFb}{{{d{{D`{ce}}}}{d{A`Fj}}}Fl{Fbl}{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{Fbl}}{{{d{{Aj{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{d{{Cf{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{d{{Cn{ce}}}}{d{A`Fj}}}Fl{Fbl}{Fb{Cl{c}}}}{cc{}}{{{b{c}}}{{b{{j{c}}}}}l}111{B`E`}{B`Eb}333{{{d{A`Fn}}}{{Aj{c}}}l}4{{{d{A`Bn}}}{{Cf{c}}}l}55{e{{b{g}}}{}{{Gb{}{{G`{{b{c}}}}}}}{{Gd{c}}}}{{{d{{Cl{}{{Cj{c}}}}}}Gf}{{b{e}}}{{Cl{e}}}l}{{{d{{Cn{ce}}}}Gf}{{b{c}}}l{{Cl{c}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}}{{d{A`c}}}{{Cl{e}}}l}{{{d{A`{Cn{ce}}}}}{{d{A`g}}}l{{Cl{c}}}{}}{{}B`}000000000{{{d{A`{Aj{c}}}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{ce{}{}}000000000{{{b{e}}}{{b{{j{c}}}}}l{{Bf{{j{c}}}}}}{{{d{{b{e}}}}}{{b{{j{c}}}}}l{{Ff{{j{c}}}}}}{c{{b{c}}}{}}`{{{d{{F`{}{{El{c}}{En{e}}}}}}}{{d{e}}}{FbDn}{FbDn}}{{{b{c}}g}{{b{e}}}{}{}{{n{c}{{f{e}}}}}}{{{d{{b{c}}}}{b{c}}}e{}{}}{{{b{{d{{j{c}}}}}}{b{c}}}el{}}{{{b{{d{c}}}}{b{c}}}e{}{}}{{{d{{b{c}}}}{d{{b{c}}}}}e{}{}}{{{b{c}}{d{{b{c}}}}}g{{Gh{d}{{f{}}}}}{}{}}{{{b{{d{{j{c}}}}}}c}el{}}{{{b{c}}{b{{d{c}}}}}g{{Gh{d}{{f{}}}}}{}{}}{{{b{e}}{b{e}}}g{}{{Gh{}{{f{c}}}}}{}}{{{b{{j{c}}}}c}el{}}{{{b{{j{c}}}}{b{c}}}el{}}{{{d{A`{Aj{c}}}}gi}Abl{{Bf{Bd}}}{{Bh{}{{f{e}}}}}{{Bf{{An{Gj}}}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}i}{{Cn{ec}}}{{Cl{e}}}l{{Bf{Bd}}}{{n{}{{f{g}}}}}}{{{b{c}}}eGl{}}{{{d{A`e}}{d{{Gn{C`}}}}}{{Cb{ce}}}l{{Cd{c}}}}{{Ed{d{e}}d{d{{Eh{c}}}}{d{{Gn{{Df{c}}}}}}}{{D`{ce}}}l{{Dj{c}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}{Dh{Bd}}}Ab{{Cl{e}}}l}{{{d{A`{Cn{ce}}}}{Dh{Bd}}}Abl{{Cl{c}}}}{{{d{A`{Cl{}{{Cj{c}}}}}}i}Ab{{Cl{e}}}l{{Bf{Bd}}}{{n{}{{f{g}}}}}}{{{d{A`{Cn{ce}}}}i}Abl{{Cl{c}}}{{Bf{Bd}}}{{n{}{{f{g}}}}}}``{{{d{{b{e}}}}}{{b{{j{c}}}}}l{{Ff{{j{c}}}}}}{{{d{{b{c}}}}{b{c}}}e{}{}};<{{{b{{d{c}}}}{b{c}}}e{}{}}{{{b{c}}{b{{d{c}}}}}g{{H`{d}{{f{}}}}}{}{}}{{{b{{d{{j{c}}}}}}c}el{}}{{{b{e}}{b{e}}}g{}{{H`{}{{f{c}}}}}{}}{{{b{{d{{j{c}}}}}}{b{c}}}el{}}{{{b{c}}{d{{b{c}}}}}g{{H`{d}{{f{}}}}}{}{}}{{{d{{b{c}}}}{d{{b{c}}}}}e{}{}}{{{d{{b{c}}}}}{{b{{j{e}}}}}{}l}{{{d{c}}}e{}{}}0000{{{b{{Hb{c}}}}}{{Hb{{b{c}}}}}Fd}{{{b{e}}B`}{{Df{{b{c}}}}}{}{{Gb{}{{G`{c}}}}}}{c{{Ah{e}}}{}{}}0000000000000000000{{{d{c}}}Hd{}}000000000{{}{{b{c}}}{}}{{{b{{Ej{ce}}}}}{{Ej{{b{c}}{b{e}}}}}{}{}}{{{d{{Bb{ce}}}}}{{b{{d{c}}}}}{}l}{{{d{{Bb{ce}}}}}{{b{{j{e}}}}}{}l}{ce{}{}}000000000{{{b{c}}{b{e}}}{{b{{Ej{ce}}}}}{}{}}``````{{{d{A`{Hf{ce}}}}im}{{Ah{kAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{}{{Bj{{Aj{c}}}{{f{{Ah{kAf}}}}}}}}{{{d{A`{Hf{ce}}}}ik}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{{Bj{{Cf{c}}}{{f{{Ah{AbAf}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0{{{d{A`{Hf{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}l{{Cd{c}}Hh}}{B`{{d{c}}}{}}0{B`{{d{A`c}}}{}}0{B`Ab}0{{{d{{Hf{ce}}}}{d{A`Fj}}}Fll{{Cd{c}}}}{{{d{Hj}}{d{A`Fj}}}Fl}{cc{}}0{{{d{{Hf{ce}}}}Gf}{{b{c}}}l{{Cd{c}}Hh}}{{{d{A`{Hf{ce}}}}}{{d{A`g}}}l{{Cd{c}}Hh}{}}{{}B`}0??{{{d{A`e}}{Df{{An{Ch}}}}}{{Ah{{Hf{ce}}Af}}}l{{Cd{c}}}}{{{d{A`{Hf{ce}}}}{Dh{Bd}}}Abl{{Cd{c}}Hh}}{{{d{A`{Hf{ce}}}}i}Abl{{Cd{c}}Hh}{{Bf{Bd}}}{{n{}{{f{g}}}}}}{{{d{A`e}}{d{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Dj{c}}}}{c{{Ah{e}}}{}{}}000{{{d{c}}}Hd{}}0{ce{}{}}0````{{{d{A`{Hl{ce}}}}im}{{Ah{kAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{}{{Bj{{Aj{c}}}{{f{{Ah{kAf}}}}}}}}{{{d{A`{Hl{ce}}}}ik}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Bf{Bd}}}{{Bh{}{{f{g}}}}}{{Bj{{Cf{c}}}{{f{{Ah{AbAf}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{A`c}}}{{d{A`e}}}{}{}}000{{{d{A`{Hl{ce}}}}Dl{An{Bl}}B`}{{Ah{AbAf}}}l{{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{Fbl}{Fb{Cd{c}}}}{{{d{I`}}{d{A`Fj}}}Fl}{{{d{{Ib{ce}}}}{d{A`Fj}}}Fl{Fbl}{Fb{Cd{c}}}}{cc{}}000{{{d{{Hl{ce}}}}Gf}{{b{c}}}l{{Cd{c}}Hh}}{{{d{A`{Hl{ce}}}}}{{d{A`g}}}l{{Cd{c}}Hh}{}}{{}B`}000{ce{}{}}000{{{d{A`{Hl{ce}}}}{Dh{Bd}}}Abl{{Cd{c}}Hh}}{{{d{A`{Hl{ce}}}}i}Abl{{Cd{c}}Hh}{{Bf{Bd}}}{{n{}{{f{g}}}}}}`{{{d{A`e}}{d{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}l{{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`{j{c}}}{{Ah{DlAf}}}l}{{{d{A`Id}}{d{Bh}}{An{Al}}B`{j{c}}}{{Ah{DlAf}}}l}{{{d{A`Fn}}{d{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{b{c}}}}Af}}}l}{{{d{A`Id}}{d{Bh}}{An{Bl}}B`{An{Al}}B`}{{Ah{{Ej{Dl{b{c}}}}Af}}}l}{{{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{j{c}}}{{Ah{AbAf}}}l}{{{d{A`Id}}Dl{j{c}}}{{Ah{AbAf}}}l}{{{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}1{{{An{Gj}}}If}{{{d{If}}{d{A`c}}}AbIl}{{}B`}0{{{d{A`Fn}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{{{d{A`Id}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{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}}}}}}}l}{{{d{{In{c}}}}{An{Al}}}{{d{{Gn{{J`{c}}}}}}}{JbJd}}{{{d{A`{In{c}}}}g{An{Gj}}}Abl{{Bf{Bd}}}{{n{}{{f{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}}}l{{Bf{Bd}}}{{n{}{{f{e}}}}}{{Bf{{j{c}}}}}{{n{}{{f{{b{i}}}}}}}}{{{d{A`{In{c}}}}g{An{Ch}}B`k}{{Ah{AbAf}}}l{{Bf{Bd}}}{{n{}{{f{e}}}}}{{Bf{{j{c}}}}}{{n{}{{f{{b{i}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{A`c}}}{{d{A`e}}}{}{}}0000000{{{d{e}}}Bdl{{Dj{c}}}}{{{d{Jh}}}Jh}{{{d{Jj}}}Jj}{{{d{{J`{c}}}}}{{J`{c}}}{Dnl}}{{{d{{Jl{c}}}}}{{Jl{c}}}{Dnl}}{{{d{c}}{d{A`e}}}Ab{}{}}000{{}Jn}{{{d{A`{In{c}}}}{An{Gj}}B`{An{Gj}}B`}{{Ah{AbAf}}}l}``{{{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}}}}}Abl}{{{d{A`{In{c}}}}g{d{Fh}}B`}{{Ah{AbAf}}}l{{Bf{Bd}}}{{n{}{{f{e}}}}}}{{{d{A`{In{c}}}}g}Abl{{Bf{Bd}}}{{n{}{{f{e}}}}}}{{{d{Jh}}{d{Jh}}}Ad}{{{d{Jj}}{d{Jj}}}Ad}{{{d{{J`{c}}}}{d{{J`{c}}}}}Ad{Kbl}}{{{d{{Jl{c}}}}{d{{Jl{c}}}}}Ad{Kbl}}{{{d{A`{In{c}}}}}Abl}{{{d{A`{In{c}}}}{An{Ch}}B`{b{{j{c}}}}}{{Ah{AbAf}}}l}{{{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}}}{{Ah{AbKd}}}}{{{d{Jn}}{d{A`Fj}}}Fl}{{{d{{Kf{c}}}}{d{A`Fj}}}Fl{FbKh}}{{{d{K`}}{d{A`Fj}}}Fl}{{{d{{J`{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{d{{In{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{d{{Jl{c}}}}{d{A`Fj}}}Fl{Fbl}}{cc{}}0000000{{{d{{In{c}}}}Gf}{{b{c}}}l}{{}B`}0000000{{{d{{In{c}}}}}{{d{{Df{{Df{{Jl{c}}}}}}}}}{JbJd}}{{{d{A`{In{c}}}}B`}{{d{A`{Gn{{Jl{c}}}}}}}l}{ce{}{}}0000000{{K`Ad}K`}`{{{d{A`{In{c}}}}{Dh{Bd}}}Abl}{{{d{A`{In{c}}}}g}Abl{{Bf{Bd}}}{{n{}{{f{e}}}}}}{{{d{Jn}}}Bd}{{{d{{In{c}}}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{{K`Ed{d{e}}{d{{Kl{gKj}}}}}{{Ah{AbKn}}}l{{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}}}l{{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}}}}}cl}{{{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{JdlJb}{{Dj{c}}}}{{Ed{d{e}}{Df{{Df{c}}}}Mh}Mf{JdlJb}{{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{}}0{NjNb}{{{Ej{cN`Nl}}}Nb{{Nn{Ml}}}}{{{Ej{N`Nl}}}Nb}3{{{Ej{B`c}}}Nd{{Nn{Ml}}}}{{{Ej{NdB`c}}}Nf{{Nn{Ml}}}}5{{{Ej{B`Bd}}}Nh}{{{Ej{B`Bd{Dd{N`Bd}}}}}Nh}{{{Ej{B`{d{Ml}}{Dd{N`Bd}}}}}Nh}8{{{Ej{B`{d{Ml}}}}}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{{j{c}}}}{d{{j{c}}}}}{{j{c}}}l}{{{j{c}}{d{{j{c}}}}}{{j{c}}}l}{{{d{{j{c}}}}{j{c}}}{{j{c}}}l}{{{d{{j{c}}}}c}{{j{c}}}l}{{{j{c}}{j{c}}}{{j{c}}}l}{{{j{c}}c}{{j{c}}}l}{{{d{A`{j{c}}}}{d{{j{c}}}}}Abl}{{{d{A`{j{c}}}}{j{c}}}Abl}{{{d{c}}}{{d{e}}}{}{}}{{{d{A`c}}}{{d{A`e}}}{}{}}{{{d{{j{c}}}}}{{j{c}}}Dn}{{{d{c}}{d{A`e}}}Ab{}{}}{{{d{{j{c}}}}}{{j{c}}}l}{{{d{{j{c}}}}}{{Dh{c}}}l}{B`{{d{c}}}{}}{B`{{d{A`c}}}{}}3{B`Ab}{{{d{{j{c}}}}{d{{j{c}}}}}Adl}{{{j{c}}}cl}{{{d{{j{c}}}}{d{A`Fj}}}FlFb}{cc{}}8{c{{j{c}}}l}{{{Ej{cc}}}{{j{c}}}l}{{{d{c}}}{{j{c}}}l}{{}B`}{ce{}{}}={{{d{{j{c}}}}}Adl}{{{j{c}}{d{{j{c}}}}}{{j{c}}}l}{{{j{c}}{j{c}}}{{j{c}}}l}{{{j{c}}c}{{j{c}}}l}{{{d{{j{c}}}}c}{{j{c}}}l}{{{d{A`{j{c}}}}{d{{j{c}}}}}Abl}{{{d{A`{j{c}}}}{j{c}}}Abl}{{{d{{j{c}}}}}el{}}{{{j{c}}}el{}}{{{d{{j{c}}}}}cl}{{{d{{j{c}}}}}{{j{c}}}l}87{{{d{{j{c}}}}{j{c}}}{{j{c}}}l}:7{{{d{{j{c}}}}{d{{j{c}}}}}{{j{c}}}l}76{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}{ce{}{}}``````````{{{d{A`Cd}}e{An{Gj}}}Ab{{Bf{Bd}}}{{n{}{{f{c}}}}}}{{{d{A`Cd}}e{An{Al}}B`k}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{f{c}}}}}l{{Bf{{j{g}}}}}{{n{}{{f{{b{i}}}}}}}}{{{d{A`Cd}}e{An{Ch}}B`k}{{Ah{AbAf}}}{{Bf{Bd}}}{{n{}{{f{c}}}}}l{{Bf{{j{g}}}}}{{n{}{{f{{b{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}}}}}el{}}{{{d{A`{Eh{c}}}}e}gl{}{}}`{{{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{}{{f{c}}}}}}{{{d{A`Cd}}e}Ab{{Bf{Bd}}}{{n{}{{f{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`{b{{j{c}}}}}{{Ah{AbAf}}}l}{{{d{Al}}{d{A`Fj}}}Fl}{{{d{Ch}}{d{A`Fj}}}Fl}{{{d{Bl}}{d{A`Fj}}}Fl}{cc{}}00{{{d{Cd}}Gf}{{b{c}}}l}{{{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{}{{f{c}}}}}}{{{d{Of}}B`Oh}{{Oj{c}}}l}{{{d{Al}}B`Oh}{{Oj{c}}}l}{{{d{Ch}}B`Oh}{{Oj{c}}}l}{{{d{Bl}}B`Oh}{{Oj{c}}}l}{{{d{Cd}}{An{Bl}}B`}{{Ah{{b{c}}Af}}}l}{{{d{A`e}}{d{g}}{Df{{An{Ch}}}}}{{Ah{AbAf}}}l{{Cd{c}}Hh}{{Dj{c}}}}{{{d{{Dj{}{{El{c}}{O`{e}}{Ob{g}}}}}}ck}{{Ah{AbAf}}}DnKhOdl{{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}}}l}{{{d{A`{Eh{c}}}}e}{{An{Al}}}lOl}{{{d{{Eh{c}}}}}{{Df{Db}}}l}{{{d{{Eh{c}}}}}{{d{{Df{{Ej{{An{Al}}Oh}}}}}}}l}{{{d{A`{Eh{c}}}}ei}Abl{{Bf{{An{Gj}}}}}{{Bf{Bd}}}{{Bh{}{{f{g}}}}}}0{{{d{A`{Eh{c}}}}C`g}Abl{{Bf{Bd}}}{{Bh{}{{f{e}}}}}}{{{d{{Eh{c}}}}}B`l}{{{d{c}}}{{d{e}}}{}{}}00000{{{d{A`c}}}{{d{A`e}}}{}{}}000006{{{d{A`{Eh{c}}}}e}GflOl}{{{d{Nj}}}Nj}{{{d{{On{c}}}}}{{On{c}}}{Dnl}}{{{d{{Eh{c}}}}}{{Eh{c}}}{Dnl}}{{{d{c}}{d{A`e}}}Ab{}{}}00`{{{d{A`{Eh{c}}}}}Fhl}{{{Eh{c}}{Df{{Df{Ad}}}}}{{Ej{{Eh{c}}{Df{{Df{c}}}}}}}l}{{{d{{Eh{c}}}}}{{d{{Df{{An{Ch}}}}}}}l}{{{d{{On{c}}}}B`}{{d{Ml}}}l}{{{d{A`{Eh{c}}}}ek}Abl{{Nn{Ml}}}{{Bf{{A@`{c}}}}}{{Gb{}{{G`{g}}}}}{{n{{d{A`{A@b{c}}}}}{{f{i}}}}}}{{}{{Eh{c}}}l}={B`{{d{c}}}{}}00000{B`{{d{A`c}}}{}}000006{B`Ab}00000{{{d{A`{Eh{c}}}}{An{Ch}}}Abl}{{{d{A`{Eh{c}}}}e}Abl{{Bf{{An{Gj}}}}}}{{{d{A`{Eh{c}}}}}{{An{Ch}}}l}{{{d{{Eh{c}}}}}{{d{{Df{{Ej{{An{Ch}}Oh}}}}}}}l}{{{d{Nj}}{d{A`Fj}}}Fl}{{{d{{A@`{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{d{{A@d{ceg}}}}{d{A`Fj}}}Fl{Fbl}{Fb{Bf{{A@`{c}}}}}{Fb{Gb{}{{G`{e}}}}}}{{{d{{On{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{d{{Eh{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{d{{A@b{c}}}}{d{A`Fj}}}Fl{Fbl}}{{{Ej{cOh}}}Nj{{Bf{{An{Gj}}}}}}{cc{}}0{{{Oj{c}}}{{A@`{c}}}l}{{{Ej{c{Oj{e}}}}}{{A@`{e}}}{{Nn{Ml}}}l}2222{{{d{{Eh{c}}}}}{{d{{Df{{On{c}}}}}}}l}{{{d{{Eh{c}}}}}{{d{{Dd{N`Bd}}}}}l}{{{d{{Eh{c}}}}{An{Gj}}Oh}B`l}{{}B`}00000{{{d{A`{Eh{c}}}}}{{An{Bl}}}l}{{{d{{Eh{c}}}}}{{d{{Df{{Ej{{An{Bl}}Oh}}}}}}}l}{ce{}{}}00000{{{A@d{ceg}}}il{{Bf{{A@`{c}}}}}{{Gb{}{{G`{e}}}}}{}}{{{d{A`{Eh{c}}}}eg}B`l{{Nn{Ml}}}{{n{{d{A`{A@b{c}}}}}{{f{{Df{{Ej{{Oj{c}}C`}}}}}}}}}}{{{d{A`{Eh{c}}}}eg}B`l{{Nn{Ml}}}{{n{{d{A`{A@b{c}}}}}{{f{{Df{{Ej{{Oj{c}}{Oj{c}}}}}}}}}}}}{{{d{A`{Eh{c}}}}}C`l}{{{d{{Eh{c}}}}}{{d{{Df{{A@f{c}}}}}}}l}{{{d{{Eh{c}}}}}B`l}{{{d{{On{c}}}}}{{d{Ml}}}l}11111{{{d{{Eh{c}}}}}{{d{A@h}}}l}{{{d{{Eh{c}}}}}{{`{{Jf{}{{G`{A@j}}}}}}}l}{{{d{{On{c}}}}}{{d{{Gn{{Oj{c}}}}}}}l}{{{d{{On{c}}}}}{{d{{Gn{Nj}}}}}l}{{{d{{On{c}}}}}{{d{{Gn{Fh}}}}}l}{{{d{A`{A@b{c}}}}{An{Al}}Oh}{{Oj{c}}}l}{{{d{A`{A@b{c}}}}eOh}{{Oj{c}}}l{{Bf{{An{Gj}}}}}}{{{d{A`{A@b{c}}}}Gf}{{Oj{c}}}l}{{{d{A`{A@b{c}}}}{An{Ch}}Oh}{{Oj{c}}}l}{{{d{A`{A@b{c}}}}{An{Bl}}Oh}{{Oj{c}}}l}{{{d{A`{A@b{c}}}}Fh}{{Oj{c}}}l}`{{{d{A`{Eh{c}}}}}Fhl}{{{d{A`{Eh{c}}}}B`}Abl}{{{d{A`{Eh{c}}}}eg}B`l{{Nn{Ml}}}{{n{{d{A`{A@b{c}}}}}{{f{{Df{{Ej{{Oj{c}}{Oj{c}}}}}}}}}}}}{{{d{{Eh{c}}}}}{{d{{Df{{A@l{c}}}}}}}l}{{{d{c}}}e{}{}}00{c{{Ah{e}}}{}{}}00000000000{{{d{c}}}Hd{}}00000{{{d{A`{Eh{c}}}}}{{An{Al}}}l}{{{d{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}{{{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`l}{{{d{{An{c}}}}}{{Oj{e}}}Ofl}1{B`{{d{c}}}{}}0000000000{B`{{d{A`c}}}{}}0000000000{B`Ab}0000000000{{{d{Fh}}{d{A`{Aj{c}}}}B`}{{Ah{AbAf}}}l}{{{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}}}el{}{{Bh{c}{{f{e}}}}}{{Bh{Fh}{{f{e}}}}}{{Bh{A@n}{{f{e}}}}}{{Bh{AA`}{{f{e}}}}}{{Bh{AAb}{{f{e}}}}}{{Bh{Gf}{{f{e}}}}}{{Bh{e}{{f{e}}}}}{{Bh{ee}{{f{e}}}}}{{Bh{ee}{{f{e}}}}}{{Bh{ec}{{f{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}}}elKb{{Bh{c}{{f{e}}}}}{{Bh{Fh}{{f{e}}}}}{{Bh{A@n}{{f{e}}}}}{{Bh{AA`}{{f{e}}}}}{{Bh{AAb}{{f{e}}}}}{{Bh{Gf}{{f{e}}}}}{{Bh{e}{{f{e}}}}}{{Bh{ee}{{f{e}}}}}{{Bh{ee}{{f{e}}}}}{{Bh{ec}{{f{e}}}}}}{{{d{Fh}}}{{Oj{c}}}l}{{{d{Gf}}}{{Oj{c}}}l}{{{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{Al}}}{{An{Gj}}}}{cc{}}{N`{{An{Gj}}}}{{{An{Bl}}}{{An{Gj}}}}{{{An{Ch}}}{{An{Gj}}}}33333333{AAjGf}44{{{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}}}}}Bdl}{{{d{{An{c}}}}}B`Of}{{{d{Fh}}}B`}{{{d{Gf}}}B`}`````{{}B`}0000000000{{{d{C`}}}{{An{Ch}}}}{ce{}{}}0000000000{{{d{Fh}}}Ad}{{{Oj{c}}{Oj{c}}}{{Oj{c}}}l}{{{Oj{c}}c}{{Oj{c}}}l}{{{Oj{c}}}el{}}{{B`c}{{An{c}}}Of}{{{d{{An{c}}}}}{{Oj{e}}}Ofl}{{{d{{An{c}}}}{d{{An{c}}}}}{{Dh{Ih}}}Of}{{{d{C`}}{d{C`}}}{{Dh{Ih}}}}{{{d{Gf}}}Db}3{e{{Oj{c}}}l{{Jf{}{{G`{{Oj{c}}}}}}}}{{{d{{An{c}}}}Oh}{{Oj{e}}}Ofl}{{{d{A`{Oj{c}}}}{d{A`{A@b{c}}}}}Abl}{{{d{{An{c}}}}Nl}{{Oj{e}}}Ofl}{{{d{A@n}}}Oh}{{{d{AA`}}}Oh}{{{d{AAb}}}Oh}````{{{Oj{c}}}{{Oj{c}}}l}?7{{{d{c}}}e{}{}}0000000{AAdA@j}{AAfA@j}{AAhA@j}{{{An{Gj}}}{{Ah{{An{Bl}}c}}}{}}{c{{Ah{e}}}{}{}}{{{An{Gj}}}{{Ah{{An{Al}}c}}}{}}{{{An{Gj}}}{{Ah{{An{Ch}}c}}}{}}222222222222222222222{{{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}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0{B`{{d{c}}}{}}0{B`{{d{A`c}}}{}}0{B`Ab}0{{{d{Af}}{d{A`Fj}}}Fl}0{{{d{AB`}}{d{A`Fj}}}Fl}0{cc{}}0{{}B`}099{EdAf}{{{d{c}}}Bd{}}0====<<;;``:9{{{d{{A@f{c}}}}}{{A@f{c}}}{Dnl}}{{{d{c}}{d{A`e}}}Ab{}{}}:98{{{d{{A@f{c}}}}{d{A`Fj}}}Fll}65{{{d{{A@f{c}}}}}{{d{{Df{{Oj{c}}}}}}}l}?{{{d{{A@f{c}}}}}{{d{Ml}}}l}{{c{Df{{Ej{{Oj{e}}{Oj{e}}}}}}}{{A@f{e}}}{{Nn{Ml}}}l}2{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}{ce{}{}}`{{{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`};>==<;`:9{{{d{{A@l{c}}}}}{{A@l{c}}}{Dnl}}{{{d{c}}{d{A`e}}}Ab{}{}}876{{{d{{A@l{c}}}}{d{A`Fj}}}Fll}53{{{d{{A@l{c}}}}}{{d{{Df{{Oj{c}}}}}}}l}?{{{d{{A@l{c}}}}}{{d{Ml}}}l}{{c{Df{{Ej{{Oj{e}}{Oj{e}}}}}}}{{A@l{e}}}{{Nn{Ml}}}l}2{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Hd{}}{ce{}{}}","D":"DE`","p":[[5,"Value",3,1677],[1,"reference"],[17,"Output"],[10,"Add",1678],[6,"Assigned",980],[10,"Field",1679],[10,"FnOnce",1680],[0,"mut"],[1,"unit"],[1,"bool"],[6,"Error",1571],[6,"Result",1681],[5,"Region",3],[5,"Advice",1037],[5,"Column",1281],[1,"usize"],[5,"AssignedCell",3],[5,"String",1682],[10,"Into",1683],[10,"Fn",1680],[10,"FnMut",1680],[5,"Instance",1037],[10,"TableLayouter",381,1684],[5,"TableColumn",1281],[5,"SimpleTableLayouter",3,1684],[10,"Assignment",1037],[5,"Table",3],[5,"Fixed",1037],[17,"Root"],[10,"Layouter",3],[5,"NamespacedLayouter",3],[5,"WitnessCalculator",3],[1,"u8"],[5,"HashMap",1685],[5,"Vec",1686],[6,"Option",1687],[10,"Circuit",1037],[5,"Cell",3],[10,"Clone",1688],[5,"RegionIndex",3],[5,"RegionStart",3],[1,"u32"],[5,"CompiledCircuit",1689],[5,"ConstraintSystem",1126],[1,"tuple"],[17,"Config"],[17,"Loaded"],[10,"Chip",3],[10,"Debug",1690],[10,"Copy",1691],[10,"Borrow",1692],[5,"Selector",1281],[5,"Formatter",1690],[8,"Result",1690],[10,"RegionLayouter",381],[17,"Item"],[10,"IntoIterator",1693],[10,"FromIterator",1693],[5,"Challenge",1281],[10,"Mul",1678],[6,"Any",1689],[10,"Neg",1678],[1,"slice"],[10,"Sub",1678],[1,"array"],[5,"TypeId",1694],[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",1695],[5,"HashSet",1696],[10,"Hasher",1697],[5,"MockProver",449],[6,"CellValue",449],[10,"FromUniformBytes",1679],[10,"Ord",1695],[10,"Iterator",1698],[6,"FailureLocation",449,1699],[6,"VerifyFailure",449,1699],[6,"InstanceValue",449],[5,"CircuitGates",449,1700],[5,"CircuitLayout",449,1701],[10,"PartialEq",1695],[5,"Error",1690],[5,"TracingFloorPlanner",449,1702],[10,"FloorPlanner",1037],[5,"Shift",1703],[5,"DrawingArea",1704],[6,"DrawingAreaErrorKind",1704],[10,"DrawingBackend",1705],[5,"Range",1706],[5,"CircuitCost",666],[10,"PrimeGroup",1707],[5,"MarginalProofSize",666],[5,"ProofSize",666],[5,"Poly",711],[5,"Lookup",711],[5,"Permutation",711],[5,"Shuffle",711],[10,"Deserializer",1708],[5,"ModelCircuit",711],[6,"CommitmentScheme",711],[5,"CostOptions",711],[1,"str"],[10,"Serializer",1709],[5,"Column",855],[5,"VirtualCell",855],[5,"Gate",855],[5,"Constraint",855],[5,"Region",855],[5,"VirtualCell",1126],[1,"i32"],[10,"AsRef",1683],[17,"FloorPlanner"],[17,"Params"],[10,"Default",1710],[10,"ColumnType",1037],[5,"Rotation",1711],[6,"Expression",1281],[10,"Phase",1281],[5,"Gate",1126],[5,"Constraint",1126],[5,"VirtualCells",1126],[5,"Constraints",1126],[5,"Argument",1616],[5,"Argument",1637],[5,"Phase",1546],[5,"Argument",1656],[5,"FixedQuery",1281],[5,"AdviceQuery",1281],[5,"InstanceQuery",1281],[5,"FirstPhase",1281],[5,"SecondPhase",1281],[5,"ThirdPhase",1281],[5,"ChallengeMid",1689],[10,"Hash",1697],[10,"SealedPhase",1546],[6,"TableError",1571],[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,"NotEnoughRowsAvailable",1615]],"r":[[14,279],[15,1684],[17,1684],[18,1677],[275,316],[276,316],[387,1684],[453,666],[454,1700],[455,1701],[458,1699],[469,1702],[471,1699],[496,1712]],"b":[[20,"impl-Add%3C%26Value%3CV%3E%3E-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%3C%26Assigned%3CF%3E%3E"],[23,"impl-Add%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[24,"impl-Add%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[25,"impl-Add%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[26,"impl-Add-for-%26Value%3CV%3E"],[27,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[28,"impl-Add-for-Value%3CV%3E"],[29,"impl-Add%3CF%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%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[192,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[193,"impl-Mul-for-%26Value%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%3C%26V%3E%3E-for-Value%3CV%3E"],[197,"impl-Mul-for-Value%3CV%3E"],[198,"impl-Mul%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[199,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[212,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[213,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[214,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[215,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[216,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[217,"impl-Sub%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[218,"impl-Sub-for-Value%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-%26Value%3CV%3E"],[423,"impl-From%3CSelector%3E-for-RegionColumn"],[425,"impl-From%3CColumn%3CAny%3E%3E-for-RegionColumn"],[546,"impl-Display-for-FailureLocation"],[547,"impl-Debug-for-FailureLocation"],[548,"impl-Debug-for-VerifyFailure"],[549,"impl-Display-for-VerifyFailure"],[550,"impl-Display-for-CircuitGates"],[551,"impl-Debug-for-CircuitGates"],[903,"impl-Debug-for-ColumnMid"],[904,"impl-Display-for-ColumnMid"],[905,"impl-Debug-for-VirtualCell"],[906,"impl-Display-for-VirtualCell"],[907,"impl-Debug-for-Gate"],[908,"impl-Display-for-Gate"],[909,"impl-Display-for-Constraint"],[910,"impl-Debug-for-Constraint"],[911,"impl-Debug-for-Region"],[912,"impl-Display-for-Region"],[916,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[917,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[918,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[923,"impl-From%3C(usize,+String)%3E-for-Region"],[924,"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"],[927,"impl-From%3C(usize,+%26str)%3E-for-Region"],[984,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[985,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[986,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[987,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[988,"impl-Add-for-Assigned%3CF%3E"],[989,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[990,"impl-AddAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[991,"impl-AddAssign-for-Assigned%3CF%3E"],[1006,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1007,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1008,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1009,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1014,"impl-Mul%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1015,"impl-Mul-for-Assigned%3CF%3E"],[1016,"impl-Mul%3CF%3E-for-Assigned%3CF%3E"],[1017,"impl-Mul%3CF%3E-for-%26Assigned%3CF%3E"],[1018,"impl-MulAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1019,"impl-MulAssign-for-Assigned%3CF%3E"],[1020,"impl-Neg-for-%26Assigned%3CF%3E"],[1021,"impl-Neg-for-Assigned%3CF%3E"],[1024,"impl-Sub-for-Assigned%3CF%3E"],[1025,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1026,"impl-Sub%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1027,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1028,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1029,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[1030,"impl-SubAssign%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1031,"impl-SubAssign-for-Assigned%3CF%3E"],[1200,"impl-From%3CExpression%3CF%3E%3E-for-Constraint%3CF%3E"],[1201,"impl-From%3C(S,+Expression%3CF%3E)%3E-for-Constraint%3CF%3E"],[1412,"impl-From%3CColumn%3CAdvice%3E%3E-for-Column%3CAny%3E"],[1414,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1415,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1416,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1465,"impl-Mul-for-Expression%3CF%3E"],[1466,"impl-Mul%3CF%3E-for-Expression%3CF%3E"],[1499,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1501,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1502,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1594,"impl-Debug-for-Error"],[1595,"impl-Display-for-Error"],[1596,"impl-Debug-for-TableError"],[1597,"impl-Display-for-TableError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGUEjAAAAAAAAwAAAA8AAAAVAAkAKAAAACwAAAAuABQARQAJAFcAAABcAAAAXgAVAHUACgCBAAAAhgAJAJEAAACVAAEAmgAAAJwAAAChAAAAowAKAL8ACQDLAAAAzwAAANEAAADVAAkA4AAEAOcAHQAJAQkAFAEDABoBDgArAQMAMgEKAEEBGgBgAQUAagETAIYBAACIAQAAigEAAI0BCQCZAQAAmwEGAKMBAwCoAQAAqgEDAK8BAACzAQAAtQEAALgBCQDGAQAA3AEAAN8BEQDyAQcA+wEAAP8BGAAZAgcAIwIKADYCCABLAgEATgIAAFQCHwB6AgcAngIRALMCAgC8AgsA1AIWAOwCGAAGAwYAFgMAABgDBgAuAwAAMwMBADgDHwBdAxUAdAMeAJUDAgCZAwEAnAMCAKADAQCjAwQArQMlANQDAADZAwsA5wMBAOoDAQDtAwAA7wMEAPcDBwABBAwAGwQMACoEAAAsBAgANwQCADsEAAA9BAIARAQFAFEEAgBXBA4AdQQLAIMEBgCPBAAAkQQLAJ4EBQCoBAYAsQQBALkEBgDIBAAA1wQBAN8EAADkBBQA+wQFABgFKABIBQAATAUgAG4FBwB6BQsAhwUCAJIFAACVBQMAnQUAAKEFCwC6BQMAvwUBAMMFAADNBQAAzwU7AA0GCQAYBgEAGwYIADEGDQBBBgEARgYJAFIGBwBbBgAAYQYEAGcGCAByBgAAdAYEAHoGBwCDBgAAiQYEAA=="}],\ +["halo2_middleware",{"t":"CCEECCCCCCPGFPFFFPFIPFIPPFPPFPPGONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNOONOONNOOOONNNOONONOONOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNPGPPPPKNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNMNFINNNNNNNNNNOONOOOONNNNNKKKKRRRRRRRKKFKNNMNNNNNNNNNNNNNHNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMHNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNFFNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNFINNNNNNNNNNOONOOOONNNNNCCFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRKMMMMMM","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","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"],[290,"halo2_middleware::lookup"],[314,"halo2_middleware::multicore"],[458,"halo2_middleware::permutation"],[494,"halo2_middleware::poly"],[518,"halo2_middleware::shuffle"],[542,"halo2_middleware::zal"],[544,"halo2_middleware::zal::impls"],[680,"halo2_middleware::zal::traits"],[689,"core::clone"],[690,"ff"],[691,"core::cmp"],[692,"core::fmt"],[693,"core::hash"],[694,"core::option"],[695,"alloc::string"],[696,"core::result"],[697,"core::any"],[698,"std::io::error"],[699,"std::io"],[700,"core::ops::function"],[701,"core::iter::traits::iterator"],[702,"rayon::iter"],[703,"core::marker"],[704,"rayon::slice"],[705,"rayon::iter::blocks"],[706,"rayon::iter::chain"],[707,"rayon::iter::chunks"],[708,"rayon::iter::cloned"],[709,"alloc::vec"],[710,"alloc::collections::linked_list"],[711,"rayon::iter::copied"],[712,"rayon::iter::plumbing"],[713,"rayon::iter::enumerate"],[714,"rayon::iter::filter"],[715,"rayon::iter::filter_map"],[716,"rayon::iter::flat_map"],[717,"rayon::iter::flat_map_iter"],[718,"core::iter::traits::collect"],[719,"rayon::iter::flatten"],[720,"rayon::iter::flatten_iter"],[721,"rayon_core::scope"],[722,"rayon::iter::fold"],[723,"rayon::iter::fold_chunks"],[724,"rayon::iter::fold_chunks_with"],[725,"rayon::iter::inspect"],[726,"rayon::iter::interleave"],[727,"rayon::iter::interleave_shortest"],[728,"rayon::iter::intersperse"],[729,"rayon::iter::map"],[730,"rayon::iter::map_with"],[731,"rayon::iter::panic_fuse"],[732,"rayon::slice::chunk_by"],[733,"rayon::slice::chunks"],[734,"rayon::slice::rchunks"],[735,"core::default"],[736,"either"],[737,"rayon::iter::positions"],[738,"core::iter::traits::accum"],[739,"rayon::iter::rev"],[740,"rayon::iter::skip"],[741,"rayon::iter::skip_any"],[742,"rayon::iter::skip_any_while"],[743,"rayon_core::broadcast"],[744,"rayon::iter::step_by"],[745,"rayon::iter::take"],[746,"rayon::iter::take_any"],[747,"rayon::iter::take_any_while"],[748,"rayon::iter::try_fold"],[749,"rayon::iter::private"],[750,"rayon::iter::update"],[751,"rayon::iter::while_some"],[752,"rayon::iter::len"],[753,"rayon::iter::zip"],[754,"rayon::iter::zip_eq"],[755,"pasta_curves::arithmetic::curves"],[756,"rayon_core"],[757,"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,28,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{{Ch{ce}}}}{b{dg}}}{{D`{B`}}}A`AbDb}``{{{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",689],[10,"Field",690],[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",691],[1,"usize"],[1,"bool"],[5,"Formatter",692],[8,"Result",692],[10,"Debug",692],[10,"Hasher",693],[1,"str"],[5,"Rotation",494],[6,"Option",694],[1,"u8"],[6,"Expression",251],[5,"String",695],[6,"Result",696],[5,"TypeId",697],[8,"Result",698],[10,"Write",699],[10,"PartialEq",691],[17,"Output"],[10,"Fn",700],[17,"Item"],[10,"Iterator",701],[5,"Argument",290],[10,"ParallelIterator",314,702],[10,"Send",703],[10,"Sync",703],[10,"ParallelSliceMut",314,704],[1,"slice"],[10,"IndexedParallelIterator",314,702],[5,"ExponentialBlocks",705],[5,"UniformBlocks",705],[5,"Chain",706],[10,"IntoParallelIterator",314,702],[5,"Chunks",707],[5,"Cloned",708],[10,"FromParallelIterator",702],[5,"Vec",709],[5,"LinkedList",710],[5,"Copied",711],[10,"Consumer",712],[10,"UnindexedConsumer",712],[5,"Enumerate",713],[5,"Filter",714],[5,"FilterMap",715],[5,"FlatMap",716],[5,"FlatMapIter",717],[10,"IntoIterator",718],[5,"Flatten",719],[5,"FlattenIter",720],[5,"Scope",314,721],[5,"Error",692],[5,"Fold",722],[5,"FoldChunks",723],[5,"FoldChunksWith",724],[5,"FoldWith",722],[5,"Inspect",725],[5,"Interleave",726],[5,"InterleaveShortest",727],[5,"Intersperse",728],[17,"Iter"],[1,"tuple"],[10,"FnOnce",700],[5,"Map",729],[5,"MapInit",730],[5,"MapWith",730],[10,"Ord",691],[5,"PanicFuse",731],[5,"ChunkByMut",732],[5,"ChunksExactMut",733],[5,"ChunksMut",733],[10,"IntoParallelRefIterator",314,702],[10,"IntoParallelRefMutIterator",314,702],[5,"RChunksExactMut",734],[5,"RChunksMut",734],[5,"SplitInclusiveMut",704],[5,"SplitMut",704],[10,"Default",735],[10,"ParallelExtend",702],[6,"Either",736],[5,"Positions",737],[10,"Product",738],[5,"Rev",739],[5,"Skip",740],[5,"SkipAny",741],[5,"SkipAnyWhile",742],[5,"BroadcastContext",743],[5,"StepBy",744],[10,"Sum",738],[5,"Take",745],[5,"TakeAny",746],[5,"TakeAnyWhile",747],[5,"TryFold",748],[10,"Try",749],[10,"TryFoldAndReduce",314],[5,"TryFoldWith",748],[5,"Update",750],[5,"WhileSome",751],[5,"MaxLen",752],[5,"MinLen",752],[10,"ProducerCallback",712],[5,"Zip",753],[5,"ZipEq",754],[5,"AssemblyMid",458],[5,"ArgumentMid",458],[5,"Argument",518],[5,"HasCurve",544],[5,"HasMsmEngine",544],[5,"PlonkEngineConfig",544],[5,"PlonkEngine",544],[10,"CurveAffine",755],[10,"MsmAccel",680],[5,"H2cEngine",544],[5,"NoCurve",544],[5,"NoMsmEngine",544],[17,"CoeffsDescriptor"],[17,"BaseDescriptor"],[8,"ExpressionMid",10],[8,"GateMid",10],[8,"ArgumentMid",290],[8,"ArgumentMid",518],[5,"H2cMsmCoeffsDesc",544],[5,"H2cMsmBaseDesc",544]],"r":[[314,702],[315,702],[316,702],[317,702],[325,702],[326,704],[327,721],[345,756],[383,757],[426,721]],"b":[[123,"impl-Debug-for-VarMid"],[124,"impl-Display-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":"OzAAAAEAAMYBMgAAAAkAFAAAABcAAAAdAAAAIAAAACIAEwA3ABcAUgAzAJAABACWAAAAmAAJAKwAAQCvAAwAvQAAAL8AAQDCAAAAxAArAPEACgACAQUADAEDABEBAAAUAQAAFgEKACIBAAAkAQgALgECADIBCABJAQAATQEBAFsBAQBfAQAAbgEAAHkBAAC8AQEAwAEAAMQBAADMAQgA1gEIAOEBAQDlAQkA8AEEAPYBBAD8AQEAAAIAAAICBAAIAggAEgICABYCSABoAgoAfAI1AA=="}],\ +["halo2_proofs",{"t":"PPPGCNNCNNNNCNNNENNCCNCNNNNRRRTKKRKTRRTMMMMMNMMMMMMMNNMMHNNMNNMMFFKRKRFFFRFFFNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNCNNFFNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNCNNNNNNNNPPPGFPPGPPGPFPPPPPPGNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOGFPPPFFFFFOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNHHNONNNNNNNONNNNNNNNOOOOOONOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPGGKPPPFPKFPPKRPFPFFGGGGFFPPFKRPFPPPPPPPPPPPRKPFPPFFPPPFPFPPFFPNNNNNNNNNNNNONMNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNMNNMNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONMNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHNNNNOONNNNNNNNNNNNNNNNNONONONONNNNNNNONNNNHMNNMNNMNNNNNNNNMNNNNNNONNNNONNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNMNNOOFRFKNNNNNNNNNNNCNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNCNCNNNMNNNNNMNNNNNNNNNNNNFTKRRKRRKKRKRKTTRKNNNMMMNNMNNMMNMNNNMNMNMNNNNMNNNMMMMNMMMMMNNNNMNMCCCCFFINNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNCCCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFKRKKKKKNNNNNNNNNNNNNMNNMNNNNNNNNNNNNMNNNNNNNMNMMNNNNNNNNMNMNMNMNNNNNNNNNNNNNNNNNNMNMN","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","IPA","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","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","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","Output","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","ipa","k","kzg","l_i_range","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","QUERY_INSTANCE","QUERY_INSTANCE","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","IPACommitmentScheme","ParamsIPA","ParamsVerifierIPA","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","commit","commit_lagrange","create_proof_with_engine","deref","deref","deref_mut","deref_mut","downsize","drop","drop","empty_msm","fmt","fmt","from","from","init","init","into","into","k","n","new","new_params","read","read_params","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","write","MSMIPA","add_constant_term","add_msm","add_msm","add_to_g_scalars","add_to_u_scalar","add_to_w_scalar","append_term","bases","borrow","borrow_mut","check","clone","clone_into","deref","deref_mut","drop","eval","fmt","from","init","into","new","scalars","scale","to_owned","try_from","try_into","type_id","vzip","ProverIPA","VerifierIPA","borrow","borrow","borrow_mut","borrow_mut","create_proof_with_engine","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new","new","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","Accumulator","AccumulatorStrategy","GuardIPA","SingleStrategy","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","compute_g","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","finalize","finalize","fmt","fmt","fmt","fmt","from","from","from","from","g","init","init","init","init","into","into","into","into","new","new","process","process","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u_packed","use_challenges","use_g","vzip","vzip","vzip","vzip","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"],[711,"halo2_proofs::dev::metadata"],[829,"halo2_proofs::plonk"],[1476,"halo2_proofs::plonk::ErrorBack"],[1477,"halo2_proofs::plonk::ErrorFront"],[1478,"halo2_proofs::poly"],[1550,"halo2_proofs::poly::commitment"],[1616,"halo2_proofs::poly::ipa"],[1620,"halo2_proofs::poly::ipa::commitment"],[1665,"halo2_proofs::poly::ipa::msm"],[1695,"halo2_proofs::poly::ipa::multiopen"],[1727,"halo2_proofs::poly::ipa::strategy"],[1800,"halo2_proofs::poly::kzg"],[1804,"halo2_proofs::poly::kzg::commitment"],[1877,"halo2_proofs::poly::kzg::msm"],[1926,"halo2_proofs::poly::kzg::multiopen"],[1991,"halo2_proofs::poly::kzg::strategy"],[2051,"halo2_proofs::transcript"],[2139,"halo2_backend::helpers"],[2140,"core::fmt"],[2141,"core::result"],[2142,"core::any"],[2143,"pasta_curves::arithmetic::curves"],[2144,"subtle"],[2145,"ff"],[2146,"core::cmp"],[2147,"core::ops::arith"],[2148,"core::ops::function"],[2149,"alloc::boxed"],[2150,"core::marker"],[2151,"core::clone"],[2152,"core::convert"],[2153,"rand_core"],[2154,"halo2_frontend::circuit::value"],[2155,"halo2_frontend::plonk::assigned"],[2156,"halo2_frontend::circuit"],[2157,"halo2_frontend::plonk::circuit"],[2158,"halo2_frontend::plonk::circuit::expression"],[2159,"alloc::string"],[2160,"core::borrow"],[2161,"halo2_frontend::circuit::floor_planner::single_pass"],[2162,"halo2_frontend::circuit::layouter"],[2163,"halo2_frontend::circuit::table_layouter"],[2164,"core::iter::traits::collect"],[2165,"halo2_middleware::circuit"],[2166,"core::option"],[2167,"alloc::vec"],[2168,"halo2_frontend::circuit::floor_planner::v1"],[2169,"halo2_frontend::dev"],[2170,"core::iter::traits::iterator"],[2171,"halo2_frontend::dev::failure"],[2172,"halo2_frontend::plonk::circuit::constraint_system"],[2173,"halo2_frontend::dev::graph::layout"],[2174,"plotters::coord"],[2175,"plotters::drawing::area"],[2176,"plotters_backend"],[2177,"core::ops::range"],[2178,"halo2_frontend::dev::cost_model"],[2179,"serde::de"],[2180,"serde::ser"],[2181,"halo2_frontend::dev::metadata"],[2182,"std::collections::hash::map"],[2183,"core::hash"],[2184,"halo2_middleware::poly"],[2185,"halo2_backend::plonk"],[2186,"halo2_proofs::plonk::error"],[2187,"halo2_backend::transcript"],[2188,"halo2_middleware::zal::impls"],[2189,"halo2_middleware::zal::traits"],[2190,"std::io::error"],[2191,"halo2_backend::plonk::circuit"],[2192,"halo2_backend::poly::domain"],[2193,"halo2_backend::poly::commitment"],[2194,"halo2_frontend::plonk::lookup"],[2195,"core::default"],[2196,"halo2_frontend::plonk::permutation"],[2197,"halo2_frontend::plonk::circuit::expression::sealed"],[2198,"std::io"],[2199,"halo2_frontend::plonk::shuffle"],[2200,"core::error"],[2201,"halo2_backend::poly::strategy"],[2202,"halo2_backend::poly"],[2203,"halo2_backend::poly::query"],[2204,"halo2_backend::poly::ipa::commitment"],[2205,"halo2_backend::poly::ipa::msm"],[2206,"halo2_backend::poly::ipa::strategy"],[2207,"halo2_backend::poly::ipa::multiopen::prover"],[2208,"halo2_backend::poly::ipa::multiopen::verifier"],[2209,"halo2_backend::poly::kzg::commitment"],[2210,"pairing"],[2211,"halo2_backend::poly::kzg::msm"],[2212,"halo2_backend::poly::kzg::multiopen::gwc::prover"],[2213,"halo2_backend::poly::kzg::multiopen::shplonk::prover"],[2214,"halo2_backend::poly::kzg::multiopen::gwc::verifier"],[2215,"halo2_backend::poly::kzg::multiopen::shplonk::verifier"],[2216,"halo2_backend::poly::kzg::strategy"],[2217,"halo2_backend::arithmetic"],[2218,"halo2_frontend::circuit::floor_planner"],[2219,"halo2_frontend::dev::graph"],[2220,"halo2_proofs::plonk::prover"],[2221,"halo2_proofs::plonk::keygen"],[2222,"halo2_backend::plonk::verifier"],[2223,"halo2_backend::poly::ipa"],[2224,"halo2_backend::poly::ipa::commitment::prover"],[2225,"halo2_backend::poly::ipa::commitment::verifier"],[2226,"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,217,217,218,219,220,221,222,219,223,220,221,220,221,219,224,225,222,224,224,225,220,220,221,221,225,0,0,108,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,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,38,120,0,0,120,120,40,0,40,0,139,38,0,0,38,38,38,38,38,38,38,120,38,38,92,92,92,124,92,76,92,92,92,76,76,92,131,124,71,139,125,126,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,124,92,124,71,125,126,38,92,43,63,128,50,70,120,42,51,48,124,71,125,126,38,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,38,43,92,92,120,38,131,124,71,139,125,126,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,92,38,131,124,71,139,125,126,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,63,92,92,76,76,71,38,43,63,128,50,70,120,42,51,48,38,120,120,76,63,70,76,92,125,92,131,131,124,71,139,139,125,126,38,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,38,38,38,38,38,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,38,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,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,140,38,63,38,0,0,0,0,92,92,92,92,124,124,92,38,38,38,38,120,120,38,38,38,38,120,43,43,139,40,92,124,92,124,92,124,92,124,92,38,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,38,120,38,38,38,38,38,38,120,38,38,120,156,78,125,126,124,71,125,126,38,92,43,63,128,50,70,120,42,51,48,141,142,143,131,139,40,125,131,124,71,139,125,126,38,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,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,131,124,71,139,125,126,38,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,38,140,92,130,43,141,142,143,63,128,50,70,120,42,51,48,40,140,78,125,126,226,227,0,167,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,167,123,149,123,149,149,149,149,149,123,123,149,123,149,0,149,0,149,149,149,167,149,123,123,149,123,167,149,149,123,149,123,149,123,149,123,149,123,149,0,181,0,165,166,0,181,166,0,0,165,0,165,0,178,166,165,0,175,175,175,176,176,176,175,175,176,175,175,177,152,178,178,175,175,175,152,175,181,175,176,175,175,175,175,152,175,175,175,152,177,178,166,175,165,152,165,176,176,175,175,175,175,166,175,152,0,0,0,0,0,0,0,187,189,187,189,187,187,187,187,0,187,189,187,189,187,187,189,187,187,189,187,189,187,189,187,189,187,187,187,189,187,189,187,187,189,187,189,187,189,0,187,189,187,0,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,0,0,191,192,191,192,191,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,191,192,192,191,192,0,0,0,0,190,193,194,195,190,193,194,195,190,193,190,193,190,190,193,194,195,190,193,194,195,190,193,194,195,194,195,190,193,194,195,190,193,194,195,193,190,193,194,195,190,193,194,195,194,195,194,195,190,193,190,193,194,195,190,193,194,195,190,193,194,195,193,190,190,190,193,194,195,0,0,0,0,0,0,0,196,198,200,196,198,200,196,198,196,198,196,196,198,196,198,200,196,198,200,196,198,196,198,200,196,198,196,198,200,196,198,200,196,196,198,200,196,198,200,196,198,196,198,196,200,196,198,196,198,200,196,196,198,196,198,200,196,198,200,196,198,200,196,196,198,200,196,198,196,198,0,0,199,201,199,199,199,201,199,201,199,201,199,201,199,201,199,199,201,199,201,199,201,199,201,199,199,201,199,201,199,201,199,201,199,201,199,199,201,199,201,199,201,199,201,199,201,199,201,0,0,0,0,203,205,204,206,203,205,204,206,203,204,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,206,203,205,204,204,206,203,205,204,206,203,205,204,206,203,205,204,206,205,206,203,205,204,206,0,0,0,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,208,209,207,208,209,207,208,209,207,208,209,207,208,209,208,208,209,209,208,209,207,208,209,207,208,209,207,208,209,207,208,209,207,208,209,208,0,0,0,0,132,0,0,0,0,0,132,212,213,214,212,213,214,212,213,214,212,213,214,151,212,213,151,212,213,212,213,214,214,212,213,214,212,213,214,215,213,212,213,214,212,213,214,132,214,216,215,212,212,213,213,214,212,213,214,132,214,168,212,168,212,151,212,213,151,212,213,214,212,213,214,212,213,214,212,213,214,212,213,214,133,213,133,213],"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}}}}?`````````````{{{Dh{e}}{Dh{e}}}{}{}{{Dj{}{{Bj{c}}}}}}{{{Dh{{b{{Dl{c}}}}}}{Dh{c}}}{}Bh}{{{Dh{{b{c}}}}{Dh{c}}}{}{}}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Dj{b}{{Bj{}}}}}{}}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}{}{}}{{{Dh{{Dl{c}}}}{Dh{c}}}{}Bh}{{{b{{Dh{c}}}}{Dh{c}}}{}{}}{{{Dh{{Dl{c}}}}c}{}Bh}{{{Dh{c}}{b{{Dh{c}}}}}{}{{Dj{b}{{Bj{}}}}}{}}{{{Dh{{b{{Dl{c}}}}}}c}{}Bh}{{{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{{Dl{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{c}}}}}{{Dh{c}}}D`}{{{Dh{{b{dc}}}}}{{Dh{c}}}D`}`{{{b{{Gf{}{{Gb{c}}{Gd{e}}}}}}}{{b{c}}}{GhD`}{GhD`}}{{{b{d{Eb{c}}}}Fne}{{A`{hE`}}}Bh{{El{{Dl{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{dc}}}}}{{Dh{c}}}Gj}{{{Dh{{b{c}}}}}{{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{{Dl{c}}}}}Bh{{Gl{{Dl{c}}}}}}{{}{{Dh{c}}}{}}{j{{b{c}}}{}}0{{{b{G`}}}b}111111{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{{Dl{c}}}}}{{Dh{c}}}Bh}{{{Eh{{Dl{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{{Dl{c}}}}}Bh}1{jG`}22{{{b{dHb}}}{{Eb{c}}}Bh}33{{{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{{Dl{c}}}}}Bh{{El{{Dl{c}}}}}}{{{b{{Dh{e}}}}}{{Dh{{Dl{c}}}}}Bh{{Gl{{Dl{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{c}}}}{Dh{c}}}{}{}}{{{Dh{c}}{Dh{{b{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{Dh{c}}{b{{Dh{c}}}}}{}{{Bl{b}{{Bj{}}}}}{}}{{{b{{Dh{c}}}}{b{{Dh{c}}}}}{}{}}{{{Dh{{b{{Dl{c}}}}}}c}{}Bh}{{{Dh{{Dl{c}}}}{Dh{c}}}{}Bh}{{{Dh{{Dl{c}}}}c}{}Bh}{{{Dh{{b{{Dl{c}}}}}}{Dh{c}}}{}Bh}{{{Dh{e}}{Dh{e}}}{}{}{{Bl{}{{Bj{c}}}}}}{{{b{{Dh{c}}}}{Dh{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{{Dl{c}}}}}Bh{{Gl{{Dl{c}}}}}}8><{{{Dh{c}}{Dh{{b{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}{{{Dh{{b{c}}}}{Dh{c}}}{}{}}={{{Dh{c}}{b{{Dh{c}}}}}{}{{Id{b}{{Bj{}}}}}{}}{{{Dh{e}}{Dh{e}}}{}{}{{Id{}{{Bj{c}}}}}}>{{{Dh{{b{{Dl{c}}}}}}c}{}Bh}{{{b{de}}{b{g}}{If{{Ef{Ff}}}}}{{A`{hE`}}}Bh{{Ih{c}}Ij}{{Il{c}}}}{{{b{{Dh{c}}}}}{{Dh{{Dl{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{{Dl{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{{Dl{c}}}}}{{Dn{}{{Bj{{Dh{i}}}}}}}}{{{b{d{Jj{c}}}}g{Ef{Ff}}jk}{{A`{hE`}}}Bh{{El{Ej}}}{{Dn{}{{Bj{e}}}}}{{El{{Dl{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{{Dl{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{{{Ef{Hn}}}Mn}{cc{}}{{{Ch{MnNh}}}N`}{NjN`}{{{Ch{cMnNh}}}N`{{Dd{Bn}}}}3{{{Ch{jc}}}Nb{{Dd{Bn}}}}4{{{Ch{Nbjc}}}Nd{{Dd{Bn}}}}5{{{Ch{j{b{Bn}}{Nl{MnEj}}}}}Nf}{{{Ch{j{b{Bn}}}}}Nf}{{{Ch{jEj{Nl{MnEj}}}}}Nf}8{{{Ch{jEj}}}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`````````````````````````````````````````````````````````````````{{{Dl{c}}c}{{Dl{c}}}Bh}{{{b{{Dl{c}}}}{b{{Dl{c}}}}}{{Dl{c}}}Bh}{{{b{{Dl{c}}}}c}{{Dl{c}}}Bh}{{{b{{Dl{c}}}}{Dl{c}}}{{Dl{c}}}Bh}{{{Dl{c}}{b{{Dl{c}}}}}{{Dl{c}}}Bh}{{{Dl{c}}{Dl{c}}}{{Dl{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dl{c}}}}{Dl{c}}}hBh}{{{b{d{Dl{c}}}}{b{{Dl{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{{Dl{g}}}}}{{Dn{}{{Bj{{Dh{i}}}}}}}}{{{b{dIh}}e{Ef{Ff}}jk}{{A`{hE`}}}{{El{Ej}}}{{Dn{}{{Bj{c}}}}}Bh{{El{{Dl{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{{Dl{c}}}}}{{Dl{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{{Dl{c}}}}}{{Dl{c}}}Bh}{{{b{{Ef{c}}}}}{{O`{e}}}OnBh}{{}{{Kh{c}}}Bh}{{{b{{Kh{c}}}}}jBh}<{{{b{{Dl{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{{Dl{c}}}}{b{{Dl{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}{{{Dl{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{{Dl{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{{Dl{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}{AAfA@f}{cc{}}{{{Kh{c}}}{{Oh{c}}}Bh}1{EdHn}{FfHn}3{F`Hn}4{AB`AAf}55{c{{Dl{c}}}Bh}{{{Ch{cc}}}{{Dl{c}}}Bh}{{{b{c}}}{{Dl{c}}}Bh}{{{b{{Dl{c}}}}}{{Dl{c}}}Bh}9999{{{Ef{Ed}}}{{Ef{Hn}}}}{{{Ef{F`}}}{{Ef{Hn}}}}{Mn{{Ef{Hn}}}}{{{Ef{Ff}}}{{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{{Dl{c}}}}}{{Dl{c}}}Bh}{{{b{Gn}}}Cf}{{{b{{Dl{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}{{{b{{Dl{c}}}}c}{{Dl{c}}}Bh}{{{Dl{c}}{b{{Dl{c}}}}}{{Dl{c}}}Bh}{{{Dl{c}}c}{{Dl{c}}}Bh}{{{Dl{c}}{Dl{c}}}{{Dl{c}}}Bh}{{{O`{c}}c}{{O`{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dl{c}}}}{Dl{c}}}hBh}{{{b{d{Dl{c}}}}{b{{Dl{c}}}}}hBh}{{{b{{Dl{c}}}}}{}Bh}{{{Dl{c}}}{}Bh}{{{O`{c}}}{}Bh}{{jc}{{Ef{c}}}On}{{{b{{Ef{c}}}}}{{O`{e}}}OnBh}{KnAAf}{KnE`}?`?`?`?`?{{{b{{Dl{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{{Dl{c}}}}}{{Dl{c}}}Bh}{{{O`{c}}}{{O`{c}}}Bh}{{{Dl{c}}c}{{Dl{c}}}Bh}{{{Dl{c}}{b{{Dl{c}}}}}{{Dl{c}}}Bh}{{{Dl{c}}{Dl{c}}}{{Dl{c}}}Bh}{{{b{{Dl{c}}}}c}{{Dl{c}}}Bh}{{{b{{Dl{c}}}}{Dl{c}}}{{Dl{c}}}Bh}{{{b{{Dl{c}}}}{b{{Dl{c}}}}}{{Dl{c}}}Bh}{{{O`{c}}{O`{c}}}{{O`{c}}}Bh}{{{b{d{Dl{c}}}}{Dl{c}}}hBh}{{{b{d{Dl{c}}}}{b{{Dl{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}}}{}{}}000000000{{{Ef{Hn}}}{{A`{{Ef{Ed}}}}}}1{{{Ef{Hn}}}{{A`{{Ef{Ff}}}}}}{{{Ef{Hn}}}{{A`{{Ef{F`}}}}}}33333333333333333333333333333333333{{{b{c}}}Ab{}}0000000000000000000000{{{b{d{Kh{c}}}}}{{Ef{Ed}}}Bh}{{{b{d{Kh{c}}}}e}{{Ef{Ed}}}BhOb}`{{b{b{Oj}}g{b{{Cj{{If{If}}}}}}{b{dk}}}{{A`{AAf}}}ADj{{ADl{c}}}{{ADn{ce}}}A@h{{AE`{i}}}}{{{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`}}}ABfAEb}{{{b{{Ol{c}}}}{b{de}}f}{{A`{hAB`}}}ABfAEb}``````{{{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}}}{{AEf{cAEd}}}B`}{{{b{{ABj{c}}}}{AEf{cAEd}}}{{AEf{cAEh}}}B`}`{{{b{{ABj{c}}}}c}{{AEf{cAEh}}}B`}{{{b{{ABj{c}}}}c}{{AEf{cAEj}}}B`}{{}Of}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{{{b{{ABj{c}}}}{AEf{cAEh}}}{{AEf{cAEh}}}B`}{jh}0{{{b{{ABj{c}}}}}{{AEf{cAEd}}}B`}{{{b{{ABj{c}}}}}{{AEf{cAEh}}}B`}{{{b{{ABj{c}}}}}{{AEf{cAEj}}}B`}{{{b{Of}}{b{Of}}}Cf}{{{b{{ABj{c}}}}}KnB`}{{{b{{ABj{c}}}}}jB`}{{{b{{ABj{c}}}}{AEf{cAEh}}}{{If{c}}}B`}{{{ADn{}{{Bj{c}}}}}Cf{}}{{{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}}}}{If{c}}}{{AEf{cAEj}}}B`}{{{b{{ABj{c}}}}{AEf{cAEj}}}{{AEf{cAEd}}}B`}{b{{ADn{}{{Bj{c}}}}}{}}{{KnKn}{{ABj{c}}}B`}{{}Of}{{{b{Of}}{b{Of}}}{{Ib{Mb}}}}{{{b{{ABj{c}}}}}{{AEl{c}}}B`}2{{{ADn{}{{Bj{c}}}}e}{{A`{cAAf}}}{}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{{ABj{c}}}}{b{{AEf{cAEh}}}}Of}{{AEf{cAEh}}}B`}{{{b{{ABj{c}}}}cOf}cB`}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0>>``````````````````{{{AEn{c}}{AEn{c}}}{{AEn{c}}}Bh}{{{b{d{AEn{c}}}}{AEn{c}}}hBh}{{{b{d{AEn{c}}}}c}hBh}{{{b{dAF`}}{b{AF`}}}h}{{{b{dAF`}}}h}{{{b{AF`}}}If}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{AF`}}{b{e}}}CfAj{{A@n{c}}}}{{{b{{AEn{c}}}}}{{AEn{c}}}D`}{{{b{c}}{b{de}}}h{}{}}{{{b{AFb}}{b{e}}{b{{AEf{AEd}}}}AEn}{}Aj{{A@n{c}}}}{{{b{AC`}}{b{e}}{b{{AEf{AEj}}}}AEn}{}Aj{{A@n{c}}}}{{{b{AFd}}c{b{dg}}i}{{A`{hAB`}}}DfA@h{{A@j{e}}}{{Hh{}{{Hf{AFf}}}}D`}}{{{b{AFd}}{b{c}}e{b{di}}k}{{A`{hAB`}}}A@nDfA@h{{A@j{g}}}{{Hh{}{{Hf{AFf}}}}D`}}{{}{{AEn{c}}}Bh}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{dAC`}}Kn}h}{jh}{{{b{{AFj{}{{AFh{c}}}}}}}c{{AF`{e}}}Aj}{{{b{{AEn{c}}}}{b{{AEn{c}}}}}CfKl}{{{b{AF`}}{b{e}}}{}Aj{{A@n{c}}}}{{{b{{AEn{c}}}}{b{dl}}}{{A`{hn}}}Gh}{cc{}}{{}j}{ce{}{}}{{{b{AC`}}}Kn}{{{AEn{c}}{AEn{c}}}{{AEn{c}}}Bh}{{{b{d{AEn{c}}}}{AEn{c}}}hBh}{{{b{d{AEn{c}}}}c}hBh}{{{b{AC`}}}Db}{KnAFb}{bAFd}{{}{{ADl{}{{AFl{c}}{AFn{g}}}}}{{AG`{e}{{AFn{g}}}}}ADj{}}{{{b{dc}}}{{AEn{e}}}DfBh}{Knc{}}{{{b{dc}}}{{A`{AC`AB`}}}ADd}{{{b{dc}}}{{A`{eAB`}}}ADd{}}{{{b{AF`}}}If}{{{b{dAF`}}}h}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}{{{b{{ADl{}{{AFl{c}}{AFn{g}}}}}}{b{dk}}mg}{{A`{cAGb}}}{{AG`{e}{{AFn{g}}}}}ADj{}A@h{{AE`{i}}}{{Hh{}{{Hf{AGd}}}}D`}}{ce{}{}}{{{b{AC`}}{b{dc}}}{{A`{hAB`}}}AEb}```````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AGf{c}}}}}{{AGf{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}{{{b{{AGf{c}}}}{b{e}}{b{{AEf{AEd}}}}AEn}{}Aj{{A@n{c}}}}{{{b{{AGf{c}}}}{b{e}}{b{{AEf{AEj}}}}AEn}{}Aj{{A@n{c}}}}{{{b{e}}{b{{AGf{c}}}}g{b{dk}}{b{{AEf{AEd}}}}AEn}{{A`{hAB`}}}Aj{{A@n{c}}}Df{{A@h{c}}}{{A@j{ci}}}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{{{b{d{AGf{c}}}}Kn}hAj}{jh}0{{{b{{AGf{c}}}}}{{AGh{c}}}Aj}{{{b{{AGf{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AGj{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}0{{}j}0{ce{}{}}0{{{b{{AGf{c}}}}}KnAj}{{{b{{AGf{c}}}}}DbAj}{Kn{{AGf{c}}}Aj}{Kn}{{{b{dc}}}{{A`{{AGf{e}}AB`}}}ADdAj}{{{b{dc}}}{{A`{AB`}}}ADd}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}0{{{AGh{c}}{b{dg}}}{{A`{{AGl{c}}AGb}}}Aj{{A@h{c}}}{{AE`{ce}}}}::{{{b{{AGf{c}}}}{b{de}}}{{A`{hAB`}}}AjAEb}`{{{b{d{AGh{c}}}}}hAj}{{{b{d{AGh{c}}}}{b{{AGh{c}}}}}hAj}0{{{b{d{AGh{c}}}}{b{Cj}}}hAj}222{{{b{{AGh{c}}}}}IfAj}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{AGh{c}}}}{b{e}}}CfAj{{A@n{c}}}}{{{b{{AGh{c}}}}}{{AGh{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{{AGh{c}}}}{b{e}}}{}Aj{{A@n{c}}}}{{{b{{AGh{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}{{}j}{ce{}{}}{{{b{{AGf{c}}}}}{{AGh{c}}}Aj}>{{{b{d{AGh{c}}}}}hAj}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}5``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AGn{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}Aj{{A@n{c}}}Df{{A@h{c}}}{{A@j{ci}}}{{Hh{}{{Hf{{AFf{c}}}}}}D`}}??>>=={{{b{{AGn{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AH`{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}<<;;::{{{b{{AGf{c}}}}}{{AGn{c}}}Aj}{{}{{AH`{c}}}Aj}888877{{{b{{AH`{c}}}}{b{dg}}i{AGh{c}}}{{A`{AGb}}}Aj{{A@h{c}}}{{AE`{ce}}}{{Hh{}{{Hf{{AGd{c{AGh{c}}}}}}}}D`}}==````77776666{{{b{{AGl{c}}}}}{{AGl{c}}}{D`Aj}}{{{b{{AHb{c}}}}}{{AHb{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}0{{{b{{AGl{c}}}}{b{e}}}cAj{{A@n{c}}}}{j{{b{c}}}{}}000{j{{b{dc}}}{}}000{jh}000{{{AHd{c}}}CfAj}{{{AHf{c}}}CfAj}{{{b{{AGl{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AHb{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AHd{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{{{b{{AHf{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}000`{{}j}000{ce{}{}}000{{{b{{AGf{c}}}}}{{AHd{c}}}Aj}{{{b{{AGf{c}}}}}{{AHf{c}}}Aj}{{{AHd{c}}e}{{A`{AAf}}}Aj{{Dn{{AGh{c}}}{{Bj{{A`{{AGl{c}}AAf}}}}}}}}{{{AHf{c}}e}{{A`{AAf}}}Aj{{Dn{{AGh{c}}}{{Bj{{A`{{AGl{c}}AAf}}}}}}}}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}0000000{{{b{c}}}Ab{}}000`{{{AGl{c}}}{{AGh{c}}}Aj}{{{AGl{c}}c}{{Ch{{AGh{c}}{AHb{c}}}}}Aj}9999```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AHh{c}}}}}{{AHh{c}}}{D`AHj}}{{{b{{AHl{c}}}}}{{AHl{c}}}{D`AHj}}{{{b{c}}{b{de}}}h{}{}}0{{{b{{AHh{c}}}}{b{e}}{b{{AEf{AEd}}}}AEn}{}AHjA@n}{{{b{{AHh{c}}}}{b{e}}{b{{AEf{AEj}}}}AEn}{}AHjA@n}{{{b{{AHl{c}}}}{b{e}}{b{{AEf{AEj}}}}AEn}{}AHjA@n}{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{{{b{d{AHh{c}}}}Kn}hAHj}{{{b{d{AHl{c}}}}Kn}hAHj}{jh}00{{{b{{AHh{c}}}}}{{AHn{c}}}AHj}{{{b{{AHl{c}}}}}{{AHn{c}}}AHj}{{{b{{AHh{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AHl{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AI`{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}00{{{b{{AHh{c}}}}KnIf{Ib{If}}}{{AHh{c}}}AHj}{{}j}00{ce{}{}}00{{{b{{AHh{c}}}}}KnAHj}{{{b{{AHl{c}}}}}KnAHj}{{{b{{AHh{c}}}}}DbAHj}{{{b{{AHl{c}}}}}DbAHj}{Kn{{AHh{c}}}AHj}{Kn}{{{b{dc}}}{{A`{{AHh{e}}AB`}}}ADdAHj}{{{b{dc}}}{{A`{{AHl{e}}AB`}}}ADdAHj}{{{b{dc}}f}{{A`{{AHh{e}}AB`}}}ADdAHj}{{{b{dc}}f}{{A`{{AHl{e}}AB`}}}ADdAHj}{{{b{dc}}}{{A`{AB`}}}ADd}{{Knc}{{AHh{e}}}DfAHj}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00{{{b{{AHh{c}}}}}{{AHl{c}}}AHj}{ce{}{}}00{{{b{{AHh{c}}}}{b{de}}}{{A`{hAB`}}}AHjAEb}{{{b{{AHl{c}}}}{b{de}}}{{A`{hAB`}}}AHjAEb}{{{b{{AHh{c}}}}{b{de}}f}{{A`{hAB`}}}AHjAEb}{{{b{{AHl{c}}}}{b{de}}f}{{A`{hAB`}}}AHjAEb}``{{{b{d{AHn{c}}}}{b{{AHn{c}}}}}hAHj}{{{b{d{AIb{c}}}}{AIb{c}}}hAId}{{{b{d{AHn{c}}}}}hAHj}{{{b{{AHn{c}}}}}IfAHj}{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{AHn{c}}}}{b{e}}}CfAHjA@n}{{{AIb{c}}{b{e}}{b{{AHl{c}}}}}CfAIdA@n}{{{b{{AHn{c}}}}}{{AHn{c}}}{D`AHj}}{{{b{{AIb{c}}}}}{{AIb{c}}}{D`AHj}}{{{b{c}}{b{de}}}h{}{}}08{{}{{AHn{c}}}{ACjAHj}}{{}{{AIb{c}}}{ACjAHj}}{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{{AHn{c}}}}{b{e}}}{}AHjA@n}{{{b{{AHn{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIb{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}0{{}j}0{ce{}{}}0{{}{{AHn{c}}}AHj}{{}{{AIb{c}}}AId}{{{b{{AHn{c}}}}}IfAHj}{{{b{d{AHn{c}}}}}hAHj}{{{b{d{AIb{c}}}}}hAId}{{{b{c}}}e{}{}}0{c{{A`{e}}}{}{}}000{{{b{c}}}Ab{}}088````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{{AIf{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AHjGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFf}}}}D`}}{{{b{{AIh{c}}}}{b{e}}g{b{dk}}m}{{A`{hAB`}}}{AHjGh}A@nDfA@h{{A@j{i}}}{{Hh{}{{Hf{AFf}}}}D`}}{j{{b{c}}}{}}000{j{{b{dc}}}{}}000{jh}000{{{b{{AIf{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIj{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIh{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AIl{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}000{{}j}000{ce{}{}}000{{{b{{AHh{c}}}}}{{AIf{c}}}{AHjGh}}{{}{{AIj{c}}}{AIdGh}}{{{b{{AHh{c}}}}}{{AIh{c}}}AHj}{{{b{{AHh{c}}}}}{{AIh{c}}}{AHjGh}}{{}{{AIl{c}}}{AIdGh}}{c{{A`{e}}}{}{}}0000000{{{b{c}}}Ab{}}000{{{b{{AIj{c}}}}{b{dg}}i{AIb{c}}}{{A`{AGb}}}{AIdGh}A@h{{AE`{e}}}{{Hh{}{{Hf{{AGd{{AHn{c}}}}}}}}D`}}{{{b{{AIl{c}}}}{b{dg}}i{AIb{c}}}{{A`{AGb}}}{AIdGh}A@h{{AE`{e}}}{{Hh{}{{Hf{{AGd{{AHn{c}}}}}}}}D`}}9999```{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AIn{c}}}}}{{AIn{c}}}{D`AId}}{{{b{{AJ`{c}}}}}{{AJ`{c}}}{D`AHj}}{{{b{{AJb{c}}}}}{{AJb{c}}}{D`AHj}}{{{b{c}}{b{de}}}h{}{}}00{j{{b{c}}}{}}00{j{{b{dc}}}{}}00{jh}00{{{AJ`{c}}}Cf{AIdGh}}{{{AJb{c}}}Cf{AIdGh}}{{{b{{AIn{c}}}}{b{dl}}}{{A`{hn}}}{GhAId}}{{{b{{AJ`{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{{{b{{AJb{c}}}}{b{dl}}}{{A`{hn}}}{GhAHj}}{cc{}}00{{}j}00{ce{}{}}00{{{b{{AHl{c}}}}}{{AJ`{c}}}{AIdGh}}{{{b{{AHl{c}}}}}{{AJ`{c}}}AId}{{{b{{AHl{c}}}}}{{AJb{c}}}{AIdGh}}0{{{AJ`{c}}e}{{A`{AAf}}}{AIdGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{AJb{c}}e}{{A`{AAf}}}{AIdGh}{{Dn{}{{Bj{{A`{AAf}}}}}}}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00888{{{AIb{c}}{b{{AHl{c}}}}}{{AJ`{c}}}AId}``````````{{{b{{A@h{}{{AJd{c}}}}}}}{{AJf{eg}}}{}Aj{}}{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{AJh{ceg}}}}}{{AJh{ceg}}}{D`ADd}{D`Aj}{D`{A@h{e}}}}{{{b{{AJj{ceg}}}}}{{AJj{ceg}}}{D`AEb}{D`Aj}{D`{A@h{e}}}}{{{b{{AJl{c}}}}}{{AJl{c}}}{D`Aj}}{{{b{c}}{b{de}}}h{}{}}00{{{b{dABn}}c}{{A`{hAB`}}}Aj}{{{b{d{AJh{ce{AJl{e}}}}}}e}{{A`{hAB`}}}ADdAj}{{{b{d{AJj{ce{AJl{e}}}}}}e}{{A`{hAB`}}}AEbAj}{{{b{dABn}}}{{A`{hAB`}}}}{{{b{d{AJh{ce{AJl{e}}}}}}}{{A`{hAB`}}}ADdAj}{{{b{d{AJj{ce{AJl{e}}}}}}}{{A`{hAB`}}}AEbAj}{j{{b{c}}}{}}0{{{b{{AJl{c}}}}}bAj}1{j{{b{dc}}}{}}00{jh}00{AJncAEb}{{{AJj{ce{AJl{e}}}}}cAEbAj}{{{b{{AJh{ceg}}}}{b{dl}}}{{A`{hn}}}{GhADd}{GhAj}{Gh{A@h{e}}}}{{{b{{AJj{ceg}}}}{b{dl}}}{{A`{hn}}}{GhAEb}{GhAj}{Gh{A@h{e}}}}{{{b{{AJl{c}}}}{b{dl}}}{{A`{hn}}}{GhAj}}{cc{}}00{{{b{{A@h{}{{AJd{c}}}}}}}{}{}}{{{b{{AJl{c}}}}}{}Aj}{cAK`ADd}{cAJnAEb}{{}j}{c{{AJh{ce{AJl{e}}}}}ADdAj}{c{{AJj{ce{AJl{e}}}}}AEbAj}22{ce{}{}}00{{{b{c}}}{{A@h{}{{AJd{c}}}}}{}}{{{b{{In{Od}}}}}{{AJl{c}}}Aj}{{{b{dAE`}}}{{A`{cAB`}}}Aj}{{{b{d{AJh{ce{AJl{e}}}}}}}{{A`{eAB`}}}ADdAj}{{{b{dAE`}}}{{A`{AB`}}}}{{{b{d{AJh{ce{AJl{e}}}}}}}{{A`{AB`}}}ADdAj}{{{b{dABn}}}eAj{{A@h{c}}}}{{{b{d{AJh{ce{AJl{e}}}}}}}{{AJl{e}}}ADdAj}{{{b{d{AJj{ce{AJl{e}}}}}}}{{AJl{e}}}AEbAj}{{{b{dABn}}}{{AJf{ce}}}Aj{}}{{{b{c}}}e{}{}}00{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00==={{{b{dA@j}}c}{{A`{hAB`}}}Aj}{{{b{d{AJj{ce{AJl{e}}}}}}e}{{A`{hAB`}}}AEbAj}{{{b{dA@j}}}{{A`{hAB`}}}}{{{b{d{AJj{ce{AJl{e}}}}}}}{{A`{hAB`}}}AEbAj}","D":"F@l","p":[[1,"reference"],[0,"mut"],[6,"SerdeFormat",0,2139],[1,"unit"],[1,"usize"],[5,"Formatter",2140],[5,"Error",2140],[6,"Result",2141],[5,"TypeId",2142],[17,"ScalarExt"],[17,"Base"],[17,"CurveExt"],[10,"CurveAffine",27,2143],[5,"Coordinates",2143],[5,"CtOption",2144],[10,"WithSmallOrderMulGroup",2145],[10,"Ord",2146],[17,"AffineExt"],[10,"CurveExt",27,2143],[10,"Field",27,2145],[17,"Output"],[10,"Mul",2147],[1,"str"],[10,"Fn",2148],[5,"Box",2149],[5,"Choice",2144],[1,"bool"],[1,"tuple"],[1,"slice"],[10,"Send",2150],[10,"Sync",2150],[10,"Clone",2151],[1,"u64"],[10,"AsRef",2152],[10,"RngCore",2153],[5,"Value",64,2154],[10,"Add",2147],[6,"Assigned",829,2155],[10,"FnOnce",2148],[6,"ErrorFront",829],[5,"Region",64,2156],[5,"Advice",829,2157],[5,"Column",829,2158],[5,"AssignedCell",64,2156],[5,"String",2159],[10,"Into",2152],[10,"FnMut",2148],[5,"Instance",829,2157],[5,"Table",64,2156],[5,"TableColumn",829,2158],[5,"Fixed",829,2157],[17,"Root"],[10,"Layouter",64,2156],[5,"NamespacedLayouter",64,2156],[5,"Cell",64,2156],[5,"RegionIndex",64,2156],[17,"Config"],[17,"Loaded"],[10,"Chip",64,2156],[10,"Debug",2140],[10,"Copy",2150],[10,"Borrow",2160],[5,"Selector",829,2158],[5,"SimpleFloorPlanner",64,2161],[10,"RegionLayouter",2162],[10,"TableLayouter",2163],[17,"Item"],[10,"IntoIterator",2164],[10,"FromIterator",2164],[5,"Challenge",829,2158],[6,"Any",829,2165],[10,"Neg",2147],[6,"Option",2166],[10,"Sub",2147],[5,"Vec",2167],[10,"Assignment",829,2157],[10,"SyncDeps",2162],[10,"Circuit",829,2157],[1,"array"],[5,"V1Pass",293,2168],[5,"V1",293,2168],[5,"SingleChipLayouter",331,2161],[5,"MeasurementPass",354,2168],[5,"AssignmentPass",354,2168],[5,"MockProver",385,2169],[6,"CellValue",385,2169],[10,"FromUniformBytes",2145],[10,"Iterator",2170],[6,"FailureLocation",385,2171],[6,"VerifyFailure",385,2171],[6,"InstanceValue",385,2169],[5,"ConstraintSystem",829,2172],[5,"CircuitLayout",385,2173],[10,"PartialEq",2146],[1,"u32"],[5,"Shift",2174],[5,"DrawingArea",2175],[6,"DrawingAreaErrorKind",2175],[10,"DrawingBackend",2176],[5,"Range",2177],[5,"Poly",567,2178],[5,"Lookup",567,2178],[5,"Permutation",567,2178],[5,"Shuffle",567,2178],[6,"Ordering",2146],[10,"Deserializer",2179],[5,"ModelCircuit",567,2178],[6,"CommitmentScheme",567,2178],[5,"CostOptions",567,2178],[10,"Serializer",2180],[5,"Column",711],[5,"VirtualCell",711,2181],[5,"Gate",711,2181],[5,"Constraint",711,2181],[5,"Region",711,2181],[1,"i32"],[5,"VirtualCell",2172],[5,"HashMap",2182],[10,"Hasher",2183],[6,"Expression",829,2158],[10,"Phase",829,2158],[1,"u8"],[5,"Rotation",1478,2184],[5,"ConstraintSystemMid",829,2165],[5,"VerifyingKey",829,2185],[5,"ProvingKey",829,2185],[10,"ColumnType",829,2157],[5,"FixedQuery",829,2158],[5,"Constraint",2172],[5,"VirtualCells",829,2172],[6,"Error",829,2186],[10,"EncodedChallenge",2051,2187],[10,"TranscriptWrite",2051,2187],[5,"PlonkEngine",2188],[10,"MsmAccel",2189],[5,"AdviceQuery",2158],[5,"InstanceQuery",2158],[8,"Result",2140],[6,"ErrorBack",829],[5,"Constraints",829,2172],[5,"FirstPhase",829,2158],[5,"SecondPhase",829,2158],[5,"ThirdPhase",829,2158],[5,"Error",2190],[5,"ChallengeMid",2165],[5,"ConstraintSystemBack",2191],[10,"SerdeCurveAffine",2139],[5,"Gate",2172],[5,"EvaluationDomain",1478,2192],[10,"Hash",2183],[10,"Transcript",2051,2187],[10,"Params",1550,2193],[5,"Argument",2194],[17,"FloorPlanner"],[17,"Params"],[10,"FloorPlanner",829,2157],[10,"Default",2195],[5,"Argument",2196],[5,"Phase",2197],[5,"PinnedVerificationKey",2185],[8,"Result",2190],[10,"Read",2198],[5,"Argument",2199],[10,"Error",2200],[10,"CommitmentScheme",1550,2193],[10,"Verifier",1550,2193],[10,"VerificationStrategy",1478,2201],[10,"TranscriptRead",2051,2187],[10,"Write",2198],[5,"Coeff",2202],[5,"Polynomial",2202],[5,"ExtendedLagrangeCoeff",2202],[5,"LagrangeCoeff",2202],[5,"PinnedEvaluationDomain",2192],[5,"Blind",1550,2193],[10,"MSM",1550,2193],[10,"ParamsProver",1550,2193],[10,"Prover",1550,2193],[5,"ProverQuery",2203],[17,"MSM"],[10,"ParamsVerifier",1550,2193],[17,"Guard"],[17,"MSMAccumulator"],[10,"Guard",2201],[6,"Error",2202],[5,"VerifierQuery",2203],[5,"ParamsIPA",1620,2204],[5,"MSMIPA",1665,2205],[5,"IPACommitmentScheme",1620,2204],[5,"GuardIPA",1727,2206],[5,"ProverIPA",1695,2207],[5,"VerifierIPA",1695,2208],[5,"Accumulator",1727,2206],[5,"AccumulatorStrategy",1727,2206],[5,"SingleStrategy",1727,2206],[5,"ParamsKZG",1804,2209],[10,"Engine",2210],[5,"ParamsVerifierKZG",1804,2209],[5,"MSMKZG",1877,2211],[5,"KZGCommitmentScheme",1804,2209],[5,"DualMSM",1877,2211],[10,"MultiMillerLoop",2210],[5,"ProverGWC",1926,2212],[5,"ProverSHPLONK",1926,2213],[5,"VerifierGWC",1926,2214],[5,"VerifierSHPLONK",1926,2215],[5,"GuardKZG",1991,2216],[5,"AccumulatorStrategy",1991,2216],[5,"SingleStrategy",1991,2216],[17,"Input"],[5,"ChallengeScalar",2187],[5,"Blake2bRead",2051,2187],[5,"Blake2bWrite",2051,2187],[5,"Challenge255",2051,2187],[10,"TranscriptWriterBuffer",2051,2187],[10,"TranscriptReadBuffer",2051,2187],[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,2139],[31,2143],[32,2143],[34,2145],[56,2217],[64,2156],[65,2156],[66,2156],[68,2156],[70,2156],[71,2156],[72,2156],[74,2161],[75,2156],[76,2154],[170,2156],[293,2168],[294,2168],[320,2218],[328,2218],[331,2161],[332,2161],[354,2168],[355,2168],[356,2168],[357,2168],[376,2168],[388,2169],[389,2173],[392,2171],[395,2169],[397,2169],[404,2171],[425,2219],[435,2169],[497,2169],[567,2178],[568,2178],[572,2178],[573,2178],[574,2178],[575,2178],[576,2178],[643,2178],[644,2178],[712,2181],[713,2181],[714,2181],[715,2181],[829,2157],[832,2165],[833,2155],[834,2157],[838,2158],[840,2157],[841,2158],[844,2157],[847,2172],[849,2165],[850,2172],[851,2186],[854,2158],[855,2158],[856,2157],[859,2158],[860,2157],[863,2157],[876,2158],[878,2185],[881,2158],[882,2158],[886,2158],[888,2158],[891,2185],[892,2172],[1009,2220],[1010,2220],[1258,2221],[1259,2221],[1260,2221],[1261,2221],[1447,2222],[1478,2192],[1480,2184],[1481,2201],[1493,2202],[1525,2202],[1527,2202],[1550,2193],[1552,2193],[1555,2193],[1558,2193],[1559,2193],[1561,2193],[1563,2193],[1567,2193],[1616,2223],[1617,2223],[1618,2223],[1619,2223],[1620,2204],[1621,2204],[1622,2204],[1631,2224],[1661,2225],[1665,2205],[1695,2207],[1696,2208],[1727,2206],[1728,2206],[1729,2206],[1730,2206],[1800,2226],[1801,2226],[1802,2226],[1803,2226],[1804,2209],[1805,2209],[1806,2209],[1877,2211],[1878,2211],[1926,2212],[1927,2213],[1928,2214],[1929,2215],[1991,2216],[1992,2216],[1993,2216],[2051,2187],[2052,2187],[2053,2187],[2054,2187],[2056,2187],[2057,2187],[2058,2187],[2059,2187],[2060,2187]],"b":[[77,"impl-Add-for-Value%3CV%3E"],[78,"impl-Add%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[79,"impl-Add%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[80,"impl-Add%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[81,"impl-Add-for-%26Value%3CV%3E"],[82,"impl-Add%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[83,"impl-Add%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[84,"impl-Add%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[85,"impl-Add%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[86,"impl-Add%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[126,"impl-Value%3C%26V%3E"],[127,"impl-Value%3C%26mut+V%3E"],[134,"impl-Value%3C%26mut+V%3E"],[135,"impl-Value%3C%26V%3E"],[218,"impl-Mul%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[219,"impl-Mul%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[220,"impl-Mul%3C%26Value%3CV%3E%3E-for-Value%3CV%3E"],[221,"impl-Mul-for-%26Value%3CV%3E"],[222,"impl-Mul%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[223,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[224,"impl-Mul%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[225,"impl-Mul%3CValue%3CF%3E%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[226,"impl-Mul-for-Value%3CV%3E"],[227,"impl-Mul%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[238,"impl-Sub%3CValue%3CV%3E%3E-for-%26Value%3CV%3E"],[239,"impl-Sub-for-%26Value%3CV%3E"],[240,"impl-Sub%3CValue%3CF%3E%3E-for-Value%3CAssigned%3CF%3E%3E"],[241,"impl-Sub%3CValue%3C%26V%3E%3E-for-Value%3CV%3E"],[242,"impl-Sub%3CValue%3CV%3E%3E-for-Value%3C%26V%3E"],[243,"impl-Sub%3CF%3E-for-Value%3CAssigned%3CF%3E%3E"],[244,"impl-Sub%3C%26Value%3CV%3E%3E-for-Value%3CV%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%3CF%3E-for-Value%3C%26Assigned%3CF%3E%3E"],[467,"impl-Debug-for-FailureLocation"],[468,"impl-Display-for-FailureLocation"],[469,"impl-Display-for-VerifyFailure"],[470,"impl-Debug-for-VerifyFailure"],[759,"impl-Display-for-ColumnMid"],[760,"impl-Debug-for-ColumnMid"],[761,"impl-Display-for-VirtualCell"],[762,"impl-Debug-for-VirtualCell"],[763,"impl-Debug-for-Gate"],[764,"impl-Display-for-Gate"],[765,"impl-Debug-for-Constraint"],[766,"impl-Display-for-Constraint"],[767,"impl-Display-for-Region"],[768,"impl-Debug-for-Region"],[771,"impl-From%3C(ColumnMid,+i32)%3E-for-VirtualCell"],[772,"impl-From%3CVirtualCell%3E-for-VirtualCell"],[773,"impl-From%3C(S,+ColumnMid,+i32)%3E-for-VirtualCell"],[779,"impl-From%3C(usize,+%26str,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[780,"impl-From%3C(usize,+%26str)%3E-for-Region"],[781,"impl-From%3C(usize,+String,+HashMap%3CColumnMid,+String%3E)%3E-for-Region"],[783,"impl-From%3C(usize,+String)%3E-for-Region"],[894,"impl-Add%3CF%3E-for-Assigned%3CF%3E"],[895,"impl-Add%3C%26Assigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[896,"impl-Add%3CF%3E-for-%26Assigned%3CF%3E"],[897,"impl-Add%3CAssigned%3CF%3E%3E-for-%26Assigned%3CF%3E"],[898,"impl-Add%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[899,"impl-Add-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-Display-for-Error"],[1115,"impl-Debug-for-Error"],[1118,"impl-Display-for-Error"],[1119,"impl-Debug-for-Error"],[1138,"impl-Display-for-Error"],[1139,"impl-Debug-for-Error"],[1140,"impl-From%3CError%3E-for-Error"],[1141,"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"],[1153,"impl-From%3CF%3E-for-Assigned%3CF%3E"],[1154,"impl-From%3C(F,+F)%3E-for-Assigned%3CF%3E"],[1155,"impl-From%3C%26F%3E-for-Assigned%3CF%3E"],[1156,"impl-From%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1161,"impl-From%3CColumn%3CAdvice%3E%3E-for-Column%3CAny%3E"],[1162,"impl-From%3CColumn%3CInstance%3E%3E-for-Column%3CAny%3E"],[1163,"impl-From%3CColumnMid%3E-for-Column%3CAny%3E"],[1164,"impl-From%3CColumn%3CFixed%3E%3E-for-Column%3CAny%3E"],[1269,"impl-Mul%3CF%3E-for-%26Assigned%3CF%3E"],[1270,"impl-Mul%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1271,"impl-Mul%3CF%3E-for-Assigned%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-%26Assigned%3CF%3E"],[1278,"impl-Neg-for-Assigned%3CF%3E"],[1336,"impl-Sub%3CF%3E-for-Assigned%3CF%3E"],[1337,"impl-Sub%3C%26Assigned%3CF%3E%3E-for-Assigned%3CF%3E"],[1338,"impl-Sub-for-Assigned%3CF%3E"],[1339,"impl-Sub%3CF%3E-for-%26Assigned%3CF%3E"],[1340,"impl-Sub%3CAssigned%3CF%3E%3E-for-%26Assigned%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"],[1382,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CAdvice%3E"],[1384,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CFixed%3E"],[1385,"impl-TryFrom%3CColumn%3CAny%3E%3E-for-Column%3CInstance%3E"],[1569,"impl-AddAssign-for-Blind%3CF%3E"],[1570,"impl-AddAssign%3CF%3E-for-Blind%3CF%3E"],[1597,"impl-MulAssign-for-Blind%3CF%3E"],[1598,"impl-MulAssign%3CF%3E-for-Blind%3CF%3E"],[1667,"impl-MSM%3CC%3E-for-MSMIPA%3C\'a,+C%3E"],[1668,"impl-MSMIPA%3C\'a,+C%3E"],[1970,"impl-ProverSHPLONK%3C\'a,+E%3E"],[1971,"impl-Prover%3C\'params,+KZGCommitmentScheme%3CE%3E%3E-for-ProverSHPLONK%3C\'params,+E%3E"],[2029,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-AccumulatorStrategy%3CE%3E"],[2030,"impl-AccumulatorStrategy%3CE%3E"],[2031,"impl-VerificationStrategy%3C\'params,+KZGCommitmentScheme%3CE%3E,+V%3E-for-SingleStrategy%3CE%3E"],[2032,"impl-SingleStrategy%3CE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFUFswAGAAEACQADAA4AAQARAAEAFgAAABgAAwBOAAkAYwAAAGUAEAB3AAcAhgAAAIsAEQCeAAgArAAHALYAAAC4AAAAuwAAAL4AAADCAAAAxAAIANsACQDnAAAA6QAAAOsAAADvAAoA+wADAAEBFwAdAQcAKAEOADkBAwA/AQwATgEIAFgBAgBdAQUAZwELAHUBAQB5AQgAmQEAAJwBDQCrAQgAtgESAMoBBwDUAQcA4gEGAPMBAgD7ARcAGQIFAEQCFgBcAhgAdgIGAIYCAACIAgYAngIAAKMCAQCoAh8AzQIVAOQCHgAEAwIACAMAAAoDAAAMAwIAEAMBABMDBAAdAyAAfwMIAJQDLQDFAyAA6QMAAPYDAAD6Ay0AKgQWAEYECgBbBBsAeAQAAHoEAQB9BAAAfwQAAIIEAwCKBAMAlQQAAJ8EAAChBAEApgQHALMEAAC1BBcA5wQAAPMEAQD2BAsABgUAAAgFAAAKBQAADAUAABAFAgAUBQAAHAUAACEFAAAjBQIANQUBADkFCQBHBRQAXQVHAKoFFgDLBQgA2gUDAN8FAQDkBQAA6QUBAPEFAgD/BQAABQYJACEGAgAnBgEAKgYBADAGAgA0BgAANgYAADgGAAA6BgAAPQYCAEoGAwBPBgAAWAYFAGEGCQBtBgEAcQYBAHQGAAB2BgcAfwYBAIkGCwCWBgAAmQYGAKIGAwCnBgcAsQYBALUGCgDEBgsA0QYLAN8GAwDoBgMA8AYRAAUHAwAQBxwAMQcCADcHBQBABwEAQwcOAFUHAABYBwAAWgcGAGIHAwBnBwoAdAcBAHoHAQB9BwkAiwcHAJUHDwCpBwMAsQcBALQHDgDEBwMAywcZAOgHAgDuBwAA8AcAAPIHEAAPCAsAHAgBAB8ICwAsCAMANAgAADcIAAA6CAEAQAgAAEIIAABECAAARggBAEkIDgBZCAAAWwgAAA=="}],\ +["p3_frontend",{"t":"PKFPFPPGPPPFFPFPPFGFPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNOHHNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","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","check_witness","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"],[305,"p3_frontend::fwrap"],[306,"ff"],[307,"p3_frontend::symbolic_expression"],[308,"p3_frontend::symbolic_variable"],[309,"p3_field::field"],[310,"num_bigint::biguint"],[311,"core::hash"],[312,"core::cmp"],[313,"p3_frontend::symbolic_builder"],[314,"core::convert"],[315,"halo2_middleware::circuit"],[316,"alloc::vec"],[317,"core::option"],[318,"core::clone"],[319,"p3_air::air"],[320,"core::default"],[321,"core::result"],[322,"serde::de"],[323,"core::fmt"],[324,"core::ops::function"],[325,"core::iter::traits::iterator"],[326,"p3_frontend::air"],[327,"serde::ser"],[328,"alloc::string"],[329,"p3_matrix::dense"],[330,"core::any"]],"i":[3,0,0,3,0,22,22,0,3,3,3,0,0,23,0,23,3,0,0,0,22,0,3,1,3,3,3,4,4,4,1,3,3,1,3,1,1,1,1,15,15,1,22,3,4,23,24,25,26,27,15,1,22,3,4,23,24,25,26,27,0,1,22,3,4,23,24,25,26,27,1,22,3,4,23,24,25,26,27,1,24,0,0,1,3,27,15,1,22,3,4,23,24,25,26,27,15,1,22,3,4,23,24,25,26,27,1,27,1,3,15,1,22,3,4,23,24,25,26,27,1,1,1,22,22,3,3,4,4,23,24,25,26,27,15,1,22,3,3,3,4,23,24,25,26,27,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,25,15,1,22,3,4,23,24,25,26,27,1,15,1,22,3,4,23,24,25,26,27,15,15,24,3,15,1,3,15,1,3,3,3,4,4,4,1,3,3,1,3,1,3,4,4,1,3,1,1,1,3,3,50,15,1,1,3,3,3,4,4,4,1,3,3,1,3,3,1,22,3,4,23,24,25,26,27,1,22,3,4,0,15,1,22,3,4,23,24,25,26,27,15,1,22,3,4,23,24,25,26,27,1,1,3,15,1,22,3,4,23,24,25,26,27,15,1,22,3,4,23,24,25,26,27,1,3],"f":"```````````````````````{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}{h{c}}}ej{}}{{{f{c}}{f{c}}}{{f{c}}}j}{{{f{c}}c}{{f{c}}}j}{{{h{c}}{h{c}}}ej{}}{{{h{c}}c}ej{}}{{{h{c}}{f{c}}}ej{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}{f{c}}}A`j}{{{n{l{f{c}}}}c}A`j}{{{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`j{}{{B`{e}}}}{{{n{c}}}{{n{e}}}{}{}}000000000{{{n{lc}}}{{n{le}}}{}{}}000000000{{{n{{Bb{c}}}}Bd{n{{Ab{{Bh{{Bf{c}}}}}}}}{n{{Ab{{Bf{c}}}}}}}A`d}{{{n{{b{c}}}}}{{b{c}}}{Bjd}}{{{n{Bl}}}Bl}{{{n{{f{c}}}}}{{f{c}}}{Bjj}}{{{n{{h{c}}}}}{{h{c}}}{Bjj}}{{{n{Bn}}}Bn}{{{n{C`}}}C`}{{{n{Cb}}}Cb}{{{n{Cd}}}Cd}{{{n{Cf}}}Cf}{{{n{c}}{n{le}}}A`{}{}}00000000{{{n{{b{c}}}}{n{{b{c}}}}}Ch{Ajd}}`{{{n{e}}{n{Cf}}Cj}{{Cn{{Cl{c}}Cd}}}{AfAh}{{D`{{An{{b{c}}}}}}}}{{BdCj{n{Cd}}{n{e}}}{{Db{c}}}{AfAh}{{D`{{An{{b{c}}}}}}}}{{}{{b{c}}}{Ddd}}{{}{{f{c}}}j}{{}Cf}{Cj{{n{c}}}{}}000000000{Cj{{n{lc}}}{}}000000000{c{{Df{{b{e}}}}}DhAf}`{{{b{c}}{b{c}}}{{b{c}}}d}{{{n{{f{c}}}}}{{f{c}}}j}{CjA`}000000000{{{n{{b{c}}}}{n{{b{c}}}}}Dj{Dld}}{{{n{{b{c}}}}{n{lDn}}}E`{Ebd}}{{{n{{b{c}}}}{n{lDn}}}E`d}{{{n{Bl}}{n{lDn}}}E`}0{{{n{{f{c}}}}{n{lDn}}}E`j}{{{n{{f{c}}}}{n{lDn}}}E`{Ebj}}{{{n{{h{c}}}}{n{lDn}}}E`{Ebj}}{{{n{{h{c}}}}{n{lDn}}}E`j}{{{n{Bn}}{n{lDn}}}E`}{{{n{C`}}{n{lDn}}}E`}{{{n{Cb}}{n{lDn}}}E`}{{{n{Cd}}{n{lDn}}}E`}{{{n{Cf}}{n{lDn}}}E`}{cc{}}000{{{h{c}}}{{f{c}}}j}{c{{f{c}}}j}22222222{ec{}{{Ef{Cj}{{Ed{c}}}}}}0{{{n{{Ab{c}}}}}c{}}0{Dj{{b{c}}}{AfAh}}{Dj{{f{c}}}j}{Eh{{b{c}}}{AfAh}}{Eh{{f{c}}}j}{Bd{{b{c}}}{AfAh}}{Bd{{f{c}}}j}{Al{{b{c}}}{AfAh}}{Al{{f{c}}}j}{Ej{{b{c}}}{AfAh}}{Ej{{f{c}}}j}{Cj{{b{c}}}{AfAh}}{Cj{{f{c}}}j}{c{{b{e}}}{}{AfAh}}{c{{f{e}}}{}j}{ce{{Ef{Cj}{{Ed{}}}}}{}}{{{n{Ab}}}{{n{c}}}{}}{{{n{lAb}}}{{n{lc}}}{}}<;:9{{}{{b{c}}}{AfAh}}{{}{{f{c}}}j}{{{n{Cd}}Cj{n{{Ab{{Bh{{Bf{c}}}}}}}}}{{Bf{{Bf{c}}}}}d}{{{n{{b{c}}}}{n{le}}}A`{Ahd}El}`{{}Cj}000000000{{{n{c}}eCj}{{Cn{ee}}}{}{}}{ce{}{}}000000000{{{n{{An{c}}}}}ej{}}0`{{{n{{f{c}}}}}Djj}{{{n{{An{c}}}}Cj}ej{}}{{{n{{b{c}}}}}Dj{AfAh}}23{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}{h{c}}}ej{}}{{{f{c}}{f{c}}}{{f{c}}}j}{{{f{c}}c}{{f{c}}}j}{{{h{c}}{h{c}}}ej{}}{{{h{c}}c}ej{}}{{{h{c}}{f{c}}}ej{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}{f{c}}}A`j}{{{n{l{f{c}}}}c}A`j}{{{b{c}}}ed{}}{{{f{c}}}{{f{c}}}j}{{}{{b{c}}}{AfAh}}{{}{{f{c}}}j}{Cj{{h{c}}}j}{{DjCj}{{h{c}}}j}32{{}Ad}{{{n{{b{c}}}}{n{{b{c}}}}}{{Bh{Ch}}}{End}}{e{{b{c}}}d{{Fb{}{{F`{{b{c}}}}}}}}{e{{f{c}}}j{{Fb{}{{F`{c}}}}}}{e{{f{c}}}j{{Fb{}{{F`{{f{c}}}}}}}}{{{n{Fd}}}{{n{{Ab{c}}}}}{}}{{{n{{An{c}}}}}{{n{{Ab{e}}}}}j{}}{{{n{{b{c}}}}e}DfAfFf}{{{b{c}}{b{c}}}{{b{c}}}d}{{{f{c}}{h{c}}}ej{}}{{{f{c}}c}{{f{c}}}j}{{{f{c}}{f{c}}}{{f{c}}}j}{{{h{c}}c}ej{}}{{{h{c}}{h{c}}}ej{}}{{{h{c}}{f{c}}}ej{}}{{{n{l{b{c}}}}{b{c}}}A`d}{{{n{l{f{c}}}}{f{c}}}A`j}{{{n{l{f{c}}}}c}A`j}?>={{{n{c}}}e{}{}}00000000{{{n{c}}}Fh{}}000{{Bd{Fj{{b{c}}}}}{{Bf{{Bh{{Bf{c}}}}}}}d}{c{{Df{e}}}{}{}}0000000000000000000{{{n{{b{c}}}}}{{Bh{{b{c}}}}}{AfAh}}{{}{{b{c}}}{AfAh}}{{}{{f{c}}}j}{{{n{c}}}Fl{}}000000000{ce{}{}}00000000032","D":"C`","p":[[5,"FWrap",0,305],[10,"Field",306],[6,"SymbolicExpression",0,307],[5,"SymbolicVariable",0,308],[10,"Field",309],[0,"mut"],[1,"reference"],[1,"unit"],[1,"slice"],[5,"BigUint",310],[10,"PrimeField",306],[10,"Hash",311],[10,"Ord",312],[1,"u64"],[5,"SymbolicAirBuilder",0,313],[10,"Into",314],[5,"CompiledCircuit",315],[1,"u32"],[5,"Vec",316],[6,"Option",317],[10,"Clone",318],[6,"Location",0,307],[6,"Var",0,308],[5,"Query",0,308],[5,"Public",0,308],[5,"PreprocessingInfo",0],[5,"CompileParams",0],[6,"Ordering",312],[1,"usize"],[5,"ConstraintSystemMid",315],[1,"tuple"],[10,"Air",319],[5,"Preprocessing",315],[10,"Default",320],[6,"Result",321],[10,"Deserializer",322],[1,"bool"],[10,"PartialEq",312],[5,"Formatter",323],[8,"Result",323],[10,"Debug",323],[17,"Output"],[10,"FnMut",324],[1,"u16"],[1,"u8"],[10,"Hasher",311],[10,"PartialOrd",312],[17,"Item"],[10,"Iterator",325],[10,"AirBuilderWithPublicValues",0,326],[10,"Serializer",327],[5,"String",328],[5,"RowMajorMatrix",329],[5,"TypeId",330]],"r":[[1,326],[4,305],[7,307],[12,308],[14,308],[17,313],[18,307],[19,308],[21,308]],"b":[[24,"impl-Add%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[25,"impl-Add-for-SymbolicExpression%3CF%3E"],[26,"impl-Add%3CF%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-for-SymbolicExpression%3CF%3E"],[32,"impl-AddAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[121,"impl-Debug-for-FWrap%3CF%3E"],[122,"impl-Display-for-FWrap%3CF%3E"],[123,"impl-Debug-for-Location"],[124,"impl-Display-for-Location"],[125,"impl-Display-for-SymbolicExpression%3CF%3E"],[126,"impl-Debug-for-SymbolicExpression%3CF%3E"],[127,"impl-Debug-for-SymbolicVariable%3CF%3E"],[128,"impl-Display-for-SymbolicVariable%3CF%3E"],[138,"impl-From%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[139,"impl-From%3CF%3E-for-SymbolicExpression%3CF%3E"],[208,"impl-Mul%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[209,"impl-Mul-for-SymbolicExpression%3CF%3E"],[210,"impl-Mul%3CF%3E-for-SymbolicExpression%3CF%3E"],[211,"impl-Mul-for-SymbolicVariable%3CF%3E"],[212,"impl-Mul%3CF%3E-for-SymbolicVariable%3CF%3E"],[213,"impl-Mul%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[215,"impl-MulAssign-for-SymbolicExpression%3CF%3E"],[216,"impl-MulAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[228,"impl-Product%3CF%3E-for-SymbolicExpression%3CF%3E"],[229,"impl-Product-for-SymbolicExpression%3CF%3E"],[234,"impl-Sub%3CSymbolicVariable%3CF%3E%3E-for-SymbolicExpression%3CF%3E"],[235,"impl-Sub%3CF%3E-for-SymbolicExpression%3CF%3E"],[236,"impl-Sub-for-SymbolicExpression%3CF%3E"],[237,"impl-Sub%3CF%3E-for-SymbolicVariable%3CF%3E"],[238,"impl-Sub-for-SymbolicVariable%3CF%3E"],[239,"impl-Sub%3CSymbolicExpression%3CF%3E%3E-for-SymbolicVariable%3CF%3E"],[241,"impl-SubAssign-for-SymbolicExpression%3CF%3E"],[242,"impl-SubAssign%3CF%3E-for-SymbolicExpression%3CF%3E"],[244,"impl-Sum%3CF%3E-for-SymbolicExpression%3CF%3E"],[245,"impl-Sum-for-SymbolicExpression%3CF%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABkBBQABABAAFQBxAIsAAQCTACoAyABpAA=="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index 0d34c8989..20fc61c79 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -1,6 +1,6 @@ (function() {var implementors = { "halo2_backend":[["impl From<Error> for Error"]], -"halo2_frontend":[["impl From<(usize, &str)> for Region"],["impl From<(usize, &str, HashMap<ColumnMid, String>)> for Region"],["impl From<(usize, String)> for Region"],["impl From<(usize, String, HashMap<ColumnMid, String>)> for Region"],["impl From<(ColumnMid, i32)> for VirtualCell"],["impl From<usize> for RegionIndex"],["impl From<usize> for RegionStart"],["impl From<ColumnMid> for Column<Any>"],["impl From<VirtualCell> for VirtualCell"],["impl From<Challenge> for ChallengeMid"],["impl From<Column<Any>> for RegionColumn"],["impl From<Column<Any>> for ColumnMid"],["impl From<Column<Advice>> for Column<Any>"],["impl From<Column<Fixed>> for Column<Any>"],["impl From<Column<Instance>> for Column<Any>"],["impl From<Selector> for RegionColumn"],["impl From<Advice> for Any"],["impl From<Fixed> for Any"],["impl From<Instance> for Any"],["impl From<ChallengeMid> for Challenge"],["impl<'r, F: Field> From<&'r mut dyn RegionLayouter<F>> for Region<'r, F>"],["impl<'r, F: Field> From<&'r mut dyn TableLayouter<F>> for Table<'r, F>"],["impl<Col: Into<Column<Any>>> From<(Col, Rotation)> for VirtualCell"],["impl<F> From<Expression<F>> for ExpressionMid<F>"],["impl<F: Field> From<&Assigned<F>> for Assigned<F>"],["impl<F: Field> From<Expression<F>> for Constraint<F>"],["impl<F: Field> From<Expression<F>> for Vec<Constraint<F>>"],["impl<F: Field> From<&F> for Assigned<F>"],["impl<F: Field> From<(F, F)> for Assigned<F>"],["impl<F: Field> From<Value<F>> for Value<Assigned<F>>"],["impl<F: Field> From<ConstraintSystem<F>> for ConstraintSystemMid<F>"],["impl<F: Field> From<F> for Assigned<F>"],["impl<F: Field, S: AsRef<str>> From<(S, Expression<F>)> for Constraint<F>"],["impl<G: PrimeGroup> From<MarginalProofSize<G>> for usize"],["impl<G: PrimeGroup> From<ProofSize<G>> for usize"],["impl<S: AsRef<str>> From<(usize, S)> for Gate"],["impl<S: AsRef<str>> From<(Gate, usize, S)> for Constraint"],["impl<S: AsRef<str>> From<(S, ColumnMid, i32)> for VirtualCell"]], +"halo2_frontend":[["impl From<(usize, &str)> for Region"],["impl From<(usize, &str, HashMap<ColumnMid, String>)> for Region"],["impl From<(usize, String)> for Region"],["impl From<(usize, String, HashMap<ColumnMid, String>)> for Region"],["impl From<(ColumnMid, i32)> for VirtualCell"],["impl From<usize> for RegionIndex"],["impl From<usize> for RegionStart"],["impl From<ColumnMid> for Column<Any>"],["impl From<VirtualCell> for VirtualCell"],["impl From<Challenge> for ChallengeMid"],["impl From<Column<Advice>> for Column<Any>"],["impl From<Column<Fixed>> for Column<Any>"],["impl From<Column<Instance>> for Column<Any>"],["impl From<Column<Any>> for RegionColumn"],["impl From<Column<Any>> for ColumnMid"],["impl From<Selector> for RegionColumn"],["impl From<Advice> for Any"],["impl From<Fixed> for Any"],["impl From<Instance> for Any"],["impl From<ChallengeMid> for Challenge"],["impl<'r, F: Field> From<&'r mut dyn RegionLayouter<F>> for Region<'r, F>"],["impl<'r, F: Field> From<&'r mut dyn TableLayouter<F>> for Table<'r, F>"],["impl<Col: Into<Column<Any>>> From<(Col, Rotation)> for VirtualCell"],["impl<F> From<Expression<F>> for ExpressionMid<F>"],["impl<F: Field> From<&Assigned<F>> for Assigned<F>"],["impl<F: Field> From<Expression<F>> for Constraint<F>"],["impl<F: Field> From<Expression<F>> for Vec<Constraint<F>>"],["impl<F: Field> From<&F> for Assigned<F>"],["impl<F: Field> From<(F, F)> for Assigned<F>"],["impl<F: Field> From<Value<F>> for Value<Assigned<F>>"],["impl<F: Field> From<ConstraintSystem<F>> for ConstraintSystemMid<F>"],["impl<F: Field> From<F> for Assigned<F>"],["impl<F: Field, S: AsRef<str>> From<(S, Expression<F>)> for Constraint<F>"],["impl<G: PrimeGroup> From<MarginalProofSize<G>> for usize"],["impl<G: PrimeGroup> From<ProofSize<G>> for usize"],["impl<S: AsRef<str>> From<(usize, S)> for Gate"],["impl<S: AsRef<str>> From<(Gate, usize, S)> for Constraint"],["impl<S: AsRef<str>> From<(S, ColumnMid, i32)> for VirtualCell"]], "halo2_proofs":[["impl From<Error> for Error"],["impl From<Error> for Error"]], "p3_frontend":[["impl<F: Field> From<SymbolicVariable<F>> for SymbolicExpression<F>"],["impl<F: Field> From<F> for SymbolicExpression<F>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/convert/trait.TryFrom.js b/trait.impl/core/convert/trait.TryFrom.js index f5e3229f2..cd7d4a084 100644 --- a/trait.impl/core/convert/trait.TryFrom.js +++ b/trait.impl/core/convert/trait.TryFrom.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"halo2_frontend":[["impl TryFrom<Column<Any>> for Column<Advice>"],["impl TryFrom<Column<Any>> for Column<Fixed>"],["impl TryFrom<Column<Any>> for Column<Instance>"]] +"halo2_frontend":[["impl TryFrom<Column<Any>> for Column<Advice>"],["impl TryFrom<Column<Any>> for Column<Fixed>"],["impl TryFrom<Column<Any>> for Column<Instance>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js index 2e624bc67..de7294e2e 100644 --- a/trait.impl/serde/de/trait.Deserialize.js +++ b/trait.impl/serde/de/trait.Deserialize.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"halo2_frontend":[["impl<'de> Deserialize<'de> for ModelCircuit"],["impl<'de> Deserialize<'de> for Permutation"]], -"p3_frontend":[["impl<'de, F: PrimeField> Deserialize<'de> for FWrap<F>"]] +"halo2_frontend":[["impl<'de> Deserialize<'de> for ModelCircuit"],["impl<'de> Deserialize<'de> for Permutation"]], +"p3_frontend":[["impl<'de, F: PrimeField> Deserialize<'de> for FWrap<F>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/ser/trait.Serialize.js b/trait.impl/serde/ser/trait.Serialize.js index 41bf2f6ab..59754bf4b 100644 --- a/trait.impl/serde/ser/trait.Serialize.js +++ b/trait.impl/serde/ser/trait.Serialize.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"halo2_frontend":[["impl Serialize for ModelCircuit"],["impl Serialize for Permutation"]], -"p3_frontend":[["impl<F: PrimeField> Serialize for FWrap<F>"]] +"halo2_frontend":[["impl Serialize for ModelCircuit"],["impl Serialize for Permutation"]], +"p3_frontend":[["impl<F: PrimeField> Serialize for FWrap<F>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file