diff --git a/cairo_native/error/libfuncs/enum.ErrorImpl.html b/cairo_native/error/libfuncs/enum.ErrorImpl.html index 3ea1057f3..6bfd6c0f0 100644 --- a/cairo_native/error/libfuncs/enum.ErrorImpl.html +++ b/cairo_native/error/libfuncs/enum.ErrorImpl.html @@ -4,7 +4,7 @@ MlirError(Error), ProgramRegistryError(Box<ProgramRegistryError>), TryFromIntError(TryFromIntError), -}

Variants§

§

LayoutError(LayoutError)

§

LayoutErrorPolyfill(LayoutError)

§

MlirError(Error)

§

ProgramRegistryError(Box<ProgramRegistryError>)

§

TryFromIntError(TryFromIntError)

Trait Implementations§

source§

impl Debug for ErrorImpl

source§

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

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

impl Display for ErrorImpl

source§

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

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

impl Error for ErrorImpl

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Box<ProgramRegistryError, Global>> for ErrorImpl

source§

fn from(source: Box<ProgramRegistryError>) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(value: CoreTypeBuilderError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromIntError> for ErrorImpl

source§

fn from(source: TryFromIntError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl RefUnwindSafe for ErrorImpl

§

impl Send for ErrorImpl

§

impl Sync for ErrorImpl

§

impl Unpin for ErrorImpl

§

impl UnwindSafe for ErrorImpl

Blanket Implementations§

source§

impl<T> Any for Twhere +}

Variants§

§

LayoutError(LayoutError)

§

LayoutErrorPolyfill(LayoutError)

§

MlirError(Error)

§

ProgramRegistryError(Box<ProgramRegistryError>)

§

TryFromIntError(TryFromIntError)

Trait Implementations§

source§

impl Debug for ErrorImpl

source§

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

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

impl Display for ErrorImpl

source§

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

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

impl Error for ErrorImpl

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Box<ProgramRegistryError, Global>> for ErrorImpl

source§

fn from(source: Box<ProgramRegistryError>) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(value: CoreTypeBuilderError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromIntError> for ErrorImpl

source§

fn from(source: TryFromIntError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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) -> Twhere diff --git a/cairo_native/error/libfuncs/index.html b/cairo_native/error/libfuncs/index.html index 92271f7fb..131542719 100644 --- a/cairo_native/error/libfuncs/index.html +++ b/cairo_native/error/libfuncs/index.html @@ -1 +1 @@ -cairo_native::error::libfuncs - Rust
\ No newline at end of file +cairo_native::error::libfuncs - Rust
\ No newline at end of file diff --git a/cairo_native/error/libfuncs/struct.Error.html b/cairo_native/error/libfuncs/struct.Error.html index dfe12ecaf..efa184ee2 100644 --- a/cairo_native/error/libfuncs/struct.Error.html +++ b/cairo_native/error/libfuncs/struct.Error.html @@ -1,7 +1,7 @@ -Error in cairo_native::error::libfuncs - Rust
pub struct Error {
+Error in cairo_native::error::libfuncs - Rust
pub struct Error {
     pub source: ErrorImpl,
 }

Fields§

§source: ErrorImpl

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 Deref for Error

§

type Target = ErrorImpl

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Display for Error

source§

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

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

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl<E> From<E> for Errorwhere - ErrorImpl: From<E>,

source§

fn from(error: E) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

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 Twhere + ErrorImpl: From<E>,

source§

fn from(error: E) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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) -> Twhere @@ -20,7 +20,7 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere diff --git a/cairo_native/error/types/enum.ErrorImpl.html b/cairo_native/error/types/enum.ErrorImpl.html index 8798d7030..77fb686c6 100644 --- a/cairo_native/error/types/enum.ErrorImpl.html +++ b/cairo_native/error/types/enum.ErrorImpl.html @@ -1,9 +1,11 @@ -ErrorImpl in cairo_native::error::types - Rust
pub enum ErrorImpl {
+ErrorImpl in cairo_native::error::types - Rust
pub enum ErrorImpl {
     LayoutError(LayoutError),
     LayoutErrorPolyfill(LayoutError),
     ProgramRegistryError(Box<ProgramRegistryError>),
     TryFromIntError(TryFromIntError),
-}

Variants§

§

LayoutError(LayoutError)

§

LayoutErrorPolyfill(LayoutError)

§

ProgramRegistryError(Box<ProgramRegistryError>)

§

TryFromIntError(TryFromIntError)

Trait Implementations§

source§

impl Debug for ErrorImpl

source§

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

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

impl Display for ErrorImpl

source§

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

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

impl Error for ErrorImpl

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Box<ProgramRegistryError, Global>> for ErrorImpl

source§

fn from(source: Box<ProgramRegistryError>) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromIntError> for ErrorImpl

source§

fn from(source: TryFromIntError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere + MlirError(Error), + LibFuncError(Error), +}

Variants§

§

LayoutError(LayoutError)

§

LayoutErrorPolyfill(LayoutError)

§

ProgramRegistryError(Box<ProgramRegistryError>)

§

TryFromIntError(TryFromIntError)

§

MlirError(Error)

§

LibFuncError(Error)

Trait Implementations§

source§

impl Debug for ErrorImpl

source§

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

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

impl Display for ErrorImpl

source§

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

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

impl Error for ErrorImpl

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Box<ProgramRegistryError, Global>> for ErrorImpl

source§

fn from(source: Box<ProgramRegistryError>) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromIntError> for ErrorImpl

source§

fn from(source: TryFromIntError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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) -> Twhere @@ -22,7 +24,7 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere diff --git a/cairo_native/error/types/index.html b/cairo_native/error/types/index.html index cc6640d88..198c43522 100644 --- a/cairo_native/error/types/index.html +++ b/cairo_native/error/types/index.html @@ -1 +1 @@ -cairo_native::error::types - Rust
\ No newline at end of file +cairo_native::error::types - Rust
\ No newline at end of file diff --git a/cairo_native/error/types/struct.Error.html b/cairo_native/error/types/struct.Error.html index 46c071532..3c9aa7a8c 100644 --- a/cairo_native/error/types/struct.Error.html +++ b/cairo_native/error/types/struct.Error.html @@ -1,7 +1,7 @@ Error in cairo_native::error::types - Rust

Struct cairo_native::error::types::Error

source ·
pub struct Error {
     pub source: ErrorImpl,
 }

Fields§

§source: ErrorImpl

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 Deref for Error

§

type Target = ErrorImpl

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Display for Error

source§

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

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

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl<E> From<E> for Errorwhere - ErrorImpl: From<E>,

source§

fn from(error: E) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(value: CoreTypeBuilderError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

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 Twhere + ErrorImpl: From<E>,

source§

fn from(error: E) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ErrorImpl

source§

fn from(value: CoreTypeBuilderError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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) -> Twhere diff --git a/cairo_native/libfuncs/drop/fn.build.html b/cairo_native/libfuncs/drop/fn.build.html index d5282cced..e6007db43 100644 --- a/cairo_native/libfuncs/drop/fn.build.html +++ b/cairo_native/libfuncs/drop/fn.build.html @@ -1,11 +1,11 @@ -build in cairo_native::libfuncs::drop - Rust

Function cairo_native::libfuncs::drop::build

source ·
pub fn build<'ctx, 'this, TType, TLibfunc>(
-    _context: &'ctx Context,
-    _registry: &ProgramRegistry<TType, TLibfunc>,
+build in cairo_native::libfuncs::drop - Rust

Function cairo_native::libfuncs::drop::build

source ·
pub fn build<'ctx, 'this, TType, TLibfunc>(
+    context: &'ctx Context,
+    registry: &ProgramRegistry<TType, TLibfunc>,
     entry: &'this Block<'ctx>,
     location: Location<'ctx>,
     helper: &LibfuncHelper<'ctx, 'this>,
-    _metadata: &mut MetadataStorage,
-    _info: &SignatureOnlyConcreteLibfunc
+    metadata: &mut MetadataStorage,
+    info: &SignatureOnlyConcreteLibfunc
 ) -> Result<()>where
     TType: GenericType,
     TLibfunc: GenericLibfunc,
diff --git a/cairo_native/libfuncs/drop/index.html b/cairo_native/libfuncs/drop/index.html
index ecfe71f51..be442990a 100644
--- a/cairo_native/libfuncs/drop/index.html
+++ b/cairo_native/libfuncs/drop/index.html
@@ -1,4 +1,4 @@
-cairo_native::libfuncs::drop - Rust

Module cairo_native::libfuncs::drop

source ·
Expand description

AP tracking libfuncs

+cairo_native::libfuncs::drop - Rust

Module cairo_native::libfuncs::drop

source ·
Expand description

AP tracking libfuncs

Most types are trivial and don’t need dropping (or rather, they will be dropped automatically by MLIR). For those types, this libfunc is a no-op.

However, types like an array need manual dropping.

diff --git a/cairo_native/metadata/realloc_bindings/index.html b/cairo_native/metadata/realloc_bindings/index.html index 513db65ff..c42a0ddd8 100644 --- a/cairo_native/metadata/realloc_bindings/index.html +++ b/cairo_native/metadata/realloc_bindings/index.html @@ -1,4 +1,4 @@ -cairo_native::metadata::realloc_bindings - Rust
Expand description

Memory allocation external bindings

+cairo_native::metadata::realloc_bindings - Rust
Expand description

Memory allocation external bindings

This metadata ensures that the bindings to the C function realloc exist in the current compilation context.

Structs

\ No newline at end of file diff --git a/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html b/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html index 25c985f57..29eef4083 100644 --- a/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html +++ b/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html @@ -1,11 +1,16 @@ -ReallocBindingsMeta in cairo_native::metadata::realloc_bindings - Rust
pub struct ReallocBindingsMeta { /* private fields */ }
Expand description

Memory allocation realloc metadata.

-

Implementations§

source§

impl ReallocBindingsMeta

source

pub fn new(context: &Context, module: &Module<'_>) -> Self

Register the bindings to the realloc C function and return the metadata.

-
source

pub fn realloc<'c, 'a>( +ReallocBindingsMeta in cairo_native::metadata::realloc_bindings - Rust
pub struct ReallocBindingsMeta { /* private fields */ }
Expand description

Memory allocation realloc metadata.

+

Implementations§

source§

impl ReallocBindingsMeta

source

pub fn new(context: &Context, module: &Module<'_>) -> Self

Register the bindings to the realloc C function and return the metadata.

+
source

pub fn realloc<'c, 'a>( context: &'c Context, ptr: Value<'c, 'a>, len: Value<'c, 'a>, location: Location<'c> ) -> Operation<'c>

Calls the realloc function, returns a op with 1 result: an opaque pointer.

+
source

pub fn free<'c>( + context: &'c Context, + ptr: Value<'c, '_>, + location: Location<'c> +) -> Operation<'c>

Calls the free function.

Trait Implementations§

source§

impl Debug for ReallocBindingsMeta

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/cairo_native/metadata/runtime_bindings/index.html b/cairo_native/metadata/runtime_bindings/index.html index 07f17af97..6ebd41aab 100644 --- a/cairo_native/metadata/runtime_bindings/index.html +++ b/cairo_native/metadata/runtime_bindings/index.html @@ -1,4 +1,4 @@ -cairo_native::metadata::runtime_bindings - Rust
Expand description

Runtime library bindings

+cairo_native::metadata::runtime_bindings - Rust
Expand description

Runtime library bindings

This metadata ensures that the bindings to the runtime functions exist in the current compilation context.

Structs

\ No newline at end of file diff --git a/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html b/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html index d7ded6cab..23b801e68 100644 --- a/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html +++ b/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html @@ -1,5 +1,5 @@ -RuntimeBindingsMeta in cairo_native::metadata::runtime_bindings - Rust
pub struct RuntimeBindingsMeta { /* private fields */ }
Expand description

Runtime library bindings metadata.

-

Implementations§

source§

impl RuntimeBindingsMeta

source

pub fn libfunc_debug_print<'c, 'a>( +RuntimeBindingsMeta in cairo_native::metadata::runtime_bindings - Rust
pub struct RuntimeBindingsMeta { /* private fields */ }
Expand description

Runtime library bindings metadata.

+

Implementations§

source§

impl RuntimeBindingsMeta

source

pub fn libfunc_debug_print<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -10,7 +10,7 @@ location: Location<'c> ) -> Result<Value<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the debug::print() function.

-
source

pub fn libfunc_pedersen<'c, 'a>( +

source

pub fn libfunc_pedersen<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -21,7 +21,7 @@ location: Location<'c> ) -> Result<OperationRef<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the pedersen() function.

-
source

pub fn libfunc_hades_permutation<'c, 'a>( +

source

pub fn libfunc_hades_permutation<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -33,7 +33,7 @@ ) -> Result<OperationRef<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the poseidon() function. The passed pointers serve both as in/out pointers. I.E results are stored in the given pointers.

-
source

pub fn libfunc_ec_point_from_x_nz<'c, 'a>( +

source

pub fn libfunc_ec_point_from_x_nz<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -42,7 +42,7 @@ location: Location<'c> ) -> Result<OperationRef<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the ec_point_from_x_nz() function.

-
source

pub fn libfunc_ec_point_try_new_nz<'c, 'a>( +

source

pub fn libfunc_ec_point_try_new_nz<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -51,7 +51,7 @@ location: Location<'c> ) -> Result<OperationRef<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the ec_point_try_new_nz() function.

-
source

pub fn libfunc_ec_state_add<'c, 'a>( +

source

pub fn libfunc_ec_state_add<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -61,7 +61,7 @@ location: Location<'c> ) -> Result<OperationRef<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the ec_state_add() function.

-
source

pub fn libfunc_ec_state_add_mul<'c, 'a>( +

source

pub fn libfunc_ec_state_add_mul<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -72,7 +72,7 @@ location: Location<'c> ) -> Result<OperationRef<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the ec_state_add_mul() function.

-
source

pub fn libfunc_ec_state_try_finalize_nz<'c, 'a>( +

source

pub fn libfunc_ec_state_try_finalize_nz<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -81,7 +81,7 @@ state_ptr: Value<'c, '_>, location: Location<'c> ) -> Result<OperationRef<'c, 'a>>where - 'c: 'a,

source

pub fn dict_alloc_new<'c, 'a>( + 'c: 'a,

source

pub fn dict_alloc_new<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -90,7 +90,17 @@ ) -> Result<OperationRef<'c, 'a>>where 'c: 'a,

Register if necessary, then invoke the dict_alloc_new() function.

Returns a opaque pointer as the result.

-
source

pub fn dict_get<'c, 'a>( +

source

pub fn dict_alloc_free<'c, 'a>( + &mut self, + context: &'c Context, + module: &Module<'_>, + ptr: Value<'c, 'a>, + block: &'a Block<'c>, + location: Location<'c> +) -> Result<OperationRef<'c, 'a>>where + 'c: 'a,

Register if necessary, then invoke the dict_alloc_new() function.

+

Returns a opaque pointer as the result.

+
source

pub fn dict_get<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -102,7 +112,7 @@ 'c: 'a,

Register if necessary, then invoke the dict_get() function.

Gets the value for a given key, the returned pointer is null if not found.

Returns a opaque pointer as the result.

-
source

pub fn dict_insert<'c, 'a>( +

source

pub fn dict_insert<'c, 'a>( &mut self, context: &'c Context, module: &Module<'_>, @@ -115,7 +125,7 @@ 'c: 'a,

Register if necessary, then invoke the dict_insert() function.

Inserts the provided key value. Returning the old one or nullptr if there was none.

Returns a opaque pointer as the result.

-

Trait Implementations§

source§

impl Debug for RuntimeBindingsMeta

source§

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

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

impl Default for RuntimeBindingsMeta

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for RuntimeBindingsMeta

source§

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

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

impl Default for RuntimeBindingsMeta

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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) -> Twhere diff --git a/cairo_native/types/index.html b/cairo_native/types/index.html index db5db842c..cbe7061f4 100644 --- a/cairo_native/types/index.html +++ b/cairo_native/types/index.html @@ -1,3 +1,3 @@ -cairo_native::types - Rust

Module cairo_native::types

source ·
Expand description

Compiler type infrastructure

+cairo_native::types - Rust

Module cairo_native::types

source ·
Expand description

Compiler type infrastructure

Contains type generation stuff (aka. conversion from Sierra to MLIR types).

Modules

Structs

Traits

  • Generation of MLIR types from their Sierra counterparts.
\ No newline at end of file diff --git a/cairo_native/types/struct.WithSelf.html b/cairo_native/types/struct.WithSelf.html index 25db56383..6dddc859a 100644 --- a/cairo_native/types/struct.WithSelf.html +++ b/cairo_native/types/struct.WithSelf.html @@ -1,8 +1,8 @@ -WithSelf in cairo_native::types - Rust
pub struct WithSelf<'a, T> { /* private fields */ }

Implementations§

source§

impl<'a, T> WithSelf<'a, T>

source

pub fn new(self_ty: &'a ConcreteTypeId, inner: &'a T) -> Self

source

pub fn self_ty(&self) -> &ConcreteTypeId

Trait Implementations§

source§

impl<'a, T> AsRef<T> for WithSelf<'a, T>

source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a, T: Clone> Clone for WithSelf<'a, T>

source§

fn clone(&self) -> WithSelf<'a, T>

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<'a, T: Debug> Debug for WithSelf<'a, T>

source§

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

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

impl<'a, T> Deref for WithSelf<'a, T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
source§

impl<'a, T: Hash> Hash for WithSelf<'a, T>

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 +WithSelf in cairo_native::types - Rust
pub struct WithSelf<'a, T> { /* private fields */ }

Implementations§

source§

impl<'a, T> WithSelf<'a, T>

source

pub fn new(self_ty: &'a ConcreteTypeId, inner: &'a T) -> Self

source

pub fn self_ty(&self) -> &ConcreteTypeId

Trait Implementations§

source§

impl<'a, T> AsRef<T> for WithSelf<'a, T>

source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a, T: Clone> Clone for WithSelf<'a, T>

source§

fn clone(&self) -> WithSelf<'a, T>

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<'a, T: Debug> Debug for WithSelf<'a, T>

source§

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

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

impl<'a, T> Deref for WithSelf<'a, T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
source§

impl<'a, T: Hash> Hash for WithSelf<'a, T>

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<'a, T: PartialEq> PartialEq<WithSelf<'a, T>> for WithSelf<'a, T>

source§

fn eq(&self, other: &WithSelf<'a, T>) -> bool

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

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

impl<'a, T: PartialEq> PartialEq<WithSelf<'a, T>> for WithSelf<'a, T>

source§

fn eq(&self, other: &WithSelf<'a, T>) -> 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<'a, T: Eq> Eq for WithSelf<'a, T>

source§

impl<'a, T> StructuralEq for WithSelf<'a, T>

source§

impl<'a, T> StructuralPartialEq for WithSelf<'a, T>

Auto Trait Implementations§

§

impl<'a, T> RefUnwindSafe for WithSelf<'a, T>where +sufficient, and should not be overridden without very good reason.

source§

impl<'a, T: Eq> Eq for WithSelf<'a, T>

source§

impl<'a, T> StructuralEq for WithSelf<'a, T>

source§

impl<'a, T> StructuralPartialEq for WithSelf<'a, T>

Auto Trait Implementations§

§

impl<'a, T> RefUnwindSafe for WithSelf<'a, T>where T: RefUnwindSafe,

§

impl<'a, T> Send for WithSelf<'a, T>where T: Sync,

§

impl<'a, T> Sync for WithSelf<'a, T>where T: Sync,

§

impl<'a, T> Unpin for WithSelf<'a, T>

§

impl<'a, T> UnwindSafe for WithSelf<'a, T>where diff --git a/cairo_native/types/trait.TypeBuilder.html b/cairo_native/types/trait.TypeBuilder.html index b2636fb02..1b537dd07 100644 --- a/cairo_native/types/trait.TypeBuilder.html +++ b/cairo_native/types/trait.TypeBuilder.html @@ -1,4 +1,4 @@ -TypeBuilder in cairo_native::types - Rust
pub trait TypeBuilder<TType, TLibfunc>where
+TypeBuilder in cairo_native::types - Rust
pub trait TypeBuilder<TType, TLibfunc>where
     TType: GenericType<Concrete = Self>,
     TLibfunc: GenericLibfunc,{
     type Error: Error;
@@ -18,11 +18,21 @@
     ) -> Result<Layout, Self::Error>;
     fn integer_width(&self) -> Option<usize>;
     fn variants(&self) -> Option<&[ConcreteTypeId]>;
+    fn build_drop<'ctx, 'this>(
+        &self,
+        context: &'ctx Context,
+        registry: &ProgramRegistry<TType, TLibfunc>,
+        entry: &'this Block<'ctx>,
+        location: Location<'ctx>,
+        helper: &LibfuncHelper<'ctx, 'this>,
+        metadata: &mut MetadataStorage,
+        self_ty: &ConcreteTypeId
+    ) -> Result<(), Self::Error>;
 }
Expand description

Generation of MLIR types from their Sierra counterparts.

All possible Sierra types must implement it. It is already implemented for all the core Sierra types, contained in [CoreTypeConcrete].

-

Required Associated Types§

source

type Error: Error

Error type returned by this trait’s methods.

-

Required Methods§

source

fn build<'ctx>( +

Required Associated Types§

source

type Error: Error

Error type returned by this trait’s methods.

+

Required Methods§

source

fn build<'ctx>( &self, context: &'ctx Context, module: &Module<'ctx>, @@ -30,25 +40,43 @@ metadata: &mut MetadataStorage, self_ty: &ConcreteTypeId ) -> Result<Type<'ctx>, Self::Error>

Build the MLIR type.

-
source

fn layout( +

source

fn layout( &self, registry: &ProgramRegistry<TType, TLibfunc> ) -> Result<Layout, Self::Error>

Generate the layout of the MLIR type.

Used in both the compiler and the interface when calling the compiled code.

-
source

fn integer_width(&self) -> Option<usize>

If the type is an integer (felt not included) type, return its width in bits.

+
source

fn integer_width(&self) -> Option<usize>

If the type is an integer (felt not included) type, return its width in bits.

TODO: How is it used?

-
source

fn variants(&self) -> Option<&[ConcreteTypeId]>

If the type is a variant type, return all possible variants.

+
source

fn variants(&self) -> Option<&[ConcreteTypeId]>

If the type is a variant type, return all possible variants.

TODO: How is it used?

-

Implementations on Foreign Types§

source§

impl<TType, TLibfunc> TypeBuilder<TType, TLibfunc> for CoreTypeConcretewhere +

source

fn build_drop<'ctx, 'this>( + &self, + context: &'ctx Context, + registry: &ProgramRegistry<TType, TLibfunc>, + entry: &'this Block<'ctx>, + location: Location<'ctx>, + helper: &LibfuncHelper<'ctx, 'this>, + metadata: &mut MetadataStorage, + self_ty: &ConcreteTypeId +) -> Result<(), Self::Error>

Implementations on Foreign Types§

source§

impl<TType, TLibfunc> TypeBuilder<TType, TLibfunc> for CoreTypeConcretewhere TType: 'static + GenericType<Concrete = Self>, - TLibfunc: 'static + GenericLibfunc<Concrete = CoreConcreteLibfunc>,

§

type Error = Error

source§

fn build<'ctx>( + TLibfunc: 'static + GenericLibfunc<Concrete = CoreConcreteLibfunc>,

§

type Error = Error

source§

fn build<'ctx>( &self, context: &'ctx Context, module: &Module<'ctx>, registry: &ProgramRegistry<TType, TLibfunc>, metadata: &mut MetadataStorage, self_ty: &ConcreteTypeId -) -> Result<Type<'ctx>, Self::Error>

source§

fn layout( +) -> Result<Type<'ctx>, Self::Error>

source§

fn layout( &self, registry: &ProgramRegistry<TType, TLibfunc> -) -> Result<Layout, Self::Error>

source§

fn integer_width(&self) -> Option<usize>

source§

fn variants(&self) -> Option<&[ConcreteTypeId]>

Implementors§

\ No newline at end of file +) -> Result<Layout, Self::Error>
source§

fn integer_width(&self) -> Option<usize>

source§

fn variants(&self) -> Option<&[ConcreteTypeId]>

source§

fn build_drop<'ctx, 'this>( + &self, + context: &'ctx Context, + registry: &ProgramRegistry<TType, TLibfunc>, + entry: &'this Block<'ctx>, + location: Location<'ctx>, + helper: &LibfuncHelper<'ctx, 'this>, + metadata: &mut MetadataStorage, + self_ty: &ConcreteTypeId +) -> Result<(), Self::Error>

Implementors§

\ No newline at end of file diff --git a/cairo_native/utils/fn.debug_with.html b/cairo_native/utils/fn.debug_with.html index e949eb9ec..b98e8a750 100644 --- a/cairo_native/utils/fn.debug_with.html +++ b/cairo_native/utils/fn.debug_with.html @@ -1,3 +1,3 @@ -debug_with in cairo_native::utils - Rust

Function cairo_native::utils::debug_with

source ·
pub fn debug_with<F>(fmt: F) -> impl Debugwhere
+debug_with in cairo_native::utils - Rust

Function cairo_native::utils::debug_with

source ·
pub fn debug_with<F>(fmt: F) -> impl Debugwhere
     F: Fn(&mut Formatter<'_>) -> Result,
Expand description

Return a type that calls a closure when formatted using Debug.

\ No newline at end of file diff --git a/cairo_native/utils/fn.layout_repeat.html b/cairo_native/utils/fn.layout_repeat.html index ee277df45..22eb64aa2 100644 --- a/cairo_native/utils/fn.layout_repeat.html +++ b/cairo_native/utils/fn.layout_repeat.html @@ -1,4 +1,4 @@ -layout_repeat in cairo_native::utils - Rust
pub fn layout_repeat(
+layout_repeat in cairo_native::utils - Rust
pub fn layout_repeat(
     layout: &Layout,
     n: usize
 ) -> Result<(Layout, usize), LayoutError>
Expand description

Copied from std.

diff --git a/cairo_native/utils/fn.next_multiple_of_u32.html b/cairo_native/utils/fn.next_multiple_of_u32.html index bc8794532..815a50ce5 100644 --- a/cairo_native/utils/fn.next_multiple_of_u32.html +++ b/cairo_native/utils/fn.next_multiple_of_u32.html @@ -1 +1 @@ -next_multiple_of_u32 in cairo_native::utils - Rust
pub const fn next_multiple_of_u32(lhs: u32, rhs: u32) -> u32
\ No newline at end of file +next_multiple_of_u32 in cairo_native::utils - Rust
pub const fn next_multiple_of_u32(lhs: u32, rhs: u32) -> u32
\ No newline at end of file diff --git a/cairo_native/utils/fn.next_multiple_of_usize.html b/cairo_native/utils/fn.next_multiple_of_usize.html index d49fc3fcd..8a03900c8 100644 --- a/cairo_native/utils/fn.next_multiple_of_usize.html +++ b/cairo_native/utils/fn.next_multiple_of_usize.html @@ -1 +1 @@ -next_multiple_of_usize in cairo_native::utils - Rust
pub const fn next_multiple_of_usize(lhs: usize, rhs: usize) -> usize
\ No newline at end of file +next_multiple_of_usize in cairo_native::utils - Rust
pub const fn next_multiple_of_usize(lhs: usize, rhs: usize) -> usize
\ No newline at end of file diff --git a/cairo_native/utils/fn.padding_needed_for.html b/cairo_native/utils/fn.padding_needed_for.html index 1dca75c78..1ac6bcf53 100644 --- a/cairo_native/utils/fn.padding_needed_for.html +++ b/cairo_native/utils/fn.padding_needed_for.html @@ -1,4 +1,4 @@ -padding_needed_for in cairo_native::utils - Rust
pub const fn padding_needed_for(layout: &Layout, align: usize) -> usize
Expand description

Edit: Copied from the std lib.

+padding_needed_for in cairo_native::utils - Rust
pub const fn padding_needed_for(layout: &Layout, align: usize) -> usize
Expand description

Edit: Copied from the std lib.

Returns the amount of padding we must insert after layout to ensure that the following address will satisfy align (measured in bytes).

diff --git a/cairo_native/utils/fn.register_runtime_symbols.html b/cairo_native/utils/fn.register_runtime_symbols.html index cb8cb0ffe..028de89c8 100644 --- a/cairo_native/utils/fn.register_runtime_symbols.html +++ b/cairo_native/utils/fn.register_runtime_symbols.html @@ -1 +1 @@ -register_runtime_symbols in cairo_native::utils - Rust
pub fn register_runtime_symbols(engine: &ExecutionEngine)
\ No newline at end of file +register_runtime_symbols in cairo_native::utils - Rust
pub fn register_runtime_symbols(engine: &ExecutionEngine)
\ No newline at end of file diff --git a/cairo_native/utils/index.html b/cairo_native/utils/index.html index fd8c54285..f1d6919e5 100644 --- a/cairo_native/utils/index.html +++ b/cairo_native/utils/index.html @@ -1 +1 @@ -cairo_native::utils - Rust

Module cairo_native::utils

source ·
Expand description

Structs

Traits

Functions

\ No newline at end of file +cairo_native::utils - Rust

Module cairo_native::utils

source ·
Expand description

Structs

Traits

Functions

\ No newline at end of file diff --git a/cairo_native/utils/struct.LayoutError.html b/cairo_native/utils/struct.LayoutError.html index 3023bb00a..2301867b9 100644 --- a/cairo_native/utils/struct.LayoutError.html +++ b/cairo_native/utils/struct.LayoutError.html @@ -1,6 +1,6 @@ -LayoutError in cairo_native::utils - Rust
pub struct LayoutError;

Trait Implementations§

source§

impl Clone for LayoutError

source§

fn clone(&self) -> LayoutError

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 LayoutError

source§

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

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

impl Display for LayoutError

source§

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

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

impl Error for LayoutError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl PartialEq<LayoutError> for LayoutError

source§

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

This method tests for self and other values to be equal, and is used +LayoutError in cairo_native::utils - Rust
pub struct LayoutError;

Trait Implementations§

source§

impl Clone for LayoutError

source§

fn clone(&self) -> LayoutError

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 LayoutError

source§

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

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

impl Display for LayoutError

source§

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

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

impl Error for LayoutError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl From<LayoutError> for ErrorImpl

source§

fn from(source: LayoutError) -> Self

Converts to this type from the input type.
source§

impl PartialEq<LayoutError> for LayoutError

source§

fn eq(&self, other: &LayoutError) -> 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 LayoutError

source§

impl StructuralEq for LayoutError

source§

impl StructuralPartialEq for LayoutError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Eq for LayoutError

source§

impl StructuralEq for LayoutError

source§

impl StructuralPartialEq for LayoutError

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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) -> Twhere diff --git a/cairo_native/utils/trait.ProgramRegistryExt.html b/cairo_native/utils/trait.ProgramRegistryExt.html index d07d0c6f6..cce53da74 100644 --- a/cairo_native/utils/trait.ProgramRegistryExt.html +++ b/cairo_native/utils/trait.ProgramRegistryExt.html @@ -1,4 +1,4 @@ -ProgramRegistryExt in cairo_native::utils - Rust
pub trait ProgramRegistryExt<TType, TLibfunc>where
+ProgramRegistryExt in cairo_native::utils - Rust
pub trait ProgramRegistryExt<TType, TLibfunc>where
     TType: GenericType,
     TLibfunc: GenericLibfunc,{
     // Required methods
@@ -22,7 +22,7 @@
     ) -> Result<(Type<'ctx>, Layout), <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>
        where <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,
              <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>;
-}

Required Methods§

source

fn build_type<'ctx>( +}

Required Methods§

source

fn build_type<'ctx>( &self, context: &'ctx Context, module: &Module<'ctx>, @@ -31,7 +31,7 @@ id: &ConcreteTypeId ) -> Result<Type<'ctx>, <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>where <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>, - <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,

source

fn build_type_with_layout<'ctx>( + <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,

source

fn build_type_with_layout<'ctx>( &self, context: &'ctx Context, module: &Module<'ctx>, @@ -40,10 +40,10 @@ id: &ConcreteTypeId ) -> Result<(Type<'ctx>, Layout), <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>where <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>, - <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,

Implementations on Foreign Types§

source§

impl<TType, TLibfunc> ProgramRegistryExt<TType, TLibfunc> for ProgramRegistry<TType, TLibfunc>where + <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,

Implementations on Foreign Types§

source§

impl<TType, TLibfunc> ProgramRegistryExt<TType, TLibfunc> for ProgramRegistry<TType, TLibfunc>where TType: GenericType, TLibfunc: GenericLibfunc, - <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,

source§

fn build_type<'ctx>( + <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,

source§

fn build_type<'ctx>( &self, context: &'ctx Context, module: &Module<'ctx>, @@ -52,7 +52,7 @@ id: &ConcreteTypeId ) -> Result<Type<'ctx>, <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>where <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>, - <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,

source§

fn build_type_with_layout<'ctx>( + <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,

source§

fn build_type_with_layout<'ctx>( &self, context: &'ctx Context, module: &Module<'ctx>, diff --git a/cairo_native/values/enum.JITValue.html b/cairo_native/values/enum.JITValue.html index f16d2d5c6..2a3f92d48 100644 --- a/cairo_native/values/enum.JITValue.html +++ b/cairo_native/values/enum.JITValue.html @@ -25,7 +25,7 @@

They map to the cairo/sierra types.

The debug_name field on some variants is Some when receiving a JITValue as a result.

Variants§

§

Felt252(Felt252)

§

Array(Vec<Self>)

all elements need to be same type

-
§

Struct

Fields

§fields: Vec<Self>
§debug_name: Option<String>
§

Enum

Fields

§tag: usize
§value: Box<Self>
§debug_name: Option<String>
§

Felt252Dict

Fields

§value: HashMap<Felt252, Self>
§debug_name: Option<String>
§

Uint8(u8)

§

Uint16(u16)

§

Uint32(u32)

§

Uint64(u64)

§

Uint128(u128)

§

EcPoint(Felt252, Felt252)

§

EcState(Felt252, Felt252, Felt252, Felt252)

Implementations§

source§

impl JITValue

source

pub fn felt_str(value: &str) -> Self

String to felt

+
§

Struct

Fields

§fields: Vec<Self>
§debug_name: Option<String>
§

Enum

Fields

§tag: usize
§value: Box<Self>
§debug_name: Option<String>
§

Felt252Dict

Fields

§value: HashMap<Felt252, Self>
§debug_name: Option<String>
§

Uint8(u8)

§

Uint16(u16)

§

Uint32(u32)

§

Uint64(u64)

§

Uint128(u128)

§

EcPoint(Felt252, Felt252)

§

EcState(Felt252, Felt252, Felt252, Felt252)

Implementations§

source§

impl JITValue

source

pub fn felt_str(value: &str) -> Self

String to felt

Trait Implementations§

source§

impl Clone for JITValue

source§

fn clone(&self) -> JITValue

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 JITValue

source§

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

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

impl<T: Into<JITValue> + Clone> From<&[T]> for JITValue

source§

fn from(value: &[T]) -> Self

Converts to this type from the input type.
source§

impl<T: Into<JITValue>, const N: usize> From<[T; N]> for JITValue

source§

fn from(value: [T; N]) -> Self

Converts to this type from the input type.
source§

impl From<Felt252> for JITValue

source§

fn from(value: Felt252) -> Self

Converts to this type from the input type.
source§

impl<T: Into<JITValue>> From<Vec<T, Global>> for JITValue

source§

fn from(value: Vec<T>) -> Self

Converts to this type from the input type.
source§

impl From<u128> for JITValue

source§

fn from(value: u128) -> Self

Converts to this type from the input type.
source§

impl From<u16> for JITValue

source§

fn from(value: u16) -> Self

Converts to this type from the input type.
source§

impl From<u32> for JITValue

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<u64> for JITValue

source§

fn from(value: u64) -> Self

Converts to this type from the input type.
source§

impl From<u8> for JITValue

source§

fn from(value: u8) -> Self

Converts to this type from the input type.
source§

impl PartialEq<JITValue> for JITValue

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 Eq for JITValue

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/cairo_native/values/index.html b/cairo_native/values/index.html index d52140ad3..b8f2e1e15 100644 --- a/cairo_native/values/index.html +++ b/cairo_native/values/index.html @@ -1,4 +1,4 @@ -cairo_native::values - Rust

Module cairo_native::values

source ·
Expand description

JIT params and return values de/serialization

+cairo_native::values - Rust

Module cairo_native::values

source ·
Expand description

JIT params and return values de/serialization

A Rusty interface to provide parameters to JIT calls.

Enums

  • A JITValue is a value that can be passed to the JIT engine as an argument or received as a result.

Traits

\ No newline at end of file diff --git a/cairo_native/values/trait.ValueBuilder.html b/cairo_native/values/trait.ValueBuilder.html index bd65d835e..3d15af867 100644 --- a/cairo_native/values/trait.ValueBuilder.html +++ b/cairo_native/values/trait.ValueBuilder.html @@ -1,10 +1,10 @@ -ValueBuilder in cairo_native::values - Rust
pub trait ValueBuilder {
+ValueBuilder in cairo_native::values - Rust
pub trait ValueBuilder {
     // Required method
     fn is_complex(&self) -> bool;
 }
Expand description

The ValueBuilder trait is implemented any de/serializable value, which is the TType generic.

-

Required Methods§

source

fn is_complex(&self) -> bool

Return whether the type is considered complex or simple.

+

Required Methods§

source

fn is_complex(&self) -> bool

Return whether the type is considered complex or simple.

Complex types are always passed by pointer (both as params and return values) and require a stack allocation. Examples of complex values include structs and enums, but not felts since LLVM considers them integers.

-

Implementations on Foreign Types§

source§

impl ValueBuilder for CoreTypeConcrete

Implementors§

\ No newline at end of file +

Implementations on Foreign Types§

source§

impl ValueBuilder for CoreTypeConcrete

Implementors§

\ No newline at end of file diff --git a/cairo_native_runtime/all.html b/cairo_native_runtime/all.html index 2e2d089ac..58bd5956f 100644 --- a/cairo_native_runtime/all.html +++ b/cairo_native_runtime/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cairo_native_runtime/fn.cairo_native__dict_free.html b/cairo_native_runtime/fn.cairo_native__dict_free.html new file mode 100644 index 000000000..4b7ed310a --- /dev/null +++ b/cairo_native_runtime/fn.cairo_native__dict_free.html @@ -0,0 +1,6 @@ +cairo_native__dict_free in cairo_native_runtime - Rust
#[no_mangle]
+pub unsafe extern "C" fn cairo_native__dict_free(map: *mut c_void)
Expand description

Frees the dictionary.

+

Safety

+

This function is intended to be called from MLIR, deals with pointers, and is therefore +definitely unsafe to use manually.

+
\ No newline at end of file diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html index c4e407546..2a92082c4 100644 --- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html +++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html @@ -1,4 +1,4 @@ -cairo_native__libfunc__ec__ec_point_from_x_nz in cairo_native_runtime - Rust
#[no_mangle]
+cairo_native__libfunc__ec__ec_point_from_x_nz in cairo_native_runtime - Rust
#[no_mangle]
 pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_point_from_x_nz(
     point_ptr: NonNull<[[u8; 32]; 2]>
 ) -> bool
Expand description

Compute ec_point_from_x_nz(x) and store it.

diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html index 4335a21ec..c959b12d3 100644 --- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html +++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html @@ -1,4 +1,4 @@ -cairo_native__libfunc__ec__ec_point_try_new_nz in cairo_native_runtime - Rust
#[no_mangle]
+cairo_native__libfunc__ec__ec_point_try_new_nz in cairo_native_runtime - Rust
#[no_mangle]
 pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_point_try_new_nz(
     point_ptr: NonNull<[[u8; 32]; 2]>
 ) -> bool
Expand description

Compute ec_point_try_new_nz(x).

diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html index 2c6af91cd..7705a3428 100644 --- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html +++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html @@ -1,4 +1,4 @@ -cairo_native__libfunc__ec__ec_state_add in cairo_native_runtime - Rust
#[no_mangle]
+cairo_native__libfunc__ec__ec_state_add in cairo_native_runtime - Rust
#[no_mangle]
 pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_state_add(
     state_ptr: NonNull<[[u8; 32]; 4]>,
     point_ptr: NonNull<[[u8; 32]; 2]>
diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html
index e2c66afcd..9d0f78764 100644
--- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html
+++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html
@@ -1,4 +1,4 @@
-cairo_native__libfunc__ec__ec_state_add_mul in cairo_native_runtime - Rust
#[no_mangle]
+cairo_native__libfunc__ec__ec_state_add_mul in cairo_native_runtime - Rust
#[no_mangle]
 pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_state_add_mul(
     state_ptr: NonNull<[[u8; 32]; 4]>,
     scalar_ptr: NonNull<[u8; 32]>,
diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html
index 2744a134c..2d9844943 100644
--- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html
+++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html
@@ -1,4 +1,4 @@
-cairo_native__libfunc__ec__ec_state_try_finalize_nz in cairo_native_runtime - Rust
#[no_mangle]
+cairo_native__libfunc__ec__ec_state_try_finalize_nz in cairo_native_runtime - Rust
#[no_mangle]
 pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_state_try_finalize_nz(
     point_ptr: NonNull<[[u8; 32]; 2]>,
     state_ptr: NonNull<[[u8; 32]; 4]>
diff --git a/cairo_native_runtime/index.html b/cairo_native_runtime/index.html
index 09e70d2f2..c59161a4c 100644
--- a/cairo_native_runtime/index.html
+++ b/cairo_native_runtime/index.html
@@ -1 +1 @@
-cairo_native_runtime - Rust

Functions

\ No newline at end of file +cairo_native_runtime - Rust

Functions

\ No newline at end of file diff --git a/cairo_native_runtime/sidebar-items.js b/cairo_native_runtime/sidebar-items.js index 9bcca5258..9fda77553 100644 --- a/cairo_native_runtime/sidebar-items.js +++ b/cairo_native_runtime/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["cairo_native__alloc_dict","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["cairo_native__alloc_dict","cairo_native__dict_free","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"]}; \ No newline at end of file diff --git a/help.html b/help.html index 8b363e0fe..3aa214f0e 100644 --- a/help.html +++ b/help.html @@ -1 +1 @@ -Rustdoc help

Rustdoc help

Back
\ No newline at end of file +Rustdoc help

Rustdoc help

Back
\ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index 7f7519df7..837f3581a 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"cairo_native":[["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl<TType, TLibfunc> From<EditStateError> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<LayoutError> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>, const N: usize> From<[T; N]> for JITValue"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<u64> for JITValue"],["impl<TType, TLibfunc, E> From<E> for Box<Error<TType, TLibfunc>>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl<TType, TLibfunc, E> From<E> for Error<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl From<LayoutError> for ErrorImpl"],["impl From<u16> for JITValue"],["impl<TType, TLibfunc> From<Box<ProgramRegistryError, Global>> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Felt252> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl<T: Into<JITValue> + Clone> From<&[T]> for JITValue"],["impl From<u32> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl From<Error> for ErrorImpl"],["impl<TType, TLibfunc> From<Error> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>> From<Vec<T, Global>> for JITValue"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Box<Error>where\n ErrorImpl: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<u128> for JITValue"],["impl From<u8> for JITValue"],["impl From<LayoutError> for ErrorImpl"]] +"cairo_native":[["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl<TType, TLibfunc> From<EditStateError> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<LayoutError> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>, const N: usize> From<[T; N]> for JITValue"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<u64> for JITValue"],["impl<TType, TLibfunc, E> From<E> for Box<Error<TType, TLibfunc>>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl<TType, TLibfunc, E> From<E> for Error<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl From<LayoutError> for ErrorImpl"],["impl From<u16> for JITValue"],["impl<TType, TLibfunc> From<Box<ProgramRegistryError, Global>> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Felt252> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl<T: Into<JITValue> + Clone> From<&[T]> for JITValue"],["impl From<u32> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl From<Error> for ErrorImpl"],["impl<TType, TLibfunc> From<Error> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>> From<Vec<T, Global>> for JITValue"],["impl From<Error> for ErrorImpl"],["impl From<Error> for ErrorImpl"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Box<Error>where\n ErrorImpl: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<u128> for JITValue"],["impl From<u8> for JITValue"],["impl From<LayoutError> for ErrorImpl"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/search-index.js b/search-index.js index 9b32a616c..22aa47ac7 100644 --- a/search-index.js +++ b/search-index.js @@ -1,9 +1,9 @@ var searchIndex = JSON.parse('{\ -"cairo_native":{"doc":"This crate is a compiler and JIT engine that transforms …","t":"DDLLLLLLALLLLFAAAFFAALLLLLLLAAAFFLMMLLLLLLLLLLLLLLALLLLLLLLLALLLLAALLDLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLFLLLLLLLLLLLLLLLDDLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLCCCCAAAAGNDENNNNLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNNNGNNLLLLLLLLLLLLLLLLLFFFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDENNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDLLLMMLLLLMMLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLEQNIDNLALAAALLLLALAKALLLALAAAAAAALLAALLLKAAAALLLLLLLLLLLLLLAAALLLLLLLLAAAAAAAAALLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDLLALALLALLLLLLAALLLLLLLLAAAALLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDDDLMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDIGDDLMMMMLLLLLLLLLLLLKMMLLMKKMLLLLLLLKKLLLLLLKKMMKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKMKKKKKKKKKKKKMKKLMLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLLLQIDLALLLLALLAKALLLLAAALLALLLLLLAAALLALLKLKLAAAAALLLLLLLALAAAALLLLLAAAAAAALLKLFFFFFFFGFFFDDLLLLFLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFDILLLKKFLLFFLLLLLLFFFFFFLLLFFLFFFFLFLLLLLLLFLLLLLFLLLNNNNNNENNNNNNILLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMMMMM","n":["ExecutionResult","LLVMCompileError","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","cache","clone","clone","clone_into","clone_into","compile","context","debug_info","error","execute","execute_contract","execution_result","executor","fmt","fmt","fmt","from","from","into","into","libfuncs","metadata","module","module_to_object","object_to_shared_lib","provide","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","types","upcast","upcast","upcast_mut","upcast_mut","utils","values","vzip","vzip","ProgramCache","borrow","borrow_mut","compile_and_insert","context","fmt","from","get","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeContext","borrow","borrow_mut","compile","default","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","initialize_mlir","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugInfo","DebugLocations","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","extract","extract","fmt","fmt","from","from","funcs","funcs","into","into","libfunc_declarations","libfunc_declarations","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","statements","statements","to_owned","to_owned","try_from","try_from","try_into","try_into","type_declarations","type_declarations","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","CompileError","CoreLibfuncBuilderError","CoreTypeBuilderError","JitRunnerError","compile","jit_engine","libfuncs","types","CompileError","EditStateError","Error","ErrorImpl","LibfuncBuilderError","MlirError","ProgramRegistryError","TypeBuilderError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_libfunc_builder_error","make_type_builder_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","error","libfunc_id","type_id","Error","ErrorImpl","InsufficientGasError","LayoutError","MissingParameter","MissingSyscallHandler","MlirError","ProgramRegistryError","RunnerError","TypeBuilderError","UnexpectedValue","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_insufficient_gas_error","make_missing_parameter","make_type_builder_error","make_unexpected_value_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","have","needed","type_id","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","MlirError","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","ContractExecutionResult","borrow","borrow_mut","default","error_msg","failure_flag","fmt","from","from_execution_result","into","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeExecutor","borrow","borrow_mut","execute","execute_contract","from","get_module","get_module_mut","get_program_registry","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BranchTarget","Error","Jump","LibfuncBuilder","LibfuncHelper","Return","__clone_box","ap_tracking","append_block","array","bitwise","bool","borrow","borrow","borrow_mut","borrow_mut","box","br","branch_align","build","cast","clone","clone_into","cond_br","debug","deref","drop","dup","ec","enum","felt252","felt252_dict","felt252_dict_entry","from","from","function_call","gas","init_block","into","into","is_function_call","mem","nullable","pedersen","poseidon","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","snapshot_take","stark_net","struct","switch","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uint128","uint16","uint256","uint32","uint512","uint64","uint8","unconditional_jump","unwrap_non_zero","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build_disable","build_enable","build_revoke","build","build_append","build_get","build_len","build_new","build_pop_front","build_pop_front_consume","build_slice","build_snapshot_pop_back","build_snapshot_pop_front","build","build","build_bool_not","build_bool_to_felt252","build","build_into_box","build_unbox","build","build","build_downcast","build_upcast","build","build_print","build","build","build","build_is_zero","build_neg","build_point_from_x","build_state_add","build_state_add_mul","build_state_finalize","build_state_init","build_try_new","build_unwrap_point","build_zero","build","build_init","build_match","build_snapshot_match","build","build_binary_operation","build_const","build_is_zero","build","build_new","build_squash","build","build_finalize","build_get","build","build","build_builtin_withdraw_gas","build_get_builtin_costs","build_withdraw_gas","build","build_alloc_local","build_finalize_locals","build_rename","build_store_local","build_store_temp","build","build","build_pedersen","build","build_hades_permutation","build","build","build_call_contract","build_class_hash_const","build_class_hash_to_felt252","build_class_hash_try_from_felt252","build_contract_address_const","build_contract_address_to_felt252","build_contract_address_try_from_felt252","build_deploy","build_emit_event","build_get_block_hash","build_get_execution_info","build_keccak","build_library_call","build_replace_class","build_send_message_to_l1","build_storage_address_from_base","build_storage_address_from_base_and_offset","build_storage_address_to_felt252","build_storage_address_try_from_felt252","build_storage_base_address_const","build_storage_base_address_from_felt252","build_storage_read","build_storage_write","build","build_construct","build_deconstruct","build","build_byte_reverse","build_const","build_divmod","build_equal","build_from_felt252","build_guarantee_mul","build_guarantee_verify","build_is_zero","build_operation","build_square_root","build_to_felt252","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod","build_is_zero","build_square_root","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod_u256","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build","MetadataStorage","borrow","borrow_mut","debug_utils","default","enum_snapshot_variants","fmt","from","gas","get","get_mut","get_or_insert_with","insert","into","new","prime_modulo","realloc_bindings","remove","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","runtime_bindings","snapshot_clones","syscall_handler","tail_recursion","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugUtils","borrow","borrow_mut","breakpoint_marker","default","fmt","from","into","print_i1","print_pointer","register_impls","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","EnumSnapshotVariantsMeta","borrow","borrow_mut","default","from","get_variants","into","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_mapping","try_from","try_into","type_id","upcast","upcast_mut","vzip","GasCost","GasMetadata","MetadataComputationConfig","__clone_box","ap_change_info","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","fmt","from","from","from","function_set_costs","gas_info","get_gas_cost_for_statement","get_initial_required_gas","into","into","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","vzip","vzip","vzip","PrimeModuloMeta","borrow","borrow_mut","fmt","from","into","new","prime","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","ReallocBindingsMeta","borrow","borrow_mut","fmt","from","into","new","realloc","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","RuntimeBindingsMeta","borrow","borrow_mut","default","dict_alloc_new","dict_get","dict_insert","fmt","from","into","libfunc_debug_print","libfunc_ec_point_from_x_nz","libfunc_ec_point_try_new_nz","libfunc_ec_state_add","libfunc_ec_state_add_mul","libfunc_ec_state_try_finalize_nz","libfunc_hades_permutation","libfunc_pedersen","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","CloneFn","SnapshotClonesMeta","borrow","borrow_mut","default","from","into","register","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","wrap_invoke","SyscallHandlerMeta","__clone_box","as_ptr","borrow","borrow_mut","clone","clone_into","drop","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","TailRecursionMeta","borrow","borrow_mut","depth_counter","fmt","from","into","new","recursion_target","return_target","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_return_target","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeModule","borrow","borrow_mut","fmt","from","get_metadata","get_required_init_gas","insert_metadata","into","metadata","module","new","program_registry","remove_metadata","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BlockInfo","ExecutionInfo","Secp256k1Point","Secp256r1Point","StarkNetSyscallHandler","SyscallResult","TxInfo","U256","__clone_box","account_contract_address","block_info","block_number","block_timestamp","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call_contract","caller_address","chain_id","clone","clone_into","contract_address","deploy","emit_event","entry_point_selector","fmt","from","from","from","from","from","from","get_block_hash","get_execution_info","into","into","into","into","into","into","keccak","library_call","max_fee","nonce","pop_log","replace_class","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","secp256k1_add","secp256k1_get_point_from_x","secp256k1_get_xy","secp256k1_mul","secp256k1_new","secp256r1_add","secp256r1_get_point_from_x","secp256r1_get_xy","secp256r1_mul","secp256r1_new","send_message_to_l1","sequencer_address","set_account_contract_address","set_block_number","set_block_timestamp","set_caller_address","set_chain_id","set_contract_address","set_max_fee","set_nonce","set_sequencer_address","set_signature","set_transaction_hash","set_version","signature","storage_read","storage_write","to_owned","transaction_hash","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_info","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","version","vzip","vzip","vzip","vzip","vzip","vzip","Error","TypeBuilder","WithSelf","__clone_box","array","as_bits","as_byte_slice","as_ref","as_slice_of","bitwise","borrow","borrow_mut","box","build","builtin_costs","clone","clone_into","deref","dim","ec_op","ec_point","ec_state","encode_hex","encode_hex_upper","enum","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252","felt252_dict","felt252_dict_entry","fmt","from","gas_builtin","get_hash","hash","integer_width","into","layout","new","non_zero","nullable","pedersen","poseidon","range_check","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","segment_arena","self_ty","snapshot","squashed_felt252_dict","stark_net","struct","to_owned","try_as_bits","try_from","try_into","type_id","uint128","uint128_mul_guarantee","uint16","uint32","uint64","uint8","uninitialized","upcast","upcast_mut","variants","vzip","build","build","build","build","build","build","build","TypeLayout","build","get_layout_for_variants","get_type_for_variants","Felt252","PRIME","borrow","borrow","borrow_mut","borrow_mut","build","deref","fmt","from","from","into","into","register_prime_modulo_meta","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build","build","build","build","build","build","build","build","build","build","build","build_class_hash","build_contract_address","build_storage_address","build_storage_base_address","build_system","build","build","build","build","build","build","build","build","LayoutError","ProgramRegistryExt","__clone_box","borrow","borrow_mut","build_type","build_type_with_layout","cairo_to_sierra","clone","clone_into","create_engine","debug_with","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252_bigint","felt252_short_str","felt252_str","find_entry_point","find_entry_point_by_idx","find_function_id","fmt","fmt","from","generate_function_name","get_integer_layout","into","layout_repeat","next_multiple_of_u32","next_multiple_of_usize","padding_needed_for","provide","register_runtime_symbols","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","run_pass_manager","to_owned","to_string","try_from","try_into","type_id","u32_vec_to_felt","upcast","upcast_mut","vzip","Array","EcPoint","EcState","Enum","Felt252","Felt252Dict","JITValue","Struct","Uint128","Uint16","Uint32","Uint64","Uint8","ValueBuilder","__clone_box","borrow","borrow_mut","clone","clone_into","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt_str","fmt","from","from","from","from","from","from","from","from","from","from","into","is_complex","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","debug_name","debug_name","debug_name","fields","tag","value","value"],"q":[[0,"cairo_native"],[69,"cairo_native::cache"],[92,"cairo_native::context"],[121,"cairo_native::debug_info"],[177,"cairo_native::error"],[185,"cairo_native::error::compile"],[245,"cairo_native::error::compile::ErrorImpl"],[249,"cairo_native::error::jit_engine"],[314,"cairo_native::error::jit_engine::ErrorImpl"],[318,"cairo_native::error::libfuncs"],[379,"cairo_native::error::types"],[437,"cairo_native::execution_result"],[462,"cairo_native::executor"],[486,"cairo_native::libfuncs"],[571,"cairo_native::libfuncs::ap_tracking"],[575,"cairo_native::libfuncs::array"],[585,"cairo_native::libfuncs::bitwise"],[586,"cairo_native::libfuncs::bool"],[589,"cairo_native::libfuncs::box"],[592,"cairo_native::libfuncs::branch_align"],[593,"cairo_native::libfuncs::cast"],[596,"cairo_native::libfuncs::debug"],[598,"cairo_native::libfuncs::drop"],[599,"cairo_native::libfuncs::dup"],[600,"cairo_native::libfuncs::ec"],[611,"cairo_native::libfuncs::enum"],[615,"cairo_native::libfuncs::felt252"],[619,"cairo_native::libfuncs::felt252_dict"],[622,"cairo_native::libfuncs::felt252_dict_entry"],[625,"cairo_native::libfuncs::function_call"],[626,"cairo_native::libfuncs::gas"],[630,"cairo_native::libfuncs::mem"],[636,"cairo_native::libfuncs::nullable"],[637,"cairo_native::libfuncs::pedersen"],[639,"cairo_native::libfuncs::poseidon"],[641,"cairo_native::libfuncs::snapshot_take"],[642,"cairo_native::libfuncs::stark_net"],[666,"cairo_native::libfuncs::struct"],[669,"cairo_native::libfuncs::uint128"],[681,"cairo_native::libfuncs::uint16"],[691,"cairo_native::libfuncs::uint256"],[695,"cairo_native::libfuncs::uint32"],[705,"cairo_native::libfuncs::uint512"],[707,"cairo_native::libfuncs::uint64"],[717,"cairo_native::libfuncs::uint8"],[727,"cairo_native::libfuncs::unconditional_jump"],[728,"cairo_native::libfuncs::unwrap_non_zero"],[729,"cairo_native::metadata"],[764,"cairo_native::metadata::debug_utils"],[788,"cairo_native::metadata::enum_snapshot_variants"],[809,"cairo_native::metadata::gas"],[875,"cairo_native::metadata::prime_modulo"],[896,"cairo_native::metadata::realloc_bindings"],[917,"cairo_native::metadata::runtime_bindings"],[948,"cairo_native::metadata::snapshot_clones"],[970,"cairo_native::metadata::syscall_handler"],[1002,"cairo_native::metadata::tail_recursion"],[1026,"cairo_native::module"],[1053,"cairo_native::starknet"],[1217,"cairo_native::types"],[1294,"cairo_native::types::array"],[1295,"cairo_native::types::bitwise"],[1296,"cairo_native::types::box"],[1297,"cairo_native::types::builtin_costs"],[1298,"cairo_native::types::ec_op"],[1299,"cairo_native::types::ec_point"],[1300,"cairo_native::types::ec_state"],[1301,"cairo_native::types::enum"],[1305,"cairo_native::types::felt252"],[1345,"cairo_native::types::felt252_dict"],[1346,"cairo_native::types::felt252_dict_entry"],[1347,"cairo_native::types::gas_builtin"],[1348,"cairo_native::types::non_zero"],[1349,"cairo_native::types::nullable"],[1350,"cairo_native::types::pedersen"],[1351,"cairo_native::types::poseidon"],[1352,"cairo_native::types::range_check"],[1353,"cairo_native::types::segment_arena"],[1354,"cairo_native::types::snapshot"],[1355,"cairo_native::types::squashed_felt252_dict"],[1356,"cairo_native::types::stark_net"],[1362,"cairo_native::types::struct"],[1363,"cairo_native::types::uint128"],[1364,"cairo_native::types::uint128_mul_guarantee"],[1365,"cairo_native::types::uint16"],[1366,"cairo_native::types::uint32"],[1367,"cairo_native::types::uint64"],[1368,"cairo_native::types::uint8"],[1369,"cairo_native::types::uninitialized"],[1370,"cairo_native::utils"],[1423,"cairo_native::values"],[1476,"cairo_native::values::JITValue"]],"d":["The result of the JIT execution.","","","","","","","","","","","","","Run the compiler on a program. The compiled program is …","","Extracts useful debugging information from cairo programs …","Various error types used thorough the crate.","Execute a function on an engine loaded with a Sierra …","Utility function to make it easier to execute contracts. …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Compiler libfunc infrastructure","Code generation metadata","","Make sure to call","","","","","","","","","","","","","","","","","","","Starknet related code for cairo_native","","","","","","","","","","Compiler type infrastructure","","","","","Various utilities","JIT params and return values de/serialization","","","A Cache for programs with the same context.","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Context of IRs, dialects and passes for Cairo programs …","","","Compiles a sierra program into MLIR and then lowers to …","","","","","","","","","Returns the argument unchanged.","Initialize an MLIR context.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Starknet contract execution result.","","","","","","","Returns the argument unchanged.","Convert a [ExecuteResult] to a [NativeExecutionResult]","Calls U::from(self).","","","","","","","","","","","","","","","","A MLIR JIT execution engine in the context of Cairo Native.","","","Execute a program with the given params.","Execute a contract with the given calldata.","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","A libfunc branching target.","Error type returned by this trait’s methods.","A block within the current libfunc.","Generation of MLIR operations from their Sierra …","Helper struct which contains logic generation for extra …","A statement’s branch target by its index.","","AP tracking libfuncs","Inserts a new block after all the current libfunc’s …","Array libfuncs","Bitwise libfuncs","Boolean libfuncs","","","","","Box libfuncs","Creates an unconditional branching operation out of the …","Branch alignment libfunc","Generate the MLIR operations.","Casting libfuncs","","","Creates a conditional binary branching operation, …","Debug libfuncs","","AP tracking libfuncs","State value duplication libfunc","Elliptic curve libfuncs","Enum-related libfuncs","felt252-related libfuncs","felt252 dictionary libfuncs","felt252 dictionary entry libfuncs","Returns the argument unchanged.","Returns the argument unchanged.","Function call libfuncs","Gas management libfuncs","Return the initialization block.","Calls U::from(self).","Calls U::from(self).","Return the target function if the statement is a function …","Memory-related libfuncs","Nullable libfuncs","Pedersen hashing libfuncs","Poseidon hashing libfuncs","","","","","","","","","","","","","","","Snapshot taking libfuncs","StarkNet libfuncs","Struct-related libfuncs","Creates a conditional multi-branching operation, …","","","","","","","","u128-related libfuncs","u16-related libfuncs","u256-related libfuncs","u32-related libfuncs","u512-related libfuncs","u64-related libfuncs","u8-related libfuncs","Unconditional jump libfunc","Non-zero unwrapping libfuncs","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the disable_ap_tracking …","Generate MLIR operations for the enable_ap_tracking. …","Generate MLIR operations for the revoke_ap_tracking. …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the array_append libfunc.","Generate MLIR operations for the array_get libfunc.","Generate MLIR operations for the array_append libfunc.","Generate MLIR operations for the array_new libfunc.","Generate MLIR operations for the array_pop_front libfunc.","Generate MLIR operations for the array_pop_front_consume …","Generate MLIR operations for the array_slice libfunc.","Generate MLIR operations for the array_snapshot_pop_back …","Generate MLIR operations for the array_snapshot_pop_front …","Generate MLIR operations for the bitwise libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the bool_not_impl libfunc.","Generate MLIR operations for the unbox libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the into_box libfunc.","Generate MLIR operations for the unbox libfunc.","Generate MLIR operations for the branch_align libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the downcast libfunc.","Generate MLIR operations for the upcast libfunc.","","","Generate MLIR operations for the drop libfunc.","Generate MLIR operations for the dup libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the ec_point_is_zero libfunc.","Generate MLIR operations for the ec_neg libfunc.","Generate MLIR operations for the ec_point_from_x_nz …","Generate MLIR operations for the ec_state_add libfunc.","Generate MLIR operations for the ec_state_add_mul libfunc.","Generate MLIR operations for the ec_state_try_finalize_nz …","Generate MLIR operations for the ec_state_init libfunc.","Generate MLIR operations for the ec_point_try_new_nz …","Generate MLIR operations for the ec_point_unwrap libfunc.","Generate MLIR operations for the ec_point_zero libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the enum_init libfunc.","Generate MLIR operations for the enum_match libfunc.","Generate MLIR operations for the enum_snapshot_match …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the following libfuncs:","Generate MLIR operations for the felt252_const libfunc.","Generate MLIR operations for the felt252_is_zero libfunc.","Select and call the correct libfunc builder function from …","","","Select and call the correct libfunc builder function from …","","","Generate MLIR operations for the function_call libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the withdraw_gas_all libfunc.","Generate MLIR operations for the get_builtin_costs libfunc.","Generate MLIR operations for the withdraw_gas libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the alloc_local libfunc.","Generate MLIR operations for the finalize_locals libfunc.","Generate MLIR operations for the rename libfunc.","Generate MLIR operations for the store_local libfunc.","Generate MLIR operations for the store_temp libfunc.","Select and call the correct libfunc builder function from …","Select and call the correct libfunc builder function from …","","Select and call the correct libfunc builder function from …","","Generate MLIR operations for the snapshot_take libfunc.","Select and call the correct libfunc builder function from …","","","","","","","","","","","","","","","","","","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the struct_construct libfunc.","Generate MLIR operations for the struct_deconstruct …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u128_byte_reverse libfunc.","Generate MLIR operations for the u128_const libfunc.","Generate MLIR operations for the u128_safe_divmod libfunc.","Generate MLIR operations for the u128_equal libfunc.","Generate MLIR operations for the u128_from_felt252 libfunc.","Generate MLIR operations for the u128_guarantee_mul …","Generate MLIR operations for the u128_guarantee_verify …","Generate MLIR operations for the u128_is_zero libfunc.","Generate MLIR operations for the u128_add and u128_sub …","Generate MLIR operations for the u128_sqrt libfunc.","Generate MLIR operations for the u128_to_felt252 libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u16_const libfunc.","Generate MLIR operations for the u16_safe_divmod libfunc.","Generate MLIR operations for the u16_eq libfunc.","Generate MLIR operations for the u16_from_felt252 libfunc.","Generate MLIR operations for the u16_is_zero libfunc.","Generate MLIR operations for the u16 operation libfunc.","Generate MLIR operations for the u16_sqrt libfunc.","Generate MLIR operations for the u16_to_felt252 libfunc.","Generate MLIR operations for the u16_widemul libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u256_safe_divmod libfunc.","Generate MLIR operations for the u256_is_zero libfunc.","Generate MLIR operations for the u256_sqrt libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u32_const libfunc.","Generate MLIR operations for the u32_safe_divmod libfunc.","Generate MLIR operations for the u32_eq libfunc.","Generate MLIR operations for the u32_from_felt252 libfunc.","Generate MLIR operations for the u32_is_zero libfunc.","Generate MLIR operations for the u32 operation libfunc.","Generate MLIR operations for the u32_sqrt libfunc.","Generate MLIR operations for the u32_to_felt252 libfunc.","Generate MLIR operations for the u32_widemul libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u512_safe_divmod_by_u256 …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u64_const libfunc.","Generate MLIR operations for the u64_safe_divmod libfunc.","Generate MLIR operations for the u64_eq libfunc.","Generate MLIR operations for the u64_from_felt252 libfunc.","Generate MLIR operations for the u64_is_zero libfunc.","Generate MLIR operations for the u64 operation libfunc.","Generate MLIR operations for the u64_sqrt libfunc.","Generate MLIR operations for the u64_to_felt252 libfunc.","Generate MLIR operations for the u64_widemul libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u8_const libfunc.","Generate MLIR operations for the u8_safe_divmod libfunc.","Generate MLIR operations for the u8_eq libfunc.","Generate MLIR operations for the u8_from_felt252 libfunc.","Generate MLIR operations for the u8_is_zero libfunc.","Generate MLIR operations for the u8 operation libfunc.","Generate MLIR operations for the u8_sqrt libfunc.","Generate MLIR operations for the u8_to_felt252 libfunc.","Generate MLIR operations for the u8_widemul libfunc.","Generate MLIR operations for the jump libfunc.","Generate MLIR operations for the unwrap_non_zero libfunc.","Metadata container.","","","Debug utilities","","","","Returns the argument unchanged.","","Retrieve a reference to some metadata.","Retrieve a mutable reference to some metadata.","","Insert some metadata and return a mutable reference.","Calls U::from(self).","Create an empty metadata container.","Finite field prime modulo","Memory allocation external bindings","Remove some metadata and return its last value.","","","","","","","","Runtime library bindings","","","Tail recursion information","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Holds global gas info.","Configuration for metadata computation.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Prime modulo number metadata.","","","","Returns the argument unchanged.","Calls U::from(self).","Create the metadata from the prime number.","Return the stored prime number.","","","","","","","","","","","","","","Memory allocation realloc metadata.","","","","Returns the argument unchanged.","Calls U::from(self).","Register the bindings to the realloc C function and return …","Calls the realloc function, returns a op with 1 result: an …","","","","","","","","","","","","","","Runtime library bindings metadata.","","","","Register if necessary, then invoke the dict_alloc_new() …","Register if necessary, then invoke the dict_get() function.","Register if necessary, then invoke the dict_insert() …","","Returns the argument unchanged.","Calls U::from(self).","Register if necessary, then invoke the debug::print() …","Register if necessary, then invoke the ec_point_from_x_nz()…","Register if necessary, then invoke the …","Register if necessary, then invoke the ec_state_add() …","Register if necessary, then invoke the ec_state_add_mul() …","","Register if necessary, then invoke the poseidon() function.","Register if necessary, then invoke the pedersen() function.","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","The tail recursion metadata.","","","Return the current depth counter value.","","Returns the argument unchanged.","Calls U::from(self).","Create the tail recursion meta.","Return the recursion target block.","Return the return target block, if set.","","","","","","","","Set the return target block.","","","","","","","A MLIR module in the context of Cairo Native. It is …","","","","Returns the argument unchanged.","Retrieve a reference to some stored metadata.","Given some contract function’s id, returns an option of …","Insert some metadata for the program execution and return …","Calls U::from(self).","","","","","Removes metadata","","","","","","","","","","","","","","","","","","","","","Binary representation of a u256 (in MLIR).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Error type returned by this trait’s methods.","Generation of MLIR types from their Sierra counterparts.","","","Array type","","","","","Bitwise type","","","Box type","Build the MLIR type.","Builtin costs type","","","","","Elliptic curve operation type","Elliptic curve point type","Elliptic curve state type","","","Enum type","","","","","","","felt252 type","felt252 dictionary type","felt252 dictionary entry type","","Returns the argument unchanged.","Gas builtin type","","","If the type is an integer (felt not included) type, return …","Calls U::from(self).","Generate the layout of the MLIR type.","","Non-zero type","Nullable type","Pedersen type","Poseidon type","Builtin costs type","","","","","","","","Segment arena type","","Snapshot type","Squashed felt252 dictionary type","StarkNet types","Struct type","","","","","","Unsigned 128-bit integer type","Unsigned 128-bit multiplication guarantee type","Unsigned 16-bit integer type","Unsigned 32-bit integer type","Unsigned 64-bit integer type","Unsigned 8-bit integer type","Uninitialized type","","","If the type is a variant type, return all possible …","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","An MLIR type with its memory layout.","Build the MLIR type.","Extract layout for the default enum representation, its …","Extract the type and layout for the default enum …","Marker type for the PrimeModuloMeta metadata.","The felt252 prime modulo.","","","","","Build the MLIR type.","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","","","Compile a cairo program found at the given path to sierra.","","","Creates the execution engine, with all symbols registered.","Return a type that calls a closure when formatted using …","","","","","","","Parse any type that can be a bigint to a felt that can be …","Parse a short string into a felt that can be used in the …","Parse a numeric string into felt, wrapping negatives …","Returns the given entry point if present.","Returns the given entry point if present.","Given a string representing a function name, searches in …","","","Returns the argument unchanged.","Generate a function name.","Return the layout for an integer of arbitrary width.","Calls U::from(self).","Copied from std.","","","Edit: Copied from the std lib.","","","","","","","","","","","","","","","","Converts a u32 slice into a Felt252","","","","all elements need to be same type","","","","","","A JITValue is a value that can be passed to the JIT engine …","","","","","","","The ValueBuilder trait is implemented any de/serializable …","","","","","","","","","","","","String to felt","","","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Return whether the type is considered complex or simple.","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,2,3,2,3,2,3,0,2,3,2,3,0,0,0,0,0,0,0,0,2,2,3,2,3,2,3,0,0,0,0,0,2,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,3,0,2,3,2,2,3,2,3,2,3,0,2,3,2,3,0,0,2,3,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,47,47,47,47,47,47,47,47,47,47,47,47,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,0,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,51,51,51,51,51,51,11,11,11,11,11,11,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,0,0,0,0,0,0,0,0,0,54,0,0,54,54,54,54,13,54,13,54,13,13,13,54,54,13,13,54,54,54,54,13,54,0,0,13,54,13,13,13,13,13,13,13,54,54,54,54,54,54,54,13,54,13,13,54,13,54,13,54,13,54,13,54,13,54,13,54,176,177,177,176,0,0,62,62,62,62,62,62,0,62,62,23,62,23,62,23,23,23,62,62,23,23,62,62,62,62,23,62,0,0,0,0,23,62,23,23,23,23,23,23,23,62,62,62,62,62,62,62,23,62,23,23,62,23,62,23,62,23,62,23,62,23,62,23,62,178,179,179,178,0,0,65,65,65,65,0,65,64,65,64,65,64,64,64,65,65,64,64,65,65,65,65,65,65,65,64,65,64,65,64,64,64,64,64,64,64,65,65,65,65,65,65,65,64,65,64,64,65,64,65,64,65,64,65,64,65,64,65,64,65,0,0,69,69,69,0,69,67,69,67,69,67,67,67,69,69,67,67,69,69,69,69,69,67,69,67,69,67,67,67,67,67,67,67,69,69,69,69,69,69,69,67,69,67,67,69,67,69,67,69,67,69,67,69,67,69,67,69,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,0,180,77,0,0,77,77,0,71,0,0,0,71,77,71,77,0,71,0,180,0,77,77,71,0,71,0,0,0,0,0,0,0,71,77,0,0,71,71,77,180,0,0,0,0,71,71,71,71,71,71,71,77,77,77,77,77,77,77,0,0,0,71,77,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,10,0,10,10,0,10,10,10,10,10,10,0,0,10,10,10,10,10,10,10,10,0,0,0,0,10,10,10,10,10,10,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,0,0,0,123,125,125,123,124,125,123,124,123,123,124,123,125,123,124,124,125,125,125,125,123,124,125,125,125,125,125,125,125,125,123,123,123,123,123,123,123,124,124,124,124,124,124,124,123,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,0,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,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,132,132,132,132,132,132,132,132,132,132,132,132,0,0,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,0,0,0,0,0,0,0,144,181,146,182,182,146,182,181,147,183,144,146,182,181,147,183,144,139,146,181,144,144,146,139,139,146,144,146,182,181,147,183,144,139,139,146,182,181,147,183,144,139,139,181,181,139,139,146,146,146,146,146,146,146,182,182,182,182,182,182,182,181,181,181,181,181,181,181,147,147,147,147,147,147,147,183,183,183,183,183,183,183,144,144,144,144,144,144,144,139,139,139,139,139,139,139,139,139,139,139,182,139,139,139,139,139,139,139,139,139,139,139,139,181,139,139,144,181,146,182,181,147,183,144,146,182,181,147,183,144,146,146,182,181,147,183,144,146,182,181,147,183,144,146,182,181,147,183,144,181,146,182,181,147,183,144,184,0,0,151,0,151,151,151,151,0,151,151,0,184,0,151,151,151,151,0,0,0,151,151,0,151,151,151,151,151,151,0,0,0,151,151,0,151,151,184,151,184,151,0,0,0,0,0,151,151,151,151,151,151,151,0,151,0,0,0,0,151,151,151,151,151,0,0,0,0,0,0,0,151,151,184,151,0,0,0,0,0,0,0,0,0,0,0,0,0,166,167,166,167,0,166,167,166,167,166,167,0,166,166,166,166,166,166,166,167,167,167,167,167,167,167,166,167,166,167,166,167,166,167,166,167,166,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,185,185,0,66,66,0,0,66,66,66,66,66,66,0,0,0,0,0,0,66,66,66,0,0,66,0,0,0,0,66,0,66,66,66,66,66,66,66,0,66,66,66,66,66,0,66,66,66,19,19,19,19,19,19,0,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,186,19,19,19,19,19,19,19,19,19,19,19,19,19,19,187,188,189,187,188,188,189],"f":[0,0,[1],[1],[[]],[[]],[[]],[[]],0,[2,2],[3,3],[[]],[[]],[[4,5,6,[9,[7,8]],10,[12,[11]]],[[14,[[13,[7,8]]]]]],0,0,0,[[15,[9,[16,17]],18,[20,[19]],[12,[21]],[12,[21]],[12,[22]]],[[14,[3,23]]]],[[15,[9,[16,17]],18,[20,[19]],[12,[21]],21,22],[[14,[24,23]]]],0,0,[[2,25],26],[[2,25],26],[[3,25],26],[[]],[[]],[[]],[[]],0,0,0,[5,[[14,[[28,[27]],2]]]],[[[20,[27]],29],[[14,[30]]]],[31],0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],0,[[]],[[]],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,[[]],[[]],[[]],[[]],0,0,[[]],[[]],0,[[]],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]],6],[[46,[[45,[44]]]]]],[[[43,[[0,[41,42,40]]]]],47],[[[43,[[0,[40,41,42]]]],25],26],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]]],[[12,[[46,[[45,[44]]]]]]]],[[]],[47,[[43,[[0,[39,40,41,42]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[47,6],[[14,[48,49]]]],[[],47],[[47,47],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[47,25],26],[[]],[[],4],[[]],[[],47],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[1],[1],[[]],[[]],[[]],[[]],[51,51],[11,11],[[]],[[]],[[52,6],[[14,[51,53]]]],[[4,52,51],11],[[51,25],26],[[11,25],26],[[]],[[]],0,0,[[]],[[]],0,0,[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],0,0,[[]],[[]],[[],14],[[],14],[[],14],[[],14],0,0,[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[13,[7,8]]]],[[[13,[7,8]],25],26],[[[13,[7,8]],25],26],[[[54,[7,8]],25],26],[[[54,[7,8]],25],26],[[],[[13,[7,8]]]],[[]],[55,[[54,[7,8]]]],[[[33,[56]]],[[54,[7,8]]]],[57,[[54,[7,8]]]],[[]],[[]],[[]],[58,59],[60,59],[31],[31],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[13,[7,8]]],[[12,[61]]]],[[[54,[7,8]]],[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[23],[[23,25],26],[[23,25],26],[[62,25],26],[[62,25],26],[[]],[[],23],[63,62],[[[33,[56]]],62],[[]],[57,62],[[]],[[]],[[21,21],23],[60,23],[60,59],[37,23],[31],[31],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[23,[[12,[61]]]],[62,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[64],[[64,25],26],[[64,25],26],[[65,25],26],[[65,25],26],[[],64],[[]],[66,65],[[[33,[56]]],65],[[]],[57,65],[67,65],[63,65],[68,65],[[]],[[]],[31],[31],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[64,[[12,[61]]]],[65,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[67],[[67,25],26],[[67,25],26],[[69,25],26],[[69,25],26],[[],67],[[]],[68,69],[[]],[66,69],[63,69],[[[33,[56]]],69],[[]],[[]],[31],[31],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[67,[[12,[61]]]],[69,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],24],0,0,[[24,25],26],[[]],[3,[[14,[24,23]]]],[[]],0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[44,18,[20,[19]],[12,[21]]],[[14,[3,70]]]],[[44,18,[20,[19]],21],[[14,[24,70]]]],[[]],[44,48],[44,48],[44,[[9,[16,17]]]],[[]],[48,44],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,[1],0,[[71,72],72],0,0,0,[[]],[[]],[[]],[[]],0,[[71,73,[20,[74]],75],76],0,[[4,9,72,75,71,10],14],0,[77,77],[[]],[[71,4,74,[78,[73]],[78,[[20,[74]]]],75],76],0,[71],0,0,0,0,0,0,0,[[]],[[]],0,0,[71,72],[[]],[[]],[[],[[12,[18]]]],0,0,0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],0,0,0,[[71,4,74,20,75],76],[[]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[4,[9,[7,8]],72,75,71,10,79],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,82],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,84],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,85],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,86],80],[[4,[9,[7,8]],72,75,71,10,87],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,88],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,89],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,90],80],[[4,[9,[7,8]],72,75,71,10,91],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,92],80],[[4,[9,[7,8]],72,75,71,10,93],80],[[4,[9,[7,8]],72,75,71,10,94],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,95],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,96],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,97],80],[[4,[9,[7,8]],72,75,71,10,98],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,99],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,83],80],[[4,[9,[7,8]],72,75,71,10,100],80],[[4,[9,[7,8]],72,75,71,10,101],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,102],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,103],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,105],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,106],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,[108,[107]]],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,110],80],[[4,[9,[7,8]],72,75,71,10,[108,[111]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,112],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,113],80],[[4,[9,[7,8]],72,75,71,10,[108,[114]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,115],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,116],80],[[4,[9,[7,8]],72,75,71,10,[108,[117]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,118],80],[[4,[9,[7,8]],72,75,71,10,[108,[119]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],0,[[]],[[]],0,[[],10],0,[[10,25],26],[[]],0,[10,[[12,[120]]]],[10,[[12,[120]]]],[[10,59],120],[[10,120],[[12,[120]]]],[[]],[[],10],0,0,[10,[[12,[120]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],0,0,0,0,[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[121,4,5,72,75],80],[[],121],[[121,25],26],[[]],[[]],[[121,4,5,72,74,75],80],[[121,4,5,72,74,75],80],[[121,15]],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],122],[[]],[[122,60],[[12,[[28,[60]]]]]],[[]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[122,60,[12,[[20,[60]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[123,123],[[]],[[],124],[[123,25],26],[[]],[[]],[[]],0,0,[[125,126,127],[[12,[21]]]],[[125,18],[[12,[21]]]],[[]],[[]],[[]],[[6,124],125],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[[129,[128]],25],26],[[]],[[]],[130,129],[129,130],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[131,25],26],[[]],[[]],[[4,5],131],[[4,74,74,75],76],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],132],[[132,4,5,72,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,25],26],[[]],[[]],[[132,4,5,72,74,74,74,75],[[80,[74]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[[]],[[]],[[],[[134,[7,8]]]],[[]],[[]],[[[134,[7,8]],60,[135,[7,8]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],[[[134,[7,8]],60],[[12,[[137,[136]]]]]],0,[1],[22,138],[[]],[[]],[22,22],[[]],[22],[[22,22],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[22,25],26],[[]],[[]],[139,22],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[140,74],[[140,25],26],[[]],[[]],[[74,72],140],[140,141],[140,[[12,[141]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[140,72]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[48,25],26],[[]],[48,[[12,[120]]]],[[48,18],[[12,[21]]]],[[48,120],[[12,[120]]]],[[]],[48,10],[48,5],[[5,[9,[16,17]],10],48],[48,[[9,[16,17]]]],[48,[[12,[120]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[1],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[144,144],[[]],0,[[142,142,[20,[142]],50,21],143],[[[20,[142]],[20,[142]],21],143],0,[[144,25],26],[[]],[[]],[[]],[[]],[[]],[[]],[[145,21],[[143,[142]]]],[21,[[143,[146]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[[20,[145]],21],[[143,[144]]]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[[]],[[142,21],143],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[14,[[14,[14]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[142,[20,[142]],21],143],0,[142],[145],[145],[142],[142],[142],[21],[142],[142],[[[20,[142]]]],[142],[142],0,[[148,142,21],[[143,[142]]]],[[148,142,142,21],143],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],0,[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[1],0,[[],[[150,[149]]]],[[],[[20,[27]]]],[151],[[],[[14,[[20,[152]],153]]]],0,[[]],[[]],0,[[4,5,9,10,60],[[14,[154]]]],0,[[[151,[39]]],[[151,[39]]]],[[]],[151],[[],73],0,0,0,[[],[[156,[155]]]],[[],[[156,[155]]]],0,[[[151,[40]],[151,[40]]],50],[[],50],[[],50],[[],50],[[],50],[[],50],0,0,0,[[[151,[128]],25],26],[[]],0,[[[0,[42,157]],158],145],[[[151,[42]],159]],[[],[[12,[73]]]],[[]],[9,[[14,[160]]]],[60,151],0,0,0,0,0,[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],0,[151,60],0,0,0,0,[[]],[[],[[14,[[150,[149]],161]]]],[[],14],[[],14],[[],38],0,0,0,0,0,0,0,[[]],[[]],[[],[[12,[[20,[60]]]]]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],0,[[4,5,[9,[7,8]],10,[151,[165]]],[[163,[154]]]],[[[9,[7,8]],[20,[60]]],163],[[4,5,[9,[7,8]],10,[20,[60]]],163],0,0,[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[166,130],[[167,25],26],[[]],[[]],[[]],[[]],[10,[[129,[167]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[168]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[169]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],0,0,[1],[[]],[[]],[[4,5,9,10,60],[[14,[154]]]],[[4,5,9,10,60],14],[29,[[137,[6]]]],[66,66],[[]],[[5,10],15],[136,128],[[66,66],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[[171,[170]]],[[78,[148]]]],[172,[[78,[148]]]],[172,[[78,[148]]]],[[6,172],[[12,[[173,[126]]]]]],[[6,73],[[12,[[173,[126]]]]]],[[6,172],18],[[66,25],26],[[66,25],26],[[]],[18,[[174,[172]]]],[148,160],[[]],[[160,73],[[14,[66]]]],[[148,148],148],[[73,73],73],[[160,73],73],[31],[15],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[4,5],[[14,[57]]]],[[]],[[],37],[[],14],[[],14],[[],38],[[[20,[148]]],142],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[19,19],[[]],[[19,19],50],[[],50],[[],50],[[],50],[[],50],[[],50],[172,19],[[19,25],26],[27,19],[[[28,[[171,[19]]]]],19],[[]],[148,19],[[[20,[[0,[[171,[19]],39]]]]],19],[175,19],[145,19],[[[78,[[171,[19]]]]],19],[142,19],[21,19],[[]],[[],50],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0],"c":[],"p":[[3,"Private"],[3,"LLVMCompileError"],[3,"ExecutionResult"],[3,"Context"],[3,"Module"],[3,"Program"],[8,"GenericType"],[8,"GenericLibfunc"],[3,"ProgramRegistry"],[3,"MetadataStorage"],[3,"DebugLocations"],[4,"Option"],[3,"Error"],[4,"Result"],[3,"ExecutionEngine"],[4,"CoreType"],[4,"CoreLibfunc"],[3,"FunctionId"],[4,"JITValue"],[15,"slice"],[15,"u128"],[3,"SyscallHandlerMeta"],[3,"Error"],[3,"ContractExecutionResult"],[3,"Formatter"],[6,"Result"],[15,"u8"],[3,"Vec"],[3,"Path"],[3,"Error"],[3,"Demand"],[3,"Global"],[3,"Box"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"String"],[3,"TypeId"],[8,"Clone"],[8,"PartialEq"],[8,"Eq"],[8,"Hash"],[3,"ProgramCache"],[3,"NativeExecutor"],[3,"RefCell"],[3,"Rc"],[3,"NativeContext"],[3,"NativeModule"],[6,"CompileError"],[15,"bool"],[3,"DebugInfo"],[3,"RootDatabase"],[3,"DiagnosticAdded"],[4,"ErrorImpl"],[4,"EditStateError"],[4,"ProgramRegistryError"],[4,"Error"],[3,"ConcreteLibfuncId"],[8,"FnOnce"],[3,"ConcreteTypeId"],[8,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[3,"TryFromIntError"],[4,"ErrorImpl"],[6,"RunnerError"],[3,"LibfuncHelper"],[3,"Block"],[15,"usize"],[3,"Value"],[3,"Location"],[3,"Operation"],[4,"BranchTarget"],[15,"array"],[4,"ApTrackingConcreteLibfunc"],[6,"Result"],[3,"SignatureOnlyConcreteLibfunc"],[4,"ArrayConcreteLibfunc"],[3,"SignatureAndTypeConcreteLibfunc"],[4,"BoolConcreteLibfunc"],[4,"BoxConcreteLibfunc"],[4,"CastConcreteLibfunc"],[3,"DowncastConcreteLibfunc"],[4,"DebugConcreteLibfunc"],[4,"EcConcreteLibfunc"],[4,"EnumConcreteLibfunc"],[3,"EnumInitConcreteLibfunc"],[4,"Felt252Concrete"],[4,"Felt252BinaryOperationConcrete"],[3,"Felt252ConstConcreteLibfunc"],[4,"Felt252DictConcreteLibfunc"],[4,"Felt252DictEntryConcreteLibfunc"],[3,"FunctionCallConcreteLibfunc"],[4,"GasConcreteLibfunc"],[4,"MemConcreteLibfunc"],[4,"NullableConcreteLibfunc"],[4,"PedersenConcreteLibfunc"],[4,"PoseidonConcreteLibfunc"],[4,"StarkNetConcreteLibfunc"],[3,"SignatureAndConstConcreteLibfunc"],[4,"StructConcreteLibfunc"],[4,"Uint128Concrete"],[3,"Uint128Traits"],[3,"IntConstConcreteLibfunc"],[3,"IntOperationConcreteLibfunc"],[6,"Uint16Concrete"],[3,"Uint16Traits"],[4,"Uint256Concrete"],[6,"Uint32Concrete"],[3,"Uint32Traits"],[4,"Uint512Concrete"],[6,"Uint64Concrete"],[3,"Uint64Traits"],[6,"Uint8Concrete"],[3,"Uint8Traits"],[8,"Any"],[3,"DebugUtils"],[3,"EnumSnapshotVariantsMeta"],[3,"GasCost"],[3,"MetadataComputationConfig"],[3,"GasMetadata"],[3,"StatementIdx"],[4,"CostTokenType"],[8,"Debug"],[3,"PrimeModuloMeta"],[3,"BigUint"],[3,"ReallocBindingsMeta"],[3,"RuntimeBindingsMeta"],[3,"OperationRef"],[3,"SnapshotClonesMeta"],[6,"CloneFn"],[8,"Fn"],[3,"Arc"],[3,"NonNull"],[8,"StarkNetSyscallHandler"],[3,"TailRecursionMeta"],[3,"BlockRef"],[3,"Felt252"],[6,"SyscallResult"],[3,"U256"],[15,"u64"],[3,"ExecutionInfo"],[3,"Secp256k1Point"],[15,"u32"],[8,"BitOrder"],[3,"BitSlice"],[3,"WithSelf"],[8,"FromByteSlice"],[4,"Error"],[3,"Type"],[15,"char"],[8,"FromIterator"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[3,"Layout"],[4,"BitSpanError"],[3,"InfoAndTypeConcreteType"],[6,"Result"],[3,"InfoOnlyConcreteType"],[3,"EnumConcreteType"],[3,"PRIME"],[3,"Felt252"],[4,"StarkNetTypeConcrete"],[3,"StructConcreteType"],[3,"BigInt"],[8,"Into"],[15,"str"],[3,"GenFunction"],[4,"Cow"],[15,"u16"],[13,"TypeBuilderError"],[13,"LibfuncBuilderError"],[13,"TypeBuilderError"],[13,"InsufficientGasError"],[8,"LibfuncBuilder"],[3,"TxInfo"],[3,"BlockInfo"],[3,"Secp256r1Point"],[8,"TypeBuilder"],[8,"ProgramRegistryExt"],[8,"ValueBuilder"],[13,"Struct"],[13,"Enum"],[13,"Felt252Dict"]]},\ +"cairo_native":{"doc":"This crate is a compiler and JIT engine that transforms …","t":"DDLLLLLLALLLLFAAAFFAALLLLLLLAAAFFLMMLLLLLLLLLLLLLLALLLLLLLLLALLLLAALLDLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLFLLLLLLLLLLLLLLLDDLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLCCCCAAAAGNDENNNNLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNNNGNNLLLLLLLLLLLLLLLLLFFFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDENNNNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDLLLMMLLLLMMLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLEQNIDNLALAAALLLLALAKALLLALAAAAAAALLAALLLKAAAALLLLLLLLLLLLLLAAALLLLLLLLAAAAAAAAALLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDLLALALLALLLLLLAALLLLLLLLAAAALLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDDDLMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDIGDDLMMMMLLLLLLLLLLLLKMMLLMKKMLLLLLLLKKLLLLLLKKMMKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKMKKKKKKKKKKKKMKKLMLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLLLQIDLALLLLALLAKKALLLLAAALLALLLLLLAAALLALLKLKLAAAAALLLLLLLALAAAALLLLLAAAAAAALLKLFFFFFFFGFFFDDLLLLFLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFDILLLKKFLLFFLLLLLLFFFFFFLLLFFLFFFFLFLLLLLLLFLLLLLFLLLNNNNNNENNNNNNILLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMMMMM","n":["ExecutionResult","LLVMCompileError","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","cache","clone","clone","clone_into","clone_into","compile","context","debug_info","error","execute","execute_contract","execution_result","executor","fmt","fmt","fmt","from","from","into","into","libfuncs","metadata","module","module_to_object","object_to_shared_lib","provide","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","types","upcast","upcast","upcast_mut","upcast_mut","utils","values","vzip","vzip","ProgramCache","borrow","borrow_mut","compile_and_insert","context","fmt","from","get","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeContext","borrow","borrow_mut","compile","default","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","initialize_mlir","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugInfo","DebugLocations","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","extract","extract","fmt","fmt","from","from","funcs","funcs","into","into","libfunc_declarations","libfunc_declarations","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","statements","statements","to_owned","to_owned","try_from","try_from","try_into","try_into","type_declarations","type_declarations","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","CompileError","CoreLibfuncBuilderError","CoreTypeBuilderError","JitRunnerError","compile","jit_engine","libfuncs","types","CompileError","EditStateError","Error","ErrorImpl","LibfuncBuilderError","MlirError","ProgramRegistryError","TypeBuilderError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_libfunc_builder_error","make_type_builder_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","error","libfunc_id","type_id","Error","ErrorImpl","InsufficientGasError","LayoutError","MissingParameter","MissingSyscallHandler","MlirError","ProgramRegistryError","RunnerError","TypeBuilderError","UnexpectedValue","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_insufficient_gas_error","make_missing_parameter","make_type_builder_error","make_unexpected_value_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","have","needed","type_id","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","MlirError","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","LibFuncError","MlirError","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","ContractExecutionResult","borrow","borrow_mut","default","error_msg","failure_flag","fmt","from","from_execution_result","into","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeExecutor","borrow","borrow_mut","execute","execute_contract","from","get_module","get_module_mut","get_program_registry","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BranchTarget","Error","Jump","LibfuncBuilder","LibfuncHelper","Return","__clone_box","ap_tracking","append_block","array","bitwise","bool","borrow","borrow","borrow_mut","borrow_mut","box","br","branch_align","build","cast","clone","clone_into","cond_br","debug","deref","drop","dup","ec","enum","felt252","felt252_dict","felt252_dict_entry","from","from","function_call","gas","init_block","into","into","is_function_call","mem","nullable","pedersen","poseidon","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","snapshot_take","stark_net","struct","switch","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uint128","uint16","uint256","uint32","uint512","uint64","uint8","unconditional_jump","unwrap_non_zero","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build_disable","build_enable","build_revoke","build","build_append","build_get","build_len","build_new","build_pop_front","build_pop_front_consume","build_slice","build_snapshot_pop_back","build_snapshot_pop_front","build","build","build_bool_not","build_bool_to_felt252","build","build_into_box","build_unbox","build","build","build_downcast","build_upcast","build","build_print","build","build","build","build_is_zero","build_neg","build_point_from_x","build_state_add","build_state_add_mul","build_state_finalize","build_state_init","build_try_new","build_unwrap_point","build_zero","build","build_init","build_match","build_snapshot_match","build","build_binary_operation","build_const","build_is_zero","build","build_new","build_squash","build","build_finalize","build_get","build","build","build_builtin_withdraw_gas","build_get_builtin_costs","build_withdraw_gas","build","build_alloc_local","build_finalize_locals","build_rename","build_store_local","build_store_temp","build","build","build_pedersen","build","build_hades_permutation","build","build","build_call_contract","build_class_hash_const","build_class_hash_to_felt252","build_class_hash_try_from_felt252","build_contract_address_const","build_contract_address_to_felt252","build_contract_address_try_from_felt252","build_deploy","build_emit_event","build_get_block_hash","build_get_execution_info","build_keccak","build_library_call","build_replace_class","build_send_message_to_l1","build_storage_address_from_base","build_storage_address_from_base_and_offset","build_storage_address_to_felt252","build_storage_address_try_from_felt252","build_storage_base_address_const","build_storage_base_address_from_felt252","build_storage_read","build_storage_write","build","build_construct","build_deconstruct","build","build_byte_reverse","build_const","build_divmod","build_equal","build_from_felt252","build_guarantee_mul","build_guarantee_verify","build_is_zero","build_operation","build_square_root","build_to_felt252","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod","build_is_zero","build_square_root","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod_u256","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build","MetadataStorage","borrow","borrow_mut","debug_utils","default","enum_snapshot_variants","fmt","from","gas","get","get_mut","get_or_insert_with","insert","into","new","prime_modulo","realloc_bindings","remove","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","runtime_bindings","snapshot_clones","syscall_handler","tail_recursion","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugUtils","borrow","borrow_mut","breakpoint_marker","default","fmt","from","into","print_i1","print_pointer","register_impls","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","EnumSnapshotVariantsMeta","borrow","borrow_mut","default","from","get_variants","into","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_mapping","try_from","try_into","type_id","upcast","upcast_mut","vzip","GasCost","GasMetadata","MetadataComputationConfig","__clone_box","ap_change_info","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","fmt","from","from","from","function_set_costs","gas_info","get_gas_cost_for_statement","get_initial_required_gas","into","into","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","vzip","vzip","vzip","PrimeModuloMeta","borrow","borrow_mut","fmt","from","into","new","prime","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","ReallocBindingsMeta","borrow","borrow_mut","fmt","free","from","into","new","realloc","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","RuntimeBindingsMeta","borrow","borrow_mut","default","dict_alloc_free","dict_alloc_new","dict_get","dict_insert","fmt","from","into","libfunc_debug_print","libfunc_ec_point_from_x_nz","libfunc_ec_point_try_new_nz","libfunc_ec_state_add","libfunc_ec_state_add_mul","libfunc_ec_state_try_finalize_nz","libfunc_hades_permutation","libfunc_pedersen","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","CloneFn","SnapshotClonesMeta","borrow","borrow_mut","default","from","into","register","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","wrap_invoke","SyscallHandlerMeta","__clone_box","as_ptr","borrow","borrow_mut","clone","clone_into","drop","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","TailRecursionMeta","borrow","borrow_mut","depth_counter","fmt","from","into","new","recursion_target","return_target","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_return_target","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeModule","borrow","borrow_mut","fmt","from","get_metadata","get_required_init_gas","insert_metadata","into","metadata","module","new","program_registry","remove_metadata","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BlockInfo","ExecutionInfo","Secp256k1Point","Secp256r1Point","StarkNetSyscallHandler","SyscallResult","TxInfo","U256","__clone_box","account_contract_address","block_info","block_number","block_timestamp","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call_contract","caller_address","chain_id","clone","clone_into","contract_address","deploy","emit_event","entry_point_selector","fmt","from","from","from","from","from","from","get_block_hash","get_execution_info","into","into","into","into","into","into","keccak","library_call","max_fee","nonce","pop_log","replace_class","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","secp256k1_add","secp256k1_get_point_from_x","secp256k1_get_xy","secp256k1_mul","secp256k1_new","secp256r1_add","secp256r1_get_point_from_x","secp256r1_get_xy","secp256r1_mul","secp256r1_new","send_message_to_l1","sequencer_address","set_account_contract_address","set_block_number","set_block_timestamp","set_caller_address","set_chain_id","set_contract_address","set_max_fee","set_nonce","set_sequencer_address","set_signature","set_transaction_hash","set_version","signature","storage_read","storage_write","to_owned","transaction_hash","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_info","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","version","vzip","vzip","vzip","vzip","vzip","vzip","Error","TypeBuilder","WithSelf","__clone_box","array","as_bits","as_byte_slice","as_ref","as_slice_of","bitwise","borrow","borrow_mut","box","build","build_drop","builtin_costs","clone","clone_into","deref","dim","ec_op","ec_point","ec_state","encode_hex","encode_hex_upper","enum","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252","felt252_dict","felt252_dict_entry","fmt","from","gas_builtin","get_hash","hash","integer_width","into","layout","new","non_zero","nullable","pedersen","poseidon","range_check","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","segment_arena","self_ty","snapshot","squashed_felt252_dict","stark_net","struct","to_owned","try_as_bits","try_from","try_into","type_id","uint128","uint128_mul_guarantee","uint16","uint32","uint64","uint8","uninitialized","upcast","upcast_mut","variants","vzip","build","build","build","build","build","build","build","TypeLayout","build","get_layout_for_variants","get_type_for_variants","Felt252","PRIME","borrow","borrow","borrow_mut","borrow_mut","build","deref","fmt","from","from","into","into","register_prime_modulo_meta","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build","build","build","build","build","build","build","build","build","build","build","build_class_hash","build_contract_address","build_storage_address","build_storage_base_address","build_system","build","build","build","build","build","build","build","build","LayoutError","ProgramRegistryExt","__clone_box","borrow","borrow_mut","build_type","build_type_with_layout","cairo_to_sierra","clone","clone_into","create_engine","debug_with","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252_bigint","felt252_short_str","felt252_str","find_entry_point","find_entry_point_by_idx","find_function_id","fmt","fmt","from","generate_function_name","get_integer_layout","into","layout_repeat","next_multiple_of_u32","next_multiple_of_usize","padding_needed_for","provide","register_runtime_symbols","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","run_pass_manager","to_owned","to_string","try_from","try_into","type_id","u32_vec_to_felt","upcast","upcast_mut","vzip","Array","EcPoint","EcState","Enum","Felt252","Felt252Dict","JITValue","Struct","Uint128","Uint16","Uint32","Uint64","Uint8","ValueBuilder","__clone_box","borrow","borrow_mut","clone","clone_into","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt_str","fmt","from","from","from","from","from","from","from","from","from","from","into","is_complex","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","debug_name","debug_name","debug_name","fields","tag","value","value"],"q":[[0,"cairo_native"],[69,"cairo_native::cache"],[92,"cairo_native::context"],[121,"cairo_native::debug_info"],[177,"cairo_native::error"],[185,"cairo_native::error::compile"],[245,"cairo_native::error::compile::ErrorImpl"],[249,"cairo_native::error::jit_engine"],[314,"cairo_native::error::jit_engine::ErrorImpl"],[318,"cairo_native::error::libfuncs"],[379,"cairo_native::error::types"],[441,"cairo_native::execution_result"],[466,"cairo_native::executor"],[490,"cairo_native::libfuncs"],[575,"cairo_native::libfuncs::ap_tracking"],[579,"cairo_native::libfuncs::array"],[589,"cairo_native::libfuncs::bitwise"],[590,"cairo_native::libfuncs::bool"],[593,"cairo_native::libfuncs::box"],[596,"cairo_native::libfuncs::branch_align"],[597,"cairo_native::libfuncs::cast"],[600,"cairo_native::libfuncs::debug"],[602,"cairo_native::libfuncs::drop"],[603,"cairo_native::libfuncs::dup"],[604,"cairo_native::libfuncs::ec"],[615,"cairo_native::libfuncs::enum"],[619,"cairo_native::libfuncs::felt252"],[623,"cairo_native::libfuncs::felt252_dict"],[626,"cairo_native::libfuncs::felt252_dict_entry"],[629,"cairo_native::libfuncs::function_call"],[630,"cairo_native::libfuncs::gas"],[634,"cairo_native::libfuncs::mem"],[640,"cairo_native::libfuncs::nullable"],[641,"cairo_native::libfuncs::pedersen"],[643,"cairo_native::libfuncs::poseidon"],[645,"cairo_native::libfuncs::snapshot_take"],[646,"cairo_native::libfuncs::stark_net"],[670,"cairo_native::libfuncs::struct"],[673,"cairo_native::libfuncs::uint128"],[685,"cairo_native::libfuncs::uint16"],[695,"cairo_native::libfuncs::uint256"],[699,"cairo_native::libfuncs::uint32"],[709,"cairo_native::libfuncs::uint512"],[711,"cairo_native::libfuncs::uint64"],[721,"cairo_native::libfuncs::uint8"],[731,"cairo_native::libfuncs::unconditional_jump"],[732,"cairo_native::libfuncs::unwrap_non_zero"],[733,"cairo_native::metadata"],[768,"cairo_native::metadata::debug_utils"],[792,"cairo_native::metadata::enum_snapshot_variants"],[813,"cairo_native::metadata::gas"],[879,"cairo_native::metadata::prime_modulo"],[900,"cairo_native::metadata::realloc_bindings"],[922,"cairo_native::metadata::runtime_bindings"],[954,"cairo_native::metadata::snapshot_clones"],[976,"cairo_native::metadata::syscall_handler"],[1008,"cairo_native::metadata::tail_recursion"],[1032,"cairo_native::module"],[1059,"cairo_native::starknet"],[1223,"cairo_native::types"],[1301,"cairo_native::types::array"],[1302,"cairo_native::types::bitwise"],[1303,"cairo_native::types::box"],[1304,"cairo_native::types::builtin_costs"],[1305,"cairo_native::types::ec_op"],[1306,"cairo_native::types::ec_point"],[1307,"cairo_native::types::ec_state"],[1308,"cairo_native::types::enum"],[1312,"cairo_native::types::felt252"],[1352,"cairo_native::types::felt252_dict"],[1353,"cairo_native::types::felt252_dict_entry"],[1354,"cairo_native::types::gas_builtin"],[1355,"cairo_native::types::non_zero"],[1356,"cairo_native::types::nullable"],[1357,"cairo_native::types::pedersen"],[1358,"cairo_native::types::poseidon"],[1359,"cairo_native::types::range_check"],[1360,"cairo_native::types::segment_arena"],[1361,"cairo_native::types::snapshot"],[1362,"cairo_native::types::squashed_felt252_dict"],[1363,"cairo_native::types::stark_net"],[1369,"cairo_native::types::struct"],[1370,"cairo_native::types::uint128"],[1371,"cairo_native::types::uint128_mul_guarantee"],[1372,"cairo_native::types::uint16"],[1373,"cairo_native::types::uint32"],[1374,"cairo_native::types::uint64"],[1375,"cairo_native::types::uint8"],[1376,"cairo_native::types::uninitialized"],[1377,"cairo_native::utils"],[1430,"cairo_native::values"],[1483,"cairo_native::values::JITValue"]],"d":["The result of the JIT execution.","","","","","","","","","","","","","Run the compiler on a program. The compiled program is …","","Extracts useful debugging information from cairo programs …","Various error types used thorough the crate.","Execute a function on an engine loaded with a Sierra …","Utility function to make it easier to execute contracts. …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Compiler libfunc infrastructure","Code generation metadata","","Make sure to call","","","","","","","","","","","","","","","","","","","Starknet related code for cairo_native","","","","","","","","","","Compiler type infrastructure","","","","","Various utilities","JIT params and return values de/serialization","","","A Cache for programs with the same context.","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Context of IRs, dialects and passes for Cairo programs …","","","Compiles a sierra program into MLIR and then lowers to …","","","","","","","","","Returns the argument unchanged.","Initialize an MLIR context.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Starknet contract execution result.","","","","","","","Returns the argument unchanged.","Convert a [ExecuteResult] to a [NativeExecutionResult]","Calls U::from(self).","","","","","","","","","","","","","","","","A MLIR JIT execution engine in the context of Cairo Native.","","","Execute a program with the given params.","Execute a contract with the given calldata.","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","A libfunc branching target.","Error type returned by this trait’s methods.","A block within the current libfunc.","Generation of MLIR operations from their Sierra …","Helper struct which contains logic generation for extra …","A statement’s branch target by its index.","","AP tracking libfuncs","Inserts a new block after all the current libfunc’s …","Array libfuncs","Bitwise libfuncs","Boolean libfuncs","","","","","Box libfuncs","Creates an unconditional branching operation out of the …","Branch alignment libfunc","Generate the MLIR operations.","Casting libfuncs","","","Creates a conditional binary branching operation, …","Debug libfuncs","","AP tracking libfuncs","State value duplication libfunc","Elliptic curve libfuncs","Enum-related libfuncs","felt252-related libfuncs","felt252 dictionary libfuncs","felt252 dictionary entry libfuncs","Returns the argument unchanged.","Returns the argument unchanged.","Function call libfuncs","Gas management libfuncs","Return the initialization block.","Calls U::from(self).","Calls U::from(self).","Return the target function if the statement is a function …","Memory-related libfuncs","Nullable libfuncs","Pedersen hashing libfuncs","Poseidon hashing libfuncs","","","","","","","","","","","","","","","Snapshot taking libfuncs","StarkNet libfuncs","Struct-related libfuncs","Creates a conditional multi-branching operation, …","","","","","","","","u128-related libfuncs","u16-related libfuncs","u256-related libfuncs","u32-related libfuncs","u512-related libfuncs","u64-related libfuncs","u8-related libfuncs","Unconditional jump libfunc","Non-zero unwrapping libfuncs","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the disable_ap_tracking …","Generate MLIR operations for the enable_ap_tracking. …","Generate MLIR operations for the revoke_ap_tracking. …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the array_append libfunc.","Generate MLIR operations for the array_get libfunc.","Generate MLIR operations for the array_append libfunc.","Generate MLIR operations for the array_new libfunc.","Generate MLIR operations for the array_pop_front libfunc.","Generate MLIR operations for the array_pop_front_consume …","Generate MLIR operations for the array_slice libfunc.","Generate MLIR operations for the array_snapshot_pop_back …","Generate MLIR operations for the array_snapshot_pop_front …","Generate MLIR operations for the bitwise libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the bool_not_impl libfunc.","Generate MLIR operations for the unbox libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the into_box libfunc.","Generate MLIR operations for the unbox libfunc.","Generate MLIR operations for the branch_align libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the downcast libfunc.","Generate MLIR operations for the upcast libfunc.","","","Generate MLIR operations for the drop libfunc.","Generate MLIR operations for the dup libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the ec_point_is_zero libfunc.","Generate MLIR operations for the ec_neg libfunc.","Generate MLIR operations for the ec_point_from_x_nz …","Generate MLIR operations for the ec_state_add libfunc.","Generate MLIR operations for the ec_state_add_mul libfunc.","Generate MLIR operations for the ec_state_try_finalize_nz …","Generate MLIR operations for the ec_state_init libfunc.","Generate MLIR operations for the ec_point_try_new_nz …","Generate MLIR operations for the ec_point_unwrap libfunc.","Generate MLIR operations for the ec_point_zero libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the enum_init libfunc.","Generate MLIR operations for the enum_match libfunc.","Generate MLIR operations for the enum_snapshot_match …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the following libfuncs:","Generate MLIR operations for the felt252_const libfunc.","Generate MLIR operations for the felt252_is_zero libfunc.","Select and call the correct libfunc builder function from …","","","Select and call the correct libfunc builder function from …","","","Generate MLIR operations for the function_call libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the withdraw_gas_all libfunc.","Generate MLIR operations for the get_builtin_costs libfunc.","Generate MLIR operations for the withdraw_gas libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the alloc_local libfunc.","Generate MLIR operations for the finalize_locals libfunc.","Generate MLIR operations for the rename libfunc.","Generate MLIR operations for the store_local libfunc.","Generate MLIR operations for the store_temp libfunc.","Select and call the correct libfunc builder function from …","Select and call the correct libfunc builder function from …","","Select and call the correct libfunc builder function from …","","Generate MLIR operations for the snapshot_take libfunc.","Select and call the correct libfunc builder function from …","","","","","","","","","","","","","","","","","","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the struct_construct libfunc.","Generate MLIR operations for the struct_deconstruct …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u128_byte_reverse libfunc.","Generate MLIR operations for the u128_const libfunc.","Generate MLIR operations for the u128_safe_divmod libfunc.","Generate MLIR operations for the u128_equal libfunc.","Generate MLIR operations for the u128_from_felt252 libfunc.","Generate MLIR operations for the u128_guarantee_mul …","Generate MLIR operations for the u128_guarantee_verify …","Generate MLIR operations for the u128_is_zero libfunc.","Generate MLIR operations for the u128_add and u128_sub …","Generate MLIR operations for the u128_sqrt libfunc.","Generate MLIR operations for the u128_to_felt252 libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u16_const libfunc.","Generate MLIR operations for the u16_safe_divmod libfunc.","Generate MLIR operations for the u16_eq libfunc.","Generate MLIR operations for the u16_from_felt252 libfunc.","Generate MLIR operations for the u16_is_zero libfunc.","Generate MLIR operations for the u16 operation libfunc.","Generate MLIR operations for the u16_sqrt libfunc.","Generate MLIR operations for the u16_to_felt252 libfunc.","Generate MLIR operations for the u16_widemul libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u256_safe_divmod libfunc.","Generate MLIR operations for the u256_is_zero libfunc.","Generate MLIR operations for the u256_sqrt libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u32_const libfunc.","Generate MLIR operations for the u32_safe_divmod libfunc.","Generate MLIR operations for the u32_eq libfunc.","Generate MLIR operations for the u32_from_felt252 libfunc.","Generate MLIR operations for the u32_is_zero libfunc.","Generate MLIR operations for the u32 operation libfunc.","Generate MLIR operations for the u32_sqrt libfunc.","Generate MLIR operations for the u32_to_felt252 libfunc.","Generate MLIR operations for the u32_widemul libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u512_safe_divmod_by_u256 …","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u64_const libfunc.","Generate MLIR operations for the u64_safe_divmod libfunc.","Generate MLIR operations for the u64_eq libfunc.","Generate MLIR operations for the u64_from_felt252 libfunc.","Generate MLIR operations for the u64_is_zero libfunc.","Generate MLIR operations for the u64 operation libfunc.","Generate MLIR operations for the u64_sqrt libfunc.","Generate MLIR operations for the u64_to_felt252 libfunc.","Generate MLIR operations for the u64_widemul libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u8_const libfunc.","Generate MLIR operations for the u8_safe_divmod libfunc.","Generate MLIR operations for the u8_eq libfunc.","Generate MLIR operations for the u8_from_felt252 libfunc.","Generate MLIR operations for the u8_is_zero libfunc.","Generate MLIR operations for the u8 operation libfunc.","Generate MLIR operations for the u8_sqrt libfunc.","Generate MLIR operations for the u8_to_felt252 libfunc.","Generate MLIR operations for the u8_widemul libfunc.","Generate MLIR operations for the jump libfunc.","Generate MLIR operations for the unwrap_non_zero libfunc.","Metadata container.","","","Debug utilities","","","","Returns the argument unchanged.","","Retrieve a reference to some metadata.","Retrieve a mutable reference to some metadata.","","Insert some metadata and return a mutable reference.","Calls U::from(self).","Create an empty metadata container.","Finite field prime modulo","Memory allocation external bindings","Remove some metadata and return its last value.","","","","","","","","Runtime library bindings","","","Tail recursion information","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Holds global gas info.","Configuration for metadata computation.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Prime modulo number metadata.","","","","Returns the argument unchanged.","Calls U::from(self).","Create the metadata from the prime number.","Return the stored prime number.","","","","","","","","","","","","","","Memory allocation realloc metadata.","","","","Calls the free function.","Returns the argument unchanged.","Calls U::from(self).","Register the bindings to the realloc C function and return …","Calls the realloc function, returns a op with 1 result: an …","","","","","","","","","","","","","","Runtime library bindings metadata.","","","","Register if necessary, then invoke the dict_alloc_new() …","Register if necessary, then invoke the dict_alloc_new() …","Register if necessary, then invoke the dict_get() function.","Register if necessary, then invoke the dict_insert() …","","Returns the argument unchanged.","Calls U::from(self).","Register if necessary, then invoke the debug::print() …","Register if necessary, then invoke the ec_point_from_x_nz()…","Register if necessary, then invoke the …","Register if necessary, then invoke the ec_state_add() …","Register if necessary, then invoke the ec_state_add_mul() …","","Register if necessary, then invoke the poseidon() function.","Register if necessary, then invoke the pedersen() function.","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","The tail recursion metadata.","","","Return the current depth counter value.","","Returns the argument unchanged.","Calls U::from(self).","Create the tail recursion meta.","Return the recursion target block.","Return the return target block, if set.","","","","","","","","Set the return target block.","","","","","","","A MLIR module in the context of Cairo Native. It is …","","","","Returns the argument unchanged.","Retrieve a reference to some stored metadata.","Given some contract function’s id, returns an option of …","Insert some metadata for the program execution and return …","Calls U::from(self).","","","","","Removes metadata","","","","","","","","","","","","","","","","","","","","","Binary representation of a u256 (in MLIR).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Error type returned by this trait’s methods.","Generation of MLIR types from their Sierra counterparts.","","","Array type","","","","","Bitwise type","","","Box type","Build the MLIR type.","","Builtin costs type","","","","","Elliptic curve operation type","Elliptic curve point type","Elliptic curve state type","","","Enum type","","","","","","","felt252 type","felt252 dictionary type","felt252 dictionary entry type","","Returns the argument unchanged.","Gas builtin type","","","If the type is an integer (felt not included) type, return …","Calls U::from(self).","Generate the layout of the MLIR type.","","Non-zero type","Nullable type","Pedersen type","Poseidon type","Builtin costs type","","","","","","","","Segment arena type","","Snapshot type","Squashed felt252 dictionary type","StarkNet types","Struct type","","","","","","Unsigned 128-bit integer type","Unsigned 128-bit multiplication guarantee type","Unsigned 16-bit integer type","Unsigned 32-bit integer type","Unsigned 64-bit integer type","Unsigned 8-bit integer type","Uninitialized type","","","If the type is a variant type, return all possible …","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","An MLIR type with its memory layout.","Build the MLIR type.","Extract layout for the default enum representation, its …","Extract the type and layout for the default enum …","Marker type for the PrimeModuloMeta metadata.","The felt252 prime modulo.","","","","","Build the MLIR type.","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","","","Compile a cairo program found at the given path to sierra.","","","Creates the execution engine, with all symbols registered.","Return a type that calls a closure when formatted using …","","","","","","","Parse any type that can be a bigint to a felt that can be …","Parse a short string into a felt that can be used in the …","Parse a numeric string into felt, wrapping negatives …","Returns the given entry point if present.","Returns the given entry point if present.","Given a string representing a function name, searches in …","","","Returns the argument unchanged.","Generate a function name.","Return the layout for an integer of arbitrary width.","Calls U::from(self).","Copied from std.","","","Edit: Copied from the std lib.","","","","","","","","","","","","","","","","Converts a u32 slice into a Felt252","","","","all elements need to be same type","","","","","","A JITValue is a value that can be passed to the JIT engine …","","","","","","","The ValueBuilder trait is implemented any de/serializable …","","","","","","","","","","","","String to felt","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","Return whether the type is considered complex or simple.","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,2,3,2,3,2,3,0,2,3,2,3,0,0,0,0,0,0,0,0,2,2,3,2,3,2,3,0,0,0,0,0,2,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,3,0,2,3,2,2,3,2,3,2,3,0,2,3,2,3,0,0,2,3,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,47,47,47,47,47,47,47,47,47,47,47,47,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,0,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,51,51,51,51,51,51,11,11,11,11,11,11,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,0,0,0,0,0,0,0,0,0,54,0,0,54,54,54,54,13,54,13,54,13,13,13,54,54,13,13,54,54,54,54,13,54,0,0,13,54,13,13,13,13,13,13,13,54,54,54,54,54,54,54,13,54,13,13,54,13,54,13,54,13,54,13,54,13,54,13,54,176,177,177,176,0,0,62,62,62,62,62,62,0,62,62,23,62,23,62,23,23,23,62,62,23,23,62,62,62,62,23,62,0,0,0,0,23,62,23,23,23,23,23,23,23,62,62,62,62,62,62,62,23,62,23,23,62,23,62,23,62,23,62,23,62,23,62,23,62,178,179,179,178,0,0,65,65,65,65,0,65,64,65,64,65,64,64,64,65,65,64,64,65,65,65,65,65,65,65,64,65,64,65,64,64,64,64,64,64,64,65,65,65,65,65,65,65,64,65,64,64,65,64,65,64,65,64,65,64,65,64,65,64,65,0,0,69,69,69,69,69,0,69,67,69,67,69,67,67,67,69,69,67,67,69,69,69,69,69,69,69,67,69,67,69,67,67,67,67,67,67,67,69,69,69,69,69,69,69,67,69,67,67,69,67,69,67,69,67,69,67,69,67,69,67,69,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,0,180,77,0,0,77,77,0,71,0,0,0,71,77,71,77,0,71,0,180,0,77,77,71,0,71,0,0,0,0,0,0,0,71,77,0,0,71,71,77,180,0,0,0,0,71,71,71,71,71,71,71,77,77,77,77,77,77,77,0,0,0,71,77,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,10,0,10,10,0,10,10,10,10,10,10,0,0,10,10,10,10,10,10,10,10,0,0,0,0,10,10,10,10,10,10,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,0,0,0,123,125,125,123,124,125,123,124,123,123,124,123,125,123,124,124,125,125,125,125,123,124,125,125,125,125,125,125,125,125,123,123,123,123,123,123,123,124,124,124,124,124,124,124,123,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,0,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,0,131,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,132,132,132,132,132,132,132,132,132,132,132,132,132,0,0,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,0,0,0,0,0,0,0,144,181,146,182,182,146,182,181,147,183,144,146,182,181,147,183,144,139,146,181,144,144,146,139,139,146,144,146,182,181,147,183,144,139,139,146,182,181,147,183,144,139,139,181,181,139,139,146,146,146,146,146,146,146,182,182,182,182,182,182,182,181,181,181,181,181,181,181,147,147,147,147,147,147,147,183,183,183,183,183,183,183,144,144,144,144,144,144,144,139,139,139,139,139,139,139,139,139,139,139,182,139,139,139,139,139,139,139,139,139,139,139,139,181,139,139,144,181,146,182,181,147,183,144,146,182,181,147,183,144,146,146,182,181,147,183,144,146,182,181,147,183,144,146,182,181,147,183,144,181,146,182,181,147,183,144,184,0,0,151,0,151,151,151,151,0,151,151,0,184,184,0,151,151,151,151,0,0,0,151,151,0,151,151,151,151,151,151,0,0,0,151,151,0,151,151,184,151,184,151,0,0,0,0,0,151,151,151,151,151,151,151,0,151,0,0,0,0,151,151,151,151,151,0,0,0,0,0,0,0,151,151,184,151,0,0,0,0,0,0,0,0,0,0,0,0,0,166,167,166,167,0,166,167,166,167,166,167,0,166,166,166,166,166,166,166,167,167,167,167,167,167,167,166,167,166,167,166,167,166,167,166,167,166,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,185,185,0,66,66,0,0,66,66,66,66,66,66,0,0,0,0,0,0,66,66,66,0,0,66,0,0,0,0,66,0,66,66,66,66,66,66,66,0,66,66,66,66,66,0,66,66,66,19,19,19,19,19,19,0,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,186,19,19,19,19,19,19,19,19,19,19,19,19,19,19,187,188,189,187,188,188,189],"f":[0,0,[1],[1],[[]],[[]],[[]],[[]],0,[2,2],[3,3],[[]],[[]],[[4,5,6,[9,[7,8]],10,[12,[11]]],[[14,[[13,[7,8]]]]]],0,0,0,[[15,[9,[16,17]],18,[20,[19]],[12,[21]],[12,[21]],[12,[22]]],[[14,[3,23]]]],[[15,[9,[16,17]],18,[20,[19]],[12,[21]],21,22],[[14,[24,23]]]],0,0,[[2,25],26],[[2,25],26],[[3,25],26],[[]],[[]],[[]],[[]],0,0,0,[5,[[14,[[28,[27]],2]]]],[[[20,[27]],29],[[14,[30]]]],[31],0,0,[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],0,[[]],[[]],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,[[]],[[]],[[]],[[]],0,0,[[]],[[]],0,[[]],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]],6],[[46,[[45,[44]]]]]],[[[43,[[0,[41,42,40]]]]],47],[[[43,[[0,[40,41,42]]]],25],26],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]]],[[12,[[46,[[45,[44]]]]]]]],[[]],[47,[[43,[[0,[39,40,41,42]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[47,6],[[14,[48,49]]]],[[],47],[[47,47],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[47,25],26],[[]],[[],4],[[]],[[],47],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[1],[1],[[]],[[]],[[]],[[]],[51,51],[11,11],[[]],[[]],[[52,6],[[14,[51,53]]]],[[4,52,51],11],[[51,25],26],[[11,25],26],[[]],[[]],0,0,[[]],[[]],0,0,[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],0,0,[[]],[[]],[[],14],[[],14],[[],14],[[],14],0,0,[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[13,[7,8]]]],[[[13,[7,8]],25],26],[[[13,[7,8]],25],26],[[[54,[7,8]],25],26],[[[54,[7,8]],25],26],[[],[[13,[7,8]]]],[[]],[55,[[54,[7,8]]]],[[]],[56,[[54,[7,8]]]],[[[33,[57]]],[[54,[7,8]]]],[[]],[[]],[58,59],[60,59],[31],[31],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[13,[7,8]]],[[12,[61]]]],[[[54,[7,8]]],[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[23],[[23,25],26],[[23,25],26],[[62,25],26],[[62,25],26],[[]],[[],23],[55,62],[63,62],[[[33,[57]]],62],[[]],[[]],[[]],[[21,21],23],[60,23],[60,59],[37,23],[31],[31],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[23,[[12,[61]]]],[62,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[64],[[64,25],26],[[64,25],26],[[65,25],26],[[65,25],26],[[]],[[],64],[66,65],[[]],[67,65],[55,65],[[[33,[57]]],65],[63,65],[68,65],[[]],[[]],[31],[31],[14,[[14,[14]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[64,[[12,[61]]]],[65,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[67],[[67,25],26],[[67,25],26],[[69,25],26],[[69,25],26],[[]],[[],67],[63,69],[[[33,[57]]],69],[55,69],[[]],[64,69],[66,69],[68,69],[[]],[[]],[31],[31],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[12,[[14,[12]]]],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[67,[[12,[61]]]],[69,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],24],0,0,[[24,25],26],[[]],[3,[[14,[24,23]]]],[[]],0,0,[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[44,18,[20,[19]],[12,[21]]],[[14,[3,70]]]],[[44,18,[20,[19]],21],[[14,[24,70]]]],[[]],[44,48],[44,48],[44,[[9,[16,17]]]],[[]],[48,44],[14,[[14,[14]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,[1],0,[[71,72],72],0,0,0,[[]],[[]],[[]],[[]],0,[[71,73,[20,[74]],75],76],0,[[4,9,72,75,71,10],14],0,[77,77],[[]],[[71,4,74,[78,[73]],[78,[[20,[74]]]],75],76],0,[71],0,0,0,0,0,0,0,[[]],[[]],0,0,[71,72],[[]],[[]],[[],[[12,[18]]]],0,0,0,0,[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],0,0,0,[[71,4,74,20,75],76],[[]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[4,[9,[7,8]],72,75,71,10,79],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,82],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,84],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,85],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,86],80],[[4,[9,[7,8]],72,75,71,10,87],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,88],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,89],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,90],80],[[4,[9,[7,8]],72,75,71,10,91],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,92],80],[[4,[9,[7,8]],72,75,71,10,93],80],[[4,[9,[7,8]],72,75,71,10,94],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,95],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,96],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,97],80],[[4,[9,[7,8]],72,75,71,10,98],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,99],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,83],80],[[4,[9,[7,8]],72,75,71,10,100],80],[[4,[9,[7,8]],72,75,71,10,101],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,102],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,103],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,105],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,106],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,[108,[107]]],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,110],80],[[4,[9,[7,8]],72,75,71,10,[108,[111]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,112],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,113],80],[[4,[9,[7,8]],72,75,71,10,[108,[114]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,115],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,116],80],[[4,[9,[7,8]],72,75,71,10,[108,[117]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,118],80],[[4,[9,[7,8]],72,75,71,10,[108,[119]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],0,[[]],[[]],0,[[],10],0,[[10,25],26],[[]],0,[10,[[12,[120]]]],[10,[[12,[120]]]],[[10,59],120],[[10,120],[[12,[120]]]],[[]],[[],10],0,0,[10,[[12,[120]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],0,0,0,0,[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[121,4,5,72,75],80],[[],121],[[121,25],26],[[]],[[]],[[121,4,5,72,74,75],80],[[121,4,5,72,74,75],80],[[121,15]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],122],[[]],[[122,60],[[12,[[28,[60]]]]]],[[]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[122,60,[12,[[20,[60]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[123,123],[[]],[[],124],[[123,25],26],[[]],[[]],[[]],0,0,[[125,126,127],[[12,[21]]]],[[125,18],[[12,[21]]]],[[]],[[]],[[]],[[6,124],125],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[[129,[128]],25],26],[[]],[[]],[130,129],[129,130],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[131,25],26],[[4,74,75],76],[[]],[[]],[[4,5],131],[[4,74,74,75],76],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],132],[[132,4,5,74,72,75],[[80,[133]]]],[[132,4,5,72,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,25],26],[[]],[[]],[[132,4,5,72,74,74,74,75],[[80,[74]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[[]],[[]],[[],[[134,[7,8]]]],[[]],[[]],[[[134,[7,8]],60,[135,[7,8]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],[[[134,[7,8]],60],[[12,[[137,[136]]]]]],0,[1],[22,138],[[]],[[]],[22,22],[[]],[22],[[22,22],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[22,25],26],[[]],[[]],[139,22],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[140,74],[[140,25],26],[[]],[[]],[[74,72],140],[140,141],[140,[[12,[141]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[140,72]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[48,25],26],[[]],[48,[[12,[120]]]],[[48,18],[[12,[21]]]],[[48,120],[[12,[120]]]],[[]],[48,10],[48,5],[[5,[9,[16,17]],10],48],[48,[[9,[16,17]]]],[48,[[12,[120]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[1],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[144,144],[[]],0,[[142,142,[20,[142]],50,21],143],[[[20,[142]],[20,[142]],21],143],0,[[144,25],26],[[]],[[]],[[]],[[]],[[]],[[]],[[145,21],[[143,[142]]]],[21,[[143,[146]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[[20,[145]],21],[[143,[144]]]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[[]],[[142,21],143],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[142,[20,[142]],21],143],0,[142],[145],[145],[142],[142],[142],[21],[142],[142],[[[20,[142]]]],[142],[142],0,[[148,142,21],[[143,[142]]]],[[148,142,142,21],143],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],0,[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[1],0,[[],[[150,[149]]]],[[],[[20,[27]]]],[151],[[],[[14,[[20,[152]],153]]]],0,[[]],[[]],0,[[4,5,9,10,60],[[14,[154]]]],[[4,9,72,75,71,10,60],14],0,[[[151,[39]]],[[151,[39]]]],[[]],[151],[[],73],0,0,0,[[],[[156,[155]]]],[[],[[156,[155]]]],0,[[[151,[40]],[151,[40]]],50],[[],50],[[],50],[[],50],[[],50],[[],50],0,0,0,[[[151,[128]],25],26],[[]],0,[[[0,[42,157]],158],145],[[[151,[42]],159]],[[],[[12,[73]]]],[[]],[9,[[14,[160]]]],[60,151],0,0,0,0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],0,[151,60],0,0,0,0,[[]],[[],[[14,[[150,[149]],161]]]],[[],14],[[],14],[[],38],0,0,0,0,0,0,0,[[]],[[]],[[],[[12,[[20,[60]]]]]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],0,[[4,5,[9,[7,8]],10,[151,[165]]],[[163,[154]]]],[[[9,[7,8]],[20,[60]]],163],[[4,5,[9,[7,8]],10,[20,[60]]],163],0,0,[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[166,130],[[167,25],26],[[]],[[]],[[]],[[]],[10,[[129,[167]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[168]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[169]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],0,0,[1],[[]],[[]],[[4,5,9,10,60],[[14,[154]]]],[[4,5,9,10,60],14],[29,[[137,[6]]]],[66,66],[[]],[[5,10],15],[136,128],[[66,66],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[[171,[170]]],[[78,[148]]]],[172,[[78,[148]]]],[172,[[78,[148]]]],[[6,172],[[12,[[173,[126]]]]]],[[6,73],[[12,[[173,[126]]]]]],[[6,172],18],[[66,25],26],[[66,25],26],[[]],[18,[[174,[172]]]],[148,160],[[]],[[160,73],[[14,[66]]]],[[148,148],148],[[73,73],73],[[160,73],73],[31],[15],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[4,5],[[14,[55]]]],[[]],[[],37],[[],14],[[],14],[[],38],[[[20,[148]]],142],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[19,19],[[]],[[19,19],50],[[],50],[[],50],[[],50],[[],50],[[],50],[172,19],[[19,25],26],[[[20,[[0,[[171,[19]],39]]]]],19],[[[78,[[171,[19]]]]],19],[[[28,[[171,[19]]]]],19],[145,19],[175,19],[142,19],[[]],[148,19],[21,19],[27,19],[[]],[[],50],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[14,[[14,[14]]]],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0],"c":[],"p":[[3,"Private"],[3,"LLVMCompileError"],[3,"ExecutionResult"],[3,"Context"],[3,"Module"],[3,"Program"],[8,"GenericType"],[8,"GenericLibfunc"],[3,"ProgramRegistry"],[3,"MetadataStorage"],[3,"DebugLocations"],[4,"Option"],[3,"Error"],[4,"Result"],[3,"ExecutionEngine"],[4,"CoreType"],[4,"CoreLibfunc"],[3,"FunctionId"],[4,"JITValue"],[15,"slice"],[15,"u128"],[3,"SyscallHandlerMeta"],[3,"Error"],[3,"ContractExecutionResult"],[3,"Formatter"],[6,"Result"],[15,"u8"],[3,"Vec"],[3,"Path"],[3,"Error"],[3,"Demand"],[3,"Global"],[3,"Box"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"String"],[3,"TypeId"],[8,"Clone"],[8,"PartialEq"],[8,"Eq"],[8,"Hash"],[3,"ProgramCache"],[3,"NativeExecutor"],[3,"RefCell"],[3,"Rc"],[3,"NativeContext"],[3,"NativeModule"],[6,"CompileError"],[15,"bool"],[3,"DebugInfo"],[3,"RootDatabase"],[3,"DiagnosticAdded"],[4,"ErrorImpl"],[4,"Error"],[4,"EditStateError"],[4,"ProgramRegistryError"],[3,"ConcreteLibfuncId"],[8,"FnOnce"],[3,"ConcreteTypeId"],[8,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[3,"TryFromIntError"],[4,"ErrorImpl"],[6,"RunnerError"],[3,"LibfuncHelper"],[3,"Block"],[15,"usize"],[3,"Value"],[3,"Location"],[3,"Operation"],[4,"BranchTarget"],[15,"array"],[4,"ApTrackingConcreteLibfunc"],[6,"Result"],[3,"SignatureOnlyConcreteLibfunc"],[4,"ArrayConcreteLibfunc"],[3,"SignatureAndTypeConcreteLibfunc"],[4,"BoolConcreteLibfunc"],[4,"BoxConcreteLibfunc"],[4,"CastConcreteLibfunc"],[3,"DowncastConcreteLibfunc"],[4,"DebugConcreteLibfunc"],[4,"EcConcreteLibfunc"],[4,"EnumConcreteLibfunc"],[3,"EnumInitConcreteLibfunc"],[4,"Felt252Concrete"],[4,"Felt252BinaryOperationConcrete"],[3,"Felt252ConstConcreteLibfunc"],[4,"Felt252DictConcreteLibfunc"],[4,"Felt252DictEntryConcreteLibfunc"],[3,"FunctionCallConcreteLibfunc"],[4,"GasConcreteLibfunc"],[4,"MemConcreteLibfunc"],[4,"NullableConcreteLibfunc"],[4,"PedersenConcreteLibfunc"],[4,"PoseidonConcreteLibfunc"],[4,"StarkNetConcreteLibfunc"],[3,"SignatureAndConstConcreteLibfunc"],[4,"StructConcreteLibfunc"],[4,"Uint128Concrete"],[3,"Uint128Traits"],[3,"IntConstConcreteLibfunc"],[3,"IntOperationConcreteLibfunc"],[6,"Uint16Concrete"],[3,"Uint16Traits"],[4,"Uint256Concrete"],[6,"Uint32Concrete"],[3,"Uint32Traits"],[4,"Uint512Concrete"],[6,"Uint64Concrete"],[3,"Uint64Traits"],[6,"Uint8Concrete"],[3,"Uint8Traits"],[8,"Any"],[3,"DebugUtils"],[3,"EnumSnapshotVariantsMeta"],[3,"GasCost"],[3,"MetadataComputationConfig"],[3,"GasMetadata"],[3,"StatementIdx"],[4,"CostTokenType"],[8,"Debug"],[3,"PrimeModuloMeta"],[3,"BigUint"],[3,"ReallocBindingsMeta"],[3,"RuntimeBindingsMeta"],[3,"OperationRef"],[3,"SnapshotClonesMeta"],[6,"CloneFn"],[8,"Fn"],[3,"Arc"],[3,"NonNull"],[8,"StarkNetSyscallHandler"],[3,"TailRecursionMeta"],[3,"BlockRef"],[3,"Felt252"],[6,"SyscallResult"],[3,"U256"],[15,"u64"],[3,"ExecutionInfo"],[3,"Secp256k1Point"],[15,"u32"],[8,"BitOrder"],[3,"BitSlice"],[3,"WithSelf"],[8,"FromByteSlice"],[4,"Error"],[3,"Type"],[15,"char"],[8,"FromIterator"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[3,"Layout"],[4,"BitSpanError"],[3,"InfoAndTypeConcreteType"],[6,"Result"],[3,"InfoOnlyConcreteType"],[3,"EnumConcreteType"],[3,"PRIME"],[3,"Felt252"],[4,"StarkNetTypeConcrete"],[3,"StructConcreteType"],[3,"BigInt"],[8,"Into"],[15,"str"],[3,"GenFunction"],[4,"Cow"],[15,"u16"],[13,"TypeBuilderError"],[13,"LibfuncBuilderError"],[13,"TypeBuilderError"],[13,"InsufficientGasError"],[8,"LibfuncBuilder"],[3,"TxInfo"],[3,"BlockInfo"],[3,"Secp256r1Point"],[8,"TypeBuilder"],[8,"ProgramRegistryExt"],[8,"ValueBuilder"],[13,"Struct"],[13,"Enum"],[13,"Felt252Dict"]]},\ "cairo_native_compile":{"doc":"","t":"DDENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLFFMMFFLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLL","n":["Args","CmdLine","CompilerOutput","Path","Stdout","__clone_box","__clone_box","augment_args","augment_args","augment_args_for_update","augment_args_for_update","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","command","command","command_for_update","command_for_update","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","group_id","group_id","input","input","into","into","into","load_program","main","output","output","parse_input","parse_output","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","starknet","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip"],"q":[[0,"cairo_native_compile"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Input .sierra or .cairo program.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Output file, .so on linux, .dylib on macOS","","","","","","","","","","","","","","","","","","","","","","","","","Whether the program is a contract.","Compile a starknet contract","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,4,4,3,4,5,3,5,3,5,3,4,5,3,4,3,4,3,4,5,3,5,3,5,3,4,5,3,4,5,3,5,3,5,3,5,3,5,3,4,0,0,5,3,0,0,5,5,5,5,5,5,5,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,3,3,4,5,3,4,5,3,4,5,3,4,5,3,4,5,3,4,5,3,5,3,5,3,4],"f":[0,0,0,0,0,[1],[1],[2,2],[2,2],[2,2],[2,2],[[]],[[]],[[]],[[]],[[]],[[]],[3,3],[4,4],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[5,6],7],[[3,6],7],[[4,6],7],[[]],[[]],[[]],[8,[[10,[5,9]]]],[8,[[10,[3,9]]]],[8,[[10,[5,9]]]],[8,[[10,[3,9]]]],[[],[[12,[11]]]],[[],[[12,[11]]]],0,0,[[]],[[]],[[]],[[13,[12,[14]],15],[[10,[[17,[16]]]]]],[[],[[10,[[17,[16]]]]]],0,0,[18,[[10,[19,20]]]],[18,[[10,[4,20]]]],[12,[[10,[12]]]],[10,[[10,[10]]]],[[[17,[21]]],[[10,[[17,[21]]]]]],[[[22,[21]]],[[10,[[22,[21]]]]]],[[[24,[23]]],[[10,[[24,[23]]]]]],[[[25,[21]]],[[10,[[25,[21]]]]]],[[],10],[[[22,[21]]],[[10,[[22,[21]]]]]],[12,[[10,[12]]]],[[[17,[21]]],[[10,[[17,[21]]]]]],[10,[[10,[10]]]],[[],10],[[[25,[21]]],[[10,[[25,[21]]]]]],[[[24,[23]]],[[10,[[24,[23]]]]]],[[[22,[21]]],[[10,[[22,[21]]]]]],[10,[[10,[10]]]],[[],10],[[[25,[21]]],[[10,[[25,[21]]]]]],[[[24,[23]]],[[10,[[24,[23]]]]]],[12,[[10,[12]]]],[[[17,[21]]],[[10,[[17,[21]]]]]],0,0,[[]],[[]],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[5,8],[[10,[9]]]],[[3,8],[[10,[9]]]],[[5,8],[[10,[9]]]],[[3,8],[[10,[9]]]],[[]],[[]],[[]]],"c":[],"p":[[3,"Private"],[3,"Command"],[3,"CmdLine"],[4,"CompilerOutput"],[3,"Args"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[6,"Error"],[4,"Result"],[3,"Id"],[4,"Option"],[3,"Path"],[3,"Context"],[15,"bool"],[8,"Error"],[3,"Box"],[15,"str"],[3,"PathBuf"],[3,"String"],[3,"Global"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"Vec"],[3,"TypeId"]]},\ "cairo_native_dump":{"doc":"","t":"DENNLLLLLLLLLLLLLLLLLLLLLMLLFFMFFLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLL","n":["CmdLine","CompilerOutput","Path","Stdout","__clone_box","__clone_box","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","group_id","input","into","into","load_program","main","output","parse_input","parse_output","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip"],"q":[[0,"cairo_native_dump"]],"d":["","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Compile a starknet contract","","","","","","","","","","","","","","","",""],"i":[0,0,4,4,3,4,3,3,3,4,3,4,3,4,3,4,3,3,3,4,3,4,3,3,3,3,3,4,0,0,3,0,0,3,3,3,3,3,3,3,4,4,4,4,4,4,4,3,3,4,3,4,3,4,3,4,3,4,3,4,3,3,3,4],"f":[0,0,0,0,[1],[1],[2,2],[2,2],[[]],[[]],[[]],[[]],[3,3],[4,4],[[]],[[]],[[],2],[[],2],[[3,5],6],[[4,5],6],[[]],[[]],[7,[[9,[3,8]]]],[7,[[9,[3,8]]]],[[],[[11,[10]]]],0,[[]],[[]],[[12,[11,[13]],14],[[9,[[16,[15]]]]]],[[],[[9,[[16,[15]]]]]],0,[17,[[9,[18,19]]]],[17,[[9,[4,19]]]],[9,[[9,[9]]]],[[[16,[20]]],[[9,[[16,[20]]]]]],[11,[[9,[11]]]],[[[21,[20]]],[[9,[[21,[20]]]]]],[[[23,[22]]],[[9,[[23,[22]]]]]],[[[24,[20]]],[[9,[[24,[20]]]]]],[[],9],[[[21,[20]]],[[9,[[21,[20]]]]]],[11,[[9,[11]]]],[9,[[9,[9]]]],[[],9],[[[24,[20]]],[[9,[[24,[20]]]]]],[[[23,[22]]],[[9,[[23,[22]]]]]],[[[16,[20]]],[[9,[[16,[20]]]]]],0,[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],25],[[],25],[[]],[[]],[[]],[[]],[[3,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[]],[[]]],"c":[],"p":[[3,"Private"],[3,"Command"],[3,"CmdLine"],[4,"CompilerOutput"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[6,"Error"],[4,"Result"],[3,"Id"],[4,"Option"],[3,"Path"],[3,"Context"],[15,"bool"],[8,"Error"],[3,"Box"],[15,"str"],[3,"PathBuf"],[3,"String"],[3,"Global"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"Vec"],[3,"TypeId"]]},\ "cairo_native_run":{"doc":"","t":"DNNELLLLLLLLLLLLLLMLLLLLLLMMLLFFMFFFMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["CmdLine","Path","Stdio","StdioOrPath","__clone_box","__clone_box","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","command","command_for_update","entry_point","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","group_id","input","inputs","into","into","load_program","main","outputs","parse_entry_point","parse_input","parse_io","print_outputs","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip"],"q":[[0,"cairo_native_run"]],"d":["","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,4,4,0,3,4,3,3,3,4,3,4,3,4,3,4,3,3,3,3,4,3,4,3,3,3,3,3,3,4,0,0,3,0,0,0,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,3,4,3,4,3,4,3,4,3,4,3,4,3,3,3,4],"f":[0,0,0,0,[1],[1],[2,2],[2,2],[[]],[[]],[[]],[[]],[3,3],[4,4],[[]],[[]],[[],2],[[],2],0,[[3,5],6],[[4,5],6],[[]],[[]],[7,[[9,[3,8]]]],[7,[[9,[3,8]]]],[[],[[11,[10]]]],0,0,[[]],[[]],[12,[[9,[13,[15,[14]]]]]],[[],[[9,[[15,[14]]]]]],0,[16,[[9,[17,18]]]],[16,[[9,[19,20]]]],[16,[[9,[4,20]]]],0,[11,[[9,[11]]]],[[[15,[21]]],[[9,[[15,[21]]]]]],[9,[[9,[9]]]],[[],9],[[[22,[21]]],[[9,[[22,[21]]]]]],[[[24,[23]]],[[9,[[24,[23]]]]]],[[[25,[21]]],[[9,[[25,[21]]]]]],[[[15,[21]]],[[9,[[15,[21]]]]]],[9,[[9,[9]]]],[[],9],[[[22,[21]]],[[9,[[22,[21]]]]]],[[[24,[23]]],[[9,[[24,[23]]]]]],[[[25,[21]]],[[9,[[25,[21]]]]]],[11,[[9,[11]]]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],26],[[],26],[[]],[[]],[[]],[[]],[[3,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[]],[[]]],"c":[],"p":[[3,"Private"],[3,"Command"],[3,"CmdLine"],[4,"StdioOrPath"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[6,"Error"],[4,"Result"],[3,"Id"],[4,"Option"],[3,"Path"],[3,"Program"],[8,"Error"],[3,"Box"],[15,"str"],[3,"FunctionId"],[4,"Infallible"],[3,"PathBuf"],[3,"String"],[3,"Global"],[3,"Vec"],[3,"RandomState"],[3,"HashMap"],[3,"VecDeque"],[3,"TypeId"]]},\ -"cairo_native_runtime":{"doc":"","t":"FFFFFFFFFFF","n":["cairo_native__alloc_dict","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"],"q":[[0,"cairo_native_runtime"]],"d":["Allocates a new dictionary. Internally a rust hashmap: …","Gets the value for a given key, the returned pointer is …","Inserts the provided key value. Returning the old one or …","Based on cairo-lang-runner’s implementation.","Compute ec_point_from_x_nz(x) and store it.","Compute ec_point_try_new_nz(x).","Compute ec_state_add(state, point) and store the state …","Compute ec_state_add_mul(state, scalar, point) and store …","Compute ec_state_try_finalize_nz(state) and store the …","Compute hades_permutation(op0, op1, op2) and replace the …","Compute pedersen(lhs, rhs) and store it into dst."],"i":[0,0,0,0,0,0,0,0,0,0,0],"f":[[[],1],[[1,[3,[2]]],1],[[1,[3,[2]],[4,[1]]],1],[[5,3,6],5],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[2]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]],7],[[2,2,2]],[[2,2,2]]],"c":[],"p":[[4,"c_void"],[15,"u8"],[15,"array"],[3,"NonNull"],[15,"i32"],[15,"usize"],[15,"bool"]]}\ +"cairo_native_runtime":{"doc":"","t":"FFFFFFFFFFFF","n":["cairo_native__alloc_dict","cairo_native__dict_free","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"],"q":[[0,"cairo_native_runtime"]],"d":["Allocates a new dictionary. Internally a rust hashmap: …","Frees the dictionary.","Gets the value for a given key, the returned pointer is …","Inserts the provided key value. Returning the old one or …","Based on cairo-lang-runner’s implementation.","Compute ec_point_from_x_nz(x) and store it.","Compute ec_point_try_new_nz(x).","Compute ec_state_add(state, point) and store the state …","Compute ec_state_add_mul(state, scalar, point) and store …","Compute ec_state_try_finalize_nz(state) and store the …","Compute hades_permutation(op0, op1, op2) and replace the …","Compute pedersen(lhs, rhs) and store it into dst."],"i":[0,0,0,0,0,0,0,0,0,0,0,0],"f":[[[],1],[1],[[1,[3,[2]]],1],[[1,[3,[2]],[4,[1]]],1],[[5,3,6],5],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[2]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]],7],[[2,2,2]],[[2,2,2]]],"c":[],"p":[[4,"c_void"],[15,"u8"],[15,"array"],[3,"NonNull"],[15,"i32"],[15,"usize"],[15,"bool"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/settings.html b/settings.html index 9da89694a..62ddbfa62 100644 --- a/settings.html +++ b/settings.html @@ -1 +1 @@ -Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file +Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/cairo_native/error/libfuncs.rs.html b/src/cairo_native/error/libfuncs.rs.html index e4a2546a4..12702e61e 100644 --- a/src/cairo_native/error/libfuncs.rs.html +++ b/src/cairo_native/error/libfuncs.rs.html @@ -61,6 +61,8 @@ 61 62 63 +64 +65
use cairo_lang_sierra::program_registry::ProgramRegistryError;
 use std::{alloc::LayoutError, fmt, num::TryFromIntError, ops::Deref};
 use thiserror::Error;
@@ -121,6 +123,8 @@
             super::types::ErrorImpl::ProgramRegistryError(e) => Self::ProgramRegistryError(e),
             super::types::ErrorImpl::TryFromIntError(e) => Self::TryFromIntError(e),
             super::types::ErrorImpl::LayoutErrorPolyfill(e) => Self::LayoutErrorPolyfill(e),
+            super::types::ErrorImpl::MlirError(e) => Self::MlirError(e),
+            super::types::ErrorImpl::LibFuncError(e) => e.source,
         }
     }
 }
diff --git a/src/cairo_native/error/types.rs.html b/src/cairo_native/error/types.rs.html
index 4a1b11c2c..ea9d3a5d1 100644
--- a/src/cairo_native/error/types.rs.html
+++ b/src/cairo_native/error/types.rs.html
@@ -48,6 +48,10 @@
 48
 49
 50
+51
+52
+53
+54
 
use cairo_lang_sierra::program_registry::ProgramRegistryError;
 use std::{alloc::LayoutError, fmt, num::TryFromIntError, ops::Deref};
 use thiserror::Error;
@@ -97,5 +101,9 @@
     ProgramRegistryError(#[from] Box<ProgramRegistryError>),
     #[error(transparent)]
     TryFromIntError(#[from] TryFromIntError),
+    #[error(transparent)]
+    MlirError(#[from] melior::Error),
+    #[error(transparent)]
+    LibFuncError(#[from] crate::error::libfuncs::Error),
 }
 
\ No newline at end of file diff --git a/src/cairo_native/libfuncs/drop.rs.html b/src/cairo_native/libfuncs/drop.rs.html index e82a8c750..1852e58f8 100644 --- a/src/cairo_native/libfuncs/drop.rs.html +++ b/src/cairo_native/libfuncs/drop.rs.html @@ -45,6 +45,17 @@ 45 46 47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58
//! # `AP` tracking libfuncs
 //!
 //! Most types are trivial and don't need dropping (or rather, they will be dropped automatically
@@ -72,13 +83,13 @@
 
 /// Generate MLIR operations for the `drop` libfunc.
 pub fn build<'ctx, 'this, TType, TLibfunc>(
-    _context: &'ctx Context,
-    _registry: &ProgramRegistry<TType, TLibfunc>,
+    context: &'ctx Context,
+    registry: &ProgramRegistry<TType, TLibfunc>,
     entry: &'this Block<'ctx>,
     location: Location<'ctx>,
     helper: &LibfuncHelper<'ctx, 'this>,
-    _metadata: &mut MetadataStorage,
-    _info: &SignatureOnlyConcreteLibfunc,
+    metadata: &mut MetadataStorage,
+    info: &SignatureOnlyConcreteLibfunc,
 ) -> Result<()>
 where
     TType: GenericType,
@@ -88,7 +99,18 @@
 {
     // TODO: Implement drop for arrays.
 
-    entry.append_operation(helper.br(0, &[], location));
+    let ty = registry.get_type(&info.signature.param_signatures[0].ty)?;
+    ty.build_drop(
+        context,
+        registry,
+        entry,
+        location,
+        helper,
+        metadata,
+        &info.signature.param_signatures[0].ty,
+    )?;
+
+    entry.append_operation(helper.br(0, &[], location));
 
     Ok(())
 }
diff --git a/src/cairo_native/metadata/realloc_bindings.rs.html b/src/cairo_native/metadata/realloc_bindings.rs.html
index f5ade0522..0d7996d3f 100644
--- a/src/cairo_native/metadata/realloc_bindings.rs.html
+++ b/src/cairo_native/metadata/realloc_bindings.rs.html
@@ -66,6 +66,34 @@
 66
 67
 68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
 
//! # Memory allocation external bindings
 //!
 //! This metadata ensures that the bindings to the C function `realloc` exist in the current
@@ -112,6 +140,19 @@
             )],
             Location::unknown(context),
         ));
+        module.body().append_operation(func::func(
+            context,
+            StringAttribute::new(context, "free"),
+            TypeAttribute::new(
+                FunctionType::new(context, &[llvm::r#type::opaque_pointer(context)], &[]).into(),
+            ),
+            Region::new(),
+            &[(
+                Identifier::new(context, "sym_visibility"),
+                StringAttribute::new(context, "private").into(),
+            )],
+            Location::unknown(context),
+        ));
 
         Self {
             phantom: PhantomData,
@@ -133,5 +174,20 @@
             location,
         )
     }
+
+    /// Calls the `free` function.
+    pub fn free<'c>(
+        context: &'c Context,
+        ptr: Value<'c, '_>,
+        location: Location<'c>,
+    ) -> Operation<'c> {
+        func::call(
+            context,
+            FlatSymbolRefAttribute::new(context, "free"),
+            &[ptr],
+            &[],
+            location,
+        )
+    }
 }
 
\ No newline at end of file diff --git a/src/cairo_native/metadata/runtime_bindings.rs.html b/src/cairo_native/metadata/runtime_bindings.rs.html index a83b780df..a93f8aa8b 100644 --- a/src/cairo_native/metadata/runtime_bindings.rs.html +++ b/src/cairo_native/metadata/runtime_bindings.rs.html @@ -625,6 +625,48 @@ 625 626 627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669
//! # Runtime library bindings
 //!
 //! This metadata ensures that the bindings to the runtime functions exist in the current
@@ -655,6 +697,7 @@
     DictNew,
     DictGet,
     DictInsert,
+    DictFree,
 }
 
 /// Runtime library bindings metadata.
@@ -1139,6 +1182,47 @@
         )))
     }
 
+    /// Register if necessary, then invoke the `dict_alloc_new()` function.
+    ///
+    /// Returns a opaque pointer as the result.
+    #[allow(clippy::too_many_arguments)]
+    pub fn dict_alloc_free<'c, 'a>(
+        &mut self,
+        context: &'c Context,
+        module: &Module,
+        ptr: Value<'c, 'a>,
+        block: &'a Block<'c>,
+        location: Location<'c>,
+    ) -> Result<OperationRef<'c, 'a>>
+    where
+        'c: 'a,
+    {
+        if self.active_map.insert(RuntimeBinding::DictFree) {
+            module.body().append_operation(func::func(
+                context,
+                StringAttribute::new(context, "cairo_native__dict_free"),
+                TypeAttribute::new(
+                    FunctionType::new(context, &[llvm::r#type::opaque_pointer(context)], &[])
+                        .into(),
+                ),
+                Region::new(),
+                &[(
+                    Identifier::new(context, "sym_visibility"),
+                    StringAttribute::new(context, "private").into(),
+                )],
+                Location::unknown(context),
+            ));
+        }
+
+        Ok(block.append_operation(func::call(
+            context,
+            FlatSymbolRefAttribute::new(context, "cairo_native__dict_free"),
+            &[ptr],
+            &[],
+            location,
+        )))
+    }
+
     /// Register if necessary, then invoke the `dict_get()` function.
     ///
     /// Gets the value for a given key, the returned pointer is null if not found.
diff --git a/src/cairo_native/types.rs.html b/src/cairo_native/types.rs.html
index 48f5fc18b..e311c00f7 100644
--- a/src/cairo_native/types.rs.html
+++ b/src/cairo_native/types.rs.html
@@ -458,14 +458,91 @@
 458
 459
 460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
 
//! # Compiler type infrastructure
 //!
 //! Contains type generation stuff (aka. conversion from Sierra to MLIR types).
 
 use crate::{
     error::CoreTypeBuilderError,
-    metadata::MetadataStorage,
-    utils::{get_integer_layout, layout_repeat},
+    libfuncs::LibfuncHelper,
+    metadata::{
+        realloc_bindings::ReallocBindingsMeta, runtime_bindings::RuntimeBindingsMeta,
+        MetadataStorage,
+    },
+    utils::{get_integer_layout, layout_repeat, ProgramRegistryExt},
 };
 use cairo_lang_sierra::{
     extensions::{
@@ -476,6 +553,10 @@
     ids::ConcreteTypeId,
     program_registry::ProgramRegistry,
 };
+use melior::{
+    dialect::llvm::{self, r#type::opaque_pointer},
+    ir::{attribute::DenseI64ArrayAttribute, Block, Location, Value},
+};
 use melior::{
     ir::{Module, Type},
     Context,
@@ -548,6 +629,18 @@
     ///
     /// TODO: How is it used?
     fn variants(&self) -> Option<&[ConcreteTypeId]>;
+
+    #[allow(clippy::too_many_arguments)]
+    fn build_drop<'ctx, 'this>(
+        &self,
+        context: &'ctx Context,
+        registry: &ProgramRegistry<TType, TLibfunc>,
+        entry: &'this Block<'ctx>,
+        location: Location<'ctx>,
+        helper: &LibfuncHelper<'ctx, 'this>,
+        metadata: &mut MetadataStorage,
+        self_ty: &ConcreteTypeId,
+    ) -> Result<(), Self::Error>;
 }
 
 impl<TType, TLibfunc> TypeBuilder<TType, TLibfunc> for CoreTypeConcrete
@@ -887,6 +980,59 @@
             _ => None,
         }
     }
+
+    fn build_drop<'ctx, 'this>(
+        &self,
+        context: &'ctx Context,
+        registry: &ProgramRegistry<TType, TLibfunc>,
+        entry: &'this Block<'ctx>,
+        location: Location<'ctx>,
+        helper: &LibfuncHelper<'ctx, 'this>,
+        metadata: &mut MetadataStorage,
+        self_ty: &ConcreteTypeId,
+    ) -> Result<(), Self::Error> {
+        match self {
+            CoreTypeConcrete::Array(_info) => {
+                let array_ty = registry.build_type(context, helper, registry, metadata, self_ty)?;
+
+                let ptr_ty = crate::ffi::get_struct_field_type_at(&array_ty, 0);
+
+                let array_val = entry.argument(0)?.into();
+
+                let op = entry.append_operation(llvm::extract_value(
+                    context,
+                    array_val,
+                    DenseI64ArrayAttribute::new(context, &[0]),
+                    ptr_ty,
+                    location,
+                ));
+                let ptr: Value = op.result(0)?.into();
+
+                let ptr = entry
+                    .append_operation(llvm::bitcast(ptr, opaque_pointer(context), location))
+                    .result(0)?
+                    .into();
+
+                entry.append_operation(ReallocBindingsMeta::free(context, ptr, location));
+            }
+            CoreTypeConcrete::Felt252Dict(_) | CoreTypeConcrete::SquashedFelt252Dict(_) => {
+                let runtime: &mut RuntimeBindingsMeta = metadata.get_mut().unwrap();
+                let ptr = entry.argument(0)?.into();
+
+                runtime.dict_alloc_free(context, helper, ptr, entry, location)?;
+            }
+            CoreTypeConcrete::Box(_) | CoreTypeConcrete::Nullable(_) => {
+                if metadata.get::<ReallocBindingsMeta>().is_none() {
+                    metadata.insert(ReallocBindingsMeta::new(context, helper));
+                }
+
+                let ptr = entry.argument(0)?.into();
+                entry.append_operation(ReallocBindingsMeta::free(context, ptr, location));
+            }
+            _ => {}
+        };
+        Ok(())
+    }
 }
 
 #[derive(Clone, Debug, Eq, Hash, PartialEq)]
diff --git a/src/cairo_native/utils.rs.html b/src/cairo_native/utils.rs.html
index 8240b9f1a..e4ee5a66b 100644
--- a/src/cairo_native/utils.rs.html
+++ b/src/cairo_native/utils.rs.html
@@ -1160,6 +1160,12 @@
 1160
 1161
 1162
+1163
+1164
+1165
+1166
+1167
+1168
 
//! # Various utilities
 
 use crate::{
@@ -1438,6 +1444,12 @@
                 as *mut (),
         );
 
+        engine.register_symbol(
+            "cairo_native__dict_free",
+            cairo_native_runtime::cairo_native__dict_free as *const fn(*mut std::ffi::c_void) -> ()
+                as *mut (),
+        );
+
         engine.register_symbol(
             "cairo_native__dict_get",
             cairo_native_runtime::cairo_native__dict_get
diff --git a/src/cairo_native/values.rs.html b/src/cairo_native/values.rs.html
index 0b2aee7f5..6963c0087 100644
--- a/src/cairo_native/values.rs.html
+++ b/src/cairo_native/values.rs.html
@@ -681,6 +681,12 @@
 681
 682
 683
+684
+685
+686
+687
+688
+689
 
//! # JIT params and return values de/serialization
 
 //! A Rusty interface to provide parameters to JIT calls.
@@ -1135,6 +1141,8 @@
                         array_value.push(Self::from_jit(cur_elem_ptr, &info.ty, registry));
                     }
 
+                    libc::free(data_ptr.as_ptr().cast());
+
                     Self::Array(array_value)
                 }
                 CoreTypeConcrete::Box(info) => JITValue::from_jit(ptr, &info.ty, registry),
@@ -1249,11 +1257,15 @@
                     for (key, val_ptr) in map.iter() {
                         let key = Felt252::from_bytes_le(key.as_slice());
                         output_map.insert(key, Self::from_jit(val_ptr.cast(), &info.ty, registry));
+                        // we need to free all the elements, which are allocated by libc realloc.
+                        libc::free(val_ptr.as_ptr());
                     }
 
-                    Box::leak(map); // we must leak to avoid a double free
+                    // we must leak to avoid a double free
+                    // as it was allocated in the arena and will be freed by it.
+                    Box::leak(map);
 
-                    JITValue::Felt252Dict {
+                    JITValue::Felt252Dict {
                         value: output_map,
                         debug_name: type_id.debug_name.as_ref().map(|x| x.to_string()),
                     }
diff --git a/src/cairo_native_runtime/lib.rs.html b/src/cairo_native_runtime/lib.rs.html
index 90a29d2b7..bdbc39132 100644
--- a/src/cairo_native_runtime/lib.rs.html
+++ b/src/cairo_native_runtime/lib.rs.html
@@ -415,6 +415,23 @@
 415
 416
 417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
 
#![allow(non_snake_case)]
 
 use cairo_felt::Felt252;
@@ -593,6 +610,23 @@
     }
 }
 
+/// Frees the dictionary.
+///
+/// # Safety
+///
+/// This function is intended to be called from MLIR, deals with pointers, and is therefore
+/// definitely unsafe to use manually.
+#[no_mangle]
+pub unsafe extern "C" fn cairo_native__dict_free(map: *mut std::ffi::c_void) {
+    let dict = map.cast::<HashMap<[u8; 32], NonNull<std::ffi::c_void>>>();
+    let dict = Box::from_raw(dict);
+
+    for (_, entry) in dict.into_iter() {
+        libc::free(entry.as_ptr().cast());
+    }
+    // freed by box drop
+}
+
 /// Compute `ec_point_from_x_nz(x)` and store it.
 ///
 /// # Panics