From c9e70ed91851850f96f8abc1035b6a25c067df25 Mon Sep 17 00:00:00 2001 From: Andrew Poelstra Date: Thu, 8 Aug 2024 20:47:41 +0000 Subject: [PATCH] update libsimplicity to 121b2951d8cca3d73dccd6fcbe721f2195025067 This update renames a bunch of symbols from x to simplicity_x. This commit has a small number of non-mechanical changes to address that. It also updates the benchmarks and therefore the CMRs and AMRs of many jets. The one "judgement call" was to update wrapper.h in accordance with https://github.com/BlockstreamResearch/simplicity/pull/248#issuecomment-2248830161 to cover all the jet wrapper renames. --- simplicity-sys/depend/env.c | 2 +- .../depend/simplicity-HEAD-revision.txt | 2 +- simplicity-sys/depend/simplicity/bitstream.c | 14 +- simplicity-sys/depend/simplicity/bitstream.h | 10 +- simplicity-sys/depend/simplicity/cmr.c | 8 +- simplicity-sys/depend/simplicity/dag.c | 91 +- simplicity-sys/depend/simplicity/dag.h | 16 +- .../depend/simplicity/deserialize.c | 40 +- .../depend/simplicity/deserialize.h | 2 +- simplicity-sys/depend/simplicity/eval.c | 12 +- simplicity-sys/depend/simplicity/eval.h | 6 +- simplicity-sys/depend/simplicity/frame.c | 22 +- simplicity-sys/depend/simplicity/frame.h | 36 +- .../include/simplicity/elements/env.h | 4 +- .../include/simplicity/elements/exec.h | 2 +- .../depend/simplicity/jets-secp256k1.c | 92 +- simplicity-sys/depend/simplicity/jets.c | 1016 ++--- simplicity-sys/depend/simplicity/jets.h | 738 ++-- simplicity-sys/depend/simplicity/primitive.h | 4 +- .../primitive/elements/checkSigHashAllTx1.c | 14 +- .../primitive/elements/checkSigHashAllTx1.h | 2 +- .../simplicity/primitive/elements/env.c | 36 +- .../simplicity/primitive/elements/exec.c | 24 +- .../simplicity/primitive/elements/jets.c | 358 +- .../simplicity/primitive/elements/jets.h | 204 +- .../simplicity/primitive/elements/ops.c | 28 +- .../simplicity/primitive/elements/ops.h | 18 +- .../simplicity/primitive/elements/primitive.c | 162 +- .../simplicity/primitive/elements/primitive.h | 2 +- .../primitive/elements/primitiveJetNode.inc | 2810 ++++++------- simplicity-sys/depend/simplicity/rsort.c | 6 +- simplicity-sys/depend/simplicity/rsort.h | 4 +- simplicity-sys/depend/simplicity/schnorr0.c | 8 +- simplicity-sys/depend/simplicity/schnorr6.c | 8 +- .../depend/simplicity/secp256k1/util.h | 2 +- simplicity-sys/depend/simplicity/sha256.c | 14 +- simplicity-sys/depend/simplicity/sha256.h | 8 +- .../depend/simplicity/sha256_x86.inc | 2 +- simplicity-sys/depend/simplicity/test.c | 99 +- simplicity-sys/depend/simplicity/type.c | 4 +- simplicity-sys/depend/simplicity/type.h | 2 +- .../depend/simplicity/typeInference.c | 10 +- .../depend/simplicity/typeInference.h | 2 +- simplicity-sys/depend/wrapper.h | 2 +- simplicity-sys/src/c_jets/c_env.rs | 4 +- simplicity-sys/src/tests/ffi.rs | 40 +- simplicity-sys/src/tests/mod.rs | 44 +- src/bit_machine/mod.rs | 6 +- src/human_encoding/parse/mod.rs | 4 +- src/jet/elements/c_env.rs | 6 +- src/jet/init/core.rs | 2928 ++++++------- src/jet/init/elements.rs | 3744 ++++++++--------- src/merkle/amr.rs | 2 +- src/node/commit.rs | 4 +- src/node/redeem.rs | 16 +- 55 files changed, 6381 insertions(+), 6363 deletions(-) diff --git a/simplicity-sys/depend/env.c b/simplicity-sys/depend/env.c index 8d4c7106..7fd42169 100644 --- a/simplicity-sys/depend/env.c +++ b/simplicity-sys/depend/env.c @@ -64,5 +64,5 @@ void c_set_txEnv(txEnv *result, const transaction *tx, const tapEnv *taproot, co { sha256_midstate genesis; sha256_toMidstate(genesis.s, genesisHash); - *result = build_txEnv(tx, taproot, &genesis, ix); + *result = simplicity_build_txEnv(tx, taproot, &genesis, ix); } diff --git a/simplicity-sys/depend/simplicity-HEAD-revision.txt b/simplicity-sys/depend/simplicity-HEAD-revision.txt index 90569c0b..0b0ff54e 100644 --- a/simplicity-sys/depend/simplicity-HEAD-revision.txt +++ b/simplicity-sys/depend/simplicity-HEAD-revision.txt @@ -1,2 +1,2 @@ # This file has been automatically generated. -714b44dafd66ab5d164c9247a0f793c320272162 +121b2951d8cca3d73dccd6fcbe721f2195025067 diff --git a/simplicity-sys/depend/simplicity/bitstream.c b/simplicity-sys/depend/simplicity/bitstream.c index 93b4f054..31a78a46 100644 --- a/simplicity-sys/depend/simplicity/bitstream.c +++ b/simplicity-sys/depend/simplicity/bitstream.c @@ -10,7 +10,7 @@ * * Precondition: NULL != stream */ -simplicity_err closeBitstream(bitstream* stream) { +simplicity_err simplicity_closeBitstream(bitstream* stream) { if (1 < stream->len) return SIMPLICITY_ERR_BITSTREAM_TRAILING_BYTES; /* If there is more than one byte remaining. */ if (1 == stream->len) { if (0 == stream->offset) return SIMPLICITY_ERR_BITSTREAM_TRAILING_BYTES; /* If there is one byte remaining */ @@ -30,7 +30,7 @@ simplicity_err closeBitstream(bitstream* stream) { * Precondition: 0 <= n < 32 * NULL != stream */ -int32_t readNBits(int n, bitstream* stream) { +int32_t simplicity_readNBits(int n, bitstream* stream) { simplicity_assert(0 <= n && n < 32); uint32_t result = 0; @@ -109,7 +109,7 @@ static int32_t decodeUpto3Bits(int32_t* result, bitstream* stream) { } else { int32_t n = decodeUpto3(stream); if (0 <= n) { - *result = readNBits(n, stream); + *result = simplicity_readNBits(n, stream); if (*result < 0) return *result; } return n; @@ -153,7 +153,7 @@ static int32_t decodeUpto15Bits(int32_t* result, bitstream* stream) { } else { int32_t n = decodeUpto15(stream); if (0 <= n) { - *result = readNBits(n, stream); + *result = simplicity_readNBits(n, stream); if (*result < 0) return *result; } return n; @@ -184,7 +184,7 @@ static int32_t decodeUpto65535(bitstream* stream) { * * Precondition: NULL != stream */ -int32_t decodeUptoMaxInt(bitstream* stream) { +int32_t simplicity_decodeUptoMaxInt(bitstream* stream) { int32_t bit = read1Bit(stream); if (bit < 0) return bit; if (0 == bit) { @@ -194,7 +194,7 @@ int32_t decodeUptoMaxInt(bitstream* stream) { if (n < 0) return n; if (30 < n) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE; { - int32_t result = readNBits(n, stream); + int32_t result = simplicity_readNBits(n, stream); if (result < 0) return result; return ((1 << n) | result); } @@ -211,7 +211,7 @@ int32_t decodeUptoMaxInt(bitstream* stream) { * n <= 2^31 * NULL != stream */ -simplicity_err readBitstring(bitstring* result, size_t n, bitstream* stream) { +simplicity_err simplicity_readBitstring(bitstring* result, size_t n, bitstream* stream) { static_assert(0x80000000u + 2*(CHAR_BIT - 1) <= SIZE_MAX, "size_t needs to be at least 32-bits"); simplicity_assert(n <= 0x80000000u); size_t total_offset = n + stream->offset; diff --git a/simplicity-sys/depend/simplicity/bitstream.h b/simplicity-sys/depend/simplicity/bitstream.h index bb16d516..58179ad0 100644 --- a/simplicity-sys/depend/simplicity/bitstream.h +++ b/simplicity-sys/depend/simplicity/bitstream.h @@ -36,7 +36,7 @@ static inline bitstream initializeBitstream(const unsigned char* arr, size_t len * * Precondition: NULL != stream */ -simplicity_err closeBitstream(bitstream* stream); +simplicity_err simplicity_closeBitstream(bitstream* stream); /* Fetches up to 31 bits from 'stream' as the 'n' least significant bits of return value. * The 'n' bits are set from the MSB to the LSB. @@ -45,7 +45,7 @@ simplicity_err closeBitstream(bitstream* stream); * Precondition: 0 <= n < 32 * NULL != stream */ -int32_t readNBits(int n, bitstream* stream); +int32_t simplicity_readNBits(int n, bitstream* stream); /* Returns one bit from 'stream', 0 or 1. * Returns 'SIMPLICITY_ERR_BITSTREAM_EOF' if no bits are available. @@ -53,7 +53,7 @@ int32_t readNBits(int n, bitstream* stream); * Precondition: NULL != stream */ static inline int32_t read1Bit(bitstream* stream) { - return readNBits(1, stream); + return simplicity_readNBits(1, stream); } /* Decode an encoded number between 1 and 2^31 - 1 inclusive. @@ -64,7 +64,7 @@ static inline int32_t read1Bit(bitstream* stream) { * * Precondition: NULL != stream */ -int32_t decodeUptoMaxInt(bitstream* stream); +int32_t simplicity_decodeUptoMaxInt(bitstream* stream); /* Fills a 'bitstring' containing 'n' bits from 'stream'. * Returns 'SIMPLICITY_ERR_BITSTREAM_EOF' if not enough bits are available. @@ -76,5 +76,5 @@ int32_t decodeUptoMaxInt(bitstream* stream); * n <= 2^31 * NULL != stream */ -simplicity_err readBitstring(bitstring* result, size_t n, bitstream* stream); +simplicity_err simplicity_readBitstring(bitstring* result, size_t n, bitstream* stream); #endif diff --git a/simplicity-sys/depend/simplicity/cmr.c b/simplicity-sys/depend/simplicity/cmr.c index fde6943b..b4a94fc7 100644 --- a/simplicity-sys/depend/simplicity/cmr.c +++ b/simplicity-sys/depend/simplicity/cmr.c @@ -26,14 +26,14 @@ bool simplicity_computeCmr( simplicity_err* error, unsigned char* cmr bitstream stream = initializeBitstream(program, program_len); dag_node* dag = NULL; - int32_t dag_len = decodeMallocDag(&dag, NULL, &stream); + int_fast32_t dag_len = simplicity_decodeMallocDag(&dag, NULL, &stream); if (dag_len <= 0) { simplicity_assert(dag_len < 0); - *error = dag_len; + *error = (simplicity_err)dag_len; } else { simplicity_assert(NULL != dag); - simplicity_assert((size_t)dag_len <= DAG_LEN_MAX); - *error = closeBitstream(&stream); + simplicity_assert((uint_fast32_t)dag_len <= DAG_LEN_MAX); + *error = simplicity_closeBitstream(&stream); sha256_fromMidstate(cmr, dag[dag_len-1].cmr.s); } diff --git a/simplicity-sys/depend/simplicity/dag.c b/simplicity-sys/depend/simplicity/dag.c index ab8ea005..91a11f8f 100644 --- a/simplicity-sys/depend/simplicity/dag.c +++ b/simplicity-sys/depend/simplicity/dag.c @@ -88,7 +88,7 @@ static sha256_midstate mkJetCMR(uint32_t *imr, uint_fast64_t weight) { block[6] = (uint32_t)(weight >> 32); block[7] = (uint32_t)weight; memcpy(&block[8], imr, sizeof(uint32_t[8])); - sha256_compression(result.s, block); + simplicity_sha256_compression(result.s, block); return result; } @@ -97,7 +97,7 @@ static sha256_midstate mkJetCMR(uint32_t *imr, uint_fast64_t weight) { * * Precondition: 2^n == value->len */ -sha256_midstate computeWordCMR(const bitstring* value, size_t n) { +sha256_midstate simplicity_computeWordCMR(const bitstring* value, size_t n) { /* 'stack' is an array of 30 hashes consisting of 8 'uint32_t's each. */ uint32_t stack[8*30] = {0}; uint32_t *stack_ptr = stack; @@ -128,7 +128,7 @@ sha256_midstate computeWordCMR(const bitstring* value, size_t n) { for (size_t j = i; j & 1; j = j >> 1) { sha256_midstate pair = cmrIV(PAIR); stack_ptr -= 8; - sha256_compression(pair.s, stack_ptr); + simplicity_sha256_compression(pair.s, stack_ptr); memcpy(stack_ptr, pair.s, sizeof(uint32_t[8])); } } @@ -137,10 +137,10 @@ sha256_midstate computeWordCMR(const bitstring* value, size_t n) { simplicity_assert(stack_ptr == stack + 8); /* Pass 2: Compute the IMR for the expression by adding the type roots of ONE and TWO^(2^n) to the CMR. */ - sha256_compression(imr.s, stack); + simplicity_sha256_compression(imr.s, stack); memcpy(&stack[0], word_type_root[0].s, sizeof(uint32_t[8])); memcpy(&stack[8], word_type_root[n+1].s, sizeof(uint32_t[8])); - sha256_compression(imr.s, stack); + simplicity_sha256_compression(imr.s, stack); /* Pass 3: Compute the jet's CMR from the specificion's IMR. */ return mkJetCMR(imr.s, ((uint_fast64_t)1 << n)); @@ -156,7 +156,7 @@ sha256_midstate computeWordCMR(const bitstring* value, size_t n) { * Precondition: dag_node dag[i + 1] and 'dag' is well-formed. * dag[i].'tag' \notin {HIDDEN, JET, WORD} */ -void computeCommitmentMerkleRoot(dag_node* dag, const size_t i) { +void simplicity_computeCommitmentMerkleRoot(dag_node* dag, const uint_fast32_t i) { uint32_t block[16] = {0}; size_t j = 8; @@ -182,7 +182,7 @@ void computeCommitmentMerkleRoot(dag_node* dag, const size_t i) { case TAKE: case DROP: memcpy(block + j, dag[dag[i].child[0]].cmr.s, sizeof(uint32_t[8])); - sha256_compression(dag[i].cmr.s, block); + simplicity_sha256_compression(dag[i].cmr.s, block); case IDEN: case UNIT: case WITNESS: @@ -200,7 +200,7 @@ void computeCommitmentMerkleRoot(dag_node* dag, const size_t i) { * Precondition: sha256_midstate imr[len]; * dag_node dag[len] and 'dag' is well-typed with 'type_dag' and contains witnesses. */ -static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const size_t len) { +static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const uint_fast32_t len) { /* Pass 1 */ for (size_t i = 0; i < len; ++i) { uint32_t block[16] = {0}; @@ -213,9 +213,9 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, : imrIV(dag[i].tag); switch (dag[i].tag) { case WITNESS: - sha256_bitstring(block, &dag[i].compactValue); + simplicity_sha256_bitstring(block, &dag[i].compactValue); memcpy(block + 8, type_dag[WITNESS_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(imr[i].s, block); + simplicity_sha256_compression(imr[i].s, block); break; case COMP: case ASSERTL: @@ -231,7 +231,7 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, case TAKE: case DROP: memcpy(block + j, imr[dag[i].child[0]].s, sizeof(uint32_t[8])); - sha256_compression(imr[i].s, block); + simplicity_sha256_compression(imr[i].s, block); case IDEN: case UNIT: case HIDDEN: @@ -248,14 +248,14 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, if (HIDDEN == dag[i].tag) { memcpy(block + 8, imr[i].s, sizeof(uint32_t[8])); imr[i] = hiddenIV; - sha256_compression(imr[i].s, block); + simplicity_sha256_compression(imr[i].s, block); } else { memcpy(block + 8, imr[i].s, sizeof(uint32_t[8])); imr[i] = identityIV; - sha256_compression(imr[i].s, block); + simplicity_sha256_compression(imr[i].s, block); memcpy(block, type_dag[dag[i].sourceType].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[dag[i].targetType].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(imr[i].s, block); + simplicity_sha256_compression(imr[i].s, block); } } } @@ -271,8 +271,8 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, * dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag'. * Postconditon: analyses analysis[len] contains the annotated Merkle roots of each subexpressions of 'dag'. */ -void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, const size_t len) { - for (size_t i = 0; i < len; ++i) { +void simplicity_computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, const uint_fast32_t len) { + for (uint_fast32_t i = 0; i < len; ++i) { uint32_t block[16] = {0}; /* For jets, their annotated Merkle root is the same as their commitment Merkle root. */ @@ -287,77 +287,77 @@ void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const t memcpy(block, type_dag[CASE_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[CASE_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, type_dag[CASE_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[CASE_D(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case DISCONNECT: memcpy(block, type_dag[DISCONNECT_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[DISCONNECT_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, type_dag[DISCONNECT_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[DISCONNECT_D(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case COMP: memcpy(block + 8, type_dag[COMP_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, type_dag[COMP_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[COMP_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case PAIR: memcpy(block + 8, type_dag[PAIR_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, type_dag[PAIR_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[PAIR_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case INJL: case INJR: memcpy(block, type_dag[INJ_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[INJ_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, type_dag[INJ_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case TAKE: case DROP: memcpy(block, type_dag[PROJ_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[PROJ_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, type_dag[PROJ_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case IDEN: memcpy(block + 8, type_dag[IDEN_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case UNIT: memcpy(block + 8, type_dag[UNIT_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case WITNESS: memcpy(block + 8, type_dag[WITNESS_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); memcpy(block, type_dag[WITNESS_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_bitstring(block + 8, &dag[i].compactValue); - sha256_compression(analysis[i].annotatedMerkleRoot.s, block); + simplicity_sha256_bitstring(block + 8, &dag[i].compactValue); + simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block); break; case HIDDEN: case JET: @@ -378,9 +378,9 @@ void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const t * * Precondition: dag_node dag[len] and 'dag' is well-formed. */ -simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len) { - size_t bottom = 0; - size_t top = len-1; /* Underflow is checked below. */ +simplicity_err simplicity_verifyCanonicalOrder(dag_node* dag, const uint_fast32_t len) { + uint_fast32_t bottom = 0; + uint_fast32_t top = len-1; /* Underflow is checked below. */ if (!len) { simplicity_assert(false); /* A well-formed dag has non-zero length */ @@ -403,7 +403,7 @@ simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len) { */ /* Check first child. */ - size_t child = dag[top].child[0]; + uint_fast32_t child = dag[top].child[0]; switch (dag[top].tag) { case ASSERTL: case ASSERTR: @@ -482,9 +482,9 @@ simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len) { * Postcondition: dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag' * when the result is 'SIMPLICITY_NO_ERROR'; */ -simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len, bitstream *witness) { +simplicity_err simplicity_fillWitnessData(dag_node* dag, type* type_dag, const uint_fast32_t len, bitstream *witness) { static_assert(CELLS_MAX <= 0x80000000, "CELLS_MAX is too large."); - for (size_t i = 0; i < len; ++i) { + for (uint_fast32_t i = 0; i < len; ++i) { if (WITNESS == dag[i].tag) { if (CELLS_MAX < type_dag[WITNESS_B(dag, type_dag, i)].bitSize) return SIMPLICITY_ERR_EXEC_MEMORY; if (witness->len <= 0) { @@ -571,8 +571,9 @@ simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len, * * Precondition: dag_node dag[len] and 'dag' is well-typed with 'type_dag' and contains witnesses. */ -simplicity_err verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const size_t dag_len) { +simplicity_err simplicity_verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const uint_fast32_t dag_len) { simplicity_assert(0 < dag_len); + simplicity_assert(dag_len <= DAG_LEN_MAX); sha256_midstate* imr_buf = simplicity_malloc((size_t)dag_len * sizeof(sha256_midstate)); if (!imr_buf) return SIMPLICITY_ERR_MALLOC; @@ -580,7 +581,7 @@ simplicity_err verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_no if (imr) *imr = imr_buf[dag_len-1]; - int result = hasDuplicates(imr_buf, dag_len); + int result = simplicity_hasDuplicates(imr_buf, dag_len); simplicity_free(imr_buf); diff --git a/simplicity-sys/depend/simplicity/dag.h b/simplicity-sys/depend/simplicity/dag.h index f88cf7b8..f2f9cd27 100644 --- a/simplicity-sys/depend/simplicity/dag.h +++ b/simplicity-sys/depend/simplicity/dag.h @@ -97,7 +97,7 @@ static inline size_t numChildren(tag_t tag) { * * Precondition: 2^n == value->len */ -sha256_midstate computeWordCMR(const bitstring* value, size_t n); +sha256_midstate simplicity_computeWordCMR(const bitstring* value, size_t n); /* A node the the DAG of a Simplicity expression. * It consists of a 'tag' indicating the kind of expression the node represents. @@ -115,7 +115,7 @@ typedef struct dag_node { jet_ptr jet; sha256_midstate cmr; union { - size_t aux; /* Used as scratch space for verifyCanonicalOrder. */ + uint_fast32_t aux; /* Used as scratch space for verifyCanonicalOrder. */ struct { size_t sourceType, targetType; }; @@ -125,7 +125,7 @@ typedef struct dag_node { size_t sourceIx; }; struct { - size_t child[2]; + uint_fast32_t child[2]; }; bitstring compactValue; }; @@ -334,7 +334,7 @@ typedef struct analyses { * Precondition: dag_node dag[i + 1] and 'dag' is well-formed. * dag[i].'tag' \notin {HIDDEN, JET, WORD} */ -void computeCommitmentMerkleRoot(dag_node* dag, size_t i); +void simplicity_computeCommitmentMerkleRoot(dag_node* dag, uint_fast32_t i); /* Given a well-typed dag representing a Simplicity expression, compute the annotated Merkle roots of all subexpressions. * For all 'i', 0 <= 'i' < 'len', 'analysis[i].annotatedMerkleRoot' will be the AMR of the subexpression denoted by the slice @@ -347,7 +347,7 @@ void computeCommitmentMerkleRoot(dag_node* dag, size_t i); * dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag'. * Postconditon: analyses analysis[len] contains the annotated Merkle roots of each subexpressions of 'dag'. */ -void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, size_t len); +void simplicity_computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, uint_fast32_t len); /* Verifies that the 'dag' is in canonical order, meaning that nodes under the left branches have lower indices than nodes under * right branches, with the exception that nodes under right braches may (cross-)reference identical nodes that already occur under @@ -360,7 +360,7 @@ void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const t * * Precondition: dag_node dag[len] and 'dag' is well-formed. */ -simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len); +simplicity_err simplicity_verifyCanonicalOrder(dag_node* dag, const uint_fast32_t len); /* This function fills in the 'WITNESS' nodes of a 'dag' with the data from 'witness'. * For each 'WITNESS' : A |- B expression in 'dag', the bits from the 'witness' bitstring are decoded in turn @@ -375,7 +375,7 @@ simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len); * Postcondition: dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag' * when the result is 'SIMPLICITY_NO_ERROR'; */ -simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len, bitstream *witness); +simplicity_err simplicity_fillWitnessData(dag_node* dag, type* type_dag, const uint_fast32_t len, bitstream *witness); /* Verifies that identity Merkle roots of every subexpression in a well-typed 'dag' with witnesses are all unique, * including that each hidden root hash for every 'HIDDEN' node is unique. @@ -388,6 +388,6 @@ simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len, * * Precondition: dag_node dag[len] and 'dag' is well-typed with 'type_dag' and contains witnesses. */ -simplicity_err verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const size_t dag_len); +simplicity_err simplicity_verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const uint_fast32_t dag_len); #endif diff --git a/simplicity-sys/depend/simplicity/deserialize.c b/simplicity-sys/depend/simplicity/deserialize.c index e0c6eaf9..699fc4a2 100644 --- a/simplicity-sys/depend/simplicity/deserialize.c +++ b/simplicity-sys/depend/simplicity/deserialize.c @@ -17,10 +17,10 @@ static simplicity_err getWord32Array(uint32_t* result, const size_t len, bitstream* stream) { for (size_t i = 0; i < len; ++i) { /* Due to error codes, readNBits cannot fetch 32 bits at once. Instead we fetch two groups of 16 bits. */ - int32_t bits16 = readNBits(16, stream); + int32_t bits16 = simplicity_readNBits(16, stream); if (bits16 < 0) return (simplicity_err)bits16; result[i] = (uint32_t)bits16 << 16; - bits16 = readNBits(16, stream); + bits16 = simplicity_readNBits(16, stream); if (bits16 < 0) return (simplicity_err)bits16; result[i] |= (uint32_t)bits16; } @@ -55,7 +55,7 @@ static simplicity_err getHash(sha256_midstate* result, bitstream* stream) { * i < 2^31 - 1 * NULL != stream */ -static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) { +static simplicity_err decodeNode(dag_node* dag, uint_fast32_t i, bitstream* stream) { int32_t bit = read1Bit(stream); if (bit < 0) return (simplicity_err)bit; dag[i] = (dag_node){0}; @@ -63,30 +63,30 @@ static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) { bit = read1Bit(stream); if (bit < 0) return (simplicity_err)bit; if (bit) { - return decodeJet(&dag[i], stream); + return simplicity_decodeJet(&dag[i], stream); } else { /* Decode WORD. */ - int32_t depth = decodeUptoMaxInt(stream); + int32_t depth = simplicity_decodeUptoMaxInt(stream); if (depth < 0) return (simplicity_err)depth; if (32 < depth) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE; { - simplicity_err error = readBitstring(&dag[i].compactValue, (size_t)1 << (depth - 1), stream); + simplicity_err error = simplicity_readBitstring(&dag[i].compactValue, (size_t)1 << (depth - 1), stream); if (!IS_OK(error)) return error; } dag[i].tag = WORD; dag[i].targetIx = (size_t)depth; - dag[i].cmr = computeWordCMR(&dag[i].compactValue, (size_t)(depth - 1)); + dag[i].cmr = simplicity_computeWordCMR(&dag[i].compactValue, (size_t)(depth - 1)); } } else { - int32_t code = readNBits(2, stream); + int32_t code = simplicity_readNBits(2, stream); if (code < 0) return (simplicity_err)code; - int32_t subcode = readNBits(code < 3 ? 2 : 1, stream); + int32_t subcode = simplicity_readNBits(code < 3 ? 2 : 1, stream); if (subcode < 0) return (simplicity_err)subcode; for (int32_t j = 0; j < 2 - code; ++j) { - int32_t ix = decodeUptoMaxInt(stream); + int32_t ix = simplicity_decodeUptoMaxInt(stream); if (ix < 0) return (simplicity_err)ix; - if (i < (uint32_t)ix) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE; - dag[i].child[j] = i - (uint32_t)ix; + if (i < (uint_fast32_t)ix) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE; + dag[i].child[j] = i - (uint_fast32_t)ix; } switch (code) { case 0: @@ -134,7 +134,7 @@ static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) { if (HIDDEN == dag[dag[i].child[j]].tag && dag[i].tag != (j ? ASSERTL : ASSERTR)) return SIMPLICITY_ERR_HIDDEN; } - computeCommitmentMerkleRoot(dag, i); + simplicity_computeCommitmentMerkleRoot(dag, i); } return SIMPLICITY_NO_ERROR; } @@ -153,8 +153,8 @@ static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) { * len < 2^31 * NULL != stream */ -static simplicity_err decodeDag(dag_node* dag, const size_t len, combinator_counters* census, bitstream* stream) { - for (size_t i = 0; i < len; ++i) { +static simplicity_err decodeDag(dag_node* dag, const uint_fast32_t len, combinator_counters* census, bitstream* stream) { + for (uint_fast32_t i = 0; i < len; ++i) { simplicity_err error = decodeNode(dag, i, stream); if (!IS_OK(error)) return error; @@ -186,9 +186,9 @@ static simplicity_err decodeDag(dag_node* dag, const size_t len, combinator_coun * of the function is positive and when NULL != census; * NULL == *dag when the return value is negative. */ -int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream) { +int_fast32_t simplicity_decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream) { *dag = NULL; - int32_t dagLen = decodeUptoMaxInt(stream); + int32_t dagLen = simplicity_decodeUptoMaxInt(stream); if (dagLen <= 0) return dagLen; static_assert(DAG_LEN_MAX <= (uint32_t)INT32_MAX, "DAG_LEN_MAX exceeds supported parsing range."); if (DAG_LEN_MAX < (uint32_t)dagLen) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE; @@ -199,12 +199,12 @@ int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* if (!*dag) return SIMPLICITY_ERR_MALLOC; if (census) *census = (combinator_counters){0}; - simplicity_err error = decodeDag(*dag, (size_t)dagLen, census, stream); + simplicity_err error = decodeDag(*dag, (uint_fast32_t)dagLen, census, stream); if (IS_OK(error)) { error = HIDDEN == (*dag)[dagLen - 1].tag ? SIMPLICITY_ERR_HIDDEN_ROOT - : verifyCanonicalOrder(*dag, (size_t)(dagLen)); + : simplicity_verifyCanonicalOrder(*dag, (uint_fast32_t)(dagLen)); } if (IS_OK(error)) { @@ -212,6 +212,6 @@ int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* } else { simplicity_free(*dag); *dag = NULL; - return (int32_t)error; + return (int_fast32_t)error; } } diff --git a/simplicity-sys/depend/simplicity/deserialize.h b/simplicity-sys/depend/simplicity/deserialize.h index 698c6019..d0ebfb54 100644 --- a/simplicity-sys/depend/simplicity/deserialize.h +++ b/simplicity-sys/depend/simplicity/deserialize.h @@ -28,6 +28,6 @@ * of the function is positive and when NULL != census; * NULL == *dag when the return value is negative. */ -int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream); +int_fast32_t simplicity_decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream); #endif diff --git a/simplicity-sys/depend/simplicity/eval.c b/simplicity-sys/depend/simplicity/eval.c index de98781a..2da5ddc6 100644 --- a/simplicity-sys/depend/simplicity/eval.c +++ b/simplicity-sys/depend/simplicity/eval.c @@ -405,7 +405,7 @@ static simplicity_err runTCO(evalState state, call* stack, const dag_node* dag, write32s(state.activeWriteFrame, dag[dag[pc].child[1]].cmr.s, 8); /* COPY(BITSIZE(A)) */ - copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_A(dag, type_dag, pc)].bitSize); + simplicity_copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_A(dag, type_dag, pc)].bitSize); if (get_tco_flag(&stack[pc])) { /* DROP_FRAME */ @@ -441,7 +441,7 @@ static simplicity_err runTCO(evalState state, call* stack, const dag_node* dag, state.activeWriteFrame++; state.activeReadFrame++; /* COPY(BITSIZE(B)) */ - copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_B(dag, type_dag, pc)].bitSize); + simplicity_copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_B(dag, type_dag, pc)].bitSize); /* FWD(BITSIZE(B)) */ forward(state.activeReadFrame, type_dag[DISCONNECT_B(dag, type_dag, pc)].bitSize); @@ -492,7 +492,7 @@ static simplicity_err runTCO(evalState state, call* stack, const dag_node* dag, case WITNESS: if (IDEN == tag) { /* COPY(BITSIZE(A)) */ - copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[IDEN_A(dag, type_dag, pc)].bitSize); + simplicity_copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[IDEN_A(dag, type_dag, pc)].bitSize); } else { writeValue(state.activeWriteFrame, &dag[pc].compactValue, dag[pc].targetType, type_dag); } @@ -586,7 +586,7 @@ typedef struct boundsAnalysis { * * :TODO: The cost calculations below are estimated and need to be replaced by experimental data. */ -simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound +simplicity_err simplicity_analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound , ubounded maxCells, ubounded maxCost, const dag_node* dag, const type* type_dag, const size_t len) { static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(boundsAnalysis), "bound array too large."); static_assert(1 <= DAG_LEN_MAX, "DAG_LEN_MAX is zero."); @@ -779,7 +779,7 @@ simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubound * if NULL != budget then *budget <= BUDGET_MAX * if 'dag[len]' represents a Simplicity expression with primitives then 'NULL != env'; */ -simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input +simplicity_err simplicity_evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input , const dag_node* dag, type* type_dag, size_t len, const ubounded* budget, const txEnv* env ) { simplicity_assert(1 <= len); @@ -789,7 +789,7 @@ simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, con static_assert(BUDGET_MAX <= (UBOUNDED_MAX - 1) / 1000, "BUDGET_MAX is too large."); static_assert(CELLS_MAX < UBOUNDED_MAX, "CELLS_MAX is too large."); ubounded cellsBound, UWORDBound, frameBound, costBound; - simplicity_err result = analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, CELLS_MAX, budget ? *budget*1000 : UBOUNDED_MAX, dag, type_dag, len); + simplicity_err result = simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, CELLS_MAX, budget ? *budget*1000 : UBOUNDED_MAX, dag, type_dag, len); if (!IS_OK(result)) return result; /* frameBound is at most 2*len. */ diff --git a/simplicity-sys/depend/simplicity/eval.h b/simplicity-sys/depend/simplicity/eval.h index 9a05470e..ba6a6759 100644 --- a/simplicity-sys/depend/simplicity/eval.h +++ b/simplicity-sys/depend/simplicity/eval.h @@ -31,7 +31,7 @@ typedef unsigned char flags_type; * and if maxCells < UBOUNDED_MAX then '*UWORDBound' bounds the number of UWORDs needed for the frames during evaluation of 'dag' * and if maxCells < UBOUNDED_MAX then '*frameBound' bounds the number of stack frames needed during execution of 'dag'. */ -simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound +simplicity_err simplicity_analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound , ubounded maxCells, ubounded maxCost, const dag_node* dag, const type* type_dag, const size_t len); /* Run the Bit Machine on the well-typed Simplicity expression 'dag[len]' of type A |- B. @@ -56,7 +56,7 @@ simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubound * if NULL != budget then *budget <= BUDGET_MAX * if 'dag[len]' represents a Simplicity expression with primitives then 'NULL != env'; */ -simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input +simplicity_err simplicity_evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input , const dag_node* dag, type* type_dag, size_t len, const ubounded* budget, const txEnv* env ); @@ -77,6 +77,6 @@ simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, con * if 'dag[len]' represents a Simplicity expression with primitives then 'NULL != env'; */ static inline simplicity_err evalTCOProgram(const dag_node* dag, type* type_dag, size_t len, const ubounded* budget, const txEnv* env) { - return evalTCOExpression(CHECK_ALL, NULL, NULL, dag, type_dag, len, budget, env); + return simplicity_evalTCOExpression(CHECK_ALL, NULL, NULL, dag, type_dag, len, budget, env); } #endif diff --git a/simplicity-sys/depend/simplicity/frame.c b/simplicity-sys/depend/simplicity/frame.c index 52fa748d..d2bc91c3 100644 --- a/simplicity-sys/depend/simplicity/frame.c +++ b/simplicity-sys/depend/simplicity/frame.c @@ -6,7 +6,7 @@ * \ * Precondition: '*frame' is a valid read frame for bits more cells. \ */ \ -uint_fast##size##_t read##bits(frameItem* frame) { \ +uint_fast##size##_t simplicity_read##bits(frameItem* frame) { \ static_assert(bits <= size, "Return type too small to hold the requested number of bits."); \ uint_fast##size##_t result = 0; \ /* Pointers to the UWORD of the read frame that contains the frame's cursor (or is immediately after the cursor). */ \ @@ -53,7 +53,7 @@ READ_(64,64) * \ * Precondition: '*frame' is a valid write frame for bits more cells. \ */ \ -void write##bits(frameItem* frame, uint_fast##bits##_t x) { \ +void simplicity_write##bits(frameItem* frame, uint_fast##bits##_t x) { \ /* Pointers to the UWORD of the write frame that contains the frame's cursor (or is immediately after the cursor). */ \ UWORD* frame_ptr = frame->edge + (frame->offset - 1) / UWORD_BIT; \ /* The specific bit within the above UWORD that is immediately in front of the cursor. \ @@ -101,7 +101,7 @@ WRITE_(64) * '*src' is a valid read frame for 8*(2^(n+1)-1)+n+1 more cells; * 0 <= n < 16 */ -void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n) { +void simplicity_read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n) { simplicity_debug_assert(0 <= n && n < 16); *len = 0; @@ -126,7 +126,7 @@ void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n) { * len < 2^(n+1); * 0 <= n < 16; */ -void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n) { +void simplicity_write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n) { simplicity_debug_assert(0 <= n && n < 16); simplicity_debug_assert(len < ((size_t)1<<(n+1))); for (size_t i = (size_t)1 << n; 0 < i; i /= 2) { @@ -149,12 +149,12 @@ void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n) * Precondition: NULL != ctx->output; * '*src' is a valid read frame for 838 more cells; */ -bool read_sha256_context(sha256_context* ctx, frameItem* src) { +bool simplicity_read_sha256_context(sha256_context* ctx, frameItem* src) { size_t len; uint_fast64_t compressionCount; - read_buffer8(ctx->block, &len, src, 5); - compressionCount = read64(src); + simplicity_read_buffer8(ctx->block, &len, src, 5); + compressionCount = simplicity_read64(src); ctx->counter = ((compressionCount*1U) << 6) + len; read32s(ctx->output, 8, src); ctx->overflow = (sha256_max_counter >> 6) <= compressionCount; @@ -172,9 +172,9 @@ bool read_sha256_context(sha256_context* ctx, frameItem* src) { * NULL != ctx->output; * ctx->counter < 2^61; */ -bool write_sha256_context(frameItem* dst, const sha256_context* ctx) { - write_buffer8(dst, ctx->block, ctx->counter % 64, 5); - write64(dst, ctx->counter >> 6); +bool simplicity_write_sha256_context(frameItem* dst, const sha256_context* ctx) { + simplicity_write_buffer8(dst, ctx->block, ctx->counter % 64, 5); + simplicity_write64(dst, ctx->counter >> 6); write32s(dst, ctx->output, 8); return !ctx->overflow; } @@ -260,7 +260,7 @@ static void copyBitsHelper(const frameItem* dst, const frameItem *src, size_t n) * Precondition: '*dst' is a valid write frame for 'n' more cells; * '*src' is a valid read frame for 'n' more cells; */ -void copyBits(frameItem* dst, const frameItem* src, size_t n) { +void simplicity_copyBits(frameItem* dst, const frameItem* src, size_t n) { if (0 == n) return; copyBitsHelper(dst, src, n); dst->offset -= n; diff --git a/simplicity-sys/depend/simplicity/frame.h b/simplicity-sys/depend/simplicity/frame.h index aa45e796..1492e098 100644 --- a/simplicity-sys/depend/simplicity/frame.h +++ b/simplicity-sys/depend/simplicity/frame.h @@ -112,11 +112,11 @@ static inline void skipBits(frameItem* frame, size_t n) { * * Precondition: '*frame' is a valid read frame for 'N' more cells. */ -uint_fast8_t read4(frameItem* frame); -uint_fast8_t read8(frameItem* frame); -uint_fast16_t read16(frameItem* frame); -uint_fast32_t read32(frameItem* frame); -uint_fast64_t read64(frameItem* frame); +uint_fast8_t simplicity_read4(frameItem* frame); +uint_fast8_t simplicity_read8(frameItem* frame); +uint_fast16_t simplicity_read16(frameItem* frame); +uint_fast32_t simplicity_read32(frameItem* frame); +uint_fast64_t simplicity_read64(frameItem* frame); /* Given a write frame, the 'writeN' function sets the value of the 'N' cells after the cursor and * advances the frame's cursor by 'N'. @@ -125,25 +125,25 @@ uint_fast64_t read64(frameItem* frame); * * Precondition: '*frame' is a valid write frame for 'N' more cells. */ -void write8(frameItem* frame, uint_fast8_t x); -void write16(frameItem* frame, uint_fast16_t x); -void write32(frameItem* frame, uint_fast32_t x); -void write64(frameItem* frame, uint_fast64_t x); +void simplicity_write8(frameItem* frame, uint_fast8_t x); +void simplicity_write16(frameItem* frame, uint_fast16_t x); +void simplicity_write32(frameItem* frame, uint_fast32_t x); +void simplicity_write64(frameItem* frame, uint_fast64_t x); static inline void read8s(unsigned char* x, size_t n, frameItem* frame) { - for(; n; --n) *(x++) = (unsigned char)read8(frame); + for(; n; --n) *(x++) = (unsigned char)simplicity_read8(frame); } static inline void write8s(frameItem* frame, const unsigned char* x, size_t n) { - for(; n; --n) write8(frame, *(x++)); + for(; n; --n) simplicity_write8(frame, *(x++)); } static inline void read32s(uint32_t* x, size_t n, frameItem* frame) { - for(; n; --n) *(x++) = (uint32_t)read32(frame); + for(; n; --n) *(x++) = (uint32_t)simplicity_read32(frame); } static inline void write32s(frameItem* frame, const uint32_t* x, size_t n) { - for(; n; --n) write32(frame, *(x++)); + for(; n; --n) simplicity_write32(frame, *(x++)); } /* Read bytes from a Simplicity buffer of type (TWO^8)^<2^(n+1) into 'buf'. @@ -158,7 +158,7 @@ static inline void write32s(frameItem* frame, const uint32_t* x, size_t n) { * '*src' is a valid read frame for 8*(2^(n+1)-1)+n+1 more cells; * 0 <= n < 16 */ -void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n); +void simplicity_read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n); /* Write 'len' bytes to a Simplicity buffer of type (TWO^8)^<2^(n+1) from 'buf'. * Advance the 'dst' frame to the end of the buffer type. @@ -171,7 +171,7 @@ void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n); * len < 2^(n+1); * 0 <= n < 16; */ -void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n); +void simplicity_write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n); /* Read data from a Simplicity CTX8 type (TWO^8)^<2^64 * TWO^64 * TWO^256 and fill in a sha256_context value. * Advance the 'src' frame to the end of the CTX8 type. @@ -183,7 +183,7 @@ void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n); * Precondition: NULL != ctx->output; * '*src' is a valid read frame for 838 more cells; */ -bool read_sha256_context(sha256_context* ctx, frameItem* src); +bool simplicity_read_sha256_context(sha256_context* ctx, frameItem* src); /* Write data to a Simplicity CTX8 type (TWO^8)^<2^64 * TWO^64 * TWO^256 from a sha256_context value. * Advance the 'dst' frame to the end of the CTX8 type. @@ -196,7 +196,7 @@ bool read_sha256_context(sha256_context* ctx, frameItem* src); * NULL != ctx->output; * ctx->counter < 2^61; */ -bool write_sha256_context(frameItem* dst, const sha256_context* ctx); +bool simplicity_write_sha256_context(frameItem* dst, const sha256_context* ctx); /* Given a write frame and a read frame, copy 'n' cells from after the read frame's cursor to after the write frame's cursor, * and then advance the write frame's cursor by 'n'. @@ -205,5 +205,5 @@ bool write_sha256_context(frameItem* dst, const sha256_context* ctx); * Precondition: '*dst' is a valid write frame for 'n' more cells; * '*src' is a valid read frame for 'n' more cells; */ -void copyBits(frameItem* dst, const frameItem* src, size_t n); +void simplicity_copyBits(frameItem* dst, const frameItem* src, size_t n); #endif diff --git a/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h b/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h index 0ec29130..9d070c23 100644 --- a/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h +++ b/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h @@ -91,7 +91,7 @@ typedef struct transaction transaction; * * Precondition: NULL != rawTx */ -extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* rawTx); +extern transaction* simplicity_elements_mallocTransaction(const rawTransaction* rawTx); /* A structure representing taproot spending data for an Elements transaction. * @@ -113,5 +113,5 @@ typedef struct tapEnv tapEnv; * * Precondition: *rawEnv is well-formed (i.e. rawEnv->pathLen <= 128.) */ -extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv); +extern tapEnv* simplicity_elements_mallocTapEnv(const rawTapEnv* rawEnv); #endif diff --git a/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h b/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h index b382252b..f083642f 100644 --- a/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h +++ b/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h @@ -31,7 +31,7 @@ * unsigned char program[program_len] * unsigned char witness[witness_len] */ -extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned char* imr +extern bool simplicity_elements_execSimplicity( simplicity_err* error, unsigned char* imr , const transaction* tx, uint_fast32_t ix, const tapEnv* taproot , const unsigned char* genesisBlockHash , int64_t budget diff --git a/simplicity-sys/depend/simplicity/jets-secp256k1.c b/simplicity-sys/depend/simplicity/jets-secp256k1.c index 63755e51..fb610e31 100644 --- a/simplicity-sys/depend/simplicity/jets-secp256k1.c +++ b/simplicity-sys/depend/simplicity/jets-secp256k1.c @@ -137,7 +137,7 @@ static inline void write_scalar(frameItem* dst, const secp256k1_scalar* r) { write8s(dst, buf, 32); } -bool fe_normalize(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_normalize(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a; @@ -146,7 +146,7 @@ bool fe_normalize(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_negate(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_negate(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a; @@ -156,7 +156,7 @@ bool fe_negate(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_add(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_add(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a, b; @@ -167,7 +167,7 @@ bool fe_add(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_square(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_square(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a; @@ -177,7 +177,7 @@ bool fe_square(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_multiply(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_multiply(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a, b; @@ -188,7 +188,7 @@ bool fe_multiply(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a; @@ -198,7 +198,7 @@ bool fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_invert(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_invert(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a; @@ -208,7 +208,7 @@ bool fe_invert(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_square_root(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_square_root(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe r, a; @@ -222,7 +222,7 @@ bool fe_square_root(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_is_zero(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_is_zero(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a; @@ -231,7 +231,7 @@ bool fe_is_zero(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool fe_is_odd(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_fe_is_odd(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe a; @@ -240,7 +240,7 @@ bool fe_is_odd(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_normalize(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_normalize(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a; @@ -249,7 +249,7 @@ bool scalar_normalize(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_negate(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_negate(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a; @@ -259,7 +259,7 @@ bool scalar_negate(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_add(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_add(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a, b; @@ -270,7 +270,7 @@ bool scalar_add(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_square(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_square(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a; @@ -280,7 +280,7 @@ bool scalar_square(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_multiply(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_multiply(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a, b; @@ -291,7 +291,7 @@ bool scalar_multiply(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a; @@ -301,7 +301,7 @@ bool scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_invert(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_invert(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a; @@ -311,7 +311,7 @@ bool scalar_invert(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_scalar a; @@ -320,7 +320,7 @@ bool scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_infinity(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_infinity(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; (void) env; // env is unused; @@ -330,7 +330,7 @@ bool gej_infinity(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_rescale(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_rescale(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -342,7 +342,7 @@ bool gej_rescale(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_normalize(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_normalize(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -357,7 +357,7 @@ bool gej_normalize(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_negate(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_negate(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -367,7 +367,7 @@ bool gej_negate(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool ge_negate(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_ge_negate(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_ge a; @@ -377,7 +377,7 @@ bool ge_negate(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_double(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_double(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -387,7 +387,7 @@ bool gej_double(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_add(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_add(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a, b; @@ -398,7 +398,7 @@ bool gej_add(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -413,7 +413,7 @@ bool gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_ge_add(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_ge_add(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -425,7 +425,7 @@ bool gej_ge_add(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -434,7 +434,7 @@ bool gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_equiv(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_equiv(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a, b; @@ -444,7 +444,7 @@ bool gej_equiv(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -455,7 +455,7 @@ bool gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe x; @@ -466,7 +466,7 @@ bool gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -482,7 +482,7 @@ bool gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej a; @@ -491,7 +491,7 @@ bool gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_ge a; @@ -500,7 +500,7 @@ bool ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool off_curve_scale(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_off_curve_scale(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej r, a; @@ -514,7 +514,7 @@ bool off_curve_scale(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool scale(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_scale(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej r, a; @@ -532,7 +532,7 @@ bool scale(frameItem* dst, frameItem src, const txEnv* env) { } } -bool generate(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_generate(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej r; @@ -546,7 +546,7 @@ bool generate(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej r, a; @@ -560,7 +560,7 @@ bool off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* return true; } -bool linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_gej r, a; @@ -578,7 +578,7 @@ bool linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) { } } -bool linear_verify_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_linear_verify_1(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; (void) env; // env is unused; @@ -602,7 +602,7 @@ bool linear_verify_1(frameItem* dst, frameItem src, const txEnv* env) { } } -bool decompress(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_decompress(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe x; @@ -618,7 +618,7 @@ bool decompress(frameItem* dst, frameItem src, const txEnv* env) { return true; } -bool point_verify_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_point_verify_1(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; (void) env; // env is unused; @@ -646,7 +646,7 @@ bool point_verify_1(frameItem* dst, frameItem src, const txEnv* env) { } } -bool bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; (void) env; // env is unused; @@ -665,7 +665,7 @@ bool bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env) { } /* check_sig_verify : TWO^256*TWO^512*TWO^512 |- ONE */ -bool check_sig_verify(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_check_sig_verify(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; (void) env; // env is unused; @@ -691,7 +691,7 @@ bool check_sig_verify(frameItem* dst, frameItem src, const txEnv* env) { } /* swu : FE |- GE */ -bool swu(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_swu(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; secp256k1_fe t; secp256k1_ge ge; @@ -702,7 +702,7 @@ bool swu(frameItem* dst, frameItem src, const txEnv* env) { } /* hash_to_curve : TWO^256 |- GE */ -bool hash_to_curve(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_hash_to_curve(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused; unsigned char key[32]; secp256k1_generator gen; diff --git a/simplicity-sys/depend/simplicity/jets.c b/simplicity-sys/depend/simplicity/jets.c index 0fb81e4c..05abb054 100644 --- a/simplicity-sys/depend/simplicity/jets.c +++ b/simplicity-sys/depend/simplicity/jets.c @@ -10,32 +10,32 @@ #endif static void write128(frameItem* frame, const secp256k1_uint128* x) { - write64(frame, secp256k1_u128_hi_u64(x)); - write64(frame, secp256k1_u128_to_u64(x)); + simplicity_write64(frame, secp256k1_u128_hi_u64(x)); + simplicity_write64(frame, secp256k1_u128_to_u64(x)); } /* verify : TWO |- ONE */ -bool verify(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_verify(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ (void) dst; /* dst is unused. */ return readBit(&src); } /* low_1 : ONE |- TWO */ -bool low_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_low_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ (void) src; /* src is unused. */ writeBit(dst, 0); return true; } -#define LOW_(bits) \ -/* low_n : ONE |- TWO^n */ \ -bool low_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - (void) src; /* src is unused. */ \ - write##bits(dst, 0); \ - return true; \ +#define LOW_(bits) \ +/* low_n : ONE |- TWO^n */ \ +bool simplicity_low_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + (void) src; /* src is unused. */ \ + simplicity_write##bits(dst, 0); \ + return true; \ } LOW_(8) LOW_(16) @@ -43,20 +43,20 @@ LOW_(32) LOW_(64) /* high_1 : ONE |- TWO */ -bool high_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_high_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ (void) src; /* src is unused. */ writeBit(dst, 1); return true; } -#define HIGH_(bits) \ -/* high_n : ONE |- TWO^n */ \ -bool high_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - (void) src; /* src is unused. */ \ - write##bits(dst, UINT##bits##_MAX); \ - return true; \ +#define HIGH_(bits) \ +/* high_n : ONE |- TWO^n */ \ +bool simplicity_high_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + (void) src; /* src is unused. */ \ + simplicity_write##bits(dst, UINT##bits##_MAX); \ + return true; \ } HIGH_(8) HIGH_(16) @@ -64,20 +64,20 @@ HIGH_(32) HIGH_(64) /* complement_1 : TWO |- TWO */ -bool complement_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_complement_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); writeBit(dst, !x); return true; } -#define COMPLEMENT_(bits) \ -/* complement_n : TWO^n |- TWO^n */ \ -bool complement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - write##bits(dst, ~(1U*x)); \ - return true; \ +#define COMPLEMENT_(bits) \ +/* complement_n : TWO^n |- TWO^n */ \ +bool simplicity_complement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, ~(1U*x)); \ + return true; \ } COMPLEMENT_(8) COMPLEMENT_(16) @@ -85,7 +85,7 @@ COMPLEMENT_(32) COMPLEMENT_(64) /* and_1 : TWO * TWO |- TWO */ -bool and_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_and_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); bool y = readBit(&src); @@ -93,14 +93,14 @@ bool and_1(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define AND_(bits) \ -/* and_n : TWO^n * TWO^n |- TWO^n */ \ -bool and_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, x & y); \ - return true; \ +#define AND_(bits) \ +/* and_n : TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_and_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, x & y); \ + return true; \ } AND_(8) AND_(16) @@ -108,7 +108,7 @@ AND_(32) AND_(64) /* or_1 : TWO * TWO |- TWO */ -bool or_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_or_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); bool y = readBit(&src); @@ -116,14 +116,14 @@ bool or_1(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define OR_(bits) \ -/* or_n : TWO^n * TWO^n |- TWO^n */ \ -bool or_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, x | y); \ - return true; \ +#define OR_(bits) \ +/* or_n : TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_or_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, x | y); \ + return true; \ } OR_(8) OR_(16) @@ -131,7 +131,7 @@ OR_(32) OR_(64) /* xor_1 : TWO * TWO |- TWO */ -bool xor_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_xor_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); bool y = readBit(&src); @@ -139,14 +139,14 @@ bool xor_1(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define XOR_(bits) \ -/* xor_n : TWO^n * TWO^n |- TWO^n */ \ -bool xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, x ^ y); \ - return true; \ +#define XOR_(bits) \ +/* xor_n : TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, x ^ y); \ + return true; \ } XOR_(8) XOR_(16) @@ -154,7 +154,7 @@ XOR_(32) XOR_(64) /* maj_1 : TWO * TWO * TWO |- TWO */ -bool maj_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_maj_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); bool y = readBit(&src); @@ -163,15 +163,15 @@ bool maj_1(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define MAJ_(bits) \ -/* maj_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ -bool maj_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - uint_fast##bits##_t z = read##bits(&src); \ - write##bits(dst, (x&y) | (y&z) | (z&x)); \ - return true; \ +#define MAJ_(bits) \ +/* maj_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_maj_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + uint_fast##bits##_t z = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, (x&y) | (y&z) | (z&x)); \ + return true; \ } MAJ_(8) MAJ_(16) @@ -179,7 +179,7 @@ MAJ_(32) MAJ_(64) /* xor_xor_1 : TWO * TWO * TWO |- TWO */ -bool xor_xor_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_xor_xor_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); bool y = readBit(&src); @@ -188,15 +188,15 @@ bool xor_xor_1(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define XOR_XOR_(bits) \ -/* xor_xor_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ -bool xor_xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - uint_fast##bits##_t z = read##bits(&src); \ - write##bits(dst, x ^ y ^ z); \ - return true; \ +#define XOR_XOR_(bits) \ +/* xor_xor_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_xor_xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + uint_fast##bits##_t z = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, x ^ y ^ z); \ + return true; \ } XOR_XOR_(8) XOR_XOR_(16) @@ -204,7 +204,7 @@ XOR_XOR_(32) XOR_XOR_(64) /* ch_1 : TWO * TWO * TWO |- TWO */ -bool ch_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_ch_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); bool y = readBit(&src); @@ -213,15 +213,15 @@ bool ch_1(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define CH_(bits) \ -/* ch_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ -bool ch_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - uint_fast##bits##_t z = read##bits(&src); \ - write##bits(dst, ((x&y) | ((~(1U*x))&z))); \ - return true; \ +#define CH_(bits) \ +/* ch_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_ch_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + uint_fast##bits##_t z = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, ((x&y) | ((~(1U*x))&z))); \ + return true; \ } CH_(8) CH_(16) @@ -229,33 +229,33 @@ CH_(32) CH_(64) /* some_1 : TWO |- TWO */ -bool some_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_some_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); writeBit(dst, x); return true; } -#define SOME_(bits) \ -/* some_n : TWO^n |- TWO */ \ -bool some_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, x != 0); \ - return true; \ +#define SOME_(bits) \ +/* some_n : TWO^n |- TWO */ \ +bool simplicity_some_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, x != 0); \ + return true; \ } SOME_(8) SOME_(16) SOME_(32) SOME_(64) -#define ALL_(bits) \ -/* all_n : TWO^n |- TWO */ \ -bool all_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, x == UINT##bits##_MAX); \ - return true; \ +#define ALL_(bits) \ +/* all_n : TWO^n |- TWO */ \ +bool simplicity_all_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, x == UINT##bits##_MAX); \ + return true; \ } ALL_(8) ALL_(16) @@ -263,7 +263,7 @@ ALL_(32) ALL_(64) /* eq_1 : TWO * TWO |- TWO */ -bool eq_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_eq_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ bool x = readBit(&src); bool y = readBit(&src); @@ -271,14 +271,14 @@ bool eq_1(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define EQ_(bits) \ -/* eq_n : TWO^n * TWO^n |- TWO */ \ -bool eq_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - writeBit(dst, x == y); \ - return true; \ +#define EQ_(bits) \ +/* eq_n : TWO^n * TWO^n |- TWO */ \ +bool simplicity_eq_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + writeBit(dst, x == y); \ + return true; \ } EQ_(8) EQ_(16) @@ -286,7 +286,7 @@ EQ_(32) EQ_(64) /* eq_256 : TWO^256 * TWO^256 |- TWO */ -bool eq_256(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_eq_256(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ uint32_t arr[16]; read32s(arr, 16, &src); @@ -302,10 +302,10 @@ bool eq_256(frameItem* dst, frameItem src, const txEnv* env) { #define FULL_LEFT_SHIFT_(bitsN, bitsM) \ /* full_left_shift_n_m : TWO^n * TWO^m |- TWO^m * TWO^n */ \ -bool full_left_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ +bool simplicity_full_left_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \ - copyBits(dst, &src, (bitsN) + (bitsM)); \ + simplicity_copyBits(dst, &src, (bitsN) + (bitsM)); \ return true; \ } FULL_LEFT_SHIFT_(8,1) @@ -329,10 +329,10 @@ FULL_LEFT_SHIFT_(64,32) #define FULL_RIGHT_SHIFT_(bitsN, bitsM) \ /* full_right_shift_n_m : TWO^m * TWO^n |- TWO^n * TWO^m */ \ -bool full_right_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ +bool simplicity_full_right_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \ - copyBits(dst, &src, (bitsN) + (bitsM)); \ + simplicity_copyBits(dst, &src, (bitsN) + (bitsM)); \ return true; \ } FULL_RIGHT_SHIFT_(8,1) @@ -356,10 +356,10 @@ FULL_RIGHT_SHIFT_(64,32) #define LEFTMOST_(bitsN, bitsM) \ /* leftmost_n_m : TWO^n |- TWO^m */ \ -bool leftmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ +bool simplicity_leftmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \ - copyBits(dst, &src, (bitsM)); \ + simplicity_copyBits(dst, &src, (bitsM)); \ return true; \ } LEFTMOST_(8,1) @@ -383,11 +383,11 @@ LEFTMOST_(64,32) #define RIGHTMOST_(bitsN, bitsM) \ /* rightmost_n_m : TWO^n |- TWO^m */ \ -bool rightmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ +bool simplicity_rightmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \ forwardBits(&src, (bitsN) - (bitsM)); \ - copyBits(dst, &src, (bitsM)); \ + simplicity_copyBits(dst, &src, (bitsM)); \ return true; \ } RIGHTMOST_(8,1) @@ -409,29 +409,29 @@ RIGHTMOST_(64,8) RIGHTMOST_(64,16) RIGHTMOST_(64,32) -#define LEFT_PAD_LOW_1_(bitsM) \ -/* left_pad_low_1_m : TWO |- TWO^m */ \ -bool left_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - bool bit = readBit(&src); \ - write##bitsM(dst, bit); \ - return true; \ +#define LEFT_PAD_LOW_1_(bitsM) \ +/* left_pad_low_1_m : TWO |- TWO^m */ \ +bool simplicity_left_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + bool bit = readBit(&src); \ + simplicity_write##bitsM(dst, bit); \ + return true; \ } LEFT_PAD_LOW_1_(8) LEFT_PAD_LOW_1_(16) LEFT_PAD_LOW_1_(32) LEFT_PAD_LOW_1_(64) -#define LEFT_PAD_LOW_(bitsN, bitsM) \ -/* left_pad_low_n_m : TWO^n |- TWO^m */ \ -bool left_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ - for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, 0); } \ - copyBits(dst, &src, (bitsN)); \ - return true; \ +#define LEFT_PAD_LOW_(bitsN, bitsM) \ +/* left_pad_low_n_m : TWO^n |- TWO^m */ \ +bool simplicity_left_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ + for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, 0); } \ + simplicity_copyBits(dst, &src, (bitsN)); \ + return true; \ } LEFT_PAD_LOW_(8,16) LEFT_PAD_LOW_(8,32) @@ -440,30 +440,30 @@ LEFT_PAD_LOW_(16,32) LEFT_PAD_LOW_(16,64) LEFT_PAD_LOW_(32,64) -#define LEFT_PAD_HIGH_1_(bitsM) \ -/* left_pad_high_1_m : TWO |- TWO^m */ \ -bool left_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); } \ - copyBits(dst, &src, 1); \ - return true; \ +#define LEFT_PAD_HIGH_1_(bitsM) \ +/* left_pad_high_1_m : TWO |- TWO^m */ \ +bool simplicity_left_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); } \ + simplicity_copyBits(dst, &src, 1); \ + return true; \ } LEFT_PAD_HIGH_1_(8) LEFT_PAD_HIGH_1_(16) LEFT_PAD_HIGH_1_(32) LEFT_PAD_HIGH_1_(64) -#define LEFT_PAD_HIGH_(bitsN, bitsM) \ -/* left_pad_high_n_m : TWO^n |- TWO^m */ \ -bool left_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ - for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, UINT##bitsN##_MAX); } \ - copyBits(dst, &src, (bitsN)); \ - return true; \ +#define LEFT_PAD_HIGH_(bitsN, bitsM) \ +/* left_pad_high_n_m : TWO^n |- TWO^m */ \ +bool simplicity_left_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ + for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, UINT##bitsN##_MAX); } \ + simplicity_copyBits(dst, &src, (bitsN)); \ + return true; \ } LEFT_PAD_HIGH_(8,16) LEFT_PAD_HIGH_(8,32) @@ -472,31 +472,31 @@ LEFT_PAD_HIGH_(16,32) LEFT_PAD_HIGH_(16,64) LEFT_PAD_HIGH_(32,64) -#define LEFT_EXTEND_1_(bitsM) \ -/* left_extend_1_m : TWO |- TWO^m */ \ -bool left_extend_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - bool bit = readBit(&src); \ - write##bitsM(dst, bit ? UINT##bitsM##_MAX : 0); \ - return true; \ +#define LEFT_EXTEND_1_(bitsM) \ +/* left_extend_1_m : TWO |- TWO^m */ \ +bool simplicity_left_extend_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + bool bit = readBit(&src); \ + simplicity_write##bitsM(dst, bit ? UINT##bitsM##_MAX : 0); \ + return true; \ } LEFT_EXTEND_1_(8) LEFT_EXTEND_1_(16) LEFT_EXTEND_1_(32) LEFT_EXTEND_1_(64) -#define LEFT_EXTEND_(bitsN, bitsM) \ -/* left_extend_n_m : TWO^n |- TWO^m */ \ -bool left_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ - uint_fast##bitsN##_t input = read##bitsN(&src); \ - bool msb = input >> ((bitsN) - 1); \ - for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, msb ? UINT##bitsN##_MAX : 0); } \ - write##bitsN(dst, input); \ - return true; \ +#define LEFT_EXTEND_(bitsN, bitsM) \ +/* left_extend_n_m : TWO^n |- TWO^m */ \ +bool simplicity_left_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ + uint_fast##bitsN##_t input = simplicity_read##bitsN(&src); \ + bool msb = input >> ((bitsN) - 1); \ + for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, msb ? UINT##bitsN##_MAX : 0); } \ + simplicity_write##bitsN(dst, input); \ + return true; \ } LEFT_EXTEND_(8,16) LEFT_EXTEND_(8,32) @@ -505,30 +505,30 @@ LEFT_EXTEND_(16,32) LEFT_EXTEND_(16,64) LEFT_EXTEND_(32,64) -#define RIGHT_PAD_LOW_1_(bitsM) \ -/* right_pad_low_1_m : TWO |- TWO^m */ \ -bool right_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - bool bit = readBit(&src); \ - write##bitsM(dst, (uint_fast##bitsM##_t)((uint_fast##bitsM##_t)bit << ((bitsM) - 1))); \ - return true; \ +#define RIGHT_PAD_LOW_1_(bitsM) \ +/* right_pad_low_1_m : TWO |- TWO^m */ \ +bool simplicity_right_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + bool bit = readBit(&src); \ + simplicity_write##bitsM(dst, (uint_fast##bitsM##_t)((uint_fast##bitsM##_t)bit << ((bitsM) - 1))); \ + return true; \ } RIGHT_PAD_LOW_1_(8) RIGHT_PAD_LOW_1_(16) RIGHT_PAD_LOW_1_(32) RIGHT_PAD_LOW_1_(64) -#define RIGHT_PAD_LOW_(bitsN, bitsM) \ -/* right_pad_low_n_m : TWO^n |- TWO^m */ \ -bool right_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ - copyBits(dst, &src, (bitsN)); \ - for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, 0); } \ - return true; \ +#define RIGHT_PAD_LOW_(bitsN, bitsM) \ +/* right_pad_low_n_m : TWO^n |- TWO^m */ \ +bool simplicity_right_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ + simplicity_copyBits(dst, &src, (bitsN)); \ + for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, 0); } \ + return true; \ } RIGHT_PAD_LOW_(8,16) RIGHT_PAD_LOW_(8,32) @@ -537,30 +537,30 @@ RIGHT_PAD_LOW_(16,32) RIGHT_PAD_LOW_(16,64) RIGHT_PAD_LOW_(32,64) -#define RIGHT_PAD_HIGH_1_(bitsM) \ -/* right_pad_high_1_m : TWO |- TWO^m */ \ -bool right_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - copyBits(dst, &src, 1); \ - for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); } \ - return true; \ +#define RIGHT_PAD_HIGH_1_(bitsM) \ +/* right_pad_high_1_m : TWO |- TWO^m */ \ +bool simplicity_right_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + simplicity_copyBits(dst, &src, 1); \ + for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); } \ + return true; \ } RIGHT_PAD_HIGH_1_(8) RIGHT_PAD_HIGH_1_(16) RIGHT_PAD_HIGH_1_(32) RIGHT_PAD_HIGH_1_(64) -#define RIGHT_PAD_HIGH_(bitsN, bitsM) \ -/* right_pad_high_n_m : TWO^n |- TWO^m */ \ -bool right_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ - copyBits(dst, &src, (bitsN)); \ - for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, UINT##bitsN##_MAX); } \ - return true; \ +#define RIGHT_PAD_HIGH_(bitsN, bitsM) \ +/* right_pad_high_n_m : TWO^n |- TWO^m */ \ +bool simplicity_right_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ + simplicity_copyBits(dst, &src, (bitsN)); \ + for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, UINT##bitsN##_MAX); } \ + return true; \ } RIGHT_PAD_HIGH_(8,16) RIGHT_PAD_HIGH_(8,32) @@ -569,18 +569,18 @@ RIGHT_PAD_HIGH_(16,32) RIGHT_PAD_HIGH_(16,64) RIGHT_PAD_HIGH_(32,64) -#define RIGHT_EXTEND_(bitsN, bitsM) \ -/* right_extend_n_m : TWO^n |- TWO^m */ \ -bool right_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ - static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ - static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ - uint_fast##bitsN##_t input = read##bitsN(&src); \ - bool lsb = input & 1; \ - write##bitsN(dst, input); \ - for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, lsb ? UINT##bitsN##_MAX : 0); } \ - return true; \ +#define RIGHT_EXTEND_(bitsN, bitsM) \ +/* right_extend_n_m : TWO^n |- TWO^m */ \ +bool simplicity_right_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range"); \ + static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range"); \ + static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN"); \ + uint_fast##bitsN##_t input = simplicity_read##bitsN(&src); \ + bool lsb = input & 1; \ + simplicity_write##bitsN(dst, input); \ + for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, lsb ? UINT##bitsN##_MAX : 0); } \ + return true; \ } RIGHT_EXTEND_(8,16) RIGHT_EXTEND_(8,32) @@ -589,69 +589,69 @@ RIGHT_EXTEND_(16,32) RIGHT_EXTEND_(16,64) RIGHT_EXTEND_(32,64) -#define LEFT_SHIFT_(log, bits) \ -static inline void left_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) { \ - static_assert(log <= 8, "Only log parameter upto 8 is supported."); \ - uint_fast8_t amt = read##log(src); \ - uint_fast##bits##_t output = read##bits(src); \ - if (with) output = UINT##bits##_MAX ^ output; \ - if (amt < bits) { \ - output = (uint_fast##bits##_t)((1U * output) << amt); \ - } else { \ - output = 0; \ - } \ - if (with) output = UINT##bits##_MAX ^ output; \ - write##bits(dst, output); \ -} \ - \ -/* left_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */ \ -bool left_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - bool with = readBit(&src); \ - left_shift_helper_##bits(with, dst, &src); \ - return true; \ -} \ - \ -/* left_shift_n : TWO^l * TWO^n |- TWO^n */ \ -bool left_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - left_shift_helper_##bits(0, dst, &src); \ - return true; \ -} -LEFT_SHIFT_(4,8) -LEFT_SHIFT_(4,16) -LEFT_SHIFT_(8,32) -LEFT_SHIFT_(8,64) - -#define RIGHT_SHIFT_(log, bits) \ -static inline void right_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) { \ +#define LEFT_SHIFT_(log, bits) \ +static inline void left_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) { \ static_assert(log <= 8, "Only log parameter upto 8 is supported."); \ - uint_fast8_t amt = read##log(src); \ - uint_fast##bits##_t output = read##bits(src); \ + uint_fast8_t amt = simplicity_read##log(src); \ + uint_fast##bits##_t output = simplicity_read##bits(src); \ if (with) output = UINT##bits##_MAX ^ output; \ if (amt < bits) { \ - output = (uint_fast##bits##_t)(output >> amt); \ + output = (uint_fast##bits##_t)((1U * output) << amt); \ } else { \ output = 0; \ } \ if (with) output = UINT##bits##_MAX ^ output; \ - write##bits(dst, output); \ + simplicity_write##bits(dst, output); \ } \ \ -/* right_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */ \ -bool right_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ +/* left_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */ \ +bool simplicity_left_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ bool with = readBit(&src); \ - right_shift_helper_##bits(with, dst, &src); \ + left_shift_helper_##bits(with, dst, &src); \ return true; \ } \ \ -/* right_shift_n : TWO^l * TWO^n |- TWO^n */ \ -bool right_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ +/* left_shift_n : TWO^l * TWO^n |- TWO^n */ \ +bool simplicity_left_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ - right_shift_helper_##bits(0, dst, &src); \ + left_shift_helper_##bits(0, dst, &src); \ return true; \ } +LEFT_SHIFT_(4,8) +LEFT_SHIFT_(4,16) +LEFT_SHIFT_(8,32) +LEFT_SHIFT_(8,64) + +#define RIGHT_SHIFT_(log, bits) \ +static inline void right_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) { \ + static_assert(log <= 8, "Only log parameter upto 8 is supported."); \ + uint_fast8_t amt = simplicity_read##log(src); \ + uint_fast##bits##_t output = simplicity_read##bits(src); \ + if (with) output = UINT##bits##_MAX ^ output; \ + if (amt < bits) { \ + output = (uint_fast##bits##_t)(output >> amt); \ + } else { \ + output = 0; \ + } \ + if (with) output = UINT##bits##_MAX ^ output; \ + simplicity_write##bits(dst, output); \ +} \ + \ +/* right_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */ \ +bool simplicity_right_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + bool with = readBit(&src); \ + right_shift_helper_##bits(with, dst, &src); \ + return true; \ +} \ + \ +/* right_shift_n : TWO^l * TWO^n |- TWO^n */ \ +bool simplicity_right_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + right_shift_helper_##bits(0, dst, &src); \ + return true; \ +} RIGHT_SHIFT_(4,8) RIGHT_SHIFT_(4,16) RIGHT_SHIFT_(8,32) @@ -668,21 +668,21 @@ static inline uint_fast##bits##_t rotate_##bits(uint_fast##bits##_t value, uint_ } \ \ /* left_rotate_n : TWO^l * TWO^n |- TWO^n */ \ -bool left_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ +bool simplicity_left_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ - uint_fast8_t amt = read##log(&src) % bits; \ - uint_fast##bits##_t input = read##bits(&src); \ - write##bits(dst, rotate_##bits(input, amt)); \ + uint_fast8_t amt = simplicity_read##log(&src) % bits; \ + uint_fast##bits##_t input = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, rotate_##bits(input, amt)); \ return true; \ } \ \ /* right_rotate_n : TWO^l * TWO^n |- TWO^n */ \ -bool right_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ +bool simplicity_right_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ static_assert(bits <= UINT8_MAX, "'bits' is too large."); \ (void) env; /* env is unused. */ \ - uint_fast8_t amt = read##log(&src) % bits; \ - uint_fast##bits##_t input = read##bits(&src); \ - write##bits(dst, rotate_##bits(input, (uint_fast8_t)((bits - amt) % bits))); \ + uint_fast8_t amt = simplicity_read##log(&src) % bits; \ + uint_fast##bits##_t input = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, rotate_##bits(input, (uint_fast8_t)((bits - amt) % bits))); \ return true; \ } ROTATE_(4,8) @@ -690,28 +690,28 @@ ROTATE_(4,16) ROTATE_(8,32) ROTATE_(8,64) -#define ONE_(bits) \ -/* one_n : ONE |- TWO^n */ \ -bool one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - (void) src; /* src is unused. */ \ - write##bits(dst, 1); \ - return true; \ +#define ONE_(bits) \ +/* one_n : ONE |- TWO^n */ \ +bool simplicity_one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + (void) src; /* src is unused. */ \ + simplicity_write##bits(dst, 1); \ + return true; \ } ONE_(8) ONE_(16) ONE_(32) ONE_(64) -#define ADD_(bits) \ -/* add_n : TWO^n * TWO^n |- TWO * TWO^n */ \ -bool add_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - writeBit(dst, 1U * UINT##bits##_MAX - y < x); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x + y)); \ - return true; \ +#define ADD_(bits) \ +/* add_n : TWO^n * TWO^n |- TWO * TWO^n */ \ +bool simplicity_add_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + writeBit(dst, 1U * UINT##bits##_MAX - y < x); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + y)); \ + return true; \ } ADD_(8) ADD_(16) @@ -720,13 +720,13 @@ ADD_(64) #define FULL_ADD_(bits) \ /* full_add_n : TWO * TWO^n * TWO^n |- TWO * TWO^n */ \ -bool full_add_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ +bool simplicity_full_add_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ (void) env; /* env is unused. */ \ bool z = readBit(&src); \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ writeBit(dst, 1U * UINT##bits##_MAX - y < x || 1U * UINT##bits##_MAX - z < 1U * x + y); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x + y + z)); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + y + z)); \ return true; \ } FULL_ADD_(8) @@ -734,151 +734,151 @@ FULL_ADD_(16) FULL_ADD_(32) FULL_ADD_(64) -#define FULL_INCREMENT_(bits) \ -/* full_increment_n : TWO * TWO^n |- TWO * TWO^n */ \ -bool full_increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - bool z = readBit(&src); \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, 1U * UINT##bits##_MAX - z < x); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x + z)); \ - return true; \ +#define FULL_INCREMENT_(bits) \ +/* full_increment_n : TWO * TWO^n |- TWO * TWO^n */ \ +bool simplicity_full_increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + bool z = readBit(&src); \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, 1U * UINT##bits##_MAX - z < x); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + z)); \ + return true; \ } FULL_INCREMENT_(8) FULL_INCREMENT_(16) FULL_INCREMENT_(32) FULL_INCREMENT_(64) -#define INCREMENT_(bits) \ -/* increment_n : TWO^n |- TWO * TWO^n */ \ -bool increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, 1U * UINT##bits##_MAX - 1 < x); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x + 1)); \ - return true; \ +#define INCREMENT_(bits) \ +/* increment_n : TWO^n |- TWO * TWO^n */ \ +bool simplicity_increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, 1U * UINT##bits##_MAX - 1 < x); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + 1)); \ + return true; \ } INCREMENT_(8) INCREMENT_(16) INCREMENT_(32) INCREMENT_(64) -#define SUBTRACT_(bits) \ -/* subtract_n : TWO^n * TWO^n |- TWO * TWO^n */ \ -bool subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - writeBit(dst, x < y); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x - y)); \ - return true; \ +#define SUBTRACT_(bits) \ +/* subtract_n : TWO^n * TWO^n |- TWO * TWO^n */ \ +bool simplicity_subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + writeBit(dst, x < y); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - y)); \ + return true; \ } SUBTRACT_(8) SUBTRACT_(16) SUBTRACT_(32) SUBTRACT_(64) -#define NEGATE_(bits) \ -/* negate_n : TWO^n |- TWO * TWO^n */ \ -bool negate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, x != 0); \ - write##bits(dst, (uint_fast##bits##_t)(- (1U * x))); \ - return true; \ +#define NEGATE_(bits) \ +/* negate_n : TWO^n |- TWO * TWO^n */ \ +bool simplicity_negate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, x != 0); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(- (1U * x))); \ + return true; \ } NEGATE_(8) NEGATE_(16) NEGATE_(32) NEGATE_(64) -#define FULL_DECREMENT_(bits) \ -/* full_decrement_n : TWO * TWO^n |- TWO * TWO^n */ \ -bool full_decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - bool z = readBit(&src); \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, x < z); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x - z)); \ - return true; \ +#define FULL_DECREMENT_(bits) \ +/* full_decrement_n : TWO * TWO^n |- TWO * TWO^n */ \ +bool simplicity_full_decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + bool z = readBit(&src); \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, x < z); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - z)); \ + return true; \ } FULL_DECREMENT_(8) FULL_DECREMENT_(16) FULL_DECREMENT_(32) FULL_DECREMENT_(64) -#define DECREMENT_(bits) \ -/* decrement_n : TWO^n |- TWO * TWO^n */ \ -bool decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, x < 1); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x - 1)); \ - return true; \ +#define DECREMENT_(bits) \ +/* decrement_n : TWO^n |- TWO * TWO^n */ \ +bool simplicity_decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, x < 1); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - 1)); \ + return true; \ } DECREMENT_(8) DECREMENT_(16) DECREMENT_(32) DECREMENT_(64) -#define FULL_SUBTRACT_(bits) \ -/* full_subtract_n : TWO * TWO^n * TWO^n |- TWO * TWO^n */ \ -bool full_subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - bool z = readBit(&src); \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - writeBit(dst, x < y || 1U * x - y < z); \ - write##bits(dst, (uint_fast##bits##_t)(1U * x - y - z)); \ - return true; \ +#define FULL_SUBTRACT_(bits) \ +/* full_subtract_n : TWO * TWO^n * TWO^n |- TWO * TWO^n */ \ +bool simplicity_full_subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + bool z = readBit(&src); \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + writeBit(dst, x < y || 1U * x - y < z); \ + simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - y - z)); \ + return true; \ } FULL_SUBTRACT_(8) FULL_SUBTRACT_(16) FULL_SUBTRACT_(32) FULL_SUBTRACT_(64) -#define MULTIPLY_(bits,bitsx2) \ -bool multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bitsx2##_t x = read##bits(&src); \ - uint_fast##bitsx2##_t y = read##bits(&src); \ - write##bitsx2(dst, x * y); \ - return true; \ +#define MULTIPLY_(bits,bitsx2) \ +bool simplicity_multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bitsx2##_t x = simplicity_read##bits(&src); \ + uint_fast##bitsx2##_t y = simplicity_read##bits(&src); \ + simplicity_write##bitsx2(dst, x * y); \ + return true; \ } MULTIPLY_(8, 16) MULTIPLY_(16, 32) MULTIPLY_(32, 64) -bool multiply_64(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_multiply_64(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ - uint_fast64_t x = read64(&src); - uint_fast64_t y = read64(&src); + uint_fast64_t x = simplicity_read64(&src); + uint_fast64_t y = simplicity_read64(&src); secp256k1_uint128 r; secp256k1_u128_mul(&r, x, y); write128(dst, &r); return true; } -#define FULL_MULTIPLY_(bits,bitsx2) \ -bool full_multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bitsx2##_t x = read##bits(&src); \ - uint_fast##bitsx2##_t y = read##bits(&src); \ - uint_fast##bitsx2##_t z = read##bits(&src); \ - uint_fast##bitsx2##_t w = read##bits(&src); \ - write##bitsx2(dst, x * y + z + w); \ - return true; \ +#define FULL_MULTIPLY_(bits,bitsx2) \ +bool simplicity_full_multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bitsx2##_t x = simplicity_read##bits(&src); \ + uint_fast##bitsx2##_t y = simplicity_read##bits(&src); \ + uint_fast##bitsx2##_t z = simplicity_read##bits(&src); \ + uint_fast##bitsx2##_t w = simplicity_read##bits(&src); \ + simplicity_write##bitsx2(dst, x * y + z + w); \ + return true; \ } FULL_MULTIPLY_(8, 16) FULL_MULTIPLY_(16, 32) FULL_MULTIPLY_(32, 64) -bool full_multiply_64(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_full_multiply_64(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ - uint_fast64_t x = read64(&src); - uint_fast64_t y = read64(&src); - uint_fast64_t z = read64(&src); - uint_fast64_t w = read64(&src); + uint_fast64_t x = simplicity_read64(&src); + uint_fast64_t y = simplicity_read64(&src); + uint_fast64_t z = simplicity_read64(&src); + uint_fast64_t w = simplicity_read64(&src); secp256k1_uint128 r; secp256k1_u128_mul(&r, x, y); secp256k1_u128_accum_u64(&r, z); @@ -887,156 +887,156 @@ bool full_multiply_64(frameItem* dst, frameItem src, const txEnv* env) { return true; } -#define IS_ZERO_(bits) \ -/* is_zero_n : TWO^n |- TWO */ \ -bool is_zero_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, x == 0); \ - return true; \ +#define IS_ZERO_(bits) \ +/* is_zero_n : TWO^n |- TWO */ \ +bool simplicity_is_zero_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, x == 0); \ + return true; \ } IS_ZERO_(8) IS_ZERO_(16) IS_ZERO_(32) IS_ZERO_(64) -#define IS_ONE_(bits) \ -/* is_one_n : TWO^n |- TWO */ \ -bool is_one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - writeBit(dst, x == 1); \ - return true; \ +#define IS_ONE_(bits) \ +/* is_one_n : TWO^n |- TWO */ \ +bool simplicity_is_one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + writeBit(dst, x == 1); \ + return true; \ } IS_ONE_(8) IS_ONE_(16) IS_ONE_(32) IS_ONE_(64) -#define LE_(bits) \ -/* le_n : TWO^n * TWO^n |- TWO */ \ -bool le_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - writeBit(dst, x <= y); \ - return true; \ +#define LE_(bits) \ +/* le_n : TWO^n * TWO^n |- TWO */ \ +bool simplicity_le_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + writeBit(dst, x <= y); \ + return true; \ } LE_(8) LE_(16) LE_(32) LE_(64) -#define LT_(bits) \ -/* lt_n : TWO^n * TWO^n |- TWO */ \ -bool lt_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - writeBit(dst, x < y); \ - return true; \ +#define LT_(bits) \ +/* lt_n : TWO^n * TWO^n |- TWO */ \ +bool simplicity_lt_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + writeBit(dst, x < y); \ + return true; \ } LT_(8) LT_(16) LT_(32) LT_(64) -#define MIN_(bits) \ -/* min_n : TWO^n * TWO^n |- TWO^n */ \ -bool min_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, x < y ? x : y); \ - return true; \ +#define MIN_(bits) \ +/* min_n : TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_min_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, x < y ? x : y); \ + return true; \ } MIN_(8) MIN_(16) MIN_(32) MIN_(64) -#define MAX_(bits) \ -/* max_n : TWO^n * TWO^n |- TWO^n */ \ -bool max_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, x < y ? y : x); \ - return true; \ +#define MAX_(bits) \ +/* max_n : TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_max_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, x < y ? y : x); \ + return true; \ } MAX_(8) MAX_(16) MAX_(32) MAX_(64) -#define MEDIAN_(bits) \ -/* median_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ -bool median_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - uint_fast##bits##_t z = read##bits(&src); \ - write##bits(dst, x < y \ - ? (y < z ? y : (z < x ? x : z)) \ - : (x < z ? x : (z < y ? y : z))); \ - return true; \ +#define MEDIAN_(bits) \ +/* median_n : TWO^n * TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_median_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + uint_fast##bits##_t z = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, x < y \ + ? (y < z ? y : (z < x ? x : z)) \ + : (x < z ? x : (z < y ? y : z))); \ + return true; \ } MEDIAN_(8) MEDIAN_(16) MEDIAN_(32) MEDIAN_(64) -#define DIV_MOD_(bits) \ -/* div_mod_n : TWO^n * TWO^n |- TWO^n * TWO^n */ \ -bool div_mod_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, 0 == y ? 0 : x / y); \ - write##bits(dst, 0 == y ? x : x % y); \ - return true; \ +#define DIV_MOD_(bits) \ +/* div_mod_n : TWO^n * TWO^n |- TWO^n * TWO^n */ \ +bool simplicity_div_mod_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, 0 == y ? 0 : x / y); \ + simplicity_write##bits(dst, 0 == y ? x : x % y); \ + return true; \ } DIV_MOD_(8) DIV_MOD_(16) DIV_MOD_(32) DIV_MOD_(64) -#define DIVIDE_(bits) \ -/* divide_n : TWO^n * TWO^n |- TWO^n */ \ -bool divide_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, 0 == y ? 0 : x / y); \ - return true; \ +#define DIVIDE_(bits) \ +/* divide_n : TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_divide_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, 0 == y ? 0 : x / y); \ + return true; \ } DIVIDE_(8) DIVIDE_(16) DIVIDE_(32) DIVIDE_(64) -#define MODULO_(bits) \ -/* modulo_n : TWO^n * TWO^n |- TWO^n */ \ -bool modulo_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - write##bits(dst, 0 == y ? x : x % y); \ - return true; \ +#define MODULO_(bits) \ +/* modulo_n : TWO^n * TWO^n |- TWO^n */ \ +bool simplicity_modulo_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + simplicity_write##bits(dst, 0 == y ? x : x % y); \ + return true; \ } MODULO_(8) MODULO_(16) MODULO_(32) MODULO_(64) -#define DIVIDES_(bits) \ -/* divides_n : TWO^n * TWO^n |- TWO */ \ -bool divides_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ - (void) env; /* env is unused. */ \ - uint_fast##bits##_t x = read##bits(&src); \ - uint_fast##bits##_t y = read##bits(&src); \ - writeBit(dst, 0 == (0 == x ? y : y % x)); \ - return true; \ +#define DIVIDES_(bits) \ +/* divides_n : TWO^n * TWO^n |- TWO */ \ +bool simplicity_divides_##bits(frameItem* dst, frameItem src, const txEnv* env) { \ + (void) env; /* env is unused. */ \ + uint_fast##bits##_t x = simplicity_read##bits(&src); \ + uint_fast##bits##_t y = simplicity_read##bits(&src); \ + writeBit(dst, 0 == (0 == x ? y : y % x)); \ + return true; \ } DIVIDES_(8) DIVIDES_(16) @@ -1117,7 +1117,7 @@ static void div_mod_96_64(uint_fast32_t *q, uint_fast64_t *r, uint_fast64_t estQ = ah / bh; /* Precondition 1 guarentees Q is 32-bits, if estQ is greater than UINT32_MAX, then reduce our initial estimated quotient to UINT32_MAX. */ - *q = estQ <= UINT32_MAX ? estQ : UINT32_MAX; + *q = estQ <= UINT32_MAX ? (uint_fast32_t)estQ : UINT32_MAX; /* *q * bh <= estQ * bh <= ah */ uint_fast64_t rh = ah - 1u * *q * bh; @@ -1152,14 +1152,14 @@ static void div_mod_96_64(uint_fast32_t *q, uint_fast64_t *r, } /* div_mod_128_64 : TWO^128 * TWO^64 |- TWO^64 * TWO^64 */ -bool div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ uint_fast32_t qh, ql; uint_fast64_t r; - uint_fast64_t ah = read64(&src); - uint_fast32_t am = read32(&src); - uint_fast32_t al = read32(&src); - uint_fast64_t b = read64(&src); + uint_fast64_t ah = simplicity_read64(&src); + uint_fast32_t am = simplicity_read32(&src); + uint_fast32_t al = simplicity_read32(&src); + uint_fast64_t b = simplicity_read64(&src); /* div2n1n is only defined when 2^(n-1) <= b and when the quotient q < 2^n. */ if (0x8000000000000000 <= b && ah < b) { @@ -1191,19 +1191,19 @@ bool div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env) { * returning the second "digit" (low 32-bits) of the quotient, and the final remainer consisiting of 2 "digit"s (64-bits). */ div_mod_96_64(&ql, &r, r, al, b); - write32(dst, qh); - write32(dst, ql); - write64(dst, r); + simplicity_write32(dst, qh); + simplicity_write32(dst, ql); + simplicity_write64(dst, r); } else { /* Set all the bits in the output when the input is out of bounds. */ - write64(dst, (uint64_t)(-1)); - write64(dst, (uint64_t)(-1)); + simplicity_write64(dst, (uint64_t)(-1)); + simplicity_write64(dst, (uint64_t)(-1)); } return true; } /* sha_256_iv : ONE |- TWO^256 */ -bool sha_256_iv(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_iv(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ (void) src; /* env is unused. */ @@ -1215,13 +1215,13 @@ bool sha_256_iv(frameItem* dst, frameItem src, const txEnv* env) { } /* sha_256_block : TWO^256 * TWO^512 |- TWO^256 */ -bool sha_256_block(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_block(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ uint32_t h[8]; uint32_t block[16]; read32s(h, 8, &src); read32s(block, 16, &src); - sha256_compression(h, block); + simplicity_sha256_compression(h, block); write32s(dst, h, 8); return true; } @@ -1230,14 +1230,14 @@ bool sha_256_block(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ (void) src; /* env is unused. */ uint32_t iv[8]; sha256_context ctx = sha256_init(iv); - return write_sha256_context(dst, &ctx); + return simplicity_write_sha256_context(dst, &ctx); } /* sha_256_ctx_8_add_n : CTX8 * (TWO^8)^n |- CTX8 @@ -1252,17 +1252,17 @@ static bool sha_256_ctx_8_add_n(frameItem* dst, frameItem *src, size_t n) { unsigned char buf[512]; sha256_context ctx = {.output = midstate.s}; - if (!read_sha256_context(&ctx, src)) return false; + if (!simplicity_read_sha256_context(&ctx, src)) return false; read8s(buf, n, src); sha256_uchars(&ctx, buf, n); - return write_sha256_context(dst, &ctx); + return simplicity_write_sha256_context(dst, &ctx); } /* sha_256_ctx_8_add_1 : CTX8 * TWO^8 |- CTX8 * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 1); } @@ -1271,7 +1271,7 @@ bool sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 2); } @@ -1280,7 +1280,7 @@ bool sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 4); } @@ -1289,7 +1289,7 @@ bool sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 8); } @@ -1298,7 +1298,7 @@ bool sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 16); } @@ -1307,7 +1307,7 @@ bool sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 32); } @@ -1316,7 +1316,7 @@ bool sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 64); } @@ -1325,7 +1325,7 @@ bool sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 128); } @@ -1334,7 +1334,7 @@ bool sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 256); } @@ -1343,7 +1343,7 @@ bool sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ return sha_256_ctx_8_add_n(dst, &src, 512); } @@ -1352,30 +1352,30 @@ bool sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env) { * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ sha256_midstate midstate; unsigned char buf[511]; size_t buf_len; sha256_context ctx = {.output = midstate.s}; - if (!read_sha256_context(&ctx, &src)) return false; + if (!simplicity_read_sha256_context(&ctx, &src)) return false; - read_buffer8(buf, &buf_len, &src, 8); + simplicity_read_buffer8(buf, &buf_len, &src, 8); sha256_uchars(&ctx, buf, buf_len); - return write_sha256_context(dst, &ctx); + return simplicity_write_sha256_context(dst, &ctx); } /* sha_256_ctx_8_finalize : CTX8 |- TWO^256 * where * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256 */ -bool sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ sha256_midstate midstate; sha256_context ctx = {.output = midstate.s}; - if (!read_sha256_context(&ctx, &src)) return false; + if (!simplicity_read_sha256_context(&ctx, &src)) return false; sha256_finalize(&ctx); write32s(dst, midstate.s, 8); @@ -1383,21 +1383,21 @@ bool sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env) { } /* parse_sequence : TWO^32 |- TWO^32 + TWO^32 */ -bool parse_lock(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_parse_lock(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ - uint_fast32_t nLockTime = read32(&src); + uint_fast32_t nLockTime = simplicity_read32(&src); writeBit(dst, 500000000U <= nLockTime); - write32(dst, nLockTime); + simplicity_write32(dst, nLockTime); return true; } /* parse_sequence : TWO^32 |- S (TWO^16 + TWO^16) */ -bool parse_sequence(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_parse_sequence(frameItem* dst, frameItem src, const txEnv* env) { (void) env; /* env is unused. */ - uint_fast32_t nSequence = read32(&src); + uint_fast32_t nSequence = simplicity_read32(&src); if (writeBit(dst, nSequence < ((uint_fast32_t)1 << 31))) { writeBit(dst, nSequence & ((uint_fast32_t)1 << 22)); - write16(dst, nSequence & 0xffff); + simplicity_write16(dst, nSequence & 0xffff); } else { skipBits(dst, 17); } diff --git a/simplicity-sys/depend/simplicity/jets.h b/simplicity-sys/depend/simplicity/jets.h index 5b1a0fe3..32913f3a 100644 --- a/simplicity-sys/depend/simplicity/jets.h +++ b/simplicity-sys/depend/simplicity/jets.h @@ -21,379 +21,379 @@ typedef struct txEnv txEnv; */ typedef bool (*jet_ptr)(frameItem* dst, frameItem src, const txEnv* env); -bool verify(frameItem* dst, frameItem src, const txEnv* env); -bool low_1(frameItem* dst, frameItem src, const txEnv* env); -bool low_8(frameItem* dst, frameItem src, const txEnv* env); -bool low_16(frameItem* dst, frameItem src, const txEnv* env); -bool low_32(frameItem* dst, frameItem src, const txEnv* env); -bool low_64(frameItem* dst, frameItem src, const txEnv* env); -bool high_1(frameItem* dst, frameItem src, const txEnv* env); -bool high_8(frameItem* dst, frameItem src, const txEnv* env); -bool high_16(frameItem* dst, frameItem src, const txEnv* env); -bool high_32(frameItem* dst, frameItem src, const txEnv* env); -bool high_64(frameItem* dst, frameItem src, const txEnv* env); -bool complement_1(frameItem* dst, frameItem src, const txEnv* env); -bool complement_8(frameItem* dst, frameItem src, const txEnv* env); -bool complement_16(frameItem* dst, frameItem src, const txEnv* env); -bool complement_32(frameItem* dst, frameItem src, const txEnv* env); -bool complement_64(frameItem* dst, frameItem src, const txEnv* env); -bool and_1(frameItem* dst, frameItem src, const txEnv* env); -bool and_8(frameItem* dst, frameItem src, const txEnv* env); -bool and_16(frameItem* dst, frameItem src, const txEnv* env); -bool and_32(frameItem* dst, frameItem src, const txEnv* env); -bool and_64(frameItem* dst, frameItem src, const txEnv* env); -bool or_1(frameItem* dst, frameItem src, const txEnv* env); -bool or_8(frameItem* dst, frameItem src, const txEnv* env); -bool or_16(frameItem* dst, frameItem src, const txEnv* env); -bool or_32(frameItem* dst, frameItem src, const txEnv* env); -bool or_64(frameItem* dst, frameItem src, const txEnv* env); -bool xor_1(frameItem* dst, frameItem src, const txEnv* env); -bool xor_8(frameItem* dst, frameItem src, const txEnv* env); -bool xor_16(frameItem* dst, frameItem src, const txEnv* env); -bool xor_32(frameItem* dst, frameItem src, const txEnv* env); -bool xor_64(frameItem* dst, frameItem src, const txEnv* env); -bool maj_1(frameItem* dst, frameItem src, const txEnv* env); -bool maj_8(frameItem* dst, frameItem src, const txEnv* env); -bool maj_16(frameItem* dst, frameItem src, const txEnv* env); -bool maj_32(frameItem* dst, frameItem src, const txEnv* env); -bool maj_64(frameItem* dst, frameItem src, const txEnv* env); -bool xor_xor_1(frameItem* dst, frameItem src, const txEnv* env); -bool xor_xor_8(frameItem* dst, frameItem src, const txEnv* env); -bool xor_xor_16(frameItem* dst, frameItem src, const txEnv* env); -bool xor_xor_32(frameItem* dst, frameItem src, const txEnv* env); -bool xor_xor_64(frameItem* dst, frameItem src, const txEnv* env); -bool ch_1(frameItem* dst, frameItem src, const txEnv* env); -bool ch_8(frameItem* dst, frameItem src, const txEnv* env); -bool ch_16(frameItem* dst, frameItem src, const txEnv* env); -bool ch_32(frameItem* dst, frameItem src, const txEnv* env); -bool ch_64(frameItem* dst, frameItem src, const txEnv* env); -bool some_1(frameItem* dst, frameItem src, const txEnv* env); -bool some_8(frameItem* dst, frameItem src, const txEnv* env); -bool some_16(frameItem* dst, frameItem src, const txEnv* env); -bool some_32(frameItem* dst, frameItem src, const txEnv* env); -bool some_64(frameItem* dst, frameItem src, const txEnv* env); -bool all_8(frameItem* dst, frameItem src, const txEnv* env); -bool all_16(frameItem* dst, frameItem src, const txEnv* env); -bool all_32(frameItem* dst, frameItem src, const txEnv* env); -bool all_64(frameItem* dst, frameItem src, const txEnv* env); -bool one_8(frameItem* dst, frameItem src, const txEnv* env); -bool one_16(frameItem* dst, frameItem src, const txEnv* env); -bool one_32(frameItem* dst, frameItem src, const txEnv* env); -bool one_64(frameItem* dst, frameItem src, const txEnv* env); -bool eq_1(frameItem* dst, frameItem src, const txEnv* env); -bool eq_8(frameItem* dst, frameItem src, const txEnv* env); -bool eq_16(frameItem* dst, frameItem src, const txEnv* env); -bool eq_32(frameItem* dst, frameItem src, const txEnv* env); -bool eq_64(frameItem* dst, frameItem src, const txEnv* env); -bool eq_256(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_8_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_8_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_8_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_16_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_16_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_16_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_16_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_32_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_32_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_32_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_32_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_32_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_64_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_64_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_64_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_64_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_64_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_left_shift_64_32(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_8_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_8_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_8_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_16_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_16_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_16_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_16_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_32_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_32_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_32_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_32_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_32_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_64_1(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_64_2(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_64_4(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_64_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_64_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_right_shift_64_32(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_8_1(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_8_2(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_8_4(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_16_1(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_16_2(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_16_4(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_16_8(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_32_1(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_32_2(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_32_4(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_32_8(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_32_16(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_64_1(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_64_2(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_64_4(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_64_8(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_64_16(frameItem* dst, frameItem src, const txEnv* env); -bool leftmost_64_32(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_8_1(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_8_2(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_8_4(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_16_1(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_16_2(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_16_4(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_16_8(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_32_1(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_32_2(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_32_4(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_32_8(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_32_16(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_64_1(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_64_2(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_64_4(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_64_8(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_64_16(frameItem* dst, frameItem src, const txEnv* env); -bool rightmost_64_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_1_8(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_1_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_8_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_1_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_8_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_16_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_1_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_8_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_16_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_extend_32_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_extend_8_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_extend_8_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_extend_16_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_extend_8_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_extend_16_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_extend_32_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_with_8(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_with_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_with_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_with_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_8(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_shift_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_with_8(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_with_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_with_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_with_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_8(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_shift_64(frameItem* dst, frameItem src, const txEnv* env); -bool left_rotate_8(frameItem* dst, frameItem src, const txEnv* env); -bool left_rotate_16(frameItem* dst, frameItem src, const txEnv* env); -bool left_rotate_32(frameItem* dst, frameItem src, const txEnv* env); -bool left_rotate_64(frameItem* dst, frameItem src, const txEnv* env); -bool right_rotate_8(frameItem* dst, frameItem src, const txEnv* env); -bool right_rotate_16(frameItem* dst, frameItem src, const txEnv* env); -bool right_rotate_32(frameItem* dst, frameItem src, const txEnv* env); -bool right_rotate_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_verify(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_low_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_low_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_low_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_low_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_low_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_high_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_high_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_high_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_high_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_high_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_complement_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_complement_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_complement_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_complement_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_complement_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_and_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_and_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_and_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_and_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_and_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_or_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_or_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_or_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_or_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_or_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_maj_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_maj_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_maj_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_maj_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_maj_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_xor_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_xor_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_xor_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_xor_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_xor_xor_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_ch_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_ch_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_ch_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_ch_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_ch_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_some_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_some_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_some_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_some_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_some_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_all_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_all_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_all_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_all_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_one_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_one_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_one_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_one_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_eq_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_eq_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_eq_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_eq_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_eq_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_eq_256(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_8_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_8_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_8_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_16_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_16_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_16_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_16_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_32_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_32_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_32_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_32_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_32_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_64_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_64_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_64_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_64_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_64_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_left_shift_64_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_8_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_8_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_8_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_16_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_16_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_16_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_16_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_32_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_32_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_32_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_32_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_32_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_64_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_64_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_64_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_64_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_64_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_right_shift_64_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_8_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_8_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_8_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_16_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_16_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_16_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_16_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_32_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_32_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_32_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_32_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_32_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_64_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_64_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_64_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_64_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_64_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_leftmost_64_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_8_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_8_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_8_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_16_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_16_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_16_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_16_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_32_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_32_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_32_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_32_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_32_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_64_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_64_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_64_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_64_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_64_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_rightmost_64_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_1_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_1_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_8_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_1_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_8_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_16_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_1_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_8_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_16_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_extend_32_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_extend_8_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_extend_8_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_extend_16_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_extend_8_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_extend_16_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_extend_32_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_with_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_with_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_with_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_with_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_shift_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_with_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_with_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_with_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_with_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_shift_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_rotate_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_rotate_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_rotate_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_left_rotate_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_rotate_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_rotate_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_rotate_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_right_rotate_64(frameItem* dst, frameItem src, const txEnv* env); -bool add_8(frameItem* dst, frameItem src, const txEnv* env); -bool add_16(frameItem* dst, frameItem src, const txEnv* env); -bool add_32(frameItem* dst, frameItem src, const txEnv* env); -bool add_64(frameItem* dst, frameItem src, const txEnv* env); -bool full_add_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_add_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_add_32(frameItem* dst, frameItem src, const txEnv* env); -bool full_add_64(frameItem* dst, frameItem src, const txEnv* env); -bool full_increment_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_increment_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_increment_32(frameItem* dst, frameItem src, const txEnv* env); -bool full_increment_64(frameItem* dst, frameItem src, const txEnv* env); -bool increment_8(frameItem* dst, frameItem src, const txEnv* env); -bool increment_16(frameItem* dst, frameItem src, const txEnv* env); -bool increment_32(frameItem* dst, frameItem src, const txEnv* env); -bool increment_64(frameItem* dst, frameItem src, const txEnv* env); -bool subtract_8(frameItem* dst, frameItem src, const txEnv* env); -bool subtract_16(frameItem* dst, frameItem src, const txEnv* env); -bool subtract_32(frameItem* dst, frameItem src, const txEnv* env); -bool subtract_64(frameItem* dst, frameItem src, const txEnv* env); -bool negate_8(frameItem* dst, frameItem src, const txEnv* env); -bool negate_16(frameItem* dst, frameItem src, const txEnv* env); -bool negate_32(frameItem* dst, frameItem src, const txEnv* env); -bool negate_64(frameItem* dst, frameItem src, const txEnv* env); -bool full_decrement_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_decrement_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_decrement_32(frameItem* dst, frameItem src, const txEnv* env); -bool full_decrement_64(frameItem* dst, frameItem src, const txEnv* env); -bool decrement_8(frameItem* dst, frameItem src, const txEnv* env); -bool decrement_16(frameItem* dst, frameItem src, const txEnv* env); -bool decrement_32(frameItem* dst, frameItem src, const txEnv* env); -bool decrement_64(frameItem* dst, frameItem src, const txEnv* env); -bool full_subtract_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_subtract_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_subtract_32(frameItem* dst, frameItem src, const txEnv* env); -bool full_subtract_64(frameItem* dst, frameItem src, const txEnv* env); -bool multiply_8(frameItem* dst, frameItem src, const txEnv* env); -bool multiply_16(frameItem* dst, frameItem src, const txEnv* env); -bool multiply_32(frameItem* dst, frameItem src, const txEnv* env); -bool multiply_64(frameItem* dst, frameItem src, const txEnv* env); -bool full_multiply_8(frameItem* dst, frameItem src, const txEnv* env); -bool full_multiply_16(frameItem* dst, frameItem src, const txEnv* env); -bool full_multiply_32(frameItem* dst, frameItem src, const txEnv* env); -bool full_multiply_64(frameItem* dst, frameItem src, const txEnv* env); -bool is_zero_8(frameItem* dst, frameItem src, const txEnv* env); -bool is_zero_16(frameItem* dst, frameItem src, const txEnv* env); -bool is_zero_32(frameItem* dst, frameItem src, const txEnv* env); -bool is_zero_64(frameItem* dst, frameItem src, const txEnv* env); -bool is_one_8(frameItem* dst, frameItem src, const txEnv* env); -bool is_one_16(frameItem* dst, frameItem src, const txEnv* env); -bool is_one_32(frameItem* dst, frameItem src, const txEnv* env); -bool is_one_64(frameItem* dst, frameItem src, const txEnv* env); -bool le_8(frameItem* dst, frameItem src, const txEnv* env); -bool le_16(frameItem* dst, frameItem src, const txEnv* env); -bool le_32(frameItem* dst, frameItem src, const txEnv* env); -bool le_64(frameItem* dst, frameItem src, const txEnv* env); -bool lt_8(frameItem* dst, frameItem src, const txEnv* env); -bool lt_16(frameItem* dst, frameItem src, const txEnv* env); -bool lt_32(frameItem* dst, frameItem src, const txEnv* env); -bool lt_64(frameItem* dst, frameItem src, const txEnv* env); -bool min_8(frameItem* dst, frameItem src, const txEnv* env); -bool min_16(frameItem* dst, frameItem src, const txEnv* env); -bool min_32(frameItem* dst, frameItem src, const txEnv* env); -bool min_64(frameItem* dst, frameItem src, const txEnv* env); -bool max_8(frameItem* dst, frameItem src, const txEnv* env); -bool max_16(frameItem* dst, frameItem src, const txEnv* env); -bool max_32(frameItem* dst, frameItem src, const txEnv* env); -bool max_64(frameItem* dst, frameItem src, const txEnv* env); -bool median_8(frameItem* dst, frameItem src, const txEnv* env); -bool median_16(frameItem* dst, frameItem src, const txEnv* env); -bool median_32(frameItem* dst, frameItem src, const txEnv* env); -bool median_64(frameItem* dst, frameItem src, const txEnv* env); -bool div_mod_8(frameItem* dst, frameItem src, const txEnv* env); -bool div_mod_16(frameItem* dst, frameItem src, const txEnv* env); -bool div_mod_32(frameItem* dst, frameItem src, const txEnv* env); -bool div_mod_64(frameItem* dst, frameItem src, const txEnv* env); -bool divide_8(frameItem* dst, frameItem src, const txEnv* env); -bool divide_16(frameItem* dst, frameItem src, const txEnv* env); -bool divide_32(frameItem* dst, frameItem src, const txEnv* env); -bool divide_64(frameItem* dst, frameItem src, const txEnv* env); -bool modulo_8(frameItem* dst, frameItem src, const txEnv* env); -bool modulo_16(frameItem* dst, frameItem src, const txEnv* env); -bool modulo_32(frameItem* dst, frameItem src, const txEnv* env); -bool modulo_64(frameItem* dst, frameItem src, const txEnv* env); -bool divides_8(frameItem* dst, frameItem src, const txEnv* env); -bool divides_16(frameItem* dst, frameItem src, const txEnv* env); -bool divides_32(frameItem* dst, frameItem src, const txEnv* env); -bool divides_64(frameItem* dst, frameItem src, const txEnv* env); -bool div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_add_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_add_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_add_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_add_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_add_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_add_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_add_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_add_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_increment_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_increment_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_increment_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_increment_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_increment_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_increment_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_increment_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_increment_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_subtract_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_subtract_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_subtract_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_subtract_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_negate_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_negate_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_negate_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_negate_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_decrement_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_decrement_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_decrement_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_decrement_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_decrement_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_decrement_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_decrement_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_decrement_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_subtract_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_subtract_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_subtract_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_subtract_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_multiply_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_multiply_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_multiply_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_multiply_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_multiply_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_multiply_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_multiply_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_full_multiply_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_zero_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_zero_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_zero_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_zero_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_one_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_one_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_one_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_is_one_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_le_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_le_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_le_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_le_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_lt_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_lt_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_lt_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_lt_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_min_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_min_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_min_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_min_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_max_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_max_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_max_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_max_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_median_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_median_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_median_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_median_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_div_mod_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_div_mod_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_div_mod_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_div_mod_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divide_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divide_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divide_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divide_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_modulo_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_modulo_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_modulo_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_modulo_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divides_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divides_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divides_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_divides_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_iv(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_block(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env); -bool sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_iv(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_block(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env); -bool fe_normalize(frameItem* dst, frameItem src, const txEnv* env); -bool fe_negate(frameItem* dst, frameItem src, const txEnv* env); -bool fe_add(frameItem* dst, frameItem src, const txEnv* env); -bool fe_square(frameItem* dst, frameItem src, const txEnv* env); -bool fe_multiply(frameItem* dst, frameItem src, const txEnv* env); -bool fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env); -bool fe_invert(frameItem* dst, frameItem src, const txEnv* env); -bool fe_square_root(frameItem* dst, frameItem src, const txEnv* env); -bool fe_is_zero(frameItem* dst, frameItem src, const txEnv* env); -bool fe_is_odd(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_normalize(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_negate(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_add(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_square(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_multiply(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_invert(frameItem* dst, frameItem src, const txEnv* env); -bool scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env); -bool gej_infinity(frameItem* dst, frameItem src, const txEnv* env); -bool gej_rescale(frameItem* dst, frameItem src, const txEnv* env); -bool gej_normalize(frameItem* dst, frameItem src, const txEnv* env); -bool gej_negate(frameItem* dst, frameItem src, const txEnv* env); -bool ge_negate(frameItem* dst, frameItem src, const txEnv* env); -bool gej_double(frameItem* dst, frameItem src, const txEnv* env); -bool gej_add(frameItem* dst, frameItem src, const txEnv* env); -bool gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env); -bool gej_ge_add(frameItem* dst, frameItem src, const txEnv* env); -bool gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env); -bool gej_equiv(frameItem* dst, frameItem src, const txEnv* env); -bool gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env); -bool gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env); -bool gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env); -bool gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env); -bool ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env); -bool off_curve_scale(frameItem* dst, frameItem src, const txEnv* env); -bool scale(frameItem* dst, frameItem src, const txEnv* env); -bool generate(frameItem* dst, frameItem src, const txEnv* env); -bool off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env); -bool linear_combination_1(frameItem* dst, frameItem src, const txEnv* env); -bool linear_verify_1(frameItem* dst, frameItem src, const txEnv* env); -bool decompress(frameItem* dst, frameItem src, const txEnv* env); -bool point_verify_1(frameItem* dst, frameItem src, const txEnv* env); -bool swu(frameItem* dst, frameItem src, const txEnv* env); -bool hash_to_curve(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_normalize(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_negate(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_add(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_square(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_multiply(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_invert(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_square_root(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_is_zero(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_fe_is_odd(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_normalize(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_negate(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_add(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_square(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_multiply(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_invert(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_infinity(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_rescale(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_normalize(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_negate(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_ge_negate(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_double(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_add(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_ge_add(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_equiv(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_off_curve_scale(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_scale(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_generate(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_linear_verify_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_decompress(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_point_verify_1(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_swu(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_hash_to_curve(frameItem* dst, frameItem src, const txEnv* env); -bool check_sig_verify(frameItem* dst, frameItem src, const txEnv* env); -bool bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_check_sig_verify(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env); -bool parse_lock(frameItem* dst, frameItem src, const txEnv* env); -bool parse_sequence(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_parse_lock(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_parse_sequence(frameItem* dst, frameItem src, const txEnv* env); #endif diff --git a/simplicity-sys/depend/simplicity/primitive.h b/simplicity-sys/depend/simplicity/primitive.h index 4cf1351d..dc17fb0b 100644 --- a/simplicity-sys/depend/simplicity/primitive.h +++ b/simplicity-sys/depend/simplicity/primitive.h @@ -24,7 +24,7 @@ * '(*bound_var)[i]' is bound to 'A' and '(*bound_var)[j]' is bound to 'B' * and, '*word256_ix < *extra_var_start' and '(*bound_var)[*word256_ix]' is bound the type 'TWO^256' */ -size_t mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len); +size_t simplicity_mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len); /* Decode an Elements specific jet from 'stream' into 'node'. * All jets begin with a bit prefix of '1' which needs to have already been consumed from the 'stream'. @@ -36,6 +36,6 @@ size_t mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* * Precondition: NULL != node * NULL != stream */ -simplicity_err decodeJet(dag_node* node, bitstream* stream); +simplicity_err simplicity_decodeJet(dag_node* node, bitstream* stream); #endif diff --git a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c index b6e80219..3b4e2415 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c +++ b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c @@ -4,7 +4,7 @@ * Simplicity.Programs.CheckSig.Lib.checkSigVerify' Simplicity.Elements.Programs.SigHash.Lib.sigAllHash * (Simplicity.LibSecp256k1.Spec.PubKey 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63) * (Simplicity.LibSecp256k1.Spec.Sig 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63 - * 0xb301d157c25b517ff64c8c88995e99213c9be3c60368367ca01224fdd619261f) + * 0xc39e232878352e9964f8b6bcae5a0cbc079320819bd1c2c23278d8c9e155e6f4) * with jets. */ const unsigned char elementsCheckSigHashAllTx1[] = { @@ -16,9 +16,9 @@ const unsigned char elementsCheckSigHashAllTx1[] = { const size_t sizeof_elementsCheckSigHashAllTx1 = sizeof(elementsCheckSigHashAllTx1); const unsigned char elementsCheckSigHashAllTx1_witness[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x78, 0xce, 0x56, 0x3f, 0x89, 0xa0, 0xed, 0x94, - 0x14, 0xf5, 0xaa, 0x28, 0xad, 0x0d, 0x96, 0xd6, 0x79, 0x5f, 0x9c, 0x63, 0xb3, 0x01, 0xd1, 0x57, 0xc2, 0x5b, 0x51, 0x7f, - 0xf6, 0x4c, 0x8c, 0x88, 0x99, 0x5e, 0x99, 0x21, 0x3c, 0x9b, 0xe3, 0xc6, 0x03, 0x68, 0x36, 0x7c, 0xa0, 0x12, 0x24, 0xfd, - 0xd6, 0x19, 0x26, 0x1f + 0x14, 0xf5, 0xaa, 0x28, 0xad, 0x0d, 0x96, 0xd6, 0x79, 0x5f, 0x9c, 0x63, 0xc3, 0x9e, 0x23, 0x28, 0x78, 0x35, 0x2e, 0x99, + 0x64, 0xf8, 0xb6, 0xbc, 0xae, 0x5a, 0x0c, 0xbc, 0x07, 0x93, 0x20, 0x81, 0x9b, 0xd1, 0xc2, 0xc2, 0x32, 0x78, 0xd8, 0xc9, + 0xe1, 0x55, 0xe6, 0xf4 }; const size_t sizeof_elementsCheckSigHashAllTx1_witness = sizeof(elementsCheckSigHashAllTx1_witness); @@ -30,13 +30,13 @@ const uint32_t elementsCheckSigHashAllTx1_cmr[] = { /* The identity Merkle root of the above elementsCheckSigHashAllTx1 Simplicity expression. */ const uint32_t elementsCheckSigHashAllTx1_imr[] = { - 0x86a262f5u, 0xf3e4e556u, 0xd0b62941u, 0xf0640ae8u, 0x98f3318eu, 0x4285bd25u, 0x255a87d5u, 0x32d124c5u + 0xf72560efu, 0x69efae0fu, 0x41bb69f4u, 0xf409e7cfu, 0xfdef6ef9u, 0x9c7e9c25u, 0x15fd3c82u, 0x773a3d28u }; /* The annotated Merkle root of the above elementsCheckSigHashAllTx1 Simplicity expression. */ const uint32_t elementsCheckSigHashAllTx1_amr[] = { - 0x9a60a9a7u, 0x5b56771fu, 0xbb569709u, 0x8147352cu, 0xead06d33u, 0x2992754du, 0x3df575fdu, 0xa8a607c6u + 0x6c84e1c8u, 0x5fe7d034u, 0xe3a7be87u, 0xf7261f40u, 0xbc5c20f1u, 0xd973abdeu, 0xfa271657u, 0x8c234676u }; /* The cost of the above elementsCheckSigHashAllTx1 Simplicity expression in milli weight units. */ -const ubounded elementsCheckSigHashAllTx1_cost = 54493; +const ubounded elementsCheckSigHashAllTx1_cost = 54361; diff --git a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h index 0b4195b7..fc781d72 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h +++ b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h @@ -9,7 +9,7 @@ * Simplicity.Programs.CheckSig.Lib.checkSigVerify' Simplicity.Elements.Programs.SigHash.Lib.sigAllHash * (Simplicity.LibSecp256k1.Spec.PubKey 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63) * (Simplicity.LibSecp256k1.Spec.Sig 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63 - * 0xb301d157c25b517ff64c8c88995e99213c9be3c60368367ca01224fdd619261f) + * 0xc39e232878352e9964f8b6bcae5a0cbc079320819bd1c2c23278d8c9e155e6f4) * with jets. */ extern const unsigned char elementsCheckSigHashAllTx1[]; diff --git a/simplicity-sys/depend/simplicity/primitive/elements/env.c b/simplicity-sys/depend/simplicity/primitive/elements/env.c index e7befda5..3c7adee2 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/env.c +++ b/simplicity-sys/depend/simplicity/primitive/elements/env.c @@ -90,7 +90,7 @@ static void copyInput(sigInput* result, const rawInput* input) { 0 == result->issuance.blindingNonce.s[4] && 0 == result->issuance.blindingNonce.s[5] && 0 == result->issuance.blindingNonce.s[6] && 0 == result->issuance.blindingNonce.s[7]) { sha256_toMidstate(result->issuance.contractHash.s, input->issuance.assetEntropy); - result->issuance.entropy = generateIssuanceEntropy(&result->prevOutpoint, &result->issuance.contractHash); + result->issuance.entropy = simplicity_generateIssuanceEntropy(&result->prevOutpoint, &result->issuance.contractHash); copyRawAmt(&result->issuance.tokenAmt, input->issuance.inflationKeys); if (is_confidential(result->issuance.tokenAmt.prefix)) hashBuffer(&result->issuance.tokenRangeProofHash, &input->issuance.inflationKeysRangePrf); result->issuance.type = NEW_ISSUANCE; @@ -98,8 +98,8 @@ static void copyInput(sigInput* result, const rawInput* input) { sha256_toMidstate(result->issuance.entropy.s, input->issuance.assetEntropy); result->issuance.type = REISSUANCE; } - result->issuance.assetId = calculateAsset(&result->issuance.entropy); - result->issuance.tokenId = calculateToken(&result->issuance.entropy, result->issuance.assetAmt.prefix); + result->issuance.assetId = simplicity_calculateAsset(&result->issuance.entropy); + result->issuance.tokenId = simplicity_calculateToken(&result->issuance.entropy, result->issuance.assetAmt.prefix); } } @@ -310,7 +310,7 @@ static uint_fast32_t sumFees(sigOutput** feeOutputs, uint_fast32_t numFees) { * * Precondition: NULL != rawTx */ -extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* rawTx) { +extern transaction* simplicity_elements_mallocTransaction(const rawTransaction* rawTx) { if (!rawTx) return NULL; size_t allocationSize = sizeof(transaction); @@ -351,7 +351,7 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* /* Multiply by (size_t)1 to disable type-limits warning. */ if (SIZE_MAX / sizeof(opcode) < (size_t)1 * totalNullDataCodes) return NULL; if (SIZE_MAX - allocationSize < totalNullDataCodes * sizeof(opcode)) return NULL; - allocationSize += totalNullDataCodes * sizeof(opcode); + allocationSize += (size_t)totalNullDataCodes * sizeof(opcode); char *allocation = simplicity_malloc(allocationSize); if (!allocation) return NULL; @@ -422,8 +422,8 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* } sha256_hash(&ctx_inputOutpointsHash, &input[i].prevOutpoint.txid); sha256_u32be(&ctx_inputOutpointsHash, input[i].prevOutpoint.ix); - sha256_confAsset(&ctx_inputAssetAmountsHash, &input[i].txo.asset); - sha256_confAmt(&ctx_inputAssetAmountsHash, &input[i].txo.amt); + simplicity_sha256_confAsset(&ctx_inputAssetAmountsHash, &input[i].txo.asset); + simplicity_sha256_confAmt(&ctx_inputAssetAmountsHash, &input[i].txo.amt); sha256_hash(&ctx_inputScriptsHash, &input[i].txo.scriptPubKey); sha256_u32be(&ctx_inputSequencesHash, input[i].sequence); if (input[i].hasAnnex) { @@ -440,10 +440,10 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* sha256_uchar(&ctx_issuanceTokenAmountsHash, 0); sha256_uchar(&ctx_issuanceBlindingEntropyHash, 0); } else { - sha256_confAsset(&ctx_issuanceAssetAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.assetId}); - sha256_confAsset(&ctx_issuanceTokenAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.tokenId}); - sha256_confAmt(&ctx_issuanceAssetAmountsHash, &input[i].issuance.assetAmt); - sha256_confAmt(&ctx_issuanceTokenAmountsHash, NEW_ISSUANCE == input[i].issuance.type + simplicity_sha256_confAsset(&ctx_issuanceAssetAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.assetId}); + simplicity_sha256_confAsset(&ctx_issuanceTokenAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.tokenId}); + simplicity_sha256_confAmt(&ctx_issuanceAssetAmountsHash, &input[i].issuance.assetAmt); + simplicity_sha256_confAmt(&ctx_issuanceTokenAmountsHash, NEW_ISSUANCE == input[i].issuance.type ? &input[i].issuance.tokenAmt : &(confAmount){ .prefix = EXPLICIT, .explicit = 0}); sha256_uchar(&ctx_issuanceBlindingEntropyHash, 1); @@ -510,16 +510,16 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* perm[ix_fee] = &output[i].asset.data; ++ix_fee; } - sha256_confAsset(&ctx_outputAssetAmountsHash, &output[i].asset); - sha256_confAmt(&ctx_outputAssetAmountsHash, &output[i].amt); - sha256_confNonce(&ctx_outputNoncesHash, &output[i].nonce); + simplicity_sha256_confAsset(&ctx_outputAssetAmountsHash, &output[i].asset); + simplicity_sha256_confAmt(&ctx_outputAssetAmountsHash, &output[i].amt); + simplicity_sha256_confNonce(&ctx_outputNoncesHash, &output[i].nonce); sha256_hash(&ctx_outputScriptsHash, &output[i].scriptPubKey); sha256_hash(&ctx_outputRangeProofsHash, &output[i].rangeProofHash); sha256_hash(&ctx_outputSurjectionProofsHash, &output[i].surjectionProofHash); } simplicity_assert(numFees == ix_fee); - if (!rsort(perm, numFees)) { + if (!simplicity_rsort(perm, numFees)) { simplicity_free(tx); return NULL; } @@ -573,7 +573,7 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* * * Precondition: *rawEnv is well-formed (i.e. rawEnv->pathLen <= 128.) */ -extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv) { +extern tapEnv* simplicity_elements_mallocTapEnv(const rawTapEnv* rawEnv) { if (!rawEnv) return NULL; if (128 < rawEnv->pathLen) return NULL; @@ -627,7 +627,7 @@ extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv) { sha256_finalize(&ctx); } - env->tapLeafHash = make_tapleaf(env->leafVersion, &env->scriptCMR); + env->tapLeafHash = simplicity_make_tapleaf(env->leafVersion, &env->scriptCMR); { sha256_context ctx = sha256_init(env->tapEnvHash.s); @@ -647,7 +647,7 @@ extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv) { * NULL != genesisHash * ix < tx->numInputs */ -txEnv build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix) { +txEnv simplicity_build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix) { txEnv result = { .tx = tx , .taproot = taproot , .genesisHash = *genesisHash diff --git a/simplicity-sys/depend/simplicity/primitive/elements/exec.c b/simplicity-sys/depend/simplicity/primitive/elements/exec.c index ce10256f..aaffd505 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/exec.c +++ b/simplicity-sys/depend/simplicity/primitive/elements/exec.c @@ -35,7 +35,7 @@ * unsigned char program[program_len] * unsigned char witness[witness_len] */ -extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned char* imr +extern bool simplicity_elements_execSimplicity( simplicity_err* error, unsigned char* imr , const transaction* tx, uint_fast32_t ix, const tapEnv* taproot , const unsigned char* genesisBlockHash , int64_t budget @@ -52,7 +52,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned combinator_counters census; dag_node* dag = NULL; - int32_t dag_len; + int_fast32_t dag_len; sha256_midstate amr_hash, genesis_hash; if (amr) sha256_toMidstate(amr_hash.s, amr); @@ -60,15 +60,15 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned { bitstream stream = initializeBitstream(program, program_len); - dag_len = decodeMallocDag(&dag, &census, &stream); + dag_len = simplicity_decodeMallocDag(&dag, &census, &stream); if (dag_len <= 0) { simplicity_assert(dag_len < 0); - *error = dag_len; + *error = (simplicity_err)dag_len; return IS_PERMANENT(*error); } simplicity_assert(NULL != dag); - simplicity_assert((size_t)dag_len <= DAG_LEN_MAX); - *error = closeBitstream(&stream); + simplicity_assert((uint_fast32_t)dag_len <= DAG_LEN_MAX); + *error = simplicity_closeBitstream(&stream); } if (IS_OK(*error)) { @@ -79,7 +79,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned if (IS_OK(*error)) { type* type_dag = NULL; - *error = mallocTypeInference(&type_dag, dag, (size_t)dag_len, &census); + *error = simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)dag_len, &census); if (IS_OK(*error)) { simplicity_assert(NULL != type_dag); if (0 != dag[dag_len-1].sourceType || 0 != dag[dag_len-1].targetType) { @@ -88,9 +88,9 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned } if (IS_OK(*error)) { bitstream witness_stream = initializeBitstream(witness, witness_len); - *error = fillWitnessData(dag, type_dag, (size_t)dag_len, &witness_stream); + *error = simplicity_fillWitnessData(dag, type_dag, (uint_fast32_t)dag_len, &witness_stream); if (IS_OK(*error)) { - *error = closeBitstream(&witness_stream); + *error = simplicity_closeBitstream(&witness_stream); if (SIMPLICITY_ERR_BITSTREAM_TRAILING_BYTES == *error) *error = SIMPLICITY_ERR_WITNESS_TRAILING_BYTES; if (SIMPLICITY_ERR_BITSTREAM_ILLEGAL_PADDING == *error) *error = SIMPLICITY_ERR_WITNESS_ILLEGAL_PADDING; } @@ -100,7 +100,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(sha256_midstate), "imr_buf array too large."); static_assert(1 <= DAG_LEN_MAX, "DAG_LEN_MAX is zero."); static_assert(DAG_LEN_MAX - 1 <= UINT32_MAX, "imr_buf array index does nto fit in uint32_t."); - *error = verifyNoDuplicateIdentityRoots(&imr_buf, dag, type_dag, (size_t)dag_len); + *error = simplicity_verifyNoDuplicateIdentityRoots(&imr_buf, dag, type_dag, (uint_fast32_t)dag_len); if (IS_OK(*error) && imr) sha256_fromMidstate(imr, imr_buf.s); } if (IS_OK(*error) && amr) { @@ -109,7 +109,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned static_assert(DAG_LEN_MAX - 1 <= UINT32_MAX, "analysis array index does nto fit in uint32_t."); analyses *analysis = simplicity_malloc((size_t)dag_len * sizeof(analyses)); if (analysis) { - computeAnnotatedMerkleRoot(analysis, dag, type_dag, (size_t)dag_len); + simplicity_computeAnnotatedMerkleRoot(analysis, dag, type_dag, (uint_fast32_t)dag_len); if (0 != memcmp(amr_hash.s, analysis[dag_len-1].annotatedMerkleRoot.s, sizeof(uint32_t[8]))) { *error = SIMPLICITY_ERR_AMR; } @@ -120,7 +120,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned simplicity_free(analysis); } if (IS_OK(*error)) { - txEnv env = build_txEnv(tx, taproot, &genesis_hash, ix); + txEnv env = simplicity_build_txEnv(tx, taproot, &genesis_hash, ix); static_assert(BUDGET_MAX <= UBOUNDED_MAX, "BUDGET_MAX doesn't fit in ubounded."); *error = evalTCOProgram(dag, type_dag, (size_t)dag_len, &(ubounded){budget <= BUDGET_MAX ? (ubounded)budget : BUDGET_MAX}, &env); } diff --git a/simplicity-sys/depend/simplicity/primitive/elements/jets.c b/simplicity-sys/depend/simplicity/primitive/elements/jets.c index ddbf61f1..ac11198f 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/jets.c +++ b/simplicity-sys/depend/simplicity/primitive/elements/jets.c @@ -29,7 +29,7 @@ static void writeHash(frameItem* dst, const sha256_midstate* h) { */ static void prevOutpoint(frameItem* dst, const outpoint* op) { writeHash(dst, &op->txid); - write32(dst, op->ix); + simplicity_write32(dst, op->ix); } /* Write an confidential asset to the 'dst' frame, advancing the cursor 258 cells. @@ -54,7 +54,7 @@ static void asset(frameItem* dst, const confidential* asset) { static void amt(frameItem* dst, const confAmount* amt) { if (writeBit(dst, EXPLICIT == amt->prefix)) { skipBits(dst, 1 + 256 - 64); - write64(dst, amt->explicit); + simplicity_write64(dst, amt->explicit); } else { writeBit(dst, ODD_Y == amt->prefix); writeHash(dst, &amt->confidential); @@ -157,7 +157,7 @@ static uint_fast16_t lockDistance(const transaction* tx) { } static uint_fast16_t lockDuration(const transaction* tx) { - return 2 <= tx->version ? (uint_fast32_t)tx->lockDuration : 0; + return 2 <= tx->version ? tx->lockDuration : 0; } static bool isFee(const sigOutput* output) { @@ -188,22 +188,22 @@ static uint_fast64_t lookup_fee(const sha256_midstate* assetid, const sigOutput* } /* version : ONE |- TWO^32 */ -bool version(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_version(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write32(dst, env->tx->version); + simplicity_write32(dst, env->tx->version); return true; } /* lock_time : ONE |- TWO^32 */ -bool lock_time(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_lock_time(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write32(dst, env->tx->lockTime); + simplicity_write32(dst, env->tx->lockTime); return true; } /* input_pegin : TWO^32 |- S (S TWO^256) */ -bool input_pegin(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_pegin(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { if (writeBit(dst, env->tx->input[i].isPegin)) { writeHash(dst, &env->tx->input[i].pegin); @@ -217,8 +217,8 @@ bool input_pegin(frameItem* dst, frameItem src, const txEnv* env) { } /* input_prev_outpoint : TWO^32 |- S (TWO^256 * TWO^32) */ -bool input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { prevOutpoint(dst, &env->tx->input[i].prevOutpoint); } else { @@ -228,8 +228,8 @@ bool input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) { } /* input_asset : TWO^32 |- S (Conf TWO^256) */ -bool input_asset(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_asset(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { asset(dst, &env->tx->input[i].txo.asset); } else { @@ -239,8 +239,8 @@ bool input_asset(frameItem* dst, frameItem src, const txEnv* env) { } /* input_amount : TWO^32 |- S (Conf TWO^256, Conf TWO^64) */ -bool input_amount(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_amount(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { asset(dst, &env->tx->input[i].txo.asset); amt(dst, &env->tx->input[i].txo.amt); @@ -251,8 +251,8 @@ bool input_amount(frameItem* dst, frameItem src, const txEnv* env) { } /* input_script_hash : TWO^32 |- S TWO^256 */ -bool input_script_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_script_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { writeHash(dst, &env->tx->input[i].txo.scriptPubKey); } else { @@ -262,10 +262,10 @@ bool input_script_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* input_sequence : TWO^32 |- S TWO^32 */ -bool input_sequence(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_sequence(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { - write32(dst, env->tx->input[i].sequence); + simplicity_write32(dst, env->tx->input[i].sequence); } else { skipBits(dst, 32); } @@ -273,8 +273,8 @@ bool input_sequence(frameItem* dst, frameItem src, const txEnv* env) { } /* reissuance_blinding : TWO^32 |- S (S TWO^256) */ -bool reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { reissuanceBlinding(dst, &env->tx->input[i].issuance); } else { @@ -284,8 +284,8 @@ bool reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) { } /* new_issuance_contract : TWO^32 |- S (S TWO^256) */ -bool new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { newIssuanceContract(dst, &env->tx->input[i].issuance); } else { @@ -295,8 +295,8 @@ bool new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) { } /* reissuance_entropy : TWO^32 |- S (S TWO^256) */ -bool reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { reissuanceEntropy(dst, &env->tx->input[i].issuance); } else { @@ -306,8 +306,8 @@ bool reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_asset_amount : TWO^32 |- S (S (Conf TWO^64)) */ -bool issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { issuanceAssetAmt(dst, &env->tx->input[i].issuance); } else { @@ -317,8 +317,8 @@ bool issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_token_amount : TWO^32 |- S (S (Conf TWO^64)) */ -bool issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { issuanceTokenAmt(dst, &env->tx->input[i].issuance); } else { @@ -328,8 +328,8 @@ bool issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_asset_proof : TWO^32 |- S TWO^256 */ -bool issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { writeHash(dst, &env->tx->input[i].issuance.assetRangeProofHash); } else { @@ -339,8 +339,8 @@ bool issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_token_proof : TWO^32 |- S TWO^256 */ -bool issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { writeHash(dst, &env->tx->input[i].issuance.tokenRangeProofHash); } else { @@ -350,8 +350,8 @@ bool issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) { } /* input_annex_hash : TWO^32 |- S (S (TWO^256)) */ -bool input_annex_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_annex_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { if (writeBit(dst, env->tx->input[i].hasAnnex)) { writeHash(dst, &env->tx->input[i].annexHash); @@ -365,8 +365,8 @@ bool input_annex_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* input_script_sig_hash : TWO^32 |- (S (TWO^256) */ -bool input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { writeHash(dst, &env->tx->input[i].scriptSigHash); } else { @@ -376,8 +376,8 @@ bool input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* output_asset : TWO^32 |- S (Conf TWO^256) */ -bool output_asset(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_asset(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { asset(dst, &env->tx->output[i].asset); } else { @@ -387,8 +387,8 @@ bool output_asset(frameItem* dst, frameItem src, const txEnv* env) { } /* output_amount : TWO^32 |- S (Conf TWO^256, Conf TWO^64) */ -bool output_amount(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_amount(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { asset(dst, &env->tx->output[i].asset); amt(dst, &env->tx->output[i].amt); @@ -399,8 +399,8 @@ bool output_amount(frameItem* dst, frameItem src, const txEnv* env) { } /* output_nonce : TWO^32 |- S (S (Conf TWO^256)) */ -bool output_nonce(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_nonce(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { nonce(dst, &env->tx->output[i].nonce); } else { @@ -410,8 +410,8 @@ bool output_nonce(frameItem* dst, frameItem src, const txEnv* env) { } /* output_script_hash : TWO^32 |- S TWO^256 */ -bool output_script_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_script_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { writeHash(dst, &env->tx->output[i].scriptPubKey); } else { @@ -421,10 +421,10 @@ bool output_script_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* output_null_datum : TWO^32 * TWO^32 |- S (S (TWO^2 * TWO^256 + (TWO + TWO^4))) */ -bool output_null_datum(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_null_datum(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs && env->tx->output[i].isNullData)) { - uint_fast32_t j = read32(&src); + uint_fast32_t j = simplicity_read32(&src); if (writeBit(dst, j < env->tx->output[i].pnd.len)) { if (writeBit(dst, OP_PUSHDATA4 < env->tx->output[i].pnd.op[j].code)) { skipBits(dst, 2 + 256 - 5); @@ -474,8 +474,8 @@ bool output_null_datum(frameItem* dst, frameItem src, const txEnv* env) { } /* output_is_fee : TWO^32 |- S TWO */ -bool output_is_fee(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_is_fee(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { writeBit(dst, isFee(&env->tx->output[i])); } else { @@ -485,8 +485,8 @@ bool output_is_fee(frameItem* dst, frameItem src, const txEnv* env) { } /* output_surjection_proof : TWO^32 |- S TWO^256 */ -bool output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { writeHash(dst, &env->tx->output[i].surjectionProofHash); } else { @@ -496,8 +496,8 @@ bool output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env) { } /* output_range_proof : TWO^32 |- S TWO^256 */ -bool output_range_proof(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_range_proof(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { writeHash(dst, &env->tx->output[i].rangeProofHash); } else { @@ -507,43 +507,43 @@ bool output_range_proof(frameItem* dst, frameItem src, const txEnv* env) { } /* total_fee : TWO^256 |- TWO^64 */ -bool total_fee(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_total_fee(frameItem* dst, frameItem src, const txEnv* env) { sha256_midstate assetid; readHash(&assetid, &src); - write64(dst, lookup_fee(&assetid, env->tx->feeOutputs, env->tx->numFees)); + simplicity_write64(dst, lookup_fee(&assetid, env->tx->feeOutputs, env->tx->numFees)); return true; } /* genesis_block_hash : ONE |- TWO^256 */ -bool genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; write32s(dst, env->genesisHash.s, 8); return true; } /* script_cmr : ONE |- TWO^256 */ -bool script_cmr(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_script_cmr(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; write32s(dst, env->taproot->scriptCMR.s, 8); return true; } /* transaction_id : ONE |- TWO^256 */ -bool transaction_id(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_transaction_id(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; write32s(dst, env->tx->txid.s, 8); return true; } /* current_index : ONE |- TWO^32 */ -bool current_index(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_index(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write32(dst, env->ix); + simplicity_write32(dst, env->ix); return true; } /* current_pegin : ONE |- S TWO^256 */ -bool current_pegin(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_pegin(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; if (writeBit(dst, env->tx->input[env->ix].isPegin)) { @@ -555,7 +555,7 @@ bool current_pegin(frameItem* dst, frameItem src, const txEnv* env) { } /* current_prev_outpoint : ONE |- TWO^256 * TWO^32 */ -bool current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; prevOutpoint(dst, &env->tx->input[env->ix].prevOutpoint); @@ -563,7 +563,7 @@ bool current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) { } /* current_asset : ONE |- Conf TWO^256 */ -bool current_asset(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_asset(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; asset(dst, &env->tx->input[env->ix].txo.asset); @@ -571,7 +571,7 @@ bool current_asset(frameItem* dst, frameItem src, const txEnv* env) { } /* current_amount : ONE |- (Conf TWO^256, Conf TWO^64) */ -bool current_amount(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_amount(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; asset(dst, &env->tx->input[env->ix].txo.asset); @@ -580,7 +580,7 @@ bool current_amount(frameItem* dst, frameItem src, const txEnv* env) { } /* current_script_hash : ONE |- TWO^256 */ -bool current_script_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_script_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; writeHash(dst, &env->tx->input[env->ix].txo.scriptPubKey); @@ -588,15 +588,15 @@ bool current_script_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* current_sequence : ONE |- TWO^32 */ -bool current_sequence(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_sequence(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; - write32(dst, env->tx->input[env->ix].sequence); + simplicity_write32(dst, env->tx->input[env->ix].sequence); return true; } /* current_reissuance_blinding : ONE |- S (Conf TWO^256) */ -bool current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; reissuanceBlinding(dst, &env->tx->input[env->ix].issuance); @@ -604,7 +604,7 @@ bool current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env } /* current_new_issuance_contract : ONE |- S (Conf TWO^256) */ -bool current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; newIssuanceContract(dst, &env->tx->input[env->ix].issuance); @@ -612,7 +612,7 @@ bool current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* e } /* current_reissuance_entropy : ONE |- S (Conf TWO^256) */ -bool current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; reissuanceEntropy(dst, &env->tx->input[env->ix].issuance); @@ -620,7 +620,7 @@ bool current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) } /* current_issuance_asset_amount : ONE |- S (Conf TWO^64) */ -bool current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; issuanceAssetAmt(dst, &env->tx->input[env->ix].issuance); @@ -628,7 +628,7 @@ bool current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* e } /* current_issuance_token_amount : ONE |- S (Conf TWO^64) */ -bool current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; issuanceTokenAmt(dst, &env->tx->input[env->ix].issuance); @@ -636,7 +636,7 @@ bool current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* e } /* current_issuance_asset_proof : ONE |- TWO^256 */ -bool current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; writeHash(dst, &env->tx->input[env->ix].issuance.assetRangeProofHash); @@ -644,7 +644,7 @@ bool current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* en } /* current_issuance_token_proof : ONE |- TWO^256 */ -bool current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; writeHash(dst, &env->tx->input[env->ix].issuance.tokenRangeProofHash); @@ -652,7 +652,7 @@ bool current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* en } /* current_script_sig_hash : ONE |- TWO^256 */ -bool current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; writeHash(dst, &env->tx->input[env->ix].scriptSigHash); @@ -660,7 +660,7 @@ bool current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* current_annex_hash : ONE |- S (TWO^256) */ -bool current_annex_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_current_annex_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; if (env->tx->numInputs <= env->ix) return false; if (writeBit(dst, env->tx->input[env->ix].hasAnnex)) { @@ -672,15 +672,15 @@ bool current_annex_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* tapleaf_version : ONE |- TWO^8 */ -bool tapleaf_version(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tapleaf_version(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write8(dst, env->taproot->leafVersion); + simplicity_write8(dst, env->taproot->leafVersion); return true; } /* tappath : TWO^8 |- S (TWO^256) */ -bool tappath(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast8_t i = read8(&src); +bool simplicity_tappath(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast8_t i = simplicity_read8(&src); if (writeBit(dst, i < env->taproot->pathLen)) { writeHash(dst, &env->taproot->path[i]); } else { @@ -690,146 +690,146 @@ bool tappath(frameItem* dst, frameItem src, const txEnv* env) { } /* internal_key : ONE |- TWO^256 */ -bool internal_key(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_internal_key(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->taproot->internalKey); return true; } /* num_inputs : ONE |- TWO^32 */ -bool num_inputs(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_num_inputs(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write32(dst, env->tx->numInputs); + simplicity_write32(dst, env->tx->numInputs); return true; } /* num_outputs : ONE |- TWO^32 */ -bool num_outputs(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_num_outputs(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write32(dst, env->tx->numOutputs); + simplicity_write32(dst, env->tx->numOutputs); return true; } /* tx_is_final : ONE |- TWO */ -bool tx_is_final(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tx_is_final(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeBit(dst, env->tx->isFinal); return true; } /* tx_lock_height : ONE |- TWO^32 */ -bool tx_lock_height(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tx_lock_height(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write32(dst, lockHeight(env->tx)); + simplicity_write32(dst, lockHeight(env->tx)); return true; } /* tx_lock_time : ONE |- TWO^32 */ -bool tx_lock_time(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tx_lock_time(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write32(dst, lockTime(env->tx)); + simplicity_write32(dst, lockTime(env->tx)); return true; } /* tx_lock_distance : ONE |- TWO^16 */ -bool tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write16(dst, lockDistance(env->tx)); + simplicity_write16(dst, lockDistance(env->tx)); return true; } /* tx_lock_duration : ONE |- TWO^16 */ -bool tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; - write16(dst, lockDuration(env->tx)); + simplicity_write16(dst, lockDuration(env->tx)); return true; } /* check_lock_height : TWO^32 |- ONE */ -bool check_lock_height(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_check_lock_height(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; - uint_fast32_t x = read32(&src); + uint_fast32_t x = simplicity_read32(&src); return x <= lockHeight(env->tx); } /* check_lock_time : TWO^32 |- ONE */ -bool check_lock_time(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_check_lock_time(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; - uint_fast32_t x = read32(&src); + uint_fast32_t x = simplicity_read32(&src); return x <= lockTime(env->tx); } /* check_lock_distance : TWO^16 |- ONE */ -bool check_lock_distance(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_check_lock_distance(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; - uint_fast16_t x = read16(&src); + uint_fast16_t x = simplicity_read16(&src); return x <= lockDistance(env->tx); } /* check_lock_duration : TWO^16 |- ONE */ -bool check_lock_duration(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_check_lock_duration(frameItem* dst, frameItem src, const txEnv* env) { (void) dst; // dst is unused; - uint_fast16_t x = read16(&src); + uint_fast16_t x = simplicity_read16(&src); return x <= lockDuration(env->tx); } /* calculate_issuance_entropy : TWO^256 * TWO^32 * TWO^256 |- TWO^256 */ -bool calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. outpoint op; sha256_midstate contract; sha256_midstate result; read32s(op.txid.s, 8, &src); - op.ix = read32(&src); + op.ix = simplicity_read32(&src); read32s(contract.s, 8, &src); - result = generateIssuanceEntropy(&op, &contract); + result = simplicity_generateIssuanceEntropy(&op, &contract); writeHash(dst, &result); return true; } /* calculate_asset : TWO^256 |- TWO^256 */ -bool calculate_asset(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_calculate_asset(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate entropy; sha256_midstate result; read32s(entropy.s, 8, &src); - result = calculateAsset(&entropy); + result = simplicity_calculateAsset(&entropy); writeHash(dst, &result); return true; } /* calculate_explicit_token : TWO^256 |- TWO^256 */ -bool calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate entropy; sha256_midstate result; read32s(entropy.s, 8, &src); - result = calculateToken(&entropy, EXPLICIT); + result = simplicity_calculateToken(&entropy, EXPLICIT); writeHash(dst, &result); return true; } /* calculate_confidential_token : TWO^256 |- TWO^256 */ -bool calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate entropy; sha256_midstate result; read32s(entropy.s, 8, &src); - result = calculateToken(&entropy, EVEN_Y /* ODD_Y would also work. */); + result = simplicity_calculateToken(&entropy, EVEN_Y /* ODD_Y would also work. */); writeHash(dst, &result); return true; } /* lbtc_asset : ONE |- TWO^256 */ -bool lbtc_asset(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_lbtc_asset(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused. (void) env; // env is unused. const sha256_midstate lbtc_assetid = {{ @@ -841,36 +841,36 @@ bool lbtc_asset(frameItem* dst, frameItem src, const txEnv* env) { } /* build_tapleaf_simplicity : TWO^256 |- TWO^256 */ -bool build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate cmr; readHash(&cmr, &src); - sha256_midstate result = make_tapleaf(0xbe, &cmr); + sha256_midstate result = simplicity_make_tapleaf(0xbe, &cmr); writeHash(dst, &result); return true; } /* build_tapbranch : TWO^256 * TWO^256 |- TWO^256 */ -bool build_tapbranch(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_build_tapbranch(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate a, b; readHash(&a, &src); readHash(&b, &src); - sha256_midstate result = make_tapbranch(&a, &b); + sha256_midstate result = simplicity_make_tapbranch(&a, &b); writeHash(dst, &result); return true; } /* outpoint_hash : CTX8 * S TWO^256 * TWO^256 * TWO^32 |- CTX8 */ -bool outpoint_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_outpoint_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate midstate; unsigned char buf[36]; sha256_context ctx = {.output = midstate.s}; /* Read a SHA-256 context. */ - if (!read_sha256_context(&ctx, &src)) return false; + if (!simplicity_read_sha256_context(&ctx, &src)) return false; /* Read an optional pegin parent chain hash. */ if (readBit(&src)) { @@ -888,18 +888,18 @@ bool outpoint_hash(frameItem* dst, frameItem src, const txEnv* env) { read8s(buf, 36, &src); sha256_uchars(&ctx, buf, 36); - return write_sha256_context(dst, &ctx); + return simplicity_write_sha256_context(dst, &ctx); } /* asset_amount_hash : CTX8 * Conf TWO^256 * Conf TWO^64 |- CTX8 */ -bool asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate midstate; unsigned char buf[32]; sha256_context ctx = {.output = midstate.s}; /* Read a SHA-256 context. */ - if (!read_sha256_context(&ctx, &src)) return false; + if (!simplicity_read_sha256_context(&ctx, &src)) return false; /* Read an asset id prefix. (2 bits) */ if (readBit(&src)) { @@ -936,18 +936,18 @@ bool asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env) { sha256_uchars(&ctx, buf, 32); } - return write_sha256_context(dst, &ctx); + return simplicity_write_sha256_context(dst, &ctx); } /* nonce_hash : CTX8 * S (Conf TWO^256) |- CTX8 */ -bool nonce_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_nonce_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate midstate; unsigned char buf[32]; sha256_context ctx = {.output = midstate.s}; /* Read a SHA-256 context. */ - if (!read_sha256_context(&ctx, &src)) return false; + if (!simplicity_read_sha256_context(&ctx, &src)) return false; /* Read an optional nonce. (259 bits) */ if (readBit(&src)) { @@ -971,18 +971,18 @@ bool nonce_hash(frameItem* dst, frameItem src, const txEnv* env) { sha256_uchar(&ctx, 0x00); } - return write_sha256_context(dst, &ctx); + return simplicity_write_sha256_context(dst, &ctx); } /* annex_hash : CTX8 * S TWO^256 |- CTX8 */ -bool annex_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_annex_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) env; // env is unused. sha256_midstate midstate; unsigned char buf[32]; sha256_context ctx = {.output = midstate.s}; /* Read a SHA-256 context. */ - if (!read_sha256_context(&ctx, &src)) return false; + if (!simplicity_read_sha256_context(&ctx, &src)) return false; /* Read an optional hash. (257 bits) */ if (readBit(&src)) { @@ -995,12 +995,12 @@ bool annex_hash(frameItem* dst, frameItem src, const txEnv* env) { sha256_uchar(&ctx, 0x00); } - return write_sha256_context(dst, &ctx); + return simplicity_write_sha256_context(dst, &ctx); } /* issuance : TWO^256 |- S (S TWO) */ -bool issuance(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { const sigInput* input = &env->tx->input[i]; if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) { @@ -1015,8 +1015,8 @@ bool issuance(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_entropy : TWO^256 |- S (S TWO^256) */ -bool issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { const sigInput* input = &env->tx->input[i]; if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) { @@ -1031,8 +1031,8 @@ bool issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_asset : TWO^256 |- S (S TWO^256) */ -bool issuance_asset(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_asset(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { const sigInput* input = &env->tx->input[i]; if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) { @@ -1047,8 +1047,8 @@ bool issuance_asset(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_token : TWO^256 |- S (S TWO^256) */ -bool issuance_token(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_token(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { const sigInput* input = &env->tx->input[i]; if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) { @@ -1063,57 +1063,57 @@ bool issuance_token(frameItem* dst, frameItem src, const txEnv* env) { } /* output_amounts_hash : ONE |- TWO^256 */ -bool output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->outputAssetAmountsHash); return true; } /* output_nonces_hash : ONE |- TWO^256 */ -bool output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->outputNoncesHash); return true; } /* output_scripts_hash : ONE |- TWO^256 */ -bool output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->outputScriptsHash); return true; } /* output_range_proofs_hash : ONE |- TWO^256 */ -bool output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->outputRangeProofsHash); return true; } /* output_surjection_proofs_hash : ONE |- TWO^256 */ -bool output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->outputSurjectionProofsHash); return true; } /* outputs_hash : ONE |- TWO^256 */ -bool outputs_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_outputs_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->outputsHash); return true; } /* output_hash : TWO^32 |- S TWO^256 */ -bool output_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_output_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numOutputs)) { const sigOutput* output = &env->tx->output[i]; sha256_midstate midstate; sha256_context ctx = sha256_init(midstate.s); - sha256_confAsset(&ctx, &output->asset); - sha256_confAmt(&ctx, &output->amt); - sha256_confNonce(&ctx, &output->nonce); + simplicity_sha256_confAsset(&ctx, &output->asset); + simplicity_sha256_confAmt(&ctx, &output->amt); + simplicity_sha256_confNonce(&ctx, &output->nonce); sha256_hash(&ctx, &output->scriptPubKey); sha256_hash(&ctx, &output->rangeProofHash); sha256_finalize(&ctx); @@ -1125,42 +1125,42 @@ bool output_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* input_outpoints_hash : ONE |- TWO^256 */ -bool input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputOutpointsHash); return true; } /* input_amounts_hash : ONE |- TWO^256 */ -bool input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputAssetAmountsHash); return true; } /* input_scripts_hash : ONE |- TWO^256 */ -bool input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputScriptsHash); return true; } /* input_utxos_hash : ONE |- TWO^256 */ -bool input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputUTXOsHash); return true; } /* input_utxo_hash : TWO^32 |- S TWO^256 */ -bool input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { const utxo* txo = &env->tx->input[i].txo; sha256_midstate midstate; sha256_context ctx = sha256_init(midstate.s); - sha256_confAsset(&ctx, &txo->asset); - sha256_confAmt(&ctx, &txo->amt); + simplicity_sha256_confAsset(&ctx, &txo->asset); + simplicity_sha256_confAmt(&ctx, &txo->amt); sha256_hash(&ctx, &txo->scriptPubKey); sha256_finalize(&ctx); writeHash(dst, &midstate); @@ -1171,36 +1171,36 @@ bool input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* input_sequences_hash : ONE |- TWO^256 */ -bool input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputSequencesHash); return true; } /* input_annexes_hash : ONE |- TWO^256 */ -bool input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputAnnexesHash); return true; } /* input_script_sigs_hash : ONE |- TWO^256 */ -bool input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputScriptSigsHash); return true; } /* inputs_hash : ONE |- TWO^256 */ -bool inputs_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_inputs_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->inputsHash); return true; } /* input_hash : TWO^32 |- S TWO^256 */ -bool input_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_input_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { const sigInput* input = &env->tx->input[i]; sha256_midstate midstate; @@ -1229,43 +1229,43 @@ bool input_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* issuance_asset_amounts_hash : ONE |- TWO^256 */ -bool issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->issuanceAssetAmountsHash); return true; } /* issuance_token_amounts_hash : ONE |- TWO^256 */ -bool issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->issuanceTokenAmountsHash); return true; } /* issuance_range_proofs_hash : ONE |- TWO^256 */ -bool issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->issuanceRangeProofsHash); return true; } /* issuance_blinding_entropy_hash : ONE |- TWO^256 */ -bool issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->issuanceBlindingEntropyHash); return true; } /* issuances_hash : ONE |- TWO^256 */ -bool issuances_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_issuances_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->issuancesHash); return true; } /* issuance_hash : TWO^32 |- S TWO^256 */ -bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env) { - uint_fast32_t i = read32(&src); +bool simplicity_issuance_hash(frameItem* dst, frameItem src, const txEnv* env) { + uint_fast32_t i = simplicity_read32(&src); if (writeBit(dst, i < env->tx->numInputs)) { const assetIssuance* issuance = &env->tx->input[i].issuance; sha256_midstate midstate; @@ -1279,10 +1279,10 @@ bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env) { sha256_hash(&ctx, &issuance->tokenRangeProofHash); sha256_uchar(&ctx, 0); } else { - sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->assetId}); - sha256_confAmt(&ctx, &issuance->assetAmt); - sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->tokenId}); - sha256_confAmt(&ctx, NEW_ISSUANCE == issuance->type + simplicity_sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->assetId}); + simplicity_sha256_confAmt(&ctx, &issuance->assetAmt); + simplicity_sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->tokenId}); + simplicity_sha256_confAmt(&ctx, NEW_ISSUANCE == issuance->type ? &issuance->tokenAmt : &(confAmount){ .prefix = EXPLICIT, .explicit = 0}); sha256_hash(&ctx, &issuance->assetRangeProofHash); @@ -1305,35 +1305,35 @@ bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env) { } /* tx_hash : ONE |- TWO^256 */ -bool tx_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tx_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->tx->txHash); return true; } /* tapleaf_hash : ONE |- TWO^256 */ -bool tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->taproot->tapLeafHash); return true; } /* tappath_hash : ONE |- TWO^256 */ -bool tappath_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tappath_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->taproot->tappathHash); return true; } /* tap_env_hash : ONE |- TWO^256 */ -bool tap_env_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_tap_env_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->taproot->tapEnvHash); return true; } /* sig_all_hash : ONE |- TWO^256 */ -bool sig_all_hash(frameItem* dst, frameItem src, const txEnv* env) { +bool simplicity_sig_all_hash(frameItem* dst, frameItem src, const txEnv* env) { (void) src; // src is unused; writeHash(dst, &env->sigAllHash); return true; diff --git a/simplicity-sys/depend/simplicity/primitive/elements/jets.h b/simplicity-sys/depend/simplicity/primitive/elements/jets.h index 2b5f6a9d..b43fac00 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/jets.h +++ b/simplicity-sys/depend/simplicity/primitive/elements/jets.h @@ -6,107 +6,107 @@ #include "../../jets.h" /* Jets for the Elements application of Simplicity. */ -bool version(frameItem* dst, frameItem src, const txEnv* env); -bool lock_time(frameItem* dst, frameItem src, const txEnv* env); -bool input_pegin(frameItem* dst, frameItem src, const txEnv* env); -bool input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env); -bool input_asset(frameItem* dst, frameItem src, const txEnv* env); -bool input_amount(frameItem* dst, frameItem src, const txEnv* env); -bool input_script_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_sequence(frameItem* dst, frameItem src, const txEnv* env); -bool input_annex_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env); -bool reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env); -bool new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env); -bool reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env); -bool output_asset(frameItem* dst, frameItem src, const txEnv* env); -bool output_amount(frameItem* dst, frameItem src, const txEnv* env); -bool output_nonce(frameItem* dst, frameItem src, const txEnv* env); -bool output_script_hash(frameItem* dst, frameItem src, const txEnv* env); -bool output_null_datum(frameItem* dst, frameItem src, const txEnv* env); -bool output_is_fee(frameItem* dst, frameItem src, const txEnv* env); -bool output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env); -bool output_range_proof(frameItem* dst, frameItem src, const txEnv* env); -bool total_fee(frameItem* dst, frameItem src, const txEnv* env); -bool genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env); -bool script_cmr(frameItem* dst, frameItem src, const txEnv* env); -bool transaction_id(frameItem* dst, frameItem src, const txEnv* env); -bool current_index(frameItem* dst, frameItem src, const txEnv* env); -bool current_pegin(frameItem* dst, frameItem src, const txEnv* env); -bool current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env); -bool current_asset(frameItem* dst, frameItem src, const txEnv* env); -bool current_amount(frameItem* dst, frameItem src, const txEnv* env); -bool current_script_hash(frameItem* dst, frameItem src, const txEnv* env); -bool current_sequence(frameItem* dst, frameItem src, const txEnv* env); -bool current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env); -bool current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env); -bool current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env); -bool current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env); -bool current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env); -bool current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env); -bool current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env); -bool current_annex_hash(frameItem* dst, frameItem src, const txEnv* env); -bool current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env); -bool tapleaf_version(frameItem* dst, frameItem src, const txEnv* env); -bool tappath(frameItem* dst, frameItem src, const txEnv* env); -bool internal_key(frameItem* dst, frameItem src, const txEnv* env); -bool num_inputs(frameItem* dst, frameItem src, const txEnv* env); -bool num_outputs(frameItem* dst, frameItem src, const txEnv* env); -bool tx_is_final(frameItem* dst, frameItem src, const txEnv* env); -bool tx_lock_height(frameItem* dst, frameItem src, const txEnv* env); -bool tx_lock_time(frameItem* dst, frameItem src, const txEnv* env); -bool tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env); -bool tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env); -bool check_lock_height(frameItem* dst, frameItem src, const txEnv* env); -bool check_lock_time(frameItem* dst, frameItem src, const txEnv* env); -bool check_lock_distance(frameItem* dst, frameItem src, const txEnv* env); -bool check_lock_duration(frameItem* dst, frameItem src, const txEnv* env); -bool calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env); -bool calculate_asset(frameItem* dst, frameItem src, const txEnv* env); -bool calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env); -bool calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env); -bool lbtc_asset(frameItem* dst, frameItem src, const txEnv* env); -bool build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env); -bool build_tapbranch(frameItem* dst, frameItem src, const txEnv* env); -bool outpoint_hash(frameItem* dst, frameItem src, const txEnv* env); -bool asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env); -bool nonce_hash(frameItem* dst, frameItem src, const txEnv* env); -bool annex_hash(frameItem* dst, frameItem src, const txEnv* env); -bool issuance(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_entropy(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_asset(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_token(frameItem* dst, frameItem src, const txEnv* env); -bool output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); -bool output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env); -bool output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env); -bool output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env); -bool output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env); -bool outputs_hash(frameItem* dst, frameItem src, const txEnv* env); -bool output_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env); -bool inputs_hash(frameItem* dst, frameItem src, const txEnv* env); -bool input_hash(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env); -bool issuances_hash(frameItem* dst, frameItem src, const txEnv* env); -bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env); -bool tx_hash(frameItem* dst, frameItem src, const txEnv* env); -bool tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env); -bool tappath_hash(frameItem* dst, frameItem src, const txEnv* env); -bool tap_env_hash(frameItem* dst, frameItem src, const txEnv* env); -bool sig_all_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_version(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_lock_time(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_pegin(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_asset(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_amount(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_script_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_sequence(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_annex_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_asset(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_amount(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_nonce(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_script_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_null_datum(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_is_fee(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_range_proof(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_total_fee(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_script_cmr(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_transaction_id(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_index(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_pegin(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_asset(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_amount(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_script_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_sequence(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_annex_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tapleaf_version(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tappath(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_internal_key(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_num_inputs(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_num_outputs(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tx_is_final(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tx_lock_height(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tx_lock_time(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_check_lock_height(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_check_lock_time(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_check_lock_distance(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_check_lock_duration(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_calculate_asset(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_lbtc_asset(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_build_tapbranch(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_outpoint_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_nonce_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_annex_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_asset(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_token(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_outputs_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_output_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_inputs_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_input_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuances_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_issuance_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tx_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tappath_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_tap_env_hash(frameItem* dst, frameItem src, const txEnv* env); +bool simplicity_sig_all_hash(frameItem* dst, frameItem src, const txEnv* env); #endif diff --git a/simplicity-sys/depend/simplicity/primitive/elements/ops.c b/simplicity-sys/depend/simplicity/primitive/elements/ops.c index 1610002d..2c334ac9 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/ops.c +++ b/simplicity-sys/depend/simplicity/primitive/elements/ops.c @@ -9,7 +9,7 @@ * Precondition: NULL != ctx; * NULL != conf; */ -void sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf) { +void simplicity_sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf) { switch (conf->prefix) { case NONE: sha256_uchar(ctx, 0x00); return; case EXPLICIT: sha256_uchar(ctx, 0x01); break; @@ -24,8 +24,8 @@ void sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha2 * Precondition: NULL != ctx; * NULL != asset; */ -void sha256_confAsset(sha256_context* ctx, const confidential* asset) { - sha256_confidential(0x0a, 0x0b, ctx, asset); +void simplicity_sha256_confAsset(sha256_context* ctx, const confidential* asset) { + simplicity_sha256_confidential(0x0a, 0x0b, ctx, asset); } /* Add an 'confidential' nonce to be consumed by an ongoing SHA-256 evaluation. @@ -33,8 +33,8 @@ void sha256_confAsset(sha256_context* ctx, const confidential* asset) { * Precondition: NULL != ctx; * NULL != nonce; */ -void sha256_confNonce(sha256_context* ctx, const confidential* nonce) { - sha256_confidential(0x02, 0x03, ctx, nonce); +void simplicity_sha256_confNonce(sha256_context* ctx, const confidential* nonce) { + simplicity_sha256_confidential(0x02, 0x03, ctx, nonce); } /* Add an 'confidential' amount to be consumed by an ongoing SHA-256 evaluation. @@ -42,7 +42,7 @@ void sha256_confNonce(sha256_context* ctx, const confidential* nonce) { * Precondition: NULL != ctx; * NULL != amt; */ -void sha256_confAmt(sha256_context* ctx, const confAmount* amt) { +void simplicity_sha256_confAmt(sha256_context* ctx, const confAmount* amt) { switch (amt->prefix) { case NONE: SIMPLICITY_UNREACHABLE; case EXPLICIT: @@ -63,7 +63,7 @@ void sha256_confAmt(sha256_context* ctx, const confAmount* amt) { * Precondition: NULL != op; * NULL != contract; */ -sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract) { +sha256_midstate simplicity_generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract) { uint32_t block[16]; unsigned char buf[32]; sha256_midstate result; @@ -86,7 +86,7 @@ sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstat memcpy(&block[8], contract->s, sizeof(contract->s)); sha256_iv(result.s); - sha256_compression(result.s, block); + simplicity_sha256_compression(result.s, block); return result; } @@ -96,13 +96,13 @@ sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstat * * Precondition: NULL != entropy; */ -sha256_midstate calculateAsset(const sha256_midstate* entropy) { +sha256_midstate simplicity_calculateAsset(const sha256_midstate* entropy) { uint32_t block[16] = {0}; sha256_midstate result; memcpy(&block[0], entropy->s, sizeof(entropy->s)); sha256_iv(result.s); - sha256_compression(result.s, block); + simplicity_sha256_compression(result.s, block); return result; } @@ -112,14 +112,14 @@ sha256_midstate calculateAsset(const sha256_midstate* entropy) { * * Precondition: NULL != entropy; */ -sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix) { +sha256_midstate simplicity_calculateToken(const sha256_midstate* entropy, confPrefix prefix) { uint32_t block[16] = {0}; sha256_midstate result; memcpy(&block[0], entropy->s, sizeof(entropy->s)); block[8] = is_confidential(prefix) ? 0x02000000 : 0x01000000; sha256_iv(result.s); - sha256_compression(result.s, block); + simplicity_sha256_compression(result.s, block); return result; } @@ -130,7 +130,7 @@ sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix * * Precondition: NULL != cmr; */ -sha256_midstate make_tapleaf(unsigned char version, const sha256_midstate* cmr) { +sha256_midstate simplicity_make_tapleaf(unsigned char version, const sha256_midstate* cmr) { sha256_midstate result; sha256_midstate tapleafTag; { @@ -155,7 +155,7 @@ sha256_midstate make_tapleaf(unsigned char version, const sha256_midstate* cmr) * Precondition: NULL != a; * NULL != b; */ -sha256_midstate make_tapbranch(const sha256_midstate* a, const sha256_midstate* b) { +sha256_midstate simplicity_make_tapbranch(const sha256_midstate* a, const sha256_midstate* b) { sha256_midstate result; sha256_midstate tapbranchTag; { diff --git a/simplicity-sys/depend/simplicity/primitive/elements/ops.h b/simplicity-sys/depend/simplicity/primitive/elements/ops.h index 8e1878b5..87e9fb3a 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/ops.h +++ b/simplicity-sys/depend/simplicity/primitive/elements/ops.h @@ -15,28 +15,28 @@ * Precondition: NULL != ctx; * NULL != conf; */ -void sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf); +void simplicity_sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf); /* Add an 'confidential' asset to be consumed by an ongoing SHA-256 evaluation. * * Precondition: NULL != ctx; * NULL != asset; */ -void sha256_confAsset(sha256_context* ctx, const confidential* asset); +void simplicity_sha256_confAsset(sha256_context* ctx, const confidential* asset); /* Add an 'confidential' nonce to be consumed by an ongoing SHA-256 evaluation. * * Precondition: NULL != ctx; * NULL != nonce; */ -void sha256_confNonce(sha256_context* ctx, const confidential* nonce); +void simplicity_sha256_confNonce(sha256_context* ctx, const confidential* nonce); /* Add an 'confidential' amount to be consumed by an ongoing SHA-256 evaluation. * * Precondition: NULL != ctx; * NULL != amt; */ -void sha256_confAmt(sha256_context* ctx, const confAmount* amt); +void simplicity_sha256_confAmt(sha256_context* ctx, const confAmount* amt); /* Compute an Element's entropy value from a prevoutpoint and a contract hash. * A reimplementation of GenerateAssetEntropy from Element's 'issuance.cpp'. @@ -44,21 +44,21 @@ void sha256_confAmt(sha256_context* ctx, const confAmount* amt); * Precondition: NULL != op; * NULL != contract; */ -sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract); +sha256_midstate simplicity_generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract); /* Compute an Element's issuance Asset ID value from an entropy value. * A reimplementation of CalculateAsset from Element's 'issuance.cpp'. * * Precondition: NULL != entropy; */ -sha256_midstate calculateAsset(const sha256_midstate* entropy); +sha256_midstate simplicity_calculateAsset(const sha256_midstate* entropy); /* Compute an Element's issuance Token ID value from an entropy value and an amount prefix. * A reimplementation of CalculateReissuanceToken from Element's 'issuance.cpp'. * * Precondition: NULL != entropy; */ -sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix); +sha256_midstate simplicity_calculateToken(const sha256_midstate* entropy, confPrefix prefix); /* Compute an Element's tapleaf hash from a tapleaf version and a 256-bit script value. * A reimplementation of ComputeTapleafHash from Element's 'interpreter.cpp'. @@ -66,13 +66,13 @@ sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix * * Precondition: NULL != cmr; */ -sha256_midstate make_tapleaf(unsigned char version, const sha256_midstate* cmr); +sha256_midstate simplicity_make_tapleaf(unsigned char version, const sha256_midstate* cmr); /* Compute an Element's tapbrach hash from two branches. * * Precondition: NULL != a; * NULL != b; */ -sha256_midstate make_tapbranch(const sha256_midstate* a, const sha256_midstate* b); +sha256_midstate simplicity_make_tapbranch(const sha256_midstate* a, const sha256_midstate* b); #endif diff --git a/simplicity-sys/depend/simplicity/primitive/elements/primitive.c b/simplicity-sys/depend/simplicity/primitive/elements/primitive.c index 3f0e5513..62cf5e15 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/primitive.c +++ b/simplicity-sys/depend/simplicity/primitive/elements/primitive.c @@ -33,7 +33,7 @@ enum TypeNamesForJets { * '(*bound_var)[i]' is bound to 'A' and '(*bound_var)[j]' is bound to 'B' * and, '*word256_ix < *extra_var_start' and '(*bound_var)[*word256_ix]' is bound the type 'TWO^256' */ -size_t mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len) { +size_t simplicity_mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len) { static_assert(1 <= NumberOfTypeNames, "Missing TypeNamesForJets."); static_assert(NumberOfTypeNames <= NUMBER_OF_TYPENAMES_MAX, "Too many TypeNamesForJets."); static_assert(DAG_LEN_MAX <= (SIZE_MAX - NumberOfTypeNames) / 6, "NumberOfTypeNames + 6*DAG_LEN_MAX doesn't fit in size_t"); @@ -72,19 +72,19 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { if (bit < 0) return (simplicity_err)bit; if (!bit) { /* Core jets */ - int32_t code = decodeUptoMaxInt(stream); + int32_t code = simplicity_decodeUptoMaxInt(stream); int32_t code2; if (code < 0) return (simplicity_err)code; switch (code) { case 1: /* Word jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: /* Verify */ *result = VERIFY; return SIMPLICITY_NO_ERROR; case 2: /* Low */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = LOW_1; return SIMPLICITY_NO_ERROR; @@ -95,7 +95,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 3: /* High */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = HIGH_1; return SIMPLICITY_NO_ERROR; @@ -106,7 +106,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 4: /* Complement */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = COMPLEMENT_1; return SIMPLICITY_NO_ERROR; @@ -117,7 +117,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 5: /* And */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = AND_1; return SIMPLICITY_NO_ERROR; @@ -128,7 +128,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 6: /* Or */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = OR_1; return SIMPLICITY_NO_ERROR; @@ -139,7 +139,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 7: /* Xor */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = XOR_1; return SIMPLICITY_NO_ERROR; @@ -150,7 +150,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 8: /* Maj */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = MAJ_1; return SIMPLICITY_NO_ERROR; @@ -161,7 +161,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 9: /* Xor_Xor */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = XOR_XOR_1; return SIMPLICITY_NO_ERROR; @@ -172,7 +172,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 10: /* Ch */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = CH_1; return SIMPLICITY_NO_ERROR; @@ -183,7 +183,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 11: /* Some */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = SOME_1; return SIMPLICITY_NO_ERROR; @@ -194,7 +194,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 12: /* All */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = ALL_8; return SIMPLICITY_NO_ERROR; @@ -204,7 +204,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 13: /* Eq */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = EQ_1; return SIMPLICITY_NO_ERROR; @@ -216,9 +216,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 14: /* FullLeftShift */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -266,9 +266,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 15: /* FullRightShift */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -316,9 +316,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 16: /* Leftmost */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -366,9 +366,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 17: /* Rightmost */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -416,9 +416,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 18: /* LeftPadLow */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -450,9 +450,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 19: /* LeftPadHigh */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -484,9 +484,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 20: /* LeftExtend */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -518,9 +518,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 21: /* RightPadLow */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -552,9 +552,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 22: /* RightPadHigh */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 1: @@ -586,9 +586,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 23: /* RightExtend */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; - code2 = decodeUptoMaxInt(stream); + code2 = simplicity_decodeUptoMaxInt(stream); if (code2 < 0) return (simplicity_err)code2; switch (code) { case 4: @@ -612,7 +612,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 24: /* LeftShiftWith */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = LEFT_SHIFT_WITH_8; return SIMPLICITY_NO_ERROR; @@ -622,7 +622,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 25: /* RightShiftWith */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = RIGHT_SHIFT_WITH_8; return SIMPLICITY_NO_ERROR; @@ -632,7 +632,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 26: /* LeftShift */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = LEFT_SHIFT_8; return SIMPLICITY_NO_ERROR; @@ -642,7 +642,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 27: /* RightShift */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = RIGHT_SHIFT_8; return SIMPLICITY_NO_ERROR; @@ -652,7 +652,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 28: /* LeftRotate */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = LEFT_ROTATE_8; return SIMPLICITY_NO_ERROR; @@ -662,7 +662,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 29: /* RightRotate */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = RIGHT_ROTATE_8; return SIMPLICITY_NO_ERROR; @@ -674,12 +674,12 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 2: /* Arith jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: /* One */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = ONE_8; return SIMPLICITY_NO_ERROR; @@ -689,7 +689,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 2: /* FullAdd */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = FULL_ADD_8; return SIMPLICITY_NO_ERROR; @@ -699,7 +699,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 3: /* Add */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = ADD_8; return SIMPLICITY_NO_ERROR; @@ -709,7 +709,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 4: /* FullIncrement */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = FULL_INCREMENT_8; return SIMPLICITY_NO_ERROR; @@ -719,7 +719,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 5: /* Increment */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = INCREMENT_8; return SIMPLICITY_NO_ERROR; @@ -729,7 +729,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 7: /* FullSubtract */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = FULL_SUBTRACT_8; return SIMPLICITY_NO_ERROR; @@ -739,7 +739,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 8: /* Subtract */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = SUBTRACT_8; return SIMPLICITY_NO_ERROR; @@ -749,7 +749,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 9: /* Negate */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = NEGATE_8; return SIMPLICITY_NO_ERROR; @@ -759,7 +759,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 10: /* FullDecrement */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = FULL_DECREMENT_8; return SIMPLICITY_NO_ERROR; @@ -769,7 +769,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 11: /* Decrement */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = DECREMENT_8; return SIMPLICITY_NO_ERROR; @@ -779,7 +779,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 12: /* FullMultiply */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = FULL_MULTIPLY_8; return SIMPLICITY_NO_ERROR; @@ -789,7 +789,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 13: /* Multiply */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = MULTIPLY_8; return SIMPLICITY_NO_ERROR; @@ -799,7 +799,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 14: /* IsZero */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = IS_ZERO_8; return SIMPLICITY_NO_ERROR; @@ -809,7 +809,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 15: /* IsOne */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = IS_ONE_8; return SIMPLICITY_NO_ERROR; @@ -819,7 +819,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 16: /* Le */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = LE_8; return SIMPLICITY_NO_ERROR; @@ -829,7 +829,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 17: /* Lt */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = LT_8; return SIMPLICITY_NO_ERROR; @@ -839,7 +839,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 18: /* Min */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = MIN_8; return SIMPLICITY_NO_ERROR; @@ -849,7 +849,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 19: /* Max */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = MAX_8; return SIMPLICITY_NO_ERROR; @@ -859,7 +859,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 20: /* Median */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = MEDIAN_8; return SIMPLICITY_NO_ERROR; @@ -869,14 +869,14 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 21: /* Div2n1n */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 6: *result = DIV_MOD_128_64; return SIMPLICITY_NO_ERROR; } break; case 22: /* DivMod */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = DIV_MOD_8; return SIMPLICITY_NO_ERROR; @@ -886,7 +886,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 23: /* Divide */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = DIVIDE_8; return SIMPLICITY_NO_ERROR; @@ -896,7 +896,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 24: /* Modulo */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = MODULO_8; return SIMPLICITY_NO_ERROR; @@ -906,7 +906,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 25: /* Divides */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 3: *result = DIVIDES_8; return SIMPLICITY_NO_ERROR; @@ -918,17 +918,17 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 3: /* Hash jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: /* SHA-256 section */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = SHA_256_BLOCK; return SIMPLICITY_NO_ERROR; case 2: *result = SHA_256_IV; return SIMPLICITY_NO_ERROR; case 3: /* SHA-256-CTX-8-ADD-n subsection */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = SHA_256_CTX_8_ADD_1; return SIMPLICITY_NO_ERROR; @@ -951,11 +951,11 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 4: /* Secp256k1 jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: /* point-verify */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = POINT_VERIFY_1; return SIMPLICITY_NO_ERROR; @@ -963,14 +963,14 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { break; case 2: *result = DECOMPRESS; return SIMPLICITY_NO_ERROR; case 3: /* linear-verify */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = LINEAR_VERIFY_1; return SIMPLICITY_NO_ERROR; } break; case 4: /* linear-combination */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = LINEAR_COMBINATION_1; return SIMPLICITY_NO_ERROR; @@ -1019,7 +1019,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 5: /* Signature jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = CHECK_SIG_VERIFY; return SIMPLICITY_NO_ERROR; @@ -1027,7 +1027,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 7: /* Bitcoin jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = PARSE_LOCK; return SIMPLICITY_NO_ERROR; @@ -1038,11 +1038,11 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { return SIMPLICITY_ERR_DATA_OUT_OF_RANGE; } else { /* Elements jets */ - int32_t code = decodeUptoMaxInt(stream); + int32_t code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: /* SigHash jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = SIG_ALL_HASH; return SIMPLICITY_NO_ERROR; @@ -1082,7 +1082,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 2: /* Timelock jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = CHECK_LOCK_HEIGHT; return SIMPLICITY_NO_ERROR; @@ -1097,7 +1097,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 3: /* Issuance jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = ISSUANCE; return SIMPLICITY_NO_ERROR; @@ -1112,7 +1112,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) { } break; case 4: /* Transaction jets chapter */ - code = decodeUptoMaxInt(stream); + code = simplicity_decodeUptoMaxInt(stream); if (code < 0) return (simplicity_err)code; switch (code) { case 1: *result = SCRIPT_CMR; return SIMPLICITY_NO_ERROR; @@ -1191,7 +1191,7 @@ static dag_node jetNode(jetName name) { * Precondition: NULL != node * NULL != stream */ -simplicity_err decodeJet(dag_node* node, bitstream* stream) { +simplicity_err simplicity_decodeJet(dag_node* node, bitstream* stream) { jetName name; simplicity_err error = decodePrimitive(&name, stream); if (!IS_OK(error)) return error; diff --git a/simplicity-sys/depend/simplicity/primitive/elements/primitive.h b/simplicity-sys/depend/simplicity/primitive/elements/primitive.h index 2db6672b..d3788145 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/primitive.h +++ b/simplicity-sys/depend/simplicity/primitive/elements/primitive.h @@ -271,6 +271,6 @@ typedef struct txEnv { * NULL != genesisHash * ix < tx->numInputs */ -txEnv build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix); +txEnv simplicity_build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix); #endif diff --git a/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc b/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc index 636f966d..a28d7299 100644 --- a/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc +++ b/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc @@ -1,255 +1,255 @@ /* This file has been automatically generated. */ [ADD_16] = { .tag = JET -, .jet = add_16 -, .cmr = {{0x90e5c302u, 0xc2a102f7u, 0x6cc20bcdu, 0xddc0622bu, 0xf3b8a544u, 0x6ab68d1bu, 0x2a03395eu, 0x6fae9250u}} +, .jet = simplicity_add_16 +, .cmr = {{0xc4dd8c30u, 0x97f95bf9u, 0x229af0c3u, 0x48317032u, 0x3aa270afu, 0x428a7257u, 0x18143bb5u, 0xfc80811cu}} , .sourceIx = ty_w32 , .targetIx = ty_pbw16 -, .cost = 226 /* milli weight units */ +, .cost = 108 /* milli weight units */ } ,[ADD_32] = { .tag = JET -, .jet = add_32 -, .cmr = {{0x6d7830d6u, 0x5e69f27du, 0x551c4bb3u, 0x718da935u, 0x222faec4u, 0xaf7f49e9u, 0x5e9833edu, 0x2f84c106u}} +, .jet = simplicity_add_32 +, .cmr = {{0xd98c0f69u, 0xf6b1d435u, 0x294d9783u, 0x5eac9401u, 0x77a2feafu, 0x0a6e9e47u, 0x34c91204u, 0x8e9eee42u}} , .sourceIx = ty_w64 , .targetIx = ty_pbw32 -, .cost = 183 /* milli weight units */ +, .cost = 117 /* milli weight units */ } ,[ADD_64] = { .tag = JET -, .jet = add_64 -, .cmr = {{0x9eeebea8u, 0x47388e14u, 0xc7c9e7cau, 0x147c7071u, 0x4de144ebu, 0xab398a53u, 0xf4f58a34u, 0x930cc45cu}} +, .jet = simplicity_add_64 +, .cmr = {{0xe613eb03u, 0x10a44c22u, 0xa694ee55u, 0x490da4eau, 0xe38811bfu, 0xf84aa021u, 0x31d98f49u, 0x9d261e71u}} , .sourceIx = ty_w128 , .targetIx = ty_pbw64 -, .cost = 221 /* milli weight units */ +, .cost = 109 /* milli weight units */ } ,[ADD_8] = { .tag = JET -, .jet = add_8 -, .cmr = {{0x3759b040u, 0x6aa2c4e1u, 0x152621e0u, 0x11e4efdbu, 0x555c6ab6u, 0xd91ae9ebu, 0xf1d6315bu, 0x4382a6c4u}} +, .jet = simplicity_add_8 +, .cmr = {{0x4a1f509eu, 0x5de5c398u, 0x5f76a0dbu, 0x65b04e06u, 0x03bd0c1du, 0x9c5bbcb9u, 0xa3ec8e53u, 0xa0ba3297u}} , .sourceIx = ty_w16 , .targetIx = ty_pbw8 -, .cost = 150 /* milli weight units */ +, .cost = 112 /* milli weight units */ } ,[ALL_16] = { .tag = JET -, .jet = all_16 -, .cmr = {{0x3e7e953du, 0x28a6dc5eu, 0xd7dfbd4cu, 0x63f2e080u, 0x47c71bb9u, 0xc437e8c7u, 0x1ee0147au, 0x60f78beeu}} +, .jet = simplicity_all_16 +, .cmr = {{0x13f6ebb8u, 0xda740db8u, 0x25920468u, 0x802c4cf4u, 0x1245016bu, 0xdf2fa054u, 0x8c86f415u, 0x83866c73u}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 110 /* milli weight units */ +, .cost = 62 /* milli weight units */ } ,[ALL_32] = { .tag = JET -, .jet = all_32 -, .cmr = {{0x5dd08516u, 0x26036cb6u, 0xa42aa952u, 0x93dbb8f3u, 0x6efe5e0eu, 0xa57a3108u, 0x27fa6d79u, 0x2f46e0c1u}} +, .jet = simplicity_all_32 +, .cmr = {{0xbb515d4au, 0x22f3245eu, 0xcf575035u, 0xed187a03u, 0x8614524bu, 0x35aed644u, 0x824689deu, 0x38a4a1e0u}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 136 /* milli weight units */ +, .cost = 65 /* milli weight units */ } ,[ALL_64] = { .tag = JET -, .jet = all_64 -, .cmr = {{0xbad02fd1u, 0x58908a1bu, 0xe068725eu, 0xb05276deu, 0xfa411207u, 0xd0c8a91bu, 0xbe6fa57du, 0x2cda29dfu}} +, .jet = simplicity_all_64 +, .cmr = {{0xcd151de9u, 0x17575655u, 0xa7a0f35du, 0xa9cdaf6eu, 0x2bbf8a8du, 0x4fceac68u, 0xcee4b008u, 0xe665bfc3u}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 165 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[ALL_8] = { .tag = JET -, .jet = all_8 -, .cmr = {{0xdc098854u, 0xdd06ae1eu, 0x6e3e73a4u, 0xae94d0b2u, 0xacce5cb3u, 0xecc12e8cu, 0xb8167f7bu, 0x6eaa4069u}} +, .jet = simplicity_all_8 +, .cmr = {{0x0d3cbfc2u, 0xcc2a9a06u, 0x28a2ff8au, 0xfc0a5f93u, 0x173ede4cu, 0x234c5721u, 0x4c5d74afu, 0x6b873ce9u}} , .sourceIx = ty_w8 , .targetIx = ty_b -, .cost = 113 /* milli weight units */ +, .cost = 76 /* milli weight units */ } ,[AND_1] = { .tag = JET -, .jet = and_1 -, .cmr = {{0x2dc2dbccu, 0x69c12c78u, 0x30df1170u, 0xd9e93a35u, 0xd8284cc8u, 0x15916aebu, 0x3b1b95efu, 0xdaa92c26u}} +, .jet = simplicity_and_1 +, .cmr = {{0x56d1d4d6u, 0xc1e11f60u, 0xd29660b1u, 0x81a1335au, 0x4f511d3bu, 0x9c04a333u, 0xe9e01418u, 0xb0d1818fu}} , .sourceIx = ty_w2 , .targetIx = ty_b -, .cost = 159 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[AND_16] = { .tag = JET -, .jet = and_16 -, .cmr = {{0x4f42c688u, 0xcc3ceb76u, 0x1f662a0bu, 0x8e77b196u, 0x42dab540u, 0x7d9a873cu, 0xd9c18609u, 0x977ebd91u}} +, .jet = simplicity_and_16 +, .cmr = {{0xd77a1144u, 0xc52ed2b7u, 0x6988df9bu, 0x29cd5397u, 0x8c44c6d5u, 0x40f4bc54u, 0x56d0b3b5u, 0x3cd400e5u}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 195 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[AND_32] = { .tag = JET -, .jet = and_32 -, .cmr = {{0x1680cfd2u, 0x643ad389u, 0x6bfb45e9u, 0x6fc62dc2u, 0xbb0cc0acu, 0x486fa833u, 0x30a8890cu, 0x09ee969bu}} +, .jet = simplicity_and_32 +, .cmr = {{0x4382f934u, 0x3379d442u, 0x2e2a0151u, 0x04cf55dcu, 0x54a8f71eu, 0xefb06229u, 0x26d64b6cu, 0xe22bea11u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 175 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[AND_64] = { .tag = JET -, .jet = and_64 -, .cmr = {{0xa2dd3d49u, 0xf12cd442u, 0xcea7c832u, 0x3868be3cu, 0xe6e9af67u, 0x6f725110u, 0xf3ce494eu, 0xdd6a5a4au}} +, .jet = simplicity_and_64 +, .cmr = {{0x3eb8b42du, 0x815f0fc3u, 0x9a3499b0u, 0x354efd05u, 0xa603f5efu, 0x5e511766u, 0xc0112cc1u, 0x48e21155u}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 221 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[AND_8] = { .tag = JET -, .jet = and_8 -, .cmr = {{0x27554178u, 0x198658f5u, 0xbfb5b041u, 0x30898742u, 0xbf82db60u, 0x39dcbb17u, 0x266dfe03u, 0x0cc12075u}} +, .jet = simplicity_and_8 +, .cmr = {{0x0e0ee07cu, 0x749a3fa7u, 0x1296b9d4u, 0x59b06a0au, 0x4bffb7f5u, 0xbb99a925u, 0x4a7d13a8u, 0xce444cd7u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 159 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[ANNEX_HASH] = { .tag = JET -, .jet = annex_hash -, .cmr = {{0xca1beda0u, 0x4f1fe8cbu, 0xb08cd69fu, 0x3959d442u, 0xfe5ab015u, 0xc6923e17u, 0x1d8d0686u, 0xef31488fu}} +, .jet = simplicity_annex_hash +, .cmr = {{0x07eebc33u, 0xfde1ad63u, 0xef136901u, 0xbaaea6fdu, 0xe7228d7cu, 0x60d179b9u, 0x47bd5de5u, 0xe07ab785u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256mw256 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 3065 /* milli weight units */ +, .cost = 241 /* milli weight units */ } ,[ASSET_AMOUNT_HASH] = { .tag = JET -, .jet = asset_amount_hash -, .cmr = {{0x4ff7e73cu, 0xe7fbbfa1u, 0xc577e6feu, 0x1dab70b8u, 0xf10bb4dfu, 0x319c0f6du, 0x67994f6fu, 0xdb224258u}} +, .jet = simplicity_asset_amount_hash +, .cmr = {{0x1baadad6u, 0x9de62137u, 0x77046cc1u, 0xb353a703u, 0x50a95801u, 0x52876c8eu, 0xf712d474u, 0x4c4f4e30u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256pspbw256w256spbw256w64 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 3177 /* milli weight units */ +, .cost = 308 /* milli weight units */ } ,[BIP_0340_VERIFY] = { .tag = JET -, .jet = bip_0340_verify -, .cmr = {{0x3a196ec1u, 0x9d8f3fccu, 0x67b0ad8fu, 0x611e762du, 0xc1189a72u, 0x2faa745bu, 0x694d292cu, 0x47373f53u}} +, .jet = simplicity_bip_0340_verify +, .cmr = {{0x0873c4d7u, 0xb8998b2bu, 0x6b8e43eeu, 0x4ac0c2c7u, 0xad25b360u, 0x0e342b20u, 0x1d46001bu, 0x76c0567fu}} , .sourceIx = ty_w1Ki , .targetIx = ty_u -, .cost = 49671 /* milli weight units */ +, .cost = 49087 /* milli weight units */ } ,[BUILD_TAPBRANCH] = { .tag = JET -, .jet = build_tapbranch -, .cmr = {{0xd4b31312u, 0x786cb33bu, 0x43b062d4u, 0x8e0be039u, 0xc7de2b8du, 0x67ce9eeau, 0x5f5225f1u, 0x97ef7774u}} +, .jet = simplicity_build_tapbranch +, .cmr = {{0x773dc3b7u, 0xcf6a2592u, 0xa35d5319u, 0x53094915u, 0xe857037au, 0xb5b7cdd2u, 0xa734e289u, 0xc95e2a3eu}} , .sourceIx = ty_w512 , .targetIx = ty_w256 -, .cost = 4804 /* milli weight units */ +, .cost = 2563 /* milli weight units */ } ,[BUILD_TAPLEAF_SIMPLICITY] = { .tag = JET -, .jet = build_tapleaf_simplicity -, .cmr = {{0x136f16e4u, 0x4ae55b7eu, 0x6330d656u, 0xa282cbe5u, 0xaf966e74u, 0x1f576c9du, 0x0acd7749u, 0x467fd505u}} +, .jet = simplicity_build_tapleaf_simplicity +, .cmr = {{0x2b90ae75u, 0xbb76de68u, 0xde10d1e0u, 0xaeea6407u, 0x1a06f13au, 0x9776efa6u, 0xec8ee3e3u, 0xbc86289au}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 3670 /* milli weight units */ +, .cost = 1843 /* milli weight units */ } ,[CALCULATE_ASSET] = { .tag = JET -, .jet = calculate_asset -, .cmr = {{0x2eaae24du, 0xccce3c94u, 0x4beb8e38u, 0xac6a52eau, 0x434420fbu, 0x56a9a9b4u, 0xfb841583u, 0x48087421u}} +, .jet = simplicity_calculate_asset +, .cmr = {{0xe971896bu, 0x77fffbe0u, 0xe1036547u, 0xcdc6ddffu, 0x38e8bd75u, 0x427abb7cu, 0x76183028u, 0xfbcf9882u}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 1516 /* milli weight units */ +, .cost = 807 /* milli weight units */ } ,[CALCULATE_CONFIDENTIAL_TOKEN] = { .tag = JET -, .jet = calculate_confidential_token -, .cmr = {{0x3c5bf08au, 0xba5aa33eu, 0xba87efb0u, 0x99bdf1c4u, 0x64e7722au, 0xece1a221u, 0x3dc8eb25u, 0x54f0b56bu}} +, .jet = simplicity_calculate_confidential_token +, .cmr = {{0x02683208u, 0xa9db6770u, 0x807689cau, 0x4e2bdcafu, 0x00b75e1cu, 0x5d7e3aecu, 0xa75019e9u, 0xfb70a4cdu}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 1727 /* milli weight units */ +, .cost = 707 /* milli weight units */ } ,[CALCULATE_EXPLICIT_TOKEN] = { .tag = JET -, .jet = calculate_explicit_token -, .cmr = {{0xbef44e2eu, 0x52ccbfbau, 0xc88fd4d0u, 0xbdad51a4u, 0x69b484c7u, 0x585b7825u, 0x8ad4a79bu, 0xc9e4803bu}} +, .jet = simplicity_calculate_explicit_token +, .cmr = {{0x620d8d03u, 0xf042dd95u, 0xdc49b8aeu, 0x35a881f4u, 0xdbd62199u, 0x662eeaecu, 0x13e5713eu, 0x34d296ddu}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 1610 /* milli weight units */ +, .cost = 771 /* milli weight units */ } ,[CALCULATE_ISSUANCE_ENTROPY] = { .tag = JET -, .jet = calculate_issuance_entropy -, .cmr = {{0xca162c8au, 0xab8f94ddu, 0xe208dd87u, 0x1306b4ccu, 0x917ef2d8u, 0x1b8df75fu, 0xb23a916eu, 0xb3be197eu}} +, .jet = simplicity_calculate_issuance_entropy +, .cmr = {{0xf6595190u, 0xd4008c66u, 0x5b694aacu, 0xb8d96a76u, 0x26e06ac6u, 0x2b28d009u, 0xd75192bcu, 0x9cae5156u}} , .sourceIx = ty_ppw256w32w256 , .targetIx = ty_w256 -, .cost = 3453 /* milli weight units */ +, .cost = 2095 /* milli weight units */ } ,[CH_1] = { .tag = JET -, .jet = ch_1 -, .cmr = {{0xc2323612u, 0x4da01f3du, 0x8eb742c2u, 0xed47953fu, 0x66c8b084u, 0xd95a10c6u, 0x0cae69bau, 0x9842ae96u}} +, .jet = simplicity_ch_1 +, .cmr = {{0x297c251au, 0xfe741b19u, 0x22a212e3u, 0x93d3d3b1u, 0xc32e6b33u, 0xee2cfd5eu, 0xfae3fb1au, 0xbe595113u}} , .sourceIx = ty_pbw2 , .targetIx = ty_b -, .cost = 240 /* milli weight units */ +, .cost = 78 /* milli weight units */ } ,[CH_16] = { .tag = JET -, .jet = ch_16 -, .cmr = {{0xdccde6a9u, 0x545875c5u, 0xcb46e72cu, 0x7b04ceebu, 0x920c203du, 0x1c042aecu, 0x91241dbeu, 0xca23f435u}} +, .jet = simplicity_ch_16 +, .cmr = {{0x81d33886u, 0xb525e7f2u, 0x8019d444u, 0xd4d4b422u, 0x76d33fa9u, 0x7b917adbu, 0xef4a8811u, 0x3ea6711eu}} , .sourceIx = ty_pw16w32 , .targetIx = ty_w16 -, .cost = 245 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[CH_32] = { .tag = JET -, .jet = ch_32 -, .cmr = {{0x8c0a87eeu, 0x8e1dfca3u, 0x4bdff421u, 0x2ba1af75u, 0x44d2de6fu, 0x4acb7618u, 0x08231a5fu, 0x57788e62u}} +, .jet = simplicity_ch_32 +, .cmr = {{0x77002200u, 0xecac62e7u, 0x65c055b5u, 0x0bd225a8u, 0x54cda318u, 0x071b2e70u, 0xea30de9du, 0x1e3219aau}} , .sourceIx = ty_pw32w64 , .targetIx = ty_w32 -, .cost = 238 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[CH_64] = { .tag = JET -, .jet = ch_64 -, .cmr = {{0x5d5ae57du, 0x7647f01eu, 0xc3fd797eu, 0xd89d62beu, 0x5fe585fbu, 0xb9fdb6c3u, 0x208b2c08u, 0x579b9e2cu}} +, .jet = simplicity_ch_64 +, .cmr = {{0xe97cdd2au, 0x47acf40bu, 0xe6872a57u, 0x4bbadb5du, 0xb51bac1au, 0xd9cf63e7u, 0xd84c3b2fu, 0xb9ab6ddbu}} , .sourceIx = ty_pw64w128 , .targetIx = ty_w64 -, .cost = 274 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[CH_8] = { .tag = JET -, .jet = ch_8 -, .cmr = {{0xdfc578f2u, 0x5cb31402u, 0xe22a810eu, 0x98950ae1u, 0x7b190896u, 0x364cdee8u, 0xeea300cfu, 0x79d87801u}} +, .jet = simplicity_ch_8 +, .cmr = {{0x5bc67708u, 0x751e9679u, 0x13fb75fcu, 0x2576a080u, 0x700c67f1u, 0x2c363ba0u, 0x1917513eu, 0x6c781457u}} , .sourceIx = ty_pw8w16 , .targetIx = ty_w8 -, .cost = 240 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[CHECK_LOCK_DISTANCE] = { .tag = JET -, .jet = check_lock_distance -, .cmr = {{0xc510cd9au, 0xf3ead171u, 0xe189f9e1u, 0x0c95463du, 0x331b1673u, 0x941de384u, 0xe846ab71u, 0x57538ee6u}} +, .jet = simplicity_check_lock_distance +, .cmr = {{0x4461194au, 0x7b0a7905u, 0x16913c70u, 0xf7fdd61eu, 0x2aac4317u, 0xbc4f7ee2u, 0x7bcf55feu, 0xe9b1c2f1u}} , .sourceIx = ty_w16 , .targetIx = ty_u -, .cost = 198 /* milli weight units */ +, .cost = 105 /* milli weight units */ } ,[CHECK_LOCK_DURATION] = { .tag = JET -, .jet = check_lock_duration -, .cmr = {{0x4a64700cu, 0x730c6351u, 0x94cced20u, 0x471b0a69u, 0xc6dea271u, 0xb04a41aau, 0x8c76437bu, 0x74628ddbu}} +, .jet = simplicity_check_lock_duration +, .cmr = {{0x3ce5aff9u, 0x1a7e352du, 0x0369015fu, 0xd4e2d9f1u, 0xe000c39au, 0xd1b7d760u, 0xb8503588u, 0x120bb8b3u}} , .sourceIx = ty_w16 , .targetIx = ty_u -, .cost = 201 /* milli weight units */ +, .cost = 102 /* milli weight units */ } ,[CHECK_LOCK_HEIGHT] = { .tag = JET -, .jet = check_lock_height -, .cmr = {{0x00dd5316u, 0x8f951773u, 0x818c1ea6u, 0x9797ed00u, 0xcccd3762u, 0xd2edb6d9u, 0x5feb7670u, 0x9805d49fu}} +, .jet = simplicity_check_lock_height +, .cmr = {{0xdf3a0f07u, 0x680433aeu, 0x5ee855ddu, 0x774c2ae4u, 0x1194ac8fu, 0xa118b506u, 0xa09eb6d3u, 0xa52e167au}} , .sourceIx = ty_w32 , .targetIx = ty_u -, .cost = 239 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[CHECK_LOCK_TIME] = { .tag = JET -, .jet = check_lock_time -, .cmr = {{0xdea6df2au, 0x1980028fu, 0x423b6a49u, 0x042e1ee5u, 0x361760e9u, 0x42f0ea68u, 0xf9bf9dcau, 0xab57de53u}} +, .jet = simplicity_check_lock_time +, .cmr = {{0x667ece1fu, 0xfd807b61u, 0x357c9150u, 0x630af013u, 0x9e9f1fcdu, 0xf987dfa7u, 0xce20a1e2u, 0x16ed75e3u}} , .sourceIx = ty_w32 , .targetIx = ty_u -, .cost = 232 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[CHECK_SIG_VERIFY] = { .tag = JET -, .jet = check_sig_verify +, .jet = simplicity_check_sig_verify , .cmr = {{0xa516dd5cu, 0x9cabd041u, 0x120ea368u, 0xab4ccd92u, 0x31255ef5u, 0x79968558u, 0xc1aa6a21u, 0x2f168329u}} , .sourceIx = ty_ppw256w512w512 , .targetIx = ty_u @@ -257,3497 +257,3497 @@ } ,[COMPLEMENT_1] = { .tag = JET -, .jet = complement_1 -, .cmr = {{0x7e714813u, 0x2e289282u, 0x3fcf2a26u, 0xc6220beeu, 0x039ff6c5u, 0xd7c1b4e4u, 0xca213ad8u, 0x37ab4774u}} +, .jet = simplicity_complement_1 +, .cmr = {{0x9ea1ebfbu, 0xbf073bf0u, 0xc3126603u, 0x749c6c1fu, 0x1505039eu, 0xab4f2664u, 0x3f0330d4u, 0x8bd68494u}} , .sourceIx = ty_b , .targetIx = ty_b -, .cost = 139 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[COMPLEMENT_16] = { .tag = JET -, .jet = complement_16 -, .cmr = {{0x7f16d124u, 0x15998768u, 0x347f43a9u, 0xb91c8987u, 0x591dfec1u, 0xcf7850b4u, 0x23fea33au, 0x3726f463u}} +, .jet = simplicity_complement_16 +, .cmr = {{0x7da0cc5eu, 0x1f55036cu, 0x08646dbbu, 0x37557ad9u, 0x03386305u, 0x9dfbf34au, 0x19f228e8u, 0x96d64c0fu}} , .sourceIx = ty_w16 , .targetIx = ty_w16 -, .cost = 146 /* milli weight units */ +, .cost = 75 /* milli weight units */ } ,[COMPLEMENT_32] = { .tag = JET -, .jet = complement_32 -, .cmr = {{0xe65a4f75u, 0x5411b480u, 0xb80585fdu, 0xc02ee24cu, 0xbbd9502au, 0x48a7347au, 0x710294e7u, 0x82acffbau}} +, .jet = simplicity_complement_32 +, .cmr = {{0x5418c464u, 0xe4949721u, 0x63a3353bu, 0x8117e6e7u, 0x67491348u, 0xc0763f96u, 0x22744a83u, 0x082ef841u}} , .sourceIx = ty_w32 , .targetIx = ty_w32 -, .cost = 161 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[COMPLEMENT_64] = { .tag = JET -, .jet = complement_64 -, .cmr = {{0xd5c65713u, 0x8a6cf553u, 0x22c36e6fu, 0x3c4a0f9fu, 0xb63988a1u, 0x120d6eebu, 0x03fc427cu, 0xad971869u}} +, .jet = simplicity_complement_64 +, .cmr = {{0x004eb9edu, 0x9c10a4a5u, 0xa897948eu, 0x541d36dcu, 0x1fb650c8u, 0xda726f8du, 0xd197ce8cu, 0x7441f708u}} , .sourceIx = ty_w64 , .targetIx = ty_w64 -, .cost = 174 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[COMPLEMENT_8] = { .tag = JET -, .jet = complement_8 -, .cmr = {{0x1f5c6ab4u, 0x1d406badu, 0xfc9d5a2cu, 0x76bef7e3u, 0x287aabeeu, 0x19d0850fu, 0x09389846u, 0xeabf458eu}} +, .jet = simplicity_complement_8 +, .cmr = {{0x9476d51du, 0x6b1be44du, 0xcff21947u, 0xd5bf540au, 0x66616ff7u, 0xb9328a67u, 0xf5b83a2fu, 0x6f06f02cu}} , .sourceIx = ty_w8 , .targetIx = ty_w8 -, .cost = 139 /* milli weight units */ +, .cost = 80 /* milli weight units */ } ,[CURRENT_AMOUNT] = { .tag = JET -, .jet = current_amount -, .cmr = {{0x7631944bu, 0x936d0b7fu, 0xa92a868du, 0xd76e4d47u, 0x2936cf42u, 0x5cd86e5bu, 0x90936fbdu, 0x8d54e202u}} +, .jet = simplicity_current_amount +, .cmr = {{0xb8e324c6u, 0x45dce60eu, 0x15d0af7au, 0x67cbba87u, 0xc3c934bbu, 0xcb7c1cbau, 0x8468cf1eu, 0x4134dc21u}} , .sourceIx = ty_u , .targetIx = ty_pspbw256w256spbw256w64 -, .cost = 400 /* milli weight units */ +, .cost = 225 /* milli weight units */ } ,[CURRENT_ANNEX_HASH] = { .tag = JET -, .jet = current_annex_hash -, .cmr = {{0x45ca8294u, 0xef4d6120u, 0xe9ef59ebu, 0xeb8c51d2u, 0xc4e816f5u, 0x2d148f64u, 0x250eb8a3u, 0xaa050e18u}} +, .jet = simplicity_current_annex_hash +, .cmr = {{0x1257df7bu, 0xa03db3d8u, 0xb33d439bu, 0xb1c837cdu, 0xeb34807eu, 0x2199a150u, 0x328edd88u, 0xea3b7e54u}} , .sourceIx = ty_u , .targetIx = ty_mw256 -, .cost = 137 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[CURRENT_ASSET] = { .tag = JET -, .jet = current_asset -, .cmr = {{0x38f14f83u, 0xc6a0474cu, 0x3bc22cabu, 0x540faf66u, 0xbb06d67eu, 0xa12c0048u, 0xf475980du, 0x5c2b7c5eu}} +, .jet = simplicity_current_asset +, .cmr = {{0x35e6662cu, 0x1241ad10u, 0xf05b8012u, 0xd6dcb25cu, 0x0eaf8c4au, 0x49837927u, 0x129a84ddu, 0x0b5edcf8u}} , .sourceIx = ty_u , .targetIx = ty_spbw256w256 -, .cost = 320 /* milli weight units */ +, .cost = 171 /* milli weight units */ } ,[CURRENT_INDEX] = { .tag = JET -, .jet = current_index -, .cmr = {{0x755022edu, 0xc3fab4bcu, 0x656eedc4u, 0x617ea37du, 0x132b2c46u, 0x1740a62du, 0xcad472eau, 0x23de629eu}} +, .jet = simplicity_current_index +, .cmr = {{0x42f307e8u, 0x7117dbcdu, 0x9efd101fu, 0x994c297cu, 0xc6c39b4fu, 0x494c6259u, 0x31ead7b6u, 0x98712e3fu}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 137 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[CURRENT_ISSUANCE_ASSET_AMOUNT] = { .tag = JET -, .jet = current_issuance_asset_amount -, .cmr = {{0xeac74d4cu, 0x7de43514u, 0x164fe5aeu, 0x76016045u, 0xa68358cfu, 0x1c74241bu, 0x152ed063u, 0xac9f5e29u}} +, .jet = simplicity_current_issuance_asset_amount +, .cmr = {{0x97f69fdeu, 0xe36e7a5au, 0xea9a1648u, 0x764658afu, 0x050691a7u, 0x599db6feu, 0x8fc7d31eu, 0x003c07bcu}} , .sourceIx = ty_u , .targetIx = ty_mspbw256w64 -, .cost = 317 /* milli weight units */ +, .cost = 165 /* milli weight units */ } ,[CURRENT_ISSUANCE_ASSET_PROOF] = { .tag = JET -, .jet = current_issuance_asset_proof -, .cmr = {{0x362dfa80u, 0xda8410c5u, 0xf5066647u, 0xab642f0du, 0x6b7286acu, 0x2608b954u, 0xc3a15cdfu, 0x0f55555eu}} +, .jet = simplicity_current_issuance_asset_proof +, .cmr = {{0xb1f6334cu, 0xf068aee9u, 0xba39e0e9u, 0xce91c30bu, 0xdbb97d8cu, 0x3eb43f84u, 0xf0f484d4u, 0xde5aacfcu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 301 /* milli weight units */ +, .cost = 140 /* milli weight units */ } ,[CURRENT_ISSUANCE_TOKEN_AMOUNT] = { .tag = JET -, .jet = current_issuance_token_amount -, .cmr = {{0x859241c0u, 0x4b8f0dc7u, 0x3072aed7u, 0x838067fau, 0x70a4ca52u, 0x16f39713u, 0xf12f5fc5u, 0xa4aead7du}} +, .jet = simplicity_current_issuance_token_amount +, .cmr = {{0x9894c429u, 0x55f03d83u, 0x17649b6au, 0xfd7057d7u, 0xb3c4bcefu, 0x152ac9a0u, 0x084d0d21u, 0x6afb11feu}} , .sourceIx = ty_u , .targetIx = ty_mspbw256w64 -, .cost = 326 /* milli weight units */ +, .cost = 188 /* milli weight units */ } ,[CURRENT_ISSUANCE_TOKEN_PROOF] = { .tag = JET -, .jet = current_issuance_token_proof -, .cmr = {{0x1b7ea16fu, 0x032f37dcu, 0x2ae103e6u, 0x962c5a90u, 0x42af295bu, 0x4a703a3cu, 0x842e6295u, 0x15ad24cbu}} +, .jet = simplicity_current_issuance_token_proof +, .cmr = {{0x3f54b3cfu, 0xb89278b0u, 0xea7780ccu, 0x32d6e386u, 0x2ed463d4u, 0x5162ad96u, 0xce5709fau, 0x6fc16fb6u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 288 /* milli weight units */ +, .cost = 144 /* milli weight units */ } ,[CURRENT_NEW_ISSUANCE_CONTRACT] = { .tag = JET -, .jet = current_new_issuance_contract -, .cmr = {{0x0baa8735u, 0xa3029084u, 0x857cc974u, 0x9bbc7f19u, 0x851bc78fu, 0xbecdce1fu, 0x0dd6757bu, 0x7b8f3f30u}} +, .jet = simplicity_current_new_issuance_contract +, .cmr = {{0xc5f159dcu, 0xdb5a40b9u, 0x4d068d35u, 0x97af82afu, 0x53d17175u, 0x83f75cebu, 0x1051875du, 0x08cd262fu}} , .sourceIx = ty_u , .targetIx = ty_mw256 -, .cost = 293 /* milli weight units */ +, .cost = 145 /* milli weight units */ } ,[CURRENT_PEGIN] = { .tag = JET -, .jet = current_pegin -, .cmr = {{0x9807ac5eu, 0xb07ba24fu, 0xb021b74au, 0xe6874f3bu, 0xc9b393c6u, 0x6c4f5d22u, 0xf05546e2u, 0xea08d760u}} +, .jet = simplicity_current_pegin +, .cmr = {{0xfb2bec4fu, 0x68964d0au, 0x3f5f6934u, 0x7ca56f20u, 0x4090c8abu, 0x33ad7af4u, 0xf405890du, 0x4b9fdd12u}} , .sourceIx = ty_u , .targetIx = ty_mw256 -, .cost = 303 /* milli weight units */ +, .cost = 147 /* milli weight units */ } ,[CURRENT_PREV_OUTPOINT] = { .tag = JET -, .jet = current_prev_outpoint -, .cmr = {{0x0877b36fu, 0x656c2489u, 0x13254415u, 0x92df56e2u, 0xbbecf24du, 0x0acd0b78u, 0xfc9438b7u, 0x773a9eb4u}} +, .jet = simplicity_current_prev_outpoint +, .cmr = {{0x53f48945u, 0x6a6b161cu, 0xd903ba19u, 0x6ea154d8u, 0x3cb26568u, 0x9c815f61u, 0x030e72fdu, 0x6c26dc55u}} , .sourceIx = ty_u , .targetIx = ty_pw256w32 -, .cost = 312 /* milli weight units */ +, .cost = 156 /* milli weight units */ } ,[CURRENT_REISSUANCE_BLINDING] = { .tag = JET -, .jet = current_reissuance_blinding -, .cmr = {{0xc8d3e808u, 0x87505aa7u, 0xf583ac6bu, 0xe47182ecu, 0xbc685cc3u, 0xc4a6acaau, 0x8e2c1329u, 0xe35d2930u}} +, .jet = simplicity_current_reissuance_blinding +, .cmr = {{0x07ee51b2u, 0x4b56e0e2u, 0x58d7e730u, 0x407d65edu, 0xf99dcaddu, 0x9d7c5af0u, 0x2ded9249u, 0x9a06feabu}} , .sourceIx = ty_u , .targetIx = ty_mw256 -, .cost = 148 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[CURRENT_REISSUANCE_ENTROPY] = { .tag = JET -, .jet = current_reissuance_entropy -, .cmr = {{0x4f241095u, 0x401ceea8u, 0x312d2f42u, 0xbeae8d88u, 0x0acfe189u, 0x33630d7bu, 0x8216c537u, 0x623e2af7u}} +, .jet = simplicity_current_reissuance_entropy +, .cmr = {{0x5038969eu, 0x77862fbdu, 0x4d493919u, 0x159fc102u, 0xd3e282dbu, 0x64057248u, 0x466d7cdcu, 0x3f0ca9b5u}} , .sourceIx = ty_u , .targetIx = ty_mw256 -, .cost = 139 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[CURRENT_SCRIPT_HASH] = { .tag = JET -, .jet = current_script_hash -, .cmr = {{0xcd5ea7fbu, 0x0910f76eu, 0x76c6ea68u, 0xd0e2cad1u, 0x34cbb642u, 0x823bc43cu, 0x0423852fu, 0x37b7e25au}} +, .jet = simplicity_current_script_hash +, .cmr = {{0xf5e8d2a3u, 0x2839259du, 0x1c3d0946u, 0x51bd4fe6u, 0xdc80ee89u, 0x3b72bb68u, 0x3a8540feu, 0x7630cbe9u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 305 /* milli weight units */ +, .cost = 134 /* milli weight units */ } ,[CURRENT_SCRIPT_SIG_HASH] = { .tag = JET -, .jet = current_script_sig_hash -, .cmr = {{0x17ad01cau, 0xe293427bu, 0xe2505af2u, 0xfe4c3e65u, 0x125fc3ddu, 0xe27a1143u, 0x788fa136u, 0x0f1c3751u}} +, .jet = simplicity_current_script_sig_hash +, .cmr = {{0x6aa9bb64u, 0x101ee0b9u, 0xb9dc454cu, 0xf1ee1aa8u, 0x326d6411u, 0x95e5a0aau, 0x6c811b3du, 0xbfe3ef2bu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 298 /* milli weight units */ +, .cost = 139 /* milli weight units */ } ,[CURRENT_SEQUENCE] = { .tag = JET -, .jet = current_sequence -, .cmr = {{0x79ce41eeu, 0x05c97335u, 0xdc73515cu, 0x2934c91cu, 0x2e2dca6eu, 0x73c335eau, 0x4f43e0fau, 0x88de00f6u}} +, .jet = simplicity_current_sequence +, .cmr = {{0x99c0da7eu, 0xb25783abu, 0x3a24a54cu, 0xda8f8a87u, 0x5ac5a994u, 0x5f24e3fcu, 0x01960c26u, 0x64c5b78du}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 138 /* milli weight units */ +, .cost = 89 /* milli weight units */ } ,[DECOMPRESS] = { .tag = JET -, .jet = decompress -, .cmr = {{0xa43c3926u, 0x7facd1e2u, 0xb6d42c76u, 0x15ad3f28u, 0x68637572u, 0xf46e1879u, 0x4e3475b9u, 0xb2eaef84u}} +, .jet = simplicity_decompress +, .cmr = {{0xcabe595cu, 0xb7bbb3a1u, 0x39a7796eu, 0x433ad0b6u, 0xc74d073fu, 0x001e8c08u, 0x0c800a78u, 0x2c7e7904u}} , .sourceIx = ty_pbw256 , .targetIx = ty_mw512 -, .cost = 10956 /* milli weight units */ +, .cost = 10861 /* milli weight units */ } ,[DECREMENT_16] = { .tag = JET -, .jet = decrement_16 -, .cmr = {{0x196b2dc6u, 0x32e6c5d0u, 0x94ff9d34u, 0xa2092b80u, 0x5e4b94d0u, 0x36ba4826u, 0xacefed60u, 0x3a489dc7u}} +, .jet = simplicity_decrement_16 +, .cmr = {{0x2504101bu, 0x7da5ce31u, 0x1743cf5bu, 0x3a7a6bb9u, 0xd57c24aeu, 0xbbb67662u, 0xd53cda2cu, 0x9ac2700cu}} , .sourceIx = ty_w16 , .targetIx = ty_pbw16 -, .cost = 116 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[DECREMENT_32] = { .tag = JET -, .jet = decrement_32 -, .cmr = {{0x29b31592u, 0x66e9f608u, 0x80884f6eu, 0xb2816f19u, 0xa207291cu, 0x829fd139u, 0xfb0d78a3u, 0x9e08d0c5u}} +, .jet = simplicity_decrement_32 +, .cmr = {{0x4aec4105u, 0x531f2457u, 0x10acb3c3u, 0x30ad25fbu, 0x2901b354u, 0x83efbdcau, 0x52e19179u, 0xa4262c5bu}} , .sourceIx = ty_w32 , .targetIx = ty_pbw32 -, .cost = 159 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[DECREMENT_64] = { .tag = JET -, .jet = decrement_64 -, .cmr = {{0x67175a67u, 0x6dc1780au, 0x20faf5e5u, 0xaad582ecu, 0x797baea5u, 0x5f2905ecu, 0xad2aaa1au, 0xe76be943u}} +, .jet = simplicity_decrement_64 +, .cmr = {{0x983acb90u, 0x6de7bbf8u, 0x31dea562u, 0x75f085fdu, 0x5acddc51u, 0x9b648f3eu, 0x10e3212du, 0x0d6dcd74u}} , .sourceIx = ty_w64 , .targetIx = ty_pbw64 -, .cost = 160 /* milli weight units */ +, .cost = 89 /* milli weight units */ } ,[DECREMENT_8] = { .tag = JET -, .jet = decrement_8 -, .cmr = {{0x2b5911e6u, 0x67e696f9u, 0xcd03e9dfu, 0x7d400a55u, 0x45e7e974u, 0x4afbf92eu, 0x0ba87f6cu, 0x7cc44287u}} +, .jet = simplicity_decrement_8 +, .cmr = {{0xa75b1c5du, 0x93fe91e2u, 0xc9efd324u, 0x240c84feu, 0xe47332d1u, 0x214239c8u, 0x7f5afbcbu, 0x69128c31u}} , .sourceIx = ty_w8 , .targetIx = ty_pbw8 -, .cost = 195 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[DIV_MOD_128_64] = { .tag = JET -, .jet = div_mod_128_64 -, .cmr = {{0x1ee3e60fu, 0x5c9e4f0du, 0x3ec9ebeau, 0x3698eca8u, 0xbd32ac16u, 0x7e69b296u, 0xab9c1836u, 0xb6101d04u}} +, .jet = simplicity_div_mod_128_64 +, .cmr = {{0xe1fb881fu, 0x23bdc57fu, 0x8423c61cu, 0xfe622391u, 0x5c76eb2fu, 0x525c41e2u, 0xa2221c78u, 0xb7ffafb7u}} , .sourceIx = ty_pw128w64 , .targetIx = ty_w128 -, .cost = 220 /* milli weight units */ +, .cost = 208 /* milli weight units */ } ,[DIV_MOD_16] = { .tag = JET -, .jet = div_mod_16 -, .cmr = {{0x1585d1bfu, 0xe952f71bu, 0x1cfebbefu, 0x292ced56u, 0x60915723u, 0x05182720u, 0x625a1ac0u, 0x0881a489u}} +, .jet = simplicity_div_mod_16 +, .cmr = {{0x6e04ad32u, 0x8fba2d24u, 0xefad2cb4u, 0x0bcad824u, 0x42ce35b1u, 0x2fcf6f80u, 0x022f52fau, 0x7718a0fau}} , .sourceIx = ty_w32 , .targetIx = ty_w32 -, .cost = 223 /* milli weight units */ +, .cost = 118 /* milli weight units */ } ,[DIV_MOD_32] = { .tag = JET -, .jet = div_mod_32 -, .cmr = {{0xbab7bc9au, 0x9f644edcu, 0xba73e330u, 0xc1a50543u, 0x67f5fb86u, 0x78c1236au, 0xb6e7f4d7u, 0x1860e002u}} +, .jet = simplicity_div_mod_32 +, .cmr = {{0x5a5cc94fu, 0x74b313c2u, 0x60a10e2au, 0x28db2ea0u, 0xf8c34156u, 0x23dac212u, 0xdfe0ef9du, 0x195f9d05u}} , .sourceIx = ty_w64 , .targetIx = ty_w64 -, .cost = 198 /* milli weight units */ +, .cost = 115 /* milli weight units */ } ,[DIV_MOD_64] = { .tag = JET -, .jet = div_mod_64 -, .cmr = {{0x8db4664du, 0x99e8c878u, 0xef31ebf1u, 0xaca6a876u, 0x4b58495du, 0xa0ecc032u, 0xb3c9b489u, 0xaaa0ff90u}} +, .jet = simplicity_div_mod_64 +, .cmr = {{0xefb5af40u, 0x154a2d63u, 0xda285f2au, 0x2b5ad085u, 0xd9a2fa63u, 0x3f2a7362u, 0x83404854u, 0x306cef50u}} , .sourceIx = ty_w128 , .targetIx = ty_w128 -, .cost = 220 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[DIV_MOD_8] = { .tag = JET -, .jet = div_mod_8 -, .cmr = {{0x25f3694bu, 0x752e4df1u, 0xb0cc8c51u, 0xbf9917efu, 0x6e11c52eu, 0xa777353eu, 0x9507e819u, 0xa8066295u}} +, .jet = simplicity_div_mod_8 +, .cmr = {{0xaffb7ab0u, 0x1d9adf1au, 0xf45c9a0eu, 0x598d54a5u, 0xeb29a6d6u, 0x3f0594dcu, 0x624f8e44u, 0x6f42a45du}} , .sourceIx = ty_w16 , .targetIx = ty_w16 -, .cost = 141 /* milli weight units */ +, .cost = 128 /* milli weight units */ } ,[DIVIDE_16] = { .tag = JET -, .jet = divide_16 -, .cmr = {{0x2dc3e9a9u, 0xc61dc88du, 0xd744f16bu, 0xe1aed4b7u, 0x2ab47949u, 0x0e414226u, 0x58b97219u, 0xdf49957cu}} +, .jet = simplicity_divide_16 +, .cmr = {{0x98f1f926u, 0x0df1d9e9u, 0x729d037du, 0x8f30537eu, 0xde609c5au, 0xb9463270u, 0x70892cc4u, 0x0d420aaau}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 188 /* milli weight units */ +, .cost = 98 /* milli weight units */ } ,[DIVIDE_32] = { .tag = JET -, .jet = divide_32 -, .cmr = {{0xf6dcf4bdu, 0x8d9b5effu, 0x751e9b01u, 0x47a98e0fu, 0xc4c8872cu, 0x1ab782d1u, 0xebec6383u, 0xa09b780au}} +, .jet = simplicity_divide_32 +, .cmr = {{0x20180303u, 0x0cc9877du, 0x3496e9e1u, 0xbfd5ae32u, 0x8a5062e3u, 0xc0237003u, 0x1ae1addfu, 0xef938155u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 225 /* milli weight units */ +, .cost = 100 /* milli weight units */ } ,[DIVIDE_64] = { .tag = JET -, .jet = divide_64 -, .cmr = {{0x8a94518bu, 0x9b76179au, 0x9d5c1e31u, 0x6e690062u, 0x7f5b6e3eu, 0xcc668fe2u, 0xd0c5d562u, 0x38e33ea3u}} +, .jet = simplicity_divide_64 +, .cmr = {{0x02bf0b2au, 0x31796c47u, 0x5af1fd0fu, 0xb8edafedu, 0x4f4e7ae1u, 0xecf8cec9u, 0xf422964eu, 0x0903036fu}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 202 /* milli weight units */ +, .cost = 101 /* milli weight units */ } ,[DIVIDE_8] = { .tag = JET -, .jet = divide_8 -, .cmr = {{0xd716000cu, 0xe7e57278u, 0x84a6d797u, 0x6a32c0f6u, 0xbdb881d0u, 0x0fe8dbb2u, 0x8dea3701u, 0x03769e2du}} +, .jet = simplicity_divide_8 +, .cmr = {{0xc02ec480u, 0xbf0b5958u, 0x6e394adbu, 0x2c91cadau, 0x14ed79a7u, 0x9e0e3919u, 0xe7667492u, 0xcbf24738u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 125 /* milli weight units */ +, .cost = 108 /* milli weight units */ } ,[DIVIDES_16] = { .tag = JET -, .jet = divides_16 -, .cmr = {{0x8f4184a5u, 0x82674e00u, 0x3b37401bu, 0x13c9b8c3u, 0x7c683b88u, 0xdf633a22u, 0x719a23e1u, 0x94bda6f3u}} +, .jet = simplicity_divides_16 +, .cmr = {{0xde9a8e43u, 0x53a40d70u, 0x78119647u, 0x05906273u, 0x0cf836f5u, 0x47a0952du, 0x070a2748u, 0x0c7439b1u}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 173 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[DIVIDES_32] = { .tag = JET -, .jet = divides_32 -, .cmr = {{0xe89ecdc3u, 0x7cd10466u, 0xb00f0137u, 0xe20b09b9u, 0xc5948d07u, 0x312d053fu, 0xed63c491u, 0xbb5c4c6au}} +, .jet = simplicity_divides_32 +, .cmr = {{0x72c7148bu, 0xc0014a1bu, 0xbf0e2b7du, 0xc9aba4d0u, 0x62041738u, 0x36718813u, 0x203e55a0u, 0x7f4ca37du}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 175 /* milli weight units */ +, .cost = 87 /* milli weight units */ } ,[DIVIDES_64] = { .tag = JET -, .jet = divides_64 -, .cmr = {{0xb43198d5u, 0x74419057u, 0xe76bc069u, 0xd7d3e2cbu, 0x04f7072bu, 0x80696d3du, 0xb92c8a72u, 0xc78a5cfcu}} +, .jet = simplicity_divides_64 +, .cmr = {{0xdb1c8cb5u, 0x3ac1ea8cu, 0xcf646d03u, 0xe3d59bdeu, 0x2775f58du, 0x95bfe71au, 0x870d678du, 0xd8dbc931u}} , .sourceIx = ty_w128 , .targetIx = ty_b -, .cost = 246 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[DIVIDES_8] = { .tag = JET -, .jet = divides_8 -, .cmr = {{0x3fc3b9b4u, 0x968e1674u, 0xda9ec457u, 0xb1ca8a66u, 0x29a37b4bu, 0xefdcd7ccu, 0x55886080u, 0xaef68af8u}} +, .jet = simplicity_divides_8 +, .cmr = {{0xc54a5bf8u, 0x33afaba3u, 0x1a3489bdu, 0x8de8ff81u, 0xe7dc11fcu, 0xbde82a0du, 0x28e10922u, 0x4294b837u}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 142 /* milli weight units */ +, .cost = 98 /* milli weight units */ } ,[EQ_1] = { .tag = JET -, .jet = eq_1 -, .cmr = {{0x4249c5bdu, 0xec540a06u, 0x957dcdabu, 0x045a445eu, 0xb91891c0u, 0x6c3f8f96u, 0xc888e9ddu, 0xd2fbaa28u}} +, .jet = simplicity_eq_1 +, .cmr = {{0x8ce146afu, 0xbc2b64cbu, 0x549b160cu, 0x2cf7c949u, 0x64ab931au, 0xd9c39276u, 0xc7f204eeu, 0x34a51e65u}} , .sourceIx = ty_w2 , .targetIx = ty_b -, .cost = 120 /* milli weight units */ +, .cost = 74 /* milli weight units */ } ,[EQ_16] = { .tag = JET -, .jet = eq_16 -, .cmr = {{0xab31a797u, 0x4acbf72au, 0xb2f21bf5u, 0x3fec346au, 0x28e6e65eu, 0x4c05e3e7u, 0x843e1473u, 0xb1fd3ff9u}} +, .jet = simplicity_eq_16 +, .cmr = {{0x24f1acb6u, 0xd16b3be5u, 0xde47fe83u, 0x4328fb51u, 0x0495fbbau, 0x72cd1dc8u, 0x9a33983fu, 0x8c8733edu}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 174 /* milli weight units */ +, .cost = 84 /* milli weight units */ } ,[EQ_256] = { .tag = JET -, .jet = eq_256 -, .cmr = {{0xf7df29edu, 0x2d007822u, 0x7e719b7du, 0x1337dbeau, 0x3a710f58u, 0x4a4b07f0u, 0xf2654a44u, 0x6554f2beu}} +, .jet = simplicity_eq_256 +, .cmr = {{0xf32e9b6cu, 0x912c50ddu, 0x9a2410c8u, 0x024b4548u, 0x0707d9b3u, 0x714b5249u, 0xc5f301f2u, 0x1db3e62bu}} , .sourceIx = ty_w512 , .targetIx = ty_b -, .cost = 431 /* milli weight units */ +, .cost = 225 /* milli weight units */ } ,[EQ_32] = { .tag = JET -, .jet = eq_32 -, .cmr = {{0x76791f0du, 0xddab9dc7u, 0x7a14a68cu, 0xc67787c9u, 0x84493faeu, 0xbbdbb6d6u, 0xd493352eu, 0x114720d5u}} +, .jet = simplicity_eq_32 +, .cmr = {{0x03435756u, 0xec244c99u, 0xff733221u, 0x57c26c36u, 0x6bf52efbu, 0x314dce0cu, 0x2361dd53u, 0x491aa4beu}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 233 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[EQ_64] = { .tag = JET -, .jet = eq_64 -, .cmr = {{0x011b5f4cu, 0xb31f34bau, 0x158a6822u, 0x3b34445eu, 0x93f3dc18u, 0x91b53390u, 0x04923dcfu, 0xabe034c1u}} +, .jet = simplicity_eq_64 +, .cmr = {{0x7da46758u, 0x80609366u, 0xd74d530cu, 0xa164a0e0u, 0x9ac9ce76u, 0xf4f9e943u, 0x22063cb3u, 0x26fef6bbu}} , .sourceIx = ty_w128 , .targetIx = ty_b -, .cost = 202 /* milli weight units */ +, .cost = 100 /* milli weight units */ } ,[EQ_8] = { .tag = JET -, .jet = eq_8 -, .cmr = {{0x0f8b1fdeu, 0x1949bebdu, 0x47d2554au, 0x4807fd8du, 0xcaef8730u, 0x1838d60eu, 0x84c73814u, 0x42da7eceu}} +, .jet = simplicity_eq_8 +, .cmr = {{0x9b50fe9du, 0x35b10a3du, 0xb866311cu, 0x537135d0u, 0x80e46143u, 0x68db2884u, 0x33d8bc64u, 0x9b9f8662u}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 120 /* milli weight units */ +, .cost = 95 /* milli weight units */ } ,[FE_ADD] = { .tag = JET -, .jet = fe_add -, .cmr = {{0xa5e921d4u, 0xd2959af7u, 0x833df930u, 0x83689857u, 0x32ab0f33u, 0xbad8aa34u, 0x5b39f303u, 0x032be7aeu}} +, .jet = simplicity_fe_add +, .cmr = {{0xacadfcf4u, 0x805626e3u, 0x74590f33u, 0xcad7a983u, 0xa7320ac8u, 0x1ced3d02u, 0x54dc97e3u, 0xa2535a82u}} , .sourceIx = ty_w512 , .targetIx = ty_w256 -, .cost = 908 /* milli weight units */ +, .cost = 755 /* milli weight units */ } ,[FE_INVERT] = { .tag = JET -, .jet = fe_invert -, .cmr = {{0x21f42956u, 0x9d78e09fu, 0xb29013efu, 0x8a16c755u, 0x0edc4e19u, 0x0525715au, 0xbfb0c19bu, 0x21cfd9c2u}} +, .jet = simplicity_fe_invert +, .cmr = {{0x2ea76f67u, 0x975fcea3u, 0xbd46fbb1u, 0x4de81f49u, 0xfd08efcbu, 0xc0875ab2u, 0x1dc98976u, 0xa5309322u}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 3375 /* milli weight units */ +, .cost = 3175 /* milli weight units */ } ,[FE_IS_ODD] = { .tag = JET -, .jet = fe_is_odd -, .cmr = {{0x21d35d0au, 0x657f5defu, 0xacde6da3u, 0xfdb48d67u, 0x56f30690u, 0xb40270f0u, 0x1017e7e3u, 0x48d7585du}} +, .jet = simplicity_fe_is_odd +, .cmr = {{0x7edef020u, 0x5d4b8041u, 0x82369c31u, 0xc2190246u, 0x9b0f7a5bu, 0x29b5df90u, 0xc33f4bdau, 0xa05d7c03u}} , .sourceIx = ty_w256 , .targetIx = ty_b -, .cost = 544 /* milli weight units */ +, .cost = 290 /* milli weight units */ } ,[FE_IS_ZERO] = { .tag = JET -, .jet = fe_is_zero -, .cmr = {{0xf5716282u, 0xba0d26bdu, 0x0671cdfeu, 0x1f118f45u, 0xbae79d10u, 0x9a6d9f39u, 0x7a4c4554u, 0x6f62af00u}} +, .jet = simplicity_fe_is_zero +, .cmr = {{0xa9430364u, 0x2e1a0f47u, 0x7915a2d2u, 0x51f8455cu, 0x56877ecau, 0x79ba40adu, 0xc382268cu, 0xab2d63b7u}} , .sourceIx = ty_w256 , .targetIx = ty_b -, .cost = 521 /* milli weight units */ +, .cost = 268 /* milli weight units */ } ,[FE_MULTIPLY] = { .tag = JET -, .jet = fe_multiply -, .cmr = {{0xc176969cu, 0x337fbc6bu, 0x5ac8ed3eu, 0xa28ab3fdu, 0x94782064u, 0x3195d73bu, 0x862018f7u, 0x08487d23u}} +, .jet = simplicity_fe_multiply +, .cmr = {{0xac64d534u, 0x72aba489u, 0xa8acf3acu, 0x8ac79e8bu, 0x1182433eu, 0x5350c4c3u, 0x782d45adu, 0xf1c56dcbu}} , .sourceIx = ty_w512 , .targetIx = ty_w256 -, .cost = 975 /* milli weight units */ +, .cost = 808 /* milli weight units */ } ,[FE_MULTIPLY_BETA] = { .tag = JET -, .jet = fe_multiply_beta -, .cmr = {{0xc0fc7666u, 0x8d99d407u, 0x3f399344u, 0x3a68980bu, 0xa96e9760u, 0x1ed1a919u, 0xc4a23305u, 0x7b66fe23u}} +, .jet = simplicity_fe_multiply_beta +, .cmr = {{0xca2ea797u, 0xbe89e41du, 0xb51586eau, 0xdde33638u, 0x11d01d5du, 0x4c6142f5u, 0x7e1b99f2u, 0xae03061cu}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 824 /* milli weight units */ +, .cost = 579 /* milli weight units */ } ,[FE_NEGATE] = { .tag = JET -, .jet = fe_negate -, .cmr = {{0xd6ef8fc2u, 0x275ddf70u, 0x58b5e499u, 0xf10dd284u, 0x66f57b72u, 0x53a54407u, 0x798a4772u, 0x592184b9u}} +, .jet = simplicity_fe_negate +, .cmr = {{0x0142ba1au, 0x10131357u, 0x813b09f9u, 0xce18c06bu, 0x4bab742cu, 0xb485d179u, 0x8b4a313au, 0x9293fa7eu}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 846 /* milli weight units */ +, .cost = 531 /* milli weight units */ } ,[FE_NORMALIZE] = { .tag = JET -, .jet = fe_normalize -, .cmr = {{0xf498bcdfu, 0xf3506788u, 0x1bd96ee1u, 0xc91f4367u, 0x1e79186eu, 0x700ec4dau, 0x2dc0296au, 0x2dea91c7u}} +, .jet = simplicity_fe_normalize +, .cmr = {{0x70e55707u, 0x9639411du, 0xab31b3e4u, 0xf4b5605au, 0x4b15593au, 0x1af79bbdu, 0xd9f9a110u, 0xa85b2581u}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 813 /* milli weight units */ +, .cost = 521 /* milli weight units */ } ,[FE_SQUARE] = { .tag = JET -, .jet = fe_square -, .cmr = {{0x168a11b1u, 0x9c0fb97fu, 0x1099f863u, 0xa4c8e2f8u, 0x12425fbdu, 0x3d01bdedu, 0x3f460cb3u, 0x59bfdd89u}} +, .jet = simplicity_fe_square +, .cmr = {{0xcfa02a6au, 0x95091b14u, 0x970007b9u, 0x1a01ba12u, 0x57fe3b84u, 0x9563cf42u, 0xd06494c3u, 0xb8d04f9du}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 829 /* milli weight units */ +, .cost = 556 /* milli weight units */ } ,[FE_SQUARE_ROOT] = { .tag = JET -, .jet = fe_square_root -, .cmr = {{0x3b46cde3u, 0x0674b777u, 0x16f2c8f6u, 0x14adbd16u, 0x61985d82u, 0xc55304d5u, 0x6e53ef5cu, 0x74c83e83u}} +, .jet = simplicity_fe_square_root +, .cmr = {{0xf51d5ed2u, 0x19bc8941u, 0xb2412957u, 0x2e84baf8u, 0x1a8cd2feu, 0x0e4ef238u, 0x869cb2dau, 0x296b0fa8u}} , .sourceIx = ty_w256 , .targetIx = ty_mw256 -, .cost = 10698 /* milli weight units */ +, .cost = 10275 /* milli weight units */ } ,[FULL_ADD_16] = { .tag = JET -, .jet = full_add_16 -, .cmr = {{0xf454a632u, 0xfd1928cdu, 0x6f070df6u, 0x8014288eu, 0x97b3e582u, 0xe7f03e98u, 0xed3234b6u, 0x282d0294u}} +, .jet = simplicity_full_add_16 +, .cmr = {{0xd3992e38u, 0xab1ef2c3u, 0x83813041u, 0xdb1369ddu, 0xd5c3aa81u, 0xae9024c5u, 0xea266119u, 0x6bd11f01u}} , .sourceIx = ty_pbw32 , .targetIx = ty_pbw16 -, .cost = 193 /* milli weight units */ +, .cost = 121 /* milli weight units */ } ,[FULL_ADD_32] = { .tag = JET -, .jet = full_add_32 -, .cmr = {{0x9606b9e6u, 0x541e0356u, 0xed7608d5u, 0xbc6f9d4eu, 0xf68e0a3du, 0x235168d9u, 0xe75cae66u, 0x52dd0634u}} +, .jet = simplicity_full_add_32 +, .cmr = {{0x462b9c3bu, 0xa6576c11u, 0x14553377u, 0x5bdf955bu, 0x60482e6eu, 0x3080a819u, 0xf5cc73a5u, 0xca6830c1u}} , .sourceIx = ty_pbw64 , .targetIx = ty_pbw32 -, .cost = 197 /* milli weight units */ +, .cost = 119 /* milli weight units */ } ,[FULL_ADD_64] = { .tag = JET -, .jet = full_add_64 -, .cmr = {{0xf0f79532u, 0x001c02afu, 0xac650a62u, 0x801932afu, 0xc2c1b286u, 0xa31fef7au, 0xe08a47eau, 0x1e71387du}} +, .jet = simplicity_full_add_64 +, .cmr = {{0xc0fc7999u, 0xd91ca6f7u, 0xb5f872eeu, 0x6a8e08eau, 0x2a11af7bu, 0x92e7de60u, 0x251719d7u, 0x85b5f3e2u}} , .sourceIx = ty_pbw128 , .targetIx = ty_pbw64 -, .cost = 225 /* milli weight units */ +, .cost = 121 /* milli weight units */ } ,[FULL_ADD_8] = { .tag = JET -, .jet = full_add_8 -, .cmr = {{0xcdd080fdu, 0x8612e7d1u, 0x4ada3491u, 0x64a6d5afu, 0x6054d673u, 0x77e17665u, 0xc4722040u, 0x28bc2125u}} +, .jet = simplicity_full_add_8 +, .cmr = {{0x2714ecbbu, 0x324fb9fbu, 0x719e0971u, 0x6bdbdfb5u, 0x6466cb4fu, 0x41f901b1u, 0x6678b002u, 0x161741afu}} , .sourceIx = ty_pbw16 , .targetIx = ty_pbw8 -, .cost = 190 /* milli weight units */ +, .cost = 127 /* milli weight units */ } ,[FULL_DECREMENT_16] = { .tag = JET -, .jet = full_decrement_16 -, .cmr = {{0xa7d1b9a6u, 0x09dcd367u, 0x66a167a3u, 0x7aa0e649u, 0xfbdd75f6u, 0x4691a9fbu, 0x6bf1663du, 0x329282a8u}} +, .jet = simplicity_full_decrement_16 +, .cmr = {{0xbd0dd691u, 0xf8554447u, 0x04d9bbc2u, 0xeaf029c6u, 0xca5b45cfu, 0x92441f7fu, 0x68b478b6u, 0x11b59728u}} , .sourceIx = ty_pbw16 , .targetIx = ty_pbw16 -, .cost = 107 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[FULL_DECREMENT_32] = { .tag = JET -, .jet = full_decrement_32 -, .cmr = {{0xcbcfd7cau, 0x7372b2b1u, 0x80008e51u, 0x589880d3u, 0xb5399bd9u, 0xa8ddb9bcu, 0xda6132c2u, 0x2c777e0fu}} +, .jet = simplicity_full_decrement_32 +, .cmr = {{0x2788c3a0u, 0x1735a64cu, 0x0c361903u, 0xd71e21ceu, 0x1005ce35u, 0x74e69a2au, 0x680b873eu, 0x5f73766au}} , .sourceIx = ty_pbw32 , .targetIx = ty_pbw32 -, .cost = 153 /* milli weight units */ +, .cost = 107 /* milli weight units */ } ,[FULL_DECREMENT_64] = { .tag = JET -, .jet = full_decrement_64 -, .cmr = {{0x42df92d2u, 0xe7f42e57u, 0x9bd4c430u, 0x8cd2db6eu, 0x76774695u, 0xd6a56950u, 0xc5cf9203u, 0x002d41aau}} +, .jet = simplicity_full_decrement_64 +, .cmr = {{0x144bf9feu, 0x04ba8c93u, 0xa7835b16u, 0x36ae8f7du, 0x505c0508u, 0x92ddbcc8u, 0xf9725f6bu, 0x09c3e47cu}} , .sourceIx = ty_pbw64 , .targetIx = ty_pbw64 -, .cost = 151 /* milli weight units */ +, .cost = 81 /* milli weight units */ } ,[FULL_DECREMENT_8] = { .tag = JET -, .jet = full_decrement_8 -, .cmr = {{0xff58dd01u, 0x62bce9fbu, 0x73ed015bu, 0x7e5d3d1du, 0xc11b505cu, 0x932d490cu, 0xaadc1b5du, 0x893d1fadu}} +, .jet = simplicity_full_decrement_8 +, .cmr = {{0x3b0d4c9au, 0x02bdd903u, 0xb12f49b8u, 0xcad0e3f0u, 0x6cb9bcb6u, 0xc8b19895u, 0x6dffce48u, 0x908a63f1u}} , .sourceIx = ty_pbw8 , .targetIx = ty_pbw8 -, .cost = 218 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[FULL_INCREMENT_16] = { .tag = JET -, .jet = full_increment_16 -, .cmr = {{0x5453608eu, 0xeff967afu, 0xef4ae583u, 0x1aa7a9fcu, 0x75c2ba57u, 0xe1ac412au, 0xb5464d4du, 0xe93af4f9u}} +, .jet = simplicity_full_increment_16 +, .cmr = {{0x91818a49u, 0xe95e228cu, 0x3b51c730u, 0x9b3dc685u, 0xccc2bda1u, 0xfb3cddc0u, 0xcf24a5c5u, 0x9d77e7eau}} , .sourceIx = ty_pbw16 , .targetIx = ty_pbw16 -, .cost = 108 /* milli weight units */ +, .cost = 89 /* milli weight units */ } ,[FULL_INCREMENT_32] = { .tag = JET -, .jet = full_increment_32 -, .cmr = {{0x36323321u, 0x58f90ba4u, 0xdf623f08u, 0x6808d1d3u, 0x39f36d9au, 0x6f922723u, 0x3416f234u, 0xcdd25d98u}} +, .jet = simplicity_full_increment_32 +, .cmr = {{0x704704c6u, 0xd7f757eeu, 0xe9f88b2bu, 0x327bc117u, 0x43cbd9a7u, 0x5deca2e9u, 0x6d628d53u, 0x13e61630u}} , .sourceIx = ty_pbw32 , .targetIx = ty_pbw32 -, .cost = 171 /* milli weight units */ +, .cost = 104 /* milli weight units */ } ,[FULL_INCREMENT_64] = { .tag = JET -, .jet = full_increment_64 -, .cmr = {{0x0637fcc5u, 0x52f62a8au, 0x08c6d070u, 0x667ed80eu, 0x47ba707cu, 0x120c4d65u, 0x6604a343u, 0x3bfc40a6u}} +, .jet = simplicity_full_increment_64 +, .cmr = {{0x999cadeau, 0x9cf0bddau, 0xab12a398u, 0xcf52d18eu, 0x08fb5c18u, 0x5dca00f3u, 0x5ede6327u, 0x7e9bac4eu}} , .sourceIx = ty_pbw64 , .targetIx = ty_pbw64 -, .cost = 161 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[FULL_INCREMENT_8] = { .tag = JET -, .jet = full_increment_8 -, .cmr = {{0x291524e1u, 0x70d523fdu, 0x35c2577bu, 0x8ea3f447u, 0x8ec63206u, 0xc98fb5ccu, 0xcf77c209u, 0xbebd29efu}} +, .jet = simplicity_full_increment_8 +, .cmr = {{0x2d645cb4u, 0x778da17au, 0x0dad326fu, 0xfedc2b04u, 0xf62d027du, 0x7b40560du, 0x16cd649fu, 0xd5a4d72au}} , .sourceIx = ty_pbw8 , .targetIx = ty_pbw8 -, .cost = 204 /* milli weight units */ +, .cost = 72 /* milli weight units */ } ,[FULL_LEFT_SHIFT_16_1] = { .tag = JET -, .jet = full_left_shift_16_1 -, .cmr = {{0x740e2381u, 0x1b3e62d4u, 0x91510fc9u, 0xedc4cb0au, 0x0eecfadfu, 0xd21bb27fu, 0x33e220b1u, 0xd87d14d7u}} +, .jet = simplicity_full_left_shift_16_1 +, .cmr = {{0x32d06f29u, 0x4652b364u, 0x9058a466u, 0x673f04f0u, 0x8880aaa1u, 0x926f908au, 0x9256a99eu, 0x1e2e0bdcu}} , .sourceIx = ty_pw16b , .targetIx = ty_pbw16 -, .cost = 150 /* milli weight units */ +, .cost = 83 /* milli weight units */ } ,[FULL_LEFT_SHIFT_16_2] = { .tag = JET -, .jet = full_left_shift_16_2 -, .cmr = {{0xc26e8ac3u, 0xff9cc518u, 0x719d4d7fu, 0xd149d802u, 0xf23f0b02u, 0x4999ed5du, 0xaf369210u, 0xacbe3345u}} +, .jet = simplicity_full_left_shift_16_2 +, .cmr = {{0xd1a5fb91u, 0xaa70445du, 0x29fdb169u, 0x4037a95du, 0x84e6571bu, 0x3e7773fcu, 0x16f56eb8u, 0x8b676439u}} , .sourceIx = ty_pw16w2 , .targetIx = ty_pw2w16 -, .cost = 150 /* milli weight units */ +, .cost = 83 /* milli weight units */ } ,[FULL_LEFT_SHIFT_16_4] = { .tag = JET -, .jet = full_left_shift_16_4 -, .cmr = {{0x5e570cbeu, 0x4c7ca94bu, 0xe0fc7b3eu, 0xe579bdd7u, 0x8426f0b7u, 0x67f48517u, 0x17bbfeaeu, 0xde91fe30u}} +, .jet = simplicity_full_left_shift_16_4 +, .cmr = {{0x9452a9b6u, 0x7549178fu, 0x93c7bb34u, 0x36be0631u, 0x4b4adae5u, 0xde0e3153u, 0xcbd32d55u, 0x9df6f428u}} , .sourceIx = ty_pw16w4 , .targetIx = ty_pw4w16 -, .cost = 150 /* milli weight units */ +, .cost = 89 /* milli weight units */ } ,[FULL_LEFT_SHIFT_16_8] = { .tag = JET -, .jet = full_left_shift_16_8 -, .cmr = {{0x65adc553u, 0x48383b28u, 0xe8797f81u, 0xa9282d91u, 0x1b3f8fa6u, 0x13927251u, 0xd88e0c38u, 0xb029b705u}} +, .jet = simplicity_full_left_shift_16_8 +, .cmr = {{0xcdb88c96u, 0x01732a76u, 0x665ac928u, 0x21683bafu, 0xf1844b67u, 0x0bff6639u, 0x17c8913bu, 0xa51c0f08u}} , .sourceIx = ty_pw16w8 , .targetIx = ty_pw8w16 -, .cost = 150 /* milli weight units */ +, .cost = 65 /* milli weight units */ } ,[FULL_LEFT_SHIFT_32_1] = { .tag = JET -, .jet = full_left_shift_32_1 -, .cmr = {{0x72e0104eu, 0xfaf1dee4u, 0x1198ec3bu, 0x790373f6u, 0x48f13f5eu, 0xe06552fbu, 0x020bafb5u, 0x8497c25cu}} +, .jet = simplicity_full_left_shift_32_1 +, .cmr = {{0xef4706cau, 0x44a8c55fu, 0x465fa9b3u, 0x9c3c69c8u, 0x12efe3d9u, 0xdfb6c9a5u, 0xc05092b5u, 0x7fc3c153u}} , .sourceIx = ty_pw32b , .targetIx = ty_pbw32 -, .cost = 150 /* milli weight units */ +, .cost = 84 /* milli weight units */ } ,[FULL_LEFT_SHIFT_32_16] = { .tag = JET -, .jet = full_left_shift_32_16 -, .cmr = {{0xb9fb2169u, 0x908d9144u, 0xcc73e68fu, 0x753536f4u, 0x3cb2b74cu, 0xb62c6408u, 0x810670deu, 0x84ab09bdu}} +, .jet = simplicity_full_left_shift_32_16 +, .cmr = {{0x130405b9u, 0x90dfa181u, 0xa76bb296u, 0x5f6b706du, 0xe5b04647u, 0x438a5cabu, 0x6ec3dfb6u, 0xae21fa8au}} , .sourceIx = ty_pw32w16 , .targetIx = ty_pw16w32 -, .cost = 150 /* milli weight units */ +, .cost = 81 /* milli weight units */ } ,[FULL_LEFT_SHIFT_32_2] = { .tag = JET -, .jet = full_left_shift_32_2 -, .cmr = {{0x11efdb81u, 0xb0c4dedau, 0x4d4f9847u, 0x5d7878efu, 0xa338694fu, 0xa0fd613eu, 0x1293225au, 0x4f462f7cu}} +, .jet = simplicity_full_left_shift_32_2 +, .cmr = {{0xcc4b9498u, 0xee412385u, 0xc23bff77u, 0xdf137ad2u, 0x96a5b830u, 0x31c1518du, 0xbf4fdf6au, 0xbb567c2au}} , .sourceIx = ty_pw32w2 , .targetIx = ty_pw2w32 -, .cost = 150 /* milli weight units */ +, .cost = 67 /* milli weight units */ } ,[FULL_LEFT_SHIFT_32_4] = { .tag = JET -, .jet = full_left_shift_32_4 -, .cmr = {{0x77e399d7u, 0xd83f7d11u, 0x44991dafu, 0xa3cc9811u, 0xc1632c29u, 0xe493a8afu, 0x98e98fbcu, 0x1d635fb4u}} +, .jet = simplicity_full_left_shift_32_4 +, .cmr = {{0xbfadc953u, 0x410047d9u, 0xef398bd3u, 0x3a02aad0u, 0xd48cbd7bu, 0x6ae2de8du, 0xc1f76b0cu, 0xe44f80ecu}} , .sourceIx = ty_pw32w4 , .targetIx = ty_pw4w32 -, .cost = 150 /* milli weight units */ +, .cost = 84 /* milli weight units */ } ,[FULL_LEFT_SHIFT_32_8] = { .tag = JET -, .jet = full_left_shift_32_8 -, .cmr = {{0xba664cb1u, 0xc42eda17u, 0x9191ebc2u, 0xa110396du, 0xae58f906u, 0xa64106b3u, 0x0667790au, 0xc2f2382du}} +, .jet = simplicity_full_left_shift_32_8 +, .cmr = {{0xac934c70u, 0xaab810f0u, 0xae527bc0u, 0x749e96ceu, 0x0068e237u, 0xcee2a866u, 0x483ddfaau, 0x2116d931u}} , .sourceIx = ty_pw32w8 , .targetIx = ty_pw8w32 -, .cost = 150 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[FULL_LEFT_SHIFT_64_1] = { .tag = JET -, .jet = full_left_shift_64_1 -, .cmr = {{0x79d38fe0u, 0x75839b22u, 0x7cffd92au, 0x8cdb5c8cu, 0x3522bcb4u, 0xd1e03beeu, 0xb6db6ab6u, 0x4ed4721fu}} +, .jet = simplicity_full_left_shift_64_1 +, .cmr = {{0xbf32d9dbu, 0xb239e988u, 0x014920ccu, 0x4df2e435u, 0xc712017bu, 0x6a940e77u, 0xc203713du, 0xbfb0fe53u}} , .sourceIx = ty_pw64b , .targetIx = ty_pbw64 -, .cost = 150 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[FULL_LEFT_SHIFT_64_16] = { .tag = JET -, .jet = full_left_shift_64_16 -, .cmr = {{0x21435662u, 0x45f5a1b9u, 0xdfeb0c75u, 0x878e21dbu, 0xe13804c2u, 0x6935ee47u, 0xcac9ad82u, 0x2d6dedb2u}} +, .jet = simplicity_full_left_shift_64_16 +, .cmr = {{0x13de9678u, 0x5bd97f6fu, 0x78ec2a37u, 0xf552d4d7u, 0xdae5768eu, 0x39b4bebdu, 0xf3bc7cebu, 0x723c5947u}} , .sourceIx = ty_pw64w16 , .targetIx = ty_pw16w64 -, .cost = 150 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[FULL_LEFT_SHIFT_64_2] = { .tag = JET -, .jet = full_left_shift_64_2 -, .cmr = {{0x9c921649u, 0x15af0b15u, 0x4e1df564u, 0xd4dc9be9u, 0x80b39883u, 0x5c9988bbu, 0xb108d0cdu, 0x8145b330u}} +, .jet = simplicity_full_left_shift_64_2 +, .cmr = {{0x19d3b141u, 0xcb156cceu, 0x2ac5937au, 0x27a28436u, 0xdc325dd7u, 0xce42476eu, 0xe2cab35fu, 0xb40110e0u}} , .sourceIx = ty_pw64w2 , .targetIx = ty_pw2w64 -, .cost = 150 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[FULL_LEFT_SHIFT_64_32] = { .tag = JET -, .jet = full_left_shift_64_32 -, .cmr = {{0xd0d016e9u, 0xc78cd112u, 0xb4dd91a8u, 0x359f805cu, 0x68415b85u, 0x7a799b00u, 0x394954dcu, 0xd290acbcu}} +, .jet = simplicity_full_left_shift_64_32 +, .cmr = {{0x6a207615u, 0xbc669d3fu, 0xc17413a4u, 0x2b13a04au, 0x404bb5d4u, 0x036de37fu, 0xe0a56b33u, 0x6a5ff5a6u}} , .sourceIx = ty_pw64w32 , .targetIx = ty_pw32w64 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[FULL_LEFT_SHIFT_64_4] = { .tag = JET -, .jet = full_left_shift_64_4 -, .cmr = {{0x0f1f7d37u, 0x4e82868du, 0x71e7e7c0u, 0x3221b150u, 0x594b6304u, 0x45b1b163u, 0x56cf3545u, 0xbd939263u}} +, .jet = simplicity_full_left_shift_64_4 +, .cmr = {{0x57f596cfu, 0xe67af58au, 0xe6bc27a1u, 0x2cafe53au, 0x1d5e6aceu, 0x4e54051au, 0x3ae41c1eu, 0xb325f53bu}} , .sourceIx = ty_pw64w4 , .targetIx = ty_pw4w64 -, .cost = 150 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[FULL_LEFT_SHIFT_64_8] = { .tag = JET -, .jet = full_left_shift_64_8 -, .cmr = {{0xad7b4438u, 0xb73f6f9eu, 0x42f64c70u, 0x530475eeu, 0x08936e47u, 0x63e5b73eu, 0xa4bc8383u, 0xa2b963d5u}} +, .jet = simplicity_full_left_shift_64_8 +, .cmr = {{0x05857a00u, 0x9d2031beu, 0x6df1d87eu, 0x26e11118u, 0xabd06b0fu, 0xf0c878c3u, 0x36f9a076u, 0x11daa8d4u}} , .sourceIx = ty_pw64w8 , .targetIx = ty_pw8w64 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[FULL_LEFT_SHIFT_8_1] = { .tag = JET -, .jet = full_left_shift_8_1 -, .cmr = {{0x2113681au, 0x11624e60u, 0x6030c470u, 0xd68f6061u, 0x232f71cfu, 0xabc50571u, 0x92c6c8bdu, 0x1d73b7e1u}} +, .jet = simplicity_full_left_shift_8_1 +, .cmr = {{0x4fdc522au, 0x239f2584u, 0x8c28d45bu, 0x39246391u, 0xbe6a2814u, 0xb893cf19u, 0x79ce31b6u, 0x07cf174eu}} , .sourceIx = ty_pw8b , .targetIx = ty_pbw8 -, .cost = 150 /* milli weight units */ +, .cost = 96 /* milli weight units */ } ,[FULL_LEFT_SHIFT_8_2] = { .tag = JET -, .jet = full_left_shift_8_2 -, .cmr = {{0x368368c9u, 0x4b040e81u, 0xb948d737u, 0xc193c042u, 0x83ec80a2u, 0x8fd3a021u, 0xb0b8c1abu, 0xcf5edcd3u}} +, .jet = simplicity_full_left_shift_8_2 +, .cmr = {{0xdcf6333du, 0x5e28bfaau, 0xfee6f20au, 0x855cefb0u, 0x05f0ef32u, 0x8bdccea6u, 0x4a8f2446u, 0xf966a6f2u}} , .sourceIx = ty_pw8w2 , .targetIx = ty_pw2w8 -, .cost = 150 /* milli weight units */ +, .cost = 96 /* milli weight units */ } ,[FULL_LEFT_SHIFT_8_4] = { .tag = JET -, .jet = full_left_shift_8_4 -, .cmr = {{0x8f854d58u, 0xf968b4beu, 0x3b2021fbu, 0x22142dd3u, 0xe68aa819u, 0x7b5475b7u, 0x050b02e1u, 0xe5caee47u}} +, .jet = simplicity_full_left_shift_8_4 +, .cmr = {{0xf7ed36ebu, 0xd7b4ee3eu, 0x7782d074u, 0x4c47ba1eu, 0xf8fa56dbu, 0x7060e226u, 0xe4e92629u, 0x926f436cu}} , .sourceIx = ty_pw8w4 , .targetIx = ty_pw4w8 -, .cost = 150 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[FULL_MULTIPLY_16] = { .tag = JET -, .jet = full_multiply_16 -, .cmr = {{0x32cf7f50u, 0x894ea2c4u, 0x61a05466u, 0xbbfa1e4eu, 0x1b049957u, 0x523f6493u, 0x7a8b5427u, 0x3dd31b37u}} +, .jet = simplicity_full_multiply_16 +, .cmr = {{0xc0d736cau, 0x684f8272u, 0xdcfbe38du, 0xcc5429b3u, 0x03a68232u, 0xe5fcd285u, 0x14e22c0bu, 0xe1f470f6u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 208 /* milli weight units */ +, .cost = 112 /* milli weight units */ } ,[FULL_MULTIPLY_32] = { .tag = JET -, .jet = full_multiply_32 -, .cmr = {{0xdea1afc6u, 0xfd546c75u, 0xe0b2d8e4u, 0x18f26179u, 0xd6dbe905u, 0x8b079aa9u, 0xab80eaa6u, 0xc05f39cbu}} +, .jet = simplicity_full_multiply_32 +, .cmr = {{0xe7205897u, 0x97f6ca4au, 0xd74771f8u, 0xf6c7b6aau, 0xd78bce91u, 0x9fd76d69u, 0xfff599a4u, 0x02e35240u}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 213 /* milli weight units */ +, .cost = 96 /* milli weight units */ } ,[FULL_MULTIPLY_64] = { .tag = JET -, .jet = full_multiply_64 -, .cmr = {{0x813d74d6u, 0xc3064cf7u, 0xc5db2ddau, 0x964ed0e2u, 0xd5a2491bu, 0x89432921u, 0x9237cb1au, 0x91ee0934u}} +, .jet = simplicity_full_multiply_64 +, .cmr = {{0xd9669186u, 0x214487fbu, 0xaabc0852u, 0x15eb01c6u, 0x2b3a28deu, 0x411919bcu, 0x4f37fe43u, 0xc2d00521u}} , .sourceIx = ty_w256 , .targetIx = ty_w128 -, .cost = 209 /* milli weight units */ +, .cost = 127 /* milli weight units */ } ,[FULL_MULTIPLY_8] = { .tag = JET -, .jet = full_multiply_8 -, .cmr = {{0xf7f39d95u, 0xdab57308u, 0x52e9cc7eu, 0x74c0743bu, 0x8fb3f754u, 0x87120ba3u, 0x26ff600au, 0xd8b1f3e6u}} +, .jet = simplicity_full_multiply_8 +, .cmr = {{0x728ac8aau, 0xdb37a0f2u, 0x23eef98cu, 0xf278483du, 0xf194869bu, 0x2e3773f1u, 0x27329eeau, 0xb54c62cau}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 190 /* milli weight units */ +, .cost = 109 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_16_1] = { .tag = JET -, .jet = full_right_shift_16_1 -, .cmr = {{0xb8074423u, 0xe6748a6au, 0xa54ec574u, 0x1feef25au, 0x262fdecbu, 0xfce39124u, 0xe610238au, 0x3b0a23fcu}} +, .jet = simplicity_full_right_shift_16_1 +, .cmr = {{0x28437c34u, 0x7a0f316eu, 0x99f3444fu, 0x32d949c6u, 0xd1a570d6u, 0xe1f9e47fu, 0x7ea2c498u, 0x7fecb0b4u}} , .sourceIx = ty_pbw16 , .targetIx = ty_pw16b -, .cost = 150 /* milli weight units */ +, .cost = 80 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_16_2] = { .tag = JET -, .jet = full_right_shift_16_2 -, .cmr = {{0x3fcf985eu, 0xe0c72ca4u, 0x1ddf6c89u, 0xd0f0f69du, 0x5065876eu, 0x3b6020ecu, 0xc9bf059eu, 0x8f9719c6u}} +, .jet = simplicity_full_right_shift_16_2 +, .cmr = {{0x7b2d0dd3u, 0xecf79ecfu, 0xc0bf923au, 0x92a43ac6u, 0x514bbfc2u, 0x9f6773d7u, 0xb363c3acu, 0xf6f672c4u}} , .sourceIx = ty_pw2w16 , .targetIx = ty_pw16w2 -, .cost = 150 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_16_4] = { .tag = JET -, .jet = full_right_shift_16_4 -, .cmr = {{0xa30c7c29u, 0xd0eeac29u, 0x5258b2b6u, 0x1d0b5413u, 0x46f407c0u, 0x848d448eu, 0x13e9774cu, 0x1c969679u}} +, .jet = simplicity_full_right_shift_16_4 +, .cmr = {{0xec59de5cu, 0x9c887775u, 0xe4bc556bu, 0x9cf1a772u, 0x3bbeb614u, 0x75d5a5a4u, 0xedf10b61u, 0x2bf9a680u}} , .sourceIx = ty_pw4w16 , .targetIx = ty_pw16w4 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_16_8] = { .tag = JET -, .jet = full_right_shift_16_8 -, .cmr = {{0x5b8808cau, 0xda5587b3u, 0x6d1a6fadu, 0x66ae4da0u, 0x8d412364u, 0x4c0bdd59u, 0x772a70aau, 0x7432e715u}} +, .jet = simplicity_full_right_shift_16_8 +, .cmr = {{0x264f2a31u, 0xf07bcc54u, 0x7427faffu, 0x0d09c266u, 0x5b30ed30u, 0xf9f8a6c5u, 0x65018400u, 0x144a4d6au}} , .sourceIx = ty_pw8w16 , .targetIx = ty_pw16w8 -, .cost = 150 /* milli weight units */ +, .cost = 57 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_32_1] = { .tag = JET -, .jet = full_right_shift_32_1 -, .cmr = {{0x32afd0efu, 0x94df51b7u, 0xd35c00e5u, 0x61a8390cu, 0x5cf50f93u, 0x0b30d786u, 0x8804b580u, 0x49375840u}} +, .jet = simplicity_full_right_shift_32_1 +, .cmr = {{0x19d78cceu, 0x30f71eacu, 0xf59a8cf0u, 0xf6028b28u, 0x4d4aa964u, 0xc0c16ad4u, 0xafc7ea47u, 0x5165cba0u}} , .sourceIx = ty_pbw32 , .targetIx = ty_pw32b -, .cost = 150 /* milli weight units */ +, .cost = 74 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_32_16] = { .tag = JET -, .jet = full_right_shift_32_16 -, .cmr = {{0x44d179a8u, 0x90f7812fu, 0x151331b5u, 0x5fc07eb4u, 0xe4d7814eu, 0xb683da28u, 0x8f8fe7cdu, 0x55b43906u}} +, .jet = simplicity_full_right_shift_32_16 +, .cmr = {{0x88767415u, 0x79924af6u, 0xd46fbd79u, 0x534a0907u, 0x7bf0ecbcu, 0x971008c7u, 0xdec65d4cu, 0x96e5d831u}} , .sourceIx = ty_pw16w32 , .targetIx = ty_pw32w16 -, .cost = 150 /* milli weight units */ +, .cost = 64 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_32_2] = { .tag = JET -, .jet = full_right_shift_32_2 -, .cmr = {{0x33c661dfu, 0x3a32cae5u, 0x5b52a5f2u, 0x632154ccu, 0x85b65913u, 0x87bc2b34u, 0x8330c870u, 0xa6f6706fu}} +, .jet = simplicity_full_right_shift_32_2 +, .cmr = {{0x5d3e119du, 0x40e624c5u, 0xc56a7bbdu, 0xf8bb86fbu, 0x6889dc01u, 0x72487c35u, 0x8a531af2u, 0xfcc51dc7u}} , .sourceIx = ty_pw2w32 , .targetIx = ty_pw32w2 -, .cost = 150 /* milli weight units */ +, .cost = 63 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_32_4] = { .tag = JET -, .jet = full_right_shift_32_4 -, .cmr = {{0xe4bebf16u, 0x935f67beu, 0x7d8c86bcu, 0x588adbcfu, 0x8e597539u, 0x257fddabu, 0x9fb04372u, 0xc77012d3u}} +, .jet = simplicity_full_right_shift_32_4 +, .cmr = {{0x583ac698u, 0x39d235d9u, 0xc06139f5u, 0xb798d2d5u, 0xa349edc2u, 0x0bbd62bau, 0xd1d81285u, 0xd6ad22e3u}} , .sourceIx = ty_pw4w32 , .targetIx = ty_pw32w4 -, .cost = 150 /* milli weight units */ +, .cost = 71 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_32_8] = { .tag = JET -, .jet = full_right_shift_32_8 -, .cmr = {{0xabcffb08u, 0x4a239642u, 0x16d56273u, 0x305c0c8bu, 0x03bdabdau, 0xd69ff7e9u, 0x42f0d2cfu, 0x080febccu}} +, .jet = simplicity_full_right_shift_32_8 +, .cmr = {{0x0d9cc09bu, 0xbc80e4cdu, 0x764f13bbu, 0x2f7fb9c5u, 0x92120f92u, 0x18d60cacu, 0x8eeac599u, 0x25dbf75du}} , .sourceIx = ty_pw8w32 , .targetIx = ty_pw32w8 -, .cost = 150 /* milli weight units */ +, .cost = 84 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_64_1] = { .tag = JET -, .jet = full_right_shift_64_1 -, .cmr = {{0x37688260u, 0xc53af06bu, 0x856d9022u, 0xca5d87f8u, 0xa687ee53u, 0xfaca1866u, 0xec842a7cu, 0x890a4b70u}} +, .jet = simplicity_full_right_shift_64_1 +, .cmr = {{0x2ebc1c95u, 0x5d265648u, 0xa8b91b6fu, 0x5ece5f23u, 0xfa9c2c6cu, 0x88de7cbeu, 0x3f7cc838u, 0x5b219117u}} , .sourceIx = ty_pbw64 , .targetIx = ty_pw64b -, .cost = 150 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_64_16] = { .tag = JET -, .jet = full_right_shift_64_16 -, .cmr = {{0x417bfb71u, 0x5a20b10du, 0x4881f5c3u, 0x496c63efu, 0xee4ab500u, 0x3dfd0a16u, 0xb85f94f8u, 0xe5b0667cu}} +, .jet = simplicity_full_right_shift_64_16 +, .cmr = {{0x4658dd0cu, 0x37f3ec6bu, 0xe5224173u, 0xd2ff9b7cu, 0x9101742fu, 0x690f15a7u, 0x2e666c87u, 0x0e1d9055u}} , .sourceIx = ty_pw16w64 , .targetIx = ty_pw64w16 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_64_2] = { .tag = JET -, .jet = full_right_shift_64_2 -, .cmr = {{0xceca2567u, 0xb91a63e9u, 0xca44035eu, 0xb59e2f22u, 0xd81e37e1u, 0x96595a74u, 0x8cea4a46u, 0x84a215b0u}} +, .jet = simplicity_full_right_shift_64_2 +, .cmr = {{0x889f8b7bu, 0xc11e9b74u, 0xea93374fu, 0xfed11464u, 0xe7837deeu, 0x181981cbu, 0xe4786f57u, 0xa265c34fu}} , .sourceIx = ty_pw2w64 , .targetIx = ty_pw64w2 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_64_32] = { .tag = JET -, .jet = full_right_shift_64_32 -, .cmr = {{0x03969937u, 0x84023d47u, 0xe8514b45u, 0x9298198du, 0x33bd71e6u, 0xf756d08eu, 0xdf462a8fu, 0x62a21b80u}} +, .jet = simplicity_full_right_shift_64_32 +, .cmr = {{0x062467cdu, 0x194bb4feu, 0x1dd5ede5u, 0x7bc65180u, 0x948ebac9u, 0x878b2c04u, 0x2be356f2u, 0xf422c2ecu}} , .sourceIx = ty_pw32w64 , .targetIx = ty_pw64w32 -, .cost = 150 /* milli weight units */ +, .cost = 73 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_64_4] = { .tag = JET -, .jet = full_right_shift_64_4 -, .cmr = {{0xdee4dad6u, 0x7a5ddcc3u, 0x5da1a790u, 0x63ca975fu, 0x8134c8eau, 0xc56a9f55u, 0x5d2b0e13u, 0xda10994du}} +, .jet = simplicity_full_right_shift_64_4 +, .cmr = {{0x99457213u, 0x88483743u, 0x7e8ab636u, 0xd7f3513au, 0x24d94e74u, 0xe5990c2cu, 0x24e8dfe1u, 0x4cf9986fu}} , .sourceIx = ty_pw4w64 , .targetIx = ty_pw64w4 -, .cost = 150 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_64_8] = { .tag = JET -, .jet = full_right_shift_64_8 -, .cmr = {{0x9cd77803u, 0xfc389c94u, 0xfff286dau, 0x0b374b89u, 0xfeeb3daau, 0x38ce67cau, 0xb0220dabu, 0xeefe23a2u}} +, .jet = simplicity_full_right_shift_64_8 +, .cmr = {{0x008d5b6au, 0x26a0e13fu, 0x17a924a9u, 0xe00f5b07u, 0xc8123b59u, 0x7e63cdf9u, 0x481dd16fu, 0x4332e6dfu}} , .sourceIx = ty_pw8w64 , .targetIx = ty_pw64w8 -, .cost = 150 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_8_1] = { .tag = JET -, .jet = full_right_shift_8_1 -, .cmr = {{0xee23fff0u, 0x7de53cc3u, 0x7109a47fu, 0x9fde3c74u, 0x447ae831u, 0xcee9ac4du, 0xb790cde8u, 0xb15323b2u}} +, .jet = simplicity_full_right_shift_8_1 +, .cmr = {{0x591adee6u, 0xd4a3ddf3u, 0x947b4861u, 0x5b7f6ecdu, 0xf1165736u, 0x4c3aeecfu, 0xad43f28eu, 0x11a75e56u}} , .sourceIx = ty_pbw8 , .targetIx = ty_pw8b -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_8_2] = { .tag = JET -, .jet = full_right_shift_8_2 -, .cmr = {{0x25e1dea1u, 0x08c5f89cu, 0xce5b3d5bu, 0x0e0792beu, 0x37901a5au, 0x65def904u, 0xdd51710au, 0x355ab55fu}} +, .jet = simplicity_full_right_shift_8_2 +, .cmr = {{0xbf18af96u, 0x4c49b62eu, 0xe79921fdu, 0xe0eb3252u, 0xf4163867u, 0x77173ca6u, 0xf6ead689u, 0xb190fb2fu}} , .sourceIx = ty_pw2w8 , .targetIx = ty_pw8w2 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[FULL_RIGHT_SHIFT_8_4] = { .tag = JET -, .jet = full_right_shift_8_4 -, .cmr = {{0xd7f0a83cu, 0x4104543eu, 0xc75b5ee7u, 0x5bf5f791u, 0x5d65fa50u, 0xc2095de2u, 0xa35670a5u, 0x05be129au}} +, .jet = simplicity_full_right_shift_8_4 +, .cmr = {{0x8d05a281u, 0xbe220a8cu, 0xa3ebd9a8u, 0x626708f9u, 0x1f286da4u, 0x2222c7a5u, 0x518e179cu, 0x09e5a02fu}} , .sourceIx = ty_pw4w8 , .targetIx = ty_pw8w4 -, .cost = 150 /* milli weight units */ +, .cost = 89 /* milli weight units */ } ,[FULL_SUBTRACT_16] = { .tag = JET -, .jet = full_subtract_16 -, .cmr = {{0x95ea5e54u, 0xc5603f2fu, 0x78acf6b8u, 0xa87a63b3u, 0xacc7b65fu, 0x2b87b690u, 0x4b9830fau, 0x91212c8cu}} +, .jet = simplicity_full_subtract_16 +, .cmr = {{0x7955126eu, 0x2c3d862cu, 0x1e449ef6u, 0xe435df3eu, 0xd5a64c20u, 0x1143578eu, 0xcfd3f51bu, 0xaf2be235u}} , .sourceIx = ty_pbw32 , .targetIx = ty_pbw16 -, .cost = 201 /* milli weight units */ +, .cost = 121 /* milli weight units */ } ,[FULL_SUBTRACT_32] = { .tag = JET -, .jet = full_subtract_32 -, .cmr = {{0x32963526u, 0xfc6089f5u, 0xec7da584u, 0xfbee3237u, 0x631c9b12u, 0x81f6f446u, 0xd99c9b50u, 0xc80c76dbu}} +, .jet = simplicity_full_subtract_32 +, .cmr = {{0x2618a411u, 0x47c79f69u, 0x09a651b4u, 0x92b54ed3u, 0xc4057a2eu, 0xc039f91cu, 0x20105454u, 0xac610379u}} , .sourceIx = ty_pbw64 , .targetIx = ty_pbw32 -, .cost = 170 /* milli weight units */ +, .cost = 116 /* milli weight units */ } ,[FULL_SUBTRACT_64] = { .tag = JET -, .jet = full_subtract_64 -, .cmr = {{0x15d48a43u, 0x2479b451u, 0xa6e2c18fu, 0x43fb0dfcu, 0x9aeb6fceu, 0x04035027u, 0xb033aa99u, 0xfb143447u}} +, .jet = simplicity_full_subtract_64 +, .cmr = {{0x5e05b10au, 0xcf51c2f2u, 0xb7f8726du, 0x3f414aeau, 0x2fb6311fu, 0x6dd67245u, 0xbd4a35b1u, 0x6953af13u}} , .sourceIx = ty_pbw128 , .targetIx = ty_pbw64 -, .cost = 231 /* milli weight units */ +, .cost = 98 /* milli weight units */ } ,[FULL_SUBTRACT_8] = { .tag = JET -, .jet = full_subtract_8 -, .cmr = {{0x2bd4f0b3u, 0xa0a758acu, 0x39f1581bu, 0x2c34d7f4u, 0x14db4d8eu, 0x1bc119d7u, 0xf8929135u, 0x480e9affu}} +, .jet = simplicity_full_subtract_8 +, .cmr = {{0x68d279e1u, 0x6fe84ba5u, 0xe744cdbau, 0x86eff3a3u, 0xe0da0554u, 0x7efa9817u, 0xdfb99fdeu, 0x702146acu}} , .sourceIx = ty_pbw16 , .targetIx = ty_pbw8 -, .cost = 141 /* milli weight units */ +, .cost = 126 /* milli weight units */ } ,[GE_IS_ON_CURVE] = { .tag = JET -, .jet = ge_is_on_curve -, .cmr = {{0x0572aef3u, 0x6300508cu, 0x96eda4a4u, 0xfec8579du, 0x8d8a43bdu, 0x540cb6ddu, 0xecc82a49u, 0xe668f7deu}} +, .jet = simplicity_ge_is_on_curve +, .cmr = {{0xf513c594u, 0x615a9f2fu, 0xcf356055u, 0xe2f77488u, 0x16a3d4bau, 0x5415bf12u, 0xca17a5cau, 0xe9ac725au}} , .sourceIx = ty_w512 , .targetIx = ty_b -, .cost = 763 /* milli weight units */ +, .cost = 642 /* milli weight units */ } ,[GE_NEGATE] = { .tag = JET -, .jet = ge_negate -, .cmr = {{0x90f33d91u, 0x0f858f9bu, 0x3b840ddbu, 0xc03d8a39u, 0xaf810214u, 0x853bad3cu, 0x905f1829u, 0x6fdfcb58u}} +, .jet = simplicity_ge_negate +, .cmr = {{0xc43f47b1u, 0x1cdbc9cau, 0x85b68805u, 0xa4a70b82u, 0xbf938c1cu, 0x0b2c1b27u, 0x71a86bfdu, 0x993734a7u}} , .sourceIx = ty_w512 , .targetIx = ty_w512 -, .cost = 1278 /* milli weight units */ +, .cost = 945 /* milli weight units */ } ,[GEJ_ADD] = { .tag = JET -, .jet = gej_add -, .cmr = {{0x00871c07u, 0x66286a50u, 0x0acea05fu, 0x7a1fd98cu, 0x3e5246c1u, 0x946771e4u, 0x738e7582u, 0x091cca0du}} +, .jet = simplicity_gej_add +, .cmr = {{0xf56435e4u, 0xad5aa956u, 0x27aaa2f5u, 0xf2bad4e4u, 0x5ef62e4au, 0x8a83c08eu, 0x31e81009u, 0x5ce343b2u}} , .sourceIx = ty_ppw512w256pw512w256 , .targetIx = ty_pw512w256 -, .cost = 3292 /* milli weight units */ +, .cost = 2897 /* milli weight units */ } ,[GEJ_DOUBLE] = { .tag = JET -, .jet = gej_double -, .cmr = {{0x5fc480c5u, 0x05b67dddu, 0xb9ce84b0u, 0xa8ee5a7eu, 0x4ef0e936u, 0x59d44521u, 0xe6a664acu, 0x5d6556f8u}} +, .jet = simplicity_gej_double +, .cmr = {{0xa08ea39eu, 0xeb490b60u, 0x49c72ab9u, 0x215d6105u, 0x8ed1ee33u, 0x77942184u, 0x0d3e3d43u, 0xe63719fcu}} , .sourceIx = ty_pw512w256 , .targetIx = ty_pw512w256 -, .cost = 2103 /* milli weight units */ +, .cost = 1764 /* milli weight units */ } ,[GEJ_EQUIV] = { .tag = JET -, .jet = gej_equiv -, .cmr = {{0xe87f98d9u, 0x1d9ebdecu, 0x167aba00u, 0xf8e8fc6du, 0xab8079c7u, 0x6b4d9c3du, 0x88f1f84cu, 0x8e6cd274u}} +, .jet = simplicity_gej_equiv +, .cmr = {{0x9ca3676bu, 0xccc544edu, 0x7aa3f751u, 0x75e9f23eu, 0x030cd64fu, 0xb6a5898du, 0x90d23e0du, 0xc2aeedd1u}} , .sourceIx = ty_ppw512w256pw512w256 , .targetIx = ty_b -, .cost = 1270 /* milli weight units */ +, .cost = 2220 /* milli weight units */ } ,[GEJ_GE_ADD] = { .tag = JET -, .jet = gej_ge_add -, .cmr = {{0xa24d049fu, 0xf1e4cf37u, 0x84c1b7d6u, 0xd1ba09fdu, 0x17fecfebu, 0x5580eab5u, 0xf11e8f8eu, 0xb9d9adefu}} +, .jet = simplicity_gej_ge_add +, .cmr = {{0xc8f3d86du, 0x131e35eau, 0x67b250a0u, 0x8edbf58cu, 0x6f05439cu, 0x41fcbd32u, 0x908dc86au, 0xe8ce5df7u}} , .sourceIx = ty_ppw512w256w512 , .targetIx = ty_pw512w256 -, .cost = 2890 /* milli weight units */ +, .cost = 2477 /* milli weight units */ } ,[GEJ_GE_ADD_EX] = { .tag = JET -, .jet = gej_ge_add_ex -, .cmr = {{0x1e0e26d0u, 0xb29ae63du, 0x41e6767eu, 0x016e7e24u, 0x86e4f5d8u, 0xdc2cf665u, 0x02220316u, 0x40f1733au}} +, .jet = simplicity_gej_ge_add_ex +, .cmr = {{0x8bcf3ccbu, 0x4bf69197u, 0x4989fc4eu, 0x86996c66u, 0xbaf1b0abu, 0xa8c96465u, 0x862a8184u, 0xa129a0aeu}} , .sourceIx = ty_ppw512w256w512 , .targetIx = ty_pw256pw512w256 -, .cost = 3114 /* milli weight units */ +, .cost = 2719 /* milli weight units */ } ,[GEJ_GE_EQUIV] = { .tag = JET -, .jet = gej_ge_equiv -, .cmr = {{0x3b51dacdu, 0x29ff5cd3u, 0xc320455fu, 0xc3fa1ae9u, 0x612129aau, 0x8c8e2374u, 0x60c3ca2au, 0xd54e8f58u}} +, .jet = simplicity_gej_ge_equiv +, .cmr = {{0x67b28f43u, 0xbf1eb5c0u, 0x4f245659u, 0x7eab776eu, 0x48d498fdu, 0x8ae5284du, 0xb352a73du, 0x1bdd285bu}} , .sourceIx = ty_ppw512w256w512 , .targetIx = ty_b -, .cost = 1270 /* milli weight units */ +, .cost = 1765 /* milli weight units */ } ,[GEJ_INFINITY] = { .tag = JET -, .jet = gej_infinity -, .cmr = {{0x88d4642cu, 0xfc2b52d0u, 0x90ce6e89u, 0x5c20da2eu, 0xfb0df6feu, 0x84f22722u, 0xbc46111cu, 0xc6be5cdau}} +, .jet = simplicity_gej_infinity +, .cmr = {{0xc9ccee79u, 0xe6fd3271u, 0xfbb38456u, 0x88742495u, 0x3b254b9eu, 0x90b7b779u, 0xfd578968u, 0x45410c66u}} , .sourceIx = ty_u , .targetIx = ty_pw512w256 -, .cost = 971 /* milli weight units */ +, .cost = 716 /* milli weight units */ } ,[GEJ_IS_INFINITY] = { .tag = JET -, .jet = gej_is_infinity -, .cmr = {{0x80f528e5u, 0xd85672dcu, 0x8d9c264fu, 0x67c7b727u, 0x00faad89u, 0x972a7e1du, 0x27d049c9u, 0x474b6cd9u}} +, .jet = simplicity_gej_is_infinity +, .cmr = {{0x99d398d5u, 0xf238c055u, 0xee32a975u, 0xdd445fbcu, 0x5ece599fu, 0x74a3190au, 0x636ddd5du, 0xd111f587u}} , .sourceIx = ty_pw512w256 , .targetIx = ty_b -, .cost = 923 /* milli weight units */ +, .cost = 666 /* milli weight units */ } ,[GEJ_IS_ON_CURVE] = { .tag = JET -, .jet = gej_is_on_curve -, .cmr = {{0x70ce4ffcu, 0xe2497cc6u, 0x2f170c57u, 0x14ff2cfeu, 0xce90b4cbu, 0x89a6a22fu, 0xac26b1b5u, 0xc66faa10u}} +, .jet = simplicity_gej_is_on_curve +, .cmr = {{0x6c73c219u, 0xa7e9228fu, 0x6f482c11u, 0x1743311cu, 0x498bacd0u, 0xc1fc00acu, 0x3ce41f49u, 0x735ba2ffu}} , .sourceIx = ty_pw512w256 , .targetIx = ty_b -, .cost = 1106 /* milli weight units */ +, .cost = 1016 /* milli weight units */ } ,[GEJ_NEGATE] = { .tag = JET -, .jet = gej_negate -, .cmr = {{0xad53f179u, 0x3fe07b8du, 0x672d9f7bu, 0x0741e9edu, 0x61557effu, 0x5b7296c5u, 0x68e09b3du, 0x19cf7124u}} +, .jet = simplicity_gej_negate +, .cmr = {{0xb1ec2b7bu, 0x3a34294du, 0xf8991291u, 0x1d351fe0u, 0xef233fdcu, 0x60115876u, 0xbdcf611du, 0x590b08d6u}} , .sourceIx = ty_pw512w256 , .targetIx = ty_pw512w256 -, .cost = 1823 /* milli weight units */ +, .cost = 1381 /* milli weight units */ } ,[GEJ_NORMALIZE] = { .tag = JET -, .jet = gej_normalize -, .cmr = {{0x0333df98u, 0xa8060c93u, 0x15c5fdb8u, 0x3ebffe34u, 0x07bf9c33u, 0x6bf4bb92u, 0x2df58588u, 0x7e1acdc7u}} +, .jet = simplicity_gej_normalize +, .cmr = {{0x3cc6cf4cu, 0xed323ea6u, 0xdcf41844u, 0xdb4953aau, 0x3db29d08u, 0xfffc186fu, 0x538a387au, 0x6cbf7227u}} , .sourceIx = ty_pw512w256 , .targetIx = ty_mw512 -, .cost = 4337 /* milli weight units */ +, .cost = 4099 /* milli weight units */ } ,[GEJ_RESCALE] = { .tag = JET -, .jet = gej_rescale -, .cmr = {{0xf00ad18fu, 0xb4928cfau, 0xd02c5b9du, 0x8b6fd4b0u, 0x5d7cb549u, 0xee65984du, 0x022a6df9u, 0x8712b6d9u}} +, .jet = simplicity_gej_rescale +, .cmr = {{0xd1a88777u, 0xd2201bf8u, 0x4c94e585u, 0xc612cd18u, 0xe1aa4a18u, 0x624cca5du, 0xe5fbe441u, 0xc368b190u}} , .sourceIx = ty_ppw512w256w256 , .targetIx = ty_pw512w256 -, .cost = 2315 /* milli weight units */ +, .cost = 1908 /* milli weight units */ } ,[GEJ_X_EQUIV] = { .tag = JET -, .jet = gej_x_equiv -, .cmr = {{0xe31c0f2cu, 0x5d08139bu, 0x4feb0985u, 0x2c06b6aau, 0x00b1d13eu, 0x62babd99u, 0x828212dcu, 0xff82217cu}} +, .jet = simplicity_gej_x_equiv +, .cmr = {{0xb9fe21a5u, 0xed60694du, 0x042ba21cu, 0xadfcd944u, 0x3c6ff728u, 0xf68e51d7u, 0xd55e05a9u, 0xbb7a1d1bu}} , .sourceIx = ty_pw256pw512w256 , .targetIx = ty_b -, .cost = 1270 /* milli weight units */ +, .cost = 1047 /* milli weight units */ } ,[GEJ_Y_IS_ODD] = { .tag = JET -, .jet = gej_y_is_odd -, .cmr = {{0xe34c867du, 0xe16b2f65u, 0x6109a738u, 0x72b0b5bau, 0x55ca3c2du, 0xbea9c2c6u, 0xe4cb19adu, 0x18c06f56u}} +, .jet = simplicity_gej_y_is_odd +, .cmr = {{0xaf252524u, 0xfb38c44fu, 0xa7ca6f0du, 0x693ee343u, 0x06a31ed9u, 0x21f9311cu, 0x91726389u, 0xb1f68376u}} , .sourceIx = ty_pw512w256 , .targetIx = ty_b -, .cost = 3665 /* milli weight units */ +, .cost = 3651 /* milli weight units */ } ,[GENERATE] = { .tag = JET -, .jet = generate -, .cmr = {{0xa3c55befu, 0x32a350d9u, 0x0d5c3dacu, 0x24767a03u, 0x867faf7au, 0x73277703u, 0x895a27cbu, 0x6b44252du}} +, .jet = simplicity_generate +, .cmr = {{0xe5872bc9u, 0xf0c1f855u, 0x4de01784u, 0x38a9f649u, 0x9476cac8u, 0xc580f3d0u, 0xb60d8548u, 0x85184cb6u}} , .sourceIx = ty_w256 , .targetIx = ty_pw512w256 -, .cost = 51706 /* milli weight units */ +, .cost = 50071 /* milli weight units */ } ,[GENESIS_BLOCK_HASH] = { .tag = JET -, .jet = genesis_block_hash -, .cmr = {{0x336ff73du, 0x002f3754u, 0x9c481fd4u, 0xaaf15a58u, 0x60779df2u, 0x83344871u, 0x41f409b4u, 0xb29efb65u}} +, .jet = simplicity_genesis_block_hash +, .cmr = {{0xa29f2444u, 0x62fb280eu, 0x83b2ec41u, 0x94694a6du, 0x0d728955u, 0xb225ac02u, 0xdeff4740u, 0xe5014a99u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 395 /* milli weight units */ +, .cost = 148 /* milli weight units */ } ,[HASH_TO_CURVE] = { .tag = JET -, .jet = hash_to_curve -, .cmr = {{0x4dc3eb6au, 0x6fbe374bu, 0xa7696472u, 0x63a695a4u, 0x5d092113u, 0x8a17f003u, 0xc4abb758u, 0xd838b133u}} +, .jet = simplicity_hash_to_curve +, .cmr = {{0xa17b59e3u, 0xf014b158u, 0xad47b5bbu, 0x4290f17bu, 0x5bb70bc6u, 0x471d3be6u, 0xd38698e5u, 0x234ab6f2u}} , .sourceIx = ty_w256 , .targetIx = ty_w512 -, .cost = 10956 /* milli weight units */ +, .cost = 68094 /* milli weight units */ } ,[HIGH_1] = { .tag = JET -, .jet = high_1 -, .cmr = {{0x97a143f0u, 0x4cb603f6u, 0x5f84a80du, 0x31c3364fu, 0x8fda2297u, 0x3a9ae695u, 0xa58189c3u, 0x1463a8bfu}} +, .jet = simplicity_high_1 +, .cmr = {{0x72188756u, 0xe064fef6u, 0x073d8253u, 0x0e95ee3au, 0x04889c6bu, 0xf9e44e05u, 0x9622404eu, 0xa17c694au}} , .sourceIx = ty_u , .targetIx = ty_b -, .cost = 169 /* milli weight units */ +, .cost = 57 /* milli weight units */ } ,[HIGH_16] = { .tag = JET -, .jet = high_16 -, .cmr = {{0x6210ac71u, 0x36586c73u, 0xa09c9421u, 0xa40e308cu, 0x4491eaceu, 0x9b5b3695u, 0xd61f4c81u, 0x96a69dc8u}} +, .jet = simplicity_high_16 +, .cmr = {{0x0e414a0cu, 0xe6814785u, 0xe019f14du, 0x47714076u, 0xe87b123eu, 0x9a2122b1u, 0x643cc066u, 0x8c6ece09u}} , .sourceIx = ty_u , .targetIx = ty_w16 -, .cost = 159 /* milli weight units */ +, .cost = 66 /* milli weight units */ } ,[HIGH_32] = { .tag = JET -, .jet = high_32 -, .cmr = {{0x719424b1u, 0xacd35b13u, 0x73580690u, 0xa7ec0b8fu, 0xb486145cu, 0x9cde728du, 0xa7984693u, 0xe95fc7c0u}} +, .jet = simplicity_high_32 +, .cmr = {{0x0803297au, 0xc5fbea98u, 0x5ef619a0u, 0x38bed068u, 0xf860b230u, 0x95260e92u, 0x6af7d89du, 0xd0cc9321u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 121 /* milli weight units */ +, .cost = 58 /* milli weight units */ } ,[HIGH_64] = { .tag = JET -, .jet = high_64 -, .cmr = {{0x8c5d4409u, 0x34dfdcf2u, 0x75a21cf0u, 0x87ac127du, 0xa75715b5u, 0xdac9c693u, 0xc2afd7c7u, 0x18dc0ffbu}} +, .jet = simplicity_high_64 +, .cmr = {{0x471ce7d2u, 0xd1bccbccu, 0xb18abde3u, 0xe5347953u, 0xbc7e63c8u, 0xb43f1a7cu, 0xee955338u, 0x2c6b8d21u}} , .sourceIx = ty_u , .targetIx = ty_w64 -, .cost = 110 /* milli weight units */ +, .cost = 68 /* milli weight units */ } ,[HIGH_8] = { .tag = JET -, .jet = high_8 -, .cmr = {{0x3a5ce00eu, 0x15e31808u, 0x51c20021u, 0x1f1c82dau, 0xa33ec876u, 0x38248a4bu, 0xf113407cu, 0x6b16ac4fu}} +, .jet = simplicity_high_8 +, .cmr = {{0x60c669bbu, 0x56aca88du, 0xa13e0930u, 0x11a7bbedu, 0x55079ea9u, 0xbcdb8438u, 0xf3dc53e1u, 0x2c20409du}} , .sourceIx = ty_u , .targetIx = ty_w8 -, .cost = 169 /* milli weight units */ +, .cost = 59 /* milli weight units */ } ,[INCREMENT_16] = { .tag = JET -, .jet = increment_16 -, .cmr = {{0x80f6cbbcu, 0x09b78ceau, 0x76c81390u, 0xd3ed989bu, 0x70e43916u, 0x1effaf9au, 0x62c64b1bu, 0x959cd030u}} +, .jet = simplicity_increment_16 +, .cmr = {{0x49c629dbu, 0x7265d6a8u, 0xd26e83f6u, 0x5d62e738u, 0x54b9ddb2u, 0x1d2aa9c1u, 0xbd946e4du, 0xa0b27932u}} , .sourceIx = ty_w16 , .targetIx = ty_pbw16 -, .cost = 129 /* milli weight units */ +, .cost = 69 /* milli weight units */ } ,[INCREMENT_32] = { .tag = JET -, .jet = increment_32 -, .cmr = {{0x5a963ca4u, 0xada6619au, 0x805346e8u, 0x099503e4u, 0x7825be5cu, 0xf3c9a89bu, 0xfdbe2f19u, 0x1c32a2e0u}} +, .jet = simplicity_increment_32 +, .cmr = {{0x957edec0u, 0xdc98cf13u, 0xfda5b219u, 0x31f087e3u, 0x648ef2d7u, 0xc6bec8c5u, 0x16e3244fu, 0x1bbc359du}} , .sourceIx = ty_w32 , .targetIx = ty_pbw32 -, .cost = 195 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[INCREMENT_64] = { .tag = JET -, .jet = increment_64 -, .cmr = {{0x86575236u, 0x83c2a05cu, 0x0e0998cdu, 0xa7b94e8bu, 0x0365ee83u, 0x22a14c5au, 0x3722b515u, 0xbb681f74u}} +, .jet = simplicity_increment_64 +, .cmr = {{0x48b1927cu, 0x68404ab0u, 0x1be89fdau, 0xccb164ebu, 0xee4d6944u, 0xca8ef039u, 0x99b27629u, 0x75d22ff8u}} , .sourceIx = ty_w64 , .targetIx = ty_pbw64 -, .cost = 187 /* milli weight units */ +, .cost = 87 /* milli weight units */ } ,[INCREMENT_8] = { .tag = JET -, .jet = increment_8 -, .cmr = {{0xd1db8a9eu, 0xced17e21u, 0x996526bcu, 0x73be8e57u, 0x98688da3u, 0xc2ef8b8du, 0x5ba255d1u, 0x1ed8183eu}} +, .jet = simplicity_increment_8 +, .cmr = {{0xe0796c02u, 0x7bf4b079u, 0x47ff991bu, 0x278207d3u, 0x26bae074u, 0xa4583b56u, 0x42df0443u, 0x297c901au}} , .sourceIx = ty_w8 , .targetIx = ty_pbw8 -, .cost = 155 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[INPUT_AMOUNT] = { .tag = JET -, .jet = input_amount -, .cmr = {{0xbe740f91u, 0xe4d7b4b7u, 0xe62cd14au, 0x61cc00a2u, 0x4c3a1fb7u, 0x6c62f77bu, 0x9c1f92a2u, 0x77f55ff0u}} +, .jet = simplicity_input_amount +, .cmr = {{0x8ac2a67eu, 0x160c73d5u, 0x3dc2ec44u, 0x252ff7bbu, 0x6da89546u, 0xb4d1a97au, 0xefae1b94u, 0x4dac27c6u}} , .sourceIx = ty_w32 , .targetIx = ty_mpspbw256w256spbw256w64 -, .cost = 359 /* milli weight units */ +, .cost = 285 /* milli weight units */ } ,[INPUT_AMOUNTS_HASH] = { .tag = JET -, .jet = input_amounts_hash -, .cmr = {{0x5a06d0b9u, 0xf11a19fdu, 0x32e83e9du, 0x28111bd2u, 0x5f46528bu, 0x65404504u, 0xc4c6e68eu, 0x645bb04eu}} +, .jet = simplicity_input_amounts_hash +, .cmr = {{0x91d3b0a3u, 0x0219e0b3u, 0x0d26ce2bu, 0x064b3e1au, 0x5ad480ceu, 0xb22f50e6u, 0xd9647093u, 0x97571029u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 280 /* milli weight units */ +, .cost = 140 /* milli weight units */ } ,[INPUT_ANNEX_HASH] = { .tag = JET -, .jet = input_annex_hash -, .cmr = {{0x21769e4fu, 0x92825d7au, 0x82155e10u, 0x2e10605au, 0x8285530fu, 0xfdf75baau, 0x2a8cded3u, 0x628db316u}} +, .jet = simplicity_input_annex_hash +, .cmr = {{0xeedb9670u, 0x6949b732u, 0x2d5e8045u, 0x7c03d640u, 0x69ae099du, 0x004baaa2u, 0x232a9153u, 0x61485624u}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 122 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[INPUT_ANNEXES_HASH] = { .tag = JET -, .jet = input_annexes_hash -, .cmr = {{0x260dc71du, 0x414eb859u, 0xc4a2cb33u, 0xca7406cfu, 0x067bc3c2u, 0x1c339903u, 0x5febafd4u, 0x0e9029c9u}} +, .jet = simplicity_input_annexes_hash +, .cmr = {{0xe3595ea7u, 0x7e4810f9u, 0x447d1aa7u, 0x3d5f5336u, 0x0e3e8dc2u, 0x09e2c6d1u, 0xcda4728fu, 0x1b0dbbffu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 290 /* milli weight units */ +, .cost = 155 /* milli weight units */ } ,[INPUT_ASSET] = { .tag = JET -, .jet = input_asset -, .cmr = {{0x6072d81bu, 0x12015ab2u, 0x97efa1e8u, 0xa7713804u, 0x26ef0a12u, 0xf90d61e1u, 0xd419d082u, 0xe67b7565u}} +, .jet = simplicity_input_asset +, .cmr = {{0xa44a2991u, 0x1cb8d65au, 0x91328796u, 0x245eb915u, 0x507937b7u, 0xa7f3be76u, 0x60a8c380u, 0x47ad1ecbu}} , .sourceIx = ty_w32 , .targetIx = ty_mspbw256w256 -, .cost = 220 /* milli weight units */ +, .cost = 162 /* milli weight units */ } ,[INPUT_HASH] = { .tag = JET -, .jet = input_hash -, .cmr = {{0xb5d0d777u, 0x851e89d1u, 0x41d3cda1u, 0xb0f251e9u, 0xc31011d1u, 0xb01c2939u, 0x77119662u, 0xc349959eu}} +, .jet = simplicity_input_hash +, .cmr = {{0xba63cae3u, 0xee4a22e2u, 0x5fdd56bbu, 0x843cde5du, 0xe94e774bu, 0xb0db1113u, 0x0cd53997u, 0xd611452au}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 289 /* milli weight units */ +, .cost = 965 /* milli weight units */ } ,[INPUT_OUTPOINTS_HASH] = { .tag = JET -, .jet = input_outpoints_hash -, .cmr = {{0xdad26093u, 0x0c5f4d23u, 0x8d83565au, 0x6757e147u, 0x0030cb29u, 0xe0fd1e18u, 0xfc46edf3u, 0x1e650557u}} +, .jet = simplicity_input_outpoints_hash +, .cmr = {{0x7ff3b3d4u, 0x38864135u, 0xb9a0bb49u, 0xa3001a0eu, 0x4bd38c21u, 0xd2c6a7adu, 0x761bd6a5u, 0x846d44acu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 408 /* milli weight units */ +, .cost = 142 /* milli weight units */ } ,[INPUT_PEGIN] = { .tag = JET -, .jet = input_pegin -, .cmr = {{0x98f0575au, 0x0a978d26u, 0x626b79c8u, 0x424b4a5du, 0x16d94244u, 0xca606c8au, 0x63bee7e4u, 0xb0509122u}} +, .jet = simplicity_input_pegin +, .cmr = {{0x0f2275ecu, 0x2404a92au, 0x0054a214u, 0xf1edafd5u, 0x92a41419u, 0xabacc5b4u, 0x6ae14b92u, 0xf75ea6fau}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 235 /* milli weight units */ +, .cost = 151 /* milli weight units */ } ,[INPUT_PREV_OUTPOINT] = { .tag = JET -, .jet = input_prev_outpoint -, .cmr = {{0x7ad26d34u, 0x37c5aebau, 0x3b3d6b54u, 0x128d4d5eu, 0x9b99e9edu, 0x50fe7e07u, 0x674cc734u, 0x8055d895u}} +, .jet = simplicity_input_prev_outpoint +, .cmr = {{0xa5199407u, 0x251c98f7u, 0xcfcdf5b6u, 0x709c2d4bu, 0xa5692a42u, 0x3c280c2bu, 0x63be2ae1u, 0x37b1b900u}} , .sourceIx = ty_w32 , .targetIx = ty_mpw256w32 -, .cost = 326 /* milli weight units */ +, .cost = 160 /* milli weight units */ } ,[INPUT_SCRIPT_HASH] = { .tag = JET -, .jet = input_script_hash -, .cmr = {{0xa004c23cu, 0x28e3c938u, 0x9c2a7de1u, 0xf5091364u, 0x3a7ec259u, 0x77a31bd9u, 0x12e148d6u, 0x7b82b6dau}} +, .jet = simplicity_input_script_hash +, .cmr = {{0xdc68bd41u, 0x6caf5f7au, 0x77add202u, 0xb2bd4d91u, 0x5b2dcbcbu, 0xb79471f9u, 0xe14b7ca6u, 0xb8502064u}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 285 /* milli weight units */ +, .cost = 147 /* milli weight units */ } ,[INPUT_SCRIPT_SIG_HASH] = { .tag = JET -, .jet = input_script_sig_hash -, .cmr = {{0x25a59e2au, 0xed6be14cu, 0xc0b08f91u, 0xf81ce371u, 0xe396fe38u, 0xd719c33du, 0x38502866u, 0x8ae2eb87u}} +, .jet = simplicity_input_script_sig_hash +, .cmr = {{0xabdf166au, 0x06df3209u, 0x807bbeadu, 0x533cfa8bu, 0x1790afc1u, 0x603310e4u, 0xd010a49fu, 0xaa4131d8u}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 231 /* milli weight units */ +, .cost = 153 /* milli weight units */ } ,[INPUT_SCRIPT_SIGS_HASH] = { .tag = JET -, .jet = input_script_sigs_hash -, .cmr = {{0xc47dc33eu, 0x1f780263u, 0x4928f1f5u, 0xd638558bu, 0x8f417eb2u, 0xbff69f54u, 0x2e8ceb98u, 0xbe1f02cdu}} +, .jet = simplicity_input_script_sigs_hash +, .cmr = {{0x5e8746c0u, 0xcc04e8f2u, 0x6116b386u, 0x23bfe3b6u, 0x843e3fc0u, 0x93dda409u, 0xd86e4db7u, 0x5c90aa61u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 283 /* milli weight units */ +, .cost = 138 /* milli weight units */ } ,[INPUT_SCRIPTS_HASH] = { .tag = JET -, .jet = input_scripts_hash -, .cmr = {{0xcfa056e1u, 0x249e8eb1u, 0xcdb7fee1u, 0x2383efa6u, 0x62028e7au, 0xdfcefa4fu, 0x8aa519f6u, 0x51cab9beu}} +, .jet = simplicity_input_scripts_hash +, .cmr = {{0x9d5fa7e0u, 0xd8f77460u, 0x8ebcfffcu, 0x3f3c6b70u, 0xf023629bu, 0xc3492d11u, 0xec72598eu, 0x8688dbd4u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 280 /* milli weight units */ +, .cost = 137 /* milli weight units */ } ,[INPUT_SEQUENCE] = { .tag = JET -, .jet = input_sequence -, .cmr = {{0x9f7a6694u, 0xe5991343u, 0x57c5ee0bu, 0x1ee6d0aeu, 0x5f954d5cu, 0xd1b10e09u, 0x20197a33u, 0xec877a4cu}} +, .jet = simplicity_input_sequence +, .cmr = {{0xdb04ac58u, 0x0435cacdu, 0xd2e4ab32u, 0x4ec70187u, 0xb26a6686u, 0xd8618bcbu, 0xb25d1d4eu, 0xcaa932ceu}} , .sourceIx = ty_w32 , .targetIx = ty_mw32 -, .cost = 144 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[INPUT_SEQUENCES_HASH] = { .tag = JET -, .jet = input_sequences_hash -, .cmr = {{0x4b8b17e2u, 0x5e918156u, 0xd5625586u, 0x019aa0f7u, 0x6b79a53au, 0x24495de3u, 0xe39c48bbu, 0x03722edau}} +, .jet = simplicity_input_sequences_hash +, .cmr = {{0xd2538ef1u, 0x5f5cf602u, 0x49f92c2cu, 0x02f25507u, 0x2c1b4e4fu, 0x1ba2861eu, 0x5daa500du, 0x5e78e3a5u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 292 /* milli weight units */ +, .cost = 142 /* milli weight units */ } ,[INPUT_UTXO_HASH] = { .tag = JET -, .jet = input_utxo_hash -, .cmr = {{0xd6453aeeu, 0xb2b18b4cu, 0x1bb02b33u, 0x51ce5135u, 0x45cb7f10u, 0x62f2a3fau, 0xc680d0bbu, 0xcac63e86u}} +, .jet = simplicity_input_utxo_hash +, .cmr = {{0x364c4df7u, 0x765f7d30u, 0x4234a1f3u, 0xb62b3870u, 0xa7a050f4u, 0x824ad8c9u, 0x71c8fdc4u, 0x0c98155du}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 409 /* milli weight units */ +, .cost = 1996 /* milli weight units */ } ,[INPUT_UTXOS_HASH] = { .tag = JET -, .jet = input_utxos_hash -, .cmr = {{0xde24825fu, 0xdb9d56dau, 0x3638bd48u, 0x0005c3dbu, 0x574fdf11u, 0xc15303b2u, 0x42e29bdbu, 0xc51df389u}} +, .jet = simplicity_input_utxos_hash +, .cmr = {{0xd2c1ff7fu, 0xd1623044u, 0xcea58920u, 0x8bb26e18u, 0xe67d6f75u, 0x851c26beu, 0x5b2bafc0u, 0x40ceff83u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 409 /* milli weight units */ +, .cost = 140 /* milli weight units */ } ,[INPUTS_HASH] = { .tag = JET -, .jet = inputs_hash -, .cmr = {{0x5678275eu, 0xde8721f1u, 0xabda5cb4u, 0x60b30238u, 0x11d23e47u, 0xcc1f11c1u, 0xf4458035u, 0xcdc3d7ecu}} +, .jet = simplicity_inputs_hash +, .cmr = {{0xb46c91acu, 0x9cfa6b9fu, 0x086c3833u, 0x591be31au, 0xa85e951bu, 0x2ce21af1u, 0x179d2859u, 0xf71142b9u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 289 /* milli weight units */ +, .cost = 154 /* milli weight units */ } ,[INTERNAL_KEY] = { .tag = JET -, .jet = internal_key -, .cmr = {{0x6e048732u, 0x5df1ac05u, 0xd2d7decbu, 0xee3fc1f5u, 0xd63df047u, 0xf69c22b4u, 0xd93bc47cu, 0xbab44941u}} +, .jet = simplicity_internal_key +, .cmr = {{0xd74def82u, 0x874fe2fdu, 0x21aa3998u, 0xf65aa1afu, 0x33f72a5bu, 0x1b3f47b7u, 0x3adc39ebu, 0xfb3a4e9bu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 272 /* milli weight units */ +, .cost = 152 /* milli weight units */ } ,[IS_ONE_16] = { .tag = JET -, .jet = is_one_16 -, .cmr = {{0x877cd001u, 0xd5e7b74eu, 0xdd1a4a5cu, 0x965641d4u, 0xfb53682du, 0x7fefae50u, 0xb5141218u, 0xc04be5afu}} +, .jet = simplicity_is_one_16 +, .cmr = {{0xa686b25cu, 0x80a21f78u, 0xfb3074c0u, 0xf976dc0bu, 0x8fe106c1u, 0x3dca01cbu, 0xd6b4aef6u, 0xd04f2643u}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 117 /* milli weight units */ +, .cost = 82 /* milli weight units */ } ,[IS_ONE_32] = { .tag = JET -, .jet = is_one_32 -, .cmr = {{0x83354e97u, 0xd614600au, 0x49894ec2u, 0xc9d1980fu, 0x9c4c928cu, 0x1561eecau, 0xc99c1681u, 0x9c2b0791u}} +, .jet = simplicity_is_one_32 +, .cmr = {{0xfcfadf11u, 0xd7b1bb23u, 0x9f29d1cau, 0x9fdcf35bu, 0x728a1a62u, 0x2376071du, 0x3c4d88a1u, 0x3b122684u}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 136 /* milli weight units */ +, .cost = 65 /* milli weight units */ } ,[IS_ONE_64] = { .tag = JET -, .jet = is_one_64 -, .cmr = {{0xb355f602u, 0xec76c4c4u, 0xce707720u, 0xfd543432u, 0x22a7c8cfu, 0xca439451u, 0xf23f9854u, 0x395078bau}} +, .jet = simplicity_is_one_64 +, .cmr = {{0xcf691072u, 0x3754ba79u, 0x4395da5du, 0x58d61c19u, 0x003e45eeu, 0xcfbfc90du, 0x49fe657fu, 0x607c451cu}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 163 /* milli weight units */ +, .cost = 83 /* milli weight units */ } ,[IS_ONE_8] = { .tag = JET -, .jet = is_one_8 -, .cmr = {{0xf2459cf3u, 0x5b972029u, 0xfbb22e82u, 0x191ace11u, 0x732b1e08u, 0x346e21cfu, 0x0d305b41u, 0xfae87990u}} +, .jet = simplicity_is_one_8 +, .cmr = {{0x56a22d0eu, 0xcb2086d4u, 0x3d52fd1du, 0x46698ad4u, 0x426f9235u, 0x6a14ce06u, 0x50941e52u, 0x072c96a8u}} , .sourceIx = ty_w8 , .targetIx = ty_b -, .cost = 160 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[IS_ZERO_16] = { .tag = JET -, .jet = is_zero_16 -, .cmr = {{0x6ed03325u, 0x6fe645b5u, 0xec3f5950u, 0x8c60192au, 0xc8763008u, 0x915c8115u, 0xe929330cu, 0x0fcd4838u}} +, .jet = simplicity_is_zero_16 +, .cmr = {{0xf49abdbdu, 0x6a3f17c8u, 0x7dbabd40u, 0xe6611c47u, 0x7d431771u, 0x905645efu, 0xd3b22d37u, 0x91abe6bdu}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 143 /* milli weight units */ +, .cost = 75 /* milli weight units */ } ,[IS_ZERO_32] = { .tag = JET -, .jet = is_zero_32 -, .cmr = {{0x1af358a0u, 0x6be93ac6u, 0xf37cbb7du, 0x254d7bf9u, 0xd7187738u, 0xbaf1f25du, 0x0b67c9ffu, 0xe00f6a62u}} +, .jet = simplicity_is_zero_32 +, .cmr = {{0x935d13dau, 0x64190a36u, 0x04735af8u, 0x4021bc12u, 0x503497eeu, 0x4b0ff4b7u, 0x38fc847eu, 0x9d341921u}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 135 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[IS_ZERO_64] = { .tag = JET -, .jet = is_zero_64 -, .cmr = {{0xc1100cfcu, 0x16203ca4u, 0x44f16082u, 0x645b724du, 0x3ecd23dfu, 0x5d0ccf91u, 0xf35c5d9bu, 0x5a02a2f2u}} +, .jet = simplicity_is_zero_64 +, .cmr = {{0xe9b57475u, 0x1330f9feu, 0xaea52ae4u, 0xcdd3a2e4u, 0x6a999c4fu, 0x41c8b524u, 0x002c6805u, 0x66584621u}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 136 /* milli weight units */ +, .cost = 80 /* milli weight units */ } ,[IS_ZERO_8] = { .tag = JET -, .jet = is_zero_8 -, .cmr = {{0x4d58680du, 0x8e1e8618u, 0xc43ce525u, 0xf78661a3u, 0x01486758u, 0x61a612d1u, 0xbfcfe3bbu, 0x5fa4ca95u}} +, .jet = simplicity_is_zero_8 +, .cmr = {{0xfd7fc505u, 0xc224e8bcu, 0x02087f9eu, 0xebc485e9u, 0x97ca1537u, 0x48c78112u, 0x2e1b9ac0u, 0xfd94b932u}} , .sourceIx = ty_w8 , .targetIx = ty_b -, .cost = 163 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[ISSUANCE] = { .tag = JET -, .jet = issuance -, .cmr = {{0x1dd033d3u, 0x2cd8e890u, 0x2f5ecb18u, 0x3385ec2bu, 0x0c27da38u, 0xae8e7b59u, 0x3f68f9b1u, 0xa4e62051u}} +, .jet = simplicity_issuance +, .cmr = {{0x911e8739u, 0x8f08b9acu, 0x8351c8efu, 0x62c1a114u, 0x8ca6ffc7u, 0x7a4bc378u, 0x3b8e0739u, 0xebb6194eu}} , .sourceIx = ty_w32 , .targetIx = ty_mmb -, .cost = 116 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[ISSUANCE_ASSET] = { .tag = JET -, .jet = issuance_asset -, .cmr = {{0x7a3699d0u, 0x71030b58u, 0xd9f41ae1u, 0x1c637bacu, 0x977849f6u, 0x9a0487b1u, 0x9d2336d1u, 0xa7c6b705u}} +, .jet = simplicity_issuance_asset +, .cmr = {{0xc3d642dau, 0x7092da2au, 0x37a2d5b6u, 0x397f6b04u, 0x7702e354u, 0x6e898738u, 0x46587912u, 0xd709ddbcu}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 241 /* milli weight units */ +, .cost = 151 /* milli weight units */ } ,[ISSUANCE_ASSET_AMOUNT] = { .tag = JET -, .jet = issuance_asset_amount -, .cmr = {{0x75bd9955u, 0x9c022dbfu, 0x5d5cf951u, 0xcb33ea37u, 0x05058bf8u, 0x1fbc74d5u, 0x9bbfba9eu, 0x37a1be0du}} +, .jet = simplicity_issuance_asset_amount +, .cmr = {{0x25c572dbu, 0x81b0ac54u, 0x58804ac3u, 0x3a57c00du, 0x11c72a10u, 0x4c0d9cf7u, 0x4226e444u, 0x049bcc83u}} , .sourceIx = ty_w32 , .targetIx = ty_mmspbw256w64 -, .cost = 261 /* milli weight units */ +, .cost = 162 /* milli weight units */ } ,[ISSUANCE_ASSET_AMOUNTS_HASH] = { .tag = JET -, .jet = issuance_asset_amounts_hash -, .cmr = {{0x8c090d1au, 0x32b32b27u, 0x1fa376a3u, 0xba303616u, 0x8c0f62f9u, 0xa446ace2u, 0x9b3545c9u, 0xe51f3e47u}} +, .jet = simplicity_issuance_asset_amounts_hash +, .cmr = {{0x379a9f69u, 0x9aed347au, 0xc13699cfu, 0x8c13e497u, 0x8a0e0525u, 0xfa09ab3cu, 0x46d54c3bu, 0xb848913cu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 276 /* milli weight units */ +, .cost = 139 /* milli weight units */ } ,[ISSUANCE_ASSET_PROOF] = { .tag = JET -, .jet = issuance_asset_proof -, .cmr = {{0xc0482071u, 0x1dc25ab0u, 0x61da6de8u, 0x32788d6du, 0xbfb54cfeu, 0xeafddb7eu, 0x1eae6085u, 0x0a766ee9u}} +, .jet = simplicity_issuance_asset_proof +, .cmr = {{0xe2ac38bcu, 0x9445fadcu, 0x55c9841eu, 0xc6f84282u, 0x3066f647u, 0x776eaa03u, 0xbff58d14u, 0x3171117cu}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 229 /* milli weight units */ +, .cost = 150 /* milli weight units */ } ,[ISSUANCE_BLINDING_ENTROPY_HASH] = { .tag = JET -, .jet = issuance_blinding_entropy_hash -, .cmr = {{0x3c429fa6u, 0x28e12ccfu, 0x9f167a07u, 0xe26f70afu, 0x36cb3459u, 0x964dbc14u, 0x2b524d40u, 0x9db1699bu}} +, .jet = simplicity_issuance_blinding_entropy_hash +, .cmr = {{0x53321092u, 0xa0251a3bu, 0x57c58ac4u, 0x479191e3u, 0x1dbb1239u, 0x247b3c1eu, 0xb5761b48u, 0x22b3bb57u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 278 /* milli weight units */ +, .cost = 129 /* milli weight units */ } ,[ISSUANCE_ENTROPY] = { .tag = JET -, .jet = issuance_entropy -, .cmr = {{0x61f31455u, 0xd9982801u, 0x25df98e5u, 0x983d72f5u, 0xfbfdd65cu, 0x6369a0e7u, 0x8d07702fu, 0x28e2ff5eu}} +, .jet = simplicity_issuance_entropy +, .cmr = {{0xbc88dc73u, 0xc27d9395u, 0xd3b44c2eu, 0x389fa1c5u, 0x46a8fe78u, 0x22607e26u, 0xa6c4c5c8u, 0xbfcad628u}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 437 /* milli weight units */ +, .cost = 153 /* milli weight units */ } ,[ISSUANCE_HASH] = { .tag = JET -, .jet = issuance_hash -, .cmr = {{0x3a7c8ea2u, 0xde579879u, 0x275bf1beu, 0xa7be5279u, 0xe703a36du, 0xc5f4e488u, 0x53a3af9bu, 0x0c501b66u}} +, .jet = simplicity_issuance_hash +, .cmr = {{0xb0f1f85au, 0x33eb4065u, 0xb41b5e14u, 0xa817a21du, 0xea01230cu, 0x534c634du, 0x0f6f62b2u, 0x79374692u}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 281 /* milli weight units */ +, .cost = 3738 /* milli weight units */ } ,[ISSUANCE_RANGE_PROOFS_HASH] = { .tag = JET -, .jet = issuance_range_proofs_hash -, .cmr = {{0xe05a29d1u, 0x7161105eu, 0x3b5221f4u, 0xebae702bu, 0x0c4c72b6u, 0xcb70dfdeu, 0xe2dc607bu, 0xa8a8cf72u}} +, .jet = simplicity_issuance_range_proofs_hash +, .cmr = {{0x46c80e30u, 0x1a3d76d4u, 0xd36ab017u, 0xbd0eca7eu, 0x4b5ff244u, 0x706e73a1u, 0xd415c958u, 0x578cd9d1u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 280 /* milli weight units */ +, .cost = 129 /* milli weight units */ } ,[ISSUANCE_TOKEN] = { .tag = JET -, .jet = issuance_token -, .cmr = {{0x0c7e9b99u, 0xf9ec40f6u, 0x7020f83eu, 0x7367db45u, 0x88038ecdu, 0x1b3124b9u, 0x5be98267u, 0xd5f348c8u}} +, .jet = simplicity_issuance_token +, .cmr = {{0x356e77c8u, 0x952740aeu, 0xfa9315a2u, 0xc4e08799u, 0x129f9a43u, 0xf976e0feu, 0xaf7a60c3u, 0x9d9807ccu}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 253 /* milli weight units */ +, .cost = 149 /* milli weight units */ } ,[ISSUANCE_TOKEN_AMOUNT] = { .tag = JET -, .jet = issuance_token_amount -, .cmr = {{0x9554ccd2u, 0x417ed6b3u, 0x75b17883u, 0xf7e98557u, 0xe448d804u, 0xccec8dc6u, 0xa3a38c60u, 0xf2f4097au}} +, .jet = simplicity_issuance_token_amount +, .cmr = {{0x826f0c44u, 0x4827f604u, 0x2fac0c3eu, 0xd34ff623u, 0x6da3a525u, 0xf68d5f2cu, 0xd1be55f4u, 0xa2d59531u}} , .sourceIx = ty_w32 , .targetIx = ty_mmspbw256w64 -, .cost = 240 /* milli weight units */ +, .cost = 196 /* milli weight units */ } ,[ISSUANCE_TOKEN_AMOUNTS_HASH] = { .tag = JET -, .jet = issuance_token_amounts_hash -, .cmr = {{0x195e7666u, 0x1a78bc69u, 0x1ef0139eu, 0x1f366a96u, 0x6f75584au, 0xb7768dc7u, 0x8fffabdeu, 0x155601f6u}} +, .jet = simplicity_issuance_token_amounts_hash +, .cmr = {{0x144dfd45u, 0xfba32109u, 0xf5deae01u, 0x8b61cd66u, 0x3782d9bcu, 0xe6b38258u, 0xa405d204u, 0x9c5d4af9u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 289 /* milli weight units */ +, .cost = 138 /* milli weight units */ } ,[ISSUANCE_TOKEN_PROOF] = { .tag = JET -, .jet = issuance_token_proof -, .cmr = {{0x9bd45c77u, 0x4d41d208u, 0x968d9adeu, 0x7d280debu, 0x05c2699au, 0xb2b870ebu, 0xe6f44ac3u, 0xb52ec8feu}} +, .jet = simplicity_issuance_token_proof +, .cmr = {{0x8a254d11u, 0x89f12df8u, 0x4f15fed9u, 0x5ac294d5u, 0xd956268eu, 0x80bbdfbbu, 0x4ca2d598u, 0xa15349a4u}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 233 /* milli weight units */ +, .cost = 150 /* milli weight units */ } ,[ISSUANCES_HASH] = { .tag = JET -, .jet = issuances_hash -, .cmr = {{0x9ab9fd03u, 0xff1c6958u, 0x6174bc26u, 0xa88764f0u, 0xdf9cc7ddu, 0x6e61f3dcu, 0x3e426660u, 0xf0912230u}} +, .jet = simplicity_issuances_hash +, .cmr = {{0xeebbeb65u, 0xb70c6110u, 0xc8a22b4du, 0x3197b6d2u, 0x110d2376u, 0x9a084923u, 0x8abc65d4u, 0x10cf04f0u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 281 /* milli weight units */ +, .cost = 141 /* milli weight units */ } ,[LBTC_ASSET] = { .tag = JET -, .jet = lbtc_asset -, .cmr = {{0x495dd0a1u, 0xcb39ee84u, 0xff45e1dfu, 0x3db4b69du, 0xe27c37c3u, 0x6d69b312u, 0x976c43f5u, 0x0e5d941au}} +, .jet = simplicity_lbtc_asset +, .cmr = {{0xdf9bcd3fu, 0x9de3d246u, 0x4658db84u, 0x9038692eu, 0x3389bf22u, 0x86de8e17u, 0xa567ea11u, 0xc02e9aacu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 3065 /* milli weight units */ +, .cost = 145 /* milli weight units */ } ,[LE_16] = { .tag = JET -, .jet = le_16 -, .cmr = {{0xd617feeau, 0xfd6ffc23u, 0xfeffbe70u, 0x12ce3a03u, 0x02d4d111u, 0x665822b3u, 0x04b79adbu, 0xcc9a16d7u}} +, .jet = simplicity_le_16 +, .cmr = {{0x98af70d8u, 0x94f3d439u, 0xbe0601e2u, 0x4a33f065u, 0x0d2365bcu, 0xf0230288u, 0x62ebfda4u, 0xd50a2dcau}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 166 /* milli weight units */ +, .cost = 112 /* milli weight units */ } ,[LE_32] = { .tag = JET -, .jet = le_32 -, .cmr = {{0x45745c5bu, 0xc7f8978fu, 0x85b1b14du, 0x494af21au, 0x8a51ccd8u, 0x7f3fede9u, 0x59749591u, 0x32aef9ceu}} +, .jet = simplicity_le_32 +, .cmr = {{0x04a8351au, 0x4c97d3b5u, 0xde4f91b2u, 0xe9739d9bu, 0x3cc6ad49u, 0xca07109cu, 0x2cc4918fu, 0xafac66b5u}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 216 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[LE_64] = { .tag = JET -, .jet = le_64 -, .cmr = {{0x3a8f0870u, 0x900af71du, 0x4242fe26u, 0xad4dfbedu, 0x92f30bb7u, 0x9b72737du, 0xbcab9ac5u, 0xc070abe5u}} +, .jet = simplicity_le_64 +, .cmr = {{0x194c01d8u, 0xaa689517u, 0x11e61514u, 0x0e2b5aceu, 0x426dacd1u, 0xfd6d86c7u, 0xa72f3aaau, 0x089c2467u}} , .sourceIx = ty_w128 , .targetIx = ty_b -, .cost = 173 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[LE_8] = { .tag = JET -, .jet = le_8 -, .cmr = {{0x5ecc9b33u, 0x25446749u, 0xafa40965u, 0xea21e011u, 0x18fb8c1au, 0xdcdc1121u, 0x9793cb2au, 0xfc4a7e8cu}} +, .jet = simplicity_le_8 +, .cmr = {{0xb133ad2du, 0x1a6178b1u, 0x9894c9dcu, 0xe5924c19u, 0x9a045fabu, 0x4e388f16u, 0x9ae1d869u, 0x81149a8bu}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 143 /* milli weight units */ +, .cost = 109 /* milli weight units */ } ,[LEFT_EXTEND_16_32] = { .tag = JET -, .jet = left_extend_16_32 -, .cmr = {{0x8c990435u, 0xb135de74u, 0x57c2690du, 0x2dc8744au, 0x506641b8u, 0x81f41e5cu, 0x17027765u, 0xc352ddcbu}} +, .jet = simplicity_left_extend_16_32 +, .cmr = {{0x9dbb9d79u, 0x97c1b1fau, 0x59131e79u, 0xaad16b9fu, 0xca81c468u, 0x322d56ccu, 0x0e71fa05u, 0xdd80c96cu}} , .sourceIx = ty_w16 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[LEFT_EXTEND_16_64] = { .tag = JET -, .jet = left_extend_16_64 -, .cmr = {{0x9b9ff9ccu, 0x27139319u, 0xb224b7b2u, 0xb816c913u, 0xa568bfd0u, 0x0be1f383u, 0xc026bcffu, 0xe9bfe712u}} +, .jet = simplicity_left_extend_16_64 +, .cmr = {{0x5d3329d2u, 0xc29be104u, 0xde74ddafu, 0xc9b22ff6u, 0x5d268ba2u, 0xccdda677u, 0xe8fbfc65u, 0x0130a371u}} , .sourceIx = ty_w16 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 89 /* milli weight units */ } ,[LEFT_EXTEND_1_16] = { .tag = JET -, .jet = left_extend_1_16 -, .cmr = {{0xb8ff8dc1u, 0xa04ca716u, 0x4917f4c4u, 0x50688c83u, 0xdd416cefu, 0x7b0fabddu, 0x1692fae6u, 0xbff7b4a6u}} +, .jet = simplicity_left_extend_1_16 +, .cmr = {{0x74ee5a71u, 0x889e97c0u, 0x3d9b904cu, 0x679ff7f2u, 0xe8c7410eu, 0x6dc748e0u, 0xb548ebfdu, 0x9603d1adu}} , .sourceIx = ty_b , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 67 /* milli weight units */ } ,[LEFT_EXTEND_1_32] = { .tag = JET -, .jet = left_extend_1_32 -, .cmr = {{0x2253a452u, 0xb99902abu, 0xcf15496du, 0xf19d3112u, 0xa1cef59bu, 0x9adcee20u, 0x6c0d8dceu, 0xa628d073u}} +, .jet = simplicity_left_extend_1_32 +, .cmr = {{0x97ac6403u, 0xdf61c784u, 0x1396c93eu, 0x141fafc2u, 0xa0966e3eu, 0x4974877bu, 0x9e942be5u, 0x9c78c800u}} , .sourceIx = ty_b , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 60 /* milli weight units */ } ,[LEFT_EXTEND_1_64] = { .tag = JET -, .jet = left_extend_1_64 -, .cmr = {{0xc8599c85u, 0x75edb7c2u, 0x60402ef2u, 0xf26dd491u, 0xcb5e4d38u, 0x18ff2e95u, 0x85c8d3e7u, 0x812db5aau}} +, .jet = simplicity_left_extend_1_64 +, .cmr = {{0x548aeb2bu, 0x27b9ef2au, 0x0bec50b6u, 0x3852fe24u, 0x549e60a7u, 0x43b9789eu, 0xc98ad4f8u, 0x737713edu}} , .sourceIx = ty_b , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 76 /* milli weight units */ } ,[LEFT_EXTEND_1_8] = { .tag = JET -, .jet = left_extend_1_8 -, .cmr = {{0xcfe02200u, 0x5f6bad4bu, 0x25b51e9eu, 0xbe929424u, 0x373ff197u, 0xceca62b9u, 0xe069ab08u, 0xda9f38f2u}} +, .jet = simplicity_left_extend_1_8 +, .cmr = {{0x7488da61u, 0x1cfcdfa4u, 0xff3d63f8u, 0xc36d5a62u, 0x9c587e92u, 0x20bd989bu, 0xda720678u, 0xa9c97bf7u}} , .sourceIx = ty_b , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 65 /* milli weight units */ } ,[LEFT_EXTEND_32_64] = { .tag = JET -, .jet = left_extend_32_64 -, .cmr = {{0x3f668404u, 0x7edafb76u, 0xf11fbf59u, 0x5499c5abu, 0xa9c4ba55u, 0xcab587cdu, 0xfebad457u, 0xb55bf5bbu}} +, .jet = simplicity_left_extend_32_64 +, .cmr = {{0x3433509au, 0x5de5695du, 0x92cab925u, 0x5143d606u, 0x670568c1u, 0x47f474d1u, 0x3593f539u, 0x5b9ad2c1u}} , .sourceIx = ty_w32 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 63 /* milli weight units */ } ,[LEFT_EXTEND_8_16] = { .tag = JET -, .jet = left_extend_8_16 -, .cmr = {{0xdbd55f41u, 0x70153853u, 0xbad0e084u, 0xf9e1a7e7u, 0x5a7a0dc9u, 0xd8920775u, 0x575b0d48u, 0xe507af2fu}} +, .jet = simplicity_left_extend_8_16 +, .cmr = {{0x420d0a56u, 0x99b8875au, 0xcc2d18fdu, 0xa90c8a72u, 0x746d3e5eu, 0x0cd8c181u, 0x897a814cu, 0x4c433969u}} , .sourceIx = ty_w8 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[LEFT_EXTEND_8_32] = { .tag = JET -, .jet = left_extend_8_32 -, .cmr = {{0x5b5b4567u, 0x6a7503eeu, 0xd0855738u, 0x69dbc580u, 0x0b35029du, 0x140290acu, 0x20891489u, 0xbd2aa7d5u}} +, .jet = simplicity_left_extend_8_32 +, .cmr = {{0xc30e475du, 0x4650abe4u, 0xae15c327u, 0x4ae8838du, 0xd51588d1u, 0x5bd0c6dcu, 0xacf982aau, 0x467bea62u}} , .sourceIx = ty_w8 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[LEFT_EXTEND_8_64] = { .tag = JET -, .jet = left_extend_8_64 -, .cmr = {{0x7b9ea148u, 0xa30f2af4u, 0xd4001d4fu, 0x25b0bf4fu, 0xdd67c7d0u, 0xf134d7efu, 0x3f678f72u, 0x19002bcfu}} +, .jet = simplicity_left_extend_8_64 +, .cmr = {{0xa63a6e66u, 0x72e1b6c7u, 0x56549a3eu, 0xee01948eu, 0x711994feu, 0x18d7caedu, 0xf10915c1u, 0x60d7a80du}} , .sourceIx = ty_w8 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 107 /* milli weight units */ } ,[LEFT_PAD_HIGH_16_32] = { .tag = JET -, .jet = left_pad_high_16_32 -, .cmr = {{0xe8c2d85au, 0x7b7b2a8eu, 0xbb5b0f21u, 0x2fc8450du, 0xc1d3a468u, 0x22fb21e8u, 0x6e3fee02u, 0x0af9738fu}} +, .jet = simplicity_left_pad_high_16_32 +, .cmr = {{0x72eca5c1u, 0x13743ef0u, 0xb60255ceu, 0x56787772u, 0xc7e75eecu, 0xb0e3b91eu, 0x1a847d75u, 0xf4851487u}} , .sourceIx = ty_w16 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[LEFT_PAD_HIGH_16_64] = { .tag = JET -, .jet = left_pad_high_16_64 -, .cmr = {{0x613b85d2u, 0xa751b3e5u, 0x1fbc59a1u, 0xdedd1fc7u, 0x93365e40u, 0x71dc1e01u, 0x4108d892u, 0x0d41d470u}} +, .jet = simplicity_left_pad_high_16_64 +, .cmr = {{0xf6af32bfu, 0xe6697611u, 0x57ceb1e8u, 0x30277d61u, 0x0e124f15u, 0xd508685eu, 0x4037f8fbu, 0x388fbda9u}} , .sourceIx = ty_w16 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 110 /* milli weight units */ } ,[LEFT_PAD_HIGH_1_16] = { .tag = JET -, .jet = left_pad_high_1_16 -, .cmr = {{0xe82b00efu, 0xd7dcc34eu, 0x96e8f3e5u, 0x1ead12d3u, 0x845f6c77u, 0x85e4438bu, 0x05457d95u, 0x326e59e3u}} +, .jet = simplicity_left_pad_high_1_16 +, .cmr = {{0xa7ef7fc5u, 0x2d9a0321u, 0xf92214c5u, 0x87689c12u, 0x696e4c46u, 0x02bf5395u, 0x81afaaebu, 0xd77945d6u}} , .sourceIx = ty_b , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 141 /* milli weight units */ } ,[LEFT_PAD_HIGH_1_32] = { .tag = JET -, .jet = left_pad_high_1_32 -, .cmr = {{0x88585b8cu, 0x4592d5d0u, 0x83dff68eu, 0xb5c230d0u, 0x6c37995au, 0x6fede22cu, 0x26e661a7u, 0x516e5bf4u}} +, .jet = simplicity_left_pad_high_1_32 +, .cmr = {{0xb5482636u, 0xc7af61f6u, 0x88f12b4du, 0xce209fcbu, 0x1a732c49u, 0x0abb236eu, 0x73968a01u, 0xd4d9351eu}} , .sourceIx = ty_b , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 263 /* milli weight units */ } ,[LEFT_PAD_HIGH_1_64] = { .tag = JET -, .jet = left_pad_high_1_64 -, .cmr = {{0xc27e3d02u, 0x94922058u, 0x890d5c8bu, 0x676c1daeu, 0xfdde6531u, 0xe8ae6d79u, 0x37539272u, 0x3ead9c03u}} +, .jet = simplicity_left_pad_high_1_64 +, .cmr = {{0x6a9f2a1fu, 0xf5d46c8eu, 0x6b7c3b81u, 0x01afa073u, 0x55c4f653u, 0xc1467e45u, 0xcd25cc09u, 0x2e3a11fau}} , .sourceIx = ty_b , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 422 /* milli weight units */ } ,[LEFT_PAD_HIGH_1_8] = { .tag = JET -, .jet = left_pad_high_1_8 -, .cmr = {{0x143e1239u, 0x2b8f2e73u, 0x5371fed0u, 0xb4b6d623u, 0xffa4f660u, 0xe5390c00u, 0xe567cf21u, 0xa1c92078u}} +, .jet = simplicity_left_pad_high_1_8 +, .cmr = {{0xd775a88au, 0x248004bdu, 0x821fa080u, 0x18521fe8u, 0x8171e842u, 0x84e0daffu, 0x4bc9e6cau, 0x1d8f8de4u}} , .sourceIx = ty_b , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[LEFT_PAD_HIGH_32_64] = { .tag = JET -, .jet = left_pad_high_32_64 -, .cmr = {{0xf4847c67u, 0x5667b3c6u, 0xa890fd5au, 0x6adb0927u, 0x557ee80cu, 0xd6e65af9u, 0xb1b47295u, 0x72cd8661u}} +, .jet = simplicity_left_pad_high_32_64 +, .cmr = {{0x0bf4894bu, 0xa0e54360u, 0x18f7ddd1u, 0xe1a12ca7u, 0xcd73096fu, 0xef066ad4u, 0xb778cc24u, 0x1957fafcu}} , .sourceIx = ty_w32 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[LEFT_PAD_HIGH_8_16] = { .tag = JET -, .jet = left_pad_high_8_16 -, .cmr = {{0x7618058au, 0x4e08eb52u, 0x43dad205u, 0xcc7e8d25u, 0x47380da0u, 0x5ec5411eu, 0xfc372baau, 0x2bb12da6u}} +, .jet = simplicity_left_pad_high_8_16 +, .cmr = {{0x06daf4f8u, 0xd5944f1fu, 0x86dfbc37u, 0x0587b44du, 0x8871612bu, 0x7a96b054u, 0x756192dbu, 0x8fac19b7u}} , .sourceIx = ty_w8 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[LEFT_PAD_HIGH_8_32] = { .tag = JET -, .jet = left_pad_high_8_32 -, .cmr = {{0x3dfed5c0u, 0xa9b26b8fu, 0x4a8eabd6u, 0xfbed87beu, 0x450de795u, 0xf541953eu, 0xec16a6d5u, 0xaa825a56u}} +, .jet = simplicity_left_pad_high_8_32 +, .cmr = {{0xbc207c1eu, 0x1eae88cdu, 0x1bb4f94cu, 0x61dbd850u, 0xbbfa64a6u, 0x20ebc04fu, 0x0c86928eu, 0xad2c3212u}} , .sourceIx = ty_w8 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 103 /* milli weight units */ } ,[LEFT_PAD_HIGH_8_64] = { .tag = JET -, .jet = left_pad_high_8_64 -, .cmr = {{0xce7c407eu, 0x4b561721u, 0xd66c1bb0u, 0xd17ee841u, 0xb4d504b4u, 0xc4c07200u, 0x2237140bu, 0x8909769fu}} +, .jet = simplicity_left_pad_high_8_64 +, .cmr = {{0xfa0c41c8u, 0xce560964u, 0x4c74fa32u, 0x8d64c1dcu, 0xa28050d5u, 0x3dfea6a1u, 0xe6dfb420u, 0xd9b47467u}} , .sourceIx = ty_w8 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 136 /* milli weight units */ } ,[LEFT_PAD_LOW_16_32] = { .tag = JET -, .jet = left_pad_low_16_32 -, .cmr = {{0xa28c7924u, 0xa47b46ecu, 0x73bcff6eu, 0x1328d439u, 0xaa903acfu, 0x103e9aa8u, 0x0b65ba76u, 0xd2a08e75u}} +, .jet = simplicity_left_pad_low_16_32 +, .cmr = {{0x23f74796u, 0xb83020ebu, 0xbf5aa5b6u, 0x9aa1f3d7u, 0x3df9b1c2u, 0x67e0124cu, 0x5ffe182au, 0x63cd2022u}} , .sourceIx = ty_w16 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 69 /* milli weight units */ } ,[LEFT_PAD_LOW_16_64] = { .tag = JET -, .jet = left_pad_low_16_64 -, .cmr = {{0xb6258acdu, 0xa2110ed9u, 0x8c17bca8u, 0x2712e3eau, 0x60866f7du, 0x4004c83eu, 0x8ae524b7u, 0xba44008bu}} +, .jet = simplicity_left_pad_low_16_64 +, .cmr = {{0xe5d6461au, 0xf1331cebu, 0xa45585e5u, 0x6ae6e128u, 0xdc7daa0eu, 0x070861cau, 0x6d19d854u, 0x33883dc4u}} , .sourceIx = ty_w16 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 106 /* milli weight units */ } ,[LEFT_PAD_LOW_1_16] = { .tag = JET -, .jet = left_pad_low_1_16 -, .cmr = {{0x1e1f6cc4u, 0x24648375u, 0x49b97d30u, 0x7e28a9c2u, 0x3680914cu, 0xd86d65c3u, 0x04679312u, 0x7b54fe82u}} +, .jet = simplicity_left_pad_low_1_16 +, .cmr = {{0x09dbcc20u, 0x32828855u, 0x2aa9e942u, 0x6c5cee24u, 0xdfceba87u, 0x2274aed5u, 0x5a832046u, 0x0a1791b2u}} , .sourceIx = ty_b , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 65 /* milli weight units */ } ,[LEFT_PAD_LOW_1_32] = { .tag = JET -, .jet = left_pad_low_1_32 -, .cmr = {{0xc338a195u, 0x5e99820du, 0x0ed31a5au, 0xfedd1358u, 0xc1744402u, 0x3e3f2b47u, 0x33d9f68cu, 0xb7b40cd9u}} +, .jet = simplicity_left_pad_low_1_32 +, .cmr = {{0x1d2763f2u, 0x60d47289u, 0x6c881c72u, 0xfb22b9a1u, 0x19258e12u, 0x996109d9u, 0xc949ca61u, 0xf937da0cu}} , .sourceIx = ty_b , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 63 /* milli weight units */ } ,[LEFT_PAD_LOW_1_64] = { .tag = JET -, .jet = left_pad_low_1_64 -, .cmr = {{0x689ed569u, 0xc201521eu, 0xc1954f0du, 0xc7d2128eu, 0x465a5204u, 0x99190549u, 0x858de9edu, 0x231a5d69u}} +, .jet = simplicity_left_pad_low_1_64 +, .cmr = {{0xa376878du, 0xfe352047u, 0x29f91cdfu, 0x5be658abu, 0xc5e7025au, 0xd96284c7u, 0xf6310e9fu, 0x9b1a5a3eu}} , .sourceIx = ty_b , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 61 /* milli weight units */ } ,[LEFT_PAD_LOW_1_8] = { .tag = JET -, .jet = left_pad_low_1_8 -, .cmr = {{0x5b519053u, 0xfd2bb758u, 0x473af8e3u, 0x910baef3u, 0x3cc801c0u, 0xb1420aafu, 0x814a7e72u, 0x54ea78f0u}} +, .jet = simplicity_left_pad_low_1_8 +, .cmr = {{0x74c2061bu, 0x87f5190fu, 0xe74322eau, 0xc2422b38u, 0xe37e9fccu, 0x4d6097ebu, 0x5ca4e30bu, 0x129b7a12u}} , .sourceIx = ty_b , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 56 /* milli weight units */ } ,[LEFT_PAD_LOW_32_64] = { .tag = JET -, .jet = left_pad_low_32_64 -, .cmr = {{0xac00a34fu, 0xb6a58e57u, 0xad223950u, 0x0e657137u, 0x5dfda0ceu, 0xa1175fe9u, 0x9d875cd8u, 0x718105e9u}} +, .jet = simplicity_left_pad_low_32_64 +, .cmr = {{0xf31ae284u, 0x313fdf37u, 0x73e3ee43u, 0x967dc8c6u, 0x7b73b780u, 0x06696671u, 0xd90dd259u, 0xd9a80613u}} , .sourceIx = ty_w32 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[LEFT_PAD_LOW_8_16] = { .tag = JET -, .jet = left_pad_low_8_16 -, .cmr = {{0xb6f6334cu, 0xc660e306u, 0x9f7e1437u, 0xa1943f61u, 0x0fc5a5abu, 0x8aa5105bu, 0xfcecd3dau, 0x0c59633cu}} +, .jet = simplicity_left_pad_low_8_16 +, .cmr = {{0x190499a4u, 0x9f873732u, 0xbfeb6d24u, 0x3afb3b66u, 0xdb07dce3u, 0x3ffe7173u, 0x28416708u, 0x701700d4u}} , .sourceIx = ty_w8 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 66 /* milli weight units */ } ,[LEFT_PAD_LOW_8_32] = { .tag = JET -, .jet = left_pad_low_8_32 -, .cmr = {{0x8aee9f42u, 0xda9b842eu, 0x41189596u, 0x594756bau, 0xd9bab295u, 0x3deae668u, 0x56b9cb60u, 0x1d7ac548u}} +, .jet = simplicity_left_pad_low_8_32 +, .cmr = {{0xb2cd3ff0u, 0xb4de890eu, 0x28b42796u, 0x41652fa0u, 0x8f2a8987u, 0x94f6ee6bu, 0x1282a798u, 0x26448d4au}} , .sourceIx = ty_w8 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 61 /* milli weight units */ } ,[LEFT_PAD_LOW_8_64] = { .tag = JET -, .jet = left_pad_low_8_64 -, .cmr = {{0x611d64ceu, 0x94f882fdu, 0xa24c97adu, 0xd1905421u, 0x2f46b3b9u, 0x8ef2ae22u, 0x79364539u, 0xb93e2b8bu}} +, .jet = simplicity_left_pad_low_8_64 +, .cmr = {{0x6e728908u, 0x254e09f4u, 0xd1a62caeu, 0x8d8a5996u, 0xe02bd728u, 0x0d496744u, 0x402ff322u, 0xcd12028fu}} , .sourceIx = ty_w8 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 112 /* milli weight units */ } ,[LEFT_ROTATE_16] = { .tag = JET -, .jet = left_rotate_16 -, .cmr = {{0x25e2d4ecu, 0xc03f8765u, 0x5e965b35u, 0x7d6fd0c2u, 0xea36d112u, 0x068c9633u, 0x39de467eu, 0x5c8e7d8eu}} +, .jet = simplicity_left_rotate_16 +, .cmr = {{0x2ce267c9u, 0xf8e44e32u, 0x65b0299eu, 0x55742976u, 0xcceceb3au, 0x9c410617u, 0x6fbf17e6u, 0x3d48d06cu}} , .sourceIx = ty_pw4w16 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[LEFT_ROTATE_32] = { .tag = JET -, .jet = left_rotate_32 -, .cmr = {{0x2d4189b3u, 0x12e8cedau, 0xaa3853a4u, 0x5a12986eu, 0xe262fb60u, 0x5f0d592du, 0xcbb9618fu, 0xe67a250bu}} +, .jet = simplicity_left_rotate_32 +, .cmr = {{0x0bef6b5fu, 0x771ecc6eu, 0x6f5c26f6u, 0x622de862u, 0x4e443497u, 0x599514f5u, 0xbc68f687u, 0x4880e07au}} , .sourceIx = ty_pw8w32 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 106 /* milli weight units */ } ,[LEFT_ROTATE_64] = { .tag = JET -, .jet = left_rotate_64 -, .cmr = {{0xb8e68e0au, 0xd682b967u, 0xf24c0984u, 0xf7d5f809u, 0xa28597a0u, 0x434618c8u, 0x949fa808u, 0xe3be7614u}} +, .jet = simplicity_left_rotate_64 +, .cmr = {{0xcc914219u, 0xd14fe5d2u, 0x20e2aa9bu, 0x64f24b47u, 0x5d80f2cau, 0xfb7531d4u, 0x2640967cu, 0x085f9ca4u}} , .sourceIx = ty_pw8w64 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 98 /* milli weight units */ } ,[LEFT_ROTATE_8] = { .tag = JET -, .jet = left_rotate_8 -, .cmr = {{0x956a653au, 0xe0b8f8c3u, 0xf29fd8f3u, 0x3119168fu, 0xcbe64f5du, 0x765fa9ffu, 0x6b8e3b0du, 0x961a1629u}} +, .jet = simplicity_left_rotate_8 +, .cmr = {{0xbd7119ceu, 0xb23e56a0u, 0x759cdaadu, 0x8fd66517u, 0x46f2969cu, 0x5ea7c570u, 0x6c492ee0u, 0xcda652c2u}} , .sourceIx = ty_pw4w8 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[LEFT_SHIFT_16] = { .tag = JET -, .jet = left_shift_16 -, .cmr = {{0x9bbce29eu, 0x695be2e4u, 0x830c7a93u, 0xa0d2151bu, 0x664fc272u, 0x06eed7e5u, 0x0fcef602u, 0xd345ce0du}} +, .jet = simplicity_left_shift_16 +, .cmr = {{0xfd9b6d05u, 0xadbdb99bu, 0xc74aab73u, 0x3384724eu, 0x3072d2a2u, 0xc2dfeb34u, 0x5e24b507u, 0x4b527859u}} , .sourceIx = ty_pw4w16 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 72 /* milli weight units */ } ,[LEFT_SHIFT_32] = { .tag = JET -, .jet = left_shift_32 -, .cmr = {{0xf9c4bf07u, 0xd3e72e85u, 0xb1d455f7u, 0x34cf1b11u, 0xbea58e25u, 0x3b854a1au, 0x097bab1eu, 0xc2c62e1fu}} +, .jet = simplicity_left_shift_32 +, .cmr = {{0xa4b3b3fcu, 0x7345d38fu, 0xce543f40u, 0x1ae6bd07u, 0xba2742c3u, 0x3d9afab3u, 0xb3cca3a0u, 0x25973c98u}} , .sourceIx = ty_pw8w32 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 78 /* milli weight units */ } ,[LEFT_SHIFT_64] = { .tag = JET -, .jet = left_shift_64 -, .cmr = {{0x8cfa741au, 0xa41d828au, 0x41083bb7u, 0xcbdd1f4eu, 0xda5dccacu, 0x529b247du, 0x188495b4u, 0x9bb38c2bu}} +, .jet = simplicity_left_shift_64 +, .cmr = {{0x62b711e8u, 0x4b67648du, 0x3472ace1u, 0x86291eb6u, 0xd773ddc0u, 0xb8a3fbc2u, 0x08a275e9u, 0xdb91ddddu}} , .sourceIx = ty_pw8w64 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 82 /* milli weight units */ } ,[LEFT_SHIFT_8] = { .tag = JET -, .jet = left_shift_8 -, .cmr = {{0x95663e07u, 0x7cadca31u, 0xb9596b09u, 0x706cdb4fu, 0xa703870fu, 0x792a4635u, 0x852b5e24u, 0x69e6fdbau}} +, .jet = simplicity_left_shift_8 +, .cmr = {{0x187bba8eu, 0x4163bdd0u, 0xddb548ffu, 0x6efa6b7eu, 0x2f3d0982u, 0x97d2533eu, 0x77e8a76bu, 0x6f2dd324u}} , .sourceIx = ty_pw4w8 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[LEFT_SHIFT_WITH_16] = { .tag = JET -, .jet = left_shift_with_16 -, .cmr = {{0x6214c456u, 0x25d704ceu, 0xc987b796u, 0x676f1566u, 0x1a6bf5dcu, 0x0f6a51cbu, 0x865a0e71u, 0xd66fbf95u}} +, .jet = simplicity_left_shift_with_16 +, .cmr = {{0x2dd41ac4u, 0xf1d6d968u, 0x70ff4966u, 0x31d40a4fu, 0xf7edeb13u, 0x7d63dafeu, 0xe002fa2du, 0xda29a757u}} , .sourceIx = ty_pbpw4w16 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 83 /* milli weight units */ } ,[LEFT_SHIFT_WITH_32] = { .tag = JET -, .jet = left_shift_with_32 -, .cmr = {{0x1b452fc7u, 0xab5c7147u, 0x454af4d5u, 0x595481ffu, 0xac42dea1u, 0x06032b3bu, 0x9f375bedu, 0xcda6f4d6u}} +, .jet = simplicity_left_shift_with_32 +, .cmr = {{0x9bfb2490u, 0xbba1eb3bu, 0x7e256a26u, 0x0966dc90u, 0x9e73fd12u, 0x591ee140u, 0x673718f9u, 0xf10fc49fu}} , .sourceIx = ty_pbpw8w32 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 95 /* milli weight units */ } ,[LEFT_SHIFT_WITH_64] = { .tag = JET -, .jet = left_shift_with_64 -, .cmr = {{0xc38b02abu, 0xcff514d9u, 0x6191a7feu, 0xfba1ac16u, 0xe9c150a1u, 0x8ce1c5bcu, 0xf09d6755u, 0xe0369905u}} +, .jet = simplicity_left_shift_with_64 +, .cmr = {{0x85774693u, 0x7de2c4c5u, 0xa55a90f3u, 0x160eb991u, 0xddbb6074u, 0xf8a7c7c5u, 0x8e8b2e38u, 0x2218a9fau}} , .sourceIx = ty_pbpw8w64 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 103 /* milli weight units */ } ,[LEFT_SHIFT_WITH_8] = { .tag = JET -, .jet = left_shift_with_8 -, .cmr = {{0x217ad6dcu, 0x1292aa42u, 0xdbd84dbdu, 0x971c118fu, 0x02a9740au, 0x7cb5661eu, 0x90d42dd5u, 0xca8ca4d9u}} +, .jet = simplicity_left_shift_with_8 +, .cmr = {{0xf6f5bc6fu, 0x43f661e2u, 0x727c9ec8u, 0x196388bcu, 0xc42b2036u, 0x06a778d5u, 0x53a4ea35u, 0x3ffc4be6u}} , .sourceIx = ty_pbpw4w8 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 107 /* milli weight units */ } ,[LEFTMOST_16_1] = { .tag = JET -, .jet = leftmost_16_1 -, .cmr = {{0x3ea89e43u, 0x2077940du, 0x0bbf9ed2u, 0xcf16ba63u, 0x1110e7abu, 0x9f19eef3u, 0xea925a69u, 0x9f60c60cu}} +, .jet = simplicity_leftmost_16_1 +, .cmr = {{0x7faf549eu, 0xf620d0d8u, 0xf90b6d08u, 0x420cf5e9u, 0x8e9384eau, 0x716b82d7u, 0xd8e197a8u, 0xc46e33ceu}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[LEFTMOST_16_2] = { .tag = JET -, .jet = leftmost_16_2 -, .cmr = {{0x5ce2bd7au, 0xc35a7c33u, 0x73c3dd60u, 0x7f48e5d4u, 0xc7aaa6c6u, 0x9fc4930eu, 0xca14049fu, 0x5d39ffabu}} +, .jet = simplicity_leftmost_16_2 +, .cmr = {{0xf2ac7c05u, 0x964a699cu, 0xe595fb21u, 0xeec161e8u, 0x7a11b651u, 0x630d9a28u, 0x93094ea3u, 0xf3317243u}} , .sourceIx = ty_w16 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[LEFTMOST_16_4] = { .tag = JET -, .jet = leftmost_16_4 -, .cmr = {{0x1012a139u, 0x3ed0f91du, 0x75ad5912u, 0x2853893au, 0x7f25cd35u, 0xc8036c7fu, 0xa195682cu, 0xa1458c4au}} +, .jet = simplicity_leftmost_16_4 +, .cmr = {{0x5a5ec503u, 0x9aa3aa0eu, 0x58f7ce64u, 0xefd03ac2u, 0x97410f2cu, 0xf45817afu, 0x54efa6a0u, 0x076b6f70u}} , .sourceIx = ty_w16 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 75 /* milli weight units */ } ,[LEFTMOST_16_8] = { .tag = JET -, .jet = leftmost_16_8 -, .cmr = {{0xccd31e9eu, 0xb1a1bbdeu, 0x555c0f73u, 0x1af2d3d4u, 0xff5388fau, 0x1461826au, 0xa9c89342u, 0x42ac753fu}} +, .jet = simplicity_leftmost_16_8 +, .cmr = {{0xe22543f8u, 0xfe861dbau, 0xee744b0bu, 0x8f58b47bu, 0x9d13fb35u, 0xa950863au, 0x59097cf4u, 0xd42724b9u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 71 /* milli weight units */ } ,[LEFTMOST_32_1] = { .tag = JET -, .jet = leftmost_32_1 -, .cmr = {{0xb714ad74u, 0xae045af7u, 0x5680778au, 0x032761a4u, 0xc726d7b6u, 0xd977bc93u, 0xa4125654u, 0x3cae8d3du}} +, .jet = simplicity_leftmost_32_1 +, .cmr = {{0xb36db059u, 0xdd42d707u, 0xbfa839f8u, 0x3bc2ed1du, 0xb501b23au, 0xf9af713fu, 0x41ff755fu, 0xe2b3e989u}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[LEFTMOST_32_16] = { .tag = JET -, .jet = leftmost_32_16 -, .cmr = {{0x1b20634fu, 0xb43eb83au, 0x968c3c81u, 0xc0087c63u, 0xd5d4f8cau, 0xcdbd3e0eu, 0x9f9a3d75u, 0x91c3ef62u}} +, .jet = simplicity_leftmost_32_16 +, .cmr = {{0xf13ee37bu, 0xe612e9dfu, 0xf4907ec3u, 0xf1dde86cu, 0x58fed4b1u, 0x1a93b3bbu, 0x2c795800u, 0x4997922eu}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 102 /* milli weight units */ } ,[LEFTMOST_32_2] = { .tag = JET -, .jet = leftmost_32_2 -, .cmr = {{0x752dda08u, 0xe40faea0u, 0xf6c4ee3du, 0x344b7c4eu, 0xa11b971du, 0xcec55592u, 0xb822ee56u, 0x271ca5dfu}} +, .jet = simplicity_leftmost_32_2 +, .cmr = {{0x57d0251au, 0xb566a3d2u, 0x48ec6e7cu, 0xd1e3e9c7u, 0x1b1dde0cu, 0xf2844a8cu, 0x8ae748bdu, 0x18d3735cu}} , .sourceIx = ty_w32 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 66 /* milli weight units */ } ,[LEFTMOST_32_4] = { .tag = JET -, .jet = leftmost_32_4 -, .cmr = {{0x44e9f779u, 0xa029ecfcu, 0x9762b8b6u, 0xcbaf0922u, 0xd935fea5u, 0x150a546au, 0x5fc1fdb8u, 0xb9534134u}} +, .jet = simplicity_leftmost_32_4 +, .cmr = {{0x66689bd5u, 0xeb6a6dd5u, 0xfc6b52feu, 0x90c174efu, 0x0fa8b517u, 0x993085c9u, 0x01c5702bu, 0xbd1face7u}} , .sourceIx = ty_w32 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 52 /* milli weight units */ } ,[LEFTMOST_32_8] = { .tag = JET -, .jet = leftmost_32_8 -, .cmr = {{0x54801eb5u, 0xe778cf6cu, 0xda95ccf5u, 0x70286d81u, 0x6d3a1ff1u, 0xdd39db5au, 0xb6136f0eu, 0xc3b72dc6u}} +, .jet = simplicity_leftmost_32_8 +, .cmr = {{0xc8851ff6u, 0x2206e865u, 0xc3b26641u, 0x981d0ae1u, 0x60d3d443u, 0x7a980062u, 0x79dbb3a2u, 0x5776698eu}} , .sourceIx = ty_w32 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 103 /* milli weight units */ } ,[LEFTMOST_64_1] = { .tag = JET -, .jet = leftmost_64_1 -, .cmr = {{0xb316af24u, 0xc86b3961u, 0x3d4fd1b3u, 0x926a8413u, 0x0eb7ab12u, 0xfdef6233u, 0x17ab48f7u, 0x7cb62145u}} +, .jet = simplicity_leftmost_64_1 +, .cmr = {{0xe05ea19du, 0x39ee235du, 0xde58e31eu, 0x4b9534b6u, 0xcb399b1fu, 0x2fa18148u, 0x8cedc203u, 0xcd95962au}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 78 /* milli weight units */ } ,[LEFTMOST_64_16] = { .tag = JET -, .jet = leftmost_64_16 -, .cmr = {{0x8cf85481u, 0xe0f00838u, 0xb5239bbfu, 0xad1382f0u, 0x7bd03c12u, 0x1d5d8aafu, 0xa6d98341u, 0x6de45c32u}} +, .jet = simplicity_leftmost_64_16 +, .cmr = {{0xc3ddb079u, 0xc112925du, 0x423bbd30u, 0xd902261eu, 0x68a41c3du, 0xe4381166u, 0xe1400502u, 0x8ba84b98u}} , .sourceIx = ty_w64 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[LEFTMOST_64_2] = { .tag = JET -, .jet = leftmost_64_2 -, .cmr = {{0xda40c89bu, 0x15c9e86bu, 0x028ce9ecu, 0x07b7f699u, 0x5a5ddda4u, 0x850a91afu, 0x8c60e02bu, 0xf991fb0cu}} +, .jet = simplicity_leftmost_64_2 +, .cmr = {{0x264db123u, 0x78dfadc1u, 0xad6ff8d5u, 0x78ec4da1u, 0x8532a1e6u, 0xbdab7c17u, 0x569fdd7bu, 0xf406fb20u}} , .sourceIx = ty_w64 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 71 /* milli weight units */ } ,[LEFTMOST_64_32] = { .tag = JET -, .jet = leftmost_64_32 -, .cmr = {{0x95f46db9u, 0xd906f050u, 0x53455e95u, 0x34eb9b08u, 0xb09e38bcu, 0x0fc698a1u, 0x6f4b2a62u, 0x710759d1u}} +, .jet = simplicity_leftmost_64_32 +, .cmr = {{0x19a5d53fu, 0xe6b30be0u, 0x2b91bafcu, 0x63cbe550u, 0x5598c142u, 0x55d89e33u, 0x4856db5bu, 0x5ba20dedu}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[LEFTMOST_64_4] = { .tag = JET -, .jet = leftmost_64_4 -, .cmr = {{0xf501f905u, 0xfb8baba1u, 0xa7e8a6bfu, 0x68d3ae6au, 0x0add9195u, 0x1b56629du, 0x59f42873u, 0x9e7e41a2u}} +, .jet = simplicity_leftmost_64_4 +, .cmr = {{0x4c6fc8a0u, 0x65468e47u, 0x51844aefu, 0xb6cc4957u, 0x5864f567u, 0xc5628665u, 0x4c43b3f8u, 0x33303231u}} , .sourceIx = ty_w64 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[LEFTMOST_64_8] = { .tag = JET -, .jet = leftmost_64_8 -, .cmr = {{0xb37f0ba2u, 0xfcbd4ae3u, 0x316a4fe4u, 0xf58aa1a5u, 0x41740cdeu, 0x60ed87f3u, 0x3862a2ffu, 0xecad442fu}} +, .jet = simplicity_leftmost_64_8 +, .cmr = {{0x98b5e016u, 0xbd414577u, 0x8dfc6317u, 0xdc65d6c7u, 0x5fef2857u, 0x96b59deau, 0xf14aa031u, 0x99f94896u}} , .sourceIx = ty_w64 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[LEFTMOST_8_1] = { .tag = JET -, .jet = leftmost_8_1 -, .cmr = {{0x5fdcfa9bu, 0x9a4b65c7u, 0x207471e5u, 0x33928d6au, 0x24f4b6ffu, 0x9b345ef7u, 0x61b1480au, 0x8a05e3d7u}} +, .jet = simplicity_leftmost_8_1 +, .cmr = {{0x38e3985fu, 0x1f99eab1u, 0xa787e720u, 0x0c30cd9bu, 0x95631f95u, 0xb419fd76u, 0xece19967u, 0xd1b03069u}} , .sourceIx = ty_w8 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[LEFTMOST_8_2] = { .tag = JET -, .jet = leftmost_8_2 -, .cmr = {{0x624221e9u, 0xf8a91691u, 0x26c73347u, 0x9648c73bu, 0x68c6b8ebu, 0xbb60c72au, 0xf1e6fc65u, 0xe7d30723u}} +, .jet = simplicity_leftmost_8_2 +, .cmr = {{0x51dbcaebu, 0xc3ac1643u, 0xe5b08ca2u, 0x5529f0e2u, 0xb0bd9bdfu, 0xa041fd4du, 0xb77029d0u, 0xc5ff15b9u}} , .sourceIx = ty_w8 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[LEFTMOST_8_4] = { .tag = JET -, .jet = leftmost_8_4 -, .cmr = {{0x1a4843c4u, 0x08e1d46cu, 0x9c938946u, 0x34495f8au, 0xd6a680e3u, 0x2dd6f25bu, 0xa19dbc60u, 0xa60d1897u}} +, .jet = simplicity_leftmost_8_4 +, .cmr = {{0xb394209cu, 0x9b34284du, 0xde65ea97u, 0x35e4eb0cu, 0xdf01ce87u, 0x10e58c5eu, 0xd20e8b94u, 0x6bf3f6eau}} , .sourceIx = ty_w8 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 87 /* milli weight units */ } ,[LINEAR_COMBINATION_1] = { .tag = JET -, .jet = linear_combination_1 -, .cmr = {{0x00bef144u, 0xda3f5163u, 0x318c01ebu, 0x66cc681fu, 0x29ccb987u, 0xea2a88d0u, 0x83345a1cu, 0xaa082ce3u}} +, .jet = simplicity_linear_combination_1 +, .cmr = {{0xfdd47ca5u, 0xc3b8bed9u, 0xf5f82732u, 0x9af7c08bu, 0x88d35421u, 0xd3d02f3du, 0x6cae3e5bu, 0x49dcbea3u}} , .sourceIx = ty_ppw256pw512w256w256 , .targetIx = ty_pw512w256 -, .cost = 86722 /* milli weight units */ +, .cost = 84674 /* milli weight units */ } ,[LINEAR_VERIFY_1] = { .tag = JET -, .jet = linear_verify_1 -, .cmr = {{0x0c9fae64u, 0xa64cd63cu, 0xa85beba7u, 0x5c9f2c6eu, 0x85343b74u, 0xf28634eau, 0x85f70fc3u, 0x41ccaff3u}} +, .jet = simplicity_linear_verify_1 +, .cmr = {{0x7be5d046u, 0x728464b8u, 0x301d89d9u, 0xd0de8e19u, 0x675df4d9u, 0x10047b25u, 0xb372d2c4u, 0x166b3a0du}} , .sourceIx = ty_pppw256w512w256w512 , .targetIx = ty_u -, .cost = 43063 /* milli weight units */ +, .cost = 43364 /* milli weight units */ } ,[LOCK_TIME] = { .tag = JET -, .jet = lock_time -, .cmr = {{0xee87a025u, 0xd7338a3cu, 0x8f251be4u, 0x19efb7eeu, 0x7177cb73u, 0x8f42e8c0u, 0x03fc4658u, 0xcc0e5b8bu}} +, .jet = simplicity_lock_time +, .cmr = {{0x7bdc8194u, 0x1f8c9c7fu, 0xa94061a5u, 0x9fbdfc03u, 0xa3f5c267u, 0xdcde1b23u, 0xd3be3a90u, 0xf0e9a7f5u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 132 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[LOW_1] = { .tag = JET -, .jet = low_1 -, .cmr = {{0xdb4a424au, 0x20aeefa4u, 0xe742d51du, 0x84929218u, 0xcbf73472u, 0x6176dc4fu, 0xf9f8bf13u, 0xde10ca2bu}} +, .jet = simplicity_low_1 +, .cmr = {{0xf3d10b07u, 0x49332cddu, 0xae0a49ccu, 0x02657b02u, 0x58e0a5a7u, 0x05958100u, 0x22c5a64eu, 0x904088b0u}} , .sourceIx = ty_u , .targetIx = ty_b -, .cost = 173 /* milli weight units */ +, .cost = 38 /* milli weight units */ } ,[LOW_16] = { .tag = JET -, .jet = low_16 -, .cmr = {{0xa114e958u, 0x0de07d8bu, 0x077eb889u, 0x98755a0au, 0x62bfe085u, 0xfb23404cu, 0xd1e87868u, 0xcd56d5bdu}} +, .jet = simplicity_low_16 +, .cmr = {{0x670d1cf0u, 0x8d655f40u, 0xfda2277au, 0xa9155414u, 0xa3b4d80eu, 0x97f6b867u, 0xd4e562e3u, 0xa05b4645u}} , .sourceIx = ty_u , .targetIx = ty_w16 -, .cost = 172 /* milli weight units */ +, .cost = 69 /* milli weight units */ } ,[LOW_32] = { .tag = JET -, .jet = low_32 -, .cmr = {{0xa717610eu, 0x8c577125u, 0x5140d620u, 0x7fff3bddu, 0x3464acffu, 0x5998e129u, 0xaf8b9f4cu, 0x0e21b23du}} +, .jet = simplicity_low_32 +, .cmr = {{0xd9bf78c4u, 0x9f8d6b7au, 0xe4b4b084u, 0xf0d364f7u, 0x2b0462ffu, 0x39c321c0u, 0x2d92b542u, 0x6086d0b5u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 170 /* milli weight units */ +, .cost = 62 /* milli weight units */ } ,[LOW_64] = { .tag = JET -, .jet = low_64 -, .cmr = {{0x9a6f4a0au, 0xd2fb72c5u, 0x79424c72u, 0xe17daae6u, 0x2b366695u, 0xcd1a2685u, 0xfb0ab02eu, 0x4c2cc0f5u}} +, .jet = simplicity_low_64 +, .cmr = {{0x364da086u, 0xebe3011bu, 0x1b585f5cu, 0xb9abc87eu, 0xe57b5637u, 0xcb95ecf3u, 0x12938df2u, 0x8630fda4u}} , .sourceIx = ty_u , .targetIx = ty_w64 -, .cost = 162 /* milli weight units */ +, .cost = 47 /* milli weight units */ } ,[LOW_8] = { .tag = JET -, .jet = low_8 -, .cmr = {{0x69c9b9cau, 0xb9f44cffu, 0xaedf1c84u, 0x3146bcc0u, 0xb03b0f0cu, 0x134866afu, 0xd23a614fu, 0x01a70a24u}} +, .jet = simplicity_low_8 +, .cmr = {{0xd4244f7cu, 0x17b04904u, 0x8ac58b4du, 0xa578169du, 0x0ed65149u, 0x408ea9b0u, 0x33b3d8b7u, 0x7d76c687u}} , .sourceIx = ty_u , .targetIx = ty_w8 -, .cost = 173 /* milli weight units */ +, .cost = 47 /* milli weight units */ } ,[LT_16] = { .tag = JET -, .jet = lt_16 -, .cmr = {{0x4f465a49u, 0xa963acceu, 0x93f6b6f8u, 0x23eb9472u, 0xb4cc21f6u, 0xe58b7657u, 0x0508babdu, 0xf44a8c97u}} +, .jet = simplicity_lt_16 +, .cmr = {{0x32602844u, 0xfb68eb7au, 0xf6f7f1bdu, 0xa350e229u, 0x2c3fc287u, 0xf81eca17u, 0xf068f4fau, 0x942d402au}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 188 /* milli weight units */ +, .cost = 123 /* milli weight units */ } ,[LT_32] = { .tag = JET -, .jet = lt_32 -, .cmr = {{0xd3421dfcu, 0x84671cd7u, 0x445082a9u, 0x86df1628u, 0xedcacbf4u, 0x29a3c809u, 0xd2365497u, 0xe1170bfdu}} +, .jet = simplicity_lt_32 +, .cmr = {{0xb703d35du, 0xeed96ce3u, 0x9df8ad21u, 0x4f74898au, 0x1765aa14u, 0x06bce4bfu, 0x9afc5c63u, 0xa8382d9eu}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 215 /* milli weight units */ +, .cost = 107 /* milli weight units */ } ,[LT_64] = { .tag = JET -, .jet = lt_64 -, .cmr = {{0x7c67aa89u, 0x93fcda59u, 0x30f79db2u, 0x008aa6d7u, 0xbe5f3bedu, 0x5aca5e03u, 0x2dcccf0bu, 0xe84f62d1u}} +, .jet = simplicity_lt_64 +, .cmr = {{0x94f1e48du, 0x7c87c180u, 0x83841ec1u, 0x2467942bu, 0x76a893fau, 0x08e94123u, 0xb4fe8020u, 0xd5f1d9afu}} , .sourceIx = ty_w128 , .targetIx = ty_b -, .cost = 195 /* milli weight units */ +, .cost = 76 /* milli weight units */ } ,[LT_8] = { .tag = JET -, .jet = lt_8 -, .cmr = {{0x98763f78u, 0x21690954u, 0xcf508102u, 0x09df6e15u, 0x570316bbu, 0xa89ffa9au, 0xe556a915u, 0xf37b640bu}} +, .jet = simplicity_lt_8 +, .cmr = {{0xf40a8cfau, 0x7839939cu, 0xa4dd3d01u, 0x22d4b56cu, 0xc3c654e3u, 0x5e2af2d3u, 0x511fc944u, 0x6cf0f8afu}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 130 /* milli weight units */ +, .cost = 107 /* milli weight units */ } ,[MAJ_1] = { .tag = JET -, .jet = maj_1 -, .cmr = {{0xae8b912eu, 0x3ad47f68u, 0x8bbb46c8u, 0xcb6d5333u, 0x69f5109au, 0x2730471eu, 0xab6efe98u, 0xe9ea5e78u}} +, .jet = simplicity_maj_1 +, .cmr = {{0x79d185f5u, 0x3d2e2fabu, 0x8754c1b9u, 0x58a5a1b5u, 0xb9dfa50du, 0x900ce43au, 0xd73561b4u, 0x4a887822u}} , .sourceIx = ty_pbw2 , .targetIx = ty_b -, .cost = 241 /* milli weight units */ +, .cost = 62 /* milli weight units */ } ,[MAJ_16] = { .tag = JET -, .jet = maj_16 -, .cmr = {{0xf5a41da0u, 0x377fe688u, 0xac2fcdf3u, 0x5b6b7a47u, 0x2e78ea69u, 0xfd2b17f7u, 0x56342baau, 0x1f8b9fddu}} +, .jet = simplicity_maj_16 +, .cmr = {{0xa17f14f2u, 0x9ce64cc0u, 0xa3410706u, 0x747a4832u, 0x190af23cu, 0x03cac164u, 0xa47fc127u, 0xb48f3428u}} , .sourceIx = ty_pw16w32 , .targetIx = ty_w16 -, .cost = 273 /* milli weight units */ +, .cost = 80 /* milli weight units */ } ,[MAJ_32] = { .tag = JET -, .jet = maj_32 -, .cmr = {{0xf1d93b04u, 0x6b0285f6u, 0xe520467fu, 0x265f6a6au, 0xe3491f16u, 0x78c8a826u, 0xa0099b9cu, 0xd41599d4u}} +, .jet = simplicity_maj_32 +, .cmr = {{0xe19fadfau, 0xc6c785b8u, 0x9829a91eu, 0xc0215935u, 0xc49fbc9du, 0x20c6be78u, 0xde9a6355u, 0xe8181356u}} , .sourceIx = ty_pw32w64 , .targetIx = ty_w32 -, .cost = 289 /* milli weight units */ +, .cost = 96 /* milli weight units */ } ,[MAJ_64] = { .tag = JET -, .jet = maj_64 -, .cmr = {{0x5e996c51u, 0x51d7aceeu, 0x4a7d9e22u, 0x95ef8f2cu, 0x75548884u, 0x4bfde25du, 0x5acdfea2u, 0x9844435au}} +, .jet = simplicity_maj_64 +, .cmr = {{0xf119b2f2u, 0x383b9fe6u, 0xdd768e5eu, 0xe27db4f5u, 0x783868cfu, 0x9b9e1385u, 0x41003990u, 0x1d17c230u}} , .sourceIx = ty_pw64w128 , .targetIx = ty_w64 -, .cost = 293 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[MAJ_8] = { .tag = JET -, .jet = maj_8 -, .cmr = {{0xab6c4c41u, 0xab67ebf7u, 0xea60870cu, 0x9b2d9310u, 0x01742961u, 0x8d2ab902u, 0x68b5c5c2u, 0xb5377f3bu}} +, .jet = simplicity_maj_8 +, .cmr = {{0x415621cbu, 0x9e428f72u, 0xeb2956e4u, 0x696f7065u, 0xdee6a8dau, 0x5eedde32u, 0x362b8124u, 0xa195dd50u}} , .sourceIx = ty_pw8w16 , .targetIx = ty_w8 -, .cost = 241 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[MAX_16] = { .tag = JET -, .jet = max_16 -, .cmr = {{0xcddd8169u, 0x5522971bu, 0x529eb0bbu, 0x53818fe2u, 0x2858ac6bu, 0x037c3810u, 0xec268b53u, 0xb817a38du}} +, .jet = simplicity_max_16 +, .cmr = {{0xceb71d05u, 0xf95518d3u, 0xd40925e7u, 0x3ca29b7cu, 0x3ec62b92u, 0xaf478804u, 0x8f7be806u, 0x52f6ba2bu}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 164 /* milli weight units */ +, .cost = 114 /* milli weight units */ } ,[MAX_32] = { .tag = JET -, .jet = max_32 -, .cmr = {{0xd916f34bu, 0xd785b938u, 0x08b67c62u, 0x284f94aau, 0x5df47919u, 0x59b49b85u, 0x82b0582bu, 0x82853883u}} +, .jet = simplicity_max_32 +, .cmr = {{0x679f51ceu, 0xca3e7bfcu, 0x4b8b8c14u, 0x5fbe0647u, 0x3f653b21u, 0xfb8f5838u, 0x39fc9f9eu, 0x221a99e7u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 162 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[MAX_64] = { .tag = JET -, .jet = max_64 -, .cmr = {{0x99ef5abfu, 0xf78700bdu, 0x93d1c977u, 0xfd686f31u, 0x210fd1ceu, 0x1d094d23u, 0x048c026cu, 0x19fc984au}} +, .jet = simplicity_max_64 +, .cmr = {{0x6aeb602cu, 0x1f2de20eu, 0x6aee7e23u, 0x3b29db2eu, 0xe533a0c1u, 0x1e3363fcu, 0x67b30d6cu, 0x78338352u}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 193 /* milli weight units */ +, .cost = 104 /* milli weight units */ } ,[MAX_8] = { .tag = JET -, .jet = max_8 -, .cmr = {{0x3acbf773u, 0x3fd8ef4fu, 0x51967aa2u, 0x45558b28u, 0x374d54c6u, 0x32a9f46au, 0xab6b2b1eu, 0xc2d5139au}} +, .jet = simplicity_max_8 +, .cmr = {{0x5c1f369au, 0xfaac6b74u, 0xb57edf3cu, 0xecfb61f2u, 0x07e05939u, 0xb1c6fc73u, 0x5b07836fu, 0x3973d904u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 142 /* milli weight units */ +, .cost = 96 /* milli weight units */ } ,[MEDIAN_16] = { .tag = JET -, .jet = median_16 -, .cmr = {{0xd6463e89u, 0xdfe2c334u, 0xb01f9097u, 0xb01a75c4u, 0x75fb0f0fu, 0x167cb6b7u, 0x4976f197u, 0xbd4c76e1u}} +, .jet = simplicity_median_16 +, .cmr = {{0xc09a300bu, 0x6d023ca4u, 0x09279e42u, 0x27470dd8u, 0xbd52f168u, 0xf1f8bfa9u, 0x38779f03u, 0xc86ef152u}} , .sourceIx = ty_pw16w32 , .targetIx = ty_w16 -, .cost = 270 /* milli weight units */ +, .cost = 123 /* milli weight units */ } ,[MEDIAN_32] = { .tag = JET -, .jet = median_32 -, .cmr = {{0x01dca1edu, 0xe5b29d88u, 0x480bc4dcu, 0x43be4e04u, 0xf2d209eeu, 0x32f6cf3eu, 0xc7050da1u, 0x07359063u}} +, .jet = simplicity_median_32 +, .cmr = {{0x84810059u, 0x86f42948u, 0x051a364au, 0xd418702eu, 0xbc76fa36u, 0x5344aa2eu, 0xa1a63005u, 0xe61fe8bbu}} , .sourceIx = ty_pw32w64 , .targetIx = ty_w32 -, .cost = 256 /* milli weight units */ +, .cost = 101 /* milli weight units */ } ,[MEDIAN_64] = { .tag = JET -, .jet = median_64 -, .cmr = {{0x707a6fa8u, 0xc15495a2u, 0xc4822263u, 0xddcea5e0u, 0xf0e850a9u, 0x4b1cf4ecu, 0xc0652fafu, 0xeef130e9u}} +, .jet = simplicity_median_64 +, .cmr = {{0xccbaa900u, 0x0f3c0c9eu, 0xc71bc0dbu, 0x5da85283u, 0x6fa91228u, 0xb373f56bu, 0xcef0b225u, 0x85d470ffu}} , .sourceIx = ty_pw64w128 , .targetIx = ty_w64 -, .cost = 336 /* milli weight units */ +, .cost = 109 /* milli weight units */ } ,[MEDIAN_8] = { .tag = JET -, .jet = median_8 -, .cmr = {{0x26bfcb7bu, 0xabcf26c9u, 0x7a841675u, 0x45746276u, 0x59279af8u, 0x09554882u, 0x400ef874u, 0xdf1c1a31u}} +, .jet = simplicity_median_8 +, .cmr = {{0xc5b2c001u, 0xdc504ff4u, 0xc2e05286u, 0x56d4dabfu, 0x33fb4142u, 0xd026ab61u, 0x374c2389u, 0x0bda1f18u}} , .sourceIx = ty_pw8w16 , .targetIx = ty_w8 -, .cost = 256 /* milli weight units */ +, .cost = 122 /* milli weight units */ } ,[MIN_16] = { .tag = JET -, .jet = min_16 -, .cmr = {{0x63bbc0e5u, 0xdb1ce080u, 0x97d3f5bcu, 0xc5be1d72u, 0x090bab4au, 0x87c10c80u, 0x0549ca84u, 0xefbfe5e3u}} +, .jet = simplicity_min_16 +, .cmr = {{0xb2265869u, 0xea190bbau, 0x730cd7d7u, 0xcd0524d1u, 0x3ebf767eu, 0x1b125c44u, 0x1b1bab0eu, 0x3dbeef26u}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 164 /* milli weight units */ +, .cost = 97 /* milli weight units */ } ,[MIN_32] = { .tag = JET -, .jet = min_32 -, .cmr = {{0xaf4d6184u, 0x2f479032u, 0x5c614556u, 0xc7776eeau, 0x457513cau, 0x422f305bu, 0x463f8f7du, 0x8bda0c3cu}} +, .jet = simplicity_min_32 +, .cmr = {{0x6d921bfbu, 0xaf935063u, 0xbd4b4e48u, 0xd6d13664u, 0xbd5d0ac2u, 0x5f5ee30eu, 0xbe518e79u, 0x1151750au}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 181 /* milli weight units */ +, .cost = 113 /* milli weight units */ } ,[MIN_64] = { .tag = JET -, .jet = min_64 -, .cmr = {{0xf0a3170fu, 0xb3065090u, 0x71b21432u, 0x309c0086u, 0x5d8fb675u, 0x2de6ec41u, 0x0abb6ce3u, 0x5b4ffa9cu}} +, .jet = simplicity_min_64 +, .cmr = {{0x05d9c0a2u, 0xa71f887du, 0x7646e415u, 0x827230cfu, 0xbecc0d82u, 0x36c562f2u, 0xdfda3dcdu, 0xe13b2f03u}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 102 /* milli weight units */ } ,[MIN_8] = { .tag = JET -, .jet = min_8 -, .cmr = {{0x8aa71d09u, 0x3e838ad3u, 0x6aa6fe16u, 0xfd1dde9fu, 0xb5772ac4u, 0x5d6bb8e4u, 0x2c8883a2u, 0xa9f100e2u}} +, .jet = simplicity_min_8 +, .cmr = {{0x57ba257du, 0xc70a975eu, 0xfb22d7e0u, 0xa998aea9u, 0xd57f208au, 0x74565a68u, 0xf2ac8b50u, 0x1e220dc0u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 135 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[MODULO_16] = { .tag = JET -, .jet = modulo_16 -, .cmr = {{0x0ea89859u, 0x79209d31u, 0x94c55912u, 0xf21a6577u, 0xda30c517u, 0xe008f851u, 0xc352085bu, 0xb067a0f1u}} +, .jet = simplicity_modulo_16 +, .cmr = {{0x7abde1dcu, 0xab9d23eau, 0xe1d0a0a6u, 0xb384fb39u, 0xdf21c383u, 0x16c0bbccu, 0x6c706d7bu, 0x5f3d68bbu}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 188 /* milli weight units */ +, .cost = 103 /* milli weight units */ } ,[MODULO_32] = { .tag = JET -, .jet = modulo_32 -, .cmr = {{0x223fb583u, 0x2b9559cau, 0x8651726au, 0xb7956e58u, 0xe53a402du, 0xf9603486u, 0x181807a2u, 0xfcaed487u}} +, .jet = simplicity_modulo_32 +, .cmr = {{0x7d127866u, 0xceb003ecu, 0x84a2702au, 0xff4059a7u, 0xc6fb00a5u, 0xa5bace90u, 0xb9d9c020u, 0xb5dc0297u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 207 /* milli weight units */ +, .cost = 102 /* milli weight units */ } ,[MODULO_64] = { .tag = JET -, .jet = modulo_64 -, .cmr = {{0x8259a2e3u, 0xb0789c9du, 0x31eabc49u, 0x39d31bc5u, 0x254c5665u, 0xc412052cu, 0x12d72ecdu, 0xfbed5225u}} +, .jet = simplicity_modulo_64 +, .cmr = {{0xaafed9e3u, 0x7b3d3ed4u, 0x1db17116u, 0x7b0fa23cu, 0x8b823addu, 0x9a48addeu, 0x24ba20f9u, 0x194b079cu}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 191 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[MODULO_8] = { .tag = JET -, .jet = modulo_8 -, .cmr = {{0xf8fd7c21u, 0xc15ebc5au, 0x04b3d3bcu, 0x0ad647e2u, 0x1d89f800u, 0x8ddddffeu, 0xbb003e35u, 0x52bdb570u}} +, .jet = simplicity_modulo_8 +, .cmr = {{0x90f3acebu, 0x58477139u, 0x06d2f8efu, 0x7cb4b66bu, 0x0892810eu, 0xa801bfa9u, 0xd746da1au, 0xd6d98009u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 158 /* milli weight units */ +, .cost = 102 /* milli weight units */ } ,[MULTIPLY_16] = { .tag = JET -, .jet = multiply_16 -, .cmr = {{0xd66b0ad2u, 0x1cdbe601u, 0x4f2619f4u, 0x40d935f6u, 0x42e97c59u, 0x4e3b441fu, 0x01980eeau, 0x08c48591u}} +, .jet = simplicity_multiply_16 +, .cmr = {{0x6868a85du, 0x9f76c958u, 0xffda8478u, 0x05f5ebc0u, 0x9f43bddbu, 0xc140952au, 0xbb2a4cc0u, 0x1927ebddu}} , .sourceIx = ty_w32 , .targetIx = ty_w32 -, .cost = 154 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[MULTIPLY_32] = { .tag = JET -, .jet = multiply_32 -, .cmr = {{0xc67f65afu, 0xae79108cu, 0xe5f724f4u, 0x01817aa1u, 0xb4a7608au, 0x4e18ee74u, 0x826b37f7u, 0x949c77d6u}} +, .jet = simplicity_multiply_32 +, .cmr = {{0x69f91b99u, 0x4d8340e4u, 0x8c0f1124u, 0x990de03bu, 0x512adcecu, 0xd7bdeb29u, 0xe409a351u, 0x19f11facu}} , .sourceIx = ty_w64 , .targetIx = ty_w64 -, .cost = 165 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[MULTIPLY_64] = { .tag = JET -, .jet = multiply_64 -, .cmr = {{0x16ac08feu, 0xc9d96652u, 0x7f80c39cu, 0x64a4fc10u, 0x82b150bdu, 0xbb05f7f6u, 0xc4b9a00eu, 0xbd894dbau}} +, .jet = simplicity_multiply_64 +, .cmr = {{0xd1f148f2u, 0xd450e803u, 0x474343e5u, 0x9d2e0c4du, 0xa7d6b097u, 0x2cfa251cu, 0x9a822ab4u, 0x4263e162u}} , .sourceIx = ty_w128 , .targetIx = ty_w128 -, .cost = 185 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[MULTIPLY_8] = { .tag = JET -, .jet = multiply_8 -, .cmr = {{0xcec3d5c3u, 0x2dee352eu, 0x754f141cu, 0x02ef2b60u, 0xf86e27d2u, 0xcbe27326u, 0x060dec9eu, 0x7bcc206bu}} +, .jet = simplicity_multiply_8 +, .cmr = {{0x2a8c0363u, 0x2ecc5e61u, 0xe3f1203au, 0x912b1a77u, 0x3eb6bf63u, 0x4b6bdf56u, 0x63b8431du, 0xb6f55be3u}} , .sourceIx = ty_w16 , .targetIx = ty_w16 -, .cost = 126 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[NEGATE_16] = { .tag = JET -, .jet = negate_16 -, .cmr = {{0x81f3ef08u, 0x2b199d2eu, 0x474535fbu, 0x84282f21u, 0x111c1a04u, 0x97a91695u, 0xe72c4d51u, 0xaf1cb057u}} +, .jet = simplicity_negate_16 +, .cmr = {{0xf1a22428u, 0x06aadfc4u, 0xdc11de65u, 0xe877b0d8u, 0x73b5d565u, 0xeee3f848u, 0xa7442831u, 0xe52c630au}} , .sourceIx = ty_w16 , .targetIx = ty_pbw16 -, .cost = 121 /* milli weight units */ +, .cost = 70 /* milli weight units */ } ,[NEGATE_32] = { .tag = JET -, .jet = negate_32 -, .cmr = {{0xba173bdeu, 0xf24e637fu, 0x4a5a0c6fu, 0xed4bbc22u, 0xc7d08bccu, 0x20fdca61u, 0x70363d25u, 0x26955836u}} +, .jet = simplicity_negate_32 +, .cmr = {{0xdb75ba2cu, 0x60952e76u, 0x5d7a5ce4u, 0xaaa31264u, 0x990fccacu, 0x750a80adu, 0xc678787fu, 0x5f72bfddu}} , .sourceIx = ty_w32 , .targetIx = ty_pbw32 -, .cost = 185 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[NEGATE_64] = { .tag = JET -, .jet = negate_64 -, .cmr = {{0xe713272du, 0x6d9a6d69u, 0x6c46889du, 0xfb270475u, 0xe9238d17u, 0x72abf916u, 0x5b093c79u, 0x98ee8070u}} +, .jet = simplicity_negate_64 +, .cmr = {{0xc91bcdb7u, 0x1d196a3bu, 0xf65ca83fu, 0x225a5e1bu, 0xbb73bd2eu, 0x3575cf16u, 0x5e5a4717u, 0xe94737ebu}} , .sourceIx = ty_w64 , .targetIx = ty_pbw64 -, .cost = 162 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[NEGATE_8] = { .tag = JET -, .jet = negate_8 -, .cmr = {{0x8be87139u, 0x3e18c063u, 0x69161fb1u, 0xc0ad2b92u, 0x0622974eu, 0x3fdfca90u, 0x567e6da4u, 0x29fd9842u}} +, .jet = simplicity_negate_8 +, .cmr = {{0x8afffab3u, 0x6bbca0e9u, 0x3fff2c67u, 0x2724e4b7u, 0xbc24f638u, 0xe4048912u, 0x664788f0u, 0x38c995cfu}} , .sourceIx = ty_w8 , .targetIx = ty_pbw8 -, .cost = 152 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[NEW_ISSUANCE_CONTRACT] = { .tag = JET -, .jet = new_issuance_contract -, .cmr = {{0x59e2a74cu, 0x997a07aau, 0xfd5c280eu, 0x4649e7afu, 0x2b3cc4dcu, 0x9b72a81cu, 0x722548ffu, 0x8c1313bfu}} +, .jet = simplicity_new_issuance_contract +, .cmr = {{0x4d86ad92u, 0x93951343u, 0xc9d70310u, 0x48127b20u, 0x74566afau, 0xd660a930u, 0x2346e6cau, 0x9626857bu}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 214 /* milli weight units */ +, .cost = 157 /* milli weight units */ } ,[NONCE_HASH] = { .tag = JET -, .jet = nonce_hash -, .cmr = {{0xca4a66d7u, 0xf8e982a9u, 0xee042504u, 0x0d2b0d1du, 0x3dc6207fu, 0x93856458u, 0xe24e7a26u, 0xe95c56f8u}} +, .jet = simplicity_nonce_hash +, .cmr = {{0xee34738bu, 0x801ec5f2u, 0x6cf24436u, 0x7e2af0a0u, 0x5a2dc618u, 0x430a4a36u, 0x2e275003u, 0xcf05c8adu}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256mspbw256w256 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 2727 /* milli weight units */ +, .cost = 317 /* milli weight units */ } ,[NUM_INPUTS] = { .tag = JET -, .jet = num_inputs -, .cmr = {{0xd7b46628u, 0x7ef4e59cu, 0x02be3389u, 0xeafb4347u, 0xb7d1a2a1u, 0x5c144918u, 0xb7ad3443u, 0xb14fae03u}} +, .jet = simplicity_num_inputs +, .cmr = {{0x3bca34d7u, 0xde3555e1u, 0x2d085d92u, 0xbae6e52cu, 0x6adc7186u, 0xde52f0acu, 0x351c96e6u, 0x64d9e31fu}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 139 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[NUM_OUTPUTS] = { .tag = JET -, .jet = num_outputs -, .cmr = {{0x67df4debu, 0x3ff0c26au, 0xe3123047u, 0xcc734ae3u, 0xb61ffcefu, 0x511fcf42u, 0x813c3f48u, 0x1920ee48u}} +, .jet = simplicity_num_outputs +, .cmr = {{0x29dc3190u, 0xd3bbafb5u, 0xe30b1c6eu, 0x6c5af030u, 0x7a9d35d3u, 0x117fd1c2u, 0xbdcc14d8u, 0xc4fade70u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 134 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[ONE_16] = { .tag = JET -, .jet = one_16 -, .cmr = {{0x7629792bu, 0xa1a44114u, 0xe59e64b5u, 0x1d187af6u, 0xd965d966u, 0x20dca262u, 0x7507b7d3u, 0x88d9353cu}} +, .jet = simplicity_one_16 +, .cmr = {{0xebe53162u, 0x8242d117u, 0x7fa94ecfu, 0x469221beu, 0x15905e07u, 0xf3c8fa15u, 0xd3d9d4aau, 0x6a815c8du}} , .sourceIx = ty_u , .targetIx = ty_w16 -, .cost = 126 /* milli weight units */ +, .cost = 60 /* milli weight units */ } ,[ONE_32] = { .tag = JET -, .jet = one_32 -, .cmr = {{0x0ba004ceu, 0xa250fe95u, 0x3ac74e6eu, 0xcd3620e8u, 0x02841fdau, 0x795208deu, 0xc66d626eu, 0x06aa29b2u}} +, .jet = simplicity_one_32 +, .cmr = {{0x991f9e3au, 0xcb6ff78fu, 0x03f57803u, 0x541096beu, 0x7944c918u, 0xc2af3d68u, 0xa3210d0bu, 0x9f990ec2u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 122 /* milli weight units */ +, .cost = 59 /* milli weight units */ } ,[ONE_64] = { .tag = JET -, .jet = one_64 -, .cmr = {{0xba3478c1u, 0x08740a83u, 0xf0ca0eaeu, 0x86c31b4au, 0xfac830dfu, 0x093467ccu, 0x08ea1c04u, 0x15efef6du}} +, .jet = simplicity_one_64 +, .cmr = {{0xfe308d3fu, 0x6897cdceu, 0xedc02cedu, 0x1630e55eu, 0x87bdcfecu, 0xd4aec3ceu, 0x54948f57u, 0xdfe18e27u}} , .sourceIx = ty_u , .targetIx = ty_w64 -, .cost = 123 /* milli weight units */ +, .cost = 59 /* milli weight units */ } ,[ONE_8] = { .tag = JET -, .jet = one_8 -, .cmr = {{0x15ca77a4u, 0xb7022568u, 0x37f90ff7u, 0x8ca7740au, 0x40fece71u, 0x91301d00u, 0xe517d8d3u, 0x4f46c250u}} +, .jet = simplicity_one_8 +, .cmr = {{0x68248261u, 0x8bee00bbu, 0x85db83e3u, 0x9dc40c28u, 0x51f64c00u, 0x6953440fu, 0x43b973afu, 0x7a7232c9u}} , .sourceIx = ty_u , .targetIx = ty_w8 -, .cost = 127 /* milli weight units */ +, .cost = 62 /* milli weight units */ } ,[OR_1] = { .tag = JET -, .jet = or_1 -, .cmr = {{0x93522230u, 0x1700987du, 0xe12cb426u, 0x17218153u, 0xfd7ccd63u, 0x174a1749u, 0xfc880c39u, 0xe3e7239cu}} +, .jet = simplicity_or_1 +, .cmr = {{0xa9a6a736u, 0x9f3fd77eu, 0xfd36b8a4u, 0x1dadd70cu, 0x1a4ede70u, 0x623b140au, 0x8d50dec7u, 0x4dd4912du}} , .sourceIx = ty_w2 , .targetIx = ty_b -, .cost = 147 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[OR_16] = { .tag = JET -, .jet = or_16 -, .cmr = {{0xdfead0bau, 0x93e49155u, 0xc40cb372u, 0xca5ef617u, 0x9741c61fu, 0x2b3cc279u, 0x7ef162c8u, 0xd2fc1f9au}} +, .jet = simplicity_or_16 +, .cmr = {{0xda96d833u, 0x2155c363u, 0x8cf2a620u, 0x40b224c1u, 0x3c1baeeeu, 0x91321853u, 0x3defed9eu, 0x166a6483u}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 204 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[OR_32] = { .tag = JET -, .jet = or_32 -, .cmr = {{0x67ac6945u, 0xcdc006d2u, 0x5e5bbe6cu, 0x4fe81ca1u, 0x6741ffabu, 0x3d23960eu, 0xeb49850fu, 0x92732cbbu}} +, .jet = simplicity_or_32 +, .cmr = {{0xb672b0f7u, 0xc9297497u, 0xa0c9cc84u, 0xd7f7dde2u, 0x6d6de5e4u, 0xbec14b20u, 0xe010cee1u, 0xccc08f09u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 197 /* milli weight units */ +, .cost = 105 /* milli weight units */ } ,[OR_64] = { .tag = JET -, .jet = or_64 -, .cmr = {{0x1eb952e4u, 0x6116e271u, 0xdc489e67u, 0x22a90185u, 0xebf5fb77u, 0x5b778160u, 0x6dbf5e89u, 0xccd7c250u}} +, .jet = simplicity_or_64 +, .cmr = {{0x133d505cu, 0xe503fbebu, 0x1329580fu, 0x5b96a0d9u, 0x7f3a5abau, 0x79d71bbdu, 0x85884a12u, 0x8139c008u}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 214 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[OR_8] = { .tag = JET -, .jet = or_8 -, .cmr = {{0x378f7abeu, 0x8b081fafu, 0x5b3a2578u, 0xef1979feu, 0x80bccb07u, 0x91156a49u, 0x3f8a3f6eu, 0x0bb2fc84u}} +, .jet = simplicity_or_8 +, .cmr = {{0x8ef1c6a1u, 0xcae07403u, 0xdacd8c13u, 0x2e8899c1u, 0x858745c8u, 0x6d1fdd4cu, 0x9fda6362u, 0x510048b3u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 147 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[OUTPOINT_HASH] = { .tag = JET -, .jet = outpoint_hash -, .cmr = {{0xe31d339du, 0x86e6d76bu, 0xadc3d6d6u, 0xcf1be706u, 0x53e03442u, 0x73449cecu, 0xf521d366u, 0x2bd8fc2bu}} +, .jet = simplicity_outpoint_hash +, .cmr = {{0x89f8dc9bu, 0xd0e90591u, 0xd9c12224u, 0xb3614293u, 0xda1a2384u, 0xf5559be1u, 0xcf3ebd1eu, 0x7a326da3u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256pmw256pw256w32 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 5256 /* milli weight units */ +, .cost = 319 /* milli weight units */ } ,[OUTPUT_AMOUNT] = { .tag = JET -, .jet = output_amount -, .cmr = {{0x52db68c6u, 0xc7be32bfu, 0xaa426970u, 0xeb4197ceu, 0x1ce3f453u, 0x0e1a2cffu, 0x8e17db47u, 0x229207b3u}} +, .jet = simplicity_output_amount +, .cmr = {{0x1ef0e908u, 0x6491c7b8u, 0xf25a0545u, 0x5dee8ff3u, 0x0b850885u, 0x65094b47u, 0x520b5944u, 0x72f8cc14u}} , .sourceIx = ty_w32 , .targetIx = ty_mpspbw256w256spbw256w64 -, .cost = 709 /* milli weight units */ +, .cost = 298 /* milli weight units */ } ,[OUTPUT_AMOUNTS_HASH] = { .tag = JET -, .jet = output_amounts_hash -, .cmr = {{0xbccbee78u, 0x1ee297fau, 0xbfbe38c0u, 0x079ad374u, 0x258c0b1eu, 0xbe223457u, 0x099a284au, 0x1b4338a2u}} +, .jet = simplicity_output_amounts_hash +, .cmr = {{0x25fde639u, 0xb3e13ecau, 0x04de5e8fu, 0x1a1b0c84u, 0x8c67bef3u, 0x3966ecbau, 0x975420b4u, 0x7be7229du}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 404 /* milli weight units */ +, .cost = 140 /* milli weight units */ } ,[OUTPUT_ASSET] = { .tag = JET -, .jet = output_asset -, .cmr = {{0xca89b5c4u, 0x5a9a247du, 0x39086cdfu, 0xbe2ba1dfu, 0x025e37dbu, 0x9b6a2abbu, 0x74d97066u, 0xa69bf3a0u}} +, .jet = simplicity_output_asset +, .cmr = {{0x2b6fbd7cu, 0x07617b9eu, 0x71c91207u, 0xd240add8u, 0x3157650cu, 0x89ea8049u, 0x961fa8b3u, 0x42dfd6d1u}} , .sourceIx = ty_w32 , .targetIx = ty_mspbw256w256 -, .cost = 621 /* milli weight units */ +, .cost = 170 /* milli weight units */ } ,[OUTPUT_HASH] = { .tag = JET -, .jet = output_hash -, .cmr = {{0x7875cc33u, 0x2cf1b49cu, 0xdcf11e70u, 0x18dc8119u, 0x3ee4b19eu, 0xa142fc0au, 0xe7dbddb3u, 0x36e2fbfau}} +, .jet = simplicity_output_hash +, .cmr = {{0xbec30efeu, 0x4443aa3au, 0x1beba611u, 0x51217cc6u, 0x73ba7201u, 0xc51ff23au, 0x2c2f6d43u, 0xfa50441au}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 296 /* milli weight units */ +, .cost = 2849 /* milli weight units */ } ,[OUTPUT_IS_FEE] = { .tag = JET -, .jet = output_is_fee -, .cmr = {{0xf70eb068u, 0xd200b7bcu, 0x5aaaaba1u, 0x2928e819u, 0x2b2948cdu, 0xe7e8f314u, 0x1c6b4311u, 0x38e5de3cu}} +, .jet = simplicity_output_is_fee +, .cmr = {{0x068dbed8u, 0x41d55f6cu, 0xd424c9f2u, 0xe07f0c18u, 0x38fb6de8u, 0xe5853fb3u, 0x22e299e0u, 0x17dd92e3u}} , .sourceIx = ty_w32 , .targetIx = ty_mb -, .cost = 270 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[OUTPUT_NONCE] = { .tag = JET -, .jet = output_nonce -, .cmr = {{0xedab1241u, 0xd297f274u, 0x7ad378a8u, 0x1a56143du, 0x741bc4eeu, 0x4c30b32fu, 0x8bc1aeb5u, 0x2cc4814cu}} +, .jet = simplicity_output_nonce +, .cmr = {{0x8ec54108u, 0xee02aefeu, 0x5300917eu, 0xf6a25f84u, 0xb41b5a1au, 0x101a6b72u, 0xf3c18ae1u, 0xce291239u}} , .sourceIx = ty_w32 , .targetIx = ty_mmspbw256w256 -, .cost = 396 /* milli weight units */ +, .cost = 196 /* milli weight units */ } ,[OUTPUT_NONCES_HASH] = { .tag = JET -, .jet = output_nonces_hash -, .cmr = {{0xf07fe7e9u, 0x7396865du, 0x50c1ac94u, 0x77ad9f95u, 0x062f11edu, 0x01c97de7u, 0xfa4affa0u, 0x8cd10531u}} +, .jet = simplicity_output_nonces_hash +, .cmr = {{0x10c40dbcu, 0xf70335d6u, 0x552eff11u, 0xc1e2d543u, 0x630f108fu, 0x7234402au, 0x1b0b3d6eu, 0x5fdae03fu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 387 /* milli weight units */ +, .cost = 151 /* milli weight units */ } ,[OUTPUT_NULL_DATUM] = { .tag = JET -, .jet = output_null_datum -, .cmr = {{0x964c4deeu, 0x8fe4a866u, 0xcc3ea494u, 0x7884814cu, 0xccd60269u, 0x2e378ba0u, 0xe935fa03u, 0xf95e3de1u}} +, .jet = simplicity_output_null_datum +, .cmr = {{0x24afc595u, 0x7e521ea7u, 0x32b29ca3u, 0x28bc8c07u, 0x276ae4dau, 0xf9d864a3u, 0xa5149f89u, 0x31aee6f5u}} , .sourceIx = ty_w64 , .targetIx = ty_mmspw2w256sbw4 -, .cost = 249 /* milli weight units */ +, .cost = 87 /* milli weight units */ } ,[OUTPUT_RANGE_PROOF] = { .tag = JET -, .jet = output_range_proof -, .cmr = {{0xa00418e4u, 0xabc4bed5u, 0x373fc222u, 0xce1f960bu, 0x6435eaa8u, 0xf14fe66cu, 0xa42c52ddu, 0x9ae226b8u}} +, .jet = simplicity_output_range_proof +, .cmr = {{0x33d1163fu, 0x6709e659u, 0x49c391f0u, 0xa73e1051u, 0x9c1997cfu, 0xcd13cabcu, 0x93001ed6u, 0xa23a2ca3u}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 452 /* milli weight units */ +, .cost = 154 /* milli weight units */ } ,[OUTPUT_RANGE_PROOFS_HASH] = { .tag = JET -, .jet = output_range_proofs_hash -, .cmr = {{0xebe626e2u, 0x854e7000u, 0x75eadeeeu, 0xad5fe0bdu, 0xd69c1b0fu, 0xadf108d3u, 0x68c1293fu, 0x86585fb1u}} +, .jet = simplicity_output_range_proofs_hash +, .cmr = {{0xfa892470u, 0xd9a171c6u, 0xd5a2a125u, 0xe9814652u, 0x57a5681cu, 0xecb2b529u, 0x7408d7f1u, 0x5c93d2eeu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 397 /* milli weight units */ +, .cost = 136 /* milli weight units */ } ,[OUTPUT_SCRIPT_HASH] = { .tag = JET -, .jet = output_script_hash -, .cmr = {{0xecf673e5u, 0xfcaf7b7eu, 0x6e37b628u, 0x095e5a9eu, 0xf981e6c4u, 0xc339ebdfu, 0x3eb1e6bfu, 0x4505f534u}} +, .jet = simplicity_output_script_hash +, .cmr = {{0x8437730bu, 0x2702e4e6u, 0x3aee3af0u, 0x84519107u, 0x7ffd18d0u, 0x10af4a73u, 0xa7d5f0c0u, 0xfbc06483u}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 437 /* milli weight units */ +, .cost = 151 /* milli weight units */ } ,[OUTPUT_SCRIPTS_HASH] = { .tag = JET -, .jet = output_scripts_hash -, .cmr = {{0xc0489e87u, 0x8cd89ca5u, 0x109a5316u, 0x7a61a845u, 0x4ed6dc2au, 0xcef9191au, 0xd53bbfb3u, 0xb0ea72dfu}} +, .jet = simplicity_output_scripts_hash +, .cmr = {{0x868dec36u, 0x5ba04627u, 0xdd90d56eu, 0x28553b57u, 0xf2d193c4u, 0x64cccd76u, 0xb1663efbu, 0xc3873889u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 416 /* milli weight units */ +, .cost = 142 /* milli weight units */ } ,[OUTPUT_SURJECTION_PROOF] = { .tag = JET -, .jet = output_surjection_proof -, .cmr = {{0x1de8addbu, 0xf8b697c2u, 0xb3d192bdu, 0xe2c2c55fu, 0x5e6709c5u, 0xbd8631e3u, 0x8d8378ddu, 0x3dce49ccu}} +, .jet = simplicity_output_surjection_proof +, .cmr = {{0x9b6c4e8du, 0x5652e2abu, 0xd6c49f02u, 0xde6de6c3u, 0x3096d17cu, 0x38e8626au, 0x4f83b19bu, 0x04409d48u}} , .sourceIx = ty_w32 , .targetIx = ty_mw256 -, .cost = 453 /* milli weight units */ +, .cost = 151 /* milli weight units */ } ,[OUTPUT_SURJECTION_PROOFS_HASH] = { .tag = JET -, .jet = output_surjection_proofs_hash -, .cmr = {{0x743eb2d9u, 0x8e2c69c4u, 0x03aba3c3u, 0x3dcb8351u, 0xde8224c9u, 0xe04da507u, 0x1c8dfd7au, 0x935070acu}} +, .jet = simplicity_output_surjection_proofs_hash +, .cmr = {{0xa92e384eu, 0xf30fbac8u, 0xf52455c0u, 0x959e42a1u, 0xf7b5866eu, 0x368305b0u, 0xb2d420dau, 0xe0d191d5u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 419 /* milli weight units */ +, .cost = 138 /* milli weight units */ } ,[OUTPUTS_HASH] = { .tag = JET -, .jet = outputs_hash -, .cmr = {{0x12af1e5cu, 0x32da7512u, 0xfcd43259u, 0xd1bc8472u, 0xa915ce21u, 0xc6d306e4u, 0x85f1dbbcu, 0x07a1cfdbu}} +, .jet = simplicity_outputs_hash +, .cmr = {{0x1fa311d6u, 0x359b3d97u, 0xf64d0dbdu, 0x7e23f517u, 0x1d200cd4u, 0x9bc81d99u, 0xccbf1b27u, 0xeff79ad5u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 296 /* milli weight units */ +, .cost = 135 /* milli weight units */ } ,[PARSE_LOCK] = { .tag = JET -, .jet = parse_lock -, .cmr = {{0x4571ca04u, 0x52577cfau, 0xf8a85f5eu, 0x329d602cu, 0x8dcad127u, 0x6a974e2cu, 0x75d2ec04u, 0x657bc425u}} +, .jet = simplicity_parse_lock +, .cmr = {{0xce03e195u, 0xff841f93u, 0x09ee277du, 0xc854f9c3u, 0xd4cb6554u, 0x20e92113u, 0x59e1f204u, 0x641a23a6u}} , .sourceIx = ty_w32 , .targetIx = ty_sw32w32 -, .cost = 177 /* milli weight units */ +, .cost = 97 /* milli weight units */ } ,[PARSE_SEQUENCE] = { .tag = JET -, .jet = parse_sequence -, .cmr = {{0x55c90366u, 0x0c8c92b1u, 0x429f63e2u, 0x7471acd5u, 0x9c3a26aau, 0x7a59221du, 0x7a6d52b6u, 0x2ebaf94au}} +, .jet = simplicity_parse_sequence +, .cmr = {{0xc8a1cb4eu, 0xadf2a8dau, 0x312c0d27u, 0x35cf97deu, 0xe0dbae4du, 0x731109cau, 0x0194521eu, 0x707d445bu}} , .sourceIx = ty_w32 , .targetIx = ty_msw16w16 -, .cost = 261 /* milli weight units */ +, .cost = 116 /* milli weight units */ } ,[POINT_VERIFY_1] = { .tag = JET -, .jet = point_verify_1 -, .cmr = {{0xb6009cecu, 0x8be8b14au, 0x1d313299u, 0xd66761d6u, 0x59adfff8u, 0x232899abu, 0x7db4097fu, 0x52c7d0beu}} +, .jet = simplicity_point_verify_1 +, .cmr = {{0xd63ff0e5u, 0xa5008594u, 0xd555a615u, 0xe81fd2a6u, 0x9a481b4fu, 0x457f42f4u, 0x8283de2bu, 0x522384e0u}} , .sourceIx = ty_pppw256pbw256w256pbw256 , .targetIx = ty_u -, .cost = 50604 /* milli weight units */ +, .cost = 41494 /* milli weight units */ } ,[REISSUANCE_BLINDING] = { .tag = JET -, .jet = reissuance_blinding -, .cmr = {{0x0b9a0aafu, 0xedb102a1u, 0x64061419u, 0xa789ea84u, 0x326cd589u, 0xf17c0ea0u, 0x192dd637u, 0x2ecb5ebfu}} +, .jet = simplicity_reissuance_blinding +, .cmr = {{0x808bf451u, 0xa2c8047bu, 0x307e21adu, 0x20213caeu, 0x55e102bau, 0x7283b8fdu, 0xec21db78u, 0x8c787fedu}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 153 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[REISSUANCE_ENTROPY] = { .tag = JET -, .jet = reissuance_entropy -, .cmr = {{0xce84f983u, 0xa3bd3394u, 0x3d4dcb44u, 0x861c4a69u, 0xa2a5e8a5u, 0x22b5d5ebu, 0xf2515f51u, 0x1ac6a9b2u}} +, .jet = simplicity_reissuance_entropy +, .cmr = {{0x242f5c4fu, 0x19655a51u, 0x7134dcdbu, 0x07490582u, 0xad880134u, 0x9456714eu, 0x4b2ebe1au, 0x40d53676u}} , .sourceIx = ty_w32 , .targetIx = ty_mmw256 -, .cost = 126 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[RIGHT_EXTEND_16_32] = { .tag = JET -, .jet = right_extend_16_32 -, .cmr = {{0x36423c16u, 0xd48d6c7cu, 0x91ed4416u, 0x11be3072u, 0xdfa5dd38u, 0xe4d27da8u, 0xdaed2978u, 0x8fc95208u}} +, .jet = simplicity_right_extend_16_32 +, .cmr = {{0x1fe05d19u, 0x7ee6f15eu, 0xfb175452u, 0x36efeb38u, 0xc16e7a5au, 0xdc828b9au, 0xa04a3f6eu, 0x4678b5bau}} , .sourceIx = ty_w16 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 74 /* milli weight units */ } ,[RIGHT_EXTEND_16_64] = { .tag = JET -, .jet = right_extend_16_64 -, .cmr = {{0x4b8a47b9u, 0x067073a1u, 0xfb68300fu, 0xacd6c506u, 0x9890abdbu, 0x7eaacb62u, 0x2ad7309au, 0x87f4d34du}} +, .jet = simplicity_right_extend_16_64 +, .cmr = {{0x7cb9cc78u, 0x655285a1u, 0x62ffd80cu, 0x6d59f828u, 0xecdb75cbu, 0x64b08274u, 0xf89d2010u, 0x7c2be443u}} , .sourceIx = ty_w16 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 82 /* milli weight units */ } ,[RIGHT_EXTEND_32_64] = { .tag = JET -, .jet = right_extend_32_64 -, .cmr = {{0xdd6af1c8u, 0x01d26c0bu, 0x2edf83ceu, 0x67b172dfu, 0x6757d07fu, 0xb7c85468u, 0x6f42e576u, 0x8adcc9e7u}} +, .jet = simplicity_right_extend_32_64 +, .cmr = {{0x325d1dffu, 0x737383f4u, 0x313dcb23u, 0xadf91e2au, 0xa4423038u, 0x8462832fu, 0xa15fe433u, 0x3633d930u}} , .sourceIx = ty_w32 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[RIGHT_EXTEND_8_16] = { .tag = JET -, .jet = right_extend_8_16 -, .cmr = {{0x1de201a8u, 0x6470a02bu, 0x2dfe48c6u, 0x6afe0673u, 0x5b475e88u, 0xd325cbf1u, 0x6042a910u, 0x24d2bed9u}} +, .jet = simplicity_right_extend_8_16 +, .cmr = {{0x5346f15du, 0x349bfebfu, 0x2b5b4b45u, 0xf9c0fc39u, 0x392067dcu, 0x6f979751u, 0xa15966b5u, 0xd17efb9fu}} , .sourceIx = ty_w8 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 76 /* milli weight units */ } ,[RIGHT_EXTEND_8_32] = { .tag = JET -, .jet = right_extend_8_32 -, .cmr = {{0x7e9c5cb3u, 0x5419ab06u, 0xe1220023u, 0x102be46au, 0xb6d96995u, 0xc423c6b1u, 0x4b9a6602u, 0x8aec5d75u}} +, .jet = simplicity_right_extend_8_32 +, .cmr = {{0xd5aee510u, 0xdfd50acau, 0xbd8ac329u, 0xd29748a6u, 0xf59408c2u, 0x6863ab62u, 0x4befc244u, 0x7ec26a44u}} , .sourceIx = ty_w8 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 106 /* milli weight units */ } ,[RIGHT_EXTEND_8_64] = { .tag = JET -, .jet = right_extend_8_64 -, .cmr = {{0x49d246c2u, 0xa61cd39du, 0x7820dcd7u, 0x5eee847bu, 0xf057c01au, 0x63a3acbcu, 0xc9463e44u, 0xbc1e0b6cu}} +, .jet = simplicity_right_extend_8_64 +, .cmr = {{0xa843a315u, 0xf6dcd9bcu, 0xff586859u, 0xed6c31d8u, 0xcb986907u, 0x1b45b679u, 0x57ed15aeu, 0xd2e0ae5du}} , .sourceIx = ty_w8 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 124 /* milli weight units */ } ,[RIGHT_PAD_HIGH_16_32] = { .tag = JET -, .jet = right_pad_high_16_32 -, .cmr = {{0xfe901fb4u, 0xf6ebdc4eu, 0xa2961998u, 0x9922b80fu, 0xa9ce2412u, 0x87fa5408u, 0x64362cccu, 0xe9f54b3bu}} +, .jet = simplicity_right_pad_high_16_32 +, .cmr = {{0x75bec300u, 0x6c04ce01u, 0x8f4a6110u, 0xaab3c55cu, 0xad453248u, 0xc1e7eb04u, 0x2c8257e6u, 0xb99ccd05u}} , .sourceIx = ty_w16 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 70 /* milli weight units */ } ,[RIGHT_PAD_HIGH_16_64] = { .tag = JET -, .jet = right_pad_high_16_64 -, .cmr = {{0xda90add3u, 0x1067ccfdu, 0xbee4cbfbu, 0x21de8e6au, 0xa4f93e00u, 0x2200711fu, 0x9984af6fu, 0xc01e2700u}} +, .jet = simplicity_right_pad_high_16_64 +, .cmr = {{0x93605928u, 0xb849b0f8u, 0xdfbc62a1u, 0x2590bb1au, 0x920ba59du, 0x5bdc49dfu, 0x0faab6a3u, 0x351a9661u}} , .sourceIx = ty_w16 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[RIGHT_PAD_HIGH_1_16] = { .tag = JET -, .jet = right_pad_high_1_16 -, .cmr = {{0xe4cf116cu, 0x0880f73fu, 0x9952f700u, 0x81788498u, 0xe5084cbbu, 0x72cf841bu, 0xcd9167a6u, 0xeea264dcu}} +, .jet = simplicity_right_pad_high_1_16 +, .cmr = {{0x34c108aeu, 0x8a54e2c6u, 0x499bfec5u, 0xd6932815u, 0xf887149cu, 0x1149b789u, 0x94603f40u, 0xf1ffd2e7u}} , .sourceIx = ty_b , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 143 /* milli weight units */ } ,[RIGHT_PAD_HIGH_1_32] = { .tag = JET -, .jet = right_pad_high_1_32 -, .cmr = {{0x1276036bu, 0xb94cfd92u, 0x0ab73164u, 0x3b76b119u, 0x72dd2654u, 0x3853444eu, 0x18d7f63fu, 0xcac091a3u}} +, .jet = simplicity_right_pad_high_1_32 +, .cmr = {{0x5b4a76edu, 0x0a50ace5u, 0x2b791ab9u, 0xa5c5ebcbu, 0x3cbba0dau, 0x3a95ac40u, 0x51eba9abu, 0x150fd0dcu}} , .sourceIx = ty_b , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 223 /* milli weight units */ } ,[RIGHT_PAD_HIGH_1_64] = { .tag = JET -, .jet = right_pad_high_1_64 -, .cmr = {{0x38c99980u, 0xb1a99810u, 0x5111c56bu, 0xf8246509u, 0x65a509c4u, 0x7e1c76d9u, 0x00750a1fu, 0xee45c964u}} +, .jet = simplicity_right_pad_high_1_64 +, .cmr = {{0xd499b4bcu, 0xf5df6a71u, 0xc8664f96u, 0xb7b964aeu, 0x2bbbda55u, 0x219797ecu, 0x6b9d2df4u, 0xa5a5e8bau}} , .sourceIx = ty_b , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 476 /* milli weight units */ } ,[RIGHT_PAD_HIGH_1_8] = { .tag = JET -, .jet = right_pad_high_1_8 -, .cmr = {{0xca72ceedu, 0x2d98dccdu, 0x81aa21f0u, 0xba21d1a0u, 0x87b6f252u, 0x07c24a58u, 0x0ada7e60u, 0x5f7982dfu}} +, .jet = simplicity_right_pad_high_1_8 +, .cmr = {{0x5ee6a838u, 0x2f9bbdc0u, 0xc581036eu, 0x51f1d927u, 0x6996722au, 0x182413a1u, 0x03cb98e9u, 0xa898f91eu}} , .sourceIx = ty_b , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 107 /* milli weight units */ } ,[RIGHT_PAD_HIGH_32_64] = { .tag = JET -, .jet = right_pad_high_32_64 -, .cmr = {{0x17eb5911u, 0xf8549576u, 0x68eef463u, 0xb0cbae72u, 0x08529134u, 0xef5e56cdu, 0x33fbbc29u, 0xc28bbe92u}} +, .jet = simplicity_right_pad_high_32_64 +, .cmr = {{0x062e02f4u, 0x8797787bu, 0xef0eab59u, 0x67580511u, 0xdcbcd744u, 0xbe65c4f6u, 0xc31b89e5u, 0x47e2e1d5u}} , .sourceIx = ty_w32 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 94 /* milli weight units */ } ,[RIGHT_PAD_HIGH_8_16] = { .tag = JET -, .jet = right_pad_high_8_16 -, .cmr = {{0xd26f0cc5u, 0xb261eb83u, 0x0e02df12u, 0xcc574425u, 0x9b4a43d9u, 0x75bd2e3du, 0x7c782811u, 0x761ff1d1u}} +, .jet = simplicity_right_pad_high_8_16 +, .cmr = {{0xa5c985e8u, 0xaea842fau, 0xdf9a748bu, 0x964ca515u, 0x04e9ebb4u, 0xac494552u, 0x648f3a67u, 0xa160c4c5u}} , .sourceIx = ty_w8 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 89 /* milli weight units */ } ,[RIGHT_PAD_HIGH_8_32] = { .tag = JET -, .jet = right_pad_high_8_32 -, .cmr = {{0xbd2e5c92u, 0x60bf6f32u, 0x4d2b1f40u, 0xcbb12240u, 0x2f30d52fu, 0x6434e39fu, 0x8a09b839u, 0x7bc32e94u}} +, .jet = simplicity_right_pad_high_8_32 +, .cmr = {{0xbf92f39fu, 0xdcdee4c4u, 0x96121870u, 0x7530cb10u, 0x08adf755u, 0x89d250cau, 0xffb370b3u, 0x3ebae238u}} , .sourceIx = ty_w8 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 110 /* milli weight units */ } ,[RIGHT_PAD_HIGH_8_64] = { .tag = JET -, .jet = right_pad_high_8_64 -, .cmr = {{0x941bf442u, 0xdbcf4f20u, 0x04a4b18bu, 0xeeb2adacu, 0x9f209feau, 0x4c4bd48cu, 0xede8dafau, 0xcf8843b7u}} +, .jet = simplicity_right_pad_high_8_64 +, .cmr = {{0xce7e8a0eu, 0x4a9b0401u, 0x5cc24f26u, 0x990f68dcu, 0x93b67b3fu, 0x676fbfeau, 0xa17fd74cu, 0xd60357c1u}} , .sourceIx = ty_w8 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 107 /* milli weight units */ } ,[RIGHT_PAD_LOW_16_32] = { .tag = JET -, .jet = right_pad_low_16_32 -, .cmr = {{0xbb387c29u, 0x2d59d713u, 0xad76f6ceu, 0xd5b596cfu, 0xd8385892u, 0x4f725f7du, 0x116b2807u, 0x5821925au}} +, .jet = simplicity_right_pad_low_16_32 +, .cmr = {{0xb0f7151du, 0x0a79de08u, 0xf233806du, 0x4f7e1f88u, 0xc329b964u, 0x625e8e02u, 0xf0a0a62cu, 0x31d0e600u}} , .sourceIx = ty_w16 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 71 /* milli weight units */ } ,[RIGHT_PAD_LOW_16_64] = { .tag = JET -, .jet = right_pad_low_16_64 -, .cmr = {{0x0232326eu, 0xe1b206adu, 0x26349b55u, 0x3d7f2462u, 0x287320d6u, 0x30e42932u, 0x0740cbd3u, 0xeb4ef9beu}} +, .jet = simplicity_right_pad_low_16_64 +, .cmr = {{0x6d141cd9u, 0xc8dcfcefu, 0xb1cf853bu, 0xf37278edu, 0xe8ef3c55u, 0x8f39edebu, 0xbcafe44bu, 0x54007150u}} , .sourceIx = ty_w16 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 96 /* milli weight units */ } ,[RIGHT_PAD_LOW_1_16] = { .tag = JET -, .jet = right_pad_low_1_16 -, .cmr = {{0xd913f602u, 0xb35958d5u, 0x2abb20b0u, 0x2ce68961u, 0x6ffa66e0u, 0x2d73867du, 0x29181e11u, 0x93c9d243u}} +, .jet = simplicity_right_pad_low_1_16 +, .cmr = {{0x33101e54u, 0x87dd66c2u, 0x45e8754du, 0xfa166a06u, 0xce53c5b5u, 0x4fc6d810u, 0x0e2aec6cu, 0xfe939bc9u}} , .sourceIx = ty_b , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 81 /* milli weight units */ } ,[RIGHT_PAD_LOW_1_32] = { .tag = JET -, .jet = right_pad_low_1_32 -, .cmr = {{0x6b4033d9u, 0xfc6c876bu, 0x2e75d582u, 0xbb9b3c04u, 0xfa29dfb2u, 0x2c9e1a48u, 0x8e837c2fu, 0x39aa6160u}} +, .jet = simplicity_right_pad_low_1_32 +, .cmr = {{0x5fa498c3u, 0xb7c6d348u, 0xa422b8cau, 0x4f47d069u, 0x552adbe2u, 0xbc6559dfu, 0x18684343u, 0x874843d3u}} , .sourceIx = ty_b , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 75 /* milli weight units */ } ,[RIGHT_PAD_LOW_1_64] = { .tag = JET -, .jet = right_pad_low_1_64 -, .cmr = {{0x4e2b20ddu, 0x9d91857au, 0x49c820d0u, 0x6f435dd3u, 0xca791f17u, 0x7eeaf34au, 0xec36c454u, 0x19d16965u}} +, .jet = simplicity_right_pad_low_1_64 +, .cmr = {{0x07bb6d70u, 0xc5354f44u, 0x51fb061bu, 0x37e9efdau, 0x7e836efdu, 0x45061405u, 0xa5ea1a2fu, 0xf3158306u}} , .sourceIx = ty_b , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 73 /* milli weight units */ } ,[RIGHT_PAD_LOW_1_8] = { .tag = JET -, .jet = right_pad_low_1_8 -, .cmr = {{0x24eee451u, 0xb26ba39du, 0x6bcc588bu, 0x720faf22u, 0x32767912u, 0xf67db329u, 0x060d90b7u, 0x1417b6c3u}} +, .jet = simplicity_right_pad_low_1_8 +, .cmr = {{0xcd7215d3u, 0x9b80b18bu, 0x6e78ec56u, 0x8b488258u, 0x9f827104u, 0xd685b0d4u, 0xec689d10u, 0x59757122u}} , .sourceIx = ty_b , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 68 /* milli weight units */ } ,[RIGHT_PAD_LOW_32_64] = { .tag = JET -, .jet = right_pad_low_32_64 -, .cmr = {{0x52fb8bbcu, 0xef903231u, 0xa5b76791u, 0xe4652b38u, 0xbed8977fu, 0x5dab1795u, 0x55998db2u, 0x4d1d7c98u}} +, .jet = simplicity_right_pad_low_32_64 +, .cmr = {{0x0078a07cu, 0x1a2ba848u, 0x6f1605d7u, 0xfa54b377u, 0xe84cb6ddu, 0xc5e4c03du, 0xaf98fba9u, 0x0fd2f662u}} , .sourceIx = ty_w32 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 80 /* milli weight units */ } ,[RIGHT_PAD_LOW_8_16] = { .tag = JET -, .jet = right_pad_low_8_16 -, .cmr = {{0x1719b279u, 0x74e84380u, 0x50882530u, 0xa1a42ed7u, 0xab3ca28du, 0x254adc37u, 0xfe5666fdu, 0x2f70b4e4u}} +, .jet = simplicity_right_pad_low_8_16 +, .cmr = {{0xc9048e29u, 0xacd72674u, 0x0300c9a6u, 0xcff117c0u, 0xec77090du, 0xa5aeedf9u, 0x703f9affu, 0xc91d9ab7u}} , .sourceIx = ty_w8 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 75 /* milli weight units */ } ,[RIGHT_PAD_LOW_8_32] = { .tag = JET -, .jet = right_pad_low_8_32 -, .cmr = {{0xee2a8230u, 0xf283dc08u, 0x3b8e1944u, 0x8ba32497u, 0xe9318b4eu, 0x9e1bd4ebu, 0xe1bec524u, 0x476ab86du}} +, .jet = simplicity_right_pad_low_8_32 +, .cmr = {{0x51e7f934u, 0xf06ec1c9u, 0x499186bau, 0xa5180a9du, 0xed566d58u, 0xb42ab2f7u, 0x0ff36a4eu, 0x88ba0978u}} , .sourceIx = ty_w8 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[RIGHT_PAD_LOW_8_64] = { .tag = JET -, .jet = right_pad_low_8_64 -, .cmr = {{0x97da90d8u, 0x428e6b94u, 0xe6c13514u, 0x60dc0112u, 0x3e479c4au, 0xafbbd14cu, 0x78ad2fadu, 0x0a895ef3u}} +, .jet = simplicity_right_pad_low_8_64 +, .cmr = {{0x48cd20c3u, 0x8c1ea9a0u, 0xab74d51du, 0xf485ef63u, 0x904b8f9au, 0x09effd98u, 0xfebacd17u, 0x17f18ad8u}} , .sourceIx = ty_w8 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 82 /* milli weight units */ } ,[RIGHT_ROTATE_16] = { .tag = JET -, .jet = right_rotate_16 -, .cmr = {{0xee7d1c1fu, 0x3d82da56u, 0x81dd8b50u, 0x69d537d8u, 0x9f2293aau, 0x605332ceu, 0x10c1c422u, 0x4a53ceeau}} +, .jet = simplicity_right_rotate_16 +, .cmr = {{0x65ad755eu, 0xe809c727u, 0x6bc09de1u, 0x9b67d196u, 0x9de32c53u, 0xb3a10121u, 0xaf905656u, 0x6a3ce8efu}} , .sourceIx = ty_pw4w16 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 99 /* milli weight units */ } ,[RIGHT_ROTATE_32] = { .tag = JET -, .jet = right_rotate_32 -, .cmr = {{0x892a28dbu, 0x324cd93cu, 0xf7f69c30u, 0x72a7b222u, 0xb88c818eu, 0xe0e5a1b8u, 0x97e50c58u, 0x1f2a2962u}} +, .jet = simplicity_right_rotate_32 +, .cmr = {{0xd813637cu, 0xba61094eu, 0xb5dc58f9u, 0x3259ac3bu, 0xda0af29cu, 0x3dcb0551u, 0xe145203eu, 0x0b8dfe20u}} , .sourceIx = ty_pw8w32 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[RIGHT_ROTATE_64] = { .tag = JET -, .jet = right_rotate_64 -, .cmr = {{0x64314ff1u, 0x9040a376u, 0xf9fcf02eu, 0x7574149cu, 0x123f99c3u, 0x9071cd37u, 0x851f8f8cu, 0xdf0eed42u}} +, .jet = simplicity_right_rotate_64 +, .cmr = {{0x7b8df8b8u, 0x857ecfb4u, 0xacc183a3u, 0x55d3630au, 0x9c645f9du, 0xc405e887u, 0x066193cbu, 0xcda44a2eu}} , .sourceIx = ty_pw8w64 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[RIGHT_ROTATE_8] = { .tag = JET -, .jet = right_rotate_8 -, .cmr = {{0x1581e0cau, 0x09f13684u, 0xfe3135c1u, 0xc6b6f9c4u, 0x89d7dd1eu, 0xf0a5f770u, 0x83bb0ed0u, 0x0b4df28fu}} +, .jet = simplicity_right_rotate_8 +, .cmr = {{0x89282b3eu, 0x430bbad5u, 0xae7b1ad7u, 0x4d10614cu, 0xedfdc801u, 0xbfa3ce17u, 0x5f9e08bfu, 0x4031dd8eu}} , .sourceIx = ty_pw4w8 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 75 /* milli weight units */ } ,[RIGHT_SHIFT_16] = { .tag = JET -, .jet = right_shift_16 -, .cmr = {{0x5b4ec462u, 0xd4e2ed89u, 0xffe3fd40u, 0x5932c797u, 0x80286120u, 0x3ecb61d5u, 0xb59a73b0u, 0xfbfc4e84u}} +, .jet = simplicity_right_shift_16 +, .cmr = {{0x86040b4bu, 0xdf11807fu, 0xb10dc7cau, 0x98f83e53u, 0x02c584c9u, 0x2671d9a8u, 0xcaddf778u, 0x0bd6085fu}} , .sourceIx = ty_pw4w16 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 84 /* milli weight units */ } ,[RIGHT_SHIFT_32] = { .tag = JET -, .jet = right_shift_32 -, .cmr = {{0xb2861a48u, 0xb2054176u, 0x91b6347fu, 0xe75ebea5u, 0x4560cf81u, 0x3814ac31u, 0x639170dbu, 0x92b947d6u}} +, .jet = simplicity_right_shift_32 +, .cmr = {{0xd1d0ccdbu, 0xcc11a0e0u, 0x0af93e7au, 0xe5bbe27fu, 0x9d7fa7f2u, 0xc251f603u, 0x35245fa0u, 0x0c5ab9fcu}} , .sourceIx = ty_pw8w32 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[RIGHT_SHIFT_64] = { .tag = JET -, .jet = right_shift_64 -, .cmr = {{0xd33942bfu, 0x18618a10u, 0x4a570754u, 0x7f78ab72u, 0x941f4ee8u, 0x13216c0cu, 0xe520f356u, 0x60fdbf81u}} +, .jet = simplicity_right_shift_64 +, .cmr = {{0x517ba7ccu, 0xb3ab802cu, 0x83d7068cu, 0x3c871c17u, 0xe204ff0eu, 0xea02ab42u, 0x0181733cu, 0x79a42bb6u}} , .sourceIx = ty_pw8w64 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[RIGHT_SHIFT_8] = { .tag = JET -, .jet = right_shift_8 -, .cmr = {{0x737912aeu, 0x323250c0u, 0x4e516e39u, 0x66ce947eu, 0x65326f47u, 0x468ac931u, 0xc163c3b0u, 0x2de41245u}} +, .jet = simplicity_right_shift_8 +, .cmr = {{0x0f298a1au, 0x90d1f384u, 0xc245af0bu, 0xf172642cu, 0x51f51d47u, 0x5a4147dcu, 0xe8c72168u, 0xe77f0cb2u}} , .sourceIx = ty_pw4w8 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 88 /* milli weight units */ } ,[RIGHT_SHIFT_WITH_16] = { .tag = JET -, .jet = right_shift_with_16 -, .cmr = {{0x1e181c33u, 0x1693594cu, 0x6e0e8fdeu, 0xb40a81a3u, 0xaf8f56b7u, 0xa560de64u, 0x41303f65u, 0xf4fc937cu}} +, .jet = simplicity_right_shift_with_16 +, .cmr = {{0xcf05f842u, 0x110f9819u, 0xa5345c23u, 0x2beb472bu, 0x9c976984u, 0xa41470beu, 0xfc0b025du, 0x46d04271u}} , .sourceIx = ty_pbpw4w16 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 105 /* milli weight units */ } ,[RIGHT_SHIFT_WITH_32] = { .tag = JET -, .jet = right_shift_with_32 -, .cmr = {{0x69dbe190u, 0xd72d77d0u, 0xd0dcf325u, 0xde965922u, 0x14581f11u, 0xe9edca93u, 0xe2f92848u, 0x2b5e77a7u}} +, .jet = simplicity_right_shift_with_32 +, .cmr = {{0x04044195u, 0x69d57fe3u, 0x893230dbu, 0x5fa0d8f9u, 0x473023a4u, 0x2e01c204u, 0x931cd734u, 0xfb44a9f8u}} , .sourceIx = ty_pbpw8w32 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[RIGHT_SHIFT_WITH_64] = { .tag = JET -, .jet = right_shift_with_64 -, .cmr = {{0x2d0ab883u, 0x0469280eu, 0x2a28993cu, 0x5a05f56bu, 0x91a8aeb0u, 0x34ccebe0u, 0x9c50f13eu, 0xa78ddafcu}} +, .jet = simplicity_right_shift_with_64 +, .cmr = {{0x77267b05u, 0x1e5a1039u, 0x1185903bu, 0x1a98de32u, 0xfcf24e6au, 0xe6871c6fu, 0x15b68652u, 0xb24a66c4u}} , .sourceIx = ty_pbpw8w64 , .targetIx = ty_w64 -, .cost = 150 /* milli weight units */ +, .cost = 97 /* milli weight units */ } ,[RIGHT_SHIFT_WITH_8] = { .tag = JET -, .jet = right_shift_with_8 -, .cmr = {{0x1bdbdc8du, 0x8b749ba3u, 0xda757558u, 0x7d999300u, 0x72603f27u, 0x5f7bd2f3u, 0x24a34951u, 0xd4461b21u}} +, .jet = simplicity_right_shift_with_8 +, .cmr = {{0xa9cb6614u, 0xef326a66u, 0x4774d6dcu, 0xe653e1d6u, 0xc0895834u, 0x43ae917fu, 0x0fb4c5c2u, 0x2b9ab444u}} , .sourceIx = ty_pbpw4w8 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 103 /* milli weight units */ } ,[RIGHTMOST_16_1] = { .tag = JET -, .jet = rightmost_16_1 -, .cmr = {{0xe129a8aeu, 0x880f51cau, 0x2a94db44u, 0xedeca1c3u, 0xa766b73eu, 0x98970b11u, 0x98ade216u, 0xae69cd2du}} +, .jet = simplicity_rightmost_16_1 +, .cmr = {{0x648b9a0fu, 0x903228bau, 0x27d95941u, 0xfd54e92eu, 0xa7b35feeu, 0xb28a7986u, 0xb62da92du, 0x7d512470u}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 70 /* milli weight units */ } ,[RIGHTMOST_16_2] = { .tag = JET -, .jet = rightmost_16_2 -, .cmr = {{0x8d0f68dau, 0xdf546c5eu, 0xd36f3470u, 0x5802b0ceu, 0x839a63e5u, 0x74497785u, 0x243008abu, 0x427e456bu}} +, .jet = simplicity_rightmost_16_2 +, .cmr = {{0x27622f1cu, 0x01736231u, 0x09f920f8u, 0xcd8766bbu, 0xf60d306au, 0xd1983fdbu, 0xc1461d23u, 0xa41fa944u}} , .sourceIx = ty_w16 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 82 /* milli weight units */ } ,[RIGHTMOST_16_4] = { .tag = JET -, .jet = rightmost_16_4 -, .cmr = {{0xb0d41395u, 0x41ecab2cu, 0x16fc1a87u, 0x989bdd04u, 0x5322efb1u, 0xe70bc1f7u, 0xb04d43b2u, 0x8bb349ffu}} +, .jet = simplicity_rightmost_16_4 +, .cmr = {{0x7987868fu, 0xf3fe7f44u, 0x68a3150eu, 0x3a42cd0fu, 0x325d4892u, 0x8189a485u, 0xaa62c013u, 0x94c4e834u}} , .sourceIx = ty_w16 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 76 /* milli weight units */ } ,[RIGHTMOST_16_8] = { .tag = JET -, .jet = rightmost_16_8 -, .cmr = {{0x0f03fa0fu, 0xa6ceb55du, 0xf99b20d9u, 0xefcf3710u, 0xa708a284u, 0xa95c334cu, 0x1da3cbfeu, 0x02fb9467u}} +, .jet = simplicity_rightmost_16_8 +, .cmr = {{0xef85cf36u, 0xb79d9cfau, 0xed2c633du, 0x751e2e38u, 0xeaae5ac0u, 0x21050b13u, 0x4729b9dbu, 0x51bd55a3u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 69 /* milli weight units */ } ,[RIGHTMOST_32_1] = { .tag = JET -, .jet = rightmost_32_1 -, .cmr = {{0x8f5e5263u, 0xbb8ef800u, 0xc99d0c23u, 0xfcbaa319u, 0x8a6abdf0u, 0x08581e8cu, 0x891052b4u, 0x0ca7f7a4u}} +, .jet = simplicity_rightmost_32_1 +, .cmr = {{0x0738e69eu, 0xbfcf85d8u, 0xe0db9066u, 0xc20afc0au, 0x0a62d54du, 0xb8ec357au, 0xce45ba4du, 0x4155d049u}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 90 /* milli weight units */ } ,[RIGHTMOST_32_16] = { .tag = JET -, .jet = rightmost_32_16 -, .cmr = {{0xb9a23e1bu, 0xf7c68143u, 0x513074c9u, 0x39bd73c9u, 0xbf8eb5aau, 0xce8415ffu, 0x01022fcau, 0x65b3a342u}} +, .jet = simplicity_rightmost_32_16 +, .cmr = {{0x08c12ff6u, 0x30906cdcu, 0x05d31716u, 0x045d962au, 0x6cb3952cu, 0x89aeb6c7u, 0x1e47fba6u, 0x845a4d8au}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 64 /* milli weight units */ } ,[RIGHTMOST_32_2] = { .tag = JET -, .jet = rightmost_32_2 -, .cmr = {{0xabf3238du, 0x3cbf0bf3u, 0x5a83961fu, 0xb9f904b5u, 0x6d3a9e0eu, 0x35c89df8u, 0x72c9c938u, 0xd344a54au}} +, .jet = simplicity_rightmost_32_2 +, .cmr = {{0xf755df38u, 0x9722ae31u, 0x23884d9fu, 0x03f260f1u, 0x2ab22a35u, 0x3203d3cdu, 0xfe198308u, 0x2181034bu}} , .sourceIx = ty_w32 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 74 /* milli weight units */ } ,[RIGHTMOST_32_4] = { .tag = JET -, .jet = rightmost_32_4 -, .cmr = {{0xf7eed2ecu, 0x805906feu, 0xb3ac27f2u, 0xdee53b58u, 0xc3b13e40u, 0xe2bc3e8bu, 0x10632ed9u, 0xc0e7ca5fu}} +, .jet = simplicity_rightmost_32_4 +, .cmr = {{0x396004e0u, 0xf72cc247u, 0x585a6bf9u, 0x17f7781au, 0xaeb1b62au, 0x87762058u, 0x72267e4fu, 0x18f0a775u}} , .sourceIx = ty_w32 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[RIGHTMOST_32_8] = { .tag = JET -, .jet = rightmost_32_8 -, .cmr = {{0xf3e439edu, 0x9883c6a6u, 0xb9072053u, 0x2eb4e043u, 0xe89a35f0u, 0xb5295fd5u, 0x02a0b0b2u, 0x436bd213u}} +, .jet = simplicity_rightmost_32_8 +, .cmr = {{0x41936ea9u, 0x769de1f7u, 0x866cd5d0u, 0x68ac6c2eu, 0xa7470a39u, 0x39c2f17du, 0x34fe91afu, 0xc68b1f3au}} , .sourceIx = ty_w32 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 78 /* milli weight units */ } ,[RIGHTMOST_64_1] = { .tag = JET -, .jet = rightmost_64_1 -, .cmr = {{0xc96be3e3u, 0x3548258eu, 0x30717b30u, 0x817e440fu, 0x0af4b189u, 0x0edfcf7fu, 0xdcb39cb9u, 0xefff471du}} +, .jet = simplicity_rightmost_64_1 +, .cmr = {{0x4506f204u, 0xb3d8c9a6u, 0x25fa9e8fu, 0xe6cc14bau, 0xe71d61a2u, 0x3cc46ad5u, 0xca25c67au, 0x019d9d4bu}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 77 /* milli weight units */ } ,[RIGHTMOST_64_16] = { .tag = JET -, .jet = rightmost_64_16 -, .cmr = {{0x5d555f83u, 0xe48087dbu, 0x0c415dadu, 0x17f081d4u, 0xf6b760e9u, 0x95f272bbu, 0xb6e4cb42u, 0xd0f50325u}} +, .jet = simplicity_rightmost_64_16 +, .cmr = {{0x8af70d2bu, 0x92a7d004u, 0xdb8d796eu, 0xc12b75e4u, 0xe44d9262u, 0x823257cau, 0xb3cb45fbu, 0x722a9b9bu}} , .sourceIx = ty_w64 , .targetIx = ty_w16 -, .cost = 150 /* milli weight units */ +, .cost = 86 /* milli weight units */ } ,[RIGHTMOST_64_2] = { .tag = JET -, .jet = rightmost_64_2 -, .cmr = {{0xa9cb1343u, 0xdbd522b9u, 0x1b6482e4u, 0xbae62b0eu, 0x5f829868u, 0x7e642333u, 0x5c6df506u, 0xdc425b90u}} +, .jet = simplicity_rightmost_64_2 +, .cmr = {{0xb6cbcad7u, 0x76fca4f7u, 0x7d5a7cf0u, 0x8500ceb2u, 0xcafcdce1u, 0xe33fae08u, 0x7529f5a1u, 0x5541bd98u}} , .sourceIx = ty_w64 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 74 /* milli weight units */ } ,[RIGHTMOST_64_32] = { .tag = JET -, .jet = rightmost_64_32 -, .cmr = {{0x4733b192u, 0x59800964u, 0x99b7877cu, 0x04e001bau, 0xd3325b2eu, 0xcab348e5u, 0xadd720d0u, 0x7b1b4a3au}} +, .jet = simplicity_rightmost_64_32 +, .cmr = {{0x7fb08518u, 0xd5cc0c38u, 0x0ea455bfu, 0xb2f45f2bu, 0x55f53468u, 0x109c365eu, 0xacff1f09u, 0x522c6d51u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 150 /* milli weight units */ +, .cost = 76 /* milli weight units */ } ,[RIGHTMOST_64_4] = { .tag = JET -, .jet = rightmost_64_4 -, .cmr = {{0x89daf7beu, 0x2cde58f0u, 0x4e8dee58u, 0xa4391091u, 0x2c096e95u, 0xe146c19bu, 0x00f54fe8u, 0x74700740u}} +, .jet = simplicity_rightmost_64_4 +, .cmr = {{0xdb61fde7u, 0xa41cbc68u, 0x77d2e64eu, 0x5c5f86e2u, 0x67ce843cu, 0xc2ab52f9u, 0x1a4a6d4cu, 0x64c6f4bfu}} , .sourceIx = ty_w64 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 70 /* milli weight units */ } ,[RIGHTMOST_64_8] = { .tag = JET -, .jet = rightmost_64_8 -, .cmr = {{0x1dfb2befu, 0x4cae4507u, 0x922708e5u, 0xa5709949u, 0x3fbe2115u, 0x98eec0bfu, 0xe0e77b3du, 0x41ec89abu}} +, .jet = simplicity_rightmost_64_8 +, .cmr = {{0x056665d9u, 0x3fbe67e7u, 0x137d40e7u, 0x5000828du, 0xe254757du, 0x47e754c5u, 0x7e2e2927u, 0x46b3d6e3u}} , .sourceIx = ty_w64 , .targetIx = ty_w8 -, .cost = 150 /* milli weight units */ +, .cost = 69 /* milli weight units */ } ,[RIGHTMOST_8_1] = { .tag = JET -, .jet = rightmost_8_1 -, .cmr = {{0xceabd5cau, 0x9fd9162fu, 0x995e3735u, 0x77047aa4u, 0xba71f807u, 0xc711f60bu, 0x08eb6a1cu, 0xfc381c9cu}} +, .jet = simplicity_rightmost_8_1 +, .cmr = {{0x3d31ef3du, 0x18b6af64u, 0x1046d0dfu, 0xe458b6dau, 0x9213ab54u, 0xaad8ab1fu, 0x480233e9u, 0x30cc774bu}} , .sourceIx = ty_w8 , .targetIx = ty_b -, .cost = 150 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[RIGHTMOST_8_2] = { .tag = JET -, .jet = rightmost_8_2 -, .cmr = {{0x39b2f037u, 0xb6a08186u, 0x115065f3u, 0x85057af3u, 0xde3b9f0au, 0x9bda6833u, 0x71462259u, 0x413028ecu}} +, .jet = simplicity_rightmost_8_2 +, .cmr = {{0x25c2a1beu, 0xbc03aa9du, 0x1e26610eu, 0x5877ad7au, 0xb2f7a4a2u, 0x4be7686cu, 0x4978e5bdu, 0x2197e8bdu}} , .sourceIx = ty_w8 , .targetIx = ty_w2 -, .cost = 150 /* milli weight units */ +, .cost = 98 /* milli weight units */ } ,[RIGHTMOST_8_4] = { .tag = JET -, .jet = rightmost_8_4 -, .cmr = {{0xa7a94949u, 0x0d1a00deu, 0xfe5f6151u, 0x2923850fu, 0x51e347c0u, 0x6a8d76a0u, 0xcdab87eeu, 0xe29a5defu}} +, .jet = simplicity_rightmost_8_4 +, .cmr = {{0x43cc17f6u, 0xad5d4220u, 0x53f3519eu, 0x0aa226eeu, 0x06c57cedu, 0x8d0531ecu, 0x8394af29u, 0x05c144a0u}} , .sourceIx = ty_w8 , .targetIx = ty_w4 -, .cost = 150 /* milli weight units */ +, .cost = 98 /* milli weight units */ } ,[SCALAR_ADD] = { .tag = JET -, .jet = scalar_add -, .cmr = {{0x4ee9a96cu, 0xef496cf4u, 0xa8fc4e8au, 0x8bc0d159u, 0xca5ffb87u, 0x53643a8au, 0xdf638ae8u, 0x9bbbb345u}} +, .jet = simplicity_scalar_add +, .cmr = {{0x21d03b80u, 0x630a825au, 0x2acc133du, 0x2408fdc7u, 0x718e4252u, 0x13a92f95u, 0xff9762b8u, 0xc5e93f64u}} , .sourceIx = ty_w512 , .targetIx = ty_w256 -, .cost = 962 /* milli weight units */ +, .cost = 739 /* milli weight units */ } ,[SCALAR_INVERT] = { .tag = JET -, .jet = scalar_invert -, .cmr = {{0x12b855e5u, 0xebaa7f8bu, 0xb44fee26u, 0x16a051adu, 0x00499f9du, 0xf2a2adf7u, 0x9973e9dbu, 0x8185759cu}} +, .jet = simplicity_scalar_invert +, .cmr = {{0x32774c56u, 0x7a8aefeeu, 0xd0efa74cu, 0xbbb6af27u, 0x34a2b11bu, 0x146abe92u, 0x067c9fabu, 0xa690b685u}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 4025 /* milli weight units */ +, .cost = 3193 /* milli weight units */ } ,[SCALAR_IS_ZERO] = { .tag = JET -, .jet = scalar_is_zero -, .cmr = {{0x4d252803u, 0x457b83b8u, 0x5b987f04u, 0x8733fbeeu, 0xdeaa8d25u, 0x9d320507u, 0x450019c6u, 0x22034f26u}} +, .jet = simplicity_scalar_is_zero +, .cmr = {{0x7b9be766u, 0x49089091u, 0x68e3ea60u, 0xbd1061ecu, 0x9a31e9a1u, 0xd47688bau, 0x127a39c1u, 0xc58de4fbu}} , .sourceIx = ty_w256 , .targetIx = ty_b -, .cost = 569 /* milli weight units */ +, .cost = 271 /* milli weight units */ } ,[SCALAR_MULTIPLY] = { .tag = JET -, .jet = scalar_multiply -, .cmr = {{0x8756f2dcu, 0x310cdeb6u, 0x4045c44cu, 0x2366e14bu, 0xc1fafa17u, 0x159f2d7bu, 0x489bd945u, 0x3ee37ea0u}} +, .jet = simplicity_scalar_multiply +, .cmr = {{0x25efe640u, 0x186bc5eau, 0x9f0e5dc8u, 0x02d6d2feu, 0x1c77750fu, 0xaa024e07u, 0x1bd832dbu, 0xe679024bu}} , .sourceIx = ty_w512 , .targetIx = ty_w256 -, .cost = 1230 /* milli weight units */ +, .cost = 774 /* milli weight units */ } ,[SCALAR_MULTIPLY_LAMBDA] = { .tag = JET -, .jet = scalar_multiply_lambda -, .cmr = {{0x2b31d39eu, 0xc4ff3723u, 0x1a1b3ebeu, 0x759d41e0u, 0xf5ce3449u, 0x2d4bd3c2u, 0x0988c3f2u, 0xf7c53edcu}} +, .jet = simplicity_scalar_multiply_lambda +, .cmr = {{0x232b9fcfu, 0x9d85c1a5u, 0x1162a3eau, 0x55081631u, 0x5c8e77e4u, 0x6403acffu, 0xa7fe6dbbu, 0x1f25011au}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 984 /* milli weight units */ +, .cost = 557 /* milli weight units */ } ,[SCALAR_NEGATE] = { .tag = JET -, .jet = scalar_negate -, .cmr = {{0xfc2ed187u, 0x50a22181u, 0xaf5b8141u, 0x969273cau, 0xaf72cc11u, 0x31e1082cu, 0xf008f5cau, 0x0909c216u}} +, .jet = simplicity_scalar_negate +, .cmr = {{0x3a63329du, 0x6645a7c0u, 0x4e7f99d9u, 0xca76292cu, 0xb57bea2fu, 0x9f9084f3u, 0x05e0583eu, 0x455b82eeu}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 851 /* milli weight units */ +, .cost = 490 /* milli weight units */ } ,[SCALAR_NORMALIZE] = { .tag = JET -, .jet = scalar_normalize -, .cmr = {{0x797cffa8u, 0x0859cab7u, 0xcdbf3b9du, 0xe6e0a8b7u, 0x91484eaau, 0xbacbdfbau, 0xeb01e238u, 0x95e96199u}} +, .jet = simplicity_scalar_normalize +, .cmr = {{0x27ef9f9cu, 0x0a5ed2fcu, 0xd7a284d1u, 0x4c5116afu, 0xab70e489u, 0x0f381cc2u, 0xda88a5f3u, 0xb50e43c9u}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 808 /* milli weight units */ +, .cost = 472 /* milli weight units */ } ,[SCALAR_SQUARE] = { .tag = JET -, .jet = scalar_square -, .cmr = {{0x77b43c60u, 0x38ad80b4u, 0x6d3a76e2u, 0x12b3a8c0u, 0xd2f06307u, 0xbc456e40u, 0xb5d6f4a3u, 0xa50e264du}} +, .jet = simplicity_scalar_square +, .cmr = {{0xd9de1919u, 0xcd12d211u, 0x703fbbd0u, 0x4e2001d5u, 0x0d293606u, 0x786412a8u, 0xd6df36dcu, 0x1f97e3beu}} , .sourceIx = ty_w256 , .targetIx = ty_w256 -, .cost = 947 /* milli weight units */ +, .cost = 575 /* milli weight units */ } ,[SCALE] = { .tag = JET -, .jet = scale -, .cmr = {{0x574ce760u, 0x24a5f011u, 0xa2d0bcebu, 0xb0f81a15u, 0xe0f9d06bu, 0x34f20994u, 0x33cb114fu, 0x53468d4fu}} +, .jet = simplicity_scale +, .cmr = {{0xbd695be1u, 0x8ef775f1u, 0x2d6ee8e8u, 0xe08bbb6bu, 0xa9fbffc8u, 0x75247072u, 0x5e8b0611u, 0x0d8c5a56u}} , .sourceIx = ty_pw256pw512w256 , .targetIx = ty_pw512w256 -, .cost = 75377 /* milli weight units */ +, .cost = 72675 /* milli weight units */ } ,[SCRIPT_CMR] = { .tag = JET -, .jet = script_cmr -, .cmr = {{0xb8ad3723u, 0x7699301fu, 0xb33e6928u, 0xa4101f93u, 0x169ad1f4u, 0x128b9e1eu, 0x86bdbb6cu, 0xdc274c38u}} +, .jet = simplicity_script_cmr +, .cmr = {{0x62dd2b74u, 0xa4190ac3u, 0xc4ef4ebdu, 0xb2b85475u, 0xc884f42du, 0x46a1533bu, 0x26ad878fu, 0x4ef80512u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 281 /* milli weight units */ +, .cost = 136 /* milli weight units */ } ,[SHA_256_BLOCK] = { .tag = JET -, .jet = sha_256_block -, .cmr = {{0x94a36a40u, 0x83309e0bu, 0x86de77d0u, 0xfb48d9d3u, 0x31e2d2f1u, 0x67740b60u, 0x6e60574au, 0xf438cd86u}} +, .jet = simplicity_sha_256_block +, .cmr = {{0x97bb59b7u, 0x93ae9ce4u, 0x9dc07813u, 0x4b6a9e85u, 0x5acc6d50u, 0xc0e5bd3fu, 0xa671cebeu, 0xeab07ae2u}} , .sourceIx = ty_pw256w512 , .targetIx = ty_w256 -, .cost = 986 /* milli weight units */ +, .cost = 771 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_1] = { .tag = JET -, .jet = sha_256_ctx_8_add_1 -, .cmr = {{0x8a1d2570u, 0x87b32ccdu, 0xc3320037u, 0x4e6e95c8u, 0x75a05e54u, 0x8122323fu, 0x6b7ab9c0u, 0x7eb9b6eeu}} +, .jet = simplicity_sha_256_ctx_8_add_1 +, .cmr = {{0x027b6eecu, 0xd2b38229u, 0x2c5ea465u, 0x29408b01u, 0xb2d4c739u, 0xd911601du, 0x02c6bf3au, 0x186bb7dfu}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w8 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 1600 /* milli weight units */ +, .cost = 642 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_128] = { .tag = JET -, .jet = sha_256_ctx_8_add_128 -, .cmr = {{0xe7772cb9u, 0xc0ec421au, 0xb8a789d4u, 0x5cd64661u, 0xf433dd7du, 0x3d2c94dcu, 0x1f1c4f3au, 0xf8c780abu}} +, .jet = simplicity_sha_256_ctx_8_add_128 +, .cmr = {{0xe7e5e3b3u, 0x944a311bu, 0xd41a060du, 0x55e17b08u, 0xb5ff7502u, 0x0852e66bu, 0xda62b6dfu, 0x943bb8d4u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w1Ki , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 3921 /* milli weight units */ +, .cost = 1779 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_16] = { .tag = JET -, .jet = sha_256_ctx_8_add_16 -, .cmr = {{0xf0f4cf99u, 0xad58a038u, 0x5e16b87du, 0xbf3271c4u, 0x7524defdu, 0x78f11bbcu, 0x7471fe4du, 0xa94aebadu}} +, .jet = simplicity_sha_256_ctx_8_add_16 +, .cmr = {{0x77872234u, 0x3b78cfb7u, 0x7fd5e7d5u, 0xb19e9312u, 0xe997bba3u, 0x52eecb39u, 0xa3c332ffu, 0x4809aa14u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w128 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 2275 /* milli weight units */ +, .cost = 747 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_2] = { .tag = JET -, .jet = sha_256_ctx_8_add_2 -, .cmr = {{0x7998c7c2u, 0xbd814b0cu, 0x0f403f58u, 0xc576ea56u, 0x407d25eeu, 0x229fae62u, 0x5bcab0c6u, 0x20a2a29cu}} +, .jet = simplicity_sha_256_ctx_8_add_2 +, .cmr = {{0x72aa6de3u, 0x4c2072e6u, 0x923b2280u, 0xb7cf521eu, 0x1e057d6bu, 0xecdda775u, 0x9a79ac18u, 0x8a262e32u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w16 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 3772 /* milli weight units */ +, .cost = 661 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_256] = { .tag = JET -, .jet = sha_256_ctx_8_add_256 -, .cmr = {{0xa8749961u, 0xb31afe2fu, 0xb553b70bu, 0x4cea787du, 0xca472584u, 0x54d583dcu, 0x45a0780du, 0x5e2a2a50u}} +, .jet = simplicity_sha_256_ctx_8_add_256 +, .cmr = {{0xa488eb1eu, 0x7585cd02u, 0x27adbbc8u, 0x549c9febu, 0x6587f78bu, 0x43922b57u, 0x44015f1bu, 0xb621daa0u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w2Ki , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 6211 /* milli weight units */ +, .cost = 2912 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_32] = { .tag = JET -, .jet = sha_256_ctx_8_add_32 -, .cmr = {{0xf22068b7u, 0x76a3787fu, 0x9d52ec2au, 0x9591951fu, 0x8a73f009u, 0x60091235u, 0x8a2a1e15u, 0x864e80b2u}} +, .jet = simplicity_sha_256_ctx_8_add_32 +, .cmr = {{0x5038335eu, 0xd76956f3u, 0x451e6878u, 0x1002e963u, 0xa84dd655u, 0xcbf2b841u, 0x63269114u, 0x77ae3ca2u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w256 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 4599 /* milli weight units */ +, .cost = 896 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_4] = { .tag = JET -, .jet = sha_256_ctx_8_add_4 -, .cmr = {{0x40e66decu, 0xa132f5aeu, 0x0c54937bu, 0x95ccaca1u, 0x1267a4adu, 0xca702887u, 0xb6e408edu, 0x761530bcu}} +, .jet = simplicity_sha_256_ctx_8_add_4 +, .cmr = {{0x23b69b90u, 0xe69ee50fu, 0x9167046eu, 0x8999e3b9u, 0x10c654a7u, 0x9791d3bdu, 0x0e0e7f81u, 0x542b9d36u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w32 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 3515 /* milli weight units */ +, .cost = 645 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_512] = { .tag = JET -, .jet = sha_256_ctx_8_add_512 -, .cmr = {{0x5a96ee66u, 0x8b52f63fu, 0x7bdbaae3u, 0xcc38e393u, 0xef24b3a9u, 0x67856f2cu, 0xd89d83bau, 0x4ccbda8du}} +, .jet = simplicity_sha_256_ctx_8_add_512 +, .cmr = {{0xf757d69au, 0x8db2c4bau, 0x7446f96au, 0x814d7461u, 0xf4b3d087u, 0xc0e42546u, 0x8d723d14u, 0x85bc851bu}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w4Ki , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 10936 /* milli weight units */ +, .cost = 5299 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_64] = { .tag = JET -, .jet = sha_256_ctx_8_add_64 -, .cmr = {{0x36ede6b6u, 0x8ab6e4dbu, 0x31efc7a7u, 0xeae7ec3fu, 0x7ceead93u, 0x91103b8du, 0xcb406091u, 0x57fb8702u}} +, .jet = simplicity_sha_256_ctx_8_add_64 +, .cmr = {{0x9a179bbdu, 0x8a032937u, 0xe590ffbdu, 0xb31a2847u, 0xa6f69f9bu, 0xb4ddcd2eu, 0x606edd45u, 0x4ad84031u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w512 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 3111 /* milli weight units */ +, .cost = 1187 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_8] = { .tag = JET -, .jet = sha_256_ctx_8_add_8 -, .cmr = {{0xac1ff0fbu, 0x0cf71d71u, 0x13db42aau, 0x1ddb8955u, 0x96e645d7u, 0x63b8df5eu, 0x8725f514u, 0x4c399588u}} +, .jet = simplicity_sha_256_ctx_8_add_8 +, .cmr = {{0x77b2eb5eu, 0x6fa03aacu, 0x098607c8u, 0x3d106176u, 0xbdf33c8cu, 0xbba7b92du, 0x27e0352au, 0x2f1ed3beu}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w64 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 1625 /* milli weight units */ +, .cost = 674 /* milli weight units */ } ,[SHA_256_CTX_8_ADD_BUFFER_511] = { .tag = JET -, .jet = sha_256_ctx_8_add_buffer_511 -, .cmr = {{0x6901ac0eu, 0x30fd59ceu, 0xc879d169u, 0x3b267959u, 0x35690784u, 0x4b577edcu, 0x3ce0e3f7u, 0x14a8ef31u}} +, .jet = simplicity_sha_256_ctx_8_add_buffer_511 +, .cmr = {{0xd47bb1cbu, 0x4caaff17u, 0x412a730du, 0xd912dbb3u, 0x7dccc90bu, 0x27d395c4u, 0xf8459008u, 0xa5f244c7u}} , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256pmw2Kipmw1Kipmw512pmw256pmw128pmw64pmw32pmw16mw8 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 14290 /* milli weight units */ +, .cost = 5060 /* milli weight units */ } ,[SHA_256_CTX_8_FINALIZE] = { .tag = JET -, .jet = sha_256_ctx_8_finalize -, .cmr = {{0x84615954u, 0x007ed823u, 0xd60546d7u, 0x5b04b909u, 0xbc909206u, 0x371473dau, 0xc70e1268u, 0x047708cbu}} +, .jet = simplicity_sha_256_ctx_8_finalize +, .cmr = {{0x716580c1u, 0xe00d6a66u, 0x1fd9be6bu, 0x61de5befu, 0x63a84a4eu, 0x675beb0bu, 0x0a471973u, 0x5ea3a285u}} , .sourceIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 , .targetIx = ty_w256 -, .cost = 2111 /* milli weight units */ +, .cost = 835 /* milli weight units */ } ,[SHA_256_CTX_8_INIT] = { .tag = JET -, .jet = sha_256_ctx_8_init -, .cmr = {{0x6adda7d7u, 0x339f7dceu, 0x4d62ff82u, 0x2816da8du, 0xf56af624u, 0x3fa073a2u, 0x5c4c7cb5u, 0x7e0112b3u}} +, .jet = simplicity_sha_256_ctx_8_init +, .cmr = {{0x82bb12feu, 0x688d2ae3u, 0x7e301893u, 0xa3f0d307u, 0x5cbf9934u, 0xd075f73cu, 0x2b364af3u, 0xd112102au}} , .sourceIx = ty_u , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256 -, .cost = 184 /* milli weight units */ +, .cost = 118 /* milli weight units */ } ,[SHA_256_IV] = { .tag = JET -, .jet = sha_256_iv -, .cmr = {{0x6a18e6e7u, 0x64af800du, 0xc6faeb07u, 0x54bf0b17u, 0x329f9828u, 0x1d13f515u, 0x7700fa6au, 0x1d6d5d42u}} +, .jet = simplicity_sha_256_iv +, .cmr = {{0xd2bb5720u, 0x0dadd3a6u, 0x7378db79u, 0x6610f59cu, 0x33d9a40du, 0x2dfcc99fu, 0x03b08b71u, 0x55fbbbeau}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 129 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[SIG_ALL_HASH] = { .tag = JET -, .jet = sig_all_hash -, .cmr = {{0x0dc3f10bu, 0xbbbf9aa4u, 0x91bb8814u, 0x631d3b6du, 0x4195f82cu, 0x9773bbcbu, 0x2da3ef0cu, 0xf0cd94d2u}} +, .jet = simplicity_sig_all_hash +, .cmr = {{0x6cff2c4eu, 0x87f14debu, 0x06af893au, 0x74af6a1cu, 0x5c06db52u, 0x645b1f67u, 0xee0fdf7eu, 0xa776d55cu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 265 /* milli weight units */ +, .cost = 133 /* milli weight units */ } ,[SOME_1] = { .tag = JET -, .jet = some_1 -, .cmr = {{0x0b9cb7b4u, 0x7deb4f9du, 0x95d5c020u, 0x001fd009u, 0xa2f10ce5u, 0xd918d818u, 0x1e259315u, 0xfe8eac53u}} +, .jet = simplicity_some_1 +, .cmr = {{0x151bcb76u, 0xc231ab25u, 0xe3710928u, 0xd9b3b7a2u, 0xe17f84d7u, 0xcf8da884u, 0x5cf87a40u, 0x816f3168u}} , .sourceIx = ty_b , .targetIx = ty_b -, .cost = 104 /* milli weight units */ +, .cost = 70 /* milli weight units */ } ,[SOME_16] = { .tag = JET -, .jet = some_16 -, .cmr = {{0x30d814ffu, 0xb49278b4u, 0x25007b9du, 0xe279f76fu, 0x4a6da4c0u, 0x34634abbu, 0x87110ecbu, 0xea2ce429u}} +, .jet = simplicity_some_16 +, .cmr = {{0x87295e8au, 0x0f0299f3u, 0xa7cb738du, 0xd5f8ddecu, 0xc3e48d18u, 0x74a55a0cu, 0xcf7c2d30u, 0xaad07987u}} , .sourceIx = ty_w16 , .targetIx = ty_b -, .cost = 129 /* milli weight units */ +, .cost = 63 /* milli weight units */ } ,[SOME_32] = { .tag = JET -, .jet = some_32 -, .cmr = {{0x69279190u, 0x3be7d9e4u, 0xc54772bau, 0x88a48615u, 0x46361218u, 0xdd8a26ceu, 0xed699bcfu, 0x77c09909u}} +, .jet = simplicity_some_32 +, .cmr = {{0x852f5e22u, 0x246677c4u, 0x9a6c68ecu, 0x3973cb53u, 0x008265cfu, 0x17d46f60u, 0x005941bau, 0x57d4947eu}} , .sourceIx = ty_w32 , .targetIx = ty_b -, .cost = 183 /* milli weight units */ +, .cost = 64 /* milli weight units */ } ,[SOME_64] = { .tag = JET -, .jet = some_64 -, .cmr = {{0xfa9b0160u, 0xc72715ffu, 0xfd1d94dau, 0x19978828u, 0x09b462bbu, 0x144acecbu, 0x43054468u, 0xe63786b5u}} +, .jet = simplicity_some_64 +, .cmr = {{0xfe9b3a25u, 0xc9571749u, 0xe2a563f4u, 0x10a5650fu, 0x41174e23u, 0x2691072bu, 0x2d5474f9u, 0x3c7a22c0u}} , .sourceIx = ty_w64 , .targetIx = ty_b -, .cost = 139 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[SOME_8] = { .tag = JET -, .jet = some_8 -, .cmr = {{0x0bd7ab43u, 0x80c8f45au, 0xca7cac97u, 0x2886ceefu, 0x23ba8421u, 0x0c5c4d96u, 0x9b1f59b1u, 0x832c1d36u}} +, .jet = simplicity_some_8 +, .cmr = {{0x49dc2420u, 0x4c5644eau, 0x98b0d8a8u, 0xa1f15f20u, 0x8b4afad5u, 0x9d8995abu, 0x96c4498du, 0x1cd410a0u}} , .sourceIx = ty_w8 , .targetIx = ty_b -, .cost = 104 /* milli weight units */ +, .cost = 75 /* milli weight units */ } ,[SUBTRACT_16] = { .tag = JET -, .jet = subtract_16 -, .cmr = {{0x0cd3ab73u, 0xe5ce2a44u, 0xf2d1c332u, 0xa1ed5aefu, 0x5bcb604fu, 0x721b15b8u, 0x010dd54fu, 0x40c6aca7u}} +, .jet = simplicity_subtract_16 +, .cmr = {{0x512b7c68u, 0x81bf8d8fu, 0xa5d935e5u, 0x2564e286u, 0x751f77e6u, 0x3375637du, 0xf2d72275u, 0x68c6947fu}} , .sourceIx = ty_w32 , .targetIx = ty_pbw16 -, .cost = 237 /* milli weight units */ +, .cost = 113 /* milli weight units */ } ,[SUBTRACT_32] = { .tag = JET -, .jet = subtract_32 -, .cmr = {{0xe0de6876u, 0x259d5a00u, 0x4b3016d3u, 0x5815db41u, 0xbcecdbfau, 0x18d37d99u, 0x204e4957u, 0xad2c4d0eu}} +, .jet = simplicity_subtract_32 +, .cmr = {{0xf53f3e87u, 0x1a7da3f0u, 0x9e562697u, 0x835e1ce1u, 0x0df8ee14u, 0x1163ad93u, 0xb57c8e6du, 0x74382bbcu}} , .sourceIx = ty_w64 , .targetIx = ty_pbw32 -, .cost = 186 /* milli weight units */ +, .cost = 118 /* milli weight units */ } ,[SUBTRACT_64] = { .tag = JET -, .jet = subtract_64 -, .cmr = {{0xffe673eeu, 0x8edc729au, 0x47eced3au, 0x677f85b1u, 0xdae714a5u, 0x100c4949u, 0x73abcb32u, 0x59a3c756u}} +, .jet = simplicity_subtract_64 +, .cmr = {{0x5f08f740u, 0x53b2f019u, 0xb62a1bb8u, 0x28b799e0u, 0x91e8217eu, 0xc889dd4du, 0x376e012cu, 0x9579b981u}} , .sourceIx = ty_w128 , .targetIx = ty_pbw64 -, .cost = 315 /* milli weight units */ +, .cost = 115 /* milli weight units */ } ,[SUBTRACT_8] = { .tag = JET -, .jet = subtract_8 -, .cmr = {{0xbda59813u, 0x96478eb3u, 0x6f8592a7u, 0x509fa487u, 0x7c50b2bfu, 0x9165e5b7u, 0x9635bf8bu, 0xcb84d442u}} +, .jet = simplicity_subtract_8 +, .cmr = {{0x778649f8u, 0x3935cd3fu, 0xfc04f6c6u, 0x620a3396u, 0x5d0ef1ddu, 0x17e7b50fu, 0xa41076d8u, 0xad876b1du}} , .sourceIx = ty_w16 , .targetIx = ty_pbw8 -, .cost = 149 /* milli weight units */ +, .cost = 109 /* milli weight units */ } ,[SWU] = { .tag = JET -, .jet = swu -, .cmr = {{0x69459b6du, 0xd10a63dfu, 0x37dedf18u, 0x6cb4d208u, 0xd8c03961u, 0x1cecdd09u, 0xcfe07ac9u, 0x1d01422fu}} +, .jet = simplicity_swu +, .cmr = {{0x2049d46cu, 0x4c4d6f85u, 0x6e04f7aeu, 0x20287336u, 0xc2f2a6b8u, 0xc1e29d7eu, 0xbba3af2fu, 0xd3a8809bu}} , .sourceIx = ty_w256 , .targetIx = ty_w512 -, .cost = 10956 /* milli weight units */ +, .cost = 32120 /* milli weight units */ } ,[TAP_ENV_HASH] = { .tag = JET -, .jet = tap_env_hash -, .cmr = {{0x59e04eeeu, 0x36883dd5u, 0xe7c2695du, 0x7c9938c0u, 0x6d983fbau, 0x88dc2a04u, 0x843ab80bu, 0x68f199ecu}} +, .jet = simplicity_tap_env_hash +, .cmr = {{0x92474a50u, 0x308214d3u, 0x2240c4ecu, 0x2829e688u, 0xb73382ceu, 0x0c37c796u, 0x28b7394cu, 0xa61ee7f5u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 301 /* milli weight units */ +, .cost = 162 /* milli weight units */ } ,[TAPLEAF_HASH] = { .tag = JET -, .jet = tapleaf_hash -, .cmr = {{0xea815658u, 0xff9a2716u, 0x420d4591u, 0x5d66070bu, 0xe4116c1cu, 0x707e2694u, 0xd3665845u, 0x20c22469u}} +, .jet = simplicity_tapleaf_hash +, .cmr = {{0x59fd2996u, 0xcc5e2b5eu, 0x19707467u, 0x267645e8u, 0x1865d147u, 0x4a0b28c2u, 0xcff4edf1u, 0xbdead91bu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 279 /* milli weight units */ +, .cost = 136 /* milli weight units */ } ,[TAPLEAF_VERSION] = { .tag = JET -, .jet = tapleaf_version -, .cmr = {{0x303ef4deu, 0x618e7f08u, 0x67794828u, 0x2dd42d57u, 0xd644c41cu, 0x18c11c13u, 0x0a1be5a6u, 0xe254e3e9u}} +, .jet = simplicity_tapleaf_version +, .cmr = {{0x43b82c3au, 0x31402dafu, 0x42707b88u, 0x70e4dba4u, 0xb6831943u, 0x0f2b5d11u, 0x4ea58c5du, 0x89973d8fu}} , .sourceIx = ty_u , .targetIx = ty_w8 -, .cost = 141 /* milli weight units */ +, .cost = 105 /* milli weight units */ } ,[TAPPATH] = { .tag = JET -, .jet = tappath -, .cmr = {{0x5fd71c6fu, 0xf67ba426u, 0x3c8256feu, 0xcee1e2ecu, 0x1dcf45a8u, 0xb3845062u, 0x70151780u, 0xaacf1c32u}} +, .jet = simplicity_tappath +, .cmr = {{0x2b61ba3cu, 0xcae82063u, 0xb7122746u, 0xbbf180b7u, 0x1146b752u, 0x11242533u, 0x53fe5f7du, 0x9659b918u}} , .sourceIx = ty_w8 , .targetIx = ty_mw256 -, .cost = 143 /* milli weight units */ +, .cost = 83 /* milli weight units */ } ,[TAPPATH_HASH] = { .tag = JET -, .jet = tappath_hash -, .cmr = {{0x62af75f4u, 0xf37c0ff2u, 0x7537e054u, 0x3a134802u, 0x66a5ad12u, 0xce53df1fu, 0xbac111eau, 0xa93d277cu}} +, .jet = simplicity_tappath_hash +, .cmr = {{0x82598604u, 0x31f7fcd6u, 0xe8c9845bu, 0x7152bbdau, 0xb69281f6u, 0x5b642c63u, 0x4efaa3fdu, 0x2d7353a5u}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 282 /* milli weight units */ +, .cost = 143 /* milli weight units */ } ,[TOTAL_FEE] = { .tag = JET -, .jet = total_fee -, .cmr = {{0xcc69d24cu, 0x5dd852cdu, 0xefcaa74du, 0x3140467fu, 0xbe8d08a7u, 0x709422eeu, 0xc28ed632u, 0xb28aba63u}} +, .jet = simplicity_total_fee +, .cmr = {{0xffa37956u, 0x8b4a88f1u, 0x71391524u, 0x10ecf140u, 0x72ac4c95u, 0xc0b682ebu, 0xd91a9e02u, 0xd330c3ceu}} , .sourceIx = ty_w256 , .targetIx = ty_w64 -, .cost = 397 /* milli weight units */ +, .cost = 230 /* milli weight units */ } ,[TRANSACTION_ID] = { .tag = JET -, .jet = transaction_id -, .cmr = {{0xab4bf478u, 0x2d358cd3u, 0x1f22e066u, 0x64167078u, 0x457c76e3u, 0xfa8e421cu, 0x7929de11u, 0x310b07d9u}} +, .jet = simplicity_transaction_id +, .cmr = {{0x9c9feb81u, 0x0e753cd5u, 0xb88e0fefu, 0xa283b374u, 0x30cd16eeu, 0xecbc5670u, 0xdd70c312u, 0x84a9db2cu}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 281 /* milli weight units */ +, .cost = 139 /* milli weight units */ } ,[TX_HASH] = { .tag = JET -, .jet = tx_hash -, .cmr = {{0xb7e0a2dcu, 0x5ca11ce5u, 0x82a7aa29u, 0x9a51b23eu, 0x66efe623u, 0x602a7b7du, 0x434eec51u, 0xaf245a07u}} +, .jet = simplicity_tx_hash +, .cmr = {{0xa113b12eu, 0x50218701u, 0x3faf7fabu, 0x0e78a93eu, 0x85fe88fcu, 0xfcfbd129u, 0x4698c7b7u, 0x65d8d28du}} , .sourceIx = ty_u , .targetIx = ty_w256 -, .cost = 290 /* milli weight units */ +, .cost = 143 /* milli weight units */ } ,[TX_IS_FINAL] = { .tag = JET -, .jet = tx_is_final -, .cmr = {{0xeb8e83d1u, 0xe02c3ce7u, 0xaf2d28f0u, 0xcec04314u, 0x80dc2f38u, 0x85c9913au, 0x50727e43u, 0xd0bdaf88u}} +, .jet = simplicity_tx_is_final +, .cmr = {{0xe818210bu, 0x1de9661du, 0xc8ff4a48u, 0x63a7d89bu, 0x4cd9d2e7u, 0xc6a6e50au, 0x813cffd5u, 0x63174fdcu}} , .sourceIx = ty_u , .targetIx = ty_b -, .cost = 128 /* milli weight units */ +, .cost = 71 /* milli weight units */ } ,[TX_LOCK_DISTANCE] = { .tag = JET -, .jet = tx_lock_distance -, .cmr = {{0xa37893c9u, 0x7c9b950eu, 0x0f7f1045u, 0xc8d8473au, 0xc8336aaeu, 0xe9ea1fadu, 0x6b2a4061u, 0x729149c6u}} +, .jet = simplicity_tx_lock_distance +, .cmr = {{0x530fd789u, 0x32240720u, 0xf88de846u, 0x883992f8u, 0x12a5bf3eu, 0xea6809a4u, 0xa94c9076u, 0xca190979u}} , .sourceIx = ty_u , .targetIx = ty_w16 -, .cost = 133 /* milli weight units */ +, .cost = 91 /* milli weight units */ } ,[TX_LOCK_DURATION] = { .tag = JET -, .jet = tx_lock_duration -, .cmr = {{0x4d6987ddu, 0x45f78d5eu, 0x43f93851u, 0x64a0bd08u, 0x80752ab8u, 0x11b38bd2u, 0x97da0016u, 0x1526a9cau}} +, .jet = simplicity_tx_lock_duration +, .cmr = {{0xc07bcf03u, 0xef8293fcu, 0x40eca57cu, 0x8606a4eeu, 0x207fa44du, 0x22e41c98u, 0x041dfdd0u, 0xd5444940u}} , .sourceIx = ty_u , .targetIx = ty_w16 -, .cost = 146 /* milli weight units */ +, .cost = 84 /* milli weight units */ } ,[TX_LOCK_HEIGHT] = { .tag = JET -, .jet = tx_lock_height -, .cmr = {{0x16ab830fu, 0xace51fe4u, 0xe18089ecu, 0xa1b55234u, 0x36aa45efu, 0x84132182u, 0xc7cc6583u, 0x6fd1342cu}} +, .jet = simplicity_tx_lock_height +, .cmr = {{0x4c045acau, 0x0061e36au, 0x8c5925e7u, 0xf9cb395bu, 0x8a7021e4u, 0xde019132u, 0x31c4d763u, 0x50f843a4u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 132 /* milli weight units */ +, .cost = 80 /* milli weight units */ } ,[TX_LOCK_TIME] = { .tag = JET -, .jet = tx_lock_time -, .cmr = {{0xaf112fc8u, 0xeed3c33bu, 0xc7b5ea04u, 0xccab8699u, 0x1953f2a2u, 0xaaf3d87du, 0x6c2c4314u, 0x3d426f56u}} +, .jet = simplicity_tx_lock_time +, .cmr = {{0x48408cd0u, 0x63e24be7u, 0x36623232u, 0x07590cccu, 0x083a8f44u, 0x98978847u, 0x430757e2u, 0xf55521a5u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 136 /* milli weight units */ +, .cost = 80 /* milli weight units */ } ,[VERIFY] = { .tag = JET -, .jet = verify -, .cmr = {{0xf11c9481u, 0xe71863a2u, 0x4453c3e2u, 0x13046499u, 0xa03a9a0fu, 0x993be3c4u, 0x8e9d1f40u, 0x5d97947cu}} +, .jet = simplicity_verify +, .cmr = {{0x22c0e362u, 0x34190af6u, 0xc8161e41u, 0xf9e00013u, 0xb243c896u, 0x77691a62u, 0xe79872fau, 0x03bfa677u}} , .sourceIx = ty_b , .targetIx = ty_u -, .cost = 144 /* milli weight units */ +, .cost = 57 /* milli weight units */ } ,[VERSION] = { .tag = JET -, .jet = version -, .cmr = {{0x22215300u, 0x9f0863dau, 0x5cec8ffau, 0xa4a017d8u, 0xe4ff2566u, 0xfa9c03e7u, 0x431a0902u, 0xd56a24dcu}} +, .jet = simplicity_version +, .cmr = {{0x56713842u, 0x24333dc7u, 0x841d63c3u, 0x176a1590u, 0xaded820eu, 0x29e461c3u, 0x4adafa9cu, 0x5efd4201u}} , .sourceIx = ty_u , .targetIx = ty_w32 -, .cost = 188 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[XOR_1] = { .tag = JET -, .jet = xor_1 -, .cmr = {{0x77b714e6u, 0x89c9d6a4u, 0x8fd1add8u, 0x6522823du, 0xebc70df6u, 0xa7fe4bf2u, 0xb85de549u, 0xe0cd0a05u}} +, .jet = simplicity_xor_1 +, .cmr = {{0x7b760ee0u, 0xc7896ab7u, 0x38cc50efu, 0x7d63f6d2u, 0xbf5961a9u, 0x286447ceu, 0x064ec18du, 0x5ede6f6cu}} , .sourceIx = ty_w2 , .targetIx = ty_b -, .cost = 135 /* milli weight units */ +, .cost = 67 /* milli weight units */ } ,[XOR_16] = { .tag = JET -, .jet = xor_16 -, .cmr = {{0xca363551u, 0x35a86a11u, 0x686c01aau, 0x35f25b97u, 0xfaeedabfu, 0xdec8df08u, 0xd2c0f665u, 0x0833f93fu}} +, .jet = simplicity_xor_16 +, .cmr = {{0xef2d8a0fu, 0x669d20aau, 0xfe11a6c3u, 0x39063692u, 0x3ad37614u, 0x0d3ea694u, 0xd0872fa4u, 0xd54b90efu}} , .sourceIx = ty_w32 , .targetIx = ty_w16 -, .cost = 188 /* milli weight units */ +, .cost = 83 /* milli weight units */ } ,[XOR_32] = { .tag = JET -, .jet = xor_32 -, .cmr = {{0xffe2c8eeu, 0x96d55797u, 0x81c43662u, 0x88d95071u, 0x85e461ccu, 0xc40a45bbu, 0xcc559489u, 0xd3c69612u}} +, .jet = simplicity_xor_32 +, .cmr = {{0x219b1dd6u, 0xe72b7775u, 0x1951916eu, 0xe4ddfd56u, 0xacf0ce7au, 0x30a4cd73u, 0x9c51bd99u, 0x42a2eb07u}} , .sourceIx = ty_w64 , .targetIx = ty_w32 -, .cost = 204 /* milli weight units */ +, .cost = 92 /* milli weight units */ } ,[XOR_64] = { .tag = JET -, .jet = xor_64 -, .cmr = {{0x5b3bb7b1u, 0x8c7098f4u, 0xe5cd1497u, 0x22ac7309u, 0xce66a3e2u, 0x19c61b33u, 0x3f313358u, 0x3a7b572du}} +, .jet = simplicity_xor_64 +, .cmr = {{0x0bbb850au, 0xd03f9c96u, 0xa5d467c4u, 0x6112f104u, 0x6a7a9227u, 0x3f2bb01du, 0x20ca4db6u, 0xba753e79u}} , .sourceIx = ty_w128 , .targetIx = ty_w64 -, .cost = 207 /* milli weight units */ +, .cost = 95 /* milli weight units */ } ,[XOR_8] = { .tag = JET -, .jet = xor_8 -, .cmr = {{0xff3e5262u, 0x02ff89cfu, 0xf7bbe70fu, 0xdbf9f97du, 0x23c12f6eu, 0x2bb8bbe8u, 0x304ac70fu, 0x61c1cf2cu}} +, .jet = simplicity_xor_8 +, .cmr = {{0x950b6531u, 0x6236e83eu, 0xd14bd171u, 0xe34d55afu, 0x0a3f637cu, 0xc47dc717u, 0xf77fdb4bu, 0x30df0157u}} , .sourceIx = ty_w16 , .targetIx = ty_w8 -, .cost = 135 /* milli weight units */ +, .cost = 85 /* milli weight units */ } ,[XOR_XOR_1] = { .tag = JET -, .jet = xor_xor_1 -, .cmr = {{0x2252a986u, 0x08d20bd4u, 0x11317a20u, 0x15c15698u, 0x70a62c95u, 0x3a6165fbu, 0xe977b40du, 0x6ccea495u}} +, .jet = simplicity_xor_xor_1 +, .cmr = {{0x3f30f959u, 0x870de1d1u, 0x33374e14u, 0x09fdc34du, 0xe4929170u, 0x6830b83du, 0xac9d4e67u, 0xc4eb6048u}} , .sourceIx = ty_pbw2 , .targetIx = ty_b -, .cost = 258 /* milli weight units */ +, .cost = 72 /* milli weight units */ } ,[XOR_XOR_16] = { .tag = JET -, .jet = xor_xor_16 -, .cmr = {{0xa1f2d633u, 0xbf9889a0u, 0x8a42512au, 0x7893a679u, 0x9dc47aa8u, 0x29ff8f57u, 0x7c5bc975u, 0x66c4d3feu}} +, .jet = simplicity_xor_xor_16 +, .cmr = {{0x2e1a09e3u, 0xcba27566u, 0x02e87b86u, 0xf2b07f2du, 0x237bfcacu, 0x5b1b8ab7u, 0xb529af42u, 0xd3110294u}} , .sourceIx = ty_pw16w32 , .targetIx = ty_w16 -, .cost = 235 /* milli weight units */ +, .cost = 79 /* milli weight units */ } ,[XOR_XOR_32] = { .tag = JET -, .jet = xor_xor_32 -, .cmr = {{0x0d5ff581u, 0x23ba0daeu, 0x3b3240a6u, 0x31052af2u, 0xe87b52b6u, 0x37a2cbd3u, 0x37d22593u, 0x70628741u}} +, .jet = simplicity_xor_xor_32 +, .cmr = {{0x85a379a1u, 0xe5db4572u, 0x37df27f4u, 0xcfcdc875u, 0x60ffd373u, 0x8ebec825u, 0x52e73bceu, 0x89bc0b37u}} , .sourceIx = ty_pw32w64 , .targetIx = ty_w32 -, .cost = 251 /* milli weight units */ +, .cost = 96 /* milli weight units */ } ,[XOR_XOR_64] = { .tag = JET -, .jet = xor_xor_64 -, .cmr = {{0x783f49a1u, 0x9d4f4aaeu, 0x4d3c1d6cu, 0xcf83156du, 0xc55d0b5cu, 0x08cf5923u, 0x36584cb1u, 0x3167c6cau}} +, .jet = simplicity_xor_xor_64 +, .cmr = {{0x4c1268c5u, 0x75425089u, 0xbe42472eu, 0x972b2ae0u, 0x0ede5834u, 0xc984d96du, 0xcd59a0c2u, 0x21152f93u}} , .sourceIx = ty_pw64w128 , .targetIx = ty_w64 -, .cost = 285 /* milli weight units */ +, .cost = 93 /* milli weight units */ } ,[XOR_XOR_8] = { .tag = JET -, .jet = xor_xor_8 -, .cmr = {{0x83a980ccu, 0x61068524u, 0x88105d3cu, 0xee10f351u, 0x13b8c9f7u, 0x4664e7ceu, 0x6d4ec091u, 0x2bc29bc7u}} +, .jet = simplicity_xor_xor_8 +, .cmr = {{0x61f2747fu, 0x8d83b6a5u, 0xadaa42f5u, 0xc0408c9bu, 0xd4e99e92u, 0x70a75871u, 0x406cec44u, 0x89a5fbe7u}} , .sourceIx = ty_pw8w16 , .targetIx = ty_w8 -, .cost = 258 /* milli weight units */ +, .cost = 98 /* milli weight units */ } diff --git a/simplicity-sys/depend/simplicity/rsort.c b/simplicity-sys/depend/simplicity/rsort.c index ce38e619..5a2dd5e3 100644 --- a/simplicity-sys/depend/simplicity/rsort.c +++ b/simplicity-sys/depend/simplicity/rsort.c @@ -246,7 +246,7 @@ static void rsort_ex(const sha256_midstate** a, uint_fast32_t len, const sha256_ * * Precondition: For all 0 <= i < len, NULL != a[i]; */ -bool rsort(const sha256_midstate** a, uint_fast32_t len) { +bool simplicity_rsort(const sha256_midstate** a, uint_fast32_t len) { uint32_t *stack = simplicity_malloc(((CHAR_COUNT - 1)*(sizeof((*a)->s)) + 1) * sizeof(uint32_t)); if (!stack) return false; rsort_ex(a, len, NULL, stack); @@ -262,12 +262,12 @@ bool rsort(const sha256_midstate** a, uint_fast32_t len) { * Precondition: const sha256_midstate a[len]; * len <= DAG_LEN_MAX; */ -int hasDuplicates(const sha256_midstate* a, uint_fast32_t len) { +int simplicity_hasDuplicates(const sha256_midstate* a, uint_fast32_t len) { if (len < 2) return 0; static_assert(sizeof(a->s) * CHAR_BIT == 256, "sha256_midstate.s has unnamed padding."); static_assert(DAG_LEN_MAX <= UINT32_MAX, "DAG_LEN_MAX does not fit in uint32_t."); static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(const sha256_midstate*), "perm array too large."); - simplicity_assert(len <= SIZE_MAX / sizeof(const sha256_midstate*)); + simplicity_assert((size_t)len <= SIZE_MAX / sizeof(const sha256_midstate*)); const sha256_midstate **perm = simplicity_malloc(len * sizeof(const sha256_midstate*)); uint32_t *stack = simplicity_malloc(((CHAR_COUNT - 1)*(sizeof((*perm)->s)) + 1) * sizeof(uint32_t)); int result = perm && stack ? 0 : -1; diff --git a/simplicity-sys/depend/simplicity/rsort.h b/simplicity-sys/depend/simplicity/rsort.h index a9e39fbe..709576fa 100644 --- a/simplicity-sys/depend/simplicity/rsort.h +++ b/simplicity-sys/depend/simplicity/rsort.h @@ -22,7 +22,7 @@ * * Precondition: For all 0 <= i < len, NULL != a[i]; */ -bool rsort(const sha256_midstate** a, uint_fast32_t len); +bool simplicity_rsort(const sha256_midstate** a, uint_fast32_t len); /* Searches for duplicates in an array of 'sha256_midstate's. * If malloc fails, returns -1. @@ -32,6 +32,6 @@ bool rsort(const sha256_midstate** a, uint_fast32_t len); * Precondition: const sha256_midstate a[len]; * len <= DAG_LEN_MAX; */ -int hasDuplicates(const sha256_midstate* a, uint_fast32_t len); +int simplicity_hasDuplicates(const sha256_midstate* a, uint_fast32_t len); #endif diff --git a/simplicity-sys/depend/simplicity/schnorr0.c b/simplicity-sys/depend/simplicity/schnorr0.c index 1ad9f73a..769bc1ef 100644 --- a/simplicity-sys/depend/simplicity/schnorr0.c +++ b/simplicity-sys/depend/simplicity/schnorr0.c @@ -26,18 +26,18 @@ const size_t sizeof_schnorr0_witness = sizeof(schnorr0_witness); /* The commitment Merkle root of the above schnorr0 Simplicity expression. */ const uint32_t schnorr0_cmr[] = { - 0x70a617f3u, 0x2098132fu, 0xe01ad5ffu, 0x6748d3b9u, 0x4f803f4du, 0x851dd576u, 0x4d99437cu, 0x1b8dd7e8u + 0xe3b25e13u, 0xf91fcbf9u, 0x5407f126u, 0xb3aed5b4u, 0x543399cbu, 0x9c3d426fu, 0xe98a10f8u, 0xd33ef6c3u }; /* The identity Merkle root of the above schnorr0 Simplicity expression. */ const uint32_t schnorr0_imr[] = { - 0xfd9423e5u, 0xca51d3efu, 0xea27596bu, 0x65a61792u, 0x497a6835u, 0x1ee43f23u, 0x5e6edfc3u, 0x44cf4951u + 0x6b18b11fu, 0x6367528au, 0xfbe1abafu, 0x41553ce6u, 0x8bb417dau, 0x2dcdd283u, 0x29643991u, 0x48548ac7u }; /* The annotated Merkle root of the above schnorr0 Simplicity expression. */ const uint32_t schnorr0_amr[] = { - 0xf9ab63b6u, 0xea2a9cc1u, 0xdf9cc1e1u, 0xbc96c945u, 0xb655ec84u, 0x3eb6967du, 0x4429a1a0u, 0xc8519633u + 0x9049bcdau, 0x62ffe6b7u, 0x146b91afu, 0x7a4522adu, 0xbb93f0cdu, 0x50dd390du, 0x12b9fe12u, 0xae836c8cu }; /* The cost of the above schnorr0 Simplicity expression in milli weight units. */ -const ubounded schnorr0_cost = 52219; +const ubounded schnorr0_cost = 51635; diff --git a/simplicity-sys/depend/simplicity/schnorr6.c b/simplicity-sys/depend/simplicity/schnorr6.c index 77449a46..28144f00 100644 --- a/simplicity-sys/depend/simplicity/schnorr6.c +++ b/simplicity-sys/depend/simplicity/schnorr6.c @@ -26,18 +26,18 @@ const size_t sizeof_schnorr6_witness = sizeof(schnorr6_witness); /* The commitment Merkle root of the above schnorr6 Simplicity expression. */ const uint32_t schnorr6_cmr[] = { - 0xc5d4e54fu, 0x4507f3d9u, 0x907e2ac4u, 0x554a8647u, 0x22e2fdd8u, 0x4da0f9eau, 0x9df7b8dau, 0x69f88e45u + 0x9147875bu, 0x9fa06e14u, 0x74478477u, 0xbf56c2d2u, 0xdda7ec76u, 0x9c45591fu, 0x773527dfu, 0x863b9f8au }; /* The identity Merkle root of the above schnorr6 Simplicity expression. */ const uint32_t schnorr6_imr[] = { - 0x9cffb490u, 0xbd19d2b0u, 0x0ed557f7u, 0xb4c10527u, 0xa53021d4u, 0x79c607b1u, 0x24f95daau, 0xf8268f9du + 0x1fd4f643u, 0xb9488b2cu, 0x48bb6423u, 0xf7997c18u, 0xc31e158fu, 0x9086da39u, 0xa69dc76au, 0xea005579u }; /* The annotated Merkle root of the above schnorr6 Simplicity expression. */ const uint32_t schnorr6_amr[] = { - 0x30487388u, 0x5e7b26bau, 0x1fb5b6b8u, 0x0557ecddu, 0x27a24599u, 0xdb952e4cu, 0xb9f930fcu, 0x53469638u + 0x9be4fc10u, 0xb617b7ceu, 0xc25d0c19u, 0x64736846u, 0x31f7ccfdu, 0xdcf169cau, 0xec2195b5u, 0x70e2c097u }; /* The cost of the above schnorr6 Simplicity expression in milli weight units. */ -const ubounded schnorr6_cost = 52219; +const ubounded schnorr6_cost = 51635; diff --git a/simplicity-sys/depend/simplicity/secp256k1/util.h b/simplicity-sys/depend/simplicity/secp256k1/util.h index ffaba8a0..e0619b9c 100644 --- a/simplicity-sys/depend/simplicity/secp256k1/util.h +++ b/simplicity-sys/depend/simplicity/secp256k1/util.h @@ -170,7 +170,7 @@ static SECP256K1_INLINE int secp256k1_ctz64_var(uint64_t x) { #if (__has_builtin(__builtin_ctzl) || SECP256K1_GNUC_PREREQ(3,4)) /* If the unsigned long type is sufficient to represent the largest uint64_t, consider __builtin_ctzl. */ if (((unsigned long)UINT64_MAX) == UINT64_MAX) { - return __builtin_ctzl(x); + return __builtin_ctzl((unsigned long)x); } #endif #if (__has_builtin(__builtin_ctzll) || SECP256K1_GNUC_PREREQ(3,4)) diff --git a/simplicity-sys/depend/simplicity/sha256.c b/simplicity-sys/depend/simplicity/sha256.c index 71c75b3c..52af1cf3 100644 --- a/simplicity-sys/depend/simplicity/sha256.c +++ b/simplicity-sys/depend/simplicity/sha256.c @@ -120,14 +120,14 @@ static void sha256_compression_portable(uint32_t* s, const uint32_t* chunk) { s[7] = 1U * s[7] + h; } -void (*sha256_compression)(uint32_t* midstate, const uint32_t* block) = sha256_compression_portable; +void (*simplicity_sha256_compression)(uint32_t* midstate, const uint32_t* block) = sha256_compression_portable; /* For information purposes only. * Returns true if the sha256_compression implemenation has been optimized for the CPU. * Otherwise returns false. */ -bool sha256_compression_is_optimized(void) { - return sha256_compression_portable != sha256_compression; +bool simplicity_sha256_compression_is_optimized(void) { + return sha256_compression_portable != simplicity_sha256_compression; }; /* Given a SHA-256 midstate, 'h', of 'len / 512' blocks, and @@ -140,12 +140,12 @@ bool sha256_compression_is_optimized(void) { static void sha256_end(uint32_t* h, uint32_t* block, const uint_fast64_t len) { block[len / 32 % 16] |= (uint32_t)1 << (31 - len % 32); if (448 <= len % 512) { - sha256_compression(h, block); + simplicity_sha256_compression(h, block); memset(block, 0, sizeof(uint32_t[14])); } block[14] = (uint32_t)(len >> 32); block[15] = (uint32_t)len; - sha256_compression(h, block); + simplicity_sha256_compression(h, block); } /* Compute the SHA-256 hash, 'h', of the bitstring represented by 's'. @@ -154,7 +154,7 @@ static void sha256_end(uint32_t* h, uint32_t* block, const uint_fast64_t len) { * '*s' is a valid bitstring; * 's->len < 2^64; */ -void sha256_bitstring(uint32_t* h, const bitstring* s) { +void simplicity_sha256_bitstring(uint32_t* h, const bitstring* s) { /* This static assert should never fail if uint32_t exists. * But for more certainty, we note that the correctness of this implementation depends on CHAR_BIT being no more than 32. */ @@ -190,7 +190,7 @@ void sha256_bitstring(uint32_t* h, const bitstring* s) { /* The next character from s->arr straddles (or almost straddles) the boundary of two elements of the block array. */ block[count / 32 % 16] |= (uint32_t)((uint_fast32_t)ch >> (count + CHAR_BIT) % 32); if (count / 512 != (count + delta) / 512) { - sha256_compression(h, block); + simplicity_sha256_compression(h, block); memset(block, 0, sizeof(uint32_t[16])); } } diff --git a/simplicity-sys/depend/simplicity/sha256.h b/simplicity-sys/depend/simplicity/sha256.h index d2f1245e..a9f29231 100644 --- a/simplicity-sys/depend/simplicity/sha256.h +++ b/simplicity-sys/depend/simplicity/sha256.h @@ -127,20 +127,20 @@ static inline void sha256_iv(uint32_t* iv) { * Precondition: uint32_t midstate[8]; * uint32_t block[16] */ -extern void (*sha256_compression)(uint32_t* midstate, const uint32_t* block); +extern void (*simplicity_sha256_compression)(uint32_t* midstate, const uint32_t* block); /* For information purposes only. * Returns true if the sha256_compression implemenation has been optimized for the CPU. * Otherwise returns false. */ -bool sha256_compression_is_optimized(void); +bool simplicity_sha256_compression_is_optimized(void); /* Compute the SHA-256 hash, 'h', of the bitstring represented by 's'. * * Precondition: uint32_t h[8]; * '*s' is a valid bitstring; */ -void sha256_bitstring(uint32_t* h, const bitstring* s); +void simplicity_sha256_bitstring(uint32_t* h, const bitstring* s); /* Given a 256-bit 's' and a 512-bit 'chunk', then 's' becomes the value of the SHA-256 compression function ("added" to the original 's' value). * @@ -148,7 +148,7 @@ void sha256_bitstring(uint32_t* h, const bitstring* s); * unsigned char chunk[64] */ static void sha256_compression_uchar(uint32_t* s, const unsigned char* chunk) { - sha256_compression(s, (const uint32_t[16]) + simplicity_sha256_compression(s, (const uint32_t[16]) { ReadBE32(chunk + 4*0) , ReadBE32(chunk + 4*1) , ReadBE32(chunk + 4*2) diff --git a/simplicity-sys/depend/simplicity/sha256_x86.inc b/simplicity-sys/depend/simplicity/sha256_x86.inc index d4d9bfdd..a62e55de 100644 --- a/simplicity-sys/depend/simplicity/sha256_x86.inc +++ b/simplicity-sys/depend/simplicity/sha256_x86.inc @@ -168,7 +168,7 @@ static void sha256_compression_x86_sha_ni(uint32_t* midstate, const uint32_t* bl extern void simplicity_sha256_cpu_optimize_not_thread_safe(void) __attribute__((constructor)); extern void simplicity_sha256_cpu_optimize_not_thread_safe(void) { if (cpu_has_sha_ni()) { - sha256_compression = sha256_compression_x86_sha_ni; + simplicity_sha256_compression = sha256_compression_x86_sha_ni; } } diff --git a/simplicity-sys/depend/simplicity/test.c b/simplicity-sys/depend/simplicity/test.c index 63417457..0e7fc96f 100644 --- a/simplicity-sys/depend/simplicity/test.c +++ b/simplicity-sys/depend/simplicity/test.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -59,7 +60,7 @@ static void test_decodeUptoMaxInt(void) { bitstream stream = initializeBitstream(buf, sizeof(buf)); for (size_t i = 0; i < sizeof(expected)/sizeof(expected[0]); ++i) { - int32_t result = decodeUptoMaxInt(&stream); + int32_t result = simplicity_decodeUptoMaxInt(&stream); if (expected[i] == result) { successes++; } else { @@ -73,17 +74,19 @@ static void test_hashBlock(void) { printf("Test hashBlock\n"); dag_node* dag; combinator_counters census; - int32_t len; + int_fast32_t len; simplicity_err error; { bitstream stream = initializeBitstream(hashBlock, sizeof_hashBlock); - len = decodeMallocDag(&dag, &census, &stream); + len = simplicity_decodeMallocDag(&dag, &census, &stream); if (!dag) { - error = len; + simplicity_assert(len < 0); + error = (simplicity_err)len; failures++; printf("Error parsing dag: %d\n", error); } else { - error = closeBitstream(&stream); + simplicity_assert(0 < len); + error = simplicity_closeBitstream(&stream); if (!IS_OK(error)) { failures++; printf("Error closing dag stream for hashblock\n"); @@ -102,20 +105,20 @@ static void test_hashBlock(void) { type* type_dag; bitstream witness = initializeBitstream(hashBlock_witness, sizeof_hashBlock_witness); - if (!IS_OK(mallocTypeInference(&type_dag, dag, (size_t)len, &census)) || !type_dag || + if (!IS_OK(simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)len, &census)) || !type_dag || type_dag[dag[len-1].sourceType].bitSize != 768 || type_dag[dag[len-1].targetType].bitSize != 256) { failures++; printf("Unexpected failure of type inference for hashblock\n"); - } else if (!IS_OK(fillWitnessData(dag, type_dag, (size_t)len, &witness))) { + } else if (!IS_OK(simplicity_fillWitnessData(dag, type_dag, (uint_fast32_t)len, &witness))) { failures++; printf("Unexpected failure of fillWitnessData for hashblock\n"); - } else if (!IS_OK(closeBitstream(&witness))) { + } else if (!IS_OK(simplicity_closeBitstream(&witness))) { failures++; printf("Unexpected failure of witness stream for hashblock\n"); } else { { analyses analysis[len]; - computeAnnotatedMerkleRoot(analysis, dag, type_dag, (size_t)len); + simplicity_computeAnnotatedMerkleRoot(analysis, dag, type_dag, (uint_fast32_t)len); if (0 == memcmp(hashBlock_amr, analysis[len-1].annotatedMerkleRoot.s, sizeof(uint32_t[8]))) { successes++; } else { @@ -125,7 +128,7 @@ static void test_hashBlock(void) { } { sha256_midstate imr; - if (IS_OK(verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (size_t)len)) && + if (IS_OK(simplicity_verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (uint_fast32_t)len)) && 0 == memcmp(hashBlock_imr, imr.s, sizeof(uint32_t[8]))) { successes++; } else { @@ -149,7 +152,7 @@ static void test_hashBlock(void) { } { ubounded cellsBound, UWORDBound, frameBound, costBound; - if (IS_OK(analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (size_t)len)) + if (IS_OK(simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (uint_fast32_t)len)) && hashBlock_cost == costBound) { successes++; } else { @@ -157,7 +160,7 @@ static void test_hashBlock(void) { printf("Expected %d for cost, but got %d instead.\n", hashBlock_cost, costBound); } } - simplicity_err err = evalTCOExpression(CHECK_NONE, output, input, dag, type_dag, (size_t)len, NULL, NULL); + simplicity_err err = simplicity_evalTCOExpression(CHECK_NONE, output, input, dag, type_dag, (uint_fast32_t)len, NULL, NULL); if (IS_OK(err)) { /* The expected result is the value 'SHA256("abc")'. */ const uint32_t expectedHash[8] = { 0xba7816bful, 0x8f01cfeaul, 0x414140deul, 0x5dae2223ul @@ -188,17 +191,19 @@ static void test_program(char* name, const unsigned char* program, size_t progra printf("Test %s\n", name); dag_node* dag; combinator_counters census; - int32_t len; + int_fast32_t len; simplicity_err error; { bitstream stream = initializeBitstream(program, program_len); - len = decodeMallocDag(&dag, &census, &stream); + len = simplicity_decodeMallocDag(&dag, &census, &stream); if (!dag) { - error = len; + simplicity_assert(len < 0); + error = (simplicity_err)len; failures++; printf("Error parsing dag: %d\n", error); } else { - error = closeBitstream(&stream); + simplicity_assert(0 < len); + error = simplicity_closeBitstream(&stream); if (!IS_OK(error)) { if (expectedResult == error) { successes++; @@ -226,20 +231,20 @@ static void test_program(char* name, const unsigned char* program, size_t progra } type* type_dag; bitstream witness_stream = initializeBitstream(witness, witness_len); - if (!IS_OK(mallocTypeInference(&type_dag, dag, (size_t)len, &census)) || !type_dag || + if (!IS_OK(simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)len, &census)) || !type_dag || dag[len-1].sourceType != 0 || dag[len-1].targetType != 0) { failures++; printf("Unexpected failure of type inference.\n"); - } else if (!IS_OK(fillWitnessData(dag, type_dag, (size_t)len, &witness_stream))) { + } else if (!IS_OK(simplicity_fillWitnessData(dag, type_dag, (uint_fast32_t)len, &witness_stream))) { failures++; printf("Unexpected failure of fillWitnessData.\n"); - } else if (!IS_OK(closeBitstream(&witness_stream))) { + } else if (!IS_OK(simplicity_closeBitstream(&witness_stream))) { failures++; printf("Unexpected failure closing witness_stream\n"); } else { if (expectedAMR) { analyses analysis[len]; - computeAnnotatedMerkleRoot(analysis, dag, type_dag, (size_t)len); + simplicity_computeAnnotatedMerkleRoot(analysis, dag, type_dag, (uint_fast32_t)len); if (0 == memcmp(expectedAMR, analysis[len-1].annotatedMerkleRoot.s, sizeof(uint32_t[8]))) { successes++; } else { @@ -249,7 +254,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra } { sha256_midstate imr; - if (IS_OK(verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (size_t)len)) && + if (IS_OK(simplicity_verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (uint_fast32_t)len)) && (!expectedIMR || 0 == memcmp(expectedIMR, imr.s, sizeof(uint32_t[8])))) { successes++; } else { @@ -259,7 +264,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra } if (expectedCost) { ubounded cellsBound, UWORDBound, frameBound, costBound; - if (IS_OK(analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (size_t)len)) + if (IS_OK(simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (uint_fast32_t)len)) && *expectedCost == costBound) { successes++; } else { @@ -267,7 +272,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra printf("Expected %u for cost, but got %u instead.\n", *expectedCost, costBound); } /* Analysis should pass when computed bounds are used. */ - if (IS_OK(analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound, costBound, dag, type_dag, (size_t)len))) { + if (IS_OK(simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound, costBound, dag, type_dag, (uint_fast32_t)len))) { successes++; } else { failures++; @@ -275,7 +280,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra } /* if cellsBound is non-zero, analysis should fail when smaller cellsBound is used. */ if (0 < cellsBound) { - if (SIMPLICITY_ERR_EXEC_MEMORY == analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound-1, UBOUNDED_MAX, dag, type_dag, (size_t)len)) { + if (SIMPLICITY_ERR_EXEC_MEMORY == simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound-1, UBOUNDED_MAX, dag, type_dag, (uint_fast32_t)len)) { successes++; } else { failures++; @@ -284,7 +289,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra } /* Analysis should fail when smaller costBound is used. */ if (0 < *expectedCost && - SIMPLICITY_ERR_EXEC_BUDGET == analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, *expectedCost-1, dag, type_dag, (size_t)len) + SIMPLICITY_ERR_EXEC_BUDGET == simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, *expectedCost-1, dag, type_dag, (uint_fast32_t)len) ) { successes++; } else { @@ -292,7 +297,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra printf("Analysis with too small cost bounds failed.\n"); } } - simplicity_err actualResult = evalTCOProgram(dag, type_dag, (size_t)len, NULL, NULL); + simplicity_err actualResult = evalTCOProgram(dag, type_dag, (uint_fast32_t)len, NULL, NULL); if (expectedResult == actualResult) { successes++; } else { @@ -311,16 +316,18 @@ static void test_occursCheck(void) { const unsigned char buf[] = { 0xc1, 0x07, 0x20, 0x30 }; dag_node* dag; combinator_counters census; - int32_t len; + int_fast32_t len; { bitstream stream = initializeBitstream(buf, sizeof(buf)); - len = decodeMallocDag(&dag, &census, &stream); + len = simplicity_decodeMallocDag(&dag, &census, &stream); } if (!dag) { - printf("Error parsing dag: %d\n", len); + simplicity_assert(len < 0); + printf("Error parsing dag: %" PRIdFAST32 "\n", len); } else { type* type_dag; - if (SIMPLICITY_ERR_TYPE_INFERENCE_OCCURS_CHECK == mallocTypeInference(&type_dag, dag, (size_t)len, &census) && + simplicity_assert(0 < len); + if (SIMPLICITY_ERR_TYPE_INFERENCE_OCCURS_CHECK == simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)len, &census) && !type_dag) { successes++; } else { @@ -343,7 +350,7 @@ static void test_elements(void) { , .pathLen = 0 , .scriptCMR = cmr }; - tapEnv* taproot = elements_simplicity_mallocTapEnv(&rawTaproot); + tapEnv* taproot = simplicity_elements_mallocTapEnv(&rawTaproot); printf("Test elements\n"); { @@ -378,7 +385,7 @@ static void test_elements(void) { , .version = 0x00000002 , .lockTime = 0x00000000 }; - transaction* tx1 = elements_simplicity_mallocTransaction(&testTx1); + transaction* tx1 = simplicity_elements_mallocTransaction(&testTx1); if (tx1) { successes++; simplicity_err execResult; @@ -398,7 +405,7 @@ static void test_elements(void) { } { unsigned char imrResult[32]; - if (elements_simplicity_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost + 999)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && IS_OK(execResult)) { + if (simplicity_elements_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost + 999)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && IS_OK(execResult)) { sha256_midstate imr; sha256_toMidstate(imr.s, imrResult); if (0 == memcmp(imr.s, elementsCheckSigHashAllTx1_imr, sizeof(uint32_t[8]))) { @@ -414,7 +421,7 @@ static void test_elements(void) { if (elementsCheckSigHashAllTx1_cost){ /* test the same transaction without adequate budget. */ simplicity_assert(elementsCheckSigHashAllTx1_cost); - if (elements_simplicity_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost - 1)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_BUDGET == execResult) { + if (simplicity_elements_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost - 1)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_BUDGET == execResult) { successes++; } else { failures++; @@ -427,7 +434,7 @@ static void test_elements(void) { unsigned char brokenSig[sizeof_elementsCheckSigHashAllTx1_witness]; memcpy(brokenSig, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness); brokenSig[sizeof_elementsCheckSigHashAllTx1_witness - 1] ^= 0x80; - if (elements_simplicity_execSimplicity(&execResult, NULL, tx1, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, brokenSig, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) { + if (simplicity_elements_execSimplicity(&execResult, NULL, tx1, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, brokenSig, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) { successes++; } else { failures++; @@ -471,12 +478,12 @@ static void test_elements(void) { , .version = 0x00000002 , .lockTime = 0x00000000 }; - transaction* tx2 = elements_simplicity_mallocTransaction(&testTx2); + transaction* tx2 = simplicity_elements_mallocTransaction(&testTx2); if (tx2) { successes++; simplicity_err execResult; { - if (elements_simplicity_execSimplicity(&execResult, NULL, tx2, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) { + if (simplicity_elements_execSimplicity(&execResult, NULL, tx2, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) { successes++; } else { failures++; @@ -501,38 +508,38 @@ static sha256_midstate hashint(uint_fast32_t n) { return result; } -static sha256_midstate rsort_no_duplicates(size_t i) { +static sha256_midstate rsort_no_duplicates(uint_fast32_t i) { return hashint(i); } -static sha256_midstate rsort_all_duplicates(size_t i) { +static sha256_midstate rsort_all_duplicates(uint_fast32_t i) { (void)i; return hashint(0); } -static sha256_midstate rsort_one_duplicate(size_t i) { +static sha256_midstate rsort_one_duplicate(uint_fast32_t i) { return hashint(i ? i : 1); } /* Tests a worst-case conditions for stack usage in rsort. */ -static sha256_midstate rsort_diagonal(size_t i) { +static sha256_midstate rsort_diagonal(uint_fast32_t i) { sha256_midstate result = {0}; unsigned char *alias = (unsigned char *)(result.s); - for (size_t j = 0; j < sizeof(result.s); ++j) { + for (uint_fast32_t j = 0; j < sizeof(result.s); ++j) { alias[j] = j == i ? 0 : 0xff; } return result; } -static void test_hasDuplicates(const char* name, int expected, sha256_midstate (*f)(size_t), size_t n) { +static void test_hasDuplicates(const char* name, int expected, sha256_midstate (*f)(uint_fast32_t), uint_fast32_t n) { sha256_midstate hashes[n]; printf("Test %s\n", name); - for(size_t i = 0; i < n; ++i) { + for(uint_fast32_t i = 0; i < n; ++i) { hashes[i] = f(i); } - int actual = hasDuplicates(hashes, n); + int actual = simplicity_hasDuplicates(hashes, n); if (expected == actual) { successes++; } else if (actual < 0) { @@ -632,7 +639,7 @@ int main(int argc, char **argv) { if (0 == opt_result) continue; exit(EXIT_FAILURE); } - if (sha256_compression_is_optimized()) { + if (simplicity_sha256_compression_is_optimized()) { printf("Sha optimization enabled.\n"); if (timing_flag) { printf("Timings are checked.\n"); diff --git a/simplicity-sys/depend/simplicity/type.c b/simplicity-sys/depend/simplicity/type.c index 7c572305..3127ac3c 100644 --- a/simplicity-sys/depend/simplicity/type.c +++ b/simplicity-sys/depend/simplicity/type.c @@ -33,7 +33,7 @@ static sha256_midstate tmrIV(typeName kind) { * * Precondition: type type_dag[len] and 'type_dag' is well-formed. */ -void computeTypeAnalyses(type* type_dag, const size_t len) { +void simplicity_computeTypeAnalyses(type* type_dag, const size_t len) { for (size_t i = 0; i < len; ++i) { type_dag[i].skip = i; switch (type_dag[i].kind) { @@ -62,7 +62,7 @@ void computeTypeAnalyses(type* type_dag, const size_t len) { case PRODUCT: memcpy(block, type_dag[type_dag[i].typeArg[0]].typeMerkleRoot.s, sizeof(uint32_t[8])); memcpy(block + 8, type_dag[type_dag[i].typeArg[1]].typeMerkleRoot.s, sizeof(uint32_t[8])); - sha256_compression(type_dag[i].typeMerkleRoot.s, block); + simplicity_sha256_compression(type_dag[i].typeMerkleRoot.s, block); } } } diff --git a/simplicity-sys/depend/simplicity/type.h b/simplicity-sys/depend/simplicity/type.h index 8e467c62..ff0684a4 100644 --- a/simplicity-sys/depend/simplicity/type.h +++ b/simplicity-sys/depend/simplicity/type.h @@ -63,7 +63,7 @@ typedef struct type { * * Precondition: type type_dag[len] and 'type_dag' is well-formed. */ -void computeTypeAnalyses(type* type_dag, size_t len); +void simplicity_computeTypeAnalyses(type* type_dag, size_t len); /* Return the index of the largest subexpression of 'type_dag[i]' (possibly 'i' itself) that is either * (1) a 'SUM' type; diff --git a/simplicity-sys/depend/simplicity/typeInference.c b/simplicity-sys/depend/simplicity/typeInference.c index 256b08d0..89f09232 100644 --- a/simplicity-sys/depend/simplicity/typeInference.c +++ b/simplicity-sys/depend/simplicity/typeInference.c @@ -265,10 +265,10 @@ static size_t max_extra_vars(const combinator_counters* census) { * that are accessible from the 'arrow' array and 'bound_var' array. * and 'arrow' is a graph of bindings that satisfies the typing constraints of imposed by 'dag'. */ -static simplicity_err typeInference( unification_arrow* arrow, const dag_node* dag, const size_t len, +static simplicity_err typeInference( unification_arrow* arrow, const dag_node* dag, const uint_fast32_t len, unification_var* extra_var, unification_var* bound_var, size_t word256_ix, size_t* bindings_used ) { - for (size_t i = 0; i < len; ++i) { + for (uint_fast32_t i = 0; i < len; ++i) { switch (dag[i].tag) { #define UNIFY(a, b) { if (!unify((a), (b), bindings_used)) return SIMPLICITY_ERR_TYPE_INFERENCE_UNIFICATION; } #define APPLY_BINDING(a, b) { if (!applyBinding((a), (b), bindings_used)) return SIMPLICITY_ERR_TYPE_INFERENCE_UNIFICATION; } @@ -534,7 +534,7 @@ static simplicity_err freezeTypes(type* type_dag, dag_node* dag, unification_arr } } - computeTypeAnalyses(type_dag, type_dag_used); + simplicity_computeTypeAnalyses(type_dag, type_dag_used); return SIMPLICITY_NO_ERROR; } @@ -559,7 +559,7 @@ static simplicity_err freezeTypes(type* type_dag, dag_node* dag, unification_arr * or 'dag' is well-typed with '*type_dag' and without witness values * if the return value is not 'SIMPLICITY_NO_ERROR' then 'NULL == *type_dag' */ -simplicity_err mallocTypeInference(type** type_dag, dag_node* dag, const size_t len, const combinator_counters* census) { +simplicity_err simplicity_mallocTypeInference(type** type_dag, dag_node* dag, const uint_fast32_t len, const combinator_counters* census) { *type_dag = NULL; static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(unification_arrow), "arrow array too large."); static_assert(1 <= DAG_LEN_MAX, "DAG_LEN_MAX is zero."); @@ -569,7 +569,7 @@ simplicity_err mallocTypeInference(type** type_dag, dag_node* dag, const size_t unification_arrow* arrow = simplicity_malloc(len * sizeof(unification_arrow)); unification_var* bound_var = NULL; size_t word256_ix, extra_var_start; - const size_t orig_bindings_used = mallocBoundVars(&bound_var, &word256_ix, &extra_var_start, max_extra_vars(census)); + const size_t orig_bindings_used = simplicity_mallocBoundVars(&bound_var, &word256_ix, &extra_var_start, max_extra_vars(census)); size_t bindings_used = orig_bindings_used; static_assert(1 <= NUMBER_OF_TYPENAMES_MAX, "NUMBER_OF_TYPENAMES_MAX is zero."); diff --git a/simplicity-sys/depend/simplicity/typeInference.h b/simplicity-sys/depend/simplicity/typeInference.h index 4cbec5b2..dd8ccf35 100644 --- a/simplicity-sys/depend/simplicity/typeInference.h +++ b/simplicity-sys/depend/simplicity/typeInference.h @@ -91,6 +91,6 @@ struct unification_var { * or 'dag' is well-typed with '*type_dag' and without witness values * if the return value is not 'SIMPLICITY_NO_ERROR' then 'NULL == *type_dag' */ -simplicity_err mallocTypeInference(type** type_dag, dag_node* dag, const size_t len, const combinator_counters* census); +simplicity_err simplicity_mallocTypeInference(type** type_dag, dag_node* dag, const uint_fast32_t len, const combinator_counters* census); #endif diff --git a/simplicity-sys/depend/wrapper.h b/simplicity-sys/depend/wrapper.h index 16cc6dae..3ac16820 100644 --- a/simplicity-sys/depend/wrapper.h +++ b/simplicity-sys/depend/wrapper.h @@ -3,7 +3,7 @@ #define WRAP_(jet) \ bool c_##jet(frameItem* dst, const frameItem* src, const txEnv* env) { \ - bool result = jet(dst, *src, env); \ + bool result = simplicity_##jet(dst, *src, env); \ simplicity_assert(!result || 0 == dst->offset); \ return result; \ } diff --git a/simplicity-sys/src/c_jets/c_env.rs b/simplicity-sys/src/c_jets/c_env.rs index 3af0602a..f7513044 100644 --- a/simplicity-sys/src/c_jets/c_env.rs +++ b/simplicity-sys/src/c_jets/c_env.rs @@ -192,8 +192,8 @@ extern "C" { genesisHash: *const c_uchar, ix: c_uint, ); - pub fn elements_simplicity_mallocTapEnv(rawEnv: *const CRawTapEnv) -> *mut CTapEnv; - pub fn elements_simplicity_mallocTransaction( + pub fn simplicity_elements_mallocTapEnv(rawEnv: *const CRawTapEnv) -> *mut CTapEnv; + pub fn simplicity_elements_mallocTransaction( rawTx: *const CRawTransaction, ) -> *mut CTransaction; pub fn c_free_transaction(tx: *mut CTransaction); diff --git a/simplicity-sys/src/tests/ffi.rs b/simplicity-sys/src/tests/ffi.rs index 63f9acc9..16fa4adf 100644 --- a/simplicity-sys/src/tests/ffi.rs +++ b/simplicity-sys/src/tests/ffi.rs @@ -135,10 +135,14 @@ pub mod bitstream { pub static c_sizeof_bitstream: c_size_t; pub static c_alignof_bitstream: c_size_t; - pub fn closeBitstream(stream: *mut CBitstream) -> i32; - pub fn readNBits(n: c_int, stream: *mut CBitstream) -> i32; - pub fn decodeUptoMaxInt(stream: *mut CBitstream) -> i32; - pub fn readBitstring(result: *mut CBitstring, n: c_size_t, stream: *mut CBitstream) -> i32; + pub fn simplicity_closeBitstream(stream: *mut CBitstream) -> i32; + pub fn simplicity_readNBits(n: c_int, stream: *mut CBitstream) -> i32; + pub fn simplicity_decodeUptoMaxInt(stream: *mut CBitstream) -> i32; + pub fn simplicity_readBitstring( + result: *mut CBitstring, + n: c_size_t, + stream: *mut CBitstream, + ) -> i32; } } @@ -278,14 +282,14 @@ pub mod dag { /// Compute the CMR of a jet of scribe(v) : ONE |- TWO^(2^n) that outputs a given /// bitstring - pub fn computeWordCMR(value: *const CBitstring, n: c_size_t) -> CSha256Midstate; + pub fn simplicity_computeWordCMR(value: *const CBitstring, n: c_size_t) -> CSha256Midstate; /// Given a well-formed dag\[i + 1\], set the `cmr` field of every node in `dag` - pub fn computeCommitmentMerkleRoot(dag: *mut CDagNode, i: c_size_t); + pub fn simplicity_computeCommitmentMerkleRoot(dag: *mut CDagNode, i: c_size_t); /// Given a well-typed dag representing a Simplicity expression, compute /// the annotated Merkle roots of all subexpressions. - pub fn computeAnnotatedMerkleRoot( + pub fn simplicity_computeAnnotatedMerkleRoot( analyses: *mut CAnalyses, dag: *const CDagNode, ty: *const CType, @@ -294,10 +298,10 @@ pub mod dag { /// Verifies that the 'dag' is in canonical order, meaning that nodes /// under the left branches have lower indices than nodes under - pub fn verifyCanonicalOrder(dag: *mut CDagNode, len: c_size_t) -> SimplicityErr; + pub fn simplicity_verifyCanonicalOrder(dag: *mut CDagNode, len: c_size_t) -> SimplicityErr; /// Fills in the 'WITNESS' nodes of a 'dag' with the data from 'witness' - pub fn fillWitnessData( + pub fn simplicity_fillWitnessData( dag: *mut CDagNode, type_dag: *mut CType, len: c_size_t, @@ -305,7 +309,7 @@ pub mod dag { ) -> SimplicityErr; /// Computes the identity Merkle roots of every subexpression in a well-typed 'dag' with witnesses . - pub fn verifyNoDuplicateIdentityRoots( + pub fn simplicity_verifyNoDuplicateIdentityRoots( imr: *mut CSha256Midstate, dag: *const CDagNode, type_dag: *const CType, @@ -319,7 +323,7 @@ pub mod deserialize { use crate::tests::ffi::dag::{CCombinatorCounters, CDagNode}; extern "C" { - pub fn decodeMallocDag( + pub fn simplicity_decodeMallocDag( dag: *mut *mut CDagNode, combinator_counters: *mut CCombinatorCounters, stream: *mut CBitstream, @@ -343,7 +347,7 @@ pub mod eval { extern "C" { /// Run the Bit Machine on the well-typed Simplicity expression 'dag\[len\]'. - pub fn evalTCOExpression( + pub fn simplicity_evalTCOExpression( anti_dos_checks: c_uchar, output: *mut UWORD, input: *const UWORD, @@ -358,7 +362,7 @@ pub mod eval { /// compute the memory and CPU requirements for evaluation. /// /// Refer to C documentation for preconditions. - pub fn analyseBounds( + pub fn simplicity_analyseBounds( cell_bound: *mut ubounded, UWORD_bound: *mut ubounded, frame_bound: *mut ubounded, @@ -373,21 +377,21 @@ pub mod eval { /// Run the Bit Machine on the well-typed Simplicity program 'dag\[len\]'. /// - /// Defined insine in eval.h; since it is a 1-liner we just copy it into Rust. + /// Defined inline in eval.h; since it is a 1-liner we just copy it into Rust. /// /// # Safety /// /// This function directly wraps `evalTCOExpression`; see the documentation for /// that function in the C source code for preconditions. #[allow(non_snake_case)] - pub unsafe fn evalTCOProgram( + pub unsafe fn simplicity_evalTCOProgram( dag: *const CDagNode, type_dag: *mut CType, len: c_size_t, budget: *const ubounded, env: *const CElementsTxEnv, ) -> SimplicityErr { - evalTCOExpression( + simplicity_evalTCOExpression( CHECK_ALL, ptr::null_mut(), ptr::null(), @@ -442,7 +446,7 @@ pub mod ty { pub static c_alignof_type: c_size_t; /// Given a well-formed 'type_dag', compute the bitSizes, skips, and type Merkle roots of all subexpressions. - pub fn computeTypeAnalyses(type_dag: *mut CType, len: c_size_t); + pub fn simplicity_computeTypeAnalyses(type_dag: *mut CType, len: c_size_t); } } @@ -456,7 +460,7 @@ pub mod type_inference { /// If the Simplicity DAG, 'dag', has a principal type (including constraints /// due to sharing of subexpressions), then allocate a well-formed type DAG /// containing all the types needed for all the subexpressions of 'dag'. - pub fn mallocTypeInference( + pub fn simplicity_mallocTypeInference( type_dag: *mut *mut CType, dag: *mut CDagNode, len: c_size_t, diff --git a/simplicity-sys/src/tests/mod.rs b/simplicity-sys/src/tests/mod.rs index 3cb38cba..c69758c9 100644 --- a/simplicity-sys/src/tests/mod.rs +++ b/simplicity-sys/src/tests/mod.rs @@ -6,14 +6,14 @@ use std::ptr; use crate::ffi::{c_size_t, sha256::CSha256Midstate, ubounded, UBOUNDED_MAX}; use crate::tests::ffi::{ - bitstream::{closeBitstream, CBitstream}, + bitstream::{simplicity_closeBitstream, CBitstream}, dag::{ - computeAnnotatedMerkleRoot, fillWitnessData, verifyNoDuplicateIdentityRoots, CAnalyses, - CCombinatorCounters, + simplicity_computeAnnotatedMerkleRoot, simplicity_fillWitnessData, + simplicity_verifyNoDuplicateIdentityRoots, CAnalyses, CCombinatorCounters, }, - deserialize::decodeMallocDag, - eval::{analyseBounds, evalTCOProgram}, - type_inference::mallocTypeInference, + deserialize::simplicity_decodeMallocDag, + eval::{simplicity_analyseBounds, simplicity_evalTCOProgram}, + type_inference::simplicity_mallocTypeInference, SimplicityErr, }; @@ -129,11 +129,14 @@ pub fn run_program( unsafe { // 1. Parse DAG. let mut dag = ptr::null_mut(); - let len = SimplicityErr::from_i32(decodeMallocDag(&mut dag, &mut census, &mut prog_stream))? - as usize; + let len = SimplicityErr::from_i32(simplicity_decodeMallocDag( + &mut dag, + &mut census, + &mut prog_stream, + ))? as usize; assert!(!dag.is_null()); let _d1 = FreeOnDrop(dag as *mut u8); - SimplicityErr::from_i32(closeBitstream(&mut prog_stream))?; + SimplicityErr::from_i32(simplicity_closeBitstream(&mut prog_stream))?; if test_up_to <= TestUpTo::DecodeProgram { return Ok(result); } @@ -143,7 +146,7 @@ pub fn run_program( // 3. Do type inference. let mut type_dag = ptr::null_mut(); - mallocTypeInference(&mut type_dag, dag, len, &census).into_result()?; + simplicity_mallocTypeInference(&mut type_dag, dag, len, &census).into_result()?; assert!(!type_dag.is_null()); let _d2 = FreeOnDrop(type_dag as *mut u8); if test_up_to <= TestUpTo::TypeInference { @@ -151,22 +154,24 @@ pub fn run_program( } // 4. Fill witness data, now that we know the types - fillWitnessData(dag, type_dag, len as c_size_t, &mut wit_stream).into_result()?; - SimplicityErr::from_i32(closeBitstream(&mut wit_stream))?; + simplicity_fillWitnessData(dag, type_dag, len as c_size_t, &mut wit_stream) + .into_result()?; + SimplicityErr::from_i32(simplicity_closeBitstream(&mut wit_stream))?; if test_up_to <= TestUpTo::FillWitnessData { return Ok(result); } // 5. Check AMR let mut analyses = vec![CAnalyses::default(); len]; - computeAnnotatedMerkleRoot(analyses.as_mut_ptr(), dag, type_dag, len); + simplicity_computeAnnotatedMerkleRoot(analyses.as_mut_ptr(), dag, type_dag, len); result.amr = analyses[len - 1].annotated_merkle_root; if test_up_to <= TestUpTo::ComputeAmr { return Ok(result); } // 6. Check IMR - verifyNoDuplicateIdentityRoots(&mut result.imr, dag, type_dag, len).into_result()?; + simplicity_verifyNoDuplicateIdentityRoots(&mut result.imr, dag, type_dag, len) + .into_result()?; if test_up_to <= TestUpTo::ComputeImr { return Ok(result); } @@ -177,7 +182,7 @@ pub fn run_program( let mut frame_bound: ubounded = 0; let mut cost_bound: ubounded = 0; // 7a. Analysis when cost is unbounded - analyseBounds( + simplicity_analyseBounds( &mut cell_bound, &mut word_bound, &mut frame_bound, @@ -194,7 +199,7 @@ pub fn run_program( return Ok(result); } // 7b. analysis with strict bounds - analyseBounds( + simplicity_analyseBounds( &mut cell_bound, &mut word_bound, &mut frame_bound, @@ -211,7 +216,7 @@ pub fn run_program( } // 7c. analysis with strict cell bounds if 0 < cell_bound { - let res = analyseBounds( + let res = simplicity_analyseBounds( &mut cell_bound, &mut word_bound, &mut frame_bound, @@ -231,7 +236,7 @@ pub fn run_program( } // 7d. analysis with strict cost bounds if 0 < cost_bound { - let res = analyseBounds( + let res = simplicity_analyseBounds( &mut cell_bound, &mut word_bound, &mut frame_bound, @@ -261,7 +266,8 @@ pub fn run_program( } // 9. Run the program - result.eval_result = evalTCOProgram(dag, type_dag, len, ptr::null(), ptr::null()); + result.eval_result = + simplicity_evalTCOProgram(dag, type_dag, len, ptr::null(), ptr::null()); } Ok(result) diff --git a/src/bit_machine/mod.rs b/src/bit_machine/mod.rs index 4edf10b4..d17d0c53 100644 --- a/src/bit_machine/mod.rs +++ b/src/bit_machine/mod.rs @@ -608,9 +608,9 @@ mod tests { let res = run_program_elements( &[0xcf, 0xe1, 0x8f, 0xb4, 0x40, 0x28, 0x87, 0x04, 0x00], &[], - "ec48102095c13fcdc1d539de2848ae287acdea249e2cda6f0d8f34bccd292294", - "abd217b5ea14d7da249a03e16dd047b136a2efec4b82c1b60675297d782b51ad", - "dea130f31a0754ea2f82ad570f7a4882c9e465b6bdd6f8be4d6d68342a57dff3", + "615034594b26f261f89485f71b705ebf2e5b27233130d9c41c49c214dcbf0a7f", + "3e2c6ae87f6578e52d51510b476fd2e1dd400ce4f4f6e8a9174574434dc93d7d", + "ffc4aa8b46fd3c25f765f7ad1f44474bd936f9edeb4a90e8b198215c3b743f17", ); assert_eq!(res.unwrap(), Value::unit()); } diff --git a/src/human_encoding/parse/mod.rs b/src/human_encoding/parse/mod.rs index c88d34cc..cef245d0 100644 --- a/src/human_encoding/parse/mod.rs +++ b/src/human_encoding/parse/mod.rs @@ -676,7 +676,7 @@ mod tests { wits_are_equal := comp (pair wit1 wit2) jet_eq_32 : 1 -> 2 main := comp wits_are_equal jet_verify : 1 -> 1 ", - "2d170e731b6d6856e69f3c6ee04b368302f7f71b2270a26276d98ea494bbebd7", + "e398797db2b1c742dfa69a3925583e55e55a81a1e5150a0241a8d9e85e112475", &witness, &(), ); @@ -735,7 +735,7 @@ mod tests { main := comp pr1 jt2 : 1 -> 1 -- 3f6422da ", - "70a617f32098132fe01ad5ff6748d3b94f803f4d851dd5764d99437c1b8dd7e8", + "e3b25e13f91fcbf95407f126b3aed5b4543399cb9c3d426fe98a10f8d33ef6c3", &signature, &dummy ); diff --git a/src/jet/elements/c_env.rs b/src/jet/elements/c_env.rs index b5e8b342..23f3044d 100644 --- a/src/jet/elements/c_env.rs +++ b/src/jet/elements/c_env.rs @@ -14,7 +14,7 @@ use elements::{ }; use simplicity_sys::c_jets::c_env::{ c_set_rawInput, c_set_rawOutput, c_set_rawTapEnv, c_set_rawTransaction, c_set_txEnv, - elements_simplicity_mallocTapEnv, elements_simplicity_mallocTransaction, CElementsTxEnv, + simplicity_elements_mallocTapEnv, simplicity_elements_mallocTransaction, CElementsTxEnv, CRawBuffer, CRawInput, CRawOutput, CRawTapEnv, CRawTransaction, CTapEnv, CTransaction, RawInputData, RawOutputData, RawTransactionData, }; @@ -152,7 +152,7 @@ pub(super) fn new_tx(tx: &elements::Transaction, in_utxos: &[ElementsUtxo]) -> * tx.lock_time.to_consensus_u32() as c_uint, ); let raw_tx = raw_tx.assume_init(); - elements_simplicity_mallocTransaction(&raw_tx) + simplicity_elements_mallocTransaction(&raw_tx) } } @@ -167,7 +167,7 @@ pub(super) fn new_tap_env(control_block: &ControlBlock, script_cmr: Cmr) -> *mut script_cmr.as_ref().as_ptr(), ); let raw_tap_env = raw_tap_env.assume_init(); - elements_simplicity_mallocTapEnv(&raw_tap_env) + simplicity_elements_mallocTapEnv(&raw_tap_env) } } diff --git a/src/jet/init/core.rs b/src/jet/init/core.rs index 8d67d8ef..659d6dfc 100644 --- a/src/jet/init/core.rs +++ b/src/jet/init/core.rs @@ -395,99 +395,99 @@ impl Jet for Core { fn cmr(&self) -> Cmr { let bytes = match self { Core::Add16 => [ - 0x90, 0xe5, 0xc3, 0x02, 0xc2, 0xa1, 0x02, 0xf7, 0x6c, 0xc2, 0x0b, 0xcd, 0xdd, 0xc0, - 0x62, 0x2b, 0xf3, 0xb8, 0xa5, 0x44, 0x6a, 0xb6, 0x8d, 0x1b, 0x2a, 0x03, 0x39, 0x5e, - 0x6f, 0xae, 0x92, 0x50, + 0xc4, 0xdd, 0x8c, 0x30, 0x97, 0xf9, 0x5b, 0xf9, 0x22, 0x9a, 0xf0, 0xc3, 0x48, 0x31, + 0x70, 0x32, 0x3a, 0xa2, 0x70, 0xaf, 0x42, 0x8a, 0x72, 0x57, 0x18, 0x14, 0x3b, 0xb5, + 0xfc, 0x80, 0x81, 0x1c, ], Core::Add32 => [ - 0x6d, 0x78, 0x30, 0xd6, 0x5e, 0x69, 0xf2, 0x7d, 0x55, 0x1c, 0x4b, 0xb3, 0x71, 0x8d, - 0xa9, 0x35, 0x22, 0x2f, 0xae, 0xc4, 0xaf, 0x7f, 0x49, 0xe9, 0x5e, 0x98, 0x33, 0xed, - 0x2f, 0x84, 0xc1, 0x06, + 0xd9, 0x8c, 0x0f, 0x69, 0xf6, 0xb1, 0xd4, 0x35, 0x29, 0x4d, 0x97, 0x83, 0x5e, 0xac, + 0x94, 0x01, 0x77, 0xa2, 0xfe, 0xaf, 0x0a, 0x6e, 0x9e, 0x47, 0x34, 0xc9, 0x12, 0x04, + 0x8e, 0x9e, 0xee, 0x42, ], Core::Add64 => [ - 0x9e, 0xee, 0xbe, 0xa8, 0x47, 0x38, 0x8e, 0x14, 0xc7, 0xc9, 0xe7, 0xca, 0x14, 0x7c, - 0x70, 0x71, 0x4d, 0xe1, 0x44, 0xeb, 0xab, 0x39, 0x8a, 0x53, 0xf4, 0xf5, 0x8a, 0x34, - 0x93, 0x0c, 0xc4, 0x5c, + 0xe6, 0x13, 0xeb, 0x03, 0x10, 0xa4, 0x4c, 0x22, 0xa6, 0x94, 0xee, 0x55, 0x49, 0x0d, + 0xa4, 0xea, 0xe3, 0x88, 0x11, 0xbf, 0xf8, 0x4a, 0xa0, 0x21, 0x31, 0xd9, 0x8f, 0x49, + 0x9d, 0x26, 0x1e, 0x71, ], Core::Add8 => [ - 0x37, 0x59, 0xb0, 0x40, 0x6a, 0xa2, 0xc4, 0xe1, 0x15, 0x26, 0x21, 0xe0, 0x11, 0xe4, - 0xef, 0xdb, 0x55, 0x5c, 0x6a, 0xb6, 0xd9, 0x1a, 0xe9, 0xeb, 0xf1, 0xd6, 0x31, 0x5b, - 0x43, 0x82, 0xa6, 0xc4, + 0x4a, 0x1f, 0x50, 0x9e, 0x5d, 0xe5, 0xc3, 0x98, 0x5f, 0x76, 0xa0, 0xdb, 0x65, 0xb0, + 0x4e, 0x06, 0x03, 0xbd, 0x0c, 0x1d, 0x9c, 0x5b, 0xbc, 0xb9, 0xa3, 0xec, 0x8e, 0x53, + 0xa0, 0xba, 0x32, 0x97, ], Core::All16 => [ - 0x3e, 0x7e, 0x95, 0x3d, 0x28, 0xa6, 0xdc, 0x5e, 0xd7, 0xdf, 0xbd, 0x4c, 0x63, 0xf2, - 0xe0, 0x80, 0x47, 0xc7, 0x1b, 0xb9, 0xc4, 0x37, 0xe8, 0xc7, 0x1e, 0xe0, 0x14, 0x7a, - 0x60, 0xf7, 0x8b, 0xee, + 0x13, 0xf6, 0xeb, 0xb8, 0xda, 0x74, 0x0d, 0xb8, 0x25, 0x92, 0x04, 0x68, 0x80, 0x2c, + 0x4c, 0xf4, 0x12, 0x45, 0x01, 0x6b, 0xdf, 0x2f, 0xa0, 0x54, 0x8c, 0x86, 0xf4, 0x15, + 0x83, 0x86, 0x6c, 0x73, ], Core::All32 => [ - 0x5d, 0xd0, 0x85, 0x16, 0x26, 0x03, 0x6c, 0xb6, 0xa4, 0x2a, 0xa9, 0x52, 0x93, 0xdb, - 0xb8, 0xf3, 0x6e, 0xfe, 0x5e, 0x0e, 0xa5, 0x7a, 0x31, 0x08, 0x27, 0xfa, 0x6d, 0x79, - 0x2f, 0x46, 0xe0, 0xc1, + 0xbb, 0x51, 0x5d, 0x4a, 0x22, 0xf3, 0x24, 0x5e, 0xcf, 0x57, 0x50, 0x35, 0xed, 0x18, + 0x7a, 0x03, 0x86, 0x14, 0x52, 0x4b, 0x35, 0xae, 0xd6, 0x44, 0x82, 0x46, 0x89, 0xde, + 0x38, 0xa4, 0xa1, 0xe0, ], Core::All64 => [ - 0xba, 0xd0, 0x2f, 0xd1, 0x58, 0x90, 0x8a, 0x1b, 0xe0, 0x68, 0x72, 0x5e, 0xb0, 0x52, - 0x76, 0xde, 0xfa, 0x41, 0x12, 0x07, 0xd0, 0xc8, 0xa9, 0x1b, 0xbe, 0x6f, 0xa5, 0x7d, - 0x2c, 0xda, 0x29, 0xdf, + 0xcd, 0x15, 0x1d, 0xe9, 0x17, 0x57, 0x56, 0x55, 0xa7, 0xa0, 0xf3, 0x5d, 0xa9, 0xcd, + 0xaf, 0x6e, 0x2b, 0xbf, 0x8a, 0x8d, 0x4f, 0xce, 0xac, 0x68, 0xce, 0xe4, 0xb0, 0x08, + 0xe6, 0x65, 0xbf, 0xc3, ], Core::All8 => [ - 0xdc, 0x09, 0x88, 0x54, 0xdd, 0x06, 0xae, 0x1e, 0x6e, 0x3e, 0x73, 0xa4, 0xae, 0x94, - 0xd0, 0xb2, 0xac, 0xce, 0x5c, 0xb3, 0xec, 0xc1, 0x2e, 0x8c, 0xb8, 0x16, 0x7f, 0x7b, - 0x6e, 0xaa, 0x40, 0x69, + 0x0d, 0x3c, 0xbf, 0xc2, 0xcc, 0x2a, 0x9a, 0x06, 0x28, 0xa2, 0xff, 0x8a, 0xfc, 0x0a, + 0x5f, 0x93, 0x17, 0x3e, 0xde, 0x4c, 0x23, 0x4c, 0x57, 0x21, 0x4c, 0x5d, 0x74, 0xaf, + 0x6b, 0x87, 0x3c, 0xe9, ], Core::And1 => [ - 0x2d, 0xc2, 0xdb, 0xcc, 0x69, 0xc1, 0x2c, 0x78, 0x30, 0xdf, 0x11, 0x70, 0xd9, 0xe9, - 0x3a, 0x35, 0xd8, 0x28, 0x4c, 0xc8, 0x15, 0x91, 0x6a, 0xeb, 0x3b, 0x1b, 0x95, 0xef, - 0xda, 0xa9, 0x2c, 0x26, + 0x56, 0xd1, 0xd4, 0xd6, 0xc1, 0xe1, 0x1f, 0x60, 0xd2, 0x96, 0x60, 0xb1, 0x81, 0xa1, + 0x33, 0x5a, 0x4f, 0x51, 0x1d, 0x3b, 0x9c, 0x04, 0xa3, 0x33, 0xe9, 0xe0, 0x14, 0x18, + 0xb0, 0xd1, 0x81, 0x8f, ], Core::And16 => [ - 0x4f, 0x42, 0xc6, 0x88, 0xcc, 0x3c, 0xeb, 0x76, 0x1f, 0x66, 0x2a, 0x0b, 0x8e, 0x77, - 0xb1, 0x96, 0x42, 0xda, 0xb5, 0x40, 0x7d, 0x9a, 0x87, 0x3c, 0xd9, 0xc1, 0x86, 0x09, - 0x97, 0x7e, 0xbd, 0x91, + 0xd7, 0x7a, 0x11, 0x44, 0xc5, 0x2e, 0xd2, 0xb7, 0x69, 0x88, 0xdf, 0x9b, 0x29, 0xcd, + 0x53, 0x97, 0x8c, 0x44, 0xc6, 0xd5, 0x40, 0xf4, 0xbc, 0x54, 0x56, 0xd0, 0xb3, 0xb5, + 0x3c, 0xd4, 0x00, 0xe5, ], Core::And32 => [ - 0x16, 0x80, 0xcf, 0xd2, 0x64, 0x3a, 0xd3, 0x89, 0x6b, 0xfb, 0x45, 0xe9, 0x6f, 0xc6, - 0x2d, 0xc2, 0xbb, 0x0c, 0xc0, 0xac, 0x48, 0x6f, 0xa8, 0x33, 0x30, 0xa8, 0x89, 0x0c, - 0x09, 0xee, 0x96, 0x9b, + 0x43, 0x82, 0xf9, 0x34, 0x33, 0x79, 0xd4, 0x42, 0x2e, 0x2a, 0x01, 0x51, 0x04, 0xcf, + 0x55, 0xdc, 0x54, 0xa8, 0xf7, 0x1e, 0xef, 0xb0, 0x62, 0x29, 0x26, 0xd6, 0x4b, 0x6c, + 0xe2, 0x2b, 0xea, 0x11, ], Core::And64 => [ - 0xa2, 0xdd, 0x3d, 0x49, 0xf1, 0x2c, 0xd4, 0x42, 0xce, 0xa7, 0xc8, 0x32, 0x38, 0x68, - 0xbe, 0x3c, 0xe6, 0xe9, 0xaf, 0x67, 0x6f, 0x72, 0x51, 0x10, 0xf3, 0xce, 0x49, 0x4e, - 0xdd, 0x6a, 0x5a, 0x4a, + 0x3e, 0xb8, 0xb4, 0x2d, 0x81, 0x5f, 0x0f, 0xc3, 0x9a, 0x34, 0x99, 0xb0, 0x35, 0x4e, + 0xfd, 0x05, 0xa6, 0x03, 0xf5, 0xef, 0x5e, 0x51, 0x17, 0x66, 0xc0, 0x11, 0x2c, 0xc1, + 0x48, 0xe2, 0x11, 0x55, ], Core::And8 => [ - 0x27, 0x55, 0x41, 0x78, 0x19, 0x86, 0x58, 0xf5, 0xbf, 0xb5, 0xb0, 0x41, 0x30, 0x89, - 0x87, 0x42, 0xbf, 0x82, 0xdb, 0x60, 0x39, 0xdc, 0xbb, 0x17, 0x26, 0x6d, 0xfe, 0x03, - 0x0c, 0xc1, 0x20, 0x75, + 0x0e, 0x0e, 0xe0, 0x7c, 0x74, 0x9a, 0x3f, 0xa7, 0x12, 0x96, 0xb9, 0xd4, 0x59, 0xb0, + 0x6a, 0x0a, 0x4b, 0xff, 0xb7, 0xf5, 0xbb, 0x99, 0xa9, 0x25, 0x4a, 0x7d, 0x13, 0xa8, + 0xce, 0x44, 0x4c, 0xd7, ], Core::Bip0340Verify => [ - 0x3a, 0x19, 0x6e, 0xc1, 0x9d, 0x8f, 0x3f, 0xcc, 0x67, 0xb0, 0xad, 0x8f, 0x61, 0x1e, - 0x76, 0x2d, 0xc1, 0x18, 0x9a, 0x72, 0x2f, 0xaa, 0x74, 0x5b, 0x69, 0x4d, 0x29, 0x2c, - 0x47, 0x37, 0x3f, 0x53, + 0x08, 0x73, 0xc4, 0xd7, 0xb8, 0x99, 0x8b, 0x2b, 0x6b, 0x8e, 0x43, 0xee, 0x4a, 0xc0, + 0xc2, 0xc7, 0xad, 0x25, 0xb3, 0x60, 0x0e, 0x34, 0x2b, 0x20, 0x1d, 0x46, 0x00, 0x1b, + 0x76, 0xc0, 0x56, 0x7f, ], Core::Ch1 => [ - 0xc2, 0x32, 0x36, 0x12, 0x4d, 0xa0, 0x1f, 0x3d, 0x8e, 0xb7, 0x42, 0xc2, 0xed, 0x47, - 0x95, 0x3f, 0x66, 0xc8, 0xb0, 0x84, 0xd9, 0x5a, 0x10, 0xc6, 0x0c, 0xae, 0x69, 0xba, - 0x98, 0x42, 0xae, 0x96, + 0x29, 0x7c, 0x25, 0x1a, 0xfe, 0x74, 0x1b, 0x19, 0x22, 0xa2, 0x12, 0xe3, 0x93, 0xd3, + 0xd3, 0xb1, 0xc3, 0x2e, 0x6b, 0x33, 0xee, 0x2c, 0xfd, 0x5e, 0xfa, 0xe3, 0xfb, 0x1a, + 0xbe, 0x59, 0x51, 0x13, ], Core::Ch16 => [ - 0xdc, 0xcd, 0xe6, 0xa9, 0x54, 0x58, 0x75, 0xc5, 0xcb, 0x46, 0xe7, 0x2c, 0x7b, 0x04, - 0xce, 0xeb, 0x92, 0x0c, 0x20, 0x3d, 0x1c, 0x04, 0x2a, 0xec, 0x91, 0x24, 0x1d, 0xbe, - 0xca, 0x23, 0xf4, 0x35, + 0x81, 0xd3, 0x38, 0x86, 0xb5, 0x25, 0xe7, 0xf2, 0x80, 0x19, 0xd4, 0x44, 0xd4, 0xd4, + 0xb4, 0x22, 0x76, 0xd3, 0x3f, 0xa9, 0x7b, 0x91, 0x7a, 0xdb, 0xef, 0x4a, 0x88, 0x11, + 0x3e, 0xa6, 0x71, 0x1e, ], Core::Ch32 => [ - 0x8c, 0x0a, 0x87, 0xee, 0x8e, 0x1d, 0xfc, 0xa3, 0x4b, 0xdf, 0xf4, 0x21, 0x2b, 0xa1, - 0xaf, 0x75, 0x44, 0xd2, 0xde, 0x6f, 0x4a, 0xcb, 0x76, 0x18, 0x08, 0x23, 0x1a, 0x5f, - 0x57, 0x78, 0x8e, 0x62, + 0x77, 0x00, 0x22, 0x00, 0xec, 0xac, 0x62, 0xe7, 0x65, 0xc0, 0x55, 0xb5, 0x0b, 0xd2, + 0x25, 0xa8, 0x54, 0xcd, 0xa3, 0x18, 0x07, 0x1b, 0x2e, 0x70, 0xea, 0x30, 0xde, 0x9d, + 0x1e, 0x32, 0x19, 0xaa, ], Core::Ch64 => [ - 0x5d, 0x5a, 0xe5, 0x7d, 0x76, 0x47, 0xf0, 0x1e, 0xc3, 0xfd, 0x79, 0x7e, 0xd8, 0x9d, - 0x62, 0xbe, 0x5f, 0xe5, 0x85, 0xfb, 0xb9, 0xfd, 0xb6, 0xc3, 0x20, 0x8b, 0x2c, 0x08, - 0x57, 0x9b, 0x9e, 0x2c, + 0xe9, 0x7c, 0xdd, 0x2a, 0x47, 0xac, 0xf4, 0x0b, 0xe6, 0x87, 0x2a, 0x57, 0x4b, 0xba, + 0xdb, 0x5d, 0xb5, 0x1b, 0xac, 0x1a, 0xd9, 0xcf, 0x63, 0xe7, 0xd8, 0x4c, 0x3b, 0x2f, + 0xb9, 0xab, 0x6d, 0xdb, ], Core::Ch8 => [ - 0xdf, 0xc5, 0x78, 0xf2, 0x5c, 0xb3, 0x14, 0x02, 0xe2, 0x2a, 0x81, 0x0e, 0x98, 0x95, - 0x0a, 0xe1, 0x7b, 0x19, 0x08, 0x96, 0x36, 0x4c, 0xde, 0xe8, 0xee, 0xa3, 0x00, 0xcf, - 0x79, 0xd8, 0x78, 0x01, + 0x5b, 0xc6, 0x77, 0x08, 0x75, 0x1e, 0x96, 0x79, 0x13, 0xfb, 0x75, 0xfc, 0x25, 0x76, + 0xa0, 0x80, 0x70, 0x0c, 0x67, 0xf1, 0x2c, 0x36, 0x3b, 0xa0, 0x19, 0x17, 0x51, 0x3e, + 0x6c, 0x78, 0x14, 0x57, ], Core::CheckSigVerify => [ 0xa5, 0x16, 0xdd, 0x5c, 0x9c, 0xab, 0xd0, 0x41, 0x12, 0x0e, 0xa3, 0x68, 0xab, 0x4c, @@ -495,1739 +495,1739 @@ impl Jet for Core { 0x2f, 0x16, 0x83, 0x29, ], Core::Complement1 => [ - 0x7e, 0x71, 0x48, 0x13, 0x2e, 0x28, 0x92, 0x82, 0x3f, 0xcf, 0x2a, 0x26, 0xc6, 0x22, - 0x0b, 0xee, 0x03, 0x9f, 0xf6, 0xc5, 0xd7, 0xc1, 0xb4, 0xe4, 0xca, 0x21, 0x3a, 0xd8, - 0x37, 0xab, 0x47, 0x74, + 0x9e, 0xa1, 0xeb, 0xfb, 0xbf, 0x07, 0x3b, 0xf0, 0xc3, 0x12, 0x66, 0x03, 0x74, 0x9c, + 0x6c, 0x1f, 0x15, 0x05, 0x03, 0x9e, 0xab, 0x4f, 0x26, 0x64, 0x3f, 0x03, 0x30, 0xd4, + 0x8b, 0xd6, 0x84, 0x94, ], Core::Complement16 => [ - 0x7f, 0x16, 0xd1, 0x24, 0x15, 0x99, 0x87, 0x68, 0x34, 0x7f, 0x43, 0xa9, 0xb9, 0x1c, - 0x89, 0x87, 0x59, 0x1d, 0xfe, 0xc1, 0xcf, 0x78, 0x50, 0xb4, 0x23, 0xfe, 0xa3, 0x3a, - 0x37, 0x26, 0xf4, 0x63, + 0x7d, 0xa0, 0xcc, 0x5e, 0x1f, 0x55, 0x03, 0x6c, 0x08, 0x64, 0x6d, 0xbb, 0x37, 0x55, + 0x7a, 0xd9, 0x03, 0x38, 0x63, 0x05, 0x9d, 0xfb, 0xf3, 0x4a, 0x19, 0xf2, 0x28, 0xe8, + 0x96, 0xd6, 0x4c, 0x0f, ], Core::Complement32 => [ - 0xe6, 0x5a, 0x4f, 0x75, 0x54, 0x11, 0xb4, 0x80, 0xb8, 0x05, 0x85, 0xfd, 0xc0, 0x2e, - 0xe2, 0x4c, 0xbb, 0xd9, 0x50, 0x2a, 0x48, 0xa7, 0x34, 0x7a, 0x71, 0x02, 0x94, 0xe7, - 0x82, 0xac, 0xff, 0xba, + 0x54, 0x18, 0xc4, 0x64, 0xe4, 0x94, 0x97, 0x21, 0x63, 0xa3, 0x35, 0x3b, 0x81, 0x17, + 0xe6, 0xe7, 0x67, 0x49, 0x13, 0x48, 0xc0, 0x76, 0x3f, 0x96, 0x22, 0x74, 0x4a, 0x83, + 0x08, 0x2e, 0xf8, 0x41, ], Core::Complement64 => [ - 0xd5, 0xc6, 0x57, 0x13, 0x8a, 0x6c, 0xf5, 0x53, 0x22, 0xc3, 0x6e, 0x6f, 0x3c, 0x4a, - 0x0f, 0x9f, 0xb6, 0x39, 0x88, 0xa1, 0x12, 0x0d, 0x6e, 0xeb, 0x03, 0xfc, 0x42, 0x7c, - 0xad, 0x97, 0x18, 0x69, + 0x00, 0x4e, 0xb9, 0xed, 0x9c, 0x10, 0xa4, 0xa5, 0xa8, 0x97, 0x94, 0x8e, 0x54, 0x1d, + 0x36, 0xdc, 0x1f, 0xb6, 0x50, 0xc8, 0xda, 0x72, 0x6f, 0x8d, 0xd1, 0x97, 0xce, 0x8c, + 0x74, 0x41, 0xf7, 0x08, ], Core::Complement8 => [ - 0x1f, 0x5c, 0x6a, 0xb4, 0x1d, 0x40, 0x6b, 0xad, 0xfc, 0x9d, 0x5a, 0x2c, 0x76, 0xbe, - 0xf7, 0xe3, 0x28, 0x7a, 0xab, 0xee, 0x19, 0xd0, 0x85, 0x0f, 0x09, 0x38, 0x98, 0x46, - 0xea, 0xbf, 0x45, 0x8e, + 0x94, 0x76, 0xd5, 0x1d, 0x6b, 0x1b, 0xe4, 0x4d, 0xcf, 0xf2, 0x19, 0x47, 0xd5, 0xbf, + 0x54, 0x0a, 0x66, 0x61, 0x6f, 0xf7, 0xb9, 0x32, 0x8a, 0x67, 0xf5, 0xb8, 0x3a, 0x2f, + 0x6f, 0x06, 0xf0, 0x2c, ], Core::Decompress => [ - 0xa4, 0x3c, 0x39, 0x26, 0x7f, 0xac, 0xd1, 0xe2, 0xb6, 0xd4, 0x2c, 0x76, 0x15, 0xad, - 0x3f, 0x28, 0x68, 0x63, 0x75, 0x72, 0xf4, 0x6e, 0x18, 0x79, 0x4e, 0x34, 0x75, 0xb9, - 0xb2, 0xea, 0xef, 0x84, + 0xca, 0xbe, 0x59, 0x5c, 0xb7, 0xbb, 0xb3, 0xa1, 0x39, 0xa7, 0x79, 0x6e, 0x43, 0x3a, + 0xd0, 0xb6, 0xc7, 0x4d, 0x07, 0x3f, 0x00, 0x1e, 0x8c, 0x08, 0x0c, 0x80, 0x0a, 0x78, + 0x2c, 0x7e, 0x79, 0x04, ], Core::Decrement16 => [ - 0x19, 0x6b, 0x2d, 0xc6, 0x32, 0xe6, 0xc5, 0xd0, 0x94, 0xff, 0x9d, 0x34, 0xa2, 0x09, - 0x2b, 0x80, 0x5e, 0x4b, 0x94, 0xd0, 0x36, 0xba, 0x48, 0x26, 0xac, 0xef, 0xed, 0x60, - 0x3a, 0x48, 0x9d, 0xc7, + 0x25, 0x04, 0x10, 0x1b, 0x7d, 0xa5, 0xce, 0x31, 0x17, 0x43, 0xcf, 0x5b, 0x3a, 0x7a, + 0x6b, 0xb9, 0xd5, 0x7c, 0x24, 0xae, 0xbb, 0xb6, 0x76, 0x62, 0xd5, 0x3c, 0xda, 0x2c, + 0x9a, 0xc2, 0x70, 0x0c, ], Core::Decrement32 => [ - 0x29, 0xb3, 0x15, 0x92, 0x66, 0xe9, 0xf6, 0x08, 0x80, 0x88, 0x4f, 0x6e, 0xb2, 0x81, - 0x6f, 0x19, 0xa2, 0x07, 0x29, 0x1c, 0x82, 0x9f, 0xd1, 0x39, 0xfb, 0x0d, 0x78, 0xa3, - 0x9e, 0x08, 0xd0, 0xc5, + 0x4a, 0xec, 0x41, 0x05, 0x53, 0x1f, 0x24, 0x57, 0x10, 0xac, 0xb3, 0xc3, 0x30, 0xad, + 0x25, 0xfb, 0x29, 0x01, 0xb3, 0x54, 0x83, 0xef, 0xbd, 0xca, 0x52, 0xe1, 0x91, 0x79, + 0xa4, 0x26, 0x2c, 0x5b, ], Core::Decrement64 => [ - 0x67, 0x17, 0x5a, 0x67, 0x6d, 0xc1, 0x78, 0x0a, 0x20, 0xfa, 0xf5, 0xe5, 0xaa, 0xd5, - 0x82, 0xec, 0x79, 0x7b, 0xae, 0xa5, 0x5f, 0x29, 0x05, 0xec, 0xad, 0x2a, 0xaa, 0x1a, - 0xe7, 0x6b, 0xe9, 0x43, + 0x98, 0x3a, 0xcb, 0x90, 0x6d, 0xe7, 0xbb, 0xf8, 0x31, 0xde, 0xa5, 0x62, 0x75, 0xf0, + 0x85, 0xfd, 0x5a, 0xcd, 0xdc, 0x51, 0x9b, 0x64, 0x8f, 0x3e, 0x10, 0xe3, 0x21, 0x2d, + 0x0d, 0x6d, 0xcd, 0x74, ], Core::Decrement8 => [ - 0x2b, 0x59, 0x11, 0xe6, 0x67, 0xe6, 0x96, 0xf9, 0xcd, 0x03, 0xe9, 0xdf, 0x7d, 0x40, - 0x0a, 0x55, 0x45, 0xe7, 0xe9, 0x74, 0x4a, 0xfb, 0xf9, 0x2e, 0x0b, 0xa8, 0x7f, 0x6c, - 0x7c, 0xc4, 0x42, 0x87, + 0xa7, 0x5b, 0x1c, 0x5d, 0x93, 0xfe, 0x91, 0xe2, 0xc9, 0xef, 0xd3, 0x24, 0x24, 0x0c, + 0x84, 0xfe, 0xe4, 0x73, 0x32, 0xd1, 0x21, 0x42, 0x39, 0xc8, 0x7f, 0x5a, 0xfb, 0xcb, + 0x69, 0x12, 0x8c, 0x31, ], Core::DivMod128_64 => [ - 0x1e, 0xe3, 0xe6, 0x0f, 0x5c, 0x9e, 0x4f, 0x0d, 0x3e, 0xc9, 0xeb, 0xea, 0x36, 0x98, - 0xec, 0xa8, 0xbd, 0x32, 0xac, 0x16, 0x7e, 0x69, 0xb2, 0x96, 0xab, 0x9c, 0x18, 0x36, - 0xb6, 0x10, 0x1d, 0x04, + 0xe1, 0xfb, 0x88, 0x1f, 0x23, 0xbd, 0xc5, 0x7f, 0x84, 0x23, 0xc6, 0x1c, 0xfe, 0x62, + 0x23, 0x91, 0x5c, 0x76, 0xeb, 0x2f, 0x52, 0x5c, 0x41, 0xe2, 0xa2, 0x22, 0x1c, 0x78, + 0xb7, 0xff, 0xaf, 0xb7, ], Core::DivMod16 => [ - 0x15, 0x85, 0xd1, 0xbf, 0xe9, 0x52, 0xf7, 0x1b, 0x1c, 0xfe, 0xbb, 0xef, 0x29, 0x2c, - 0xed, 0x56, 0x60, 0x91, 0x57, 0x23, 0x05, 0x18, 0x27, 0x20, 0x62, 0x5a, 0x1a, 0xc0, - 0x08, 0x81, 0xa4, 0x89, + 0x6e, 0x04, 0xad, 0x32, 0x8f, 0xba, 0x2d, 0x24, 0xef, 0xad, 0x2c, 0xb4, 0x0b, 0xca, + 0xd8, 0x24, 0x42, 0xce, 0x35, 0xb1, 0x2f, 0xcf, 0x6f, 0x80, 0x02, 0x2f, 0x52, 0xfa, + 0x77, 0x18, 0xa0, 0xfa, ], Core::DivMod32 => [ - 0xba, 0xb7, 0xbc, 0x9a, 0x9f, 0x64, 0x4e, 0xdc, 0xba, 0x73, 0xe3, 0x30, 0xc1, 0xa5, - 0x05, 0x43, 0x67, 0xf5, 0xfb, 0x86, 0x78, 0xc1, 0x23, 0x6a, 0xb6, 0xe7, 0xf4, 0xd7, - 0x18, 0x60, 0xe0, 0x02, + 0x5a, 0x5c, 0xc9, 0x4f, 0x74, 0xb3, 0x13, 0xc2, 0x60, 0xa1, 0x0e, 0x2a, 0x28, 0xdb, + 0x2e, 0xa0, 0xf8, 0xc3, 0x41, 0x56, 0x23, 0xda, 0xc2, 0x12, 0xdf, 0xe0, 0xef, 0x9d, + 0x19, 0x5f, 0x9d, 0x05, ], Core::DivMod64 => [ - 0x8d, 0xb4, 0x66, 0x4d, 0x99, 0xe8, 0xc8, 0x78, 0xef, 0x31, 0xeb, 0xf1, 0xac, 0xa6, - 0xa8, 0x76, 0x4b, 0x58, 0x49, 0x5d, 0xa0, 0xec, 0xc0, 0x32, 0xb3, 0xc9, 0xb4, 0x89, - 0xaa, 0xa0, 0xff, 0x90, + 0xef, 0xb5, 0xaf, 0x40, 0x15, 0x4a, 0x2d, 0x63, 0xda, 0x28, 0x5f, 0x2a, 0x2b, 0x5a, + 0xd0, 0x85, 0xd9, 0xa2, 0xfa, 0x63, 0x3f, 0x2a, 0x73, 0x62, 0x83, 0x40, 0x48, 0x54, + 0x30, 0x6c, 0xef, 0x50, ], Core::DivMod8 => [ - 0x25, 0xf3, 0x69, 0x4b, 0x75, 0x2e, 0x4d, 0xf1, 0xb0, 0xcc, 0x8c, 0x51, 0xbf, 0x99, - 0x17, 0xef, 0x6e, 0x11, 0xc5, 0x2e, 0xa7, 0x77, 0x35, 0x3e, 0x95, 0x07, 0xe8, 0x19, - 0xa8, 0x06, 0x62, 0x95, + 0xaf, 0xfb, 0x7a, 0xb0, 0x1d, 0x9a, 0xdf, 0x1a, 0xf4, 0x5c, 0x9a, 0x0e, 0x59, 0x8d, + 0x54, 0xa5, 0xeb, 0x29, 0xa6, 0xd6, 0x3f, 0x05, 0x94, 0xdc, 0x62, 0x4f, 0x8e, 0x44, + 0x6f, 0x42, 0xa4, 0x5d, ], Core::Divide16 => [ - 0x2d, 0xc3, 0xe9, 0xa9, 0xc6, 0x1d, 0xc8, 0x8d, 0xd7, 0x44, 0xf1, 0x6b, 0xe1, 0xae, - 0xd4, 0xb7, 0x2a, 0xb4, 0x79, 0x49, 0x0e, 0x41, 0x42, 0x26, 0x58, 0xb9, 0x72, 0x19, - 0xdf, 0x49, 0x95, 0x7c, + 0x98, 0xf1, 0xf9, 0x26, 0x0d, 0xf1, 0xd9, 0xe9, 0x72, 0x9d, 0x03, 0x7d, 0x8f, 0x30, + 0x53, 0x7e, 0xde, 0x60, 0x9c, 0x5a, 0xb9, 0x46, 0x32, 0x70, 0x70, 0x89, 0x2c, 0xc4, + 0x0d, 0x42, 0x0a, 0xaa, ], Core::Divide32 => [ - 0xf6, 0xdc, 0xf4, 0xbd, 0x8d, 0x9b, 0x5e, 0xff, 0x75, 0x1e, 0x9b, 0x01, 0x47, 0xa9, - 0x8e, 0x0f, 0xc4, 0xc8, 0x87, 0x2c, 0x1a, 0xb7, 0x82, 0xd1, 0xeb, 0xec, 0x63, 0x83, - 0xa0, 0x9b, 0x78, 0x0a, + 0x20, 0x18, 0x03, 0x03, 0x0c, 0xc9, 0x87, 0x7d, 0x34, 0x96, 0xe9, 0xe1, 0xbf, 0xd5, + 0xae, 0x32, 0x8a, 0x50, 0x62, 0xe3, 0xc0, 0x23, 0x70, 0x03, 0x1a, 0xe1, 0xad, 0xdf, + 0xef, 0x93, 0x81, 0x55, ], Core::Divide64 => [ - 0x8a, 0x94, 0x51, 0x8b, 0x9b, 0x76, 0x17, 0x9a, 0x9d, 0x5c, 0x1e, 0x31, 0x6e, 0x69, - 0x00, 0x62, 0x7f, 0x5b, 0x6e, 0x3e, 0xcc, 0x66, 0x8f, 0xe2, 0xd0, 0xc5, 0xd5, 0x62, - 0x38, 0xe3, 0x3e, 0xa3, + 0x02, 0xbf, 0x0b, 0x2a, 0x31, 0x79, 0x6c, 0x47, 0x5a, 0xf1, 0xfd, 0x0f, 0xb8, 0xed, + 0xaf, 0xed, 0x4f, 0x4e, 0x7a, 0xe1, 0xec, 0xf8, 0xce, 0xc9, 0xf4, 0x22, 0x96, 0x4e, + 0x09, 0x03, 0x03, 0x6f, ], Core::Divide8 => [ - 0xd7, 0x16, 0x00, 0x0c, 0xe7, 0xe5, 0x72, 0x78, 0x84, 0xa6, 0xd7, 0x97, 0x6a, 0x32, - 0xc0, 0xf6, 0xbd, 0xb8, 0x81, 0xd0, 0x0f, 0xe8, 0xdb, 0xb2, 0x8d, 0xea, 0x37, 0x01, - 0x03, 0x76, 0x9e, 0x2d, + 0xc0, 0x2e, 0xc4, 0x80, 0xbf, 0x0b, 0x59, 0x58, 0x6e, 0x39, 0x4a, 0xdb, 0x2c, 0x91, + 0xca, 0xda, 0x14, 0xed, 0x79, 0xa7, 0x9e, 0x0e, 0x39, 0x19, 0xe7, 0x66, 0x74, 0x92, + 0xcb, 0xf2, 0x47, 0x38, ], Core::Divides16 => [ - 0x8f, 0x41, 0x84, 0xa5, 0x82, 0x67, 0x4e, 0x00, 0x3b, 0x37, 0x40, 0x1b, 0x13, 0xc9, - 0xb8, 0xc3, 0x7c, 0x68, 0x3b, 0x88, 0xdf, 0x63, 0x3a, 0x22, 0x71, 0x9a, 0x23, 0xe1, - 0x94, 0xbd, 0xa6, 0xf3, + 0xde, 0x9a, 0x8e, 0x43, 0x53, 0xa4, 0x0d, 0x70, 0x78, 0x11, 0x96, 0x47, 0x05, 0x90, + 0x62, 0x73, 0x0c, 0xf8, 0x36, 0xf5, 0x47, 0xa0, 0x95, 0x2d, 0x07, 0x0a, 0x27, 0x48, + 0x0c, 0x74, 0x39, 0xb1, ], Core::Divides32 => [ - 0xe8, 0x9e, 0xcd, 0xc3, 0x7c, 0xd1, 0x04, 0x66, 0xb0, 0x0f, 0x01, 0x37, 0xe2, 0x0b, - 0x09, 0xb9, 0xc5, 0x94, 0x8d, 0x07, 0x31, 0x2d, 0x05, 0x3f, 0xed, 0x63, 0xc4, 0x91, - 0xbb, 0x5c, 0x4c, 0x6a, + 0x72, 0xc7, 0x14, 0x8b, 0xc0, 0x01, 0x4a, 0x1b, 0xbf, 0x0e, 0x2b, 0x7d, 0xc9, 0xab, + 0xa4, 0xd0, 0x62, 0x04, 0x17, 0x38, 0x36, 0x71, 0x88, 0x13, 0x20, 0x3e, 0x55, 0xa0, + 0x7f, 0x4c, 0xa3, 0x7d, ], Core::Divides64 => [ - 0xb4, 0x31, 0x98, 0xd5, 0x74, 0x41, 0x90, 0x57, 0xe7, 0x6b, 0xc0, 0x69, 0xd7, 0xd3, - 0xe2, 0xcb, 0x04, 0xf7, 0x07, 0x2b, 0x80, 0x69, 0x6d, 0x3d, 0xb9, 0x2c, 0x8a, 0x72, - 0xc7, 0x8a, 0x5c, 0xfc, + 0xdb, 0x1c, 0x8c, 0xb5, 0x3a, 0xc1, 0xea, 0x8c, 0xcf, 0x64, 0x6d, 0x03, 0xe3, 0xd5, + 0x9b, 0xde, 0x27, 0x75, 0xf5, 0x8d, 0x95, 0xbf, 0xe7, 0x1a, 0x87, 0x0d, 0x67, 0x8d, + 0xd8, 0xdb, 0xc9, 0x31, ], Core::Divides8 => [ - 0x3f, 0xc3, 0xb9, 0xb4, 0x96, 0x8e, 0x16, 0x74, 0xda, 0x9e, 0xc4, 0x57, 0xb1, 0xca, - 0x8a, 0x66, 0x29, 0xa3, 0x7b, 0x4b, 0xef, 0xdc, 0xd7, 0xcc, 0x55, 0x88, 0x60, 0x80, - 0xae, 0xf6, 0x8a, 0xf8, + 0xc5, 0x4a, 0x5b, 0xf8, 0x33, 0xaf, 0xab, 0xa3, 0x1a, 0x34, 0x89, 0xbd, 0x8d, 0xe8, + 0xff, 0x81, 0xe7, 0xdc, 0x11, 0xfc, 0xbd, 0xe8, 0x2a, 0x0d, 0x28, 0xe1, 0x09, 0x22, + 0x42, 0x94, 0xb8, 0x37, ], Core::Eq1 => [ - 0x42, 0x49, 0xc5, 0xbd, 0xec, 0x54, 0x0a, 0x06, 0x95, 0x7d, 0xcd, 0xab, 0x04, 0x5a, - 0x44, 0x5e, 0xb9, 0x18, 0x91, 0xc0, 0x6c, 0x3f, 0x8f, 0x96, 0xc8, 0x88, 0xe9, 0xdd, - 0xd2, 0xfb, 0xaa, 0x28, + 0x8c, 0xe1, 0x46, 0xaf, 0xbc, 0x2b, 0x64, 0xcb, 0x54, 0x9b, 0x16, 0x0c, 0x2c, 0xf7, + 0xc9, 0x49, 0x64, 0xab, 0x93, 0x1a, 0xd9, 0xc3, 0x92, 0x76, 0xc7, 0xf2, 0x04, 0xee, + 0x34, 0xa5, 0x1e, 0x65, ], Core::Eq16 => [ - 0xab, 0x31, 0xa7, 0x97, 0x4a, 0xcb, 0xf7, 0x2a, 0xb2, 0xf2, 0x1b, 0xf5, 0x3f, 0xec, - 0x34, 0x6a, 0x28, 0xe6, 0xe6, 0x5e, 0x4c, 0x05, 0xe3, 0xe7, 0x84, 0x3e, 0x14, 0x73, - 0xb1, 0xfd, 0x3f, 0xf9, + 0x24, 0xf1, 0xac, 0xb6, 0xd1, 0x6b, 0x3b, 0xe5, 0xde, 0x47, 0xfe, 0x83, 0x43, 0x28, + 0xfb, 0x51, 0x04, 0x95, 0xfb, 0xba, 0x72, 0xcd, 0x1d, 0xc8, 0x9a, 0x33, 0x98, 0x3f, + 0x8c, 0x87, 0x33, 0xed, ], Core::Eq256 => [ - 0xf7, 0xdf, 0x29, 0xed, 0x2d, 0x00, 0x78, 0x22, 0x7e, 0x71, 0x9b, 0x7d, 0x13, 0x37, - 0xdb, 0xea, 0x3a, 0x71, 0x0f, 0x58, 0x4a, 0x4b, 0x07, 0xf0, 0xf2, 0x65, 0x4a, 0x44, - 0x65, 0x54, 0xf2, 0xbe, + 0xf3, 0x2e, 0x9b, 0x6c, 0x91, 0x2c, 0x50, 0xdd, 0x9a, 0x24, 0x10, 0xc8, 0x02, 0x4b, + 0x45, 0x48, 0x07, 0x07, 0xd9, 0xb3, 0x71, 0x4b, 0x52, 0x49, 0xc5, 0xf3, 0x01, 0xf2, + 0x1d, 0xb3, 0xe6, 0x2b, ], Core::Eq32 => [ - 0x76, 0x79, 0x1f, 0x0d, 0xdd, 0xab, 0x9d, 0xc7, 0x7a, 0x14, 0xa6, 0x8c, 0xc6, 0x77, - 0x87, 0xc9, 0x84, 0x49, 0x3f, 0xae, 0xbb, 0xdb, 0xb6, 0xd6, 0xd4, 0x93, 0x35, 0x2e, - 0x11, 0x47, 0x20, 0xd5, + 0x03, 0x43, 0x57, 0x56, 0xec, 0x24, 0x4c, 0x99, 0xff, 0x73, 0x32, 0x21, 0x57, 0xc2, + 0x6c, 0x36, 0x6b, 0xf5, 0x2e, 0xfb, 0x31, 0x4d, 0xce, 0x0c, 0x23, 0x61, 0xdd, 0x53, + 0x49, 0x1a, 0xa4, 0xbe, ], Core::Eq64 => [ - 0x01, 0x1b, 0x5f, 0x4c, 0xb3, 0x1f, 0x34, 0xba, 0x15, 0x8a, 0x68, 0x22, 0x3b, 0x34, - 0x44, 0x5e, 0x93, 0xf3, 0xdc, 0x18, 0x91, 0xb5, 0x33, 0x90, 0x04, 0x92, 0x3d, 0xcf, - 0xab, 0xe0, 0x34, 0xc1, + 0x7d, 0xa4, 0x67, 0x58, 0x80, 0x60, 0x93, 0x66, 0xd7, 0x4d, 0x53, 0x0c, 0xa1, 0x64, + 0xa0, 0xe0, 0x9a, 0xc9, 0xce, 0x76, 0xf4, 0xf9, 0xe9, 0x43, 0x22, 0x06, 0x3c, 0xb3, + 0x26, 0xfe, 0xf6, 0xbb, ], Core::Eq8 => [ - 0x0f, 0x8b, 0x1f, 0xde, 0x19, 0x49, 0xbe, 0xbd, 0x47, 0xd2, 0x55, 0x4a, 0x48, 0x07, - 0xfd, 0x8d, 0xca, 0xef, 0x87, 0x30, 0x18, 0x38, 0xd6, 0x0e, 0x84, 0xc7, 0x38, 0x14, - 0x42, 0xda, 0x7e, 0xce, + 0x9b, 0x50, 0xfe, 0x9d, 0x35, 0xb1, 0x0a, 0x3d, 0xb8, 0x66, 0x31, 0x1c, 0x53, 0x71, + 0x35, 0xd0, 0x80, 0xe4, 0x61, 0x43, 0x68, 0xdb, 0x28, 0x84, 0x33, 0xd8, 0xbc, 0x64, + 0x9b, 0x9f, 0x86, 0x62, ], Core::FeAdd => [ - 0xa5, 0xe9, 0x21, 0xd4, 0xd2, 0x95, 0x9a, 0xf7, 0x83, 0x3d, 0xf9, 0x30, 0x83, 0x68, - 0x98, 0x57, 0x32, 0xab, 0x0f, 0x33, 0xba, 0xd8, 0xaa, 0x34, 0x5b, 0x39, 0xf3, 0x03, - 0x03, 0x2b, 0xe7, 0xae, + 0xac, 0xad, 0xfc, 0xf4, 0x80, 0x56, 0x26, 0xe3, 0x74, 0x59, 0x0f, 0x33, 0xca, 0xd7, + 0xa9, 0x83, 0xa7, 0x32, 0x0a, 0xc8, 0x1c, 0xed, 0x3d, 0x02, 0x54, 0xdc, 0x97, 0xe3, + 0xa2, 0x53, 0x5a, 0x82, ], Core::FeInvert => [ - 0x21, 0xf4, 0x29, 0x56, 0x9d, 0x78, 0xe0, 0x9f, 0xb2, 0x90, 0x13, 0xef, 0x8a, 0x16, - 0xc7, 0x55, 0x0e, 0xdc, 0x4e, 0x19, 0x05, 0x25, 0x71, 0x5a, 0xbf, 0xb0, 0xc1, 0x9b, - 0x21, 0xcf, 0xd9, 0xc2, + 0x2e, 0xa7, 0x6f, 0x67, 0x97, 0x5f, 0xce, 0xa3, 0xbd, 0x46, 0xfb, 0xb1, 0x4d, 0xe8, + 0x1f, 0x49, 0xfd, 0x08, 0xef, 0xcb, 0xc0, 0x87, 0x5a, 0xb2, 0x1d, 0xc9, 0x89, 0x76, + 0xa5, 0x30, 0x93, 0x22, ], Core::FeIsOdd => [ - 0x21, 0xd3, 0x5d, 0x0a, 0x65, 0x7f, 0x5d, 0xef, 0xac, 0xde, 0x6d, 0xa3, 0xfd, 0xb4, - 0x8d, 0x67, 0x56, 0xf3, 0x06, 0x90, 0xb4, 0x02, 0x70, 0xf0, 0x10, 0x17, 0xe7, 0xe3, - 0x48, 0xd7, 0x58, 0x5d, + 0x7e, 0xde, 0xf0, 0x20, 0x5d, 0x4b, 0x80, 0x41, 0x82, 0x36, 0x9c, 0x31, 0xc2, 0x19, + 0x02, 0x46, 0x9b, 0x0f, 0x7a, 0x5b, 0x29, 0xb5, 0xdf, 0x90, 0xc3, 0x3f, 0x4b, 0xda, + 0xa0, 0x5d, 0x7c, 0x03, ], Core::FeIsZero => [ - 0xf5, 0x71, 0x62, 0x82, 0xba, 0x0d, 0x26, 0xbd, 0x06, 0x71, 0xcd, 0xfe, 0x1f, 0x11, - 0x8f, 0x45, 0xba, 0xe7, 0x9d, 0x10, 0x9a, 0x6d, 0x9f, 0x39, 0x7a, 0x4c, 0x45, 0x54, - 0x6f, 0x62, 0xaf, 0x00, + 0xa9, 0x43, 0x03, 0x64, 0x2e, 0x1a, 0x0f, 0x47, 0x79, 0x15, 0xa2, 0xd2, 0x51, 0xf8, + 0x45, 0x5c, 0x56, 0x87, 0x7e, 0xca, 0x79, 0xba, 0x40, 0xad, 0xc3, 0x82, 0x26, 0x8c, + 0xab, 0x2d, 0x63, 0xb7, ], Core::FeMultiply => [ - 0xc1, 0x76, 0x96, 0x9c, 0x33, 0x7f, 0xbc, 0x6b, 0x5a, 0xc8, 0xed, 0x3e, 0xa2, 0x8a, - 0xb3, 0xfd, 0x94, 0x78, 0x20, 0x64, 0x31, 0x95, 0xd7, 0x3b, 0x86, 0x20, 0x18, 0xf7, - 0x08, 0x48, 0x7d, 0x23, + 0xac, 0x64, 0xd5, 0x34, 0x72, 0xab, 0xa4, 0x89, 0xa8, 0xac, 0xf3, 0xac, 0x8a, 0xc7, + 0x9e, 0x8b, 0x11, 0x82, 0x43, 0x3e, 0x53, 0x50, 0xc4, 0xc3, 0x78, 0x2d, 0x45, 0xad, + 0xf1, 0xc5, 0x6d, 0xcb, ], Core::FeMultiplyBeta => [ - 0xc0, 0xfc, 0x76, 0x66, 0x8d, 0x99, 0xd4, 0x07, 0x3f, 0x39, 0x93, 0x44, 0x3a, 0x68, - 0x98, 0x0b, 0xa9, 0x6e, 0x97, 0x60, 0x1e, 0xd1, 0xa9, 0x19, 0xc4, 0xa2, 0x33, 0x05, - 0x7b, 0x66, 0xfe, 0x23, + 0xca, 0x2e, 0xa7, 0x97, 0xbe, 0x89, 0xe4, 0x1d, 0xb5, 0x15, 0x86, 0xea, 0xdd, 0xe3, + 0x36, 0x38, 0x11, 0xd0, 0x1d, 0x5d, 0x4c, 0x61, 0x42, 0xf5, 0x7e, 0x1b, 0x99, 0xf2, + 0xae, 0x03, 0x06, 0x1c, ], Core::FeNegate => [ - 0xd6, 0xef, 0x8f, 0xc2, 0x27, 0x5d, 0xdf, 0x70, 0x58, 0xb5, 0xe4, 0x99, 0xf1, 0x0d, - 0xd2, 0x84, 0x66, 0xf5, 0x7b, 0x72, 0x53, 0xa5, 0x44, 0x07, 0x79, 0x8a, 0x47, 0x72, - 0x59, 0x21, 0x84, 0xb9, + 0x01, 0x42, 0xba, 0x1a, 0x10, 0x13, 0x13, 0x57, 0x81, 0x3b, 0x09, 0xf9, 0xce, 0x18, + 0xc0, 0x6b, 0x4b, 0xab, 0x74, 0x2c, 0xb4, 0x85, 0xd1, 0x79, 0x8b, 0x4a, 0x31, 0x3a, + 0x92, 0x93, 0xfa, 0x7e, ], Core::FeNormalize => [ - 0xf4, 0x98, 0xbc, 0xdf, 0xf3, 0x50, 0x67, 0x88, 0x1b, 0xd9, 0x6e, 0xe1, 0xc9, 0x1f, - 0x43, 0x67, 0x1e, 0x79, 0x18, 0x6e, 0x70, 0x0e, 0xc4, 0xda, 0x2d, 0xc0, 0x29, 0x6a, - 0x2d, 0xea, 0x91, 0xc7, + 0x70, 0xe5, 0x57, 0x07, 0x96, 0x39, 0x41, 0x1d, 0xab, 0x31, 0xb3, 0xe4, 0xf4, 0xb5, + 0x60, 0x5a, 0x4b, 0x15, 0x59, 0x3a, 0x1a, 0xf7, 0x9b, 0xbd, 0xd9, 0xf9, 0xa1, 0x10, + 0xa8, 0x5b, 0x25, 0x81, ], Core::FeSquare => [ - 0x16, 0x8a, 0x11, 0xb1, 0x9c, 0x0f, 0xb9, 0x7f, 0x10, 0x99, 0xf8, 0x63, 0xa4, 0xc8, - 0xe2, 0xf8, 0x12, 0x42, 0x5f, 0xbd, 0x3d, 0x01, 0xbd, 0xed, 0x3f, 0x46, 0x0c, 0xb3, - 0x59, 0xbf, 0xdd, 0x89, + 0xcf, 0xa0, 0x2a, 0x6a, 0x95, 0x09, 0x1b, 0x14, 0x97, 0x00, 0x07, 0xb9, 0x1a, 0x01, + 0xba, 0x12, 0x57, 0xfe, 0x3b, 0x84, 0x95, 0x63, 0xcf, 0x42, 0xd0, 0x64, 0x94, 0xc3, + 0xb8, 0xd0, 0x4f, 0x9d, ], Core::FeSquareRoot => [ - 0x3b, 0x46, 0xcd, 0xe3, 0x06, 0x74, 0xb7, 0x77, 0x16, 0xf2, 0xc8, 0xf6, 0x14, 0xad, - 0xbd, 0x16, 0x61, 0x98, 0x5d, 0x82, 0xc5, 0x53, 0x04, 0xd5, 0x6e, 0x53, 0xef, 0x5c, - 0x74, 0xc8, 0x3e, 0x83, + 0xf5, 0x1d, 0x5e, 0xd2, 0x19, 0xbc, 0x89, 0x41, 0xb2, 0x41, 0x29, 0x57, 0x2e, 0x84, + 0xba, 0xf8, 0x1a, 0x8c, 0xd2, 0xfe, 0x0e, 0x4e, 0xf2, 0x38, 0x86, 0x9c, 0xb2, 0xda, + 0x29, 0x6b, 0x0f, 0xa8, ], Core::FullAdd16 => [ - 0xf4, 0x54, 0xa6, 0x32, 0xfd, 0x19, 0x28, 0xcd, 0x6f, 0x07, 0x0d, 0xf6, 0x80, 0x14, - 0x28, 0x8e, 0x97, 0xb3, 0xe5, 0x82, 0xe7, 0xf0, 0x3e, 0x98, 0xed, 0x32, 0x34, 0xb6, - 0x28, 0x2d, 0x02, 0x94, + 0xd3, 0x99, 0x2e, 0x38, 0xab, 0x1e, 0xf2, 0xc3, 0x83, 0x81, 0x30, 0x41, 0xdb, 0x13, + 0x69, 0xdd, 0xd5, 0xc3, 0xaa, 0x81, 0xae, 0x90, 0x24, 0xc5, 0xea, 0x26, 0x61, 0x19, + 0x6b, 0xd1, 0x1f, 0x01, ], Core::FullAdd32 => [ - 0x96, 0x06, 0xb9, 0xe6, 0x54, 0x1e, 0x03, 0x56, 0xed, 0x76, 0x08, 0xd5, 0xbc, 0x6f, - 0x9d, 0x4e, 0xf6, 0x8e, 0x0a, 0x3d, 0x23, 0x51, 0x68, 0xd9, 0xe7, 0x5c, 0xae, 0x66, - 0x52, 0xdd, 0x06, 0x34, + 0x46, 0x2b, 0x9c, 0x3b, 0xa6, 0x57, 0x6c, 0x11, 0x14, 0x55, 0x33, 0x77, 0x5b, 0xdf, + 0x95, 0x5b, 0x60, 0x48, 0x2e, 0x6e, 0x30, 0x80, 0xa8, 0x19, 0xf5, 0xcc, 0x73, 0xa5, + 0xca, 0x68, 0x30, 0xc1, ], Core::FullAdd64 => [ - 0xf0, 0xf7, 0x95, 0x32, 0x00, 0x1c, 0x02, 0xaf, 0xac, 0x65, 0x0a, 0x62, 0x80, 0x19, - 0x32, 0xaf, 0xc2, 0xc1, 0xb2, 0x86, 0xa3, 0x1f, 0xef, 0x7a, 0xe0, 0x8a, 0x47, 0xea, - 0x1e, 0x71, 0x38, 0x7d, + 0xc0, 0xfc, 0x79, 0x99, 0xd9, 0x1c, 0xa6, 0xf7, 0xb5, 0xf8, 0x72, 0xee, 0x6a, 0x8e, + 0x08, 0xea, 0x2a, 0x11, 0xaf, 0x7b, 0x92, 0xe7, 0xde, 0x60, 0x25, 0x17, 0x19, 0xd7, + 0x85, 0xb5, 0xf3, 0xe2, ], Core::FullAdd8 => [ - 0xcd, 0xd0, 0x80, 0xfd, 0x86, 0x12, 0xe7, 0xd1, 0x4a, 0xda, 0x34, 0x91, 0x64, 0xa6, - 0xd5, 0xaf, 0x60, 0x54, 0xd6, 0x73, 0x77, 0xe1, 0x76, 0x65, 0xc4, 0x72, 0x20, 0x40, - 0x28, 0xbc, 0x21, 0x25, + 0x27, 0x14, 0xec, 0xbb, 0x32, 0x4f, 0xb9, 0xfb, 0x71, 0x9e, 0x09, 0x71, 0x6b, 0xdb, + 0xdf, 0xb5, 0x64, 0x66, 0xcb, 0x4f, 0x41, 0xf9, 0x01, 0xb1, 0x66, 0x78, 0xb0, 0x02, + 0x16, 0x17, 0x41, 0xaf, ], Core::FullDecrement16 => [ - 0xa7, 0xd1, 0xb9, 0xa6, 0x09, 0xdc, 0xd3, 0x67, 0x66, 0xa1, 0x67, 0xa3, 0x7a, 0xa0, - 0xe6, 0x49, 0xfb, 0xdd, 0x75, 0xf6, 0x46, 0x91, 0xa9, 0xfb, 0x6b, 0xf1, 0x66, 0x3d, - 0x32, 0x92, 0x82, 0xa8, + 0xbd, 0x0d, 0xd6, 0x91, 0xf8, 0x55, 0x44, 0x47, 0x04, 0xd9, 0xbb, 0xc2, 0xea, 0xf0, + 0x29, 0xc6, 0xca, 0x5b, 0x45, 0xcf, 0x92, 0x44, 0x1f, 0x7f, 0x68, 0xb4, 0x78, 0xb6, + 0x11, 0xb5, 0x97, 0x28, ], Core::FullDecrement32 => [ - 0xcb, 0xcf, 0xd7, 0xca, 0x73, 0x72, 0xb2, 0xb1, 0x80, 0x00, 0x8e, 0x51, 0x58, 0x98, - 0x80, 0xd3, 0xb5, 0x39, 0x9b, 0xd9, 0xa8, 0xdd, 0xb9, 0xbc, 0xda, 0x61, 0x32, 0xc2, - 0x2c, 0x77, 0x7e, 0x0f, + 0x27, 0x88, 0xc3, 0xa0, 0x17, 0x35, 0xa6, 0x4c, 0x0c, 0x36, 0x19, 0x03, 0xd7, 0x1e, + 0x21, 0xce, 0x10, 0x05, 0xce, 0x35, 0x74, 0xe6, 0x9a, 0x2a, 0x68, 0x0b, 0x87, 0x3e, + 0x5f, 0x73, 0x76, 0x6a, ], Core::FullDecrement64 => [ - 0x42, 0xdf, 0x92, 0xd2, 0xe7, 0xf4, 0x2e, 0x57, 0x9b, 0xd4, 0xc4, 0x30, 0x8c, 0xd2, - 0xdb, 0x6e, 0x76, 0x77, 0x46, 0x95, 0xd6, 0xa5, 0x69, 0x50, 0xc5, 0xcf, 0x92, 0x03, - 0x00, 0x2d, 0x41, 0xaa, + 0x14, 0x4b, 0xf9, 0xfe, 0x04, 0xba, 0x8c, 0x93, 0xa7, 0x83, 0x5b, 0x16, 0x36, 0xae, + 0x8f, 0x7d, 0x50, 0x5c, 0x05, 0x08, 0x92, 0xdd, 0xbc, 0xc8, 0xf9, 0x72, 0x5f, 0x6b, + 0x09, 0xc3, 0xe4, 0x7c, ], Core::FullDecrement8 => [ - 0xff, 0x58, 0xdd, 0x01, 0x62, 0xbc, 0xe9, 0xfb, 0x73, 0xed, 0x01, 0x5b, 0x7e, 0x5d, - 0x3d, 0x1d, 0xc1, 0x1b, 0x50, 0x5c, 0x93, 0x2d, 0x49, 0x0c, 0xaa, 0xdc, 0x1b, 0x5d, - 0x89, 0x3d, 0x1f, 0xad, + 0x3b, 0x0d, 0x4c, 0x9a, 0x02, 0xbd, 0xd9, 0x03, 0xb1, 0x2f, 0x49, 0xb8, 0xca, 0xd0, + 0xe3, 0xf0, 0x6c, 0xb9, 0xbc, 0xb6, 0xc8, 0xb1, 0x98, 0x95, 0x6d, 0xff, 0xce, 0x48, + 0x90, 0x8a, 0x63, 0xf1, ], Core::FullIncrement16 => [ - 0x54, 0x53, 0x60, 0x8e, 0xef, 0xf9, 0x67, 0xaf, 0xef, 0x4a, 0xe5, 0x83, 0x1a, 0xa7, - 0xa9, 0xfc, 0x75, 0xc2, 0xba, 0x57, 0xe1, 0xac, 0x41, 0x2a, 0xb5, 0x46, 0x4d, 0x4d, - 0xe9, 0x3a, 0xf4, 0xf9, + 0x91, 0x81, 0x8a, 0x49, 0xe9, 0x5e, 0x22, 0x8c, 0x3b, 0x51, 0xc7, 0x30, 0x9b, 0x3d, + 0xc6, 0x85, 0xcc, 0xc2, 0xbd, 0xa1, 0xfb, 0x3c, 0xdd, 0xc0, 0xcf, 0x24, 0xa5, 0xc5, + 0x9d, 0x77, 0xe7, 0xea, ], Core::FullIncrement32 => [ - 0x36, 0x32, 0x33, 0x21, 0x58, 0xf9, 0x0b, 0xa4, 0xdf, 0x62, 0x3f, 0x08, 0x68, 0x08, - 0xd1, 0xd3, 0x39, 0xf3, 0x6d, 0x9a, 0x6f, 0x92, 0x27, 0x23, 0x34, 0x16, 0xf2, 0x34, - 0xcd, 0xd2, 0x5d, 0x98, + 0x70, 0x47, 0x04, 0xc6, 0xd7, 0xf7, 0x57, 0xee, 0xe9, 0xf8, 0x8b, 0x2b, 0x32, 0x7b, + 0xc1, 0x17, 0x43, 0xcb, 0xd9, 0xa7, 0x5d, 0xec, 0xa2, 0xe9, 0x6d, 0x62, 0x8d, 0x53, + 0x13, 0xe6, 0x16, 0x30, ], Core::FullIncrement64 => [ - 0x06, 0x37, 0xfc, 0xc5, 0x52, 0xf6, 0x2a, 0x8a, 0x08, 0xc6, 0xd0, 0x70, 0x66, 0x7e, - 0xd8, 0x0e, 0x47, 0xba, 0x70, 0x7c, 0x12, 0x0c, 0x4d, 0x65, 0x66, 0x04, 0xa3, 0x43, - 0x3b, 0xfc, 0x40, 0xa6, + 0x99, 0x9c, 0xad, 0xea, 0x9c, 0xf0, 0xbd, 0xda, 0xab, 0x12, 0xa3, 0x98, 0xcf, 0x52, + 0xd1, 0x8e, 0x08, 0xfb, 0x5c, 0x18, 0x5d, 0xca, 0x00, 0xf3, 0x5e, 0xde, 0x63, 0x27, + 0x7e, 0x9b, 0xac, 0x4e, ], Core::FullIncrement8 => [ - 0x29, 0x15, 0x24, 0xe1, 0x70, 0xd5, 0x23, 0xfd, 0x35, 0xc2, 0x57, 0x7b, 0x8e, 0xa3, - 0xf4, 0x47, 0x8e, 0xc6, 0x32, 0x06, 0xc9, 0x8f, 0xb5, 0xcc, 0xcf, 0x77, 0xc2, 0x09, - 0xbe, 0xbd, 0x29, 0xef, + 0x2d, 0x64, 0x5c, 0xb4, 0x77, 0x8d, 0xa1, 0x7a, 0x0d, 0xad, 0x32, 0x6f, 0xfe, 0xdc, + 0x2b, 0x04, 0xf6, 0x2d, 0x02, 0x7d, 0x7b, 0x40, 0x56, 0x0d, 0x16, 0xcd, 0x64, 0x9f, + 0xd5, 0xa4, 0xd7, 0x2a, ], Core::FullLeftShift16_1 => [ - 0x74, 0x0e, 0x23, 0x81, 0x1b, 0x3e, 0x62, 0xd4, 0x91, 0x51, 0x0f, 0xc9, 0xed, 0xc4, - 0xcb, 0x0a, 0x0e, 0xec, 0xfa, 0xdf, 0xd2, 0x1b, 0xb2, 0x7f, 0x33, 0xe2, 0x20, 0xb1, - 0xd8, 0x7d, 0x14, 0xd7, + 0x32, 0xd0, 0x6f, 0x29, 0x46, 0x52, 0xb3, 0x64, 0x90, 0x58, 0xa4, 0x66, 0x67, 0x3f, + 0x04, 0xf0, 0x88, 0x80, 0xaa, 0xa1, 0x92, 0x6f, 0x90, 0x8a, 0x92, 0x56, 0xa9, 0x9e, + 0x1e, 0x2e, 0x0b, 0xdc, ], Core::FullLeftShift16_2 => [ - 0xc2, 0x6e, 0x8a, 0xc3, 0xff, 0x9c, 0xc5, 0x18, 0x71, 0x9d, 0x4d, 0x7f, 0xd1, 0x49, - 0xd8, 0x02, 0xf2, 0x3f, 0x0b, 0x02, 0x49, 0x99, 0xed, 0x5d, 0xaf, 0x36, 0x92, 0x10, - 0xac, 0xbe, 0x33, 0x45, + 0xd1, 0xa5, 0xfb, 0x91, 0xaa, 0x70, 0x44, 0x5d, 0x29, 0xfd, 0xb1, 0x69, 0x40, 0x37, + 0xa9, 0x5d, 0x84, 0xe6, 0x57, 0x1b, 0x3e, 0x77, 0x73, 0xfc, 0x16, 0xf5, 0x6e, 0xb8, + 0x8b, 0x67, 0x64, 0x39, ], Core::FullLeftShift16_4 => [ - 0x5e, 0x57, 0x0c, 0xbe, 0x4c, 0x7c, 0xa9, 0x4b, 0xe0, 0xfc, 0x7b, 0x3e, 0xe5, 0x79, - 0xbd, 0xd7, 0x84, 0x26, 0xf0, 0xb7, 0x67, 0xf4, 0x85, 0x17, 0x17, 0xbb, 0xfe, 0xae, - 0xde, 0x91, 0xfe, 0x30, + 0x94, 0x52, 0xa9, 0xb6, 0x75, 0x49, 0x17, 0x8f, 0x93, 0xc7, 0xbb, 0x34, 0x36, 0xbe, + 0x06, 0x31, 0x4b, 0x4a, 0xda, 0xe5, 0xde, 0x0e, 0x31, 0x53, 0xcb, 0xd3, 0x2d, 0x55, + 0x9d, 0xf6, 0xf4, 0x28, ], Core::FullLeftShift16_8 => [ - 0x65, 0xad, 0xc5, 0x53, 0x48, 0x38, 0x3b, 0x28, 0xe8, 0x79, 0x7f, 0x81, 0xa9, 0x28, - 0x2d, 0x91, 0x1b, 0x3f, 0x8f, 0xa6, 0x13, 0x92, 0x72, 0x51, 0xd8, 0x8e, 0x0c, 0x38, - 0xb0, 0x29, 0xb7, 0x05, + 0xcd, 0xb8, 0x8c, 0x96, 0x01, 0x73, 0x2a, 0x76, 0x66, 0x5a, 0xc9, 0x28, 0x21, 0x68, + 0x3b, 0xaf, 0xf1, 0x84, 0x4b, 0x67, 0x0b, 0xff, 0x66, 0x39, 0x17, 0xc8, 0x91, 0x3b, + 0xa5, 0x1c, 0x0f, 0x08, ], Core::FullLeftShift32_1 => [ - 0x72, 0xe0, 0x10, 0x4e, 0xfa, 0xf1, 0xde, 0xe4, 0x11, 0x98, 0xec, 0x3b, 0x79, 0x03, - 0x73, 0xf6, 0x48, 0xf1, 0x3f, 0x5e, 0xe0, 0x65, 0x52, 0xfb, 0x02, 0x0b, 0xaf, 0xb5, - 0x84, 0x97, 0xc2, 0x5c, + 0xef, 0x47, 0x06, 0xca, 0x44, 0xa8, 0xc5, 0x5f, 0x46, 0x5f, 0xa9, 0xb3, 0x9c, 0x3c, + 0x69, 0xc8, 0x12, 0xef, 0xe3, 0xd9, 0xdf, 0xb6, 0xc9, 0xa5, 0xc0, 0x50, 0x92, 0xb5, + 0x7f, 0xc3, 0xc1, 0x53, ], Core::FullLeftShift32_16 => [ - 0xb9, 0xfb, 0x21, 0x69, 0x90, 0x8d, 0x91, 0x44, 0xcc, 0x73, 0xe6, 0x8f, 0x75, 0x35, - 0x36, 0xf4, 0x3c, 0xb2, 0xb7, 0x4c, 0xb6, 0x2c, 0x64, 0x08, 0x81, 0x06, 0x70, 0xde, - 0x84, 0xab, 0x09, 0xbd, + 0x13, 0x04, 0x05, 0xb9, 0x90, 0xdf, 0xa1, 0x81, 0xa7, 0x6b, 0xb2, 0x96, 0x5f, 0x6b, + 0x70, 0x6d, 0xe5, 0xb0, 0x46, 0x47, 0x43, 0x8a, 0x5c, 0xab, 0x6e, 0xc3, 0xdf, 0xb6, + 0xae, 0x21, 0xfa, 0x8a, ], Core::FullLeftShift32_2 => [ - 0x11, 0xef, 0xdb, 0x81, 0xb0, 0xc4, 0xde, 0xda, 0x4d, 0x4f, 0x98, 0x47, 0x5d, 0x78, - 0x78, 0xef, 0xa3, 0x38, 0x69, 0x4f, 0xa0, 0xfd, 0x61, 0x3e, 0x12, 0x93, 0x22, 0x5a, - 0x4f, 0x46, 0x2f, 0x7c, + 0xcc, 0x4b, 0x94, 0x98, 0xee, 0x41, 0x23, 0x85, 0xc2, 0x3b, 0xff, 0x77, 0xdf, 0x13, + 0x7a, 0xd2, 0x96, 0xa5, 0xb8, 0x30, 0x31, 0xc1, 0x51, 0x8d, 0xbf, 0x4f, 0xdf, 0x6a, + 0xbb, 0x56, 0x7c, 0x2a, ], Core::FullLeftShift32_4 => [ - 0x77, 0xe3, 0x99, 0xd7, 0xd8, 0x3f, 0x7d, 0x11, 0x44, 0x99, 0x1d, 0xaf, 0xa3, 0xcc, - 0x98, 0x11, 0xc1, 0x63, 0x2c, 0x29, 0xe4, 0x93, 0xa8, 0xaf, 0x98, 0xe9, 0x8f, 0xbc, - 0x1d, 0x63, 0x5f, 0xb4, + 0xbf, 0xad, 0xc9, 0x53, 0x41, 0x00, 0x47, 0xd9, 0xef, 0x39, 0x8b, 0xd3, 0x3a, 0x02, + 0xaa, 0xd0, 0xd4, 0x8c, 0xbd, 0x7b, 0x6a, 0xe2, 0xde, 0x8d, 0xc1, 0xf7, 0x6b, 0x0c, + 0xe4, 0x4f, 0x80, 0xec, ], Core::FullLeftShift32_8 => [ - 0xba, 0x66, 0x4c, 0xb1, 0xc4, 0x2e, 0xda, 0x17, 0x91, 0x91, 0xeb, 0xc2, 0xa1, 0x10, - 0x39, 0x6d, 0xae, 0x58, 0xf9, 0x06, 0xa6, 0x41, 0x06, 0xb3, 0x06, 0x67, 0x79, 0x0a, - 0xc2, 0xf2, 0x38, 0x2d, + 0xac, 0x93, 0x4c, 0x70, 0xaa, 0xb8, 0x10, 0xf0, 0xae, 0x52, 0x7b, 0xc0, 0x74, 0x9e, + 0x96, 0xce, 0x00, 0x68, 0xe2, 0x37, 0xce, 0xe2, 0xa8, 0x66, 0x48, 0x3d, 0xdf, 0xaa, + 0x21, 0x16, 0xd9, 0x31, ], Core::FullLeftShift64_1 => [ - 0x79, 0xd3, 0x8f, 0xe0, 0x75, 0x83, 0x9b, 0x22, 0x7c, 0xff, 0xd9, 0x2a, 0x8c, 0xdb, - 0x5c, 0x8c, 0x35, 0x22, 0xbc, 0xb4, 0xd1, 0xe0, 0x3b, 0xee, 0xb6, 0xdb, 0x6a, 0xb6, - 0x4e, 0xd4, 0x72, 0x1f, + 0xbf, 0x32, 0xd9, 0xdb, 0xb2, 0x39, 0xe9, 0x88, 0x01, 0x49, 0x20, 0xcc, 0x4d, 0xf2, + 0xe4, 0x35, 0xc7, 0x12, 0x01, 0x7b, 0x6a, 0x94, 0x0e, 0x77, 0xc2, 0x03, 0x71, 0x3d, + 0xbf, 0xb0, 0xfe, 0x53, ], Core::FullLeftShift64_16 => [ - 0x21, 0x43, 0x56, 0x62, 0x45, 0xf5, 0xa1, 0xb9, 0xdf, 0xeb, 0x0c, 0x75, 0x87, 0x8e, - 0x21, 0xdb, 0xe1, 0x38, 0x04, 0xc2, 0x69, 0x35, 0xee, 0x47, 0xca, 0xc9, 0xad, 0x82, - 0x2d, 0x6d, 0xed, 0xb2, + 0x13, 0xde, 0x96, 0x78, 0x5b, 0xd9, 0x7f, 0x6f, 0x78, 0xec, 0x2a, 0x37, 0xf5, 0x52, + 0xd4, 0xd7, 0xda, 0xe5, 0x76, 0x8e, 0x39, 0xb4, 0xbe, 0xbd, 0xf3, 0xbc, 0x7c, 0xeb, + 0x72, 0x3c, 0x59, 0x47, ], Core::FullLeftShift64_2 => [ - 0x9c, 0x92, 0x16, 0x49, 0x15, 0xaf, 0x0b, 0x15, 0x4e, 0x1d, 0xf5, 0x64, 0xd4, 0xdc, - 0x9b, 0xe9, 0x80, 0xb3, 0x98, 0x83, 0x5c, 0x99, 0x88, 0xbb, 0xb1, 0x08, 0xd0, 0xcd, - 0x81, 0x45, 0xb3, 0x30, + 0x19, 0xd3, 0xb1, 0x41, 0xcb, 0x15, 0x6c, 0xce, 0x2a, 0xc5, 0x93, 0x7a, 0x27, 0xa2, + 0x84, 0x36, 0xdc, 0x32, 0x5d, 0xd7, 0xce, 0x42, 0x47, 0x6e, 0xe2, 0xca, 0xb3, 0x5f, + 0xb4, 0x01, 0x10, 0xe0, ], Core::FullLeftShift64_32 => [ - 0xd0, 0xd0, 0x16, 0xe9, 0xc7, 0x8c, 0xd1, 0x12, 0xb4, 0xdd, 0x91, 0xa8, 0x35, 0x9f, - 0x80, 0x5c, 0x68, 0x41, 0x5b, 0x85, 0x7a, 0x79, 0x9b, 0x00, 0x39, 0x49, 0x54, 0xdc, - 0xd2, 0x90, 0xac, 0xbc, + 0x6a, 0x20, 0x76, 0x15, 0xbc, 0x66, 0x9d, 0x3f, 0xc1, 0x74, 0x13, 0xa4, 0x2b, 0x13, + 0xa0, 0x4a, 0x40, 0x4b, 0xb5, 0xd4, 0x03, 0x6d, 0xe3, 0x7f, 0xe0, 0xa5, 0x6b, 0x33, + 0x6a, 0x5f, 0xf5, 0xa6, ], Core::FullLeftShift64_4 => [ - 0x0f, 0x1f, 0x7d, 0x37, 0x4e, 0x82, 0x86, 0x8d, 0x71, 0xe7, 0xe7, 0xc0, 0x32, 0x21, - 0xb1, 0x50, 0x59, 0x4b, 0x63, 0x04, 0x45, 0xb1, 0xb1, 0x63, 0x56, 0xcf, 0x35, 0x45, - 0xbd, 0x93, 0x92, 0x63, + 0x57, 0xf5, 0x96, 0xcf, 0xe6, 0x7a, 0xf5, 0x8a, 0xe6, 0xbc, 0x27, 0xa1, 0x2c, 0xaf, + 0xe5, 0x3a, 0x1d, 0x5e, 0x6a, 0xce, 0x4e, 0x54, 0x05, 0x1a, 0x3a, 0xe4, 0x1c, 0x1e, + 0xb3, 0x25, 0xf5, 0x3b, ], Core::FullLeftShift64_8 => [ - 0xad, 0x7b, 0x44, 0x38, 0xb7, 0x3f, 0x6f, 0x9e, 0x42, 0xf6, 0x4c, 0x70, 0x53, 0x04, - 0x75, 0xee, 0x08, 0x93, 0x6e, 0x47, 0x63, 0xe5, 0xb7, 0x3e, 0xa4, 0xbc, 0x83, 0x83, - 0xa2, 0xb9, 0x63, 0xd5, + 0x05, 0x85, 0x7a, 0x00, 0x9d, 0x20, 0x31, 0xbe, 0x6d, 0xf1, 0xd8, 0x7e, 0x26, 0xe1, + 0x11, 0x18, 0xab, 0xd0, 0x6b, 0x0f, 0xf0, 0xc8, 0x78, 0xc3, 0x36, 0xf9, 0xa0, 0x76, + 0x11, 0xda, 0xa8, 0xd4, ], Core::FullLeftShift8_1 => [ - 0x21, 0x13, 0x68, 0x1a, 0x11, 0x62, 0x4e, 0x60, 0x60, 0x30, 0xc4, 0x70, 0xd6, 0x8f, - 0x60, 0x61, 0x23, 0x2f, 0x71, 0xcf, 0xab, 0xc5, 0x05, 0x71, 0x92, 0xc6, 0xc8, 0xbd, - 0x1d, 0x73, 0xb7, 0xe1, + 0x4f, 0xdc, 0x52, 0x2a, 0x23, 0x9f, 0x25, 0x84, 0x8c, 0x28, 0xd4, 0x5b, 0x39, 0x24, + 0x63, 0x91, 0xbe, 0x6a, 0x28, 0x14, 0xb8, 0x93, 0xcf, 0x19, 0x79, 0xce, 0x31, 0xb6, + 0x07, 0xcf, 0x17, 0x4e, ], Core::FullLeftShift8_2 => [ - 0x36, 0x83, 0x68, 0xc9, 0x4b, 0x04, 0x0e, 0x81, 0xb9, 0x48, 0xd7, 0x37, 0xc1, 0x93, - 0xc0, 0x42, 0x83, 0xec, 0x80, 0xa2, 0x8f, 0xd3, 0xa0, 0x21, 0xb0, 0xb8, 0xc1, 0xab, - 0xcf, 0x5e, 0xdc, 0xd3, + 0xdc, 0xf6, 0x33, 0x3d, 0x5e, 0x28, 0xbf, 0xaa, 0xfe, 0xe6, 0xf2, 0x0a, 0x85, 0x5c, + 0xef, 0xb0, 0x05, 0xf0, 0xef, 0x32, 0x8b, 0xdc, 0xce, 0xa6, 0x4a, 0x8f, 0x24, 0x46, + 0xf9, 0x66, 0xa6, 0xf2, ], Core::FullLeftShift8_4 => [ - 0x8f, 0x85, 0x4d, 0x58, 0xf9, 0x68, 0xb4, 0xbe, 0x3b, 0x20, 0x21, 0xfb, 0x22, 0x14, - 0x2d, 0xd3, 0xe6, 0x8a, 0xa8, 0x19, 0x7b, 0x54, 0x75, 0xb7, 0x05, 0x0b, 0x02, 0xe1, - 0xe5, 0xca, 0xee, 0x47, + 0xf7, 0xed, 0x36, 0xeb, 0xd7, 0xb4, 0xee, 0x3e, 0x77, 0x82, 0xd0, 0x74, 0x4c, 0x47, + 0xba, 0x1e, 0xf8, 0xfa, 0x56, 0xdb, 0x70, 0x60, 0xe2, 0x26, 0xe4, 0xe9, 0x26, 0x29, + 0x92, 0x6f, 0x43, 0x6c, ], Core::FullMultiply16 => [ - 0x32, 0xcf, 0x7f, 0x50, 0x89, 0x4e, 0xa2, 0xc4, 0x61, 0xa0, 0x54, 0x66, 0xbb, 0xfa, - 0x1e, 0x4e, 0x1b, 0x04, 0x99, 0x57, 0x52, 0x3f, 0x64, 0x93, 0x7a, 0x8b, 0x54, 0x27, - 0x3d, 0xd3, 0x1b, 0x37, + 0xc0, 0xd7, 0x36, 0xca, 0x68, 0x4f, 0x82, 0x72, 0xdc, 0xfb, 0xe3, 0x8d, 0xcc, 0x54, + 0x29, 0xb3, 0x03, 0xa6, 0x82, 0x32, 0xe5, 0xfc, 0xd2, 0x85, 0x14, 0xe2, 0x2c, 0x0b, + 0xe1, 0xf4, 0x70, 0xf6, ], Core::FullMultiply32 => [ - 0xde, 0xa1, 0xaf, 0xc6, 0xfd, 0x54, 0x6c, 0x75, 0xe0, 0xb2, 0xd8, 0xe4, 0x18, 0xf2, - 0x61, 0x79, 0xd6, 0xdb, 0xe9, 0x05, 0x8b, 0x07, 0x9a, 0xa9, 0xab, 0x80, 0xea, 0xa6, - 0xc0, 0x5f, 0x39, 0xcb, + 0xe7, 0x20, 0x58, 0x97, 0x97, 0xf6, 0xca, 0x4a, 0xd7, 0x47, 0x71, 0xf8, 0xf6, 0xc7, + 0xb6, 0xaa, 0xd7, 0x8b, 0xce, 0x91, 0x9f, 0xd7, 0x6d, 0x69, 0xff, 0xf5, 0x99, 0xa4, + 0x02, 0xe3, 0x52, 0x40, ], Core::FullMultiply64 => [ - 0x81, 0x3d, 0x74, 0xd6, 0xc3, 0x06, 0x4c, 0xf7, 0xc5, 0xdb, 0x2d, 0xda, 0x96, 0x4e, - 0xd0, 0xe2, 0xd5, 0xa2, 0x49, 0x1b, 0x89, 0x43, 0x29, 0x21, 0x92, 0x37, 0xcb, 0x1a, - 0x91, 0xee, 0x09, 0x34, + 0xd9, 0x66, 0x91, 0x86, 0x21, 0x44, 0x87, 0xfb, 0xaa, 0xbc, 0x08, 0x52, 0x15, 0xeb, + 0x01, 0xc6, 0x2b, 0x3a, 0x28, 0xde, 0x41, 0x19, 0x19, 0xbc, 0x4f, 0x37, 0xfe, 0x43, + 0xc2, 0xd0, 0x05, 0x21, ], Core::FullMultiply8 => [ - 0xf7, 0xf3, 0x9d, 0x95, 0xda, 0xb5, 0x73, 0x08, 0x52, 0xe9, 0xcc, 0x7e, 0x74, 0xc0, - 0x74, 0x3b, 0x8f, 0xb3, 0xf7, 0x54, 0x87, 0x12, 0x0b, 0xa3, 0x26, 0xff, 0x60, 0x0a, - 0xd8, 0xb1, 0xf3, 0xe6, + 0x72, 0x8a, 0xc8, 0xaa, 0xdb, 0x37, 0xa0, 0xf2, 0x23, 0xee, 0xf9, 0x8c, 0xf2, 0x78, + 0x48, 0x3d, 0xf1, 0x94, 0x86, 0x9b, 0x2e, 0x37, 0x73, 0xf1, 0x27, 0x32, 0x9e, 0xea, + 0xb5, 0x4c, 0x62, 0xca, ], Core::FullRightShift16_1 => [ - 0xb8, 0x07, 0x44, 0x23, 0xe6, 0x74, 0x8a, 0x6a, 0xa5, 0x4e, 0xc5, 0x74, 0x1f, 0xee, - 0xf2, 0x5a, 0x26, 0x2f, 0xde, 0xcb, 0xfc, 0xe3, 0x91, 0x24, 0xe6, 0x10, 0x23, 0x8a, - 0x3b, 0x0a, 0x23, 0xfc, + 0x28, 0x43, 0x7c, 0x34, 0x7a, 0x0f, 0x31, 0x6e, 0x99, 0xf3, 0x44, 0x4f, 0x32, 0xd9, + 0x49, 0xc6, 0xd1, 0xa5, 0x70, 0xd6, 0xe1, 0xf9, 0xe4, 0x7f, 0x7e, 0xa2, 0xc4, 0x98, + 0x7f, 0xec, 0xb0, 0xb4, ], Core::FullRightShift16_2 => [ - 0x3f, 0xcf, 0x98, 0x5e, 0xe0, 0xc7, 0x2c, 0xa4, 0x1d, 0xdf, 0x6c, 0x89, 0xd0, 0xf0, - 0xf6, 0x9d, 0x50, 0x65, 0x87, 0x6e, 0x3b, 0x60, 0x20, 0xec, 0xc9, 0xbf, 0x05, 0x9e, - 0x8f, 0x97, 0x19, 0xc6, + 0x7b, 0x2d, 0x0d, 0xd3, 0xec, 0xf7, 0x9e, 0xcf, 0xc0, 0xbf, 0x92, 0x3a, 0x92, 0xa4, + 0x3a, 0xc6, 0x51, 0x4b, 0xbf, 0xc2, 0x9f, 0x67, 0x73, 0xd7, 0xb3, 0x63, 0xc3, 0xac, + 0xf6, 0xf6, 0x72, 0xc4, ], Core::FullRightShift16_4 => [ - 0xa3, 0x0c, 0x7c, 0x29, 0xd0, 0xee, 0xac, 0x29, 0x52, 0x58, 0xb2, 0xb6, 0x1d, 0x0b, - 0x54, 0x13, 0x46, 0xf4, 0x07, 0xc0, 0x84, 0x8d, 0x44, 0x8e, 0x13, 0xe9, 0x77, 0x4c, - 0x1c, 0x96, 0x96, 0x79, + 0xec, 0x59, 0xde, 0x5c, 0x9c, 0x88, 0x77, 0x75, 0xe4, 0xbc, 0x55, 0x6b, 0x9c, 0xf1, + 0xa7, 0x72, 0x3b, 0xbe, 0xb6, 0x14, 0x75, 0xd5, 0xa5, 0xa4, 0xed, 0xf1, 0x0b, 0x61, + 0x2b, 0xf9, 0xa6, 0x80, ], Core::FullRightShift16_8 => [ - 0x5b, 0x88, 0x08, 0xca, 0xda, 0x55, 0x87, 0xb3, 0x6d, 0x1a, 0x6f, 0xad, 0x66, 0xae, - 0x4d, 0xa0, 0x8d, 0x41, 0x23, 0x64, 0x4c, 0x0b, 0xdd, 0x59, 0x77, 0x2a, 0x70, 0xaa, - 0x74, 0x32, 0xe7, 0x15, + 0x26, 0x4f, 0x2a, 0x31, 0xf0, 0x7b, 0xcc, 0x54, 0x74, 0x27, 0xfa, 0xff, 0x0d, 0x09, + 0xc2, 0x66, 0x5b, 0x30, 0xed, 0x30, 0xf9, 0xf8, 0xa6, 0xc5, 0x65, 0x01, 0x84, 0x00, + 0x14, 0x4a, 0x4d, 0x6a, ], Core::FullRightShift32_1 => [ - 0x32, 0xaf, 0xd0, 0xef, 0x94, 0xdf, 0x51, 0xb7, 0xd3, 0x5c, 0x00, 0xe5, 0x61, 0xa8, - 0x39, 0x0c, 0x5c, 0xf5, 0x0f, 0x93, 0x0b, 0x30, 0xd7, 0x86, 0x88, 0x04, 0xb5, 0x80, - 0x49, 0x37, 0x58, 0x40, + 0x19, 0xd7, 0x8c, 0xce, 0x30, 0xf7, 0x1e, 0xac, 0xf5, 0x9a, 0x8c, 0xf0, 0xf6, 0x02, + 0x8b, 0x28, 0x4d, 0x4a, 0xa9, 0x64, 0xc0, 0xc1, 0x6a, 0xd4, 0xaf, 0xc7, 0xea, 0x47, + 0x51, 0x65, 0xcb, 0xa0, ], Core::FullRightShift32_16 => [ - 0x44, 0xd1, 0x79, 0xa8, 0x90, 0xf7, 0x81, 0x2f, 0x15, 0x13, 0x31, 0xb5, 0x5f, 0xc0, - 0x7e, 0xb4, 0xe4, 0xd7, 0x81, 0x4e, 0xb6, 0x83, 0xda, 0x28, 0x8f, 0x8f, 0xe7, 0xcd, - 0x55, 0xb4, 0x39, 0x06, + 0x88, 0x76, 0x74, 0x15, 0x79, 0x92, 0x4a, 0xf6, 0xd4, 0x6f, 0xbd, 0x79, 0x53, 0x4a, + 0x09, 0x07, 0x7b, 0xf0, 0xec, 0xbc, 0x97, 0x10, 0x08, 0xc7, 0xde, 0xc6, 0x5d, 0x4c, + 0x96, 0xe5, 0xd8, 0x31, ], Core::FullRightShift32_2 => [ - 0x33, 0xc6, 0x61, 0xdf, 0x3a, 0x32, 0xca, 0xe5, 0x5b, 0x52, 0xa5, 0xf2, 0x63, 0x21, - 0x54, 0xcc, 0x85, 0xb6, 0x59, 0x13, 0x87, 0xbc, 0x2b, 0x34, 0x83, 0x30, 0xc8, 0x70, - 0xa6, 0xf6, 0x70, 0x6f, + 0x5d, 0x3e, 0x11, 0x9d, 0x40, 0xe6, 0x24, 0xc5, 0xc5, 0x6a, 0x7b, 0xbd, 0xf8, 0xbb, + 0x86, 0xfb, 0x68, 0x89, 0xdc, 0x01, 0x72, 0x48, 0x7c, 0x35, 0x8a, 0x53, 0x1a, 0xf2, + 0xfc, 0xc5, 0x1d, 0xc7, ], Core::FullRightShift32_4 => [ - 0xe4, 0xbe, 0xbf, 0x16, 0x93, 0x5f, 0x67, 0xbe, 0x7d, 0x8c, 0x86, 0xbc, 0x58, 0x8a, - 0xdb, 0xcf, 0x8e, 0x59, 0x75, 0x39, 0x25, 0x7f, 0xdd, 0xab, 0x9f, 0xb0, 0x43, 0x72, - 0xc7, 0x70, 0x12, 0xd3, + 0x58, 0x3a, 0xc6, 0x98, 0x39, 0xd2, 0x35, 0xd9, 0xc0, 0x61, 0x39, 0xf5, 0xb7, 0x98, + 0xd2, 0xd5, 0xa3, 0x49, 0xed, 0xc2, 0x0b, 0xbd, 0x62, 0xba, 0xd1, 0xd8, 0x12, 0x85, + 0xd6, 0xad, 0x22, 0xe3, ], Core::FullRightShift32_8 => [ - 0xab, 0xcf, 0xfb, 0x08, 0x4a, 0x23, 0x96, 0x42, 0x16, 0xd5, 0x62, 0x73, 0x30, 0x5c, - 0x0c, 0x8b, 0x03, 0xbd, 0xab, 0xda, 0xd6, 0x9f, 0xf7, 0xe9, 0x42, 0xf0, 0xd2, 0xcf, - 0x08, 0x0f, 0xeb, 0xcc, + 0x0d, 0x9c, 0xc0, 0x9b, 0xbc, 0x80, 0xe4, 0xcd, 0x76, 0x4f, 0x13, 0xbb, 0x2f, 0x7f, + 0xb9, 0xc5, 0x92, 0x12, 0x0f, 0x92, 0x18, 0xd6, 0x0c, 0xac, 0x8e, 0xea, 0xc5, 0x99, + 0x25, 0xdb, 0xf7, 0x5d, ], Core::FullRightShift64_1 => [ - 0x37, 0x68, 0x82, 0x60, 0xc5, 0x3a, 0xf0, 0x6b, 0x85, 0x6d, 0x90, 0x22, 0xca, 0x5d, - 0x87, 0xf8, 0xa6, 0x87, 0xee, 0x53, 0xfa, 0xca, 0x18, 0x66, 0xec, 0x84, 0x2a, 0x7c, - 0x89, 0x0a, 0x4b, 0x70, + 0x2e, 0xbc, 0x1c, 0x95, 0x5d, 0x26, 0x56, 0x48, 0xa8, 0xb9, 0x1b, 0x6f, 0x5e, 0xce, + 0x5f, 0x23, 0xfa, 0x9c, 0x2c, 0x6c, 0x88, 0xde, 0x7c, 0xbe, 0x3f, 0x7c, 0xc8, 0x38, + 0x5b, 0x21, 0x91, 0x17, ], Core::FullRightShift64_16 => [ - 0x41, 0x7b, 0xfb, 0x71, 0x5a, 0x20, 0xb1, 0x0d, 0x48, 0x81, 0xf5, 0xc3, 0x49, 0x6c, - 0x63, 0xef, 0xee, 0x4a, 0xb5, 0x00, 0x3d, 0xfd, 0x0a, 0x16, 0xb8, 0x5f, 0x94, 0xf8, - 0xe5, 0xb0, 0x66, 0x7c, + 0x46, 0x58, 0xdd, 0x0c, 0x37, 0xf3, 0xec, 0x6b, 0xe5, 0x22, 0x41, 0x73, 0xd2, 0xff, + 0x9b, 0x7c, 0x91, 0x01, 0x74, 0x2f, 0x69, 0x0f, 0x15, 0xa7, 0x2e, 0x66, 0x6c, 0x87, + 0x0e, 0x1d, 0x90, 0x55, ], Core::FullRightShift64_2 => [ - 0xce, 0xca, 0x25, 0x67, 0xb9, 0x1a, 0x63, 0xe9, 0xca, 0x44, 0x03, 0x5e, 0xb5, 0x9e, - 0x2f, 0x22, 0xd8, 0x1e, 0x37, 0xe1, 0x96, 0x59, 0x5a, 0x74, 0x8c, 0xea, 0x4a, 0x46, - 0x84, 0xa2, 0x15, 0xb0, + 0x88, 0x9f, 0x8b, 0x7b, 0xc1, 0x1e, 0x9b, 0x74, 0xea, 0x93, 0x37, 0x4f, 0xfe, 0xd1, + 0x14, 0x64, 0xe7, 0x83, 0x7d, 0xee, 0x18, 0x19, 0x81, 0xcb, 0xe4, 0x78, 0x6f, 0x57, + 0xa2, 0x65, 0xc3, 0x4f, ], Core::FullRightShift64_32 => [ - 0x03, 0x96, 0x99, 0x37, 0x84, 0x02, 0x3d, 0x47, 0xe8, 0x51, 0x4b, 0x45, 0x92, 0x98, - 0x19, 0x8d, 0x33, 0xbd, 0x71, 0xe6, 0xf7, 0x56, 0xd0, 0x8e, 0xdf, 0x46, 0x2a, 0x8f, - 0x62, 0xa2, 0x1b, 0x80, + 0x06, 0x24, 0x67, 0xcd, 0x19, 0x4b, 0xb4, 0xfe, 0x1d, 0xd5, 0xed, 0xe5, 0x7b, 0xc6, + 0x51, 0x80, 0x94, 0x8e, 0xba, 0xc9, 0x87, 0x8b, 0x2c, 0x04, 0x2b, 0xe3, 0x56, 0xf2, + 0xf4, 0x22, 0xc2, 0xec, ], Core::FullRightShift64_4 => [ - 0xde, 0xe4, 0xda, 0xd6, 0x7a, 0x5d, 0xdc, 0xc3, 0x5d, 0xa1, 0xa7, 0x90, 0x63, 0xca, - 0x97, 0x5f, 0x81, 0x34, 0xc8, 0xea, 0xc5, 0x6a, 0x9f, 0x55, 0x5d, 0x2b, 0x0e, 0x13, - 0xda, 0x10, 0x99, 0x4d, + 0x99, 0x45, 0x72, 0x13, 0x88, 0x48, 0x37, 0x43, 0x7e, 0x8a, 0xb6, 0x36, 0xd7, 0xf3, + 0x51, 0x3a, 0x24, 0xd9, 0x4e, 0x74, 0xe5, 0x99, 0x0c, 0x2c, 0x24, 0xe8, 0xdf, 0xe1, + 0x4c, 0xf9, 0x98, 0x6f, ], Core::FullRightShift64_8 => [ - 0x9c, 0xd7, 0x78, 0x03, 0xfc, 0x38, 0x9c, 0x94, 0xff, 0xf2, 0x86, 0xda, 0x0b, 0x37, - 0x4b, 0x89, 0xfe, 0xeb, 0x3d, 0xaa, 0x38, 0xce, 0x67, 0xca, 0xb0, 0x22, 0x0d, 0xab, - 0xee, 0xfe, 0x23, 0xa2, + 0x00, 0x8d, 0x5b, 0x6a, 0x26, 0xa0, 0xe1, 0x3f, 0x17, 0xa9, 0x24, 0xa9, 0xe0, 0x0f, + 0x5b, 0x07, 0xc8, 0x12, 0x3b, 0x59, 0x7e, 0x63, 0xcd, 0xf9, 0x48, 0x1d, 0xd1, 0x6f, + 0x43, 0x32, 0xe6, 0xdf, ], Core::FullRightShift8_1 => [ - 0xee, 0x23, 0xff, 0xf0, 0x7d, 0xe5, 0x3c, 0xc3, 0x71, 0x09, 0xa4, 0x7f, 0x9f, 0xde, - 0x3c, 0x74, 0x44, 0x7a, 0xe8, 0x31, 0xce, 0xe9, 0xac, 0x4d, 0xb7, 0x90, 0xcd, 0xe8, - 0xb1, 0x53, 0x23, 0xb2, + 0x59, 0x1a, 0xde, 0xe6, 0xd4, 0xa3, 0xdd, 0xf3, 0x94, 0x7b, 0x48, 0x61, 0x5b, 0x7f, + 0x6e, 0xcd, 0xf1, 0x16, 0x57, 0x36, 0x4c, 0x3a, 0xee, 0xcf, 0xad, 0x43, 0xf2, 0x8e, + 0x11, 0xa7, 0x5e, 0x56, ], Core::FullRightShift8_2 => [ - 0x25, 0xe1, 0xde, 0xa1, 0x08, 0xc5, 0xf8, 0x9c, 0xce, 0x5b, 0x3d, 0x5b, 0x0e, 0x07, - 0x92, 0xbe, 0x37, 0x90, 0x1a, 0x5a, 0x65, 0xde, 0xf9, 0x04, 0xdd, 0x51, 0x71, 0x0a, - 0x35, 0x5a, 0xb5, 0x5f, + 0xbf, 0x18, 0xaf, 0x96, 0x4c, 0x49, 0xb6, 0x2e, 0xe7, 0x99, 0x21, 0xfd, 0xe0, 0xeb, + 0x32, 0x52, 0xf4, 0x16, 0x38, 0x67, 0x77, 0x17, 0x3c, 0xa6, 0xf6, 0xea, 0xd6, 0x89, + 0xb1, 0x90, 0xfb, 0x2f, ], Core::FullRightShift8_4 => [ - 0xd7, 0xf0, 0xa8, 0x3c, 0x41, 0x04, 0x54, 0x3e, 0xc7, 0x5b, 0x5e, 0xe7, 0x5b, 0xf5, - 0xf7, 0x91, 0x5d, 0x65, 0xfa, 0x50, 0xc2, 0x09, 0x5d, 0xe2, 0xa3, 0x56, 0x70, 0xa5, - 0x05, 0xbe, 0x12, 0x9a, + 0x8d, 0x05, 0xa2, 0x81, 0xbe, 0x22, 0x0a, 0x8c, 0xa3, 0xeb, 0xd9, 0xa8, 0x62, 0x67, + 0x08, 0xf9, 0x1f, 0x28, 0x6d, 0xa4, 0x22, 0x22, 0xc7, 0xa5, 0x51, 0x8e, 0x17, 0x9c, + 0x09, 0xe5, 0xa0, 0x2f, ], Core::FullSubtract16 => [ - 0x95, 0xea, 0x5e, 0x54, 0xc5, 0x60, 0x3f, 0x2f, 0x78, 0xac, 0xf6, 0xb8, 0xa8, 0x7a, - 0x63, 0xb3, 0xac, 0xc7, 0xb6, 0x5f, 0x2b, 0x87, 0xb6, 0x90, 0x4b, 0x98, 0x30, 0xfa, - 0x91, 0x21, 0x2c, 0x8c, + 0x79, 0x55, 0x12, 0x6e, 0x2c, 0x3d, 0x86, 0x2c, 0x1e, 0x44, 0x9e, 0xf6, 0xe4, 0x35, + 0xdf, 0x3e, 0xd5, 0xa6, 0x4c, 0x20, 0x11, 0x43, 0x57, 0x8e, 0xcf, 0xd3, 0xf5, 0x1b, + 0xaf, 0x2b, 0xe2, 0x35, ], Core::FullSubtract32 => [ - 0x32, 0x96, 0x35, 0x26, 0xfc, 0x60, 0x89, 0xf5, 0xec, 0x7d, 0xa5, 0x84, 0xfb, 0xee, - 0x32, 0x37, 0x63, 0x1c, 0x9b, 0x12, 0x81, 0xf6, 0xf4, 0x46, 0xd9, 0x9c, 0x9b, 0x50, - 0xc8, 0x0c, 0x76, 0xdb, + 0x26, 0x18, 0xa4, 0x11, 0x47, 0xc7, 0x9f, 0x69, 0x09, 0xa6, 0x51, 0xb4, 0x92, 0xb5, + 0x4e, 0xd3, 0xc4, 0x05, 0x7a, 0x2e, 0xc0, 0x39, 0xf9, 0x1c, 0x20, 0x10, 0x54, 0x54, + 0xac, 0x61, 0x03, 0x79, ], Core::FullSubtract64 => [ - 0x15, 0xd4, 0x8a, 0x43, 0x24, 0x79, 0xb4, 0x51, 0xa6, 0xe2, 0xc1, 0x8f, 0x43, 0xfb, - 0x0d, 0xfc, 0x9a, 0xeb, 0x6f, 0xce, 0x04, 0x03, 0x50, 0x27, 0xb0, 0x33, 0xaa, 0x99, - 0xfb, 0x14, 0x34, 0x47, + 0x5e, 0x05, 0xb1, 0x0a, 0xcf, 0x51, 0xc2, 0xf2, 0xb7, 0xf8, 0x72, 0x6d, 0x3f, 0x41, + 0x4a, 0xea, 0x2f, 0xb6, 0x31, 0x1f, 0x6d, 0xd6, 0x72, 0x45, 0xbd, 0x4a, 0x35, 0xb1, + 0x69, 0x53, 0xaf, 0x13, ], Core::FullSubtract8 => [ - 0x2b, 0xd4, 0xf0, 0xb3, 0xa0, 0xa7, 0x58, 0xac, 0x39, 0xf1, 0x58, 0x1b, 0x2c, 0x34, - 0xd7, 0xf4, 0x14, 0xdb, 0x4d, 0x8e, 0x1b, 0xc1, 0x19, 0xd7, 0xf8, 0x92, 0x91, 0x35, - 0x48, 0x0e, 0x9a, 0xff, + 0x68, 0xd2, 0x79, 0xe1, 0x6f, 0xe8, 0x4b, 0xa5, 0xe7, 0x44, 0xcd, 0xba, 0x86, 0xef, + 0xf3, 0xa3, 0xe0, 0xda, 0x05, 0x54, 0x7e, 0xfa, 0x98, 0x17, 0xdf, 0xb9, 0x9f, 0xde, + 0x70, 0x21, 0x46, 0xac, ], Core::GeIsOnCurve => [ - 0x05, 0x72, 0xae, 0xf3, 0x63, 0x00, 0x50, 0x8c, 0x96, 0xed, 0xa4, 0xa4, 0xfe, 0xc8, - 0x57, 0x9d, 0x8d, 0x8a, 0x43, 0xbd, 0x54, 0x0c, 0xb6, 0xdd, 0xec, 0xc8, 0x2a, 0x49, - 0xe6, 0x68, 0xf7, 0xde, + 0xf5, 0x13, 0xc5, 0x94, 0x61, 0x5a, 0x9f, 0x2f, 0xcf, 0x35, 0x60, 0x55, 0xe2, 0xf7, + 0x74, 0x88, 0x16, 0xa3, 0xd4, 0xba, 0x54, 0x15, 0xbf, 0x12, 0xca, 0x17, 0xa5, 0xca, + 0xe9, 0xac, 0x72, 0x5a, ], Core::GeNegate => [ - 0x90, 0xf3, 0x3d, 0x91, 0x0f, 0x85, 0x8f, 0x9b, 0x3b, 0x84, 0x0d, 0xdb, 0xc0, 0x3d, - 0x8a, 0x39, 0xaf, 0x81, 0x02, 0x14, 0x85, 0x3b, 0xad, 0x3c, 0x90, 0x5f, 0x18, 0x29, - 0x6f, 0xdf, 0xcb, 0x58, + 0xc4, 0x3f, 0x47, 0xb1, 0x1c, 0xdb, 0xc9, 0xca, 0x85, 0xb6, 0x88, 0x05, 0xa4, 0xa7, + 0x0b, 0x82, 0xbf, 0x93, 0x8c, 0x1c, 0x0b, 0x2c, 0x1b, 0x27, 0x71, 0xa8, 0x6b, 0xfd, + 0x99, 0x37, 0x34, 0xa7, ], Core::GejAdd => [ - 0x00, 0x87, 0x1c, 0x07, 0x66, 0x28, 0x6a, 0x50, 0x0a, 0xce, 0xa0, 0x5f, 0x7a, 0x1f, - 0xd9, 0x8c, 0x3e, 0x52, 0x46, 0xc1, 0x94, 0x67, 0x71, 0xe4, 0x73, 0x8e, 0x75, 0x82, - 0x09, 0x1c, 0xca, 0x0d, + 0xf5, 0x64, 0x35, 0xe4, 0xad, 0x5a, 0xa9, 0x56, 0x27, 0xaa, 0xa2, 0xf5, 0xf2, 0xba, + 0xd4, 0xe4, 0x5e, 0xf6, 0x2e, 0x4a, 0x8a, 0x83, 0xc0, 0x8e, 0x31, 0xe8, 0x10, 0x09, + 0x5c, 0xe3, 0x43, 0xb2, ], Core::GejDouble => [ - 0x5f, 0xc4, 0x80, 0xc5, 0x05, 0xb6, 0x7d, 0xdd, 0xb9, 0xce, 0x84, 0xb0, 0xa8, 0xee, - 0x5a, 0x7e, 0x4e, 0xf0, 0xe9, 0x36, 0x59, 0xd4, 0x45, 0x21, 0xe6, 0xa6, 0x64, 0xac, - 0x5d, 0x65, 0x56, 0xf8, + 0xa0, 0x8e, 0xa3, 0x9e, 0xeb, 0x49, 0x0b, 0x60, 0x49, 0xc7, 0x2a, 0xb9, 0x21, 0x5d, + 0x61, 0x05, 0x8e, 0xd1, 0xee, 0x33, 0x77, 0x94, 0x21, 0x84, 0x0d, 0x3e, 0x3d, 0x43, + 0xe6, 0x37, 0x19, 0xfc, ], Core::GejEquiv => [ - 0xe8, 0x7f, 0x98, 0xd9, 0x1d, 0x9e, 0xbd, 0xec, 0x16, 0x7a, 0xba, 0x00, 0xf8, 0xe8, - 0xfc, 0x6d, 0xab, 0x80, 0x79, 0xc7, 0x6b, 0x4d, 0x9c, 0x3d, 0x88, 0xf1, 0xf8, 0x4c, - 0x8e, 0x6c, 0xd2, 0x74, + 0x9c, 0xa3, 0x67, 0x6b, 0xcc, 0xc5, 0x44, 0xed, 0x7a, 0xa3, 0xf7, 0x51, 0x75, 0xe9, + 0xf2, 0x3e, 0x03, 0x0c, 0xd6, 0x4f, 0xb6, 0xa5, 0x89, 0x8d, 0x90, 0xd2, 0x3e, 0x0d, + 0xc2, 0xae, 0xed, 0xd1, ], Core::GejGeAdd => [ - 0xa2, 0x4d, 0x04, 0x9f, 0xf1, 0xe4, 0xcf, 0x37, 0x84, 0xc1, 0xb7, 0xd6, 0xd1, 0xba, - 0x09, 0xfd, 0x17, 0xfe, 0xcf, 0xeb, 0x55, 0x80, 0xea, 0xb5, 0xf1, 0x1e, 0x8f, 0x8e, - 0xb9, 0xd9, 0xad, 0xef, + 0xc8, 0xf3, 0xd8, 0x6d, 0x13, 0x1e, 0x35, 0xea, 0x67, 0xb2, 0x50, 0xa0, 0x8e, 0xdb, + 0xf5, 0x8c, 0x6f, 0x05, 0x43, 0x9c, 0x41, 0xfc, 0xbd, 0x32, 0x90, 0x8d, 0xc8, 0x6a, + 0xe8, 0xce, 0x5d, 0xf7, ], Core::GejGeAddEx => [ - 0x1e, 0x0e, 0x26, 0xd0, 0xb2, 0x9a, 0xe6, 0x3d, 0x41, 0xe6, 0x76, 0x7e, 0x01, 0x6e, - 0x7e, 0x24, 0x86, 0xe4, 0xf5, 0xd8, 0xdc, 0x2c, 0xf6, 0x65, 0x02, 0x22, 0x03, 0x16, - 0x40, 0xf1, 0x73, 0x3a, + 0x8b, 0xcf, 0x3c, 0xcb, 0x4b, 0xf6, 0x91, 0x97, 0x49, 0x89, 0xfc, 0x4e, 0x86, 0x99, + 0x6c, 0x66, 0xba, 0xf1, 0xb0, 0xab, 0xa8, 0xc9, 0x64, 0x65, 0x86, 0x2a, 0x81, 0x84, + 0xa1, 0x29, 0xa0, 0xae, ], Core::GejGeEquiv => [ - 0x3b, 0x51, 0xda, 0xcd, 0x29, 0xff, 0x5c, 0xd3, 0xc3, 0x20, 0x45, 0x5f, 0xc3, 0xfa, - 0x1a, 0xe9, 0x61, 0x21, 0x29, 0xaa, 0x8c, 0x8e, 0x23, 0x74, 0x60, 0xc3, 0xca, 0x2a, - 0xd5, 0x4e, 0x8f, 0x58, + 0x67, 0xb2, 0x8f, 0x43, 0xbf, 0x1e, 0xb5, 0xc0, 0x4f, 0x24, 0x56, 0x59, 0x7e, 0xab, + 0x77, 0x6e, 0x48, 0xd4, 0x98, 0xfd, 0x8a, 0xe5, 0x28, 0x4d, 0xb3, 0x52, 0xa7, 0x3d, + 0x1b, 0xdd, 0x28, 0x5b, ], Core::GejInfinity => [ - 0x88, 0xd4, 0x64, 0x2c, 0xfc, 0x2b, 0x52, 0xd0, 0x90, 0xce, 0x6e, 0x89, 0x5c, 0x20, - 0xda, 0x2e, 0xfb, 0x0d, 0xf6, 0xfe, 0x84, 0xf2, 0x27, 0x22, 0xbc, 0x46, 0x11, 0x1c, - 0xc6, 0xbe, 0x5c, 0xda, + 0xc9, 0xcc, 0xee, 0x79, 0xe6, 0xfd, 0x32, 0x71, 0xfb, 0xb3, 0x84, 0x56, 0x88, 0x74, + 0x24, 0x95, 0x3b, 0x25, 0x4b, 0x9e, 0x90, 0xb7, 0xb7, 0x79, 0xfd, 0x57, 0x89, 0x68, + 0x45, 0x41, 0x0c, 0x66, ], Core::GejIsInfinity => [ - 0x80, 0xf5, 0x28, 0xe5, 0xd8, 0x56, 0x72, 0xdc, 0x8d, 0x9c, 0x26, 0x4f, 0x67, 0xc7, - 0xb7, 0x27, 0x00, 0xfa, 0xad, 0x89, 0x97, 0x2a, 0x7e, 0x1d, 0x27, 0xd0, 0x49, 0xc9, - 0x47, 0x4b, 0x6c, 0xd9, + 0x99, 0xd3, 0x98, 0xd5, 0xf2, 0x38, 0xc0, 0x55, 0xee, 0x32, 0xa9, 0x75, 0xdd, 0x44, + 0x5f, 0xbc, 0x5e, 0xce, 0x59, 0x9f, 0x74, 0xa3, 0x19, 0x0a, 0x63, 0x6d, 0xdd, 0x5d, + 0xd1, 0x11, 0xf5, 0x87, ], Core::GejIsOnCurve => [ - 0x70, 0xce, 0x4f, 0xfc, 0xe2, 0x49, 0x7c, 0xc6, 0x2f, 0x17, 0x0c, 0x57, 0x14, 0xff, - 0x2c, 0xfe, 0xce, 0x90, 0xb4, 0xcb, 0x89, 0xa6, 0xa2, 0x2f, 0xac, 0x26, 0xb1, 0xb5, - 0xc6, 0x6f, 0xaa, 0x10, + 0x6c, 0x73, 0xc2, 0x19, 0xa7, 0xe9, 0x22, 0x8f, 0x6f, 0x48, 0x2c, 0x11, 0x17, 0x43, + 0x31, 0x1c, 0x49, 0x8b, 0xac, 0xd0, 0xc1, 0xfc, 0x00, 0xac, 0x3c, 0xe4, 0x1f, 0x49, + 0x73, 0x5b, 0xa2, 0xff, ], Core::GejNegate => [ - 0xad, 0x53, 0xf1, 0x79, 0x3f, 0xe0, 0x7b, 0x8d, 0x67, 0x2d, 0x9f, 0x7b, 0x07, 0x41, - 0xe9, 0xed, 0x61, 0x55, 0x7e, 0xff, 0x5b, 0x72, 0x96, 0xc5, 0x68, 0xe0, 0x9b, 0x3d, - 0x19, 0xcf, 0x71, 0x24, + 0xb1, 0xec, 0x2b, 0x7b, 0x3a, 0x34, 0x29, 0x4d, 0xf8, 0x99, 0x12, 0x91, 0x1d, 0x35, + 0x1f, 0xe0, 0xef, 0x23, 0x3f, 0xdc, 0x60, 0x11, 0x58, 0x76, 0xbd, 0xcf, 0x61, 0x1d, + 0x59, 0x0b, 0x08, 0xd6, ], Core::GejNormalize => [ - 0x03, 0x33, 0xdf, 0x98, 0xa8, 0x06, 0x0c, 0x93, 0x15, 0xc5, 0xfd, 0xb8, 0x3e, 0xbf, - 0xfe, 0x34, 0x07, 0xbf, 0x9c, 0x33, 0x6b, 0xf4, 0xbb, 0x92, 0x2d, 0xf5, 0x85, 0x88, - 0x7e, 0x1a, 0xcd, 0xc7, + 0x3c, 0xc6, 0xcf, 0x4c, 0xed, 0x32, 0x3e, 0xa6, 0xdc, 0xf4, 0x18, 0x44, 0xdb, 0x49, + 0x53, 0xaa, 0x3d, 0xb2, 0x9d, 0x08, 0xff, 0xfc, 0x18, 0x6f, 0x53, 0x8a, 0x38, 0x7a, + 0x6c, 0xbf, 0x72, 0x27, ], Core::GejRescale => [ - 0xf0, 0x0a, 0xd1, 0x8f, 0xb4, 0x92, 0x8c, 0xfa, 0xd0, 0x2c, 0x5b, 0x9d, 0x8b, 0x6f, - 0xd4, 0xb0, 0x5d, 0x7c, 0xb5, 0x49, 0xee, 0x65, 0x98, 0x4d, 0x02, 0x2a, 0x6d, 0xf9, - 0x87, 0x12, 0xb6, 0xd9, + 0xd1, 0xa8, 0x87, 0x77, 0xd2, 0x20, 0x1b, 0xf8, 0x4c, 0x94, 0xe5, 0x85, 0xc6, 0x12, + 0xcd, 0x18, 0xe1, 0xaa, 0x4a, 0x18, 0x62, 0x4c, 0xca, 0x5d, 0xe5, 0xfb, 0xe4, 0x41, + 0xc3, 0x68, 0xb1, 0x90, ], Core::GejXEquiv => [ - 0xe3, 0x1c, 0x0f, 0x2c, 0x5d, 0x08, 0x13, 0x9b, 0x4f, 0xeb, 0x09, 0x85, 0x2c, 0x06, - 0xb6, 0xaa, 0x00, 0xb1, 0xd1, 0x3e, 0x62, 0xba, 0xbd, 0x99, 0x82, 0x82, 0x12, 0xdc, - 0xff, 0x82, 0x21, 0x7c, + 0xb9, 0xfe, 0x21, 0xa5, 0xed, 0x60, 0x69, 0x4d, 0x04, 0x2b, 0xa2, 0x1c, 0xad, 0xfc, + 0xd9, 0x44, 0x3c, 0x6f, 0xf7, 0x28, 0xf6, 0x8e, 0x51, 0xd7, 0xd5, 0x5e, 0x05, 0xa9, + 0xbb, 0x7a, 0x1d, 0x1b, ], Core::GejYIsOdd => [ - 0xe3, 0x4c, 0x86, 0x7d, 0xe1, 0x6b, 0x2f, 0x65, 0x61, 0x09, 0xa7, 0x38, 0x72, 0xb0, - 0xb5, 0xba, 0x55, 0xca, 0x3c, 0x2d, 0xbe, 0xa9, 0xc2, 0xc6, 0xe4, 0xcb, 0x19, 0xad, - 0x18, 0xc0, 0x6f, 0x56, + 0xaf, 0x25, 0x25, 0x24, 0xfb, 0x38, 0xc4, 0x4f, 0xa7, 0xca, 0x6f, 0x0d, 0x69, 0x3e, + 0xe3, 0x43, 0x06, 0xa3, 0x1e, 0xd9, 0x21, 0xf9, 0x31, 0x1c, 0x91, 0x72, 0x63, 0x89, + 0xb1, 0xf6, 0x83, 0x76, ], Core::Generate => [ - 0xa3, 0xc5, 0x5b, 0xef, 0x32, 0xa3, 0x50, 0xd9, 0x0d, 0x5c, 0x3d, 0xac, 0x24, 0x76, - 0x7a, 0x03, 0x86, 0x7f, 0xaf, 0x7a, 0x73, 0x27, 0x77, 0x03, 0x89, 0x5a, 0x27, 0xcb, - 0x6b, 0x44, 0x25, 0x2d, + 0xe5, 0x87, 0x2b, 0xc9, 0xf0, 0xc1, 0xf8, 0x55, 0x4d, 0xe0, 0x17, 0x84, 0x38, 0xa9, + 0xf6, 0x49, 0x94, 0x76, 0xca, 0xc8, 0xc5, 0x80, 0xf3, 0xd0, 0xb6, 0x0d, 0x85, 0x48, + 0x85, 0x18, 0x4c, 0xb6, ], Core::HashToCurve => [ - 0x4d, 0xc3, 0xeb, 0x6a, 0x6f, 0xbe, 0x37, 0x4b, 0xa7, 0x69, 0x64, 0x72, 0x63, 0xa6, - 0x95, 0xa4, 0x5d, 0x09, 0x21, 0x13, 0x8a, 0x17, 0xf0, 0x03, 0xc4, 0xab, 0xb7, 0x58, - 0xd8, 0x38, 0xb1, 0x33, + 0xa1, 0x7b, 0x59, 0xe3, 0xf0, 0x14, 0xb1, 0x58, 0xad, 0x47, 0xb5, 0xbb, 0x42, 0x90, + 0xf1, 0x7b, 0x5b, 0xb7, 0x0b, 0xc6, 0x47, 0x1d, 0x3b, 0xe6, 0xd3, 0x86, 0x98, 0xe5, + 0x23, 0x4a, 0xb6, 0xf2, ], Core::High1 => [ - 0x97, 0xa1, 0x43, 0xf0, 0x4c, 0xb6, 0x03, 0xf6, 0x5f, 0x84, 0xa8, 0x0d, 0x31, 0xc3, - 0x36, 0x4f, 0x8f, 0xda, 0x22, 0x97, 0x3a, 0x9a, 0xe6, 0x95, 0xa5, 0x81, 0x89, 0xc3, - 0x14, 0x63, 0xa8, 0xbf, + 0x72, 0x18, 0x87, 0x56, 0xe0, 0x64, 0xfe, 0xf6, 0x07, 0x3d, 0x82, 0x53, 0x0e, 0x95, + 0xee, 0x3a, 0x04, 0x88, 0x9c, 0x6b, 0xf9, 0xe4, 0x4e, 0x05, 0x96, 0x22, 0x40, 0x4e, + 0xa1, 0x7c, 0x69, 0x4a, ], Core::High16 => [ - 0x62, 0x10, 0xac, 0x71, 0x36, 0x58, 0x6c, 0x73, 0xa0, 0x9c, 0x94, 0x21, 0xa4, 0x0e, - 0x30, 0x8c, 0x44, 0x91, 0xea, 0xce, 0x9b, 0x5b, 0x36, 0x95, 0xd6, 0x1f, 0x4c, 0x81, - 0x96, 0xa6, 0x9d, 0xc8, + 0x0e, 0x41, 0x4a, 0x0c, 0xe6, 0x81, 0x47, 0x85, 0xe0, 0x19, 0xf1, 0x4d, 0x47, 0x71, + 0x40, 0x76, 0xe8, 0x7b, 0x12, 0x3e, 0x9a, 0x21, 0x22, 0xb1, 0x64, 0x3c, 0xc0, 0x66, + 0x8c, 0x6e, 0xce, 0x09, ], Core::High32 => [ - 0x71, 0x94, 0x24, 0xb1, 0xac, 0xd3, 0x5b, 0x13, 0x73, 0x58, 0x06, 0x90, 0xa7, 0xec, - 0x0b, 0x8f, 0xb4, 0x86, 0x14, 0x5c, 0x9c, 0xde, 0x72, 0x8d, 0xa7, 0x98, 0x46, 0x93, - 0xe9, 0x5f, 0xc7, 0xc0, + 0x08, 0x03, 0x29, 0x7a, 0xc5, 0xfb, 0xea, 0x98, 0x5e, 0xf6, 0x19, 0xa0, 0x38, 0xbe, + 0xd0, 0x68, 0xf8, 0x60, 0xb2, 0x30, 0x95, 0x26, 0x0e, 0x92, 0x6a, 0xf7, 0xd8, 0x9d, + 0xd0, 0xcc, 0x93, 0x21, ], Core::High64 => [ - 0x8c, 0x5d, 0x44, 0x09, 0x34, 0xdf, 0xdc, 0xf2, 0x75, 0xa2, 0x1c, 0xf0, 0x87, 0xac, - 0x12, 0x7d, 0xa7, 0x57, 0x15, 0xb5, 0xda, 0xc9, 0xc6, 0x93, 0xc2, 0xaf, 0xd7, 0xc7, - 0x18, 0xdc, 0x0f, 0xfb, + 0x47, 0x1c, 0xe7, 0xd2, 0xd1, 0xbc, 0xcb, 0xcc, 0xb1, 0x8a, 0xbd, 0xe3, 0xe5, 0x34, + 0x79, 0x53, 0xbc, 0x7e, 0x63, 0xc8, 0xb4, 0x3f, 0x1a, 0x7c, 0xee, 0x95, 0x53, 0x38, + 0x2c, 0x6b, 0x8d, 0x21, ], Core::High8 => [ - 0x3a, 0x5c, 0xe0, 0x0e, 0x15, 0xe3, 0x18, 0x08, 0x51, 0xc2, 0x00, 0x21, 0x1f, 0x1c, - 0x82, 0xda, 0xa3, 0x3e, 0xc8, 0x76, 0x38, 0x24, 0x8a, 0x4b, 0xf1, 0x13, 0x40, 0x7c, - 0x6b, 0x16, 0xac, 0x4f, + 0x60, 0xc6, 0x69, 0xbb, 0x56, 0xac, 0xa8, 0x8d, 0xa1, 0x3e, 0x09, 0x30, 0x11, 0xa7, + 0xbb, 0xed, 0x55, 0x07, 0x9e, 0xa9, 0xbc, 0xdb, 0x84, 0x38, 0xf3, 0xdc, 0x53, 0xe1, + 0x2c, 0x20, 0x40, 0x9d, ], Core::Increment16 => [ - 0x80, 0xf6, 0xcb, 0xbc, 0x09, 0xb7, 0x8c, 0xea, 0x76, 0xc8, 0x13, 0x90, 0xd3, 0xed, - 0x98, 0x9b, 0x70, 0xe4, 0x39, 0x16, 0x1e, 0xff, 0xaf, 0x9a, 0x62, 0xc6, 0x4b, 0x1b, - 0x95, 0x9c, 0xd0, 0x30, + 0x49, 0xc6, 0x29, 0xdb, 0x72, 0x65, 0xd6, 0xa8, 0xd2, 0x6e, 0x83, 0xf6, 0x5d, 0x62, + 0xe7, 0x38, 0x54, 0xb9, 0xdd, 0xb2, 0x1d, 0x2a, 0xa9, 0xc1, 0xbd, 0x94, 0x6e, 0x4d, + 0xa0, 0xb2, 0x79, 0x32, ], Core::Increment32 => [ - 0x5a, 0x96, 0x3c, 0xa4, 0xad, 0xa6, 0x61, 0x9a, 0x80, 0x53, 0x46, 0xe8, 0x09, 0x95, - 0x03, 0xe4, 0x78, 0x25, 0xbe, 0x5c, 0xf3, 0xc9, 0xa8, 0x9b, 0xfd, 0xbe, 0x2f, 0x19, - 0x1c, 0x32, 0xa2, 0xe0, + 0x95, 0x7e, 0xde, 0xc0, 0xdc, 0x98, 0xcf, 0x13, 0xfd, 0xa5, 0xb2, 0x19, 0x31, 0xf0, + 0x87, 0xe3, 0x64, 0x8e, 0xf2, 0xd7, 0xc6, 0xbe, 0xc8, 0xc5, 0x16, 0xe3, 0x24, 0x4f, + 0x1b, 0xbc, 0x35, 0x9d, ], Core::Increment64 => [ - 0x86, 0x57, 0x52, 0x36, 0x83, 0xc2, 0xa0, 0x5c, 0x0e, 0x09, 0x98, 0xcd, 0xa7, 0xb9, - 0x4e, 0x8b, 0x03, 0x65, 0xee, 0x83, 0x22, 0xa1, 0x4c, 0x5a, 0x37, 0x22, 0xb5, 0x15, - 0xbb, 0x68, 0x1f, 0x74, + 0x48, 0xb1, 0x92, 0x7c, 0x68, 0x40, 0x4a, 0xb0, 0x1b, 0xe8, 0x9f, 0xda, 0xcc, 0xb1, + 0x64, 0xeb, 0xee, 0x4d, 0x69, 0x44, 0xca, 0x8e, 0xf0, 0x39, 0x99, 0xb2, 0x76, 0x29, + 0x75, 0xd2, 0x2f, 0xf8, ], Core::Increment8 => [ - 0xd1, 0xdb, 0x8a, 0x9e, 0xce, 0xd1, 0x7e, 0x21, 0x99, 0x65, 0x26, 0xbc, 0x73, 0xbe, - 0x8e, 0x57, 0x98, 0x68, 0x8d, 0xa3, 0xc2, 0xef, 0x8b, 0x8d, 0x5b, 0xa2, 0x55, 0xd1, - 0x1e, 0xd8, 0x18, 0x3e, + 0xe0, 0x79, 0x6c, 0x02, 0x7b, 0xf4, 0xb0, 0x79, 0x47, 0xff, 0x99, 0x1b, 0x27, 0x82, + 0x07, 0xd3, 0x26, 0xba, 0xe0, 0x74, 0xa4, 0x58, 0x3b, 0x56, 0x42, 0xdf, 0x04, 0x43, + 0x29, 0x7c, 0x90, 0x1a, ], Core::IsOne16 => [ - 0x87, 0x7c, 0xd0, 0x01, 0xd5, 0xe7, 0xb7, 0x4e, 0xdd, 0x1a, 0x4a, 0x5c, 0x96, 0x56, - 0x41, 0xd4, 0xfb, 0x53, 0x68, 0x2d, 0x7f, 0xef, 0xae, 0x50, 0xb5, 0x14, 0x12, 0x18, - 0xc0, 0x4b, 0xe5, 0xaf, + 0xa6, 0x86, 0xb2, 0x5c, 0x80, 0xa2, 0x1f, 0x78, 0xfb, 0x30, 0x74, 0xc0, 0xf9, 0x76, + 0xdc, 0x0b, 0x8f, 0xe1, 0x06, 0xc1, 0x3d, 0xca, 0x01, 0xcb, 0xd6, 0xb4, 0xae, 0xf6, + 0xd0, 0x4f, 0x26, 0x43, ], Core::IsOne32 => [ - 0x83, 0x35, 0x4e, 0x97, 0xd6, 0x14, 0x60, 0x0a, 0x49, 0x89, 0x4e, 0xc2, 0xc9, 0xd1, - 0x98, 0x0f, 0x9c, 0x4c, 0x92, 0x8c, 0x15, 0x61, 0xee, 0xca, 0xc9, 0x9c, 0x16, 0x81, - 0x9c, 0x2b, 0x07, 0x91, + 0xfc, 0xfa, 0xdf, 0x11, 0xd7, 0xb1, 0xbb, 0x23, 0x9f, 0x29, 0xd1, 0xca, 0x9f, 0xdc, + 0xf3, 0x5b, 0x72, 0x8a, 0x1a, 0x62, 0x23, 0x76, 0x07, 0x1d, 0x3c, 0x4d, 0x88, 0xa1, + 0x3b, 0x12, 0x26, 0x84, ], Core::IsOne64 => [ - 0xb3, 0x55, 0xf6, 0x02, 0xec, 0x76, 0xc4, 0xc4, 0xce, 0x70, 0x77, 0x20, 0xfd, 0x54, - 0x34, 0x32, 0x22, 0xa7, 0xc8, 0xcf, 0xca, 0x43, 0x94, 0x51, 0xf2, 0x3f, 0x98, 0x54, - 0x39, 0x50, 0x78, 0xba, + 0xcf, 0x69, 0x10, 0x72, 0x37, 0x54, 0xba, 0x79, 0x43, 0x95, 0xda, 0x5d, 0x58, 0xd6, + 0x1c, 0x19, 0x00, 0x3e, 0x45, 0xee, 0xcf, 0xbf, 0xc9, 0x0d, 0x49, 0xfe, 0x65, 0x7f, + 0x60, 0x7c, 0x45, 0x1c, ], Core::IsOne8 => [ - 0xf2, 0x45, 0x9c, 0xf3, 0x5b, 0x97, 0x20, 0x29, 0xfb, 0xb2, 0x2e, 0x82, 0x19, 0x1a, - 0xce, 0x11, 0x73, 0x2b, 0x1e, 0x08, 0x34, 0x6e, 0x21, 0xcf, 0x0d, 0x30, 0x5b, 0x41, - 0xfa, 0xe8, 0x79, 0x90, + 0x56, 0xa2, 0x2d, 0x0e, 0xcb, 0x20, 0x86, 0xd4, 0x3d, 0x52, 0xfd, 0x1d, 0x46, 0x69, + 0x8a, 0xd4, 0x42, 0x6f, 0x92, 0x35, 0x6a, 0x14, 0xce, 0x06, 0x50, 0x94, 0x1e, 0x52, + 0x07, 0x2c, 0x96, 0xa8, ], Core::IsZero16 => [ - 0x6e, 0xd0, 0x33, 0x25, 0x6f, 0xe6, 0x45, 0xb5, 0xec, 0x3f, 0x59, 0x50, 0x8c, 0x60, - 0x19, 0x2a, 0xc8, 0x76, 0x30, 0x08, 0x91, 0x5c, 0x81, 0x15, 0xe9, 0x29, 0x33, 0x0c, - 0x0f, 0xcd, 0x48, 0x38, + 0xf4, 0x9a, 0xbd, 0xbd, 0x6a, 0x3f, 0x17, 0xc8, 0x7d, 0xba, 0xbd, 0x40, 0xe6, 0x61, + 0x1c, 0x47, 0x7d, 0x43, 0x17, 0x71, 0x90, 0x56, 0x45, 0xef, 0xd3, 0xb2, 0x2d, 0x37, + 0x91, 0xab, 0xe6, 0xbd, ], Core::IsZero32 => [ - 0x1a, 0xf3, 0x58, 0xa0, 0x6b, 0xe9, 0x3a, 0xc6, 0xf3, 0x7c, 0xbb, 0x7d, 0x25, 0x4d, - 0x7b, 0xf9, 0xd7, 0x18, 0x77, 0x38, 0xba, 0xf1, 0xf2, 0x5d, 0x0b, 0x67, 0xc9, 0xff, - 0xe0, 0x0f, 0x6a, 0x62, + 0x93, 0x5d, 0x13, 0xda, 0x64, 0x19, 0x0a, 0x36, 0x04, 0x73, 0x5a, 0xf8, 0x40, 0x21, + 0xbc, 0x12, 0x50, 0x34, 0x97, 0xee, 0x4b, 0x0f, 0xf4, 0xb7, 0x38, 0xfc, 0x84, 0x7e, + 0x9d, 0x34, 0x19, 0x21, ], Core::IsZero64 => [ - 0xc1, 0x10, 0x0c, 0xfc, 0x16, 0x20, 0x3c, 0xa4, 0x44, 0xf1, 0x60, 0x82, 0x64, 0x5b, - 0x72, 0x4d, 0x3e, 0xcd, 0x23, 0xdf, 0x5d, 0x0c, 0xcf, 0x91, 0xf3, 0x5c, 0x5d, 0x9b, - 0x5a, 0x02, 0xa2, 0xf2, + 0xe9, 0xb5, 0x74, 0x75, 0x13, 0x30, 0xf9, 0xfe, 0xae, 0xa5, 0x2a, 0xe4, 0xcd, 0xd3, + 0xa2, 0xe4, 0x6a, 0x99, 0x9c, 0x4f, 0x41, 0xc8, 0xb5, 0x24, 0x00, 0x2c, 0x68, 0x05, + 0x66, 0x58, 0x46, 0x21, ], Core::IsZero8 => [ - 0x4d, 0x58, 0x68, 0x0d, 0x8e, 0x1e, 0x86, 0x18, 0xc4, 0x3c, 0xe5, 0x25, 0xf7, 0x86, - 0x61, 0xa3, 0x01, 0x48, 0x67, 0x58, 0x61, 0xa6, 0x12, 0xd1, 0xbf, 0xcf, 0xe3, 0xbb, - 0x5f, 0xa4, 0xca, 0x95, + 0xfd, 0x7f, 0xc5, 0x05, 0xc2, 0x24, 0xe8, 0xbc, 0x02, 0x08, 0x7f, 0x9e, 0xeb, 0xc4, + 0x85, 0xe9, 0x97, 0xca, 0x15, 0x37, 0x48, 0xc7, 0x81, 0x12, 0x2e, 0x1b, 0x9a, 0xc0, + 0xfd, 0x94, 0xb9, 0x32, ], Core::Le16 => [ - 0xd6, 0x17, 0xfe, 0xea, 0xfd, 0x6f, 0xfc, 0x23, 0xfe, 0xff, 0xbe, 0x70, 0x12, 0xce, - 0x3a, 0x03, 0x02, 0xd4, 0xd1, 0x11, 0x66, 0x58, 0x22, 0xb3, 0x04, 0xb7, 0x9a, 0xdb, - 0xcc, 0x9a, 0x16, 0xd7, + 0x98, 0xaf, 0x70, 0xd8, 0x94, 0xf3, 0xd4, 0x39, 0xbe, 0x06, 0x01, 0xe2, 0x4a, 0x33, + 0xf0, 0x65, 0x0d, 0x23, 0x65, 0xbc, 0xf0, 0x23, 0x02, 0x88, 0x62, 0xeb, 0xfd, 0xa4, + 0xd5, 0x0a, 0x2d, 0xca, ], Core::Le32 => [ - 0x45, 0x74, 0x5c, 0x5b, 0xc7, 0xf8, 0x97, 0x8f, 0x85, 0xb1, 0xb1, 0x4d, 0x49, 0x4a, - 0xf2, 0x1a, 0x8a, 0x51, 0xcc, 0xd8, 0x7f, 0x3f, 0xed, 0xe9, 0x59, 0x74, 0x95, 0x91, - 0x32, 0xae, 0xf9, 0xce, + 0x04, 0xa8, 0x35, 0x1a, 0x4c, 0x97, 0xd3, 0xb5, 0xde, 0x4f, 0x91, 0xb2, 0xe9, 0x73, + 0x9d, 0x9b, 0x3c, 0xc6, 0xad, 0x49, 0xca, 0x07, 0x10, 0x9c, 0x2c, 0xc4, 0x91, 0x8f, + 0xaf, 0xac, 0x66, 0xb5, ], Core::Le64 => [ - 0x3a, 0x8f, 0x08, 0x70, 0x90, 0x0a, 0xf7, 0x1d, 0x42, 0x42, 0xfe, 0x26, 0xad, 0x4d, - 0xfb, 0xed, 0x92, 0xf3, 0x0b, 0xb7, 0x9b, 0x72, 0x73, 0x7d, 0xbc, 0xab, 0x9a, 0xc5, - 0xc0, 0x70, 0xab, 0xe5, + 0x19, 0x4c, 0x01, 0xd8, 0xaa, 0x68, 0x95, 0x17, 0x11, 0xe6, 0x15, 0x14, 0x0e, 0x2b, + 0x5a, 0xce, 0x42, 0x6d, 0xac, 0xd1, 0xfd, 0x6d, 0x86, 0xc7, 0xa7, 0x2f, 0x3a, 0xaa, + 0x08, 0x9c, 0x24, 0x67, ], Core::Le8 => [ - 0x5e, 0xcc, 0x9b, 0x33, 0x25, 0x44, 0x67, 0x49, 0xaf, 0xa4, 0x09, 0x65, 0xea, 0x21, - 0xe0, 0x11, 0x18, 0xfb, 0x8c, 0x1a, 0xdc, 0xdc, 0x11, 0x21, 0x97, 0x93, 0xcb, 0x2a, - 0xfc, 0x4a, 0x7e, 0x8c, + 0xb1, 0x33, 0xad, 0x2d, 0x1a, 0x61, 0x78, 0xb1, 0x98, 0x94, 0xc9, 0xdc, 0xe5, 0x92, + 0x4c, 0x19, 0x9a, 0x04, 0x5f, 0xab, 0x4e, 0x38, 0x8f, 0x16, 0x9a, 0xe1, 0xd8, 0x69, + 0x81, 0x14, 0x9a, 0x8b, ], Core::LeftExtend16_32 => [ - 0x8c, 0x99, 0x04, 0x35, 0xb1, 0x35, 0xde, 0x74, 0x57, 0xc2, 0x69, 0x0d, 0x2d, 0xc8, - 0x74, 0x4a, 0x50, 0x66, 0x41, 0xb8, 0x81, 0xf4, 0x1e, 0x5c, 0x17, 0x02, 0x77, 0x65, - 0xc3, 0x52, 0xdd, 0xcb, + 0x9d, 0xbb, 0x9d, 0x79, 0x97, 0xc1, 0xb1, 0xfa, 0x59, 0x13, 0x1e, 0x79, 0xaa, 0xd1, + 0x6b, 0x9f, 0xca, 0x81, 0xc4, 0x68, 0x32, 0x2d, 0x56, 0xcc, 0x0e, 0x71, 0xfa, 0x05, + 0xdd, 0x80, 0xc9, 0x6c, ], Core::LeftExtend16_64 => [ - 0x9b, 0x9f, 0xf9, 0xcc, 0x27, 0x13, 0x93, 0x19, 0xb2, 0x24, 0xb7, 0xb2, 0xb8, 0x16, - 0xc9, 0x13, 0xa5, 0x68, 0xbf, 0xd0, 0x0b, 0xe1, 0xf3, 0x83, 0xc0, 0x26, 0xbc, 0xff, - 0xe9, 0xbf, 0xe7, 0x12, + 0x5d, 0x33, 0x29, 0xd2, 0xc2, 0x9b, 0xe1, 0x04, 0xde, 0x74, 0xdd, 0xaf, 0xc9, 0xb2, + 0x2f, 0xf6, 0x5d, 0x26, 0x8b, 0xa2, 0xcc, 0xdd, 0xa6, 0x77, 0xe8, 0xfb, 0xfc, 0x65, + 0x01, 0x30, 0xa3, 0x71, ], Core::LeftExtend1_16 => [ - 0xb8, 0xff, 0x8d, 0xc1, 0xa0, 0x4c, 0xa7, 0x16, 0x49, 0x17, 0xf4, 0xc4, 0x50, 0x68, - 0x8c, 0x83, 0xdd, 0x41, 0x6c, 0xef, 0x7b, 0x0f, 0xab, 0xdd, 0x16, 0x92, 0xfa, 0xe6, - 0xbf, 0xf7, 0xb4, 0xa6, + 0x74, 0xee, 0x5a, 0x71, 0x88, 0x9e, 0x97, 0xc0, 0x3d, 0x9b, 0x90, 0x4c, 0x67, 0x9f, + 0xf7, 0xf2, 0xe8, 0xc7, 0x41, 0x0e, 0x6d, 0xc7, 0x48, 0xe0, 0xb5, 0x48, 0xeb, 0xfd, + 0x96, 0x03, 0xd1, 0xad, ], Core::LeftExtend1_32 => [ - 0x22, 0x53, 0xa4, 0x52, 0xb9, 0x99, 0x02, 0xab, 0xcf, 0x15, 0x49, 0x6d, 0xf1, 0x9d, - 0x31, 0x12, 0xa1, 0xce, 0xf5, 0x9b, 0x9a, 0xdc, 0xee, 0x20, 0x6c, 0x0d, 0x8d, 0xce, - 0xa6, 0x28, 0xd0, 0x73, + 0x97, 0xac, 0x64, 0x03, 0xdf, 0x61, 0xc7, 0x84, 0x13, 0x96, 0xc9, 0x3e, 0x14, 0x1f, + 0xaf, 0xc2, 0xa0, 0x96, 0x6e, 0x3e, 0x49, 0x74, 0x87, 0x7b, 0x9e, 0x94, 0x2b, 0xe5, + 0x9c, 0x78, 0xc8, 0x00, ], Core::LeftExtend1_64 => [ - 0xc8, 0x59, 0x9c, 0x85, 0x75, 0xed, 0xb7, 0xc2, 0x60, 0x40, 0x2e, 0xf2, 0xf2, 0x6d, - 0xd4, 0x91, 0xcb, 0x5e, 0x4d, 0x38, 0x18, 0xff, 0x2e, 0x95, 0x85, 0xc8, 0xd3, 0xe7, - 0x81, 0x2d, 0xb5, 0xaa, + 0x54, 0x8a, 0xeb, 0x2b, 0x27, 0xb9, 0xef, 0x2a, 0x0b, 0xec, 0x50, 0xb6, 0x38, 0x52, + 0xfe, 0x24, 0x54, 0x9e, 0x60, 0xa7, 0x43, 0xb9, 0x78, 0x9e, 0xc9, 0x8a, 0xd4, 0xf8, + 0x73, 0x77, 0x13, 0xed, ], Core::LeftExtend1_8 => [ - 0xcf, 0xe0, 0x22, 0x00, 0x5f, 0x6b, 0xad, 0x4b, 0x25, 0xb5, 0x1e, 0x9e, 0xbe, 0x92, - 0x94, 0x24, 0x37, 0x3f, 0xf1, 0x97, 0xce, 0xca, 0x62, 0xb9, 0xe0, 0x69, 0xab, 0x08, - 0xda, 0x9f, 0x38, 0xf2, + 0x74, 0x88, 0xda, 0x61, 0x1c, 0xfc, 0xdf, 0xa4, 0xff, 0x3d, 0x63, 0xf8, 0xc3, 0x6d, + 0x5a, 0x62, 0x9c, 0x58, 0x7e, 0x92, 0x20, 0xbd, 0x98, 0x9b, 0xda, 0x72, 0x06, 0x78, + 0xa9, 0xc9, 0x7b, 0xf7, ], Core::LeftExtend32_64 => [ - 0x3f, 0x66, 0x84, 0x04, 0x7e, 0xda, 0xfb, 0x76, 0xf1, 0x1f, 0xbf, 0x59, 0x54, 0x99, - 0xc5, 0xab, 0xa9, 0xc4, 0xba, 0x55, 0xca, 0xb5, 0x87, 0xcd, 0xfe, 0xba, 0xd4, 0x57, - 0xb5, 0x5b, 0xf5, 0xbb, + 0x34, 0x33, 0x50, 0x9a, 0x5d, 0xe5, 0x69, 0x5d, 0x92, 0xca, 0xb9, 0x25, 0x51, 0x43, + 0xd6, 0x06, 0x67, 0x05, 0x68, 0xc1, 0x47, 0xf4, 0x74, 0xd1, 0x35, 0x93, 0xf5, 0x39, + 0x5b, 0x9a, 0xd2, 0xc1, ], Core::LeftExtend8_16 => [ - 0xdb, 0xd5, 0x5f, 0x41, 0x70, 0x15, 0x38, 0x53, 0xba, 0xd0, 0xe0, 0x84, 0xf9, 0xe1, - 0xa7, 0xe7, 0x5a, 0x7a, 0x0d, 0xc9, 0xd8, 0x92, 0x07, 0x75, 0x57, 0x5b, 0x0d, 0x48, - 0xe5, 0x07, 0xaf, 0x2f, + 0x42, 0x0d, 0x0a, 0x56, 0x99, 0xb8, 0x87, 0x5a, 0xcc, 0x2d, 0x18, 0xfd, 0xa9, 0x0c, + 0x8a, 0x72, 0x74, 0x6d, 0x3e, 0x5e, 0x0c, 0xd8, 0xc1, 0x81, 0x89, 0x7a, 0x81, 0x4c, + 0x4c, 0x43, 0x39, 0x69, ], Core::LeftExtend8_32 => [ - 0x5b, 0x5b, 0x45, 0x67, 0x6a, 0x75, 0x03, 0xee, 0xd0, 0x85, 0x57, 0x38, 0x69, 0xdb, - 0xc5, 0x80, 0x0b, 0x35, 0x02, 0x9d, 0x14, 0x02, 0x90, 0xac, 0x20, 0x89, 0x14, 0x89, - 0xbd, 0x2a, 0xa7, 0xd5, + 0xc3, 0x0e, 0x47, 0x5d, 0x46, 0x50, 0xab, 0xe4, 0xae, 0x15, 0xc3, 0x27, 0x4a, 0xe8, + 0x83, 0x8d, 0xd5, 0x15, 0x88, 0xd1, 0x5b, 0xd0, 0xc6, 0xdc, 0xac, 0xf9, 0x82, 0xaa, + 0x46, 0x7b, 0xea, 0x62, ], Core::LeftExtend8_64 => [ - 0x7b, 0x9e, 0xa1, 0x48, 0xa3, 0x0f, 0x2a, 0xf4, 0xd4, 0x00, 0x1d, 0x4f, 0x25, 0xb0, - 0xbf, 0x4f, 0xdd, 0x67, 0xc7, 0xd0, 0xf1, 0x34, 0xd7, 0xef, 0x3f, 0x67, 0x8f, 0x72, - 0x19, 0x00, 0x2b, 0xcf, + 0xa6, 0x3a, 0x6e, 0x66, 0x72, 0xe1, 0xb6, 0xc7, 0x56, 0x54, 0x9a, 0x3e, 0xee, 0x01, + 0x94, 0x8e, 0x71, 0x19, 0x94, 0xfe, 0x18, 0xd7, 0xca, 0xed, 0xf1, 0x09, 0x15, 0xc1, + 0x60, 0xd7, 0xa8, 0x0d, ], Core::LeftPadHigh16_32 => [ - 0xe8, 0xc2, 0xd8, 0x5a, 0x7b, 0x7b, 0x2a, 0x8e, 0xbb, 0x5b, 0x0f, 0x21, 0x2f, 0xc8, - 0x45, 0x0d, 0xc1, 0xd3, 0xa4, 0x68, 0x22, 0xfb, 0x21, 0xe8, 0x6e, 0x3f, 0xee, 0x02, - 0x0a, 0xf9, 0x73, 0x8f, + 0x72, 0xec, 0xa5, 0xc1, 0x13, 0x74, 0x3e, 0xf0, 0xb6, 0x02, 0x55, 0xce, 0x56, 0x78, + 0x77, 0x72, 0xc7, 0xe7, 0x5e, 0xec, 0xb0, 0xe3, 0xb9, 0x1e, 0x1a, 0x84, 0x7d, 0x75, + 0xf4, 0x85, 0x14, 0x87, ], Core::LeftPadHigh16_64 => [ - 0x61, 0x3b, 0x85, 0xd2, 0xa7, 0x51, 0xb3, 0xe5, 0x1f, 0xbc, 0x59, 0xa1, 0xde, 0xdd, - 0x1f, 0xc7, 0x93, 0x36, 0x5e, 0x40, 0x71, 0xdc, 0x1e, 0x01, 0x41, 0x08, 0xd8, 0x92, - 0x0d, 0x41, 0xd4, 0x70, + 0xf6, 0xaf, 0x32, 0xbf, 0xe6, 0x69, 0x76, 0x11, 0x57, 0xce, 0xb1, 0xe8, 0x30, 0x27, + 0x7d, 0x61, 0x0e, 0x12, 0x4f, 0x15, 0xd5, 0x08, 0x68, 0x5e, 0x40, 0x37, 0xf8, 0xfb, + 0x38, 0x8f, 0xbd, 0xa9, ], Core::LeftPadHigh1_16 => [ - 0xe8, 0x2b, 0x00, 0xef, 0xd7, 0xdc, 0xc3, 0x4e, 0x96, 0xe8, 0xf3, 0xe5, 0x1e, 0xad, - 0x12, 0xd3, 0x84, 0x5f, 0x6c, 0x77, 0x85, 0xe4, 0x43, 0x8b, 0x05, 0x45, 0x7d, 0x95, - 0x32, 0x6e, 0x59, 0xe3, + 0xa7, 0xef, 0x7f, 0xc5, 0x2d, 0x9a, 0x03, 0x21, 0xf9, 0x22, 0x14, 0xc5, 0x87, 0x68, + 0x9c, 0x12, 0x69, 0x6e, 0x4c, 0x46, 0x02, 0xbf, 0x53, 0x95, 0x81, 0xaf, 0xaa, 0xeb, + 0xd7, 0x79, 0x45, 0xd6, ], Core::LeftPadHigh1_32 => [ - 0x88, 0x58, 0x5b, 0x8c, 0x45, 0x92, 0xd5, 0xd0, 0x83, 0xdf, 0xf6, 0x8e, 0xb5, 0xc2, - 0x30, 0xd0, 0x6c, 0x37, 0x99, 0x5a, 0x6f, 0xed, 0xe2, 0x2c, 0x26, 0xe6, 0x61, 0xa7, - 0x51, 0x6e, 0x5b, 0xf4, + 0xb5, 0x48, 0x26, 0x36, 0xc7, 0xaf, 0x61, 0xf6, 0x88, 0xf1, 0x2b, 0x4d, 0xce, 0x20, + 0x9f, 0xcb, 0x1a, 0x73, 0x2c, 0x49, 0x0a, 0xbb, 0x23, 0x6e, 0x73, 0x96, 0x8a, 0x01, + 0xd4, 0xd9, 0x35, 0x1e, ], Core::LeftPadHigh1_64 => [ - 0xc2, 0x7e, 0x3d, 0x02, 0x94, 0x92, 0x20, 0x58, 0x89, 0x0d, 0x5c, 0x8b, 0x67, 0x6c, - 0x1d, 0xae, 0xfd, 0xde, 0x65, 0x31, 0xe8, 0xae, 0x6d, 0x79, 0x37, 0x53, 0x92, 0x72, - 0x3e, 0xad, 0x9c, 0x03, + 0x6a, 0x9f, 0x2a, 0x1f, 0xf5, 0xd4, 0x6c, 0x8e, 0x6b, 0x7c, 0x3b, 0x81, 0x01, 0xaf, + 0xa0, 0x73, 0x55, 0xc4, 0xf6, 0x53, 0xc1, 0x46, 0x7e, 0x45, 0xcd, 0x25, 0xcc, 0x09, + 0x2e, 0x3a, 0x11, 0xfa, ], Core::LeftPadHigh1_8 => [ - 0x14, 0x3e, 0x12, 0x39, 0x2b, 0x8f, 0x2e, 0x73, 0x53, 0x71, 0xfe, 0xd0, 0xb4, 0xb6, - 0xd6, 0x23, 0xff, 0xa4, 0xf6, 0x60, 0xe5, 0x39, 0x0c, 0x00, 0xe5, 0x67, 0xcf, 0x21, - 0xa1, 0xc9, 0x20, 0x78, + 0xd7, 0x75, 0xa8, 0x8a, 0x24, 0x80, 0x04, 0xbd, 0x82, 0x1f, 0xa0, 0x80, 0x18, 0x52, + 0x1f, 0xe8, 0x81, 0x71, 0xe8, 0x42, 0x84, 0xe0, 0xda, 0xff, 0x4b, 0xc9, 0xe6, 0xca, + 0x1d, 0x8f, 0x8d, 0xe4, ], Core::LeftPadHigh32_64 => [ - 0xf4, 0x84, 0x7c, 0x67, 0x56, 0x67, 0xb3, 0xc6, 0xa8, 0x90, 0xfd, 0x5a, 0x6a, 0xdb, - 0x09, 0x27, 0x55, 0x7e, 0xe8, 0x0c, 0xd6, 0xe6, 0x5a, 0xf9, 0xb1, 0xb4, 0x72, 0x95, - 0x72, 0xcd, 0x86, 0x61, + 0x0b, 0xf4, 0x89, 0x4b, 0xa0, 0xe5, 0x43, 0x60, 0x18, 0xf7, 0xdd, 0xd1, 0xe1, 0xa1, + 0x2c, 0xa7, 0xcd, 0x73, 0x09, 0x6f, 0xef, 0x06, 0x6a, 0xd4, 0xb7, 0x78, 0xcc, 0x24, + 0x19, 0x57, 0xfa, 0xfc, ], Core::LeftPadHigh8_16 => [ - 0x76, 0x18, 0x05, 0x8a, 0x4e, 0x08, 0xeb, 0x52, 0x43, 0xda, 0xd2, 0x05, 0xcc, 0x7e, - 0x8d, 0x25, 0x47, 0x38, 0x0d, 0xa0, 0x5e, 0xc5, 0x41, 0x1e, 0xfc, 0x37, 0x2b, 0xaa, - 0x2b, 0xb1, 0x2d, 0xa6, + 0x06, 0xda, 0xf4, 0xf8, 0xd5, 0x94, 0x4f, 0x1f, 0x86, 0xdf, 0xbc, 0x37, 0x05, 0x87, + 0xb4, 0x4d, 0x88, 0x71, 0x61, 0x2b, 0x7a, 0x96, 0xb0, 0x54, 0x75, 0x61, 0x92, 0xdb, + 0x8f, 0xac, 0x19, 0xb7, ], Core::LeftPadHigh8_32 => [ - 0x3d, 0xfe, 0xd5, 0xc0, 0xa9, 0xb2, 0x6b, 0x8f, 0x4a, 0x8e, 0xab, 0xd6, 0xfb, 0xed, - 0x87, 0xbe, 0x45, 0x0d, 0xe7, 0x95, 0xf5, 0x41, 0x95, 0x3e, 0xec, 0x16, 0xa6, 0xd5, - 0xaa, 0x82, 0x5a, 0x56, + 0xbc, 0x20, 0x7c, 0x1e, 0x1e, 0xae, 0x88, 0xcd, 0x1b, 0xb4, 0xf9, 0x4c, 0x61, 0xdb, + 0xd8, 0x50, 0xbb, 0xfa, 0x64, 0xa6, 0x20, 0xeb, 0xc0, 0x4f, 0x0c, 0x86, 0x92, 0x8e, + 0xad, 0x2c, 0x32, 0x12, ], Core::LeftPadHigh8_64 => [ - 0xce, 0x7c, 0x40, 0x7e, 0x4b, 0x56, 0x17, 0x21, 0xd6, 0x6c, 0x1b, 0xb0, 0xd1, 0x7e, - 0xe8, 0x41, 0xb4, 0xd5, 0x04, 0xb4, 0xc4, 0xc0, 0x72, 0x00, 0x22, 0x37, 0x14, 0x0b, - 0x89, 0x09, 0x76, 0x9f, + 0xfa, 0x0c, 0x41, 0xc8, 0xce, 0x56, 0x09, 0x64, 0x4c, 0x74, 0xfa, 0x32, 0x8d, 0x64, + 0xc1, 0xdc, 0xa2, 0x80, 0x50, 0xd5, 0x3d, 0xfe, 0xa6, 0xa1, 0xe6, 0xdf, 0xb4, 0x20, + 0xd9, 0xb4, 0x74, 0x67, ], Core::LeftPadLow16_32 => [ - 0xa2, 0x8c, 0x79, 0x24, 0xa4, 0x7b, 0x46, 0xec, 0x73, 0xbc, 0xff, 0x6e, 0x13, 0x28, - 0xd4, 0x39, 0xaa, 0x90, 0x3a, 0xcf, 0x10, 0x3e, 0x9a, 0xa8, 0x0b, 0x65, 0xba, 0x76, - 0xd2, 0xa0, 0x8e, 0x75, + 0x23, 0xf7, 0x47, 0x96, 0xb8, 0x30, 0x20, 0xeb, 0xbf, 0x5a, 0xa5, 0xb6, 0x9a, 0xa1, + 0xf3, 0xd7, 0x3d, 0xf9, 0xb1, 0xc2, 0x67, 0xe0, 0x12, 0x4c, 0x5f, 0xfe, 0x18, 0x2a, + 0x63, 0xcd, 0x20, 0x22, ], Core::LeftPadLow16_64 => [ - 0xb6, 0x25, 0x8a, 0xcd, 0xa2, 0x11, 0x0e, 0xd9, 0x8c, 0x17, 0xbc, 0xa8, 0x27, 0x12, - 0xe3, 0xea, 0x60, 0x86, 0x6f, 0x7d, 0x40, 0x04, 0xc8, 0x3e, 0x8a, 0xe5, 0x24, 0xb7, - 0xba, 0x44, 0x00, 0x8b, + 0xe5, 0xd6, 0x46, 0x1a, 0xf1, 0x33, 0x1c, 0xeb, 0xa4, 0x55, 0x85, 0xe5, 0x6a, 0xe6, + 0xe1, 0x28, 0xdc, 0x7d, 0xaa, 0x0e, 0x07, 0x08, 0x61, 0xca, 0x6d, 0x19, 0xd8, 0x54, + 0x33, 0x88, 0x3d, 0xc4, ], Core::LeftPadLow1_16 => [ - 0x1e, 0x1f, 0x6c, 0xc4, 0x24, 0x64, 0x83, 0x75, 0x49, 0xb9, 0x7d, 0x30, 0x7e, 0x28, - 0xa9, 0xc2, 0x36, 0x80, 0x91, 0x4c, 0xd8, 0x6d, 0x65, 0xc3, 0x04, 0x67, 0x93, 0x12, - 0x7b, 0x54, 0xfe, 0x82, + 0x09, 0xdb, 0xcc, 0x20, 0x32, 0x82, 0x88, 0x55, 0x2a, 0xa9, 0xe9, 0x42, 0x6c, 0x5c, + 0xee, 0x24, 0xdf, 0xce, 0xba, 0x87, 0x22, 0x74, 0xae, 0xd5, 0x5a, 0x83, 0x20, 0x46, + 0x0a, 0x17, 0x91, 0xb2, ], Core::LeftPadLow1_32 => [ - 0xc3, 0x38, 0xa1, 0x95, 0x5e, 0x99, 0x82, 0x0d, 0x0e, 0xd3, 0x1a, 0x5a, 0xfe, 0xdd, - 0x13, 0x58, 0xc1, 0x74, 0x44, 0x02, 0x3e, 0x3f, 0x2b, 0x47, 0x33, 0xd9, 0xf6, 0x8c, - 0xb7, 0xb4, 0x0c, 0xd9, + 0x1d, 0x27, 0x63, 0xf2, 0x60, 0xd4, 0x72, 0x89, 0x6c, 0x88, 0x1c, 0x72, 0xfb, 0x22, + 0xb9, 0xa1, 0x19, 0x25, 0x8e, 0x12, 0x99, 0x61, 0x09, 0xd9, 0xc9, 0x49, 0xca, 0x61, + 0xf9, 0x37, 0xda, 0x0c, ], Core::LeftPadLow1_64 => [ - 0x68, 0x9e, 0xd5, 0x69, 0xc2, 0x01, 0x52, 0x1e, 0xc1, 0x95, 0x4f, 0x0d, 0xc7, 0xd2, - 0x12, 0x8e, 0x46, 0x5a, 0x52, 0x04, 0x99, 0x19, 0x05, 0x49, 0x85, 0x8d, 0xe9, 0xed, - 0x23, 0x1a, 0x5d, 0x69, + 0xa3, 0x76, 0x87, 0x8d, 0xfe, 0x35, 0x20, 0x47, 0x29, 0xf9, 0x1c, 0xdf, 0x5b, 0xe6, + 0x58, 0xab, 0xc5, 0xe7, 0x02, 0x5a, 0xd9, 0x62, 0x84, 0xc7, 0xf6, 0x31, 0x0e, 0x9f, + 0x9b, 0x1a, 0x5a, 0x3e, ], Core::LeftPadLow1_8 => [ - 0x5b, 0x51, 0x90, 0x53, 0xfd, 0x2b, 0xb7, 0x58, 0x47, 0x3a, 0xf8, 0xe3, 0x91, 0x0b, - 0xae, 0xf3, 0x3c, 0xc8, 0x01, 0xc0, 0xb1, 0x42, 0x0a, 0xaf, 0x81, 0x4a, 0x7e, 0x72, - 0x54, 0xea, 0x78, 0xf0, + 0x74, 0xc2, 0x06, 0x1b, 0x87, 0xf5, 0x19, 0x0f, 0xe7, 0x43, 0x22, 0xea, 0xc2, 0x42, + 0x2b, 0x38, 0xe3, 0x7e, 0x9f, 0xcc, 0x4d, 0x60, 0x97, 0xeb, 0x5c, 0xa4, 0xe3, 0x0b, + 0x12, 0x9b, 0x7a, 0x12, ], Core::LeftPadLow32_64 => [ - 0xac, 0x00, 0xa3, 0x4f, 0xb6, 0xa5, 0x8e, 0x57, 0xad, 0x22, 0x39, 0x50, 0x0e, 0x65, - 0x71, 0x37, 0x5d, 0xfd, 0xa0, 0xce, 0xa1, 0x17, 0x5f, 0xe9, 0x9d, 0x87, 0x5c, 0xd8, - 0x71, 0x81, 0x05, 0xe9, + 0xf3, 0x1a, 0xe2, 0x84, 0x31, 0x3f, 0xdf, 0x37, 0x73, 0xe3, 0xee, 0x43, 0x96, 0x7d, + 0xc8, 0xc6, 0x7b, 0x73, 0xb7, 0x80, 0x06, 0x69, 0x66, 0x71, 0xd9, 0x0d, 0xd2, 0x59, + 0xd9, 0xa8, 0x06, 0x13, ], Core::LeftPadLow8_16 => [ - 0xb6, 0xf6, 0x33, 0x4c, 0xc6, 0x60, 0xe3, 0x06, 0x9f, 0x7e, 0x14, 0x37, 0xa1, 0x94, - 0x3f, 0x61, 0x0f, 0xc5, 0xa5, 0xab, 0x8a, 0xa5, 0x10, 0x5b, 0xfc, 0xec, 0xd3, 0xda, - 0x0c, 0x59, 0x63, 0x3c, + 0x19, 0x04, 0x99, 0xa4, 0x9f, 0x87, 0x37, 0x32, 0xbf, 0xeb, 0x6d, 0x24, 0x3a, 0xfb, + 0x3b, 0x66, 0xdb, 0x07, 0xdc, 0xe3, 0x3f, 0xfe, 0x71, 0x73, 0x28, 0x41, 0x67, 0x08, + 0x70, 0x17, 0x00, 0xd4, ], Core::LeftPadLow8_32 => [ - 0x8a, 0xee, 0x9f, 0x42, 0xda, 0x9b, 0x84, 0x2e, 0x41, 0x18, 0x95, 0x96, 0x59, 0x47, - 0x56, 0xba, 0xd9, 0xba, 0xb2, 0x95, 0x3d, 0xea, 0xe6, 0x68, 0x56, 0xb9, 0xcb, 0x60, - 0x1d, 0x7a, 0xc5, 0x48, + 0xb2, 0xcd, 0x3f, 0xf0, 0xb4, 0xde, 0x89, 0x0e, 0x28, 0xb4, 0x27, 0x96, 0x41, 0x65, + 0x2f, 0xa0, 0x8f, 0x2a, 0x89, 0x87, 0x94, 0xf6, 0xee, 0x6b, 0x12, 0x82, 0xa7, 0x98, + 0x26, 0x44, 0x8d, 0x4a, ], Core::LeftPadLow8_64 => [ - 0x61, 0x1d, 0x64, 0xce, 0x94, 0xf8, 0x82, 0xfd, 0xa2, 0x4c, 0x97, 0xad, 0xd1, 0x90, - 0x54, 0x21, 0x2f, 0x46, 0xb3, 0xb9, 0x8e, 0xf2, 0xae, 0x22, 0x79, 0x36, 0x45, 0x39, - 0xb9, 0x3e, 0x2b, 0x8b, + 0x6e, 0x72, 0x89, 0x08, 0x25, 0x4e, 0x09, 0xf4, 0xd1, 0xa6, 0x2c, 0xae, 0x8d, 0x8a, + 0x59, 0x96, 0xe0, 0x2b, 0xd7, 0x28, 0x0d, 0x49, 0x67, 0x44, 0x40, 0x2f, 0xf3, 0x22, + 0xcd, 0x12, 0x02, 0x8f, ], Core::LeftRotate16 => [ - 0x25, 0xe2, 0xd4, 0xec, 0xc0, 0x3f, 0x87, 0x65, 0x5e, 0x96, 0x5b, 0x35, 0x7d, 0x6f, - 0xd0, 0xc2, 0xea, 0x36, 0xd1, 0x12, 0x06, 0x8c, 0x96, 0x33, 0x39, 0xde, 0x46, 0x7e, - 0x5c, 0x8e, 0x7d, 0x8e, + 0x2c, 0xe2, 0x67, 0xc9, 0xf8, 0xe4, 0x4e, 0x32, 0x65, 0xb0, 0x29, 0x9e, 0x55, 0x74, + 0x29, 0x76, 0xcc, 0xec, 0xeb, 0x3a, 0x9c, 0x41, 0x06, 0x17, 0x6f, 0xbf, 0x17, 0xe6, + 0x3d, 0x48, 0xd0, 0x6c, ], Core::LeftRotate32 => [ - 0x2d, 0x41, 0x89, 0xb3, 0x12, 0xe8, 0xce, 0xda, 0xaa, 0x38, 0x53, 0xa4, 0x5a, 0x12, - 0x98, 0x6e, 0xe2, 0x62, 0xfb, 0x60, 0x5f, 0x0d, 0x59, 0x2d, 0xcb, 0xb9, 0x61, 0x8f, - 0xe6, 0x7a, 0x25, 0x0b, + 0x0b, 0xef, 0x6b, 0x5f, 0x77, 0x1e, 0xcc, 0x6e, 0x6f, 0x5c, 0x26, 0xf6, 0x62, 0x2d, + 0xe8, 0x62, 0x4e, 0x44, 0x34, 0x97, 0x59, 0x95, 0x14, 0xf5, 0xbc, 0x68, 0xf6, 0x87, + 0x48, 0x80, 0xe0, 0x7a, ], Core::LeftRotate64 => [ - 0xb8, 0xe6, 0x8e, 0x0a, 0xd6, 0x82, 0xb9, 0x67, 0xf2, 0x4c, 0x09, 0x84, 0xf7, 0xd5, - 0xf8, 0x09, 0xa2, 0x85, 0x97, 0xa0, 0x43, 0x46, 0x18, 0xc8, 0x94, 0x9f, 0xa8, 0x08, - 0xe3, 0xbe, 0x76, 0x14, + 0xcc, 0x91, 0x42, 0x19, 0xd1, 0x4f, 0xe5, 0xd2, 0x20, 0xe2, 0xaa, 0x9b, 0x64, 0xf2, + 0x4b, 0x47, 0x5d, 0x80, 0xf2, 0xca, 0xfb, 0x75, 0x31, 0xd4, 0x26, 0x40, 0x96, 0x7c, + 0x08, 0x5f, 0x9c, 0xa4, ], Core::LeftRotate8 => [ - 0x95, 0x6a, 0x65, 0x3a, 0xe0, 0xb8, 0xf8, 0xc3, 0xf2, 0x9f, 0xd8, 0xf3, 0x31, 0x19, - 0x16, 0x8f, 0xcb, 0xe6, 0x4f, 0x5d, 0x76, 0x5f, 0xa9, 0xff, 0x6b, 0x8e, 0x3b, 0x0d, - 0x96, 0x1a, 0x16, 0x29, + 0xbd, 0x71, 0x19, 0xce, 0xb2, 0x3e, 0x56, 0xa0, 0x75, 0x9c, 0xda, 0xad, 0x8f, 0xd6, + 0x65, 0x17, 0x46, 0xf2, 0x96, 0x9c, 0x5e, 0xa7, 0xc5, 0x70, 0x6c, 0x49, 0x2e, 0xe0, + 0xcd, 0xa6, 0x52, 0xc2, ], Core::LeftShift16 => [ - 0x9b, 0xbc, 0xe2, 0x9e, 0x69, 0x5b, 0xe2, 0xe4, 0x83, 0x0c, 0x7a, 0x93, 0xa0, 0xd2, - 0x15, 0x1b, 0x66, 0x4f, 0xc2, 0x72, 0x06, 0xee, 0xd7, 0xe5, 0x0f, 0xce, 0xf6, 0x02, - 0xd3, 0x45, 0xce, 0x0d, + 0xfd, 0x9b, 0x6d, 0x05, 0xad, 0xbd, 0xb9, 0x9b, 0xc7, 0x4a, 0xab, 0x73, 0x33, 0x84, + 0x72, 0x4e, 0x30, 0x72, 0xd2, 0xa2, 0xc2, 0xdf, 0xeb, 0x34, 0x5e, 0x24, 0xb5, 0x07, + 0x4b, 0x52, 0x78, 0x59, ], Core::LeftShift32 => [ - 0xf9, 0xc4, 0xbf, 0x07, 0xd3, 0xe7, 0x2e, 0x85, 0xb1, 0xd4, 0x55, 0xf7, 0x34, 0xcf, - 0x1b, 0x11, 0xbe, 0xa5, 0x8e, 0x25, 0x3b, 0x85, 0x4a, 0x1a, 0x09, 0x7b, 0xab, 0x1e, - 0xc2, 0xc6, 0x2e, 0x1f, + 0xa4, 0xb3, 0xb3, 0xfc, 0x73, 0x45, 0xd3, 0x8f, 0xce, 0x54, 0x3f, 0x40, 0x1a, 0xe6, + 0xbd, 0x07, 0xba, 0x27, 0x42, 0xc3, 0x3d, 0x9a, 0xfa, 0xb3, 0xb3, 0xcc, 0xa3, 0xa0, + 0x25, 0x97, 0x3c, 0x98, ], Core::LeftShift64 => [ - 0x8c, 0xfa, 0x74, 0x1a, 0xa4, 0x1d, 0x82, 0x8a, 0x41, 0x08, 0x3b, 0xb7, 0xcb, 0xdd, - 0x1f, 0x4e, 0xda, 0x5d, 0xcc, 0xac, 0x52, 0x9b, 0x24, 0x7d, 0x18, 0x84, 0x95, 0xb4, - 0x9b, 0xb3, 0x8c, 0x2b, + 0x62, 0xb7, 0x11, 0xe8, 0x4b, 0x67, 0x64, 0x8d, 0x34, 0x72, 0xac, 0xe1, 0x86, 0x29, + 0x1e, 0xb6, 0xd7, 0x73, 0xdd, 0xc0, 0xb8, 0xa3, 0xfb, 0xc2, 0x08, 0xa2, 0x75, 0xe9, + 0xdb, 0x91, 0xdd, 0xdd, ], Core::LeftShift8 => [ - 0x95, 0x66, 0x3e, 0x07, 0x7c, 0xad, 0xca, 0x31, 0xb9, 0x59, 0x6b, 0x09, 0x70, 0x6c, - 0xdb, 0x4f, 0xa7, 0x03, 0x87, 0x0f, 0x79, 0x2a, 0x46, 0x35, 0x85, 0x2b, 0x5e, 0x24, - 0x69, 0xe6, 0xfd, 0xba, + 0x18, 0x7b, 0xba, 0x8e, 0x41, 0x63, 0xbd, 0xd0, 0xdd, 0xb5, 0x48, 0xff, 0x6e, 0xfa, + 0x6b, 0x7e, 0x2f, 0x3d, 0x09, 0x82, 0x97, 0xd2, 0x53, 0x3e, 0x77, 0xe8, 0xa7, 0x6b, + 0x6f, 0x2d, 0xd3, 0x24, ], Core::LeftShiftWith16 => [ - 0x62, 0x14, 0xc4, 0x56, 0x25, 0xd7, 0x04, 0xce, 0xc9, 0x87, 0xb7, 0x96, 0x67, 0x6f, - 0x15, 0x66, 0x1a, 0x6b, 0xf5, 0xdc, 0x0f, 0x6a, 0x51, 0xcb, 0x86, 0x5a, 0x0e, 0x71, - 0xd6, 0x6f, 0xbf, 0x95, + 0x2d, 0xd4, 0x1a, 0xc4, 0xf1, 0xd6, 0xd9, 0x68, 0x70, 0xff, 0x49, 0x66, 0x31, 0xd4, + 0x0a, 0x4f, 0xf7, 0xed, 0xeb, 0x13, 0x7d, 0x63, 0xda, 0xfe, 0xe0, 0x02, 0xfa, 0x2d, + 0xda, 0x29, 0xa7, 0x57, ], Core::LeftShiftWith32 => [ - 0x1b, 0x45, 0x2f, 0xc7, 0xab, 0x5c, 0x71, 0x47, 0x45, 0x4a, 0xf4, 0xd5, 0x59, 0x54, - 0x81, 0xff, 0xac, 0x42, 0xde, 0xa1, 0x06, 0x03, 0x2b, 0x3b, 0x9f, 0x37, 0x5b, 0xed, - 0xcd, 0xa6, 0xf4, 0xd6, + 0x9b, 0xfb, 0x24, 0x90, 0xbb, 0xa1, 0xeb, 0x3b, 0x7e, 0x25, 0x6a, 0x26, 0x09, 0x66, + 0xdc, 0x90, 0x9e, 0x73, 0xfd, 0x12, 0x59, 0x1e, 0xe1, 0x40, 0x67, 0x37, 0x18, 0xf9, + 0xf1, 0x0f, 0xc4, 0x9f, ], Core::LeftShiftWith64 => [ - 0xc3, 0x8b, 0x02, 0xab, 0xcf, 0xf5, 0x14, 0xd9, 0x61, 0x91, 0xa7, 0xfe, 0xfb, 0xa1, - 0xac, 0x16, 0xe9, 0xc1, 0x50, 0xa1, 0x8c, 0xe1, 0xc5, 0xbc, 0xf0, 0x9d, 0x67, 0x55, - 0xe0, 0x36, 0x99, 0x05, + 0x85, 0x77, 0x46, 0x93, 0x7d, 0xe2, 0xc4, 0xc5, 0xa5, 0x5a, 0x90, 0xf3, 0x16, 0x0e, + 0xb9, 0x91, 0xdd, 0xbb, 0x60, 0x74, 0xf8, 0xa7, 0xc7, 0xc5, 0x8e, 0x8b, 0x2e, 0x38, + 0x22, 0x18, 0xa9, 0xfa, ], Core::LeftShiftWith8 => [ - 0x21, 0x7a, 0xd6, 0xdc, 0x12, 0x92, 0xaa, 0x42, 0xdb, 0xd8, 0x4d, 0xbd, 0x97, 0x1c, - 0x11, 0x8f, 0x02, 0xa9, 0x74, 0x0a, 0x7c, 0xb5, 0x66, 0x1e, 0x90, 0xd4, 0x2d, 0xd5, - 0xca, 0x8c, 0xa4, 0xd9, + 0xf6, 0xf5, 0xbc, 0x6f, 0x43, 0xf6, 0x61, 0xe2, 0x72, 0x7c, 0x9e, 0xc8, 0x19, 0x63, + 0x88, 0xbc, 0xc4, 0x2b, 0x20, 0x36, 0x06, 0xa7, 0x78, 0xd5, 0x53, 0xa4, 0xea, 0x35, + 0x3f, 0xfc, 0x4b, 0xe6, ], Core::Leftmost16_1 => [ - 0x3e, 0xa8, 0x9e, 0x43, 0x20, 0x77, 0x94, 0x0d, 0x0b, 0xbf, 0x9e, 0xd2, 0xcf, 0x16, - 0xba, 0x63, 0x11, 0x10, 0xe7, 0xab, 0x9f, 0x19, 0xee, 0xf3, 0xea, 0x92, 0x5a, 0x69, - 0x9f, 0x60, 0xc6, 0x0c, + 0x7f, 0xaf, 0x54, 0x9e, 0xf6, 0x20, 0xd0, 0xd8, 0xf9, 0x0b, 0x6d, 0x08, 0x42, 0x0c, + 0xf5, 0xe9, 0x8e, 0x93, 0x84, 0xea, 0x71, 0x6b, 0x82, 0xd7, 0xd8, 0xe1, 0x97, 0xa8, + 0xc4, 0x6e, 0x33, 0xce, ], Core::Leftmost16_2 => [ - 0x5c, 0xe2, 0xbd, 0x7a, 0xc3, 0x5a, 0x7c, 0x33, 0x73, 0xc3, 0xdd, 0x60, 0x7f, 0x48, - 0xe5, 0xd4, 0xc7, 0xaa, 0xa6, 0xc6, 0x9f, 0xc4, 0x93, 0x0e, 0xca, 0x14, 0x04, 0x9f, - 0x5d, 0x39, 0xff, 0xab, + 0xf2, 0xac, 0x7c, 0x05, 0x96, 0x4a, 0x69, 0x9c, 0xe5, 0x95, 0xfb, 0x21, 0xee, 0xc1, + 0x61, 0xe8, 0x7a, 0x11, 0xb6, 0x51, 0x63, 0x0d, 0x9a, 0x28, 0x93, 0x09, 0x4e, 0xa3, + 0xf3, 0x31, 0x72, 0x43, ], Core::Leftmost16_4 => [ - 0x10, 0x12, 0xa1, 0x39, 0x3e, 0xd0, 0xf9, 0x1d, 0x75, 0xad, 0x59, 0x12, 0x28, 0x53, - 0x89, 0x3a, 0x7f, 0x25, 0xcd, 0x35, 0xc8, 0x03, 0x6c, 0x7f, 0xa1, 0x95, 0x68, 0x2c, - 0xa1, 0x45, 0x8c, 0x4a, + 0x5a, 0x5e, 0xc5, 0x03, 0x9a, 0xa3, 0xaa, 0x0e, 0x58, 0xf7, 0xce, 0x64, 0xef, 0xd0, + 0x3a, 0xc2, 0x97, 0x41, 0x0f, 0x2c, 0xf4, 0x58, 0x17, 0xaf, 0x54, 0xef, 0xa6, 0xa0, + 0x07, 0x6b, 0x6f, 0x70, ], Core::Leftmost16_8 => [ - 0xcc, 0xd3, 0x1e, 0x9e, 0xb1, 0xa1, 0xbb, 0xde, 0x55, 0x5c, 0x0f, 0x73, 0x1a, 0xf2, - 0xd3, 0xd4, 0xff, 0x53, 0x88, 0xfa, 0x14, 0x61, 0x82, 0x6a, 0xa9, 0xc8, 0x93, 0x42, - 0x42, 0xac, 0x75, 0x3f, + 0xe2, 0x25, 0x43, 0xf8, 0xfe, 0x86, 0x1d, 0xba, 0xee, 0x74, 0x4b, 0x0b, 0x8f, 0x58, + 0xb4, 0x7b, 0x9d, 0x13, 0xfb, 0x35, 0xa9, 0x50, 0x86, 0x3a, 0x59, 0x09, 0x7c, 0xf4, + 0xd4, 0x27, 0x24, 0xb9, ], Core::Leftmost32_1 => [ - 0xb7, 0x14, 0xad, 0x74, 0xae, 0x04, 0x5a, 0xf7, 0x56, 0x80, 0x77, 0x8a, 0x03, 0x27, - 0x61, 0xa4, 0xc7, 0x26, 0xd7, 0xb6, 0xd9, 0x77, 0xbc, 0x93, 0xa4, 0x12, 0x56, 0x54, - 0x3c, 0xae, 0x8d, 0x3d, + 0xb3, 0x6d, 0xb0, 0x59, 0xdd, 0x42, 0xd7, 0x07, 0xbf, 0xa8, 0x39, 0xf8, 0x3b, 0xc2, + 0xed, 0x1d, 0xb5, 0x01, 0xb2, 0x3a, 0xf9, 0xaf, 0x71, 0x3f, 0x41, 0xff, 0x75, 0x5f, + 0xe2, 0xb3, 0xe9, 0x89, ], Core::Leftmost32_16 => [ - 0x1b, 0x20, 0x63, 0x4f, 0xb4, 0x3e, 0xb8, 0x3a, 0x96, 0x8c, 0x3c, 0x81, 0xc0, 0x08, - 0x7c, 0x63, 0xd5, 0xd4, 0xf8, 0xca, 0xcd, 0xbd, 0x3e, 0x0e, 0x9f, 0x9a, 0x3d, 0x75, - 0x91, 0xc3, 0xef, 0x62, + 0xf1, 0x3e, 0xe3, 0x7b, 0xe6, 0x12, 0xe9, 0xdf, 0xf4, 0x90, 0x7e, 0xc3, 0xf1, 0xdd, + 0xe8, 0x6c, 0x58, 0xfe, 0xd4, 0xb1, 0x1a, 0x93, 0xb3, 0xbb, 0x2c, 0x79, 0x58, 0x00, + 0x49, 0x97, 0x92, 0x2e, ], Core::Leftmost32_2 => [ - 0x75, 0x2d, 0xda, 0x08, 0xe4, 0x0f, 0xae, 0xa0, 0xf6, 0xc4, 0xee, 0x3d, 0x34, 0x4b, - 0x7c, 0x4e, 0xa1, 0x1b, 0x97, 0x1d, 0xce, 0xc5, 0x55, 0x92, 0xb8, 0x22, 0xee, 0x56, - 0x27, 0x1c, 0xa5, 0xdf, + 0x57, 0xd0, 0x25, 0x1a, 0xb5, 0x66, 0xa3, 0xd2, 0x48, 0xec, 0x6e, 0x7c, 0xd1, 0xe3, + 0xe9, 0xc7, 0x1b, 0x1d, 0xde, 0x0c, 0xf2, 0x84, 0x4a, 0x8c, 0x8a, 0xe7, 0x48, 0xbd, + 0x18, 0xd3, 0x73, 0x5c, ], Core::Leftmost32_4 => [ - 0x44, 0xe9, 0xf7, 0x79, 0xa0, 0x29, 0xec, 0xfc, 0x97, 0x62, 0xb8, 0xb6, 0xcb, 0xaf, - 0x09, 0x22, 0xd9, 0x35, 0xfe, 0xa5, 0x15, 0x0a, 0x54, 0x6a, 0x5f, 0xc1, 0xfd, 0xb8, - 0xb9, 0x53, 0x41, 0x34, + 0x66, 0x68, 0x9b, 0xd5, 0xeb, 0x6a, 0x6d, 0xd5, 0xfc, 0x6b, 0x52, 0xfe, 0x90, 0xc1, + 0x74, 0xef, 0x0f, 0xa8, 0xb5, 0x17, 0x99, 0x30, 0x85, 0xc9, 0x01, 0xc5, 0x70, 0x2b, + 0xbd, 0x1f, 0xac, 0xe7, ], Core::Leftmost32_8 => [ - 0x54, 0x80, 0x1e, 0xb5, 0xe7, 0x78, 0xcf, 0x6c, 0xda, 0x95, 0xcc, 0xf5, 0x70, 0x28, - 0x6d, 0x81, 0x6d, 0x3a, 0x1f, 0xf1, 0xdd, 0x39, 0xdb, 0x5a, 0xb6, 0x13, 0x6f, 0x0e, - 0xc3, 0xb7, 0x2d, 0xc6, + 0xc8, 0x85, 0x1f, 0xf6, 0x22, 0x06, 0xe8, 0x65, 0xc3, 0xb2, 0x66, 0x41, 0x98, 0x1d, + 0x0a, 0xe1, 0x60, 0xd3, 0xd4, 0x43, 0x7a, 0x98, 0x00, 0x62, 0x79, 0xdb, 0xb3, 0xa2, + 0x57, 0x76, 0x69, 0x8e, ], Core::Leftmost64_1 => [ - 0xb3, 0x16, 0xaf, 0x24, 0xc8, 0x6b, 0x39, 0x61, 0x3d, 0x4f, 0xd1, 0xb3, 0x92, 0x6a, - 0x84, 0x13, 0x0e, 0xb7, 0xab, 0x12, 0xfd, 0xef, 0x62, 0x33, 0x17, 0xab, 0x48, 0xf7, - 0x7c, 0xb6, 0x21, 0x45, + 0xe0, 0x5e, 0xa1, 0x9d, 0x39, 0xee, 0x23, 0x5d, 0xde, 0x58, 0xe3, 0x1e, 0x4b, 0x95, + 0x34, 0xb6, 0xcb, 0x39, 0x9b, 0x1f, 0x2f, 0xa1, 0x81, 0x48, 0x8c, 0xed, 0xc2, 0x03, + 0xcd, 0x95, 0x96, 0x2a, ], Core::Leftmost64_16 => [ - 0x8c, 0xf8, 0x54, 0x81, 0xe0, 0xf0, 0x08, 0x38, 0xb5, 0x23, 0x9b, 0xbf, 0xad, 0x13, - 0x82, 0xf0, 0x7b, 0xd0, 0x3c, 0x12, 0x1d, 0x5d, 0x8a, 0xaf, 0xa6, 0xd9, 0x83, 0x41, - 0x6d, 0xe4, 0x5c, 0x32, + 0xc3, 0xdd, 0xb0, 0x79, 0xc1, 0x12, 0x92, 0x5d, 0x42, 0x3b, 0xbd, 0x30, 0xd9, 0x02, + 0x26, 0x1e, 0x68, 0xa4, 0x1c, 0x3d, 0xe4, 0x38, 0x11, 0x66, 0xe1, 0x40, 0x05, 0x02, + 0x8b, 0xa8, 0x4b, 0x98, ], Core::Leftmost64_2 => [ - 0xda, 0x40, 0xc8, 0x9b, 0x15, 0xc9, 0xe8, 0x6b, 0x02, 0x8c, 0xe9, 0xec, 0x07, 0xb7, - 0xf6, 0x99, 0x5a, 0x5d, 0xdd, 0xa4, 0x85, 0x0a, 0x91, 0xaf, 0x8c, 0x60, 0xe0, 0x2b, - 0xf9, 0x91, 0xfb, 0x0c, + 0x26, 0x4d, 0xb1, 0x23, 0x78, 0xdf, 0xad, 0xc1, 0xad, 0x6f, 0xf8, 0xd5, 0x78, 0xec, + 0x4d, 0xa1, 0x85, 0x32, 0xa1, 0xe6, 0xbd, 0xab, 0x7c, 0x17, 0x56, 0x9f, 0xdd, 0x7b, + 0xf4, 0x06, 0xfb, 0x20, ], Core::Leftmost64_32 => [ - 0x95, 0xf4, 0x6d, 0xb9, 0xd9, 0x06, 0xf0, 0x50, 0x53, 0x45, 0x5e, 0x95, 0x34, 0xeb, - 0x9b, 0x08, 0xb0, 0x9e, 0x38, 0xbc, 0x0f, 0xc6, 0x98, 0xa1, 0x6f, 0x4b, 0x2a, 0x62, - 0x71, 0x07, 0x59, 0xd1, + 0x19, 0xa5, 0xd5, 0x3f, 0xe6, 0xb3, 0x0b, 0xe0, 0x2b, 0x91, 0xba, 0xfc, 0x63, 0xcb, + 0xe5, 0x50, 0x55, 0x98, 0xc1, 0x42, 0x55, 0xd8, 0x9e, 0x33, 0x48, 0x56, 0xdb, 0x5b, + 0x5b, 0xa2, 0x0d, 0xed, ], Core::Leftmost64_4 => [ - 0xf5, 0x01, 0xf9, 0x05, 0xfb, 0x8b, 0xab, 0xa1, 0xa7, 0xe8, 0xa6, 0xbf, 0x68, 0xd3, - 0xae, 0x6a, 0x0a, 0xdd, 0x91, 0x95, 0x1b, 0x56, 0x62, 0x9d, 0x59, 0xf4, 0x28, 0x73, - 0x9e, 0x7e, 0x41, 0xa2, + 0x4c, 0x6f, 0xc8, 0xa0, 0x65, 0x46, 0x8e, 0x47, 0x51, 0x84, 0x4a, 0xef, 0xb6, 0xcc, + 0x49, 0x57, 0x58, 0x64, 0xf5, 0x67, 0xc5, 0x62, 0x86, 0x65, 0x4c, 0x43, 0xb3, 0xf8, + 0x33, 0x30, 0x32, 0x31, ], Core::Leftmost64_8 => [ - 0xb3, 0x7f, 0x0b, 0xa2, 0xfc, 0xbd, 0x4a, 0xe3, 0x31, 0x6a, 0x4f, 0xe4, 0xf5, 0x8a, - 0xa1, 0xa5, 0x41, 0x74, 0x0c, 0xde, 0x60, 0xed, 0x87, 0xf3, 0x38, 0x62, 0xa2, 0xff, - 0xec, 0xad, 0x44, 0x2f, + 0x98, 0xb5, 0xe0, 0x16, 0xbd, 0x41, 0x45, 0x77, 0x8d, 0xfc, 0x63, 0x17, 0xdc, 0x65, + 0xd6, 0xc7, 0x5f, 0xef, 0x28, 0x57, 0x96, 0xb5, 0x9d, 0xea, 0xf1, 0x4a, 0xa0, 0x31, + 0x99, 0xf9, 0x48, 0x96, ], Core::Leftmost8_1 => [ - 0x5f, 0xdc, 0xfa, 0x9b, 0x9a, 0x4b, 0x65, 0xc7, 0x20, 0x74, 0x71, 0xe5, 0x33, 0x92, - 0x8d, 0x6a, 0x24, 0xf4, 0xb6, 0xff, 0x9b, 0x34, 0x5e, 0xf7, 0x61, 0xb1, 0x48, 0x0a, - 0x8a, 0x05, 0xe3, 0xd7, + 0x38, 0xe3, 0x98, 0x5f, 0x1f, 0x99, 0xea, 0xb1, 0xa7, 0x87, 0xe7, 0x20, 0x0c, 0x30, + 0xcd, 0x9b, 0x95, 0x63, 0x1f, 0x95, 0xb4, 0x19, 0xfd, 0x76, 0xec, 0xe1, 0x99, 0x67, + 0xd1, 0xb0, 0x30, 0x69, ], Core::Leftmost8_2 => [ - 0x62, 0x42, 0x21, 0xe9, 0xf8, 0xa9, 0x16, 0x91, 0x26, 0xc7, 0x33, 0x47, 0x96, 0x48, - 0xc7, 0x3b, 0x68, 0xc6, 0xb8, 0xeb, 0xbb, 0x60, 0xc7, 0x2a, 0xf1, 0xe6, 0xfc, 0x65, - 0xe7, 0xd3, 0x07, 0x23, + 0x51, 0xdb, 0xca, 0xeb, 0xc3, 0xac, 0x16, 0x43, 0xe5, 0xb0, 0x8c, 0xa2, 0x55, 0x29, + 0xf0, 0xe2, 0xb0, 0xbd, 0x9b, 0xdf, 0xa0, 0x41, 0xfd, 0x4d, 0xb7, 0x70, 0x29, 0xd0, + 0xc5, 0xff, 0x15, 0xb9, ], Core::Leftmost8_4 => [ - 0x1a, 0x48, 0x43, 0xc4, 0x08, 0xe1, 0xd4, 0x6c, 0x9c, 0x93, 0x89, 0x46, 0x34, 0x49, - 0x5f, 0x8a, 0xd6, 0xa6, 0x80, 0xe3, 0x2d, 0xd6, 0xf2, 0x5b, 0xa1, 0x9d, 0xbc, 0x60, - 0xa6, 0x0d, 0x18, 0x97, + 0xb3, 0x94, 0x20, 0x9c, 0x9b, 0x34, 0x28, 0x4d, 0xde, 0x65, 0xea, 0x97, 0x35, 0xe4, + 0xeb, 0x0c, 0xdf, 0x01, 0xce, 0x87, 0x10, 0xe5, 0x8c, 0x5e, 0xd2, 0x0e, 0x8b, 0x94, + 0x6b, 0xf3, 0xf6, 0xea, ], Core::LinearCombination1 => [ - 0x00, 0xbe, 0xf1, 0x44, 0xda, 0x3f, 0x51, 0x63, 0x31, 0x8c, 0x01, 0xeb, 0x66, 0xcc, - 0x68, 0x1f, 0x29, 0xcc, 0xb9, 0x87, 0xea, 0x2a, 0x88, 0xd0, 0x83, 0x34, 0x5a, 0x1c, - 0xaa, 0x08, 0x2c, 0xe3, + 0xfd, 0xd4, 0x7c, 0xa5, 0xc3, 0xb8, 0xbe, 0xd9, 0xf5, 0xf8, 0x27, 0x32, 0x9a, 0xf7, + 0xc0, 0x8b, 0x88, 0xd3, 0x54, 0x21, 0xd3, 0xd0, 0x2f, 0x3d, 0x6c, 0xae, 0x3e, 0x5b, + 0x49, 0xdc, 0xbe, 0xa3, ], Core::LinearVerify1 => [ - 0x0c, 0x9f, 0xae, 0x64, 0xa6, 0x4c, 0xd6, 0x3c, 0xa8, 0x5b, 0xeb, 0xa7, 0x5c, 0x9f, - 0x2c, 0x6e, 0x85, 0x34, 0x3b, 0x74, 0xf2, 0x86, 0x34, 0xea, 0x85, 0xf7, 0x0f, 0xc3, - 0x41, 0xcc, 0xaf, 0xf3, + 0x7b, 0xe5, 0xd0, 0x46, 0x72, 0x84, 0x64, 0xb8, 0x30, 0x1d, 0x89, 0xd9, 0xd0, 0xde, + 0x8e, 0x19, 0x67, 0x5d, 0xf4, 0xd9, 0x10, 0x04, 0x7b, 0x25, 0xb3, 0x72, 0xd2, 0xc4, + 0x16, 0x6b, 0x3a, 0x0d, ], Core::Low1 => [ - 0xdb, 0x4a, 0x42, 0x4a, 0x20, 0xae, 0xef, 0xa4, 0xe7, 0x42, 0xd5, 0x1d, 0x84, 0x92, - 0x92, 0x18, 0xcb, 0xf7, 0x34, 0x72, 0x61, 0x76, 0xdc, 0x4f, 0xf9, 0xf8, 0xbf, 0x13, - 0xde, 0x10, 0xca, 0x2b, + 0xf3, 0xd1, 0x0b, 0x07, 0x49, 0x33, 0x2c, 0xdd, 0xae, 0x0a, 0x49, 0xcc, 0x02, 0x65, + 0x7b, 0x02, 0x58, 0xe0, 0xa5, 0xa7, 0x05, 0x95, 0x81, 0x00, 0x22, 0xc5, 0xa6, 0x4e, + 0x90, 0x40, 0x88, 0xb0, ], Core::Low16 => [ - 0xa1, 0x14, 0xe9, 0x58, 0x0d, 0xe0, 0x7d, 0x8b, 0x07, 0x7e, 0xb8, 0x89, 0x98, 0x75, - 0x5a, 0x0a, 0x62, 0xbf, 0xe0, 0x85, 0xfb, 0x23, 0x40, 0x4c, 0xd1, 0xe8, 0x78, 0x68, - 0xcd, 0x56, 0xd5, 0xbd, + 0x67, 0x0d, 0x1c, 0xf0, 0x8d, 0x65, 0x5f, 0x40, 0xfd, 0xa2, 0x27, 0x7a, 0xa9, 0x15, + 0x54, 0x14, 0xa3, 0xb4, 0xd8, 0x0e, 0x97, 0xf6, 0xb8, 0x67, 0xd4, 0xe5, 0x62, 0xe3, + 0xa0, 0x5b, 0x46, 0x45, ], Core::Low32 => [ - 0xa7, 0x17, 0x61, 0x0e, 0x8c, 0x57, 0x71, 0x25, 0x51, 0x40, 0xd6, 0x20, 0x7f, 0xff, - 0x3b, 0xdd, 0x34, 0x64, 0xac, 0xff, 0x59, 0x98, 0xe1, 0x29, 0xaf, 0x8b, 0x9f, 0x4c, - 0x0e, 0x21, 0xb2, 0x3d, + 0xd9, 0xbf, 0x78, 0xc4, 0x9f, 0x8d, 0x6b, 0x7a, 0xe4, 0xb4, 0xb0, 0x84, 0xf0, 0xd3, + 0x64, 0xf7, 0x2b, 0x04, 0x62, 0xff, 0x39, 0xc3, 0x21, 0xc0, 0x2d, 0x92, 0xb5, 0x42, + 0x60, 0x86, 0xd0, 0xb5, ], Core::Low64 => [ - 0x9a, 0x6f, 0x4a, 0x0a, 0xd2, 0xfb, 0x72, 0xc5, 0x79, 0x42, 0x4c, 0x72, 0xe1, 0x7d, - 0xaa, 0xe6, 0x2b, 0x36, 0x66, 0x95, 0xcd, 0x1a, 0x26, 0x85, 0xfb, 0x0a, 0xb0, 0x2e, - 0x4c, 0x2c, 0xc0, 0xf5, + 0x36, 0x4d, 0xa0, 0x86, 0xeb, 0xe3, 0x01, 0x1b, 0x1b, 0x58, 0x5f, 0x5c, 0xb9, 0xab, + 0xc8, 0x7e, 0xe5, 0x7b, 0x56, 0x37, 0xcb, 0x95, 0xec, 0xf3, 0x12, 0x93, 0x8d, 0xf2, + 0x86, 0x30, 0xfd, 0xa4, ], Core::Low8 => [ - 0x69, 0xc9, 0xb9, 0xca, 0xb9, 0xf4, 0x4c, 0xff, 0xae, 0xdf, 0x1c, 0x84, 0x31, 0x46, - 0xbc, 0xc0, 0xb0, 0x3b, 0x0f, 0x0c, 0x13, 0x48, 0x66, 0xaf, 0xd2, 0x3a, 0x61, 0x4f, - 0x01, 0xa7, 0x0a, 0x24, + 0xd4, 0x24, 0x4f, 0x7c, 0x17, 0xb0, 0x49, 0x04, 0x8a, 0xc5, 0x8b, 0x4d, 0xa5, 0x78, + 0x16, 0x9d, 0x0e, 0xd6, 0x51, 0x49, 0x40, 0x8e, 0xa9, 0xb0, 0x33, 0xb3, 0xd8, 0xb7, + 0x7d, 0x76, 0xc6, 0x87, ], Core::Lt16 => [ - 0x4f, 0x46, 0x5a, 0x49, 0xa9, 0x63, 0xac, 0xce, 0x93, 0xf6, 0xb6, 0xf8, 0x23, 0xeb, - 0x94, 0x72, 0xb4, 0xcc, 0x21, 0xf6, 0xe5, 0x8b, 0x76, 0x57, 0x05, 0x08, 0xba, 0xbd, - 0xf4, 0x4a, 0x8c, 0x97, + 0x32, 0x60, 0x28, 0x44, 0xfb, 0x68, 0xeb, 0x7a, 0xf6, 0xf7, 0xf1, 0xbd, 0xa3, 0x50, + 0xe2, 0x29, 0x2c, 0x3f, 0xc2, 0x87, 0xf8, 0x1e, 0xca, 0x17, 0xf0, 0x68, 0xf4, 0xfa, + 0x94, 0x2d, 0x40, 0x2a, ], Core::Lt32 => [ - 0xd3, 0x42, 0x1d, 0xfc, 0x84, 0x67, 0x1c, 0xd7, 0x44, 0x50, 0x82, 0xa9, 0x86, 0xdf, - 0x16, 0x28, 0xed, 0xca, 0xcb, 0xf4, 0x29, 0xa3, 0xc8, 0x09, 0xd2, 0x36, 0x54, 0x97, - 0xe1, 0x17, 0x0b, 0xfd, + 0xb7, 0x03, 0xd3, 0x5d, 0xee, 0xd9, 0x6c, 0xe3, 0x9d, 0xf8, 0xad, 0x21, 0x4f, 0x74, + 0x89, 0x8a, 0x17, 0x65, 0xaa, 0x14, 0x06, 0xbc, 0xe4, 0xbf, 0x9a, 0xfc, 0x5c, 0x63, + 0xa8, 0x38, 0x2d, 0x9e, ], Core::Lt64 => [ - 0x7c, 0x67, 0xaa, 0x89, 0x93, 0xfc, 0xda, 0x59, 0x30, 0xf7, 0x9d, 0xb2, 0x00, 0x8a, - 0xa6, 0xd7, 0xbe, 0x5f, 0x3b, 0xed, 0x5a, 0xca, 0x5e, 0x03, 0x2d, 0xcc, 0xcf, 0x0b, - 0xe8, 0x4f, 0x62, 0xd1, + 0x94, 0xf1, 0xe4, 0x8d, 0x7c, 0x87, 0xc1, 0x80, 0x83, 0x84, 0x1e, 0xc1, 0x24, 0x67, + 0x94, 0x2b, 0x76, 0xa8, 0x93, 0xfa, 0x08, 0xe9, 0x41, 0x23, 0xb4, 0xfe, 0x80, 0x20, + 0xd5, 0xf1, 0xd9, 0xaf, ], Core::Lt8 => [ - 0x98, 0x76, 0x3f, 0x78, 0x21, 0x69, 0x09, 0x54, 0xcf, 0x50, 0x81, 0x02, 0x09, 0xdf, - 0x6e, 0x15, 0x57, 0x03, 0x16, 0xbb, 0xa8, 0x9f, 0xfa, 0x9a, 0xe5, 0x56, 0xa9, 0x15, - 0xf3, 0x7b, 0x64, 0x0b, + 0xf4, 0x0a, 0x8c, 0xfa, 0x78, 0x39, 0x93, 0x9c, 0xa4, 0xdd, 0x3d, 0x01, 0x22, 0xd4, + 0xb5, 0x6c, 0xc3, 0xc6, 0x54, 0xe3, 0x5e, 0x2a, 0xf2, 0xd3, 0x51, 0x1f, 0xc9, 0x44, + 0x6c, 0xf0, 0xf8, 0xaf, ], Core::Maj1 => [ - 0xae, 0x8b, 0x91, 0x2e, 0x3a, 0xd4, 0x7f, 0x68, 0x8b, 0xbb, 0x46, 0xc8, 0xcb, 0x6d, - 0x53, 0x33, 0x69, 0xf5, 0x10, 0x9a, 0x27, 0x30, 0x47, 0x1e, 0xab, 0x6e, 0xfe, 0x98, - 0xe9, 0xea, 0x5e, 0x78, + 0x79, 0xd1, 0x85, 0xf5, 0x3d, 0x2e, 0x2f, 0xab, 0x87, 0x54, 0xc1, 0xb9, 0x58, 0xa5, + 0xa1, 0xb5, 0xb9, 0xdf, 0xa5, 0x0d, 0x90, 0x0c, 0xe4, 0x3a, 0xd7, 0x35, 0x61, 0xb4, + 0x4a, 0x88, 0x78, 0x22, ], Core::Maj16 => [ - 0xf5, 0xa4, 0x1d, 0xa0, 0x37, 0x7f, 0xe6, 0x88, 0xac, 0x2f, 0xcd, 0xf3, 0x5b, 0x6b, - 0x7a, 0x47, 0x2e, 0x78, 0xea, 0x69, 0xfd, 0x2b, 0x17, 0xf7, 0x56, 0x34, 0x2b, 0xaa, - 0x1f, 0x8b, 0x9f, 0xdd, + 0xa1, 0x7f, 0x14, 0xf2, 0x9c, 0xe6, 0x4c, 0xc0, 0xa3, 0x41, 0x07, 0x06, 0x74, 0x7a, + 0x48, 0x32, 0x19, 0x0a, 0xf2, 0x3c, 0x03, 0xca, 0xc1, 0x64, 0xa4, 0x7f, 0xc1, 0x27, + 0xb4, 0x8f, 0x34, 0x28, ], Core::Maj32 => [ - 0xf1, 0xd9, 0x3b, 0x04, 0x6b, 0x02, 0x85, 0xf6, 0xe5, 0x20, 0x46, 0x7f, 0x26, 0x5f, - 0x6a, 0x6a, 0xe3, 0x49, 0x1f, 0x16, 0x78, 0xc8, 0xa8, 0x26, 0xa0, 0x09, 0x9b, 0x9c, - 0xd4, 0x15, 0x99, 0xd4, + 0xe1, 0x9f, 0xad, 0xfa, 0xc6, 0xc7, 0x85, 0xb8, 0x98, 0x29, 0xa9, 0x1e, 0xc0, 0x21, + 0x59, 0x35, 0xc4, 0x9f, 0xbc, 0x9d, 0x20, 0xc6, 0xbe, 0x78, 0xde, 0x9a, 0x63, 0x55, + 0xe8, 0x18, 0x13, 0x56, ], Core::Maj64 => [ - 0x5e, 0x99, 0x6c, 0x51, 0x51, 0xd7, 0xac, 0xee, 0x4a, 0x7d, 0x9e, 0x22, 0x95, 0xef, - 0x8f, 0x2c, 0x75, 0x54, 0x88, 0x84, 0x4b, 0xfd, 0xe2, 0x5d, 0x5a, 0xcd, 0xfe, 0xa2, - 0x98, 0x44, 0x43, 0x5a, + 0xf1, 0x19, 0xb2, 0xf2, 0x38, 0x3b, 0x9f, 0xe6, 0xdd, 0x76, 0x8e, 0x5e, 0xe2, 0x7d, + 0xb4, 0xf5, 0x78, 0x38, 0x68, 0xcf, 0x9b, 0x9e, 0x13, 0x85, 0x41, 0x00, 0x39, 0x90, + 0x1d, 0x17, 0xc2, 0x30, ], Core::Maj8 => [ - 0xab, 0x6c, 0x4c, 0x41, 0xab, 0x67, 0xeb, 0xf7, 0xea, 0x60, 0x87, 0x0c, 0x9b, 0x2d, - 0x93, 0x10, 0x01, 0x74, 0x29, 0x61, 0x8d, 0x2a, 0xb9, 0x02, 0x68, 0xb5, 0xc5, 0xc2, - 0xb5, 0x37, 0x7f, 0x3b, + 0x41, 0x56, 0x21, 0xcb, 0x9e, 0x42, 0x8f, 0x72, 0xeb, 0x29, 0x56, 0xe4, 0x69, 0x6f, + 0x70, 0x65, 0xde, 0xe6, 0xa8, 0xda, 0x5e, 0xed, 0xde, 0x32, 0x36, 0x2b, 0x81, 0x24, + 0xa1, 0x95, 0xdd, 0x50, ], Core::Max16 => [ - 0xcd, 0xdd, 0x81, 0x69, 0x55, 0x22, 0x97, 0x1b, 0x52, 0x9e, 0xb0, 0xbb, 0x53, 0x81, - 0x8f, 0xe2, 0x28, 0x58, 0xac, 0x6b, 0x03, 0x7c, 0x38, 0x10, 0xec, 0x26, 0x8b, 0x53, - 0xb8, 0x17, 0xa3, 0x8d, + 0xce, 0xb7, 0x1d, 0x05, 0xf9, 0x55, 0x18, 0xd3, 0xd4, 0x09, 0x25, 0xe7, 0x3c, 0xa2, + 0x9b, 0x7c, 0x3e, 0xc6, 0x2b, 0x92, 0xaf, 0x47, 0x88, 0x04, 0x8f, 0x7b, 0xe8, 0x06, + 0x52, 0xf6, 0xba, 0x2b, ], Core::Max32 => [ - 0xd9, 0x16, 0xf3, 0x4b, 0xd7, 0x85, 0xb9, 0x38, 0x08, 0xb6, 0x7c, 0x62, 0x28, 0x4f, - 0x94, 0xaa, 0x5d, 0xf4, 0x79, 0x19, 0x59, 0xb4, 0x9b, 0x85, 0x82, 0xb0, 0x58, 0x2b, - 0x82, 0x85, 0x38, 0x83, + 0x67, 0x9f, 0x51, 0xce, 0xca, 0x3e, 0x7b, 0xfc, 0x4b, 0x8b, 0x8c, 0x14, 0x5f, 0xbe, + 0x06, 0x47, 0x3f, 0x65, 0x3b, 0x21, 0xfb, 0x8f, 0x58, 0x38, 0x39, 0xfc, 0x9f, 0x9e, + 0x22, 0x1a, 0x99, 0xe7, ], Core::Max64 => [ - 0x99, 0xef, 0x5a, 0xbf, 0xf7, 0x87, 0x00, 0xbd, 0x93, 0xd1, 0xc9, 0x77, 0xfd, 0x68, - 0x6f, 0x31, 0x21, 0x0f, 0xd1, 0xce, 0x1d, 0x09, 0x4d, 0x23, 0x04, 0x8c, 0x02, 0x6c, - 0x19, 0xfc, 0x98, 0x4a, + 0x6a, 0xeb, 0x60, 0x2c, 0x1f, 0x2d, 0xe2, 0x0e, 0x6a, 0xee, 0x7e, 0x23, 0x3b, 0x29, + 0xdb, 0x2e, 0xe5, 0x33, 0xa0, 0xc1, 0x1e, 0x33, 0x63, 0xfc, 0x67, 0xb3, 0x0d, 0x6c, + 0x78, 0x33, 0x83, 0x52, ], Core::Max8 => [ - 0x3a, 0xcb, 0xf7, 0x73, 0x3f, 0xd8, 0xef, 0x4f, 0x51, 0x96, 0x7a, 0xa2, 0x45, 0x55, - 0x8b, 0x28, 0x37, 0x4d, 0x54, 0xc6, 0x32, 0xa9, 0xf4, 0x6a, 0xab, 0x6b, 0x2b, 0x1e, - 0xc2, 0xd5, 0x13, 0x9a, + 0x5c, 0x1f, 0x36, 0x9a, 0xfa, 0xac, 0x6b, 0x74, 0xb5, 0x7e, 0xdf, 0x3c, 0xec, 0xfb, + 0x61, 0xf2, 0x07, 0xe0, 0x59, 0x39, 0xb1, 0xc6, 0xfc, 0x73, 0x5b, 0x07, 0x83, 0x6f, + 0x39, 0x73, 0xd9, 0x04, ], Core::Median16 => [ - 0xd6, 0x46, 0x3e, 0x89, 0xdf, 0xe2, 0xc3, 0x34, 0xb0, 0x1f, 0x90, 0x97, 0xb0, 0x1a, - 0x75, 0xc4, 0x75, 0xfb, 0x0f, 0x0f, 0x16, 0x7c, 0xb6, 0xb7, 0x49, 0x76, 0xf1, 0x97, - 0xbd, 0x4c, 0x76, 0xe1, + 0xc0, 0x9a, 0x30, 0x0b, 0x6d, 0x02, 0x3c, 0xa4, 0x09, 0x27, 0x9e, 0x42, 0x27, 0x47, + 0x0d, 0xd8, 0xbd, 0x52, 0xf1, 0x68, 0xf1, 0xf8, 0xbf, 0xa9, 0x38, 0x77, 0x9f, 0x03, + 0xc8, 0x6e, 0xf1, 0x52, ], Core::Median32 => [ - 0x01, 0xdc, 0xa1, 0xed, 0xe5, 0xb2, 0x9d, 0x88, 0x48, 0x0b, 0xc4, 0xdc, 0x43, 0xbe, - 0x4e, 0x04, 0xf2, 0xd2, 0x09, 0xee, 0x32, 0xf6, 0xcf, 0x3e, 0xc7, 0x05, 0x0d, 0xa1, - 0x07, 0x35, 0x90, 0x63, + 0x84, 0x81, 0x00, 0x59, 0x86, 0xf4, 0x29, 0x48, 0x05, 0x1a, 0x36, 0x4a, 0xd4, 0x18, + 0x70, 0x2e, 0xbc, 0x76, 0xfa, 0x36, 0x53, 0x44, 0xaa, 0x2e, 0xa1, 0xa6, 0x30, 0x05, + 0xe6, 0x1f, 0xe8, 0xbb, ], Core::Median64 => [ - 0x70, 0x7a, 0x6f, 0xa8, 0xc1, 0x54, 0x95, 0xa2, 0xc4, 0x82, 0x22, 0x63, 0xdd, 0xce, - 0xa5, 0xe0, 0xf0, 0xe8, 0x50, 0xa9, 0x4b, 0x1c, 0xf4, 0xec, 0xc0, 0x65, 0x2f, 0xaf, - 0xee, 0xf1, 0x30, 0xe9, + 0xcc, 0xba, 0xa9, 0x00, 0x0f, 0x3c, 0x0c, 0x9e, 0xc7, 0x1b, 0xc0, 0xdb, 0x5d, 0xa8, + 0x52, 0x83, 0x6f, 0xa9, 0x12, 0x28, 0xb3, 0x73, 0xf5, 0x6b, 0xce, 0xf0, 0xb2, 0x25, + 0x85, 0xd4, 0x70, 0xff, ], Core::Median8 => [ - 0x26, 0xbf, 0xcb, 0x7b, 0xab, 0xcf, 0x26, 0xc9, 0x7a, 0x84, 0x16, 0x75, 0x45, 0x74, - 0x62, 0x76, 0x59, 0x27, 0x9a, 0xf8, 0x09, 0x55, 0x48, 0x82, 0x40, 0x0e, 0xf8, 0x74, - 0xdf, 0x1c, 0x1a, 0x31, + 0xc5, 0xb2, 0xc0, 0x01, 0xdc, 0x50, 0x4f, 0xf4, 0xc2, 0xe0, 0x52, 0x86, 0x56, 0xd4, + 0xda, 0xbf, 0x33, 0xfb, 0x41, 0x42, 0xd0, 0x26, 0xab, 0x61, 0x37, 0x4c, 0x23, 0x89, + 0x0b, 0xda, 0x1f, 0x18, ], Core::Min16 => [ - 0x63, 0xbb, 0xc0, 0xe5, 0xdb, 0x1c, 0xe0, 0x80, 0x97, 0xd3, 0xf5, 0xbc, 0xc5, 0xbe, - 0x1d, 0x72, 0x09, 0x0b, 0xab, 0x4a, 0x87, 0xc1, 0x0c, 0x80, 0x05, 0x49, 0xca, 0x84, - 0xef, 0xbf, 0xe5, 0xe3, + 0xb2, 0x26, 0x58, 0x69, 0xea, 0x19, 0x0b, 0xba, 0x73, 0x0c, 0xd7, 0xd7, 0xcd, 0x05, + 0x24, 0xd1, 0x3e, 0xbf, 0x76, 0x7e, 0x1b, 0x12, 0x5c, 0x44, 0x1b, 0x1b, 0xab, 0x0e, + 0x3d, 0xbe, 0xef, 0x26, ], Core::Min32 => [ - 0xaf, 0x4d, 0x61, 0x84, 0x2f, 0x47, 0x90, 0x32, 0x5c, 0x61, 0x45, 0x56, 0xc7, 0x77, - 0x6e, 0xea, 0x45, 0x75, 0x13, 0xca, 0x42, 0x2f, 0x30, 0x5b, 0x46, 0x3f, 0x8f, 0x7d, - 0x8b, 0xda, 0x0c, 0x3c, + 0x6d, 0x92, 0x1b, 0xfb, 0xaf, 0x93, 0x50, 0x63, 0xbd, 0x4b, 0x4e, 0x48, 0xd6, 0xd1, + 0x36, 0x64, 0xbd, 0x5d, 0x0a, 0xc2, 0x5f, 0x5e, 0xe3, 0x0e, 0xbe, 0x51, 0x8e, 0x79, + 0x11, 0x51, 0x75, 0x0a, ], Core::Min64 => [ - 0xf0, 0xa3, 0x17, 0x0f, 0xb3, 0x06, 0x50, 0x90, 0x71, 0xb2, 0x14, 0x32, 0x30, 0x9c, - 0x00, 0x86, 0x5d, 0x8f, 0xb6, 0x75, 0x2d, 0xe6, 0xec, 0x41, 0x0a, 0xbb, 0x6c, 0xe3, - 0x5b, 0x4f, 0xfa, 0x9c, + 0x05, 0xd9, 0xc0, 0xa2, 0xa7, 0x1f, 0x88, 0x7d, 0x76, 0x46, 0xe4, 0x15, 0x82, 0x72, + 0x30, 0xcf, 0xbe, 0xcc, 0x0d, 0x82, 0x36, 0xc5, 0x62, 0xf2, 0xdf, 0xda, 0x3d, 0xcd, + 0xe1, 0x3b, 0x2f, 0x03, ], Core::Min8 => [ - 0x8a, 0xa7, 0x1d, 0x09, 0x3e, 0x83, 0x8a, 0xd3, 0x6a, 0xa6, 0xfe, 0x16, 0xfd, 0x1d, - 0xde, 0x9f, 0xb5, 0x77, 0x2a, 0xc4, 0x5d, 0x6b, 0xb8, 0xe4, 0x2c, 0x88, 0x83, 0xa2, - 0xa9, 0xf1, 0x00, 0xe2, + 0x57, 0xba, 0x25, 0x7d, 0xc7, 0x0a, 0x97, 0x5e, 0xfb, 0x22, 0xd7, 0xe0, 0xa9, 0x98, + 0xae, 0xa9, 0xd5, 0x7f, 0x20, 0x8a, 0x74, 0x56, 0x5a, 0x68, 0xf2, 0xac, 0x8b, 0x50, + 0x1e, 0x22, 0x0d, 0xc0, ], Core::Modulo16 => [ - 0x0e, 0xa8, 0x98, 0x59, 0x79, 0x20, 0x9d, 0x31, 0x94, 0xc5, 0x59, 0x12, 0xf2, 0x1a, - 0x65, 0x77, 0xda, 0x30, 0xc5, 0x17, 0xe0, 0x08, 0xf8, 0x51, 0xc3, 0x52, 0x08, 0x5b, - 0xb0, 0x67, 0xa0, 0xf1, + 0x7a, 0xbd, 0xe1, 0xdc, 0xab, 0x9d, 0x23, 0xea, 0xe1, 0xd0, 0xa0, 0xa6, 0xb3, 0x84, + 0xfb, 0x39, 0xdf, 0x21, 0xc3, 0x83, 0x16, 0xc0, 0xbb, 0xcc, 0x6c, 0x70, 0x6d, 0x7b, + 0x5f, 0x3d, 0x68, 0xbb, ], Core::Modulo32 => [ - 0x22, 0x3f, 0xb5, 0x83, 0x2b, 0x95, 0x59, 0xca, 0x86, 0x51, 0x72, 0x6a, 0xb7, 0x95, - 0x6e, 0x58, 0xe5, 0x3a, 0x40, 0x2d, 0xf9, 0x60, 0x34, 0x86, 0x18, 0x18, 0x07, 0xa2, - 0xfc, 0xae, 0xd4, 0x87, + 0x7d, 0x12, 0x78, 0x66, 0xce, 0xb0, 0x03, 0xec, 0x84, 0xa2, 0x70, 0x2a, 0xff, 0x40, + 0x59, 0xa7, 0xc6, 0xfb, 0x00, 0xa5, 0xa5, 0xba, 0xce, 0x90, 0xb9, 0xd9, 0xc0, 0x20, + 0xb5, 0xdc, 0x02, 0x97, ], Core::Modulo64 => [ - 0x82, 0x59, 0xa2, 0xe3, 0xb0, 0x78, 0x9c, 0x9d, 0x31, 0xea, 0xbc, 0x49, 0x39, 0xd3, - 0x1b, 0xc5, 0x25, 0x4c, 0x56, 0x65, 0xc4, 0x12, 0x05, 0x2c, 0x12, 0xd7, 0x2e, 0xcd, - 0xfb, 0xed, 0x52, 0x25, + 0xaa, 0xfe, 0xd9, 0xe3, 0x7b, 0x3d, 0x3e, 0xd4, 0x1d, 0xb1, 0x71, 0x16, 0x7b, 0x0f, + 0xa2, 0x3c, 0x8b, 0x82, 0x3a, 0xdd, 0x9a, 0x48, 0xad, 0xde, 0x24, 0xba, 0x20, 0xf9, + 0x19, 0x4b, 0x07, 0x9c, ], Core::Modulo8 => [ - 0xf8, 0xfd, 0x7c, 0x21, 0xc1, 0x5e, 0xbc, 0x5a, 0x04, 0xb3, 0xd3, 0xbc, 0x0a, 0xd6, - 0x47, 0xe2, 0x1d, 0x89, 0xf8, 0x00, 0x8d, 0xdd, 0xdf, 0xfe, 0xbb, 0x00, 0x3e, 0x35, - 0x52, 0xbd, 0xb5, 0x70, + 0x90, 0xf3, 0xac, 0xeb, 0x58, 0x47, 0x71, 0x39, 0x06, 0xd2, 0xf8, 0xef, 0x7c, 0xb4, + 0xb6, 0x6b, 0x08, 0x92, 0x81, 0x0e, 0xa8, 0x01, 0xbf, 0xa9, 0xd7, 0x46, 0xda, 0x1a, + 0xd6, 0xd9, 0x80, 0x09, ], Core::Multiply16 => [ - 0xd6, 0x6b, 0x0a, 0xd2, 0x1c, 0xdb, 0xe6, 0x01, 0x4f, 0x26, 0x19, 0xf4, 0x40, 0xd9, - 0x35, 0xf6, 0x42, 0xe9, 0x7c, 0x59, 0x4e, 0x3b, 0x44, 0x1f, 0x01, 0x98, 0x0e, 0xea, - 0x08, 0xc4, 0x85, 0x91, + 0x68, 0x68, 0xa8, 0x5d, 0x9f, 0x76, 0xc9, 0x58, 0xff, 0xda, 0x84, 0x78, 0x05, 0xf5, + 0xeb, 0xc0, 0x9f, 0x43, 0xbd, 0xdb, 0xc1, 0x40, 0x95, 0x2a, 0xbb, 0x2a, 0x4c, 0xc0, + 0x19, 0x27, 0xeb, 0xdd, ], Core::Multiply32 => [ - 0xc6, 0x7f, 0x65, 0xaf, 0xae, 0x79, 0x10, 0x8c, 0xe5, 0xf7, 0x24, 0xf4, 0x01, 0x81, - 0x7a, 0xa1, 0xb4, 0xa7, 0x60, 0x8a, 0x4e, 0x18, 0xee, 0x74, 0x82, 0x6b, 0x37, 0xf7, - 0x94, 0x9c, 0x77, 0xd6, + 0x69, 0xf9, 0x1b, 0x99, 0x4d, 0x83, 0x40, 0xe4, 0x8c, 0x0f, 0x11, 0x24, 0x99, 0x0d, + 0xe0, 0x3b, 0x51, 0x2a, 0xdc, 0xec, 0xd7, 0xbd, 0xeb, 0x29, 0xe4, 0x09, 0xa3, 0x51, + 0x19, 0xf1, 0x1f, 0xac, ], Core::Multiply64 => [ - 0x16, 0xac, 0x08, 0xfe, 0xc9, 0xd9, 0x66, 0x52, 0x7f, 0x80, 0xc3, 0x9c, 0x64, 0xa4, - 0xfc, 0x10, 0x82, 0xb1, 0x50, 0xbd, 0xbb, 0x05, 0xf7, 0xf6, 0xc4, 0xb9, 0xa0, 0x0e, - 0xbd, 0x89, 0x4d, 0xba, + 0xd1, 0xf1, 0x48, 0xf2, 0xd4, 0x50, 0xe8, 0x03, 0x47, 0x43, 0x43, 0xe5, 0x9d, 0x2e, + 0x0c, 0x4d, 0xa7, 0xd6, 0xb0, 0x97, 0x2c, 0xfa, 0x25, 0x1c, 0x9a, 0x82, 0x2a, 0xb4, + 0x42, 0x63, 0xe1, 0x62, ], Core::Multiply8 => [ - 0xce, 0xc3, 0xd5, 0xc3, 0x2d, 0xee, 0x35, 0x2e, 0x75, 0x4f, 0x14, 0x1c, 0x02, 0xef, - 0x2b, 0x60, 0xf8, 0x6e, 0x27, 0xd2, 0xcb, 0xe2, 0x73, 0x26, 0x06, 0x0d, 0xec, 0x9e, - 0x7b, 0xcc, 0x20, 0x6b, + 0x2a, 0x8c, 0x03, 0x63, 0x2e, 0xcc, 0x5e, 0x61, 0xe3, 0xf1, 0x20, 0x3a, 0x91, 0x2b, + 0x1a, 0x77, 0x3e, 0xb6, 0xbf, 0x63, 0x4b, 0x6b, 0xdf, 0x56, 0x63, 0xb8, 0x43, 0x1d, + 0xb6, 0xf5, 0x5b, 0xe3, ], Core::Negate16 => [ - 0x81, 0xf3, 0xef, 0x08, 0x2b, 0x19, 0x9d, 0x2e, 0x47, 0x45, 0x35, 0xfb, 0x84, 0x28, - 0x2f, 0x21, 0x11, 0x1c, 0x1a, 0x04, 0x97, 0xa9, 0x16, 0x95, 0xe7, 0x2c, 0x4d, 0x51, - 0xaf, 0x1c, 0xb0, 0x57, + 0xf1, 0xa2, 0x24, 0x28, 0x06, 0xaa, 0xdf, 0xc4, 0xdc, 0x11, 0xde, 0x65, 0xe8, 0x77, + 0xb0, 0xd8, 0x73, 0xb5, 0xd5, 0x65, 0xee, 0xe3, 0xf8, 0x48, 0xa7, 0x44, 0x28, 0x31, + 0xe5, 0x2c, 0x63, 0x0a, ], Core::Negate32 => [ - 0xba, 0x17, 0x3b, 0xde, 0xf2, 0x4e, 0x63, 0x7f, 0x4a, 0x5a, 0x0c, 0x6f, 0xed, 0x4b, - 0xbc, 0x22, 0xc7, 0xd0, 0x8b, 0xcc, 0x20, 0xfd, 0xca, 0x61, 0x70, 0x36, 0x3d, 0x25, - 0x26, 0x95, 0x58, 0x36, + 0xdb, 0x75, 0xba, 0x2c, 0x60, 0x95, 0x2e, 0x76, 0x5d, 0x7a, 0x5c, 0xe4, 0xaa, 0xa3, + 0x12, 0x64, 0x99, 0x0f, 0xcc, 0xac, 0x75, 0x0a, 0x80, 0xad, 0xc6, 0x78, 0x78, 0x7f, + 0x5f, 0x72, 0xbf, 0xdd, ], Core::Negate64 => [ - 0xe7, 0x13, 0x27, 0x2d, 0x6d, 0x9a, 0x6d, 0x69, 0x6c, 0x46, 0x88, 0x9d, 0xfb, 0x27, - 0x04, 0x75, 0xe9, 0x23, 0x8d, 0x17, 0x72, 0xab, 0xf9, 0x16, 0x5b, 0x09, 0x3c, 0x79, - 0x98, 0xee, 0x80, 0x70, + 0xc9, 0x1b, 0xcd, 0xb7, 0x1d, 0x19, 0x6a, 0x3b, 0xf6, 0x5c, 0xa8, 0x3f, 0x22, 0x5a, + 0x5e, 0x1b, 0xbb, 0x73, 0xbd, 0x2e, 0x35, 0x75, 0xcf, 0x16, 0x5e, 0x5a, 0x47, 0x17, + 0xe9, 0x47, 0x37, 0xeb, ], Core::Negate8 => [ - 0x8b, 0xe8, 0x71, 0x39, 0x3e, 0x18, 0xc0, 0x63, 0x69, 0x16, 0x1f, 0xb1, 0xc0, 0xad, - 0x2b, 0x92, 0x06, 0x22, 0x97, 0x4e, 0x3f, 0xdf, 0xca, 0x90, 0x56, 0x7e, 0x6d, 0xa4, - 0x29, 0xfd, 0x98, 0x42, + 0x8a, 0xff, 0xfa, 0xb3, 0x6b, 0xbc, 0xa0, 0xe9, 0x3f, 0xff, 0x2c, 0x67, 0x27, 0x24, + 0xe4, 0xb7, 0xbc, 0x24, 0xf6, 0x38, 0xe4, 0x04, 0x89, 0x12, 0x66, 0x47, 0x88, 0xf0, + 0x38, 0xc9, 0x95, 0xcf, ], Core::One16 => [ - 0x76, 0x29, 0x79, 0x2b, 0xa1, 0xa4, 0x41, 0x14, 0xe5, 0x9e, 0x64, 0xb5, 0x1d, 0x18, - 0x7a, 0xf6, 0xd9, 0x65, 0xd9, 0x66, 0x20, 0xdc, 0xa2, 0x62, 0x75, 0x07, 0xb7, 0xd3, - 0x88, 0xd9, 0x35, 0x3c, + 0xeb, 0xe5, 0x31, 0x62, 0x82, 0x42, 0xd1, 0x17, 0x7f, 0xa9, 0x4e, 0xcf, 0x46, 0x92, + 0x21, 0xbe, 0x15, 0x90, 0x5e, 0x07, 0xf3, 0xc8, 0xfa, 0x15, 0xd3, 0xd9, 0xd4, 0xaa, + 0x6a, 0x81, 0x5c, 0x8d, ], Core::One32 => [ - 0x0b, 0xa0, 0x04, 0xce, 0xa2, 0x50, 0xfe, 0x95, 0x3a, 0xc7, 0x4e, 0x6e, 0xcd, 0x36, - 0x20, 0xe8, 0x02, 0x84, 0x1f, 0xda, 0x79, 0x52, 0x08, 0xde, 0xc6, 0x6d, 0x62, 0x6e, - 0x06, 0xaa, 0x29, 0xb2, + 0x99, 0x1f, 0x9e, 0x3a, 0xcb, 0x6f, 0xf7, 0x8f, 0x03, 0xf5, 0x78, 0x03, 0x54, 0x10, + 0x96, 0xbe, 0x79, 0x44, 0xc9, 0x18, 0xc2, 0xaf, 0x3d, 0x68, 0xa3, 0x21, 0x0d, 0x0b, + 0x9f, 0x99, 0x0e, 0xc2, ], Core::One64 => [ - 0xba, 0x34, 0x78, 0xc1, 0x08, 0x74, 0x0a, 0x83, 0xf0, 0xca, 0x0e, 0xae, 0x86, 0xc3, - 0x1b, 0x4a, 0xfa, 0xc8, 0x30, 0xdf, 0x09, 0x34, 0x67, 0xcc, 0x08, 0xea, 0x1c, 0x04, - 0x15, 0xef, 0xef, 0x6d, + 0xfe, 0x30, 0x8d, 0x3f, 0x68, 0x97, 0xcd, 0xce, 0xed, 0xc0, 0x2c, 0xed, 0x16, 0x30, + 0xe5, 0x5e, 0x87, 0xbd, 0xcf, 0xec, 0xd4, 0xae, 0xc3, 0xce, 0x54, 0x94, 0x8f, 0x57, + 0xdf, 0xe1, 0x8e, 0x27, ], Core::One8 => [ - 0x15, 0xca, 0x77, 0xa4, 0xb7, 0x02, 0x25, 0x68, 0x37, 0xf9, 0x0f, 0xf7, 0x8c, 0xa7, - 0x74, 0x0a, 0x40, 0xfe, 0xce, 0x71, 0x91, 0x30, 0x1d, 0x00, 0xe5, 0x17, 0xd8, 0xd3, - 0x4f, 0x46, 0xc2, 0x50, + 0x68, 0x24, 0x82, 0x61, 0x8b, 0xee, 0x00, 0xbb, 0x85, 0xdb, 0x83, 0xe3, 0x9d, 0xc4, + 0x0c, 0x28, 0x51, 0xf6, 0x4c, 0x00, 0x69, 0x53, 0x44, 0x0f, 0x43, 0xb9, 0x73, 0xaf, + 0x7a, 0x72, 0x32, 0xc9, ], Core::Or1 => [ - 0x93, 0x52, 0x22, 0x30, 0x17, 0x00, 0x98, 0x7d, 0xe1, 0x2c, 0xb4, 0x26, 0x17, 0x21, - 0x81, 0x53, 0xfd, 0x7c, 0xcd, 0x63, 0x17, 0x4a, 0x17, 0x49, 0xfc, 0x88, 0x0c, 0x39, - 0xe3, 0xe7, 0x23, 0x9c, + 0xa9, 0xa6, 0xa7, 0x36, 0x9f, 0x3f, 0xd7, 0x7e, 0xfd, 0x36, 0xb8, 0xa4, 0x1d, 0xad, + 0xd7, 0x0c, 0x1a, 0x4e, 0xde, 0x70, 0x62, 0x3b, 0x14, 0x0a, 0x8d, 0x50, 0xde, 0xc7, + 0x4d, 0xd4, 0x91, 0x2d, ], Core::Or16 => [ - 0xdf, 0xea, 0xd0, 0xba, 0x93, 0xe4, 0x91, 0x55, 0xc4, 0x0c, 0xb3, 0x72, 0xca, 0x5e, - 0xf6, 0x17, 0x97, 0x41, 0xc6, 0x1f, 0x2b, 0x3c, 0xc2, 0x79, 0x7e, 0xf1, 0x62, 0xc8, - 0xd2, 0xfc, 0x1f, 0x9a, + 0xda, 0x96, 0xd8, 0x33, 0x21, 0x55, 0xc3, 0x63, 0x8c, 0xf2, 0xa6, 0x20, 0x40, 0xb2, + 0x24, 0xc1, 0x3c, 0x1b, 0xae, 0xee, 0x91, 0x32, 0x18, 0x53, 0x3d, 0xef, 0xed, 0x9e, + 0x16, 0x6a, 0x64, 0x83, ], Core::Or32 => [ - 0x67, 0xac, 0x69, 0x45, 0xcd, 0xc0, 0x06, 0xd2, 0x5e, 0x5b, 0xbe, 0x6c, 0x4f, 0xe8, - 0x1c, 0xa1, 0x67, 0x41, 0xff, 0xab, 0x3d, 0x23, 0x96, 0x0e, 0xeb, 0x49, 0x85, 0x0f, - 0x92, 0x73, 0x2c, 0xbb, + 0xb6, 0x72, 0xb0, 0xf7, 0xc9, 0x29, 0x74, 0x97, 0xa0, 0xc9, 0xcc, 0x84, 0xd7, 0xf7, + 0xdd, 0xe2, 0x6d, 0x6d, 0xe5, 0xe4, 0xbe, 0xc1, 0x4b, 0x20, 0xe0, 0x10, 0xce, 0xe1, + 0xcc, 0xc0, 0x8f, 0x09, ], Core::Or64 => [ - 0x1e, 0xb9, 0x52, 0xe4, 0x61, 0x16, 0xe2, 0x71, 0xdc, 0x48, 0x9e, 0x67, 0x22, 0xa9, - 0x01, 0x85, 0xeb, 0xf5, 0xfb, 0x77, 0x5b, 0x77, 0x81, 0x60, 0x6d, 0xbf, 0x5e, 0x89, - 0xcc, 0xd7, 0xc2, 0x50, + 0x13, 0x3d, 0x50, 0x5c, 0xe5, 0x03, 0xfb, 0xeb, 0x13, 0x29, 0x58, 0x0f, 0x5b, 0x96, + 0xa0, 0xd9, 0x7f, 0x3a, 0x5a, 0xba, 0x79, 0xd7, 0x1b, 0xbd, 0x85, 0x88, 0x4a, 0x12, + 0x81, 0x39, 0xc0, 0x08, ], Core::Or8 => [ - 0x37, 0x8f, 0x7a, 0xbe, 0x8b, 0x08, 0x1f, 0xaf, 0x5b, 0x3a, 0x25, 0x78, 0xef, 0x19, - 0x79, 0xfe, 0x80, 0xbc, 0xcb, 0x07, 0x91, 0x15, 0x6a, 0x49, 0x3f, 0x8a, 0x3f, 0x6e, - 0x0b, 0xb2, 0xfc, 0x84, + 0x8e, 0xf1, 0xc6, 0xa1, 0xca, 0xe0, 0x74, 0x03, 0xda, 0xcd, 0x8c, 0x13, 0x2e, 0x88, + 0x99, 0xc1, 0x85, 0x87, 0x45, 0xc8, 0x6d, 0x1f, 0xdd, 0x4c, 0x9f, 0xda, 0x63, 0x62, + 0x51, 0x00, 0x48, 0xb3, ], Core::ParseLock => [ - 0x45, 0x71, 0xca, 0x04, 0x52, 0x57, 0x7c, 0xfa, 0xf8, 0xa8, 0x5f, 0x5e, 0x32, 0x9d, - 0x60, 0x2c, 0x8d, 0xca, 0xd1, 0x27, 0x6a, 0x97, 0x4e, 0x2c, 0x75, 0xd2, 0xec, 0x04, - 0x65, 0x7b, 0xc4, 0x25, + 0xce, 0x03, 0xe1, 0x95, 0xff, 0x84, 0x1f, 0x93, 0x09, 0xee, 0x27, 0x7d, 0xc8, 0x54, + 0xf9, 0xc3, 0xd4, 0xcb, 0x65, 0x54, 0x20, 0xe9, 0x21, 0x13, 0x59, 0xe1, 0xf2, 0x04, + 0x64, 0x1a, 0x23, 0xa6, ], Core::ParseSequence => [ - 0x55, 0xc9, 0x03, 0x66, 0x0c, 0x8c, 0x92, 0xb1, 0x42, 0x9f, 0x63, 0xe2, 0x74, 0x71, - 0xac, 0xd5, 0x9c, 0x3a, 0x26, 0xaa, 0x7a, 0x59, 0x22, 0x1d, 0x7a, 0x6d, 0x52, 0xb6, - 0x2e, 0xba, 0xf9, 0x4a, + 0xc8, 0xa1, 0xcb, 0x4e, 0xad, 0xf2, 0xa8, 0xda, 0x31, 0x2c, 0x0d, 0x27, 0x35, 0xcf, + 0x97, 0xde, 0xe0, 0xdb, 0xae, 0x4d, 0x73, 0x11, 0x09, 0xca, 0x01, 0x94, 0x52, 0x1e, + 0x70, 0x7d, 0x44, 0x5b, ], Core::PointVerify1 => [ - 0xb6, 0x00, 0x9c, 0xec, 0x8b, 0xe8, 0xb1, 0x4a, 0x1d, 0x31, 0x32, 0x99, 0xd6, 0x67, - 0x61, 0xd6, 0x59, 0xad, 0xff, 0xf8, 0x23, 0x28, 0x99, 0xab, 0x7d, 0xb4, 0x09, 0x7f, - 0x52, 0xc7, 0xd0, 0xbe, + 0xd6, 0x3f, 0xf0, 0xe5, 0xa5, 0x00, 0x85, 0x94, 0xd5, 0x55, 0xa6, 0x15, 0xe8, 0x1f, + 0xd2, 0xa6, 0x9a, 0x48, 0x1b, 0x4f, 0x45, 0x7f, 0x42, 0xf4, 0x82, 0x83, 0xde, 0x2b, + 0x52, 0x23, 0x84, 0xe0, ], Core::RightExtend16_32 => [ - 0x36, 0x42, 0x3c, 0x16, 0xd4, 0x8d, 0x6c, 0x7c, 0x91, 0xed, 0x44, 0x16, 0x11, 0xbe, - 0x30, 0x72, 0xdf, 0xa5, 0xdd, 0x38, 0xe4, 0xd2, 0x7d, 0xa8, 0xda, 0xed, 0x29, 0x78, - 0x8f, 0xc9, 0x52, 0x08, + 0x1f, 0xe0, 0x5d, 0x19, 0x7e, 0xe6, 0xf1, 0x5e, 0xfb, 0x17, 0x54, 0x52, 0x36, 0xef, + 0xeb, 0x38, 0xc1, 0x6e, 0x7a, 0x5a, 0xdc, 0x82, 0x8b, 0x9a, 0xa0, 0x4a, 0x3f, 0x6e, + 0x46, 0x78, 0xb5, 0xba, ], Core::RightExtend16_64 => [ - 0x4b, 0x8a, 0x47, 0xb9, 0x06, 0x70, 0x73, 0xa1, 0xfb, 0x68, 0x30, 0x0f, 0xac, 0xd6, - 0xc5, 0x06, 0x98, 0x90, 0xab, 0xdb, 0x7e, 0xaa, 0xcb, 0x62, 0x2a, 0xd7, 0x30, 0x9a, - 0x87, 0xf4, 0xd3, 0x4d, + 0x7c, 0xb9, 0xcc, 0x78, 0x65, 0x52, 0x85, 0xa1, 0x62, 0xff, 0xd8, 0x0c, 0x6d, 0x59, + 0xf8, 0x28, 0xec, 0xdb, 0x75, 0xcb, 0x64, 0xb0, 0x82, 0x74, 0xf8, 0x9d, 0x20, 0x10, + 0x7c, 0x2b, 0xe4, 0x43, ], Core::RightExtend32_64 => [ - 0xdd, 0x6a, 0xf1, 0xc8, 0x01, 0xd2, 0x6c, 0x0b, 0x2e, 0xdf, 0x83, 0xce, 0x67, 0xb1, - 0x72, 0xdf, 0x67, 0x57, 0xd0, 0x7f, 0xb7, 0xc8, 0x54, 0x68, 0x6f, 0x42, 0xe5, 0x76, - 0x8a, 0xdc, 0xc9, 0xe7, + 0x32, 0x5d, 0x1d, 0xff, 0x73, 0x73, 0x83, 0xf4, 0x31, 0x3d, 0xcb, 0x23, 0xad, 0xf9, + 0x1e, 0x2a, 0xa4, 0x42, 0x30, 0x38, 0x84, 0x62, 0x83, 0x2f, 0xa1, 0x5f, 0xe4, 0x33, + 0x36, 0x33, 0xd9, 0x30, ], Core::RightExtend8_16 => [ - 0x1d, 0xe2, 0x01, 0xa8, 0x64, 0x70, 0xa0, 0x2b, 0x2d, 0xfe, 0x48, 0xc6, 0x6a, 0xfe, - 0x06, 0x73, 0x5b, 0x47, 0x5e, 0x88, 0xd3, 0x25, 0xcb, 0xf1, 0x60, 0x42, 0xa9, 0x10, - 0x24, 0xd2, 0xbe, 0xd9, + 0x53, 0x46, 0xf1, 0x5d, 0x34, 0x9b, 0xfe, 0xbf, 0x2b, 0x5b, 0x4b, 0x45, 0xf9, 0xc0, + 0xfc, 0x39, 0x39, 0x20, 0x67, 0xdc, 0x6f, 0x97, 0x97, 0x51, 0xa1, 0x59, 0x66, 0xb5, + 0xd1, 0x7e, 0xfb, 0x9f, ], Core::RightExtend8_32 => [ - 0x7e, 0x9c, 0x5c, 0xb3, 0x54, 0x19, 0xab, 0x06, 0xe1, 0x22, 0x00, 0x23, 0x10, 0x2b, - 0xe4, 0x6a, 0xb6, 0xd9, 0x69, 0x95, 0xc4, 0x23, 0xc6, 0xb1, 0x4b, 0x9a, 0x66, 0x02, - 0x8a, 0xec, 0x5d, 0x75, + 0xd5, 0xae, 0xe5, 0x10, 0xdf, 0xd5, 0x0a, 0xca, 0xbd, 0x8a, 0xc3, 0x29, 0xd2, 0x97, + 0x48, 0xa6, 0xf5, 0x94, 0x08, 0xc2, 0x68, 0x63, 0xab, 0x62, 0x4b, 0xef, 0xc2, 0x44, + 0x7e, 0xc2, 0x6a, 0x44, ], Core::RightExtend8_64 => [ - 0x49, 0xd2, 0x46, 0xc2, 0xa6, 0x1c, 0xd3, 0x9d, 0x78, 0x20, 0xdc, 0xd7, 0x5e, 0xee, - 0x84, 0x7b, 0xf0, 0x57, 0xc0, 0x1a, 0x63, 0xa3, 0xac, 0xbc, 0xc9, 0x46, 0x3e, 0x44, - 0xbc, 0x1e, 0x0b, 0x6c, + 0xa8, 0x43, 0xa3, 0x15, 0xf6, 0xdc, 0xd9, 0xbc, 0xff, 0x58, 0x68, 0x59, 0xed, 0x6c, + 0x31, 0xd8, 0xcb, 0x98, 0x69, 0x07, 0x1b, 0x45, 0xb6, 0x79, 0x57, 0xed, 0x15, 0xae, + 0xd2, 0xe0, 0xae, 0x5d, ], Core::RightPadHigh16_32 => [ - 0xfe, 0x90, 0x1f, 0xb4, 0xf6, 0xeb, 0xdc, 0x4e, 0xa2, 0x96, 0x19, 0x98, 0x99, 0x22, - 0xb8, 0x0f, 0xa9, 0xce, 0x24, 0x12, 0x87, 0xfa, 0x54, 0x08, 0x64, 0x36, 0x2c, 0xcc, - 0xe9, 0xf5, 0x4b, 0x3b, + 0x75, 0xbe, 0xc3, 0x00, 0x6c, 0x04, 0xce, 0x01, 0x8f, 0x4a, 0x61, 0x10, 0xaa, 0xb3, + 0xc5, 0x5c, 0xad, 0x45, 0x32, 0x48, 0xc1, 0xe7, 0xeb, 0x04, 0x2c, 0x82, 0x57, 0xe6, + 0xb9, 0x9c, 0xcd, 0x05, ], Core::RightPadHigh16_64 => [ - 0xda, 0x90, 0xad, 0xd3, 0x10, 0x67, 0xcc, 0xfd, 0xbe, 0xe4, 0xcb, 0xfb, 0x21, 0xde, - 0x8e, 0x6a, 0xa4, 0xf9, 0x3e, 0x00, 0x22, 0x00, 0x71, 0x1f, 0x99, 0x84, 0xaf, 0x6f, - 0xc0, 0x1e, 0x27, 0x00, + 0x93, 0x60, 0x59, 0x28, 0xb8, 0x49, 0xb0, 0xf8, 0xdf, 0xbc, 0x62, 0xa1, 0x25, 0x90, + 0xbb, 0x1a, 0x92, 0x0b, 0xa5, 0x9d, 0x5b, 0xdc, 0x49, 0xdf, 0x0f, 0xaa, 0xb6, 0xa3, + 0x35, 0x1a, 0x96, 0x61, ], Core::RightPadHigh1_16 => [ - 0xe4, 0xcf, 0x11, 0x6c, 0x08, 0x80, 0xf7, 0x3f, 0x99, 0x52, 0xf7, 0x00, 0x81, 0x78, - 0x84, 0x98, 0xe5, 0x08, 0x4c, 0xbb, 0x72, 0xcf, 0x84, 0x1b, 0xcd, 0x91, 0x67, 0xa6, - 0xee, 0xa2, 0x64, 0xdc, + 0x34, 0xc1, 0x08, 0xae, 0x8a, 0x54, 0xe2, 0xc6, 0x49, 0x9b, 0xfe, 0xc5, 0xd6, 0x93, + 0x28, 0x15, 0xf8, 0x87, 0x14, 0x9c, 0x11, 0x49, 0xb7, 0x89, 0x94, 0x60, 0x3f, 0x40, + 0xf1, 0xff, 0xd2, 0xe7, ], Core::RightPadHigh1_32 => [ - 0x12, 0x76, 0x03, 0x6b, 0xb9, 0x4c, 0xfd, 0x92, 0x0a, 0xb7, 0x31, 0x64, 0x3b, 0x76, - 0xb1, 0x19, 0x72, 0xdd, 0x26, 0x54, 0x38, 0x53, 0x44, 0x4e, 0x18, 0xd7, 0xf6, 0x3f, - 0xca, 0xc0, 0x91, 0xa3, + 0x5b, 0x4a, 0x76, 0xed, 0x0a, 0x50, 0xac, 0xe5, 0x2b, 0x79, 0x1a, 0xb9, 0xa5, 0xc5, + 0xeb, 0xcb, 0x3c, 0xbb, 0xa0, 0xda, 0x3a, 0x95, 0xac, 0x40, 0x51, 0xeb, 0xa9, 0xab, + 0x15, 0x0f, 0xd0, 0xdc, ], Core::RightPadHigh1_64 => [ - 0x38, 0xc9, 0x99, 0x80, 0xb1, 0xa9, 0x98, 0x10, 0x51, 0x11, 0xc5, 0x6b, 0xf8, 0x24, - 0x65, 0x09, 0x65, 0xa5, 0x09, 0xc4, 0x7e, 0x1c, 0x76, 0xd9, 0x00, 0x75, 0x0a, 0x1f, - 0xee, 0x45, 0xc9, 0x64, + 0xd4, 0x99, 0xb4, 0xbc, 0xf5, 0xdf, 0x6a, 0x71, 0xc8, 0x66, 0x4f, 0x96, 0xb7, 0xb9, + 0x64, 0xae, 0x2b, 0xbb, 0xda, 0x55, 0x21, 0x97, 0x97, 0xec, 0x6b, 0x9d, 0x2d, 0xf4, + 0xa5, 0xa5, 0xe8, 0xba, ], Core::RightPadHigh1_8 => [ - 0xca, 0x72, 0xce, 0xed, 0x2d, 0x98, 0xdc, 0xcd, 0x81, 0xaa, 0x21, 0xf0, 0xba, 0x21, - 0xd1, 0xa0, 0x87, 0xb6, 0xf2, 0x52, 0x07, 0xc2, 0x4a, 0x58, 0x0a, 0xda, 0x7e, 0x60, - 0x5f, 0x79, 0x82, 0xdf, + 0x5e, 0xe6, 0xa8, 0x38, 0x2f, 0x9b, 0xbd, 0xc0, 0xc5, 0x81, 0x03, 0x6e, 0x51, 0xf1, + 0xd9, 0x27, 0x69, 0x96, 0x72, 0x2a, 0x18, 0x24, 0x13, 0xa1, 0x03, 0xcb, 0x98, 0xe9, + 0xa8, 0x98, 0xf9, 0x1e, ], Core::RightPadHigh32_64 => [ - 0x17, 0xeb, 0x59, 0x11, 0xf8, 0x54, 0x95, 0x76, 0x68, 0xee, 0xf4, 0x63, 0xb0, 0xcb, - 0xae, 0x72, 0x08, 0x52, 0x91, 0x34, 0xef, 0x5e, 0x56, 0xcd, 0x33, 0xfb, 0xbc, 0x29, - 0xc2, 0x8b, 0xbe, 0x92, + 0x06, 0x2e, 0x02, 0xf4, 0x87, 0x97, 0x78, 0x7b, 0xef, 0x0e, 0xab, 0x59, 0x67, 0x58, + 0x05, 0x11, 0xdc, 0xbc, 0xd7, 0x44, 0xbe, 0x65, 0xc4, 0xf6, 0xc3, 0x1b, 0x89, 0xe5, + 0x47, 0xe2, 0xe1, 0xd5, ], Core::RightPadHigh8_16 => [ - 0xd2, 0x6f, 0x0c, 0xc5, 0xb2, 0x61, 0xeb, 0x83, 0x0e, 0x02, 0xdf, 0x12, 0xcc, 0x57, - 0x44, 0x25, 0x9b, 0x4a, 0x43, 0xd9, 0x75, 0xbd, 0x2e, 0x3d, 0x7c, 0x78, 0x28, 0x11, - 0x76, 0x1f, 0xf1, 0xd1, + 0xa5, 0xc9, 0x85, 0xe8, 0xae, 0xa8, 0x42, 0xfa, 0xdf, 0x9a, 0x74, 0x8b, 0x96, 0x4c, + 0xa5, 0x15, 0x04, 0xe9, 0xeb, 0xb4, 0xac, 0x49, 0x45, 0x52, 0x64, 0x8f, 0x3a, 0x67, + 0xa1, 0x60, 0xc4, 0xc5, ], Core::RightPadHigh8_32 => [ - 0xbd, 0x2e, 0x5c, 0x92, 0x60, 0xbf, 0x6f, 0x32, 0x4d, 0x2b, 0x1f, 0x40, 0xcb, 0xb1, - 0x22, 0x40, 0x2f, 0x30, 0xd5, 0x2f, 0x64, 0x34, 0xe3, 0x9f, 0x8a, 0x09, 0xb8, 0x39, - 0x7b, 0xc3, 0x2e, 0x94, + 0xbf, 0x92, 0xf3, 0x9f, 0xdc, 0xde, 0xe4, 0xc4, 0x96, 0x12, 0x18, 0x70, 0x75, 0x30, + 0xcb, 0x10, 0x08, 0xad, 0xf7, 0x55, 0x89, 0xd2, 0x50, 0xca, 0xff, 0xb3, 0x70, 0xb3, + 0x3e, 0xba, 0xe2, 0x38, ], Core::RightPadHigh8_64 => [ - 0x94, 0x1b, 0xf4, 0x42, 0xdb, 0xcf, 0x4f, 0x20, 0x04, 0xa4, 0xb1, 0x8b, 0xee, 0xb2, - 0xad, 0xac, 0x9f, 0x20, 0x9f, 0xea, 0x4c, 0x4b, 0xd4, 0x8c, 0xed, 0xe8, 0xda, 0xfa, - 0xcf, 0x88, 0x43, 0xb7, + 0xce, 0x7e, 0x8a, 0x0e, 0x4a, 0x9b, 0x04, 0x01, 0x5c, 0xc2, 0x4f, 0x26, 0x99, 0x0f, + 0x68, 0xdc, 0x93, 0xb6, 0x7b, 0x3f, 0x67, 0x6f, 0xbf, 0xea, 0xa1, 0x7f, 0xd7, 0x4c, + 0xd6, 0x03, 0x57, 0xc1, ], Core::RightPadLow16_32 => [ - 0xbb, 0x38, 0x7c, 0x29, 0x2d, 0x59, 0xd7, 0x13, 0xad, 0x76, 0xf6, 0xce, 0xd5, 0xb5, - 0x96, 0xcf, 0xd8, 0x38, 0x58, 0x92, 0x4f, 0x72, 0x5f, 0x7d, 0x11, 0x6b, 0x28, 0x07, - 0x58, 0x21, 0x92, 0x5a, + 0xb0, 0xf7, 0x15, 0x1d, 0x0a, 0x79, 0xde, 0x08, 0xf2, 0x33, 0x80, 0x6d, 0x4f, 0x7e, + 0x1f, 0x88, 0xc3, 0x29, 0xb9, 0x64, 0x62, 0x5e, 0x8e, 0x02, 0xf0, 0xa0, 0xa6, 0x2c, + 0x31, 0xd0, 0xe6, 0x00, ], Core::RightPadLow16_64 => [ - 0x02, 0x32, 0x32, 0x6e, 0xe1, 0xb2, 0x06, 0xad, 0x26, 0x34, 0x9b, 0x55, 0x3d, 0x7f, - 0x24, 0x62, 0x28, 0x73, 0x20, 0xd6, 0x30, 0xe4, 0x29, 0x32, 0x07, 0x40, 0xcb, 0xd3, - 0xeb, 0x4e, 0xf9, 0xbe, + 0x6d, 0x14, 0x1c, 0xd9, 0xc8, 0xdc, 0xfc, 0xef, 0xb1, 0xcf, 0x85, 0x3b, 0xf3, 0x72, + 0x78, 0xed, 0xe8, 0xef, 0x3c, 0x55, 0x8f, 0x39, 0xed, 0xeb, 0xbc, 0xaf, 0xe4, 0x4b, + 0x54, 0x00, 0x71, 0x50, ], Core::RightPadLow1_16 => [ - 0xd9, 0x13, 0xf6, 0x02, 0xb3, 0x59, 0x58, 0xd5, 0x2a, 0xbb, 0x20, 0xb0, 0x2c, 0xe6, - 0x89, 0x61, 0x6f, 0xfa, 0x66, 0xe0, 0x2d, 0x73, 0x86, 0x7d, 0x29, 0x18, 0x1e, 0x11, - 0x93, 0xc9, 0xd2, 0x43, + 0x33, 0x10, 0x1e, 0x54, 0x87, 0xdd, 0x66, 0xc2, 0x45, 0xe8, 0x75, 0x4d, 0xfa, 0x16, + 0x6a, 0x06, 0xce, 0x53, 0xc5, 0xb5, 0x4f, 0xc6, 0xd8, 0x10, 0x0e, 0x2a, 0xec, 0x6c, + 0xfe, 0x93, 0x9b, 0xc9, ], Core::RightPadLow1_32 => [ - 0x6b, 0x40, 0x33, 0xd9, 0xfc, 0x6c, 0x87, 0x6b, 0x2e, 0x75, 0xd5, 0x82, 0xbb, 0x9b, - 0x3c, 0x04, 0xfa, 0x29, 0xdf, 0xb2, 0x2c, 0x9e, 0x1a, 0x48, 0x8e, 0x83, 0x7c, 0x2f, - 0x39, 0xaa, 0x61, 0x60, + 0x5f, 0xa4, 0x98, 0xc3, 0xb7, 0xc6, 0xd3, 0x48, 0xa4, 0x22, 0xb8, 0xca, 0x4f, 0x47, + 0xd0, 0x69, 0x55, 0x2a, 0xdb, 0xe2, 0xbc, 0x65, 0x59, 0xdf, 0x18, 0x68, 0x43, 0x43, + 0x87, 0x48, 0x43, 0xd3, ], Core::RightPadLow1_64 => [ - 0x4e, 0x2b, 0x20, 0xdd, 0x9d, 0x91, 0x85, 0x7a, 0x49, 0xc8, 0x20, 0xd0, 0x6f, 0x43, - 0x5d, 0xd3, 0xca, 0x79, 0x1f, 0x17, 0x7e, 0xea, 0xf3, 0x4a, 0xec, 0x36, 0xc4, 0x54, - 0x19, 0xd1, 0x69, 0x65, + 0x07, 0xbb, 0x6d, 0x70, 0xc5, 0x35, 0x4f, 0x44, 0x51, 0xfb, 0x06, 0x1b, 0x37, 0xe9, + 0xef, 0xda, 0x7e, 0x83, 0x6e, 0xfd, 0x45, 0x06, 0x14, 0x05, 0xa5, 0xea, 0x1a, 0x2f, + 0xf3, 0x15, 0x83, 0x06, ], Core::RightPadLow1_8 => [ - 0x24, 0xee, 0xe4, 0x51, 0xb2, 0x6b, 0xa3, 0x9d, 0x6b, 0xcc, 0x58, 0x8b, 0x72, 0x0f, - 0xaf, 0x22, 0x32, 0x76, 0x79, 0x12, 0xf6, 0x7d, 0xb3, 0x29, 0x06, 0x0d, 0x90, 0xb7, - 0x14, 0x17, 0xb6, 0xc3, + 0xcd, 0x72, 0x15, 0xd3, 0x9b, 0x80, 0xb1, 0x8b, 0x6e, 0x78, 0xec, 0x56, 0x8b, 0x48, + 0x82, 0x58, 0x9f, 0x82, 0x71, 0x04, 0xd6, 0x85, 0xb0, 0xd4, 0xec, 0x68, 0x9d, 0x10, + 0x59, 0x75, 0x71, 0x22, ], Core::RightPadLow32_64 => [ - 0x52, 0xfb, 0x8b, 0xbc, 0xef, 0x90, 0x32, 0x31, 0xa5, 0xb7, 0x67, 0x91, 0xe4, 0x65, - 0x2b, 0x38, 0xbe, 0xd8, 0x97, 0x7f, 0x5d, 0xab, 0x17, 0x95, 0x55, 0x99, 0x8d, 0xb2, - 0x4d, 0x1d, 0x7c, 0x98, + 0x00, 0x78, 0xa0, 0x7c, 0x1a, 0x2b, 0xa8, 0x48, 0x6f, 0x16, 0x05, 0xd7, 0xfa, 0x54, + 0xb3, 0x77, 0xe8, 0x4c, 0xb6, 0xdd, 0xc5, 0xe4, 0xc0, 0x3d, 0xaf, 0x98, 0xfb, 0xa9, + 0x0f, 0xd2, 0xf6, 0x62, ], Core::RightPadLow8_16 => [ - 0x17, 0x19, 0xb2, 0x79, 0x74, 0xe8, 0x43, 0x80, 0x50, 0x88, 0x25, 0x30, 0xa1, 0xa4, - 0x2e, 0xd7, 0xab, 0x3c, 0xa2, 0x8d, 0x25, 0x4a, 0xdc, 0x37, 0xfe, 0x56, 0x66, 0xfd, - 0x2f, 0x70, 0xb4, 0xe4, + 0xc9, 0x04, 0x8e, 0x29, 0xac, 0xd7, 0x26, 0x74, 0x03, 0x00, 0xc9, 0xa6, 0xcf, 0xf1, + 0x17, 0xc0, 0xec, 0x77, 0x09, 0x0d, 0xa5, 0xae, 0xed, 0xf9, 0x70, 0x3f, 0x9a, 0xff, + 0xc9, 0x1d, 0x9a, 0xb7, ], Core::RightPadLow8_32 => [ - 0xee, 0x2a, 0x82, 0x30, 0xf2, 0x83, 0xdc, 0x08, 0x3b, 0x8e, 0x19, 0x44, 0x8b, 0xa3, - 0x24, 0x97, 0xe9, 0x31, 0x8b, 0x4e, 0x9e, 0x1b, 0xd4, 0xeb, 0xe1, 0xbe, 0xc5, 0x24, - 0x47, 0x6a, 0xb8, 0x6d, + 0x51, 0xe7, 0xf9, 0x34, 0xf0, 0x6e, 0xc1, 0xc9, 0x49, 0x91, 0x86, 0xba, 0xa5, 0x18, + 0x0a, 0x9d, 0xed, 0x56, 0x6d, 0x58, 0xb4, 0x2a, 0xb2, 0xf7, 0x0f, 0xf3, 0x6a, 0x4e, + 0x88, 0xba, 0x09, 0x78, ], Core::RightPadLow8_64 => [ - 0x97, 0xda, 0x90, 0xd8, 0x42, 0x8e, 0x6b, 0x94, 0xe6, 0xc1, 0x35, 0x14, 0x60, 0xdc, - 0x01, 0x12, 0x3e, 0x47, 0x9c, 0x4a, 0xaf, 0xbb, 0xd1, 0x4c, 0x78, 0xad, 0x2f, 0xad, - 0x0a, 0x89, 0x5e, 0xf3, + 0x48, 0xcd, 0x20, 0xc3, 0x8c, 0x1e, 0xa9, 0xa0, 0xab, 0x74, 0xd5, 0x1d, 0xf4, 0x85, + 0xef, 0x63, 0x90, 0x4b, 0x8f, 0x9a, 0x09, 0xef, 0xfd, 0x98, 0xfe, 0xba, 0xcd, 0x17, + 0x17, 0xf1, 0x8a, 0xd8, ], Core::RightRotate16 => [ - 0xee, 0x7d, 0x1c, 0x1f, 0x3d, 0x82, 0xda, 0x56, 0x81, 0xdd, 0x8b, 0x50, 0x69, 0xd5, - 0x37, 0xd8, 0x9f, 0x22, 0x93, 0xaa, 0x60, 0x53, 0x32, 0xce, 0x10, 0xc1, 0xc4, 0x22, - 0x4a, 0x53, 0xce, 0xea, + 0x65, 0xad, 0x75, 0x5e, 0xe8, 0x09, 0xc7, 0x27, 0x6b, 0xc0, 0x9d, 0xe1, 0x9b, 0x67, + 0xd1, 0x96, 0x9d, 0xe3, 0x2c, 0x53, 0xb3, 0xa1, 0x01, 0x21, 0xaf, 0x90, 0x56, 0x56, + 0x6a, 0x3c, 0xe8, 0xef, ], Core::RightRotate32 => [ - 0x89, 0x2a, 0x28, 0xdb, 0x32, 0x4c, 0xd9, 0x3c, 0xf7, 0xf6, 0x9c, 0x30, 0x72, 0xa7, - 0xb2, 0x22, 0xb8, 0x8c, 0x81, 0x8e, 0xe0, 0xe5, 0xa1, 0xb8, 0x97, 0xe5, 0x0c, 0x58, - 0x1f, 0x2a, 0x29, 0x62, + 0xd8, 0x13, 0x63, 0x7c, 0xba, 0x61, 0x09, 0x4e, 0xb5, 0xdc, 0x58, 0xf9, 0x32, 0x59, + 0xac, 0x3b, 0xda, 0x0a, 0xf2, 0x9c, 0x3d, 0xcb, 0x05, 0x51, 0xe1, 0x45, 0x20, 0x3e, + 0x0b, 0x8d, 0xfe, 0x20, ], Core::RightRotate64 => [ - 0x64, 0x31, 0x4f, 0xf1, 0x90, 0x40, 0xa3, 0x76, 0xf9, 0xfc, 0xf0, 0x2e, 0x75, 0x74, - 0x14, 0x9c, 0x12, 0x3f, 0x99, 0xc3, 0x90, 0x71, 0xcd, 0x37, 0x85, 0x1f, 0x8f, 0x8c, - 0xdf, 0x0e, 0xed, 0x42, + 0x7b, 0x8d, 0xf8, 0xb8, 0x85, 0x7e, 0xcf, 0xb4, 0xac, 0xc1, 0x83, 0xa3, 0x55, 0xd3, + 0x63, 0x0a, 0x9c, 0x64, 0x5f, 0x9d, 0xc4, 0x05, 0xe8, 0x87, 0x06, 0x61, 0x93, 0xcb, + 0xcd, 0xa4, 0x4a, 0x2e, ], Core::RightRotate8 => [ - 0x15, 0x81, 0xe0, 0xca, 0x09, 0xf1, 0x36, 0x84, 0xfe, 0x31, 0x35, 0xc1, 0xc6, 0xb6, - 0xf9, 0xc4, 0x89, 0xd7, 0xdd, 0x1e, 0xf0, 0xa5, 0xf7, 0x70, 0x83, 0xbb, 0x0e, 0xd0, - 0x0b, 0x4d, 0xf2, 0x8f, + 0x89, 0x28, 0x2b, 0x3e, 0x43, 0x0b, 0xba, 0xd5, 0xae, 0x7b, 0x1a, 0xd7, 0x4d, 0x10, + 0x61, 0x4c, 0xed, 0xfd, 0xc8, 0x01, 0xbf, 0xa3, 0xce, 0x17, 0x5f, 0x9e, 0x08, 0xbf, + 0x40, 0x31, 0xdd, 0x8e, ], Core::RightShift16 => [ - 0x5b, 0x4e, 0xc4, 0x62, 0xd4, 0xe2, 0xed, 0x89, 0xff, 0xe3, 0xfd, 0x40, 0x59, 0x32, - 0xc7, 0x97, 0x80, 0x28, 0x61, 0x20, 0x3e, 0xcb, 0x61, 0xd5, 0xb5, 0x9a, 0x73, 0xb0, - 0xfb, 0xfc, 0x4e, 0x84, + 0x86, 0x04, 0x0b, 0x4b, 0xdf, 0x11, 0x80, 0x7f, 0xb1, 0x0d, 0xc7, 0xca, 0x98, 0xf8, + 0x3e, 0x53, 0x02, 0xc5, 0x84, 0xc9, 0x26, 0x71, 0xd9, 0xa8, 0xca, 0xdd, 0xf7, 0x78, + 0x0b, 0xd6, 0x08, 0x5f, ], Core::RightShift32 => [ - 0xb2, 0x86, 0x1a, 0x48, 0xb2, 0x05, 0x41, 0x76, 0x91, 0xb6, 0x34, 0x7f, 0xe7, 0x5e, - 0xbe, 0xa5, 0x45, 0x60, 0xcf, 0x81, 0x38, 0x14, 0xac, 0x31, 0x63, 0x91, 0x70, 0xdb, - 0x92, 0xb9, 0x47, 0xd6, + 0xd1, 0xd0, 0xcc, 0xdb, 0xcc, 0x11, 0xa0, 0xe0, 0x0a, 0xf9, 0x3e, 0x7a, 0xe5, 0xbb, + 0xe2, 0x7f, 0x9d, 0x7f, 0xa7, 0xf2, 0xc2, 0x51, 0xf6, 0x03, 0x35, 0x24, 0x5f, 0xa0, + 0x0c, 0x5a, 0xb9, 0xfc, ], Core::RightShift64 => [ - 0xd3, 0x39, 0x42, 0xbf, 0x18, 0x61, 0x8a, 0x10, 0x4a, 0x57, 0x07, 0x54, 0x7f, 0x78, - 0xab, 0x72, 0x94, 0x1f, 0x4e, 0xe8, 0x13, 0x21, 0x6c, 0x0c, 0xe5, 0x20, 0xf3, 0x56, - 0x60, 0xfd, 0xbf, 0x81, + 0x51, 0x7b, 0xa7, 0xcc, 0xb3, 0xab, 0x80, 0x2c, 0x83, 0xd7, 0x06, 0x8c, 0x3c, 0x87, + 0x1c, 0x17, 0xe2, 0x04, 0xff, 0x0e, 0xea, 0x02, 0xab, 0x42, 0x01, 0x81, 0x73, 0x3c, + 0x79, 0xa4, 0x2b, 0xb6, ], Core::RightShift8 => [ - 0x73, 0x79, 0x12, 0xae, 0x32, 0x32, 0x50, 0xc0, 0x4e, 0x51, 0x6e, 0x39, 0x66, 0xce, - 0x94, 0x7e, 0x65, 0x32, 0x6f, 0x47, 0x46, 0x8a, 0xc9, 0x31, 0xc1, 0x63, 0xc3, 0xb0, - 0x2d, 0xe4, 0x12, 0x45, + 0x0f, 0x29, 0x8a, 0x1a, 0x90, 0xd1, 0xf3, 0x84, 0xc2, 0x45, 0xaf, 0x0b, 0xf1, 0x72, + 0x64, 0x2c, 0x51, 0xf5, 0x1d, 0x47, 0x5a, 0x41, 0x47, 0xdc, 0xe8, 0xc7, 0x21, 0x68, + 0xe7, 0x7f, 0x0c, 0xb2, ], Core::RightShiftWith16 => [ - 0x1e, 0x18, 0x1c, 0x33, 0x16, 0x93, 0x59, 0x4c, 0x6e, 0x0e, 0x8f, 0xde, 0xb4, 0x0a, - 0x81, 0xa3, 0xaf, 0x8f, 0x56, 0xb7, 0xa5, 0x60, 0xde, 0x64, 0x41, 0x30, 0x3f, 0x65, - 0xf4, 0xfc, 0x93, 0x7c, + 0xcf, 0x05, 0xf8, 0x42, 0x11, 0x0f, 0x98, 0x19, 0xa5, 0x34, 0x5c, 0x23, 0x2b, 0xeb, + 0x47, 0x2b, 0x9c, 0x97, 0x69, 0x84, 0xa4, 0x14, 0x70, 0xbe, 0xfc, 0x0b, 0x02, 0x5d, + 0x46, 0xd0, 0x42, 0x71, ], Core::RightShiftWith32 => [ - 0x69, 0xdb, 0xe1, 0x90, 0xd7, 0x2d, 0x77, 0xd0, 0xd0, 0xdc, 0xf3, 0x25, 0xde, 0x96, - 0x59, 0x22, 0x14, 0x58, 0x1f, 0x11, 0xe9, 0xed, 0xca, 0x93, 0xe2, 0xf9, 0x28, 0x48, - 0x2b, 0x5e, 0x77, 0xa7, + 0x04, 0x04, 0x41, 0x95, 0x69, 0xd5, 0x7f, 0xe3, 0x89, 0x32, 0x30, 0xdb, 0x5f, 0xa0, + 0xd8, 0xf9, 0x47, 0x30, 0x23, 0xa4, 0x2e, 0x01, 0xc2, 0x04, 0x93, 0x1c, 0xd7, 0x34, + 0xfb, 0x44, 0xa9, 0xf8, ], Core::RightShiftWith64 => [ - 0x2d, 0x0a, 0xb8, 0x83, 0x04, 0x69, 0x28, 0x0e, 0x2a, 0x28, 0x99, 0x3c, 0x5a, 0x05, - 0xf5, 0x6b, 0x91, 0xa8, 0xae, 0xb0, 0x34, 0xcc, 0xeb, 0xe0, 0x9c, 0x50, 0xf1, 0x3e, - 0xa7, 0x8d, 0xda, 0xfc, + 0x77, 0x26, 0x7b, 0x05, 0x1e, 0x5a, 0x10, 0x39, 0x11, 0x85, 0x90, 0x3b, 0x1a, 0x98, + 0xde, 0x32, 0xfc, 0xf2, 0x4e, 0x6a, 0xe6, 0x87, 0x1c, 0x6f, 0x15, 0xb6, 0x86, 0x52, + 0xb2, 0x4a, 0x66, 0xc4, ], Core::RightShiftWith8 => [ - 0x1b, 0xdb, 0xdc, 0x8d, 0x8b, 0x74, 0x9b, 0xa3, 0xda, 0x75, 0x75, 0x58, 0x7d, 0x99, - 0x93, 0x00, 0x72, 0x60, 0x3f, 0x27, 0x5f, 0x7b, 0xd2, 0xf3, 0x24, 0xa3, 0x49, 0x51, - 0xd4, 0x46, 0x1b, 0x21, + 0xa9, 0xcb, 0x66, 0x14, 0xef, 0x32, 0x6a, 0x66, 0x47, 0x74, 0xd6, 0xdc, 0xe6, 0x53, + 0xe1, 0xd6, 0xc0, 0x89, 0x58, 0x34, 0x43, 0xae, 0x91, 0x7f, 0x0f, 0xb4, 0xc5, 0xc2, + 0x2b, 0x9a, 0xb4, 0x44, ], Core::Rightmost16_1 => [ - 0xe1, 0x29, 0xa8, 0xae, 0x88, 0x0f, 0x51, 0xca, 0x2a, 0x94, 0xdb, 0x44, 0xed, 0xec, - 0xa1, 0xc3, 0xa7, 0x66, 0xb7, 0x3e, 0x98, 0x97, 0x0b, 0x11, 0x98, 0xad, 0xe2, 0x16, - 0xae, 0x69, 0xcd, 0x2d, + 0x64, 0x8b, 0x9a, 0x0f, 0x90, 0x32, 0x28, 0xba, 0x27, 0xd9, 0x59, 0x41, 0xfd, 0x54, + 0xe9, 0x2e, 0xa7, 0xb3, 0x5f, 0xee, 0xb2, 0x8a, 0x79, 0x86, 0xb6, 0x2d, 0xa9, 0x2d, + 0x7d, 0x51, 0x24, 0x70, ], Core::Rightmost16_2 => [ - 0x8d, 0x0f, 0x68, 0xda, 0xdf, 0x54, 0x6c, 0x5e, 0xd3, 0x6f, 0x34, 0x70, 0x58, 0x02, - 0xb0, 0xce, 0x83, 0x9a, 0x63, 0xe5, 0x74, 0x49, 0x77, 0x85, 0x24, 0x30, 0x08, 0xab, - 0x42, 0x7e, 0x45, 0x6b, + 0x27, 0x62, 0x2f, 0x1c, 0x01, 0x73, 0x62, 0x31, 0x09, 0xf9, 0x20, 0xf8, 0xcd, 0x87, + 0x66, 0xbb, 0xf6, 0x0d, 0x30, 0x6a, 0xd1, 0x98, 0x3f, 0xdb, 0xc1, 0x46, 0x1d, 0x23, + 0xa4, 0x1f, 0xa9, 0x44, ], Core::Rightmost16_4 => [ - 0xb0, 0xd4, 0x13, 0x95, 0x41, 0xec, 0xab, 0x2c, 0x16, 0xfc, 0x1a, 0x87, 0x98, 0x9b, - 0xdd, 0x04, 0x53, 0x22, 0xef, 0xb1, 0xe7, 0x0b, 0xc1, 0xf7, 0xb0, 0x4d, 0x43, 0xb2, - 0x8b, 0xb3, 0x49, 0xff, + 0x79, 0x87, 0x86, 0x8f, 0xf3, 0xfe, 0x7f, 0x44, 0x68, 0xa3, 0x15, 0x0e, 0x3a, 0x42, + 0xcd, 0x0f, 0x32, 0x5d, 0x48, 0x92, 0x81, 0x89, 0xa4, 0x85, 0xaa, 0x62, 0xc0, 0x13, + 0x94, 0xc4, 0xe8, 0x34, ], Core::Rightmost16_8 => [ - 0x0f, 0x03, 0xfa, 0x0f, 0xa6, 0xce, 0xb5, 0x5d, 0xf9, 0x9b, 0x20, 0xd9, 0xef, 0xcf, - 0x37, 0x10, 0xa7, 0x08, 0xa2, 0x84, 0xa9, 0x5c, 0x33, 0x4c, 0x1d, 0xa3, 0xcb, 0xfe, - 0x02, 0xfb, 0x94, 0x67, + 0xef, 0x85, 0xcf, 0x36, 0xb7, 0x9d, 0x9c, 0xfa, 0xed, 0x2c, 0x63, 0x3d, 0x75, 0x1e, + 0x2e, 0x38, 0xea, 0xae, 0x5a, 0xc0, 0x21, 0x05, 0x0b, 0x13, 0x47, 0x29, 0xb9, 0xdb, + 0x51, 0xbd, 0x55, 0xa3, ], Core::Rightmost32_1 => [ - 0x8f, 0x5e, 0x52, 0x63, 0xbb, 0x8e, 0xf8, 0x00, 0xc9, 0x9d, 0x0c, 0x23, 0xfc, 0xba, - 0xa3, 0x19, 0x8a, 0x6a, 0xbd, 0xf0, 0x08, 0x58, 0x1e, 0x8c, 0x89, 0x10, 0x52, 0xb4, - 0x0c, 0xa7, 0xf7, 0xa4, + 0x07, 0x38, 0xe6, 0x9e, 0xbf, 0xcf, 0x85, 0xd8, 0xe0, 0xdb, 0x90, 0x66, 0xc2, 0x0a, + 0xfc, 0x0a, 0x0a, 0x62, 0xd5, 0x4d, 0xb8, 0xec, 0x35, 0x7a, 0xce, 0x45, 0xba, 0x4d, + 0x41, 0x55, 0xd0, 0x49, ], Core::Rightmost32_16 => [ - 0xb9, 0xa2, 0x3e, 0x1b, 0xf7, 0xc6, 0x81, 0x43, 0x51, 0x30, 0x74, 0xc9, 0x39, 0xbd, - 0x73, 0xc9, 0xbf, 0x8e, 0xb5, 0xaa, 0xce, 0x84, 0x15, 0xff, 0x01, 0x02, 0x2f, 0xca, - 0x65, 0xb3, 0xa3, 0x42, + 0x08, 0xc1, 0x2f, 0xf6, 0x30, 0x90, 0x6c, 0xdc, 0x05, 0xd3, 0x17, 0x16, 0x04, 0x5d, + 0x96, 0x2a, 0x6c, 0xb3, 0x95, 0x2c, 0x89, 0xae, 0xb6, 0xc7, 0x1e, 0x47, 0xfb, 0xa6, + 0x84, 0x5a, 0x4d, 0x8a, ], Core::Rightmost32_2 => [ - 0xab, 0xf3, 0x23, 0x8d, 0x3c, 0xbf, 0x0b, 0xf3, 0x5a, 0x83, 0x96, 0x1f, 0xb9, 0xf9, - 0x04, 0xb5, 0x6d, 0x3a, 0x9e, 0x0e, 0x35, 0xc8, 0x9d, 0xf8, 0x72, 0xc9, 0xc9, 0x38, - 0xd3, 0x44, 0xa5, 0x4a, + 0xf7, 0x55, 0xdf, 0x38, 0x97, 0x22, 0xae, 0x31, 0x23, 0x88, 0x4d, 0x9f, 0x03, 0xf2, + 0x60, 0xf1, 0x2a, 0xb2, 0x2a, 0x35, 0x32, 0x03, 0xd3, 0xcd, 0xfe, 0x19, 0x83, 0x08, + 0x21, 0x81, 0x03, 0x4b, ], Core::Rightmost32_4 => [ - 0xf7, 0xee, 0xd2, 0xec, 0x80, 0x59, 0x06, 0xfe, 0xb3, 0xac, 0x27, 0xf2, 0xde, 0xe5, - 0x3b, 0x58, 0xc3, 0xb1, 0x3e, 0x40, 0xe2, 0xbc, 0x3e, 0x8b, 0x10, 0x63, 0x2e, 0xd9, - 0xc0, 0xe7, 0xca, 0x5f, + 0x39, 0x60, 0x04, 0xe0, 0xf7, 0x2c, 0xc2, 0x47, 0x58, 0x5a, 0x6b, 0xf9, 0x17, 0xf7, + 0x78, 0x1a, 0xae, 0xb1, 0xb6, 0x2a, 0x87, 0x76, 0x20, 0x58, 0x72, 0x26, 0x7e, 0x4f, + 0x18, 0xf0, 0xa7, 0x75, ], Core::Rightmost32_8 => [ - 0xf3, 0xe4, 0x39, 0xed, 0x98, 0x83, 0xc6, 0xa6, 0xb9, 0x07, 0x20, 0x53, 0x2e, 0xb4, - 0xe0, 0x43, 0xe8, 0x9a, 0x35, 0xf0, 0xb5, 0x29, 0x5f, 0xd5, 0x02, 0xa0, 0xb0, 0xb2, - 0x43, 0x6b, 0xd2, 0x13, + 0x41, 0x93, 0x6e, 0xa9, 0x76, 0x9d, 0xe1, 0xf7, 0x86, 0x6c, 0xd5, 0xd0, 0x68, 0xac, + 0x6c, 0x2e, 0xa7, 0x47, 0x0a, 0x39, 0x39, 0xc2, 0xf1, 0x7d, 0x34, 0xfe, 0x91, 0xaf, + 0xc6, 0x8b, 0x1f, 0x3a, ], Core::Rightmost64_1 => [ - 0xc9, 0x6b, 0xe3, 0xe3, 0x35, 0x48, 0x25, 0x8e, 0x30, 0x71, 0x7b, 0x30, 0x81, 0x7e, - 0x44, 0x0f, 0x0a, 0xf4, 0xb1, 0x89, 0x0e, 0xdf, 0xcf, 0x7f, 0xdc, 0xb3, 0x9c, 0xb9, - 0xef, 0xff, 0x47, 0x1d, + 0x45, 0x06, 0xf2, 0x04, 0xb3, 0xd8, 0xc9, 0xa6, 0x25, 0xfa, 0x9e, 0x8f, 0xe6, 0xcc, + 0x14, 0xba, 0xe7, 0x1d, 0x61, 0xa2, 0x3c, 0xc4, 0x6a, 0xd5, 0xca, 0x25, 0xc6, 0x7a, + 0x01, 0x9d, 0x9d, 0x4b, ], Core::Rightmost64_16 => [ - 0x5d, 0x55, 0x5f, 0x83, 0xe4, 0x80, 0x87, 0xdb, 0x0c, 0x41, 0x5d, 0xad, 0x17, 0xf0, - 0x81, 0xd4, 0xf6, 0xb7, 0x60, 0xe9, 0x95, 0xf2, 0x72, 0xbb, 0xb6, 0xe4, 0xcb, 0x42, - 0xd0, 0xf5, 0x03, 0x25, + 0x8a, 0xf7, 0x0d, 0x2b, 0x92, 0xa7, 0xd0, 0x04, 0xdb, 0x8d, 0x79, 0x6e, 0xc1, 0x2b, + 0x75, 0xe4, 0xe4, 0x4d, 0x92, 0x62, 0x82, 0x32, 0x57, 0xca, 0xb3, 0xcb, 0x45, 0xfb, + 0x72, 0x2a, 0x9b, 0x9b, ], Core::Rightmost64_2 => [ - 0xa9, 0xcb, 0x13, 0x43, 0xdb, 0xd5, 0x22, 0xb9, 0x1b, 0x64, 0x82, 0xe4, 0xba, 0xe6, - 0x2b, 0x0e, 0x5f, 0x82, 0x98, 0x68, 0x7e, 0x64, 0x23, 0x33, 0x5c, 0x6d, 0xf5, 0x06, - 0xdc, 0x42, 0x5b, 0x90, + 0xb6, 0xcb, 0xca, 0xd7, 0x76, 0xfc, 0xa4, 0xf7, 0x7d, 0x5a, 0x7c, 0xf0, 0x85, 0x00, + 0xce, 0xb2, 0xca, 0xfc, 0xdc, 0xe1, 0xe3, 0x3f, 0xae, 0x08, 0x75, 0x29, 0xf5, 0xa1, + 0x55, 0x41, 0xbd, 0x98, ], Core::Rightmost64_32 => [ - 0x47, 0x33, 0xb1, 0x92, 0x59, 0x80, 0x09, 0x64, 0x99, 0xb7, 0x87, 0x7c, 0x04, 0xe0, - 0x01, 0xba, 0xd3, 0x32, 0x5b, 0x2e, 0xca, 0xb3, 0x48, 0xe5, 0xad, 0xd7, 0x20, 0xd0, - 0x7b, 0x1b, 0x4a, 0x3a, + 0x7f, 0xb0, 0x85, 0x18, 0xd5, 0xcc, 0x0c, 0x38, 0x0e, 0xa4, 0x55, 0xbf, 0xb2, 0xf4, + 0x5f, 0x2b, 0x55, 0xf5, 0x34, 0x68, 0x10, 0x9c, 0x36, 0x5e, 0xac, 0xff, 0x1f, 0x09, + 0x52, 0x2c, 0x6d, 0x51, ], Core::Rightmost64_4 => [ - 0x89, 0xda, 0xf7, 0xbe, 0x2c, 0xde, 0x58, 0xf0, 0x4e, 0x8d, 0xee, 0x58, 0xa4, 0x39, - 0x10, 0x91, 0x2c, 0x09, 0x6e, 0x95, 0xe1, 0x46, 0xc1, 0x9b, 0x00, 0xf5, 0x4f, 0xe8, - 0x74, 0x70, 0x07, 0x40, + 0xdb, 0x61, 0xfd, 0xe7, 0xa4, 0x1c, 0xbc, 0x68, 0x77, 0xd2, 0xe6, 0x4e, 0x5c, 0x5f, + 0x86, 0xe2, 0x67, 0xce, 0x84, 0x3c, 0xc2, 0xab, 0x52, 0xf9, 0x1a, 0x4a, 0x6d, 0x4c, + 0x64, 0xc6, 0xf4, 0xbf, ], Core::Rightmost64_8 => [ - 0x1d, 0xfb, 0x2b, 0xef, 0x4c, 0xae, 0x45, 0x07, 0x92, 0x27, 0x08, 0xe5, 0xa5, 0x70, - 0x99, 0x49, 0x3f, 0xbe, 0x21, 0x15, 0x98, 0xee, 0xc0, 0xbf, 0xe0, 0xe7, 0x7b, 0x3d, - 0x41, 0xec, 0x89, 0xab, + 0x05, 0x66, 0x65, 0xd9, 0x3f, 0xbe, 0x67, 0xe7, 0x13, 0x7d, 0x40, 0xe7, 0x50, 0x00, + 0x82, 0x8d, 0xe2, 0x54, 0x75, 0x7d, 0x47, 0xe7, 0x54, 0xc5, 0x7e, 0x2e, 0x29, 0x27, + 0x46, 0xb3, 0xd6, 0xe3, ], Core::Rightmost8_1 => [ - 0xce, 0xab, 0xd5, 0xca, 0x9f, 0xd9, 0x16, 0x2f, 0x99, 0x5e, 0x37, 0x35, 0x77, 0x04, - 0x7a, 0xa4, 0xba, 0x71, 0xf8, 0x07, 0xc7, 0x11, 0xf6, 0x0b, 0x08, 0xeb, 0x6a, 0x1c, - 0xfc, 0x38, 0x1c, 0x9c, + 0x3d, 0x31, 0xef, 0x3d, 0x18, 0xb6, 0xaf, 0x64, 0x10, 0x46, 0xd0, 0xdf, 0xe4, 0x58, + 0xb6, 0xda, 0x92, 0x13, 0xab, 0x54, 0xaa, 0xd8, 0xab, 0x1f, 0x48, 0x02, 0x33, 0xe9, + 0x30, 0xcc, 0x77, 0x4b, ], Core::Rightmost8_2 => [ - 0x39, 0xb2, 0xf0, 0x37, 0xb6, 0xa0, 0x81, 0x86, 0x11, 0x50, 0x65, 0xf3, 0x85, 0x05, - 0x7a, 0xf3, 0xde, 0x3b, 0x9f, 0x0a, 0x9b, 0xda, 0x68, 0x33, 0x71, 0x46, 0x22, 0x59, - 0x41, 0x30, 0x28, 0xec, + 0x25, 0xc2, 0xa1, 0xbe, 0xbc, 0x03, 0xaa, 0x9d, 0x1e, 0x26, 0x61, 0x0e, 0x58, 0x77, + 0xad, 0x7a, 0xb2, 0xf7, 0xa4, 0xa2, 0x4b, 0xe7, 0x68, 0x6c, 0x49, 0x78, 0xe5, 0xbd, + 0x21, 0x97, 0xe8, 0xbd, ], Core::Rightmost8_4 => [ - 0xa7, 0xa9, 0x49, 0x49, 0x0d, 0x1a, 0x00, 0xde, 0xfe, 0x5f, 0x61, 0x51, 0x29, 0x23, - 0x85, 0x0f, 0x51, 0xe3, 0x47, 0xc0, 0x6a, 0x8d, 0x76, 0xa0, 0xcd, 0xab, 0x87, 0xee, - 0xe2, 0x9a, 0x5d, 0xef, + 0x43, 0xcc, 0x17, 0xf6, 0xad, 0x5d, 0x42, 0x20, 0x53, 0xf3, 0x51, 0x9e, 0x0a, 0xa2, + 0x26, 0xee, 0x06, 0xc5, 0x7c, 0xed, 0x8d, 0x05, 0x31, 0xec, 0x83, 0x94, 0xaf, 0x29, + 0x05, 0xc1, 0x44, 0xa0, ], Core::ScalarAdd => [ - 0x4e, 0xe9, 0xa9, 0x6c, 0xef, 0x49, 0x6c, 0xf4, 0xa8, 0xfc, 0x4e, 0x8a, 0x8b, 0xc0, - 0xd1, 0x59, 0xca, 0x5f, 0xfb, 0x87, 0x53, 0x64, 0x3a, 0x8a, 0xdf, 0x63, 0x8a, 0xe8, - 0x9b, 0xbb, 0xb3, 0x45, + 0x21, 0xd0, 0x3b, 0x80, 0x63, 0x0a, 0x82, 0x5a, 0x2a, 0xcc, 0x13, 0x3d, 0x24, 0x08, + 0xfd, 0xc7, 0x71, 0x8e, 0x42, 0x52, 0x13, 0xa9, 0x2f, 0x95, 0xff, 0x97, 0x62, 0xb8, + 0xc5, 0xe9, 0x3f, 0x64, ], Core::ScalarInvert => [ - 0x12, 0xb8, 0x55, 0xe5, 0xeb, 0xaa, 0x7f, 0x8b, 0xb4, 0x4f, 0xee, 0x26, 0x16, 0xa0, - 0x51, 0xad, 0x00, 0x49, 0x9f, 0x9d, 0xf2, 0xa2, 0xad, 0xf7, 0x99, 0x73, 0xe9, 0xdb, - 0x81, 0x85, 0x75, 0x9c, + 0x32, 0x77, 0x4c, 0x56, 0x7a, 0x8a, 0xef, 0xee, 0xd0, 0xef, 0xa7, 0x4c, 0xbb, 0xb6, + 0xaf, 0x27, 0x34, 0xa2, 0xb1, 0x1b, 0x14, 0x6a, 0xbe, 0x92, 0x06, 0x7c, 0x9f, 0xab, + 0xa6, 0x90, 0xb6, 0x85, ], Core::ScalarIsZero => [ - 0x4d, 0x25, 0x28, 0x03, 0x45, 0x7b, 0x83, 0xb8, 0x5b, 0x98, 0x7f, 0x04, 0x87, 0x33, - 0xfb, 0xee, 0xde, 0xaa, 0x8d, 0x25, 0x9d, 0x32, 0x05, 0x07, 0x45, 0x00, 0x19, 0xc6, - 0x22, 0x03, 0x4f, 0x26, + 0x7b, 0x9b, 0xe7, 0x66, 0x49, 0x08, 0x90, 0x91, 0x68, 0xe3, 0xea, 0x60, 0xbd, 0x10, + 0x61, 0xec, 0x9a, 0x31, 0xe9, 0xa1, 0xd4, 0x76, 0x88, 0xba, 0x12, 0x7a, 0x39, 0xc1, + 0xc5, 0x8d, 0xe4, 0xfb, ], Core::ScalarMultiply => [ - 0x87, 0x56, 0xf2, 0xdc, 0x31, 0x0c, 0xde, 0xb6, 0x40, 0x45, 0xc4, 0x4c, 0x23, 0x66, - 0xe1, 0x4b, 0xc1, 0xfa, 0xfa, 0x17, 0x15, 0x9f, 0x2d, 0x7b, 0x48, 0x9b, 0xd9, 0x45, - 0x3e, 0xe3, 0x7e, 0xa0, + 0x25, 0xef, 0xe6, 0x40, 0x18, 0x6b, 0xc5, 0xea, 0x9f, 0x0e, 0x5d, 0xc8, 0x02, 0xd6, + 0xd2, 0xfe, 0x1c, 0x77, 0x75, 0x0f, 0xaa, 0x02, 0x4e, 0x07, 0x1b, 0xd8, 0x32, 0xdb, + 0xe6, 0x79, 0x02, 0x4b, ], Core::ScalarMultiplyLambda => [ - 0x2b, 0x31, 0xd3, 0x9e, 0xc4, 0xff, 0x37, 0x23, 0x1a, 0x1b, 0x3e, 0xbe, 0x75, 0x9d, - 0x41, 0xe0, 0xf5, 0xce, 0x34, 0x49, 0x2d, 0x4b, 0xd3, 0xc2, 0x09, 0x88, 0xc3, 0xf2, - 0xf7, 0xc5, 0x3e, 0xdc, + 0x23, 0x2b, 0x9f, 0xcf, 0x9d, 0x85, 0xc1, 0xa5, 0x11, 0x62, 0xa3, 0xea, 0x55, 0x08, + 0x16, 0x31, 0x5c, 0x8e, 0x77, 0xe4, 0x64, 0x03, 0xac, 0xff, 0xa7, 0xfe, 0x6d, 0xbb, + 0x1f, 0x25, 0x01, 0x1a, ], Core::ScalarNegate => [ - 0xfc, 0x2e, 0xd1, 0x87, 0x50, 0xa2, 0x21, 0x81, 0xaf, 0x5b, 0x81, 0x41, 0x96, 0x92, - 0x73, 0xca, 0xaf, 0x72, 0xcc, 0x11, 0x31, 0xe1, 0x08, 0x2c, 0xf0, 0x08, 0xf5, 0xca, - 0x09, 0x09, 0xc2, 0x16, + 0x3a, 0x63, 0x32, 0x9d, 0x66, 0x45, 0xa7, 0xc0, 0x4e, 0x7f, 0x99, 0xd9, 0xca, 0x76, + 0x29, 0x2c, 0xb5, 0x7b, 0xea, 0x2f, 0x9f, 0x90, 0x84, 0xf3, 0x05, 0xe0, 0x58, 0x3e, + 0x45, 0x5b, 0x82, 0xee, ], Core::ScalarNormalize => [ - 0x79, 0x7c, 0xff, 0xa8, 0x08, 0x59, 0xca, 0xb7, 0xcd, 0xbf, 0x3b, 0x9d, 0xe6, 0xe0, - 0xa8, 0xb7, 0x91, 0x48, 0x4e, 0xaa, 0xba, 0xcb, 0xdf, 0xba, 0xeb, 0x01, 0xe2, 0x38, - 0x95, 0xe9, 0x61, 0x99, + 0x27, 0xef, 0x9f, 0x9c, 0x0a, 0x5e, 0xd2, 0xfc, 0xd7, 0xa2, 0x84, 0xd1, 0x4c, 0x51, + 0x16, 0xaf, 0xab, 0x70, 0xe4, 0x89, 0x0f, 0x38, 0x1c, 0xc2, 0xda, 0x88, 0xa5, 0xf3, + 0xb5, 0x0e, 0x43, 0xc9, ], Core::ScalarSquare => [ - 0x77, 0xb4, 0x3c, 0x60, 0x38, 0xad, 0x80, 0xb4, 0x6d, 0x3a, 0x76, 0xe2, 0x12, 0xb3, - 0xa8, 0xc0, 0xd2, 0xf0, 0x63, 0x07, 0xbc, 0x45, 0x6e, 0x40, 0xb5, 0xd6, 0xf4, 0xa3, - 0xa5, 0x0e, 0x26, 0x4d, + 0xd9, 0xde, 0x19, 0x19, 0xcd, 0x12, 0xd2, 0x11, 0x70, 0x3f, 0xbb, 0xd0, 0x4e, 0x20, + 0x01, 0xd5, 0x0d, 0x29, 0x36, 0x06, 0x78, 0x64, 0x12, 0xa8, 0xd6, 0xdf, 0x36, 0xdc, + 0x1f, 0x97, 0xe3, 0xbe, ], Core::Scale => [ - 0x57, 0x4c, 0xe7, 0x60, 0x24, 0xa5, 0xf0, 0x11, 0xa2, 0xd0, 0xbc, 0xeb, 0xb0, 0xf8, - 0x1a, 0x15, 0xe0, 0xf9, 0xd0, 0x6b, 0x34, 0xf2, 0x09, 0x94, 0x33, 0xcb, 0x11, 0x4f, - 0x53, 0x46, 0x8d, 0x4f, + 0xbd, 0x69, 0x5b, 0xe1, 0x8e, 0xf7, 0x75, 0xf1, 0x2d, 0x6e, 0xe8, 0xe8, 0xe0, 0x8b, + 0xbb, 0x6b, 0xa9, 0xfb, 0xff, 0xc8, 0x75, 0x24, 0x70, 0x72, 0x5e, 0x8b, 0x06, 0x11, + 0x0d, 0x8c, 0x5a, 0x56, ], Core::Sha256Block => [ - 0x94, 0xa3, 0x6a, 0x40, 0x83, 0x30, 0x9e, 0x0b, 0x86, 0xde, 0x77, 0xd0, 0xfb, 0x48, - 0xd9, 0xd3, 0x31, 0xe2, 0xd2, 0xf1, 0x67, 0x74, 0x0b, 0x60, 0x6e, 0x60, 0x57, 0x4a, - 0xf4, 0x38, 0xcd, 0x86, + 0x97, 0xbb, 0x59, 0xb7, 0x93, 0xae, 0x9c, 0xe4, 0x9d, 0xc0, 0x78, 0x13, 0x4b, 0x6a, + 0x9e, 0x85, 0x5a, 0xcc, 0x6d, 0x50, 0xc0, 0xe5, 0xbd, 0x3f, 0xa6, 0x71, 0xce, 0xbe, + 0xea, 0xb0, 0x7a, 0xe2, ], Core::Sha256Ctx8Add1 => [ - 0x8a, 0x1d, 0x25, 0x70, 0x87, 0xb3, 0x2c, 0xcd, 0xc3, 0x32, 0x00, 0x37, 0x4e, 0x6e, - 0x95, 0xc8, 0x75, 0xa0, 0x5e, 0x54, 0x81, 0x22, 0x32, 0x3f, 0x6b, 0x7a, 0xb9, 0xc0, - 0x7e, 0xb9, 0xb6, 0xee, + 0x02, 0x7b, 0x6e, 0xec, 0xd2, 0xb3, 0x82, 0x29, 0x2c, 0x5e, 0xa4, 0x65, 0x29, 0x40, + 0x8b, 0x01, 0xb2, 0xd4, 0xc7, 0x39, 0xd9, 0x11, 0x60, 0x1d, 0x02, 0xc6, 0xbf, 0x3a, + 0x18, 0x6b, 0xb7, 0xdf, ], Core::Sha256Ctx8Add128 => [ - 0xe7, 0x77, 0x2c, 0xb9, 0xc0, 0xec, 0x42, 0x1a, 0xb8, 0xa7, 0x89, 0xd4, 0x5c, 0xd6, - 0x46, 0x61, 0xf4, 0x33, 0xdd, 0x7d, 0x3d, 0x2c, 0x94, 0xdc, 0x1f, 0x1c, 0x4f, 0x3a, - 0xf8, 0xc7, 0x80, 0xab, + 0xe7, 0xe5, 0xe3, 0xb3, 0x94, 0x4a, 0x31, 0x1b, 0xd4, 0x1a, 0x06, 0x0d, 0x55, 0xe1, + 0x7b, 0x08, 0xb5, 0xff, 0x75, 0x02, 0x08, 0x52, 0xe6, 0x6b, 0xda, 0x62, 0xb6, 0xdf, + 0x94, 0x3b, 0xb8, 0xd4, ], Core::Sha256Ctx8Add16 => [ - 0xf0, 0xf4, 0xcf, 0x99, 0xad, 0x58, 0xa0, 0x38, 0x5e, 0x16, 0xb8, 0x7d, 0xbf, 0x32, - 0x71, 0xc4, 0x75, 0x24, 0xde, 0xfd, 0x78, 0xf1, 0x1b, 0xbc, 0x74, 0x71, 0xfe, 0x4d, - 0xa9, 0x4a, 0xeb, 0xad, + 0x77, 0x87, 0x22, 0x34, 0x3b, 0x78, 0xcf, 0xb7, 0x7f, 0xd5, 0xe7, 0xd5, 0xb1, 0x9e, + 0x93, 0x12, 0xe9, 0x97, 0xbb, 0xa3, 0x52, 0xee, 0xcb, 0x39, 0xa3, 0xc3, 0x32, 0xff, + 0x48, 0x09, 0xaa, 0x14, ], Core::Sha256Ctx8Add2 => [ - 0x79, 0x98, 0xc7, 0xc2, 0xbd, 0x81, 0x4b, 0x0c, 0x0f, 0x40, 0x3f, 0x58, 0xc5, 0x76, - 0xea, 0x56, 0x40, 0x7d, 0x25, 0xee, 0x22, 0x9f, 0xae, 0x62, 0x5b, 0xca, 0xb0, 0xc6, - 0x20, 0xa2, 0xa2, 0x9c, + 0x72, 0xaa, 0x6d, 0xe3, 0x4c, 0x20, 0x72, 0xe6, 0x92, 0x3b, 0x22, 0x80, 0xb7, 0xcf, + 0x52, 0x1e, 0x1e, 0x05, 0x7d, 0x6b, 0xec, 0xdd, 0xa7, 0x75, 0x9a, 0x79, 0xac, 0x18, + 0x8a, 0x26, 0x2e, 0x32, ], Core::Sha256Ctx8Add256 => [ - 0xa8, 0x74, 0x99, 0x61, 0xb3, 0x1a, 0xfe, 0x2f, 0xb5, 0x53, 0xb7, 0x0b, 0x4c, 0xea, - 0x78, 0x7d, 0xca, 0x47, 0x25, 0x84, 0x54, 0xd5, 0x83, 0xdc, 0x45, 0xa0, 0x78, 0x0d, - 0x5e, 0x2a, 0x2a, 0x50, + 0xa4, 0x88, 0xeb, 0x1e, 0x75, 0x85, 0xcd, 0x02, 0x27, 0xad, 0xbb, 0xc8, 0x54, 0x9c, + 0x9f, 0xeb, 0x65, 0x87, 0xf7, 0x8b, 0x43, 0x92, 0x2b, 0x57, 0x44, 0x01, 0x5f, 0x1b, + 0xb6, 0x21, 0xda, 0xa0, ], Core::Sha256Ctx8Add32 => [ - 0xf2, 0x20, 0x68, 0xb7, 0x76, 0xa3, 0x78, 0x7f, 0x9d, 0x52, 0xec, 0x2a, 0x95, 0x91, - 0x95, 0x1f, 0x8a, 0x73, 0xf0, 0x09, 0x60, 0x09, 0x12, 0x35, 0x8a, 0x2a, 0x1e, 0x15, - 0x86, 0x4e, 0x80, 0xb2, + 0x50, 0x38, 0x33, 0x5e, 0xd7, 0x69, 0x56, 0xf3, 0x45, 0x1e, 0x68, 0x78, 0x10, 0x02, + 0xe9, 0x63, 0xa8, 0x4d, 0xd6, 0x55, 0xcb, 0xf2, 0xb8, 0x41, 0x63, 0x26, 0x91, 0x14, + 0x77, 0xae, 0x3c, 0xa2, ], Core::Sha256Ctx8Add4 => [ - 0x40, 0xe6, 0x6d, 0xec, 0xa1, 0x32, 0xf5, 0xae, 0x0c, 0x54, 0x93, 0x7b, 0x95, 0xcc, - 0xac, 0xa1, 0x12, 0x67, 0xa4, 0xad, 0xca, 0x70, 0x28, 0x87, 0xb6, 0xe4, 0x08, 0xed, - 0x76, 0x15, 0x30, 0xbc, + 0x23, 0xb6, 0x9b, 0x90, 0xe6, 0x9e, 0xe5, 0x0f, 0x91, 0x67, 0x04, 0x6e, 0x89, 0x99, + 0xe3, 0xb9, 0x10, 0xc6, 0x54, 0xa7, 0x97, 0x91, 0xd3, 0xbd, 0x0e, 0x0e, 0x7f, 0x81, + 0x54, 0x2b, 0x9d, 0x36, ], Core::Sha256Ctx8Add512 => [ - 0x5a, 0x96, 0xee, 0x66, 0x8b, 0x52, 0xf6, 0x3f, 0x7b, 0xdb, 0xaa, 0xe3, 0xcc, 0x38, - 0xe3, 0x93, 0xef, 0x24, 0xb3, 0xa9, 0x67, 0x85, 0x6f, 0x2c, 0xd8, 0x9d, 0x83, 0xba, - 0x4c, 0xcb, 0xda, 0x8d, + 0xf7, 0x57, 0xd6, 0x9a, 0x8d, 0xb2, 0xc4, 0xba, 0x74, 0x46, 0xf9, 0x6a, 0x81, 0x4d, + 0x74, 0x61, 0xf4, 0xb3, 0xd0, 0x87, 0xc0, 0xe4, 0x25, 0x46, 0x8d, 0x72, 0x3d, 0x14, + 0x85, 0xbc, 0x85, 0x1b, ], Core::Sha256Ctx8Add64 => [ - 0x36, 0xed, 0xe6, 0xb6, 0x8a, 0xb6, 0xe4, 0xdb, 0x31, 0xef, 0xc7, 0xa7, 0xea, 0xe7, - 0xec, 0x3f, 0x7c, 0xee, 0xad, 0x93, 0x91, 0x10, 0x3b, 0x8d, 0xcb, 0x40, 0x60, 0x91, - 0x57, 0xfb, 0x87, 0x02, + 0x9a, 0x17, 0x9b, 0xbd, 0x8a, 0x03, 0x29, 0x37, 0xe5, 0x90, 0xff, 0xbd, 0xb3, 0x1a, + 0x28, 0x47, 0xa6, 0xf6, 0x9f, 0x9b, 0xb4, 0xdd, 0xcd, 0x2e, 0x60, 0x6e, 0xdd, 0x45, + 0x4a, 0xd8, 0x40, 0x31, ], Core::Sha256Ctx8Add8 => [ - 0xac, 0x1f, 0xf0, 0xfb, 0x0c, 0xf7, 0x1d, 0x71, 0x13, 0xdb, 0x42, 0xaa, 0x1d, 0xdb, - 0x89, 0x55, 0x96, 0xe6, 0x45, 0xd7, 0x63, 0xb8, 0xdf, 0x5e, 0x87, 0x25, 0xf5, 0x14, - 0x4c, 0x39, 0x95, 0x88, + 0x77, 0xb2, 0xeb, 0x5e, 0x6f, 0xa0, 0x3a, 0xac, 0x09, 0x86, 0x07, 0xc8, 0x3d, 0x10, + 0x61, 0x76, 0xbd, 0xf3, 0x3c, 0x8c, 0xbb, 0xa7, 0xb9, 0x2d, 0x27, 0xe0, 0x35, 0x2a, + 0x2f, 0x1e, 0xd3, 0xbe, ], Core::Sha256Ctx8AddBuffer511 => [ - 0x69, 0x01, 0xac, 0x0e, 0x30, 0xfd, 0x59, 0xce, 0xc8, 0x79, 0xd1, 0x69, 0x3b, 0x26, - 0x79, 0x59, 0x35, 0x69, 0x07, 0x84, 0x4b, 0x57, 0x7e, 0xdc, 0x3c, 0xe0, 0xe3, 0xf7, - 0x14, 0xa8, 0xef, 0x31, + 0xd4, 0x7b, 0xb1, 0xcb, 0x4c, 0xaa, 0xff, 0x17, 0x41, 0x2a, 0x73, 0x0d, 0xd9, 0x12, + 0xdb, 0xb3, 0x7d, 0xcc, 0xc9, 0x0b, 0x27, 0xd3, 0x95, 0xc4, 0xf8, 0x45, 0x90, 0x08, + 0xa5, 0xf2, 0x44, 0xc7, ], Core::Sha256Ctx8Finalize => [ - 0x84, 0x61, 0x59, 0x54, 0x00, 0x7e, 0xd8, 0x23, 0xd6, 0x05, 0x46, 0xd7, 0x5b, 0x04, - 0xb9, 0x09, 0xbc, 0x90, 0x92, 0x06, 0x37, 0x14, 0x73, 0xda, 0xc7, 0x0e, 0x12, 0x68, - 0x04, 0x77, 0x08, 0xcb, + 0x71, 0x65, 0x80, 0xc1, 0xe0, 0x0d, 0x6a, 0x66, 0x1f, 0xd9, 0xbe, 0x6b, 0x61, 0xde, + 0x5b, 0xef, 0x63, 0xa8, 0x4a, 0x4e, 0x67, 0x5b, 0xeb, 0x0b, 0x0a, 0x47, 0x19, 0x73, + 0x5e, 0xa3, 0xa2, 0x85, ], Core::Sha256Ctx8Init => [ - 0x6a, 0xdd, 0xa7, 0xd7, 0x33, 0x9f, 0x7d, 0xce, 0x4d, 0x62, 0xff, 0x82, 0x28, 0x16, - 0xda, 0x8d, 0xf5, 0x6a, 0xf6, 0x24, 0x3f, 0xa0, 0x73, 0xa2, 0x5c, 0x4c, 0x7c, 0xb5, - 0x7e, 0x01, 0x12, 0xb3, + 0x82, 0xbb, 0x12, 0xfe, 0x68, 0x8d, 0x2a, 0xe3, 0x7e, 0x30, 0x18, 0x93, 0xa3, 0xf0, + 0xd3, 0x07, 0x5c, 0xbf, 0x99, 0x34, 0xd0, 0x75, 0xf7, 0x3c, 0x2b, 0x36, 0x4a, 0xf3, + 0xd1, 0x12, 0x10, 0x2a, ], Core::Sha256Iv => [ - 0x6a, 0x18, 0xe6, 0xe7, 0x64, 0xaf, 0x80, 0x0d, 0xc6, 0xfa, 0xeb, 0x07, 0x54, 0xbf, - 0x0b, 0x17, 0x32, 0x9f, 0x98, 0x28, 0x1d, 0x13, 0xf5, 0x15, 0x77, 0x00, 0xfa, 0x6a, - 0x1d, 0x6d, 0x5d, 0x42, + 0xd2, 0xbb, 0x57, 0x20, 0x0d, 0xad, 0xd3, 0xa6, 0x73, 0x78, 0xdb, 0x79, 0x66, 0x10, + 0xf5, 0x9c, 0x33, 0xd9, 0xa4, 0x0d, 0x2d, 0xfc, 0xc9, 0x9f, 0x03, 0xb0, 0x8b, 0x71, + 0x55, 0xfb, 0xbb, 0xea, ], Core::Some1 => [ - 0x0b, 0x9c, 0xb7, 0xb4, 0x7d, 0xeb, 0x4f, 0x9d, 0x95, 0xd5, 0xc0, 0x20, 0x00, 0x1f, - 0xd0, 0x09, 0xa2, 0xf1, 0x0c, 0xe5, 0xd9, 0x18, 0xd8, 0x18, 0x1e, 0x25, 0x93, 0x15, - 0xfe, 0x8e, 0xac, 0x53, + 0x15, 0x1b, 0xcb, 0x76, 0xc2, 0x31, 0xab, 0x25, 0xe3, 0x71, 0x09, 0x28, 0xd9, 0xb3, + 0xb7, 0xa2, 0xe1, 0x7f, 0x84, 0xd7, 0xcf, 0x8d, 0xa8, 0x84, 0x5c, 0xf8, 0x7a, 0x40, + 0x81, 0x6f, 0x31, 0x68, ], Core::Some16 => [ - 0x30, 0xd8, 0x14, 0xff, 0xb4, 0x92, 0x78, 0xb4, 0x25, 0x00, 0x7b, 0x9d, 0xe2, 0x79, - 0xf7, 0x6f, 0x4a, 0x6d, 0xa4, 0xc0, 0x34, 0x63, 0x4a, 0xbb, 0x87, 0x11, 0x0e, 0xcb, - 0xea, 0x2c, 0xe4, 0x29, + 0x87, 0x29, 0x5e, 0x8a, 0x0f, 0x02, 0x99, 0xf3, 0xa7, 0xcb, 0x73, 0x8d, 0xd5, 0xf8, + 0xdd, 0xec, 0xc3, 0xe4, 0x8d, 0x18, 0x74, 0xa5, 0x5a, 0x0c, 0xcf, 0x7c, 0x2d, 0x30, + 0xaa, 0xd0, 0x79, 0x87, ], Core::Some32 => [ - 0x69, 0x27, 0x91, 0x90, 0x3b, 0xe7, 0xd9, 0xe4, 0xc5, 0x47, 0x72, 0xba, 0x88, 0xa4, - 0x86, 0x15, 0x46, 0x36, 0x12, 0x18, 0xdd, 0x8a, 0x26, 0xce, 0xed, 0x69, 0x9b, 0xcf, - 0x77, 0xc0, 0x99, 0x09, + 0x85, 0x2f, 0x5e, 0x22, 0x24, 0x66, 0x77, 0xc4, 0x9a, 0x6c, 0x68, 0xec, 0x39, 0x73, + 0xcb, 0x53, 0x00, 0x82, 0x65, 0xcf, 0x17, 0xd4, 0x6f, 0x60, 0x00, 0x59, 0x41, 0xba, + 0x57, 0xd4, 0x94, 0x7e, ], Core::Some64 => [ - 0xfa, 0x9b, 0x01, 0x60, 0xc7, 0x27, 0x15, 0xff, 0xfd, 0x1d, 0x94, 0xda, 0x19, 0x97, - 0x88, 0x28, 0x09, 0xb4, 0x62, 0xbb, 0x14, 0x4a, 0xce, 0xcb, 0x43, 0x05, 0x44, 0x68, - 0xe6, 0x37, 0x86, 0xb5, + 0xfe, 0x9b, 0x3a, 0x25, 0xc9, 0x57, 0x17, 0x49, 0xe2, 0xa5, 0x63, 0xf4, 0x10, 0xa5, + 0x65, 0x0f, 0x41, 0x17, 0x4e, 0x23, 0x26, 0x91, 0x07, 0x2b, 0x2d, 0x54, 0x74, 0xf9, + 0x3c, 0x7a, 0x22, 0xc0, ], Core::Some8 => [ - 0x0b, 0xd7, 0xab, 0x43, 0x80, 0xc8, 0xf4, 0x5a, 0xca, 0x7c, 0xac, 0x97, 0x28, 0x86, - 0xce, 0xef, 0x23, 0xba, 0x84, 0x21, 0x0c, 0x5c, 0x4d, 0x96, 0x9b, 0x1f, 0x59, 0xb1, - 0x83, 0x2c, 0x1d, 0x36, + 0x49, 0xdc, 0x24, 0x20, 0x4c, 0x56, 0x44, 0xea, 0x98, 0xb0, 0xd8, 0xa8, 0xa1, 0xf1, + 0x5f, 0x20, 0x8b, 0x4a, 0xfa, 0xd5, 0x9d, 0x89, 0x95, 0xab, 0x96, 0xc4, 0x49, 0x8d, + 0x1c, 0xd4, 0x10, 0xa0, ], Core::Subtract16 => [ - 0x0c, 0xd3, 0xab, 0x73, 0xe5, 0xce, 0x2a, 0x44, 0xf2, 0xd1, 0xc3, 0x32, 0xa1, 0xed, - 0x5a, 0xef, 0x5b, 0xcb, 0x60, 0x4f, 0x72, 0x1b, 0x15, 0xb8, 0x01, 0x0d, 0xd5, 0x4f, - 0x40, 0xc6, 0xac, 0xa7, + 0x51, 0x2b, 0x7c, 0x68, 0x81, 0xbf, 0x8d, 0x8f, 0xa5, 0xd9, 0x35, 0xe5, 0x25, 0x64, + 0xe2, 0x86, 0x75, 0x1f, 0x77, 0xe6, 0x33, 0x75, 0x63, 0x7d, 0xf2, 0xd7, 0x22, 0x75, + 0x68, 0xc6, 0x94, 0x7f, ], Core::Subtract32 => [ - 0xe0, 0xde, 0x68, 0x76, 0x25, 0x9d, 0x5a, 0x00, 0x4b, 0x30, 0x16, 0xd3, 0x58, 0x15, - 0xdb, 0x41, 0xbc, 0xec, 0xdb, 0xfa, 0x18, 0xd3, 0x7d, 0x99, 0x20, 0x4e, 0x49, 0x57, - 0xad, 0x2c, 0x4d, 0x0e, + 0xf5, 0x3f, 0x3e, 0x87, 0x1a, 0x7d, 0xa3, 0xf0, 0x9e, 0x56, 0x26, 0x97, 0x83, 0x5e, + 0x1c, 0xe1, 0x0d, 0xf8, 0xee, 0x14, 0x11, 0x63, 0xad, 0x93, 0xb5, 0x7c, 0x8e, 0x6d, + 0x74, 0x38, 0x2b, 0xbc, ], Core::Subtract64 => [ - 0xff, 0xe6, 0x73, 0xee, 0x8e, 0xdc, 0x72, 0x9a, 0x47, 0xec, 0xed, 0x3a, 0x67, 0x7f, - 0x85, 0xb1, 0xda, 0xe7, 0x14, 0xa5, 0x10, 0x0c, 0x49, 0x49, 0x73, 0xab, 0xcb, 0x32, - 0x59, 0xa3, 0xc7, 0x56, + 0x5f, 0x08, 0xf7, 0x40, 0x53, 0xb2, 0xf0, 0x19, 0xb6, 0x2a, 0x1b, 0xb8, 0x28, 0xb7, + 0x99, 0xe0, 0x91, 0xe8, 0x21, 0x7e, 0xc8, 0x89, 0xdd, 0x4d, 0x37, 0x6e, 0x01, 0x2c, + 0x95, 0x79, 0xb9, 0x81, ], Core::Subtract8 => [ - 0xbd, 0xa5, 0x98, 0x13, 0x96, 0x47, 0x8e, 0xb3, 0x6f, 0x85, 0x92, 0xa7, 0x50, 0x9f, - 0xa4, 0x87, 0x7c, 0x50, 0xb2, 0xbf, 0x91, 0x65, 0xe5, 0xb7, 0x96, 0x35, 0xbf, 0x8b, - 0xcb, 0x84, 0xd4, 0x42, + 0x77, 0x86, 0x49, 0xf8, 0x39, 0x35, 0xcd, 0x3f, 0xfc, 0x04, 0xf6, 0xc6, 0x62, 0x0a, + 0x33, 0x96, 0x5d, 0x0e, 0xf1, 0xdd, 0x17, 0xe7, 0xb5, 0x0f, 0xa4, 0x10, 0x76, 0xd8, + 0xad, 0x87, 0x6b, 0x1d, ], Core::Swu => [ - 0x69, 0x45, 0x9b, 0x6d, 0xd1, 0x0a, 0x63, 0xdf, 0x37, 0xde, 0xdf, 0x18, 0x6c, 0xb4, - 0xd2, 0x08, 0xd8, 0xc0, 0x39, 0x61, 0x1c, 0xec, 0xdd, 0x09, 0xcf, 0xe0, 0x7a, 0xc9, - 0x1d, 0x01, 0x42, 0x2f, + 0x20, 0x49, 0xd4, 0x6c, 0x4c, 0x4d, 0x6f, 0x85, 0x6e, 0x04, 0xf7, 0xae, 0x20, 0x28, + 0x73, 0x36, 0xc2, 0xf2, 0xa6, 0xb8, 0xc1, 0xe2, 0x9d, 0x7e, 0xbb, 0xa3, 0xaf, 0x2f, + 0xd3, 0xa8, 0x80, 0x9b, ], Core::Verify => [ - 0xf1, 0x1c, 0x94, 0x81, 0xe7, 0x18, 0x63, 0xa2, 0x44, 0x53, 0xc3, 0xe2, 0x13, 0x04, - 0x64, 0x99, 0xa0, 0x3a, 0x9a, 0x0f, 0x99, 0x3b, 0xe3, 0xc4, 0x8e, 0x9d, 0x1f, 0x40, - 0x5d, 0x97, 0x94, 0x7c, + 0x22, 0xc0, 0xe3, 0x62, 0x34, 0x19, 0x0a, 0xf6, 0xc8, 0x16, 0x1e, 0x41, 0xf9, 0xe0, + 0x00, 0x13, 0xb2, 0x43, 0xc8, 0x96, 0x77, 0x69, 0x1a, 0x62, 0xe7, 0x98, 0x72, 0xfa, + 0x03, 0xbf, 0xa6, 0x77, ], Core::Xor1 => [ - 0x77, 0xb7, 0x14, 0xe6, 0x89, 0xc9, 0xd6, 0xa4, 0x8f, 0xd1, 0xad, 0xd8, 0x65, 0x22, - 0x82, 0x3d, 0xeb, 0xc7, 0x0d, 0xf6, 0xa7, 0xfe, 0x4b, 0xf2, 0xb8, 0x5d, 0xe5, 0x49, - 0xe0, 0xcd, 0x0a, 0x05, + 0x7b, 0x76, 0x0e, 0xe0, 0xc7, 0x89, 0x6a, 0xb7, 0x38, 0xcc, 0x50, 0xef, 0x7d, 0x63, + 0xf6, 0xd2, 0xbf, 0x59, 0x61, 0xa9, 0x28, 0x64, 0x47, 0xce, 0x06, 0x4e, 0xc1, 0x8d, + 0x5e, 0xde, 0x6f, 0x6c, ], Core::Xor16 => [ - 0xca, 0x36, 0x35, 0x51, 0x35, 0xa8, 0x6a, 0x11, 0x68, 0x6c, 0x01, 0xaa, 0x35, 0xf2, - 0x5b, 0x97, 0xfa, 0xee, 0xda, 0xbf, 0xde, 0xc8, 0xdf, 0x08, 0xd2, 0xc0, 0xf6, 0x65, - 0x08, 0x33, 0xf9, 0x3f, + 0xef, 0x2d, 0x8a, 0x0f, 0x66, 0x9d, 0x20, 0xaa, 0xfe, 0x11, 0xa6, 0xc3, 0x39, 0x06, + 0x36, 0x92, 0x3a, 0xd3, 0x76, 0x14, 0x0d, 0x3e, 0xa6, 0x94, 0xd0, 0x87, 0x2f, 0xa4, + 0xd5, 0x4b, 0x90, 0xef, ], Core::Xor32 => [ - 0xff, 0xe2, 0xc8, 0xee, 0x96, 0xd5, 0x57, 0x97, 0x81, 0xc4, 0x36, 0x62, 0x88, 0xd9, - 0x50, 0x71, 0x85, 0xe4, 0x61, 0xcc, 0xc4, 0x0a, 0x45, 0xbb, 0xcc, 0x55, 0x94, 0x89, - 0xd3, 0xc6, 0x96, 0x12, + 0x21, 0x9b, 0x1d, 0xd6, 0xe7, 0x2b, 0x77, 0x75, 0x19, 0x51, 0x91, 0x6e, 0xe4, 0xdd, + 0xfd, 0x56, 0xac, 0xf0, 0xce, 0x7a, 0x30, 0xa4, 0xcd, 0x73, 0x9c, 0x51, 0xbd, 0x99, + 0x42, 0xa2, 0xeb, 0x07, ], Core::Xor64 => [ - 0x5b, 0x3b, 0xb7, 0xb1, 0x8c, 0x70, 0x98, 0xf4, 0xe5, 0xcd, 0x14, 0x97, 0x22, 0xac, - 0x73, 0x09, 0xce, 0x66, 0xa3, 0xe2, 0x19, 0xc6, 0x1b, 0x33, 0x3f, 0x31, 0x33, 0x58, - 0x3a, 0x7b, 0x57, 0x2d, + 0x0b, 0xbb, 0x85, 0x0a, 0xd0, 0x3f, 0x9c, 0x96, 0xa5, 0xd4, 0x67, 0xc4, 0x61, 0x12, + 0xf1, 0x04, 0x6a, 0x7a, 0x92, 0x27, 0x3f, 0x2b, 0xb0, 0x1d, 0x20, 0xca, 0x4d, 0xb6, + 0xba, 0x75, 0x3e, 0x79, ], Core::Xor8 => [ - 0xff, 0x3e, 0x52, 0x62, 0x02, 0xff, 0x89, 0xcf, 0xf7, 0xbb, 0xe7, 0x0f, 0xdb, 0xf9, - 0xf9, 0x7d, 0x23, 0xc1, 0x2f, 0x6e, 0x2b, 0xb8, 0xbb, 0xe8, 0x30, 0x4a, 0xc7, 0x0f, - 0x61, 0xc1, 0xcf, 0x2c, + 0x95, 0x0b, 0x65, 0x31, 0x62, 0x36, 0xe8, 0x3e, 0xd1, 0x4b, 0xd1, 0x71, 0xe3, 0x4d, + 0x55, 0xaf, 0x0a, 0x3f, 0x63, 0x7c, 0xc4, 0x7d, 0xc7, 0x17, 0xf7, 0x7f, 0xdb, 0x4b, + 0x30, 0xdf, 0x01, 0x57, ], Core::XorXor1 => [ - 0x22, 0x52, 0xa9, 0x86, 0x08, 0xd2, 0x0b, 0xd4, 0x11, 0x31, 0x7a, 0x20, 0x15, 0xc1, - 0x56, 0x98, 0x70, 0xa6, 0x2c, 0x95, 0x3a, 0x61, 0x65, 0xfb, 0xe9, 0x77, 0xb4, 0x0d, - 0x6c, 0xce, 0xa4, 0x95, + 0x3f, 0x30, 0xf9, 0x59, 0x87, 0x0d, 0xe1, 0xd1, 0x33, 0x37, 0x4e, 0x14, 0x09, 0xfd, + 0xc3, 0x4d, 0xe4, 0x92, 0x91, 0x70, 0x68, 0x30, 0xb8, 0x3d, 0xac, 0x9d, 0x4e, 0x67, + 0xc4, 0xeb, 0x60, 0x48, ], Core::XorXor16 => [ - 0xa1, 0xf2, 0xd6, 0x33, 0xbf, 0x98, 0x89, 0xa0, 0x8a, 0x42, 0x51, 0x2a, 0x78, 0x93, - 0xa6, 0x79, 0x9d, 0xc4, 0x7a, 0xa8, 0x29, 0xff, 0x8f, 0x57, 0x7c, 0x5b, 0xc9, 0x75, - 0x66, 0xc4, 0xd3, 0xfe, + 0x2e, 0x1a, 0x09, 0xe3, 0xcb, 0xa2, 0x75, 0x66, 0x02, 0xe8, 0x7b, 0x86, 0xf2, 0xb0, + 0x7f, 0x2d, 0x23, 0x7b, 0xfc, 0xac, 0x5b, 0x1b, 0x8a, 0xb7, 0xb5, 0x29, 0xaf, 0x42, + 0xd3, 0x11, 0x02, 0x94, ], Core::XorXor32 => [ - 0x0d, 0x5f, 0xf5, 0x81, 0x23, 0xba, 0x0d, 0xae, 0x3b, 0x32, 0x40, 0xa6, 0x31, 0x05, - 0x2a, 0xf2, 0xe8, 0x7b, 0x52, 0xb6, 0x37, 0xa2, 0xcb, 0xd3, 0x37, 0xd2, 0x25, 0x93, - 0x70, 0x62, 0x87, 0x41, + 0x85, 0xa3, 0x79, 0xa1, 0xe5, 0xdb, 0x45, 0x72, 0x37, 0xdf, 0x27, 0xf4, 0xcf, 0xcd, + 0xc8, 0x75, 0x60, 0xff, 0xd3, 0x73, 0x8e, 0xbe, 0xc8, 0x25, 0x52, 0xe7, 0x3b, 0xce, + 0x89, 0xbc, 0x0b, 0x37, ], Core::XorXor64 => [ - 0x78, 0x3f, 0x49, 0xa1, 0x9d, 0x4f, 0x4a, 0xae, 0x4d, 0x3c, 0x1d, 0x6c, 0xcf, 0x83, - 0x15, 0x6d, 0xc5, 0x5d, 0x0b, 0x5c, 0x08, 0xcf, 0x59, 0x23, 0x36, 0x58, 0x4c, 0xb1, - 0x31, 0x67, 0xc6, 0xca, + 0x4c, 0x12, 0x68, 0xc5, 0x75, 0x42, 0x50, 0x89, 0xbe, 0x42, 0x47, 0x2e, 0x97, 0x2b, + 0x2a, 0xe0, 0x0e, 0xde, 0x58, 0x34, 0xc9, 0x84, 0xd9, 0x6d, 0xcd, 0x59, 0xa0, 0xc2, + 0x21, 0x15, 0x2f, 0x93, ], Core::XorXor8 => [ - 0x83, 0xa9, 0x80, 0xcc, 0x61, 0x06, 0x85, 0x24, 0x88, 0x10, 0x5d, 0x3c, 0xee, 0x10, - 0xf3, 0x51, 0x13, 0xb8, 0xc9, 0xf7, 0x46, 0x64, 0xe7, 0xce, 0x6d, 0x4e, 0xc0, 0x91, - 0x2b, 0xc2, 0x9b, 0xc7, + 0x61, 0xf2, 0x74, 0x7f, 0x8d, 0x83, 0xb6, 0xa5, 0xad, 0xaa, 0x42, 0xf5, 0xc0, 0x40, + 0x8c, 0x9b, 0xd4, 0xe9, 0x9e, 0x92, 0x70, 0xa7, 0x58, 0x71, 0x40, 0x6c, 0xec, 0x44, + 0x89, 0xa5, 0xfb, 0xe7, ], }; @@ -6011,373 +6011,373 @@ impl Jet for Core { fn cost(&self) -> Cost { match self { - Core::Add16 => Cost::from_milliweight(226), - Core::Add32 => Cost::from_milliweight(183), - Core::Add64 => Cost::from_milliweight(221), - Core::Add8 => Cost::from_milliweight(150), - Core::All16 => Cost::from_milliweight(110), - Core::All32 => Cost::from_milliweight(136), - Core::All64 => Cost::from_milliweight(165), - Core::All8 => Cost::from_milliweight(113), - Core::And1 => Cost::from_milliweight(159), - Core::And16 => Cost::from_milliweight(195), - Core::And32 => Cost::from_milliweight(175), - Core::And64 => Cost::from_milliweight(221), - Core::And8 => Cost::from_milliweight(159), - Core::Bip0340Verify => Cost::from_milliweight(49671), - Core::Ch1 => Cost::from_milliweight(240), - Core::Ch16 => Cost::from_milliweight(245), - Core::Ch32 => Cost::from_milliweight(238), - Core::Ch64 => Cost::from_milliweight(274), - Core::Ch8 => Cost::from_milliweight(240), + Core::Add16 => Cost::from_milliweight(108), + Core::Add32 => Cost::from_milliweight(117), + Core::Add64 => Cost::from_milliweight(109), + Core::Add8 => Cost::from_milliweight(112), + Core::All16 => Cost::from_milliweight(62), + Core::All32 => Cost::from_milliweight(65), + Core::All64 => Cost::from_milliweight(79), + Core::All8 => Cost::from_milliweight(76), + Core::And1 => Cost::from_milliweight(79), + Core::And16 => Cost::from_milliweight(88), + Core::And32 => Cost::from_milliweight(94), + Core::And64 => Cost::from_milliweight(93), + Core::And8 => Cost::from_milliweight(91), + Core::Bip0340Verify => Cost::from_milliweight(49087), + Core::Ch1 => Cost::from_milliweight(78), + Core::Ch16 => Cost::from_milliweight(94), + Core::Ch32 => Cost::from_milliweight(91), + Core::Ch64 => Cost::from_milliweight(91), + Core::Ch8 => Cost::from_milliweight(77), Core::CheckSigVerify => Cost::from_milliweight(50000), - Core::Complement1 => Cost::from_milliweight(139), - Core::Complement16 => Cost::from_milliweight(146), - Core::Complement32 => Cost::from_milliweight(161), - Core::Complement64 => Cost::from_milliweight(174), - Core::Complement8 => Cost::from_milliweight(139), - Core::Decompress => Cost::from_milliweight(10956), - Core::Decrement16 => Cost::from_milliweight(116), - Core::Decrement32 => Cost::from_milliweight(159), - Core::Decrement64 => Cost::from_milliweight(160), - Core::Decrement8 => Cost::from_milliweight(195), - Core::DivMod128_64 => Cost::from_milliweight(220), - Core::DivMod16 => Cost::from_milliweight(223), - Core::DivMod32 => Cost::from_milliweight(198), - Core::DivMod64 => Cost::from_milliweight(220), - Core::DivMod8 => Cost::from_milliweight(141), - Core::Divide16 => Cost::from_milliweight(188), - Core::Divide32 => Cost::from_milliweight(225), - Core::Divide64 => Cost::from_milliweight(202), - Core::Divide8 => Cost::from_milliweight(125), - Core::Divides16 => Cost::from_milliweight(173), - Core::Divides32 => Cost::from_milliweight(175), - Core::Divides64 => Cost::from_milliweight(246), - Core::Divides8 => Cost::from_milliweight(142), - Core::Eq1 => Cost::from_milliweight(120), - Core::Eq16 => Cost::from_milliweight(174), - Core::Eq256 => Cost::from_milliweight(431), - Core::Eq32 => Cost::from_milliweight(233), - Core::Eq64 => Cost::from_milliweight(202), - Core::Eq8 => Cost::from_milliweight(120), - Core::FeAdd => Cost::from_milliweight(908), - Core::FeInvert => Cost::from_milliweight(3375), - Core::FeIsOdd => Cost::from_milliweight(544), - Core::FeIsZero => Cost::from_milliweight(521), - Core::FeMultiply => Cost::from_milliweight(975), - Core::FeMultiplyBeta => Cost::from_milliweight(824), - Core::FeNegate => Cost::from_milliweight(846), - Core::FeNormalize => Cost::from_milliweight(813), - Core::FeSquare => Cost::from_milliweight(829), - Core::FeSquareRoot => Cost::from_milliweight(10698), - Core::FullAdd16 => Cost::from_milliweight(193), - Core::FullAdd32 => Cost::from_milliweight(197), - Core::FullAdd64 => Cost::from_milliweight(225), - Core::FullAdd8 => Cost::from_milliweight(190), - Core::FullDecrement16 => Cost::from_milliweight(107), - Core::FullDecrement32 => Cost::from_milliweight(153), - Core::FullDecrement64 => Cost::from_milliweight(151), - Core::FullDecrement8 => Cost::from_milliweight(218), - Core::FullIncrement16 => Cost::from_milliweight(108), - Core::FullIncrement32 => Cost::from_milliweight(171), - Core::FullIncrement64 => Cost::from_milliweight(161), - Core::FullIncrement8 => Cost::from_milliweight(204), - Core::FullLeftShift16_1 => Cost::from_milliweight(150), - Core::FullLeftShift16_2 => Cost::from_milliweight(150), - Core::FullLeftShift16_4 => Cost::from_milliweight(150), - Core::FullLeftShift16_8 => Cost::from_milliweight(150), - Core::FullLeftShift32_1 => Cost::from_milliweight(150), - Core::FullLeftShift32_16 => Cost::from_milliweight(150), - Core::FullLeftShift32_2 => Cost::from_milliweight(150), - Core::FullLeftShift32_4 => Cost::from_milliweight(150), - Core::FullLeftShift32_8 => Cost::from_milliweight(150), - Core::FullLeftShift64_1 => Cost::from_milliweight(150), - Core::FullLeftShift64_16 => Cost::from_milliweight(150), - Core::FullLeftShift64_2 => Cost::from_milliweight(150), - Core::FullLeftShift64_32 => Cost::from_milliweight(150), - Core::FullLeftShift64_4 => Cost::from_milliweight(150), - Core::FullLeftShift64_8 => Cost::from_milliweight(150), - Core::FullLeftShift8_1 => Cost::from_milliweight(150), - Core::FullLeftShift8_2 => Cost::from_milliweight(150), - Core::FullLeftShift8_4 => Cost::from_milliweight(150), - Core::FullMultiply16 => Cost::from_milliweight(208), - Core::FullMultiply32 => Cost::from_milliweight(213), - Core::FullMultiply64 => Cost::from_milliweight(209), - Core::FullMultiply8 => Cost::from_milliweight(190), - Core::FullRightShift16_1 => Cost::from_milliweight(150), - Core::FullRightShift16_2 => Cost::from_milliweight(150), - Core::FullRightShift16_4 => Cost::from_milliweight(150), - Core::FullRightShift16_8 => Cost::from_milliweight(150), - Core::FullRightShift32_1 => Cost::from_milliweight(150), - Core::FullRightShift32_16 => Cost::from_milliweight(150), - Core::FullRightShift32_2 => Cost::from_milliweight(150), - Core::FullRightShift32_4 => Cost::from_milliweight(150), - Core::FullRightShift32_8 => Cost::from_milliweight(150), - Core::FullRightShift64_1 => Cost::from_milliweight(150), - Core::FullRightShift64_16 => Cost::from_milliweight(150), - Core::FullRightShift64_2 => Cost::from_milliweight(150), - Core::FullRightShift64_32 => Cost::from_milliweight(150), - Core::FullRightShift64_4 => Cost::from_milliweight(150), - Core::FullRightShift64_8 => Cost::from_milliweight(150), - Core::FullRightShift8_1 => Cost::from_milliweight(150), - Core::FullRightShift8_2 => Cost::from_milliweight(150), - Core::FullRightShift8_4 => Cost::from_milliweight(150), - Core::FullSubtract16 => Cost::from_milliweight(201), - Core::FullSubtract32 => Cost::from_milliweight(170), - Core::FullSubtract64 => Cost::from_milliweight(231), - Core::FullSubtract8 => Cost::from_milliweight(141), - Core::GeIsOnCurve => Cost::from_milliweight(763), - Core::GeNegate => Cost::from_milliweight(1278), - Core::GejAdd => Cost::from_milliweight(3292), - Core::GejDouble => Cost::from_milliweight(2103), - Core::GejEquiv => Cost::from_milliweight(1270), - Core::GejGeAdd => Cost::from_milliweight(2890), - Core::GejGeAddEx => Cost::from_milliweight(3114), - Core::GejGeEquiv => Cost::from_milliweight(1270), - Core::GejInfinity => Cost::from_milliweight(971), - Core::GejIsInfinity => Cost::from_milliweight(923), - Core::GejIsOnCurve => Cost::from_milliweight(1106), - Core::GejNegate => Cost::from_milliweight(1823), - Core::GejNormalize => Cost::from_milliweight(4337), - Core::GejRescale => Cost::from_milliweight(2315), - Core::GejXEquiv => Cost::from_milliweight(1270), - Core::GejYIsOdd => Cost::from_milliweight(3665), - Core::Generate => Cost::from_milliweight(51706), - Core::HashToCurve => Cost::from_milliweight(10956), - Core::High1 => Cost::from_milliweight(169), - Core::High16 => Cost::from_milliweight(159), - Core::High32 => Cost::from_milliweight(121), - Core::High64 => Cost::from_milliweight(110), - Core::High8 => Cost::from_milliweight(169), - Core::Increment16 => Cost::from_milliweight(129), - Core::Increment32 => Cost::from_milliweight(195), - Core::Increment64 => Cost::from_milliweight(187), - Core::Increment8 => Cost::from_milliweight(155), - Core::IsOne16 => Cost::from_milliweight(117), - Core::IsOne32 => Cost::from_milliweight(136), - Core::IsOne64 => Cost::from_milliweight(163), - Core::IsOne8 => Cost::from_milliweight(160), - Core::IsZero16 => Cost::from_milliweight(143), - Core::IsZero32 => Cost::from_milliweight(135), - Core::IsZero64 => Cost::from_milliweight(136), - Core::IsZero8 => Cost::from_milliweight(163), - Core::Le16 => Cost::from_milliweight(166), - Core::Le32 => Cost::from_milliweight(216), - Core::Le64 => Cost::from_milliweight(173), - Core::Le8 => Cost::from_milliweight(143), - Core::LeftExtend16_32 => Cost::from_milliweight(150), - Core::LeftExtend16_64 => Cost::from_milliweight(150), - Core::LeftExtend1_16 => Cost::from_milliweight(150), - Core::LeftExtend1_32 => Cost::from_milliweight(150), - Core::LeftExtend1_64 => Cost::from_milliweight(150), - Core::LeftExtend1_8 => Cost::from_milliweight(150), - Core::LeftExtend32_64 => Cost::from_milliweight(150), - Core::LeftExtend8_16 => Cost::from_milliweight(150), - Core::LeftExtend8_32 => Cost::from_milliweight(150), - Core::LeftExtend8_64 => Cost::from_milliweight(150), - Core::LeftPadHigh16_32 => Cost::from_milliweight(150), - Core::LeftPadHigh16_64 => Cost::from_milliweight(150), - Core::LeftPadHigh1_16 => Cost::from_milliweight(150), - Core::LeftPadHigh1_32 => Cost::from_milliweight(150), - Core::LeftPadHigh1_64 => Cost::from_milliweight(150), - Core::LeftPadHigh1_8 => Cost::from_milliweight(150), - Core::LeftPadHigh32_64 => Cost::from_milliweight(150), - Core::LeftPadHigh8_16 => Cost::from_milliweight(150), - Core::LeftPadHigh8_32 => Cost::from_milliweight(150), - Core::LeftPadHigh8_64 => Cost::from_milliweight(150), - Core::LeftPadLow16_32 => Cost::from_milliweight(150), - Core::LeftPadLow16_64 => Cost::from_milliweight(150), - Core::LeftPadLow1_16 => Cost::from_milliweight(150), - Core::LeftPadLow1_32 => Cost::from_milliweight(150), - Core::LeftPadLow1_64 => Cost::from_milliweight(150), - Core::LeftPadLow1_8 => Cost::from_milliweight(150), - Core::LeftPadLow32_64 => Cost::from_milliweight(150), - Core::LeftPadLow8_16 => Cost::from_milliweight(150), - Core::LeftPadLow8_32 => Cost::from_milliweight(150), - Core::LeftPadLow8_64 => Cost::from_milliweight(150), - Core::LeftRotate16 => Cost::from_milliweight(150), - Core::LeftRotate32 => Cost::from_milliweight(150), - Core::LeftRotate64 => Cost::from_milliweight(150), - Core::LeftRotate8 => Cost::from_milliweight(150), - Core::LeftShift16 => Cost::from_milliweight(150), - Core::LeftShift32 => Cost::from_milliweight(150), - Core::LeftShift64 => Cost::from_milliweight(150), - Core::LeftShift8 => Cost::from_milliweight(150), - Core::LeftShiftWith16 => Cost::from_milliweight(150), - Core::LeftShiftWith32 => Cost::from_milliweight(150), - Core::LeftShiftWith64 => Cost::from_milliweight(150), - Core::LeftShiftWith8 => Cost::from_milliweight(150), - Core::Leftmost16_1 => Cost::from_milliweight(150), - Core::Leftmost16_2 => Cost::from_milliweight(150), - Core::Leftmost16_4 => Cost::from_milliweight(150), - Core::Leftmost16_8 => Cost::from_milliweight(150), - Core::Leftmost32_1 => Cost::from_milliweight(150), - Core::Leftmost32_16 => Cost::from_milliweight(150), - Core::Leftmost32_2 => Cost::from_milliweight(150), - Core::Leftmost32_4 => Cost::from_milliweight(150), - Core::Leftmost32_8 => Cost::from_milliweight(150), - Core::Leftmost64_1 => Cost::from_milliweight(150), - Core::Leftmost64_16 => Cost::from_milliweight(150), - Core::Leftmost64_2 => Cost::from_milliweight(150), - Core::Leftmost64_32 => Cost::from_milliweight(150), - Core::Leftmost64_4 => Cost::from_milliweight(150), - Core::Leftmost64_8 => Cost::from_milliweight(150), - Core::Leftmost8_1 => Cost::from_milliweight(150), - Core::Leftmost8_2 => Cost::from_milliweight(150), - Core::Leftmost8_4 => Cost::from_milliweight(150), - Core::LinearCombination1 => Cost::from_milliweight(86722), - Core::LinearVerify1 => Cost::from_milliweight(43063), - Core::Low1 => Cost::from_milliweight(173), - Core::Low16 => Cost::from_milliweight(172), - Core::Low32 => Cost::from_milliweight(170), - Core::Low64 => Cost::from_milliweight(162), - Core::Low8 => Cost::from_milliweight(173), - Core::Lt16 => Cost::from_milliweight(188), - Core::Lt32 => Cost::from_milliweight(215), - Core::Lt64 => Cost::from_milliweight(195), - Core::Lt8 => Cost::from_milliweight(130), - Core::Maj1 => Cost::from_milliweight(241), - Core::Maj16 => Cost::from_milliweight(273), - Core::Maj32 => Cost::from_milliweight(289), - Core::Maj64 => Cost::from_milliweight(293), - Core::Maj8 => Cost::from_milliweight(241), - Core::Max16 => Cost::from_milliweight(164), - Core::Max32 => Cost::from_milliweight(162), - Core::Max64 => Cost::from_milliweight(193), - Core::Max8 => Cost::from_milliweight(142), - Core::Median16 => Cost::from_milliweight(270), - Core::Median32 => Cost::from_milliweight(256), - Core::Median64 => Cost::from_milliweight(336), - Core::Median8 => Cost::from_milliweight(256), - Core::Min16 => Cost::from_milliweight(164), - Core::Min32 => Cost::from_milliweight(181), - Core::Min64 => Cost::from_milliweight(150), - Core::Min8 => Cost::from_milliweight(135), - Core::Modulo16 => Cost::from_milliweight(188), - Core::Modulo32 => Cost::from_milliweight(207), - Core::Modulo64 => Cost::from_milliweight(191), - Core::Modulo8 => Cost::from_milliweight(158), - Core::Multiply16 => Cost::from_milliweight(154), - Core::Multiply32 => Cost::from_milliweight(165), - Core::Multiply64 => Cost::from_milliweight(185), - Core::Multiply8 => Cost::from_milliweight(126), - Core::Negate16 => Cost::from_milliweight(121), - Core::Negate32 => Cost::from_milliweight(185), - Core::Negate64 => Cost::from_milliweight(162), - Core::Negate8 => Cost::from_milliweight(152), - Core::One16 => Cost::from_milliweight(126), - Core::One32 => Cost::from_milliweight(122), - Core::One64 => Cost::from_milliweight(123), - Core::One8 => Cost::from_milliweight(127), - Core::Or1 => Cost::from_milliweight(147), - Core::Or16 => Cost::from_milliweight(204), - Core::Or32 => Cost::from_milliweight(197), - Core::Or64 => Cost::from_milliweight(214), - Core::Or8 => Cost::from_milliweight(147), - Core::ParseLock => Cost::from_milliweight(177), - Core::ParseSequence => Cost::from_milliweight(261), - Core::PointVerify1 => Cost::from_milliweight(50604), - Core::RightExtend16_32 => Cost::from_milliweight(150), - Core::RightExtend16_64 => Cost::from_milliweight(150), - Core::RightExtend32_64 => Cost::from_milliweight(150), - Core::RightExtend8_16 => Cost::from_milliweight(150), - Core::RightExtend8_32 => Cost::from_milliweight(150), - Core::RightExtend8_64 => Cost::from_milliweight(150), - Core::RightPadHigh16_32 => Cost::from_milliweight(150), - Core::RightPadHigh16_64 => Cost::from_milliweight(150), - Core::RightPadHigh1_16 => Cost::from_milliweight(150), - Core::RightPadHigh1_32 => Cost::from_milliweight(150), - Core::RightPadHigh1_64 => Cost::from_milliweight(150), - Core::RightPadHigh1_8 => Cost::from_milliweight(150), - Core::RightPadHigh32_64 => Cost::from_milliweight(150), - Core::RightPadHigh8_16 => Cost::from_milliweight(150), - Core::RightPadHigh8_32 => Cost::from_milliweight(150), - Core::RightPadHigh8_64 => Cost::from_milliweight(150), - Core::RightPadLow16_32 => Cost::from_milliweight(150), - Core::RightPadLow16_64 => Cost::from_milliweight(150), - Core::RightPadLow1_16 => Cost::from_milliweight(150), - Core::RightPadLow1_32 => Cost::from_milliweight(150), - Core::RightPadLow1_64 => Cost::from_milliweight(150), - Core::RightPadLow1_8 => Cost::from_milliweight(150), - Core::RightPadLow32_64 => Cost::from_milliweight(150), - Core::RightPadLow8_16 => Cost::from_milliweight(150), - Core::RightPadLow8_32 => Cost::from_milliweight(150), - Core::RightPadLow8_64 => Cost::from_milliweight(150), - Core::RightRotate16 => Cost::from_milliweight(150), - Core::RightRotate32 => Cost::from_milliweight(150), - Core::RightRotate64 => Cost::from_milliweight(150), - Core::RightRotate8 => Cost::from_milliweight(150), - Core::RightShift16 => Cost::from_milliweight(150), - Core::RightShift32 => Cost::from_milliweight(150), - Core::RightShift64 => Cost::from_milliweight(150), - Core::RightShift8 => Cost::from_milliweight(150), - Core::RightShiftWith16 => Cost::from_milliweight(150), - Core::RightShiftWith32 => Cost::from_milliweight(150), - Core::RightShiftWith64 => Cost::from_milliweight(150), - Core::RightShiftWith8 => Cost::from_milliweight(150), - Core::Rightmost16_1 => Cost::from_milliweight(150), - Core::Rightmost16_2 => Cost::from_milliweight(150), - Core::Rightmost16_4 => Cost::from_milliweight(150), - Core::Rightmost16_8 => Cost::from_milliweight(150), - Core::Rightmost32_1 => Cost::from_milliweight(150), - Core::Rightmost32_16 => Cost::from_milliweight(150), - Core::Rightmost32_2 => Cost::from_milliweight(150), - Core::Rightmost32_4 => Cost::from_milliweight(150), - Core::Rightmost32_8 => Cost::from_milliweight(150), - Core::Rightmost64_1 => Cost::from_milliweight(150), - Core::Rightmost64_16 => Cost::from_milliweight(150), - Core::Rightmost64_2 => Cost::from_milliweight(150), - Core::Rightmost64_32 => Cost::from_milliweight(150), - Core::Rightmost64_4 => Cost::from_milliweight(150), - Core::Rightmost64_8 => Cost::from_milliweight(150), - Core::Rightmost8_1 => Cost::from_milliweight(150), - Core::Rightmost8_2 => Cost::from_milliweight(150), - Core::Rightmost8_4 => Cost::from_milliweight(150), - Core::ScalarAdd => Cost::from_milliweight(962), - Core::ScalarInvert => Cost::from_milliweight(4025), - Core::ScalarIsZero => Cost::from_milliweight(569), - Core::ScalarMultiply => Cost::from_milliweight(1230), - Core::ScalarMultiplyLambda => Cost::from_milliweight(984), - Core::ScalarNegate => Cost::from_milliweight(851), - Core::ScalarNormalize => Cost::from_milliweight(808), - Core::ScalarSquare => Cost::from_milliweight(947), - Core::Scale => Cost::from_milliweight(75377), - Core::Sha256Block => Cost::from_milliweight(986), - Core::Sha256Ctx8Add1 => Cost::from_milliweight(1600), - Core::Sha256Ctx8Add128 => Cost::from_milliweight(3921), - Core::Sha256Ctx8Add16 => Cost::from_milliweight(2275), - Core::Sha256Ctx8Add2 => Cost::from_milliweight(3772), - Core::Sha256Ctx8Add256 => Cost::from_milliweight(6211), - Core::Sha256Ctx8Add32 => Cost::from_milliweight(4599), - Core::Sha256Ctx8Add4 => Cost::from_milliweight(3515), - Core::Sha256Ctx8Add512 => Cost::from_milliweight(10936), - Core::Sha256Ctx8Add64 => Cost::from_milliweight(3111), - Core::Sha256Ctx8Add8 => Cost::from_milliweight(1625), - Core::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(14290), - Core::Sha256Ctx8Finalize => Cost::from_milliweight(2111), - Core::Sha256Ctx8Init => Cost::from_milliweight(184), - Core::Sha256Iv => Cost::from_milliweight(129), - Core::Some1 => Cost::from_milliweight(104), - Core::Some16 => Cost::from_milliweight(129), - Core::Some32 => Cost::from_milliweight(183), - Core::Some64 => Cost::from_milliweight(139), - Core::Some8 => Cost::from_milliweight(104), - Core::Subtract16 => Cost::from_milliweight(237), - Core::Subtract32 => Cost::from_milliweight(186), - Core::Subtract64 => Cost::from_milliweight(315), - Core::Subtract8 => Cost::from_milliweight(149), - Core::Swu => Cost::from_milliweight(10956), - Core::Verify => Cost::from_milliweight(144), - Core::Xor1 => Cost::from_milliweight(135), - Core::Xor16 => Cost::from_milliweight(188), - Core::Xor32 => Cost::from_milliweight(204), - Core::Xor64 => Cost::from_milliweight(207), - Core::Xor8 => Cost::from_milliweight(135), - Core::XorXor1 => Cost::from_milliweight(258), - Core::XorXor16 => Cost::from_milliweight(235), - Core::XorXor32 => Cost::from_milliweight(251), - Core::XorXor64 => Cost::from_milliweight(285), - Core::XorXor8 => Cost::from_milliweight(258), + Core::Complement1 => Cost::from_milliweight(79), + Core::Complement16 => Cost::from_milliweight(75), + Core::Complement32 => Cost::from_milliweight(93), + Core::Complement64 => Cost::from_milliweight(88), + Core::Complement8 => Cost::from_milliweight(80), + Core::Decompress => Cost::from_milliweight(10861), + Core::Decrement16 => Cost::from_milliweight(85), + Core::Decrement32 => Cost::from_milliweight(91), + Core::Decrement64 => Cost::from_milliweight(89), + Core::Decrement8 => Cost::from_milliweight(79), + Core::DivMod128_64 => Cost::from_milliweight(208), + Core::DivMod16 => Cost::from_milliweight(118), + Core::DivMod32 => Cost::from_milliweight(115), + Core::DivMod64 => Cost::from_milliweight(86), + Core::DivMod8 => Cost::from_milliweight(128), + Core::Divide16 => Cost::from_milliweight(98), + Core::Divide32 => Cost::from_milliweight(100), + Core::Divide64 => Cost::from_milliweight(101), + Core::Divide8 => Cost::from_milliweight(108), + Core::Divides16 => Cost::from_milliweight(93), + Core::Divides32 => Cost::from_milliweight(87), + Core::Divides64 => Cost::from_milliweight(91), + Core::Divides8 => Cost::from_milliweight(98), + Core::Eq1 => Cost::from_milliweight(74), + Core::Eq16 => Cost::from_milliweight(84), + Core::Eq256 => Cost::from_milliweight(225), + Core::Eq32 => Cost::from_milliweight(88), + Core::Eq64 => Cost::from_milliweight(100), + Core::Eq8 => Cost::from_milliweight(95), + Core::FeAdd => Cost::from_milliweight(755), + Core::FeInvert => Cost::from_milliweight(3175), + Core::FeIsOdd => Cost::from_milliweight(290), + Core::FeIsZero => Cost::from_milliweight(268), + Core::FeMultiply => Cost::from_milliweight(808), + Core::FeMultiplyBeta => Cost::from_milliweight(579), + Core::FeNegate => Cost::from_milliweight(531), + Core::FeNormalize => Cost::from_milliweight(521), + Core::FeSquare => Cost::from_milliweight(556), + Core::FeSquareRoot => Cost::from_milliweight(10275), + Core::FullAdd16 => Cost::from_milliweight(121), + Core::FullAdd32 => Cost::from_milliweight(119), + Core::FullAdd64 => Cost::from_milliweight(121), + Core::FullAdd8 => Cost::from_milliweight(127), + Core::FullDecrement16 => Cost::from_milliweight(92), + Core::FullDecrement32 => Cost::from_milliweight(107), + Core::FullDecrement64 => Cost::from_milliweight(81), + Core::FullDecrement8 => Cost::from_milliweight(91), + Core::FullIncrement16 => Cost::from_milliweight(89), + Core::FullIncrement32 => Cost::from_milliweight(104), + Core::FullIncrement64 => Cost::from_milliweight(99), + Core::FullIncrement8 => Cost::from_milliweight(72), + Core::FullLeftShift16_1 => Cost::from_milliweight(83), + Core::FullLeftShift16_2 => Cost::from_milliweight(83), + Core::FullLeftShift16_4 => Cost::from_milliweight(89), + Core::FullLeftShift16_8 => Cost::from_milliweight(65), + Core::FullLeftShift32_1 => Cost::from_milliweight(84), + Core::FullLeftShift32_16 => Cost::from_milliweight(81), + Core::FullLeftShift32_2 => Cost::from_milliweight(67), + Core::FullLeftShift32_4 => Cost::from_milliweight(84), + Core::FullLeftShift32_8 => Cost::from_milliweight(91), + Core::FullLeftShift64_1 => Cost::from_milliweight(99), + Core::FullLeftShift64_16 => Cost::from_milliweight(90), + Core::FullLeftShift64_2 => Cost::from_milliweight(94), + Core::FullLeftShift64_32 => Cost::from_milliweight(86), + Core::FullLeftShift64_4 => Cost::from_milliweight(94), + Core::FullLeftShift64_8 => Cost::from_milliweight(86), + Core::FullLeftShift8_1 => Cost::from_milliweight(96), + Core::FullLeftShift8_2 => Cost::from_milliweight(96), + Core::FullLeftShift8_4 => Cost::from_milliweight(85), + Core::FullMultiply16 => Cost::from_milliweight(112), + Core::FullMultiply32 => Cost::from_milliweight(96), + Core::FullMultiply64 => Cost::from_milliweight(127), + Core::FullMultiply8 => Cost::from_milliweight(109), + Core::FullRightShift16_1 => Cost::from_milliweight(80), + Core::FullRightShift16_2 => Cost::from_milliweight(79), + Core::FullRightShift16_4 => Cost::from_milliweight(88), + Core::FullRightShift16_8 => Cost::from_milliweight(57), + Core::FullRightShift32_1 => Cost::from_milliweight(74), + Core::FullRightShift32_16 => Cost::from_milliweight(64), + Core::FullRightShift32_2 => Cost::from_milliweight(63), + Core::FullRightShift32_4 => Cost::from_milliweight(71), + Core::FullRightShift32_8 => Cost::from_milliweight(84), + Core::FullRightShift64_1 => Cost::from_milliweight(99), + Core::FullRightShift64_16 => Cost::from_milliweight(86), + Core::FullRightShift64_2 => Cost::from_milliweight(86), + Core::FullRightShift64_32 => Cost::from_milliweight(73), + Core::FullRightShift64_4 => Cost::from_milliweight(93), + Core::FullRightShift64_8 => Cost::from_milliweight(99), + Core::FullRightShift8_1 => Cost::from_milliweight(88), + Core::FullRightShift8_2 => Cost::from_milliweight(86), + Core::FullRightShift8_4 => Cost::from_milliweight(89), + Core::FullSubtract16 => Cost::from_milliweight(121), + Core::FullSubtract32 => Cost::from_milliweight(116), + Core::FullSubtract64 => Cost::from_milliweight(98), + Core::FullSubtract8 => Cost::from_milliweight(126), + Core::GeIsOnCurve => Cost::from_milliweight(642), + Core::GeNegate => Cost::from_milliweight(945), + Core::GejAdd => Cost::from_milliweight(2897), + Core::GejDouble => Cost::from_milliweight(1764), + Core::GejEquiv => Cost::from_milliweight(2220), + Core::GejGeAdd => Cost::from_milliweight(2477), + Core::GejGeAddEx => Cost::from_milliweight(2719), + Core::GejGeEquiv => Cost::from_milliweight(1765), + Core::GejInfinity => Cost::from_milliweight(716), + Core::GejIsInfinity => Cost::from_milliweight(666), + Core::GejIsOnCurve => Cost::from_milliweight(1016), + Core::GejNegate => Cost::from_milliweight(1381), + Core::GejNormalize => Cost::from_milliweight(4099), + Core::GejRescale => Cost::from_milliweight(1908), + Core::GejXEquiv => Cost::from_milliweight(1047), + Core::GejYIsOdd => Cost::from_milliweight(3651), + Core::Generate => Cost::from_milliweight(50071), + Core::HashToCurve => Cost::from_milliweight(68094), + Core::High1 => Cost::from_milliweight(57), + Core::High16 => Cost::from_milliweight(66), + Core::High32 => Cost::from_milliweight(58), + Core::High64 => Cost::from_milliweight(68), + Core::High8 => Cost::from_milliweight(59), + Core::Increment16 => Cost::from_milliweight(69), + Core::Increment32 => Cost::from_milliweight(92), + Core::Increment64 => Cost::from_milliweight(87), + Core::Increment8 => Cost::from_milliweight(85), + Core::IsOne16 => Cost::from_milliweight(82), + Core::IsOne32 => Cost::from_milliweight(65), + Core::IsOne64 => Cost::from_milliweight(83), + Core::IsOne8 => Cost::from_milliweight(91), + Core::IsZero16 => Cost::from_milliweight(75), + Core::IsZero32 => Cost::from_milliweight(85), + Core::IsZero64 => Cost::from_milliweight(80), + Core::IsZero8 => Cost::from_milliweight(77), + Core::Le16 => Cost::from_milliweight(112), + Core::Le32 => Cost::from_milliweight(93), + Core::Le64 => Cost::from_milliweight(93), + Core::Le8 => Cost::from_milliweight(109), + Core::LeftExtend16_32 => Cost::from_milliweight(86), + Core::LeftExtend16_64 => Cost::from_milliweight(89), + Core::LeftExtend1_16 => Cost::from_milliweight(67), + Core::LeftExtend1_32 => Cost::from_milliweight(60), + Core::LeftExtend1_64 => Cost::from_milliweight(76), + Core::LeftExtend1_8 => Cost::from_milliweight(65), + Core::LeftExtend32_64 => Cost::from_milliweight(63), + Core::LeftExtend8_16 => Cost::from_milliweight(88), + Core::LeftExtend8_32 => Cost::from_milliweight(90), + Core::LeftExtend8_64 => Cost::from_milliweight(107), + Core::LeftPadHigh16_32 => Cost::from_milliweight(91), + Core::LeftPadHigh16_64 => Cost::from_milliweight(110), + Core::LeftPadHigh1_16 => Cost::from_milliweight(141), + Core::LeftPadHigh1_32 => Cost::from_milliweight(263), + Core::LeftPadHigh1_64 => Cost::from_milliweight(422), + Core::LeftPadHigh1_8 => Cost::from_milliweight(99), + Core::LeftPadHigh32_64 => Cost::from_milliweight(93), + Core::LeftPadHigh8_16 => Cost::from_milliweight(88), + Core::LeftPadHigh8_32 => Cost::from_milliweight(103), + Core::LeftPadHigh8_64 => Cost::from_milliweight(136), + Core::LeftPadLow16_32 => Cost::from_milliweight(69), + Core::LeftPadLow16_64 => Cost::from_milliweight(106), + Core::LeftPadLow1_16 => Cost::from_milliweight(65), + Core::LeftPadLow1_32 => Cost::from_milliweight(63), + Core::LeftPadLow1_64 => Cost::from_milliweight(61), + Core::LeftPadLow1_8 => Cost::from_milliweight(56), + Core::LeftPadLow32_64 => Cost::from_milliweight(91), + Core::LeftPadLow8_16 => Cost::from_milliweight(66), + Core::LeftPadLow8_32 => Cost::from_milliweight(61), + Core::LeftPadLow8_64 => Cost::from_milliweight(112), + Core::LeftRotate16 => Cost::from_milliweight(77), + Core::LeftRotate32 => Cost::from_milliweight(106), + Core::LeftRotate64 => Cost::from_milliweight(98), + Core::LeftRotate8 => Cost::from_milliweight(88), + Core::LeftShift16 => Cost::from_milliweight(72), + Core::LeftShift32 => Cost::from_milliweight(78), + Core::LeftShift64 => Cost::from_milliweight(82), + Core::LeftShift8 => Cost::from_milliweight(91), + Core::LeftShiftWith16 => Cost::from_milliweight(83), + Core::LeftShiftWith32 => Cost::from_milliweight(95), + Core::LeftShiftWith64 => Cost::from_milliweight(103), + Core::LeftShiftWith8 => Cost::from_milliweight(107), + Core::Leftmost16_1 => Cost::from_milliweight(93), + Core::Leftmost16_2 => Cost::from_milliweight(90), + Core::Leftmost16_4 => Cost::from_milliweight(75), + Core::Leftmost16_8 => Cost::from_milliweight(71), + Core::Leftmost32_1 => Cost::from_milliweight(77), + Core::Leftmost32_16 => Cost::from_milliweight(102), + Core::Leftmost32_2 => Cost::from_milliweight(66), + Core::Leftmost32_4 => Cost::from_milliweight(52), + Core::Leftmost32_8 => Cost::from_milliweight(103), + Core::Leftmost64_1 => Cost::from_milliweight(78), + Core::Leftmost64_16 => Cost::from_milliweight(88), + Core::Leftmost64_2 => Cost::from_milliweight(71), + Core::Leftmost64_32 => Cost::from_milliweight(90), + Core::Leftmost64_4 => Cost::from_milliweight(79), + Core::Leftmost64_8 => Cost::from_milliweight(86), + Core::Leftmost8_1 => Cost::from_milliweight(90), + Core::Leftmost8_2 => Cost::from_milliweight(90), + Core::Leftmost8_4 => Cost::from_milliweight(87), + Core::LinearCombination1 => Cost::from_milliweight(84674), + Core::LinearVerify1 => Cost::from_milliweight(43364), + Core::Low1 => Cost::from_milliweight(38), + Core::Low16 => Cost::from_milliweight(69), + Core::Low32 => Cost::from_milliweight(62), + Core::Low64 => Cost::from_milliweight(47), + Core::Low8 => Cost::from_milliweight(47), + Core::Lt16 => Cost::from_milliweight(123), + Core::Lt32 => Cost::from_milliweight(107), + Core::Lt64 => Cost::from_milliweight(76), + Core::Lt8 => Cost::from_milliweight(107), + Core::Maj1 => Cost::from_milliweight(62), + Core::Maj16 => Cost::from_milliweight(80), + Core::Maj32 => Cost::from_milliweight(96), + Core::Maj64 => Cost::from_milliweight(93), + Core::Maj8 => Cost::from_milliweight(94), + Core::Max16 => Cost::from_milliweight(114), + Core::Max32 => Cost::from_milliweight(92), + Core::Max64 => Cost::from_milliweight(104), + Core::Max8 => Cost::from_milliweight(96), + Core::Median16 => Cost::from_milliweight(123), + Core::Median32 => Cost::from_milliweight(101), + Core::Median64 => Cost::from_milliweight(109), + Core::Median8 => Cost::from_milliweight(122), + Core::Min16 => Cost::from_milliweight(97), + Core::Min32 => Cost::from_milliweight(113), + Core::Min64 => Cost::from_milliweight(102), + Core::Min8 => Cost::from_milliweight(99), + Core::Modulo16 => Cost::from_milliweight(103), + Core::Modulo32 => Cost::from_milliweight(102), + Core::Modulo64 => Cost::from_milliweight(85), + Core::Modulo8 => Cost::from_milliweight(102), + Core::Multiply16 => Cost::from_milliweight(90), + Core::Multiply32 => Cost::from_milliweight(90), + Core::Multiply64 => Cost::from_milliweight(85), + Core::Multiply8 => Cost::from_milliweight(93), + Core::Negate16 => Cost::from_milliweight(70), + Core::Negate32 => Cost::from_milliweight(85), + Core::Negate64 => Cost::from_milliweight(94), + Core::Negate8 => Cost::from_milliweight(91), + Core::One16 => Cost::from_milliweight(60), + Core::One32 => Cost::from_milliweight(59), + Core::One64 => Cost::from_milliweight(59), + Core::One8 => Cost::from_milliweight(62), + Core::Or1 => Cost::from_milliweight(77), + Core::Or16 => Cost::from_milliweight(94), + Core::Or32 => Cost::from_milliweight(105), + Core::Or64 => Cost::from_milliweight(99), + Core::Or8 => Cost::from_milliweight(93), + Core::ParseLock => Cost::from_milliweight(97), + Core::ParseSequence => Cost::from_milliweight(116), + Core::PointVerify1 => Cost::from_milliweight(41494), + Core::RightExtend16_32 => Cost::from_milliweight(74), + Core::RightExtend16_64 => Cost::from_milliweight(82), + Core::RightExtend32_64 => Cost::from_milliweight(94), + Core::RightExtend8_16 => Cost::from_milliweight(76), + Core::RightExtend8_32 => Cost::from_milliweight(106), + Core::RightExtend8_64 => Cost::from_milliweight(124), + Core::RightPadHigh16_32 => Cost::from_milliweight(70), + Core::RightPadHigh16_64 => Cost::from_milliweight(88), + Core::RightPadHigh1_16 => Cost::from_milliweight(143), + Core::RightPadHigh1_32 => Cost::from_milliweight(223), + Core::RightPadHigh1_64 => Cost::from_milliweight(476), + Core::RightPadHigh1_8 => Cost::from_milliweight(107), + Core::RightPadHigh32_64 => Cost::from_milliweight(94), + Core::RightPadHigh8_16 => Cost::from_milliweight(89), + Core::RightPadHigh8_32 => Cost::from_milliweight(110), + Core::RightPadHigh8_64 => Cost::from_milliweight(107), + Core::RightPadLow16_32 => Cost::from_milliweight(71), + Core::RightPadLow16_64 => Cost::from_milliweight(96), + Core::RightPadLow1_16 => Cost::from_milliweight(81), + Core::RightPadLow1_32 => Cost::from_milliweight(75), + Core::RightPadLow1_64 => Cost::from_milliweight(73), + Core::RightPadLow1_8 => Cost::from_milliweight(68), + Core::RightPadLow32_64 => Cost::from_milliweight(80), + Core::RightPadLow8_16 => Cost::from_milliweight(75), + Core::RightPadLow8_32 => Cost::from_milliweight(77), + Core::RightPadLow8_64 => Cost::from_milliweight(82), + Core::RightRotate16 => Cost::from_milliweight(99), + Core::RightRotate32 => Cost::from_milliweight(92), + Core::RightRotate64 => Cost::from_milliweight(93), + Core::RightRotate8 => Cost::from_milliweight(75), + Core::RightShift16 => Cost::from_milliweight(84), + Core::RightShift32 => Cost::from_milliweight(88), + Core::RightShift64 => Cost::from_milliweight(91), + Core::RightShift8 => Cost::from_milliweight(88), + Core::RightShiftWith16 => Cost::from_milliweight(105), + Core::RightShiftWith32 => Cost::from_milliweight(92), + Core::RightShiftWith64 => Cost::from_milliweight(97), + Core::RightShiftWith8 => Cost::from_milliweight(103), + Core::Rightmost16_1 => Cost::from_milliweight(70), + Core::Rightmost16_2 => Cost::from_milliweight(82), + Core::Rightmost16_4 => Cost::from_milliweight(76), + Core::Rightmost16_8 => Cost::from_milliweight(69), + Core::Rightmost32_1 => Cost::from_milliweight(90), + Core::Rightmost32_16 => Cost::from_milliweight(64), + Core::Rightmost32_2 => Cost::from_milliweight(74), + Core::Rightmost32_4 => Cost::from_milliweight(92), + Core::Rightmost32_8 => Cost::from_milliweight(78), + Core::Rightmost64_1 => Cost::from_milliweight(77), + Core::Rightmost64_16 => Cost::from_milliweight(86), + Core::Rightmost64_2 => Cost::from_milliweight(74), + Core::Rightmost64_32 => Cost::from_milliweight(76), + Core::Rightmost64_4 => Cost::from_milliweight(70), + Core::Rightmost64_8 => Cost::from_milliweight(69), + Core::Rightmost8_1 => Cost::from_milliweight(79), + Core::Rightmost8_2 => Cost::from_milliweight(98), + Core::Rightmost8_4 => Cost::from_milliweight(98), + Core::ScalarAdd => Cost::from_milliweight(739), + Core::ScalarInvert => Cost::from_milliweight(3193), + Core::ScalarIsZero => Cost::from_milliweight(271), + Core::ScalarMultiply => Cost::from_milliweight(774), + Core::ScalarMultiplyLambda => Cost::from_milliweight(557), + Core::ScalarNegate => Cost::from_milliweight(490), + Core::ScalarNormalize => Cost::from_milliweight(472), + Core::ScalarSquare => Cost::from_milliweight(575), + Core::Scale => Cost::from_milliweight(72675), + Core::Sha256Block => Cost::from_milliweight(771), + Core::Sha256Ctx8Add1 => Cost::from_milliweight(642), + Core::Sha256Ctx8Add128 => Cost::from_milliweight(1779), + Core::Sha256Ctx8Add16 => Cost::from_milliweight(747), + Core::Sha256Ctx8Add2 => Cost::from_milliweight(661), + Core::Sha256Ctx8Add256 => Cost::from_milliweight(2912), + Core::Sha256Ctx8Add32 => Cost::from_milliweight(896), + Core::Sha256Ctx8Add4 => Cost::from_milliweight(645), + Core::Sha256Ctx8Add512 => Cost::from_milliweight(5299), + Core::Sha256Ctx8Add64 => Cost::from_milliweight(1187), + Core::Sha256Ctx8Add8 => Cost::from_milliweight(674), + Core::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060), + Core::Sha256Ctx8Finalize => Cost::from_milliweight(835), + Core::Sha256Ctx8Init => Cost::from_milliweight(118), + Core::Sha256Iv => Cost::from_milliweight(93), + Core::Some1 => Cost::from_milliweight(70), + Core::Some16 => Cost::from_milliweight(63), + Core::Some32 => Cost::from_milliweight(64), + Core::Some64 => Cost::from_milliweight(93), + Core::Some8 => Cost::from_milliweight(75), + Core::Subtract16 => Cost::from_milliweight(113), + Core::Subtract32 => Cost::from_milliweight(118), + Core::Subtract64 => Cost::from_milliweight(115), + Core::Subtract8 => Cost::from_milliweight(109), + Core::Swu => Cost::from_milliweight(32120), + Core::Verify => Cost::from_milliweight(57), + Core::Xor1 => Cost::from_milliweight(67), + Core::Xor16 => Cost::from_milliweight(83), + Core::Xor32 => Cost::from_milliweight(92), + Core::Xor64 => Cost::from_milliweight(95), + Core::Xor8 => Cost::from_milliweight(85), + Core::XorXor1 => Cost::from_milliweight(72), + Core::XorXor16 => Cost::from_milliweight(79), + Core::XorXor32 => Cost::from_milliweight(96), + Core::XorXor64 => Cost::from_milliweight(93), + Core::XorXor8 => Cost::from_milliweight(98), } } } diff --git a/src/jet/init/elements.rs b/src/jet/init/elements.rs index beded8b2..30a7332a 100644 --- a/src/jet/init/elements.rs +++ b/src/jet/init/elements.rs @@ -499,159 +499,159 @@ impl Jet for Elements { fn cmr(&self) -> Cmr { let bytes = match self { Elements::Add16 => [ - 0x90, 0xe5, 0xc3, 0x02, 0xc2, 0xa1, 0x02, 0xf7, 0x6c, 0xc2, 0x0b, 0xcd, 0xdd, 0xc0, - 0x62, 0x2b, 0xf3, 0xb8, 0xa5, 0x44, 0x6a, 0xb6, 0x8d, 0x1b, 0x2a, 0x03, 0x39, 0x5e, - 0x6f, 0xae, 0x92, 0x50, + 0xc4, 0xdd, 0x8c, 0x30, 0x97, 0xf9, 0x5b, 0xf9, 0x22, 0x9a, 0xf0, 0xc3, 0x48, 0x31, + 0x70, 0x32, 0x3a, 0xa2, 0x70, 0xaf, 0x42, 0x8a, 0x72, 0x57, 0x18, 0x14, 0x3b, 0xb5, + 0xfc, 0x80, 0x81, 0x1c, ], Elements::Add32 => [ - 0x6d, 0x78, 0x30, 0xd6, 0x5e, 0x69, 0xf2, 0x7d, 0x55, 0x1c, 0x4b, 0xb3, 0x71, 0x8d, - 0xa9, 0x35, 0x22, 0x2f, 0xae, 0xc4, 0xaf, 0x7f, 0x49, 0xe9, 0x5e, 0x98, 0x33, 0xed, - 0x2f, 0x84, 0xc1, 0x06, + 0xd9, 0x8c, 0x0f, 0x69, 0xf6, 0xb1, 0xd4, 0x35, 0x29, 0x4d, 0x97, 0x83, 0x5e, 0xac, + 0x94, 0x01, 0x77, 0xa2, 0xfe, 0xaf, 0x0a, 0x6e, 0x9e, 0x47, 0x34, 0xc9, 0x12, 0x04, + 0x8e, 0x9e, 0xee, 0x42, ], Elements::Add64 => [ - 0x9e, 0xee, 0xbe, 0xa8, 0x47, 0x38, 0x8e, 0x14, 0xc7, 0xc9, 0xe7, 0xca, 0x14, 0x7c, - 0x70, 0x71, 0x4d, 0xe1, 0x44, 0xeb, 0xab, 0x39, 0x8a, 0x53, 0xf4, 0xf5, 0x8a, 0x34, - 0x93, 0x0c, 0xc4, 0x5c, + 0xe6, 0x13, 0xeb, 0x03, 0x10, 0xa4, 0x4c, 0x22, 0xa6, 0x94, 0xee, 0x55, 0x49, 0x0d, + 0xa4, 0xea, 0xe3, 0x88, 0x11, 0xbf, 0xf8, 0x4a, 0xa0, 0x21, 0x31, 0xd9, 0x8f, 0x49, + 0x9d, 0x26, 0x1e, 0x71, ], Elements::Add8 => [ - 0x37, 0x59, 0xb0, 0x40, 0x6a, 0xa2, 0xc4, 0xe1, 0x15, 0x26, 0x21, 0xe0, 0x11, 0xe4, - 0xef, 0xdb, 0x55, 0x5c, 0x6a, 0xb6, 0xd9, 0x1a, 0xe9, 0xeb, 0xf1, 0xd6, 0x31, 0x5b, - 0x43, 0x82, 0xa6, 0xc4, + 0x4a, 0x1f, 0x50, 0x9e, 0x5d, 0xe5, 0xc3, 0x98, 0x5f, 0x76, 0xa0, 0xdb, 0x65, 0xb0, + 0x4e, 0x06, 0x03, 0xbd, 0x0c, 0x1d, 0x9c, 0x5b, 0xbc, 0xb9, 0xa3, 0xec, 0x8e, 0x53, + 0xa0, 0xba, 0x32, 0x97, ], Elements::All16 => [ - 0x3e, 0x7e, 0x95, 0x3d, 0x28, 0xa6, 0xdc, 0x5e, 0xd7, 0xdf, 0xbd, 0x4c, 0x63, 0xf2, - 0xe0, 0x80, 0x47, 0xc7, 0x1b, 0xb9, 0xc4, 0x37, 0xe8, 0xc7, 0x1e, 0xe0, 0x14, 0x7a, - 0x60, 0xf7, 0x8b, 0xee, + 0x13, 0xf6, 0xeb, 0xb8, 0xda, 0x74, 0x0d, 0xb8, 0x25, 0x92, 0x04, 0x68, 0x80, 0x2c, + 0x4c, 0xf4, 0x12, 0x45, 0x01, 0x6b, 0xdf, 0x2f, 0xa0, 0x54, 0x8c, 0x86, 0xf4, 0x15, + 0x83, 0x86, 0x6c, 0x73, ], Elements::All32 => [ - 0x5d, 0xd0, 0x85, 0x16, 0x26, 0x03, 0x6c, 0xb6, 0xa4, 0x2a, 0xa9, 0x52, 0x93, 0xdb, - 0xb8, 0xf3, 0x6e, 0xfe, 0x5e, 0x0e, 0xa5, 0x7a, 0x31, 0x08, 0x27, 0xfa, 0x6d, 0x79, - 0x2f, 0x46, 0xe0, 0xc1, + 0xbb, 0x51, 0x5d, 0x4a, 0x22, 0xf3, 0x24, 0x5e, 0xcf, 0x57, 0x50, 0x35, 0xed, 0x18, + 0x7a, 0x03, 0x86, 0x14, 0x52, 0x4b, 0x35, 0xae, 0xd6, 0x44, 0x82, 0x46, 0x89, 0xde, + 0x38, 0xa4, 0xa1, 0xe0, ], Elements::All64 => [ - 0xba, 0xd0, 0x2f, 0xd1, 0x58, 0x90, 0x8a, 0x1b, 0xe0, 0x68, 0x72, 0x5e, 0xb0, 0x52, - 0x76, 0xde, 0xfa, 0x41, 0x12, 0x07, 0xd0, 0xc8, 0xa9, 0x1b, 0xbe, 0x6f, 0xa5, 0x7d, - 0x2c, 0xda, 0x29, 0xdf, + 0xcd, 0x15, 0x1d, 0xe9, 0x17, 0x57, 0x56, 0x55, 0xa7, 0xa0, 0xf3, 0x5d, 0xa9, 0xcd, + 0xaf, 0x6e, 0x2b, 0xbf, 0x8a, 0x8d, 0x4f, 0xce, 0xac, 0x68, 0xce, 0xe4, 0xb0, 0x08, + 0xe6, 0x65, 0xbf, 0xc3, ], Elements::All8 => [ - 0xdc, 0x09, 0x88, 0x54, 0xdd, 0x06, 0xae, 0x1e, 0x6e, 0x3e, 0x73, 0xa4, 0xae, 0x94, - 0xd0, 0xb2, 0xac, 0xce, 0x5c, 0xb3, 0xec, 0xc1, 0x2e, 0x8c, 0xb8, 0x16, 0x7f, 0x7b, - 0x6e, 0xaa, 0x40, 0x69, + 0x0d, 0x3c, 0xbf, 0xc2, 0xcc, 0x2a, 0x9a, 0x06, 0x28, 0xa2, 0xff, 0x8a, 0xfc, 0x0a, + 0x5f, 0x93, 0x17, 0x3e, 0xde, 0x4c, 0x23, 0x4c, 0x57, 0x21, 0x4c, 0x5d, 0x74, 0xaf, + 0x6b, 0x87, 0x3c, 0xe9, ], Elements::And1 => [ - 0x2d, 0xc2, 0xdb, 0xcc, 0x69, 0xc1, 0x2c, 0x78, 0x30, 0xdf, 0x11, 0x70, 0xd9, 0xe9, - 0x3a, 0x35, 0xd8, 0x28, 0x4c, 0xc8, 0x15, 0x91, 0x6a, 0xeb, 0x3b, 0x1b, 0x95, 0xef, - 0xda, 0xa9, 0x2c, 0x26, + 0x56, 0xd1, 0xd4, 0xd6, 0xc1, 0xe1, 0x1f, 0x60, 0xd2, 0x96, 0x60, 0xb1, 0x81, 0xa1, + 0x33, 0x5a, 0x4f, 0x51, 0x1d, 0x3b, 0x9c, 0x04, 0xa3, 0x33, 0xe9, 0xe0, 0x14, 0x18, + 0xb0, 0xd1, 0x81, 0x8f, ], Elements::And16 => [ - 0x4f, 0x42, 0xc6, 0x88, 0xcc, 0x3c, 0xeb, 0x76, 0x1f, 0x66, 0x2a, 0x0b, 0x8e, 0x77, - 0xb1, 0x96, 0x42, 0xda, 0xb5, 0x40, 0x7d, 0x9a, 0x87, 0x3c, 0xd9, 0xc1, 0x86, 0x09, - 0x97, 0x7e, 0xbd, 0x91, + 0xd7, 0x7a, 0x11, 0x44, 0xc5, 0x2e, 0xd2, 0xb7, 0x69, 0x88, 0xdf, 0x9b, 0x29, 0xcd, + 0x53, 0x97, 0x8c, 0x44, 0xc6, 0xd5, 0x40, 0xf4, 0xbc, 0x54, 0x56, 0xd0, 0xb3, 0xb5, + 0x3c, 0xd4, 0x00, 0xe5, ], Elements::And32 => [ - 0x16, 0x80, 0xcf, 0xd2, 0x64, 0x3a, 0xd3, 0x89, 0x6b, 0xfb, 0x45, 0xe9, 0x6f, 0xc6, - 0x2d, 0xc2, 0xbb, 0x0c, 0xc0, 0xac, 0x48, 0x6f, 0xa8, 0x33, 0x30, 0xa8, 0x89, 0x0c, - 0x09, 0xee, 0x96, 0x9b, + 0x43, 0x82, 0xf9, 0x34, 0x33, 0x79, 0xd4, 0x42, 0x2e, 0x2a, 0x01, 0x51, 0x04, 0xcf, + 0x55, 0xdc, 0x54, 0xa8, 0xf7, 0x1e, 0xef, 0xb0, 0x62, 0x29, 0x26, 0xd6, 0x4b, 0x6c, + 0xe2, 0x2b, 0xea, 0x11, ], Elements::And64 => [ - 0xa2, 0xdd, 0x3d, 0x49, 0xf1, 0x2c, 0xd4, 0x42, 0xce, 0xa7, 0xc8, 0x32, 0x38, 0x68, - 0xbe, 0x3c, 0xe6, 0xe9, 0xaf, 0x67, 0x6f, 0x72, 0x51, 0x10, 0xf3, 0xce, 0x49, 0x4e, - 0xdd, 0x6a, 0x5a, 0x4a, + 0x3e, 0xb8, 0xb4, 0x2d, 0x81, 0x5f, 0x0f, 0xc3, 0x9a, 0x34, 0x99, 0xb0, 0x35, 0x4e, + 0xfd, 0x05, 0xa6, 0x03, 0xf5, 0xef, 0x5e, 0x51, 0x17, 0x66, 0xc0, 0x11, 0x2c, 0xc1, + 0x48, 0xe2, 0x11, 0x55, ], Elements::And8 => [ - 0x27, 0x55, 0x41, 0x78, 0x19, 0x86, 0x58, 0xf5, 0xbf, 0xb5, 0xb0, 0x41, 0x30, 0x89, - 0x87, 0x42, 0xbf, 0x82, 0xdb, 0x60, 0x39, 0xdc, 0xbb, 0x17, 0x26, 0x6d, 0xfe, 0x03, - 0x0c, 0xc1, 0x20, 0x75, + 0x0e, 0x0e, 0xe0, 0x7c, 0x74, 0x9a, 0x3f, 0xa7, 0x12, 0x96, 0xb9, 0xd4, 0x59, 0xb0, + 0x6a, 0x0a, 0x4b, 0xff, 0xb7, 0xf5, 0xbb, 0x99, 0xa9, 0x25, 0x4a, 0x7d, 0x13, 0xa8, + 0xce, 0x44, 0x4c, 0xd7, ], Elements::AnnexHash => [ - 0xca, 0x1b, 0xed, 0xa0, 0x4f, 0x1f, 0xe8, 0xcb, 0xb0, 0x8c, 0xd6, 0x9f, 0x39, 0x59, - 0xd4, 0x42, 0xfe, 0x5a, 0xb0, 0x15, 0xc6, 0x92, 0x3e, 0x17, 0x1d, 0x8d, 0x06, 0x86, - 0xef, 0x31, 0x48, 0x8f, + 0x07, 0xee, 0xbc, 0x33, 0xfd, 0xe1, 0xad, 0x63, 0xef, 0x13, 0x69, 0x01, 0xba, 0xae, + 0xa6, 0xfd, 0xe7, 0x22, 0x8d, 0x7c, 0x60, 0xd1, 0x79, 0xb9, 0x47, 0xbd, 0x5d, 0xe5, + 0xe0, 0x7a, 0xb7, 0x85, ], Elements::AssetAmountHash => [ - 0x4f, 0xf7, 0xe7, 0x3c, 0xe7, 0xfb, 0xbf, 0xa1, 0xc5, 0x77, 0xe6, 0xfe, 0x1d, 0xab, - 0x70, 0xb8, 0xf1, 0x0b, 0xb4, 0xdf, 0x31, 0x9c, 0x0f, 0x6d, 0x67, 0x99, 0x4f, 0x6f, - 0xdb, 0x22, 0x42, 0x58, + 0x1b, 0xaa, 0xda, 0xd6, 0x9d, 0xe6, 0x21, 0x37, 0x77, 0x04, 0x6c, 0xc1, 0xb3, 0x53, + 0xa7, 0x03, 0x50, 0xa9, 0x58, 0x01, 0x52, 0x87, 0x6c, 0x8e, 0xf7, 0x12, 0xd4, 0x74, + 0x4c, 0x4f, 0x4e, 0x30, ], Elements::Bip0340Verify => [ - 0x3a, 0x19, 0x6e, 0xc1, 0x9d, 0x8f, 0x3f, 0xcc, 0x67, 0xb0, 0xad, 0x8f, 0x61, 0x1e, - 0x76, 0x2d, 0xc1, 0x18, 0x9a, 0x72, 0x2f, 0xaa, 0x74, 0x5b, 0x69, 0x4d, 0x29, 0x2c, - 0x47, 0x37, 0x3f, 0x53, + 0x08, 0x73, 0xc4, 0xd7, 0xb8, 0x99, 0x8b, 0x2b, 0x6b, 0x8e, 0x43, 0xee, 0x4a, 0xc0, + 0xc2, 0xc7, 0xad, 0x25, 0xb3, 0x60, 0x0e, 0x34, 0x2b, 0x20, 0x1d, 0x46, 0x00, 0x1b, + 0x76, 0xc0, 0x56, 0x7f, ], Elements::BuildTapbranch => [ - 0xd4, 0xb3, 0x13, 0x12, 0x78, 0x6c, 0xb3, 0x3b, 0x43, 0xb0, 0x62, 0xd4, 0x8e, 0x0b, - 0xe0, 0x39, 0xc7, 0xde, 0x2b, 0x8d, 0x67, 0xce, 0x9e, 0xea, 0x5f, 0x52, 0x25, 0xf1, - 0x97, 0xef, 0x77, 0x74, + 0x77, 0x3d, 0xc3, 0xb7, 0xcf, 0x6a, 0x25, 0x92, 0xa3, 0x5d, 0x53, 0x19, 0x53, 0x09, + 0x49, 0x15, 0xe8, 0x57, 0x03, 0x7a, 0xb5, 0xb7, 0xcd, 0xd2, 0xa7, 0x34, 0xe2, 0x89, + 0xc9, 0x5e, 0x2a, 0x3e, ], Elements::BuildTapleafSimplicity => [ - 0x13, 0x6f, 0x16, 0xe4, 0x4a, 0xe5, 0x5b, 0x7e, 0x63, 0x30, 0xd6, 0x56, 0xa2, 0x82, - 0xcb, 0xe5, 0xaf, 0x96, 0x6e, 0x74, 0x1f, 0x57, 0x6c, 0x9d, 0x0a, 0xcd, 0x77, 0x49, - 0x46, 0x7f, 0xd5, 0x05, + 0x2b, 0x90, 0xae, 0x75, 0xbb, 0x76, 0xde, 0x68, 0xde, 0x10, 0xd1, 0xe0, 0xae, 0xea, + 0x64, 0x07, 0x1a, 0x06, 0xf1, 0x3a, 0x97, 0x76, 0xef, 0xa6, 0xec, 0x8e, 0xe3, 0xe3, + 0xbc, 0x86, 0x28, 0x9a, ], Elements::CalculateAsset => [ - 0x2e, 0xaa, 0xe2, 0x4d, 0xcc, 0xce, 0x3c, 0x94, 0x4b, 0xeb, 0x8e, 0x38, 0xac, 0x6a, - 0x52, 0xea, 0x43, 0x44, 0x20, 0xfb, 0x56, 0xa9, 0xa9, 0xb4, 0xfb, 0x84, 0x15, 0x83, - 0x48, 0x08, 0x74, 0x21, + 0xe9, 0x71, 0x89, 0x6b, 0x77, 0xff, 0xfb, 0xe0, 0xe1, 0x03, 0x65, 0x47, 0xcd, 0xc6, + 0xdd, 0xff, 0x38, 0xe8, 0xbd, 0x75, 0x42, 0x7a, 0xbb, 0x7c, 0x76, 0x18, 0x30, 0x28, + 0xfb, 0xcf, 0x98, 0x82, ], Elements::CalculateConfidentialToken => [ - 0x3c, 0x5b, 0xf0, 0x8a, 0xba, 0x5a, 0xa3, 0x3e, 0xba, 0x87, 0xef, 0xb0, 0x99, 0xbd, - 0xf1, 0xc4, 0x64, 0xe7, 0x72, 0x2a, 0xec, 0xe1, 0xa2, 0x21, 0x3d, 0xc8, 0xeb, 0x25, - 0x54, 0xf0, 0xb5, 0x6b, + 0x02, 0x68, 0x32, 0x08, 0xa9, 0xdb, 0x67, 0x70, 0x80, 0x76, 0x89, 0xca, 0x4e, 0x2b, + 0xdc, 0xaf, 0x00, 0xb7, 0x5e, 0x1c, 0x5d, 0x7e, 0x3a, 0xec, 0xa7, 0x50, 0x19, 0xe9, + 0xfb, 0x70, 0xa4, 0xcd, ], Elements::CalculateExplicitToken => [ - 0xbe, 0xf4, 0x4e, 0x2e, 0x52, 0xcc, 0xbf, 0xba, 0xc8, 0x8f, 0xd4, 0xd0, 0xbd, 0xad, - 0x51, 0xa4, 0x69, 0xb4, 0x84, 0xc7, 0x58, 0x5b, 0x78, 0x25, 0x8a, 0xd4, 0xa7, 0x9b, - 0xc9, 0xe4, 0x80, 0x3b, + 0x62, 0x0d, 0x8d, 0x03, 0xf0, 0x42, 0xdd, 0x95, 0xdc, 0x49, 0xb8, 0xae, 0x35, 0xa8, + 0x81, 0xf4, 0xdb, 0xd6, 0x21, 0x99, 0x66, 0x2e, 0xea, 0xec, 0x13, 0xe5, 0x71, 0x3e, + 0x34, 0xd2, 0x96, 0xdd, ], Elements::CalculateIssuanceEntropy => [ - 0xca, 0x16, 0x2c, 0x8a, 0xab, 0x8f, 0x94, 0xdd, 0xe2, 0x08, 0xdd, 0x87, 0x13, 0x06, - 0xb4, 0xcc, 0x91, 0x7e, 0xf2, 0xd8, 0x1b, 0x8d, 0xf7, 0x5f, 0xb2, 0x3a, 0x91, 0x6e, - 0xb3, 0xbe, 0x19, 0x7e, + 0xf6, 0x59, 0x51, 0x90, 0xd4, 0x00, 0x8c, 0x66, 0x5b, 0x69, 0x4a, 0xac, 0xb8, 0xd9, + 0x6a, 0x76, 0x26, 0xe0, 0x6a, 0xc6, 0x2b, 0x28, 0xd0, 0x09, 0xd7, 0x51, 0x92, 0xbc, + 0x9c, 0xae, 0x51, 0x56, ], Elements::Ch1 => [ - 0xc2, 0x32, 0x36, 0x12, 0x4d, 0xa0, 0x1f, 0x3d, 0x8e, 0xb7, 0x42, 0xc2, 0xed, 0x47, - 0x95, 0x3f, 0x66, 0xc8, 0xb0, 0x84, 0xd9, 0x5a, 0x10, 0xc6, 0x0c, 0xae, 0x69, 0xba, - 0x98, 0x42, 0xae, 0x96, + 0x29, 0x7c, 0x25, 0x1a, 0xfe, 0x74, 0x1b, 0x19, 0x22, 0xa2, 0x12, 0xe3, 0x93, 0xd3, + 0xd3, 0xb1, 0xc3, 0x2e, 0x6b, 0x33, 0xee, 0x2c, 0xfd, 0x5e, 0xfa, 0xe3, 0xfb, 0x1a, + 0xbe, 0x59, 0x51, 0x13, ], Elements::Ch16 => [ - 0xdc, 0xcd, 0xe6, 0xa9, 0x54, 0x58, 0x75, 0xc5, 0xcb, 0x46, 0xe7, 0x2c, 0x7b, 0x04, - 0xce, 0xeb, 0x92, 0x0c, 0x20, 0x3d, 0x1c, 0x04, 0x2a, 0xec, 0x91, 0x24, 0x1d, 0xbe, - 0xca, 0x23, 0xf4, 0x35, + 0x81, 0xd3, 0x38, 0x86, 0xb5, 0x25, 0xe7, 0xf2, 0x80, 0x19, 0xd4, 0x44, 0xd4, 0xd4, + 0xb4, 0x22, 0x76, 0xd3, 0x3f, 0xa9, 0x7b, 0x91, 0x7a, 0xdb, 0xef, 0x4a, 0x88, 0x11, + 0x3e, 0xa6, 0x71, 0x1e, ], Elements::Ch32 => [ - 0x8c, 0x0a, 0x87, 0xee, 0x8e, 0x1d, 0xfc, 0xa3, 0x4b, 0xdf, 0xf4, 0x21, 0x2b, 0xa1, - 0xaf, 0x75, 0x44, 0xd2, 0xde, 0x6f, 0x4a, 0xcb, 0x76, 0x18, 0x08, 0x23, 0x1a, 0x5f, - 0x57, 0x78, 0x8e, 0x62, + 0x77, 0x00, 0x22, 0x00, 0xec, 0xac, 0x62, 0xe7, 0x65, 0xc0, 0x55, 0xb5, 0x0b, 0xd2, + 0x25, 0xa8, 0x54, 0xcd, 0xa3, 0x18, 0x07, 0x1b, 0x2e, 0x70, 0xea, 0x30, 0xde, 0x9d, + 0x1e, 0x32, 0x19, 0xaa, ], Elements::Ch64 => [ - 0x5d, 0x5a, 0xe5, 0x7d, 0x76, 0x47, 0xf0, 0x1e, 0xc3, 0xfd, 0x79, 0x7e, 0xd8, 0x9d, - 0x62, 0xbe, 0x5f, 0xe5, 0x85, 0xfb, 0xb9, 0xfd, 0xb6, 0xc3, 0x20, 0x8b, 0x2c, 0x08, - 0x57, 0x9b, 0x9e, 0x2c, + 0xe9, 0x7c, 0xdd, 0x2a, 0x47, 0xac, 0xf4, 0x0b, 0xe6, 0x87, 0x2a, 0x57, 0x4b, 0xba, + 0xdb, 0x5d, 0xb5, 0x1b, 0xac, 0x1a, 0xd9, 0xcf, 0x63, 0xe7, 0xd8, 0x4c, 0x3b, 0x2f, + 0xb9, 0xab, 0x6d, 0xdb, ], Elements::Ch8 => [ - 0xdf, 0xc5, 0x78, 0xf2, 0x5c, 0xb3, 0x14, 0x02, 0xe2, 0x2a, 0x81, 0x0e, 0x98, 0x95, - 0x0a, 0xe1, 0x7b, 0x19, 0x08, 0x96, 0x36, 0x4c, 0xde, 0xe8, 0xee, 0xa3, 0x00, 0xcf, - 0x79, 0xd8, 0x78, 0x01, + 0x5b, 0xc6, 0x77, 0x08, 0x75, 0x1e, 0x96, 0x79, 0x13, 0xfb, 0x75, 0xfc, 0x25, 0x76, + 0xa0, 0x80, 0x70, 0x0c, 0x67, 0xf1, 0x2c, 0x36, 0x3b, 0xa0, 0x19, 0x17, 0x51, 0x3e, + 0x6c, 0x78, 0x14, 0x57, ], Elements::CheckLockDistance => [ - 0xc5, 0x10, 0xcd, 0x9a, 0xf3, 0xea, 0xd1, 0x71, 0xe1, 0x89, 0xf9, 0xe1, 0x0c, 0x95, - 0x46, 0x3d, 0x33, 0x1b, 0x16, 0x73, 0x94, 0x1d, 0xe3, 0x84, 0xe8, 0x46, 0xab, 0x71, - 0x57, 0x53, 0x8e, 0xe6, + 0x44, 0x61, 0x19, 0x4a, 0x7b, 0x0a, 0x79, 0x05, 0x16, 0x91, 0x3c, 0x70, 0xf7, 0xfd, + 0xd6, 0x1e, 0x2a, 0xac, 0x43, 0x17, 0xbc, 0x4f, 0x7e, 0xe2, 0x7b, 0xcf, 0x55, 0xfe, + 0xe9, 0xb1, 0xc2, 0xf1, ], Elements::CheckLockDuration => [ - 0x4a, 0x64, 0x70, 0x0c, 0x73, 0x0c, 0x63, 0x51, 0x94, 0xcc, 0xed, 0x20, 0x47, 0x1b, - 0x0a, 0x69, 0xc6, 0xde, 0xa2, 0x71, 0xb0, 0x4a, 0x41, 0xaa, 0x8c, 0x76, 0x43, 0x7b, - 0x74, 0x62, 0x8d, 0xdb, + 0x3c, 0xe5, 0xaf, 0xf9, 0x1a, 0x7e, 0x35, 0x2d, 0x03, 0x69, 0x01, 0x5f, 0xd4, 0xe2, + 0xd9, 0xf1, 0xe0, 0x00, 0xc3, 0x9a, 0xd1, 0xb7, 0xd7, 0x60, 0xb8, 0x50, 0x35, 0x88, + 0x12, 0x0b, 0xb8, 0xb3, ], Elements::CheckLockHeight => [ - 0x00, 0xdd, 0x53, 0x16, 0x8f, 0x95, 0x17, 0x73, 0x81, 0x8c, 0x1e, 0xa6, 0x97, 0x97, - 0xed, 0x00, 0xcc, 0xcd, 0x37, 0x62, 0xd2, 0xed, 0xb6, 0xd9, 0x5f, 0xeb, 0x76, 0x70, - 0x98, 0x05, 0xd4, 0x9f, + 0xdf, 0x3a, 0x0f, 0x07, 0x68, 0x04, 0x33, 0xae, 0x5e, 0xe8, 0x55, 0xdd, 0x77, 0x4c, + 0x2a, 0xe4, 0x11, 0x94, 0xac, 0x8f, 0xa1, 0x18, 0xb5, 0x06, 0xa0, 0x9e, 0xb6, 0xd3, + 0xa5, 0x2e, 0x16, 0x7a, ], Elements::CheckLockTime => [ - 0xde, 0xa6, 0xdf, 0x2a, 0x19, 0x80, 0x02, 0x8f, 0x42, 0x3b, 0x6a, 0x49, 0x04, 0x2e, - 0x1e, 0xe5, 0x36, 0x17, 0x60, 0xe9, 0x42, 0xf0, 0xea, 0x68, 0xf9, 0xbf, 0x9d, 0xca, - 0xab, 0x57, 0xde, 0x53, + 0x66, 0x7e, 0xce, 0x1f, 0xfd, 0x80, 0x7b, 0x61, 0x35, 0x7c, 0x91, 0x50, 0x63, 0x0a, + 0xf0, 0x13, 0x9e, 0x9f, 0x1f, 0xcd, 0xf9, 0x87, 0xdf, 0xa7, 0xce, 0x20, 0xa1, 0xe2, + 0x16, 0xed, 0x75, 0xe3, ], Elements::CheckSigVerify => [ 0xa5, 0x16, 0xdd, 0x5c, 0x9c, 0xab, 0xd0, 0x41, 0x12, 0x0e, 0xa3, 0x68, 0xab, 0x4c, @@ -659,2189 +659,2189 @@ impl Jet for Elements { 0x2f, 0x16, 0x83, 0x29, ], Elements::Complement1 => [ - 0x7e, 0x71, 0x48, 0x13, 0x2e, 0x28, 0x92, 0x82, 0x3f, 0xcf, 0x2a, 0x26, 0xc6, 0x22, - 0x0b, 0xee, 0x03, 0x9f, 0xf6, 0xc5, 0xd7, 0xc1, 0xb4, 0xe4, 0xca, 0x21, 0x3a, 0xd8, - 0x37, 0xab, 0x47, 0x74, + 0x9e, 0xa1, 0xeb, 0xfb, 0xbf, 0x07, 0x3b, 0xf0, 0xc3, 0x12, 0x66, 0x03, 0x74, 0x9c, + 0x6c, 0x1f, 0x15, 0x05, 0x03, 0x9e, 0xab, 0x4f, 0x26, 0x64, 0x3f, 0x03, 0x30, 0xd4, + 0x8b, 0xd6, 0x84, 0x94, ], Elements::Complement16 => [ - 0x7f, 0x16, 0xd1, 0x24, 0x15, 0x99, 0x87, 0x68, 0x34, 0x7f, 0x43, 0xa9, 0xb9, 0x1c, - 0x89, 0x87, 0x59, 0x1d, 0xfe, 0xc1, 0xcf, 0x78, 0x50, 0xb4, 0x23, 0xfe, 0xa3, 0x3a, - 0x37, 0x26, 0xf4, 0x63, + 0x7d, 0xa0, 0xcc, 0x5e, 0x1f, 0x55, 0x03, 0x6c, 0x08, 0x64, 0x6d, 0xbb, 0x37, 0x55, + 0x7a, 0xd9, 0x03, 0x38, 0x63, 0x05, 0x9d, 0xfb, 0xf3, 0x4a, 0x19, 0xf2, 0x28, 0xe8, + 0x96, 0xd6, 0x4c, 0x0f, ], Elements::Complement32 => [ - 0xe6, 0x5a, 0x4f, 0x75, 0x54, 0x11, 0xb4, 0x80, 0xb8, 0x05, 0x85, 0xfd, 0xc0, 0x2e, - 0xe2, 0x4c, 0xbb, 0xd9, 0x50, 0x2a, 0x48, 0xa7, 0x34, 0x7a, 0x71, 0x02, 0x94, 0xe7, - 0x82, 0xac, 0xff, 0xba, + 0x54, 0x18, 0xc4, 0x64, 0xe4, 0x94, 0x97, 0x21, 0x63, 0xa3, 0x35, 0x3b, 0x81, 0x17, + 0xe6, 0xe7, 0x67, 0x49, 0x13, 0x48, 0xc0, 0x76, 0x3f, 0x96, 0x22, 0x74, 0x4a, 0x83, + 0x08, 0x2e, 0xf8, 0x41, ], Elements::Complement64 => [ - 0xd5, 0xc6, 0x57, 0x13, 0x8a, 0x6c, 0xf5, 0x53, 0x22, 0xc3, 0x6e, 0x6f, 0x3c, 0x4a, - 0x0f, 0x9f, 0xb6, 0x39, 0x88, 0xa1, 0x12, 0x0d, 0x6e, 0xeb, 0x03, 0xfc, 0x42, 0x7c, - 0xad, 0x97, 0x18, 0x69, + 0x00, 0x4e, 0xb9, 0xed, 0x9c, 0x10, 0xa4, 0xa5, 0xa8, 0x97, 0x94, 0x8e, 0x54, 0x1d, + 0x36, 0xdc, 0x1f, 0xb6, 0x50, 0xc8, 0xda, 0x72, 0x6f, 0x8d, 0xd1, 0x97, 0xce, 0x8c, + 0x74, 0x41, 0xf7, 0x08, ], Elements::Complement8 => [ - 0x1f, 0x5c, 0x6a, 0xb4, 0x1d, 0x40, 0x6b, 0xad, 0xfc, 0x9d, 0x5a, 0x2c, 0x76, 0xbe, - 0xf7, 0xe3, 0x28, 0x7a, 0xab, 0xee, 0x19, 0xd0, 0x85, 0x0f, 0x09, 0x38, 0x98, 0x46, - 0xea, 0xbf, 0x45, 0x8e, + 0x94, 0x76, 0xd5, 0x1d, 0x6b, 0x1b, 0xe4, 0x4d, 0xcf, 0xf2, 0x19, 0x47, 0xd5, 0xbf, + 0x54, 0x0a, 0x66, 0x61, 0x6f, 0xf7, 0xb9, 0x32, 0x8a, 0x67, 0xf5, 0xb8, 0x3a, 0x2f, + 0x6f, 0x06, 0xf0, 0x2c, ], Elements::CurrentAmount => [ - 0x76, 0x31, 0x94, 0x4b, 0x93, 0x6d, 0x0b, 0x7f, 0xa9, 0x2a, 0x86, 0x8d, 0xd7, 0x6e, - 0x4d, 0x47, 0x29, 0x36, 0xcf, 0x42, 0x5c, 0xd8, 0x6e, 0x5b, 0x90, 0x93, 0x6f, 0xbd, - 0x8d, 0x54, 0xe2, 0x02, + 0xb8, 0xe3, 0x24, 0xc6, 0x45, 0xdc, 0xe6, 0x0e, 0x15, 0xd0, 0xaf, 0x7a, 0x67, 0xcb, + 0xba, 0x87, 0xc3, 0xc9, 0x34, 0xbb, 0xcb, 0x7c, 0x1c, 0xba, 0x84, 0x68, 0xcf, 0x1e, + 0x41, 0x34, 0xdc, 0x21, ], Elements::CurrentAnnexHash => [ - 0x45, 0xca, 0x82, 0x94, 0xef, 0x4d, 0x61, 0x20, 0xe9, 0xef, 0x59, 0xeb, 0xeb, 0x8c, - 0x51, 0xd2, 0xc4, 0xe8, 0x16, 0xf5, 0x2d, 0x14, 0x8f, 0x64, 0x25, 0x0e, 0xb8, 0xa3, - 0xaa, 0x05, 0x0e, 0x18, + 0x12, 0x57, 0xdf, 0x7b, 0xa0, 0x3d, 0xb3, 0xd8, 0xb3, 0x3d, 0x43, 0x9b, 0xb1, 0xc8, + 0x37, 0xcd, 0xeb, 0x34, 0x80, 0x7e, 0x21, 0x99, 0xa1, 0x50, 0x32, 0x8e, 0xdd, 0x88, + 0xea, 0x3b, 0x7e, 0x54, ], Elements::CurrentAsset => [ - 0x38, 0xf1, 0x4f, 0x83, 0xc6, 0xa0, 0x47, 0x4c, 0x3b, 0xc2, 0x2c, 0xab, 0x54, 0x0f, - 0xaf, 0x66, 0xbb, 0x06, 0xd6, 0x7e, 0xa1, 0x2c, 0x00, 0x48, 0xf4, 0x75, 0x98, 0x0d, - 0x5c, 0x2b, 0x7c, 0x5e, + 0x35, 0xe6, 0x66, 0x2c, 0x12, 0x41, 0xad, 0x10, 0xf0, 0x5b, 0x80, 0x12, 0xd6, 0xdc, + 0xb2, 0x5c, 0x0e, 0xaf, 0x8c, 0x4a, 0x49, 0x83, 0x79, 0x27, 0x12, 0x9a, 0x84, 0xdd, + 0x0b, 0x5e, 0xdc, 0xf8, ], Elements::CurrentIndex => [ - 0x75, 0x50, 0x22, 0xed, 0xc3, 0xfa, 0xb4, 0xbc, 0x65, 0x6e, 0xed, 0xc4, 0x61, 0x7e, - 0xa3, 0x7d, 0x13, 0x2b, 0x2c, 0x46, 0x17, 0x40, 0xa6, 0x2d, 0xca, 0xd4, 0x72, 0xea, - 0x23, 0xde, 0x62, 0x9e, + 0x42, 0xf3, 0x07, 0xe8, 0x71, 0x17, 0xdb, 0xcd, 0x9e, 0xfd, 0x10, 0x1f, 0x99, 0x4c, + 0x29, 0x7c, 0xc6, 0xc3, 0x9b, 0x4f, 0x49, 0x4c, 0x62, 0x59, 0x31, 0xea, 0xd7, 0xb6, + 0x98, 0x71, 0x2e, 0x3f, ], Elements::CurrentIssuanceAssetAmount => [ - 0xea, 0xc7, 0x4d, 0x4c, 0x7d, 0xe4, 0x35, 0x14, 0x16, 0x4f, 0xe5, 0xae, 0x76, 0x01, - 0x60, 0x45, 0xa6, 0x83, 0x58, 0xcf, 0x1c, 0x74, 0x24, 0x1b, 0x15, 0x2e, 0xd0, 0x63, - 0xac, 0x9f, 0x5e, 0x29, + 0x97, 0xf6, 0x9f, 0xde, 0xe3, 0x6e, 0x7a, 0x5a, 0xea, 0x9a, 0x16, 0x48, 0x76, 0x46, + 0x58, 0xaf, 0x05, 0x06, 0x91, 0xa7, 0x59, 0x9d, 0xb6, 0xfe, 0x8f, 0xc7, 0xd3, 0x1e, + 0x00, 0x3c, 0x07, 0xbc, ], Elements::CurrentIssuanceAssetProof => [ - 0x36, 0x2d, 0xfa, 0x80, 0xda, 0x84, 0x10, 0xc5, 0xf5, 0x06, 0x66, 0x47, 0xab, 0x64, - 0x2f, 0x0d, 0x6b, 0x72, 0x86, 0xac, 0x26, 0x08, 0xb9, 0x54, 0xc3, 0xa1, 0x5c, 0xdf, - 0x0f, 0x55, 0x55, 0x5e, + 0xb1, 0xf6, 0x33, 0x4c, 0xf0, 0x68, 0xae, 0xe9, 0xba, 0x39, 0xe0, 0xe9, 0xce, 0x91, + 0xc3, 0x0b, 0xdb, 0xb9, 0x7d, 0x8c, 0x3e, 0xb4, 0x3f, 0x84, 0xf0, 0xf4, 0x84, 0xd4, + 0xde, 0x5a, 0xac, 0xfc, ], Elements::CurrentIssuanceTokenAmount => [ - 0x85, 0x92, 0x41, 0xc0, 0x4b, 0x8f, 0x0d, 0xc7, 0x30, 0x72, 0xae, 0xd7, 0x83, 0x80, - 0x67, 0xfa, 0x70, 0xa4, 0xca, 0x52, 0x16, 0xf3, 0x97, 0x13, 0xf1, 0x2f, 0x5f, 0xc5, - 0xa4, 0xae, 0xad, 0x7d, + 0x98, 0x94, 0xc4, 0x29, 0x55, 0xf0, 0x3d, 0x83, 0x17, 0x64, 0x9b, 0x6a, 0xfd, 0x70, + 0x57, 0xd7, 0xb3, 0xc4, 0xbc, 0xef, 0x15, 0x2a, 0xc9, 0xa0, 0x08, 0x4d, 0x0d, 0x21, + 0x6a, 0xfb, 0x11, 0xfe, ], Elements::CurrentIssuanceTokenProof => [ - 0x1b, 0x7e, 0xa1, 0x6f, 0x03, 0x2f, 0x37, 0xdc, 0x2a, 0xe1, 0x03, 0xe6, 0x96, 0x2c, - 0x5a, 0x90, 0x42, 0xaf, 0x29, 0x5b, 0x4a, 0x70, 0x3a, 0x3c, 0x84, 0x2e, 0x62, 0x95, - 0x15, 0xad, 0x24, 0xcb, + 0x3f, 0x54, 0xb3, 0xcf, 0xb8, 0x92, 0x78, 0xb0, 0xea, 0x77, 0x80, 0xcc, 0x32, 0xd6, + 0xe3, 0x86, 0x2e, 0xd4, 0x63, 0xd4, 0x51, 0x62, 0xad, 0x96, 0xce, 0x57, 0x09, 0xfa, + 0x6f, 0xc1, 0x6f, 0xb6, ], Elements::CurrentNewIssuanceContract => [ - 0x0b, 0xaa, 0x87, 0x35, 0xa3, 0x02, 0x90, 0x84, 0x85, 0x7c, 0xc9, 0x74, 0x9b, 0xbc, - 0x7f, 0x19, 0x85, 0x1b, 0xc7, 0x8f, 0xbe, 0xcd, 0xce, 0x1f, 0x0d, 0xd6, 0x75, 0x7b, - 0x7b, 0x8f, 0x3f, 0x30, + 0xc5, 0xf1, 0x59, 0xdc, 0xdb, 0x5a, 0x40, 0xb9, 0x4d, 0x06, 0x8d, 0x35, 0x97, 0xaf, + 0x82, 0xaf, 0x53, 0xd1, 0x71, 0x75, 0x83, 0xf7, 0x5c, 0xeb, 0x10, 0x51, 0x87, 0x5d, + 0x08, 0xcd, 0x26, 0x2f, ], Elements::CurrentPegin => [ - 0x98, 0x07, 0xac, 0x5e, 0xb0, 0x7b, 0xa2, 0x4f, 0xb0, 0x21, 0xb7, 0x4a, 0xe6, 0x87, - 0x4f, 0x3b, 0xc9, 0xb3, 0x93, 0xc6, 0x6c, 0x4f, 0x5d, 0x22, 0xf0, 0x55, 0x46, 0xe2, - 0xea, 0x08, 0xd7, 0x60, + 0xfb, 0x2b, 0xec, 0x4f, 0x68, 0x96, 0x4d, 0x0a, 0x3f, 0x5f, 0x69, 0x34, 0x7c, 0xa5, + 0x6f, 0x20, 0x40, 0x90, 0xc8, 0xab, 0x33, 0xad, 0x7a, 0xf4, 0xf4, 0x05, 0x89, 0x0d, + 0x4b, 0x9f, 0xdd, 0x12, ], Elements::CurrentPrevOutpoint => [ - 0x08, 0x77, 0xb3, 0x6f, 0x65, 0x6c, 0x24, 0x89, 0x13, 0x25, 0x44, 0x15, 0x92, 0xdf, - 0x56, 0xe2, 0xbb, 0xec, 0xf2, 0x4d, 0x0a, 0xcd, 0x0b, 0x78, 0xfc, 0x94, 0x38, 0xb7, - 0x77, 0x3a, 0x9e, 0xb4, + 0x53, 0xf4, 0x89, 0x45, 0x6a, 0x6b, 0x16, 0x1c, 0xd9, 0x03, 0xba, 0x19, 0x6e, 0xa1, + 0x54, 0xd8, 0x3c, 0xb2, 0x65, 0x68, 0x9c, 0x81, 0x5f, 0x61, 0x03, 0x0e, 0x72, 0xfd, + 0x6c, 0x26, 0xdc, 0x55, ], Elements::CurrentReissuanceBlinding => [ - 0xc8, 0xd3, 0xe8, 0x08, 0x87, 0x50, 0x5a, 0xa7, 0xf5, 0x83, 0xac, 0x6b, 0xe4, 0x71, - 0x82, 0xec, 0xbc, 0x68, 0x5c, 0xc3, 0xc4, 0xa6, 0xac, 0xaa, 0x8e, 0x2c, 0x13, 0x29, - 0xe3, 0x5d, 0x29, 0x30, + 0x07, 0xee, 0x51, 0xb2, 0x4b, 0x56, 0xe0, 0xe2, 0x58, 0xd7, 0xe7, 0x30, 0x40, 0x7d, + 0x65, 0xed, 0xf9, 0x9d, 0xca, 0xdd, 0x9d, 0x7c, 0x5a, 0xf0, 0x2d, 0xed, 0x92, 0x49, + 0x9a, 0x06, 0xfe, 0xab, ], Elements::CurrentReissuanceEntropy => [ - 0x4f, 0x24, 0x10, 0x95, 0x40, 0x1c, 0xee, 0xa8, 0x31, 0x2d, 0x2f, 0x42, 0xbe, 0xae, - 0x8d, 0x88, 0x0a, 0xcf, 0xe1, 0x89, 0x33, 0x63, 0x0d, 0x7b, 0x82, 0x16, 0xc5, 0x37, - 0x62, 0x3e, 0x2a, 0xf7, + 0x50, 0x38, 0x96, 0x9e, 0x77, 0x86, 0x2f, 0xbd, 0x4d, 0x49, 0x39, 0x19, 0x15, 0x9f, + 0xc1, 0x02, 0xd3, 0xe2, 0x82, 0xdb, 0x64, 0x05, 0x72, 0x48, 0x46, 0x6d, 0x7c, 0xdc, + 0x3f, 0x0c, 0xa9, 0xb5, ], Elements::CurrentScriptHash => [ - 0xcd, 0x5e, 0xa7, 0xfb, 0x09, 0x10, 0xf7, 0x6e, 0x76, 0xc6, 0xea, 0x68, 0xd0, 0xe2, - 0xca, 0xd1, 0x34, 0xcb, 0xb6, 0x42, 0x82, 0x3b, 0xc4, 0x3c, 0x04, 0x23, 0x85, 0x2f, - 0x37, 0xb7, 0xe2, 0x5a, + 0xf5, 0xe8, 0xd2, 0xa3, 0x28, 0x39, 0x25, 0x9d, 0x1c, 0x3d, 0x09, 0x46, 0x51, 0xbd, + 0x4f, 0xe6, 0xdc, 0x80, 0xee, 0x89, 0x3b, 0x72, 0xbb, 0x68, 0x3a, 0x85, 0x40, 0xfe, + 0x76, 0x30, 0xcb, 0xe9, ], Elements::CurrentScriptSigHash => [ - 0x17, 0xad, 0x01, 0xca, 0xe2, 0x93, 0x42, 0x7b, 0xe2, 0x50, 0x5a, 0xf2, 0xfe, 0x4c, - 0x3e, 0x65, 0x12, 0x5f, 0xc3, 0xdd, 0xe2, 0x7a, 0x11, 0x43, 0x78, 0x8f, 0xa1, 0x36, - 0x0f, 0x1c, 0x37, 0x51, + 0x6a, 0xa9, 0xbb, 0x64, 0x10, 0x1e, 0xe0, 0xb9, 0xb9, 0xdc, 0x45, 0x4c, 0xf1, 0xee, + 0x1a, 0xa8, 0x32, 0x6d, 0x64, 0x11, 0x95, 0xe5, 0xa0, 0xaa, 0x6c, 0x81, 0x1b, 0x3d, + 0xbf, 0xe3, 0xef, 0x2b, ], Elements::CurrentSequence => [ - 0x79, 0xce, 0x41, 0xee, 0x05, 0xc9, 0x73, 0x35, 0xdc, 0x73, 0x51, 0x5c, 0x29, 0x34, - 0xc9, 0x1c, 0x2e, 0x2d, 0xca, 0x6e, 0x73, 0xc3, 0x35, 0xea, 0x4f, 0x43, 0xe0, 0xfa, - 0x88, 0xde, 0x00, 0xf6, + 0x99, 0xc0, 0xda, 0x7e, 0xb2, 0x57, 0x83, 0xab, 0x3a, 0x24, 0xa5, 0x4c, 0xda, 0x8f, + 0x8a, 0x87, 0x5a, 0xc5, 0xa9, 0x94, 0x5f, 0x24, 0xe3, 0xfc, 0x01, 0x96, 0x0c, 0x26, + 0x64, 0xc5, 0xb7, 0x8d, ], Elements::Decompress => [ - 0xa4, 0x3c, 0x39, 0x26, 0x7f, 0xac, 0xd1, 0xe2, 0xb6, 0xd4, 0x2c, 0x76, 0x15, 0xad, - 0x3f, 0x28, 0x68, 0x63, 0x75, 0x72, 0xf4, 0x6e, 0x18, 0x79, 0x4e, 0x34, 0x75, 0xb9, - 0xb2, 0xea, 0xef, 0x84, + 0xca, 0xbe, 0x59, 0x5c, 0xb7, 0xbb, 0xb3, 0xa1, 0x39, 0xa7, 0x79, 0x6e, 0x43, 0x3a, + 0xd0, 0xb6, 0xc7, 0x4d, 0x07, 0x3f, 0x00, 0x1e, 0x8c, 0x08, 0x0c, 0x80, 0x0a, 0x78, + 0x2c, 0x7e, 0x79, 0x04, ], Elements::Decrement16 => [ - 0x19, 0x6b, 0x2d, 0xc6, 0x32, 0xe6, 0xc5, 0xd0, 0x94, 0xff, 0x9d, 0x34, 0xa2, 0x09, - 0x2b, 0x80, 0x5e, 0x4b, 0x94, 0xd0, 0x36, 0xba, 0x48, 0x26, 0xac, 0xef, 0xed, 0x60, - 0x3a, 0x48, 0x9d, 0xc7, + 0x25, 0x04, 0x10, 0x1b, 0x7d, 0xa5, 0xce, 0x31, 0x17, 0x43, 0xcf, 0x5b, 0x3a, 0x7a, + 0x6b, 0xb9, 0xd5, 0x7c, 0x24, 0xae, 0xbb, 0xb6, 0x76, 0x62, 0xd5, 0x3c, 0xda, 0x2c, + 0x9a, 0xc2, 0x70, 0x0c, ], Elements::Decrement32 => [ - 0x29, 0xb3, 0x15, 0x92, 0x66, 0xe9, 0xf6, 0x08, 0x80, 0x88, 0x4f, 0x6e, 0xb2, 0x81, - 0x6f, 0x19, 0xa2, 0x07, 0x29, 0x1c, 0x82, 0x9f, 0xd1, 0x39, 0xfb, 0x0d, 0x78, 0xa3, - 0x9e, 0x08, 0xd0, 0xc5, + 0x4a, 0xec, 0x41, 0x05, 0x53, 0x1f, 0x24, 0x57, 0x10, 0xac, 0xb3, 0xc3, 0x30, 0xad, + 0x25, 0xfb, 0x29, 0x01, 0xb3, 0x54, 0x83, 0xef, 0xbd, 0xca, 0x52, 0xe1, 0x91, 0x79, + 0xa4, 0x26, 0x2c, 0x5b, ], Elements::Decrement64 => [ - 0x67, 0x17, 0x5a, 0x67, 0x6d, 0xc1, 0x78, 0x0a, 0x20, 0xfa, 0xf5, 0xe5, 0xaa, 0xd5, - 0x82, 0xec, 0x79, 0x7b, 0xae, 0xa5, 0x5f, 0x29, 0x05, 0xec, 0xad, 0x2a, 0xaa, 0x1a, - 0xe7, 0x6b, 0xe9, 0x43, + 0x98, 0x3a, 0xcb, 0x90, 0x6d, 0xe7, 0xbb, 0xf8, 0x31, 0xde, 0xa5, 0x62, 0x75, 0xf0, + 0x85, 0xfd, 0x5a, 0xcd, 0xdc, 0x51, 0x9b, 0x64, 0x8f, 0x3e, 0x10, 0xe3, 0x21, 0x2d, + 0x0d, 0x6d, 0xcd, 0x74, ], Elements::Decrement8 => [ - 0x2b, 0x59, 0x11, 0xe6, 0x67, 0xe6, 0x96, 0xf9, 0xcd, 0x03, 0xe9, 0xdf, 0x7d, 0x40, - 0x0a, 0x55, 0x45, 0xe7, 0xe9, 0x74, 0x4a, 0xfb, 0xf9, 0x2e, 0x0b, 0xa8, 0x7f, 0x6c, - 0x7c, 0xc4, 0x42, 0x87, + 0xa7, 0x5b, 0x1c, 0x5d, 0x93, 0xfe, 0x91, 0xe2, 0xc9, 0xef, 0xd3, 0x24, 0x24, 0x0c, + 0x84, 0xfe, 0xe4, 0x73, 0x32, 0xd1, 0x21, 0x42, 0x39, 0xc8, 0x7f, 0x5a, 0xfb, 0xcb, + 0x69, 0x12, 0x8c, 0x31, ], Elements::DivMod128_64 => [ - 0x1e, 0xe3, 0xe6, 0x0f, 0x5c, 0x9e, 0x4f, 0x0d, 0x3e, 0xc9, 0xeb, 0xea, 0x36, 0x98, - 0xec, 0xa8, 0xbd, 0x32, 0xac, 0x16, 0x7e, 0x69, 0xb2, 0x96, 0xab, 0x9c, 0x18, 0x36, - 0xb6, 0x10, 0x1d, 0x04, + 0xe1, 0xfb, 0x88, 0x1f, 0x23, 0xbd, 0xc5, 0x7f, 0x84, 0x23, 0xc6, 0x1c, 0xfe, 0x62, + 0x23, 0x91, 0x5c, 0x76, 0xeb, 0x2f, 0x52, 0x5c, 0x41, 0xe2, 0xa2, 0x22, 0x1c, 0x78, + 0xb7, 0xff, 0xaf, 0xb7, ], Elements::DivMod16 => [ - 0x15, 0x85, 0xd1, 0xbf, 0xe9, 0x52, 0xf7, 0x1b, 0x1c, 0xfe, 0xbb, 0xef, 0x29, 0x2c, - 0xed, 0x56, 0x60, 0x91, 0x57, 0x23, 0x05, 0x18, 0x27, 0x20, 0x62, 0x5a, 0x1a, 0xc0, - 0x08, 0x81, 0xa4, 0x89, + 0x6e, 0x04, 0xad, 0x32, 0x8f, 0xba, 0x2d, 0x24, 0xef, 0xad, 0x2c, 0xb4, 0x0b, 0xca, + 0xd8, 0x24, 0x42, 0xce, 0x35, 0xb1, 0x2f, 0xcf, 0x6f, 0x80, 0x02, 0x2f, 0x52, 0xfa, + 0x77, 0x18, 0xa0, 0xfa, ], Elements::DivMod32 => [ - 0xba, 0xb7, 0xbc, 0x9a, 0x9f, 0x64, 0x4e, 0xdc, 0xba, 0x73, 0xe3, 0x30, 0xc1, 0xa5, - 0x05, 0x43, 0x67, 0xf5, 0xfb, 0x86, 0x78, 0xc1, 0x23, 0x6a, 0xb6, 0xe7, 0xf4, 0xd7, - 0x18, 0x60, 0xe0, 0x02, + 0x5a, 0x5c, 0xc9, 0x4f, 0x74, 0xb3, 0x13, 0xc2, 0x60, 0xa1, 0x0e, 0x2a, 0x28, 0xdb, + 0x2e, 0xa0, 0xf8, 0xc3, 0x41, 0x56, 0x23, 0xda, 0xc2, 0x12, 0xdf, 0xe0, 0xef, 0x9d, + 0x19, 0x5f, 0x9d, 0x05, ], Elements::DivMod64 => [ - 0x8d, 0xb4, 0x66, 0x4d, 0x99, 0xe8, 0xc8, 0x78, 0xef, 0x31, 0xeb, 0xf1, 0xac, 0xa6, - 0xa8, 0x76, 0x4b, 0x58, 0x49, 0x5d, 0xa0, 0xec, 0xc0, 0x32, 0xb3, 0xc9, 0xb4, 0x89, - 0xaa, 0xa0, 0xff, 0x90, + 0xef, 0xb5, 0xaf, 0x40, 0x15, 0x4a, 0x2d, 0x63, 0xda, 0x28, 0x5f, 0x2a, 0x2b, 0x5a, + 0xd0, 0x85, 0xd9, 0xa2, 0xfa, 0x63, 0x3f, 0x2a, 0x73, 0x62, 0x83, 0x40, 0x48, 0x54, + 0x30, 0x6c, 0xef, 0x50, ], Elements::DivMod8 => [ - 0x25, 0xf3, 0x69, 0x4b, 0x75, 0x2e, 0x4d, 0xf1, 0xb0, 0xcc, 0x8c, 0x51, 0xbf, 0x99, - 0x17, 0xef, 0x6e, 0x11, 0xc5, 0x2e, 0xa7, 0x77, 0x35, 0x3e, 0x95, 0x07, 0xe8, 0x19, - 0xa8, 0x06, 0x62, 0x95, + 0xaf, 0xfb, 0x7a, 0xb0, 0x1d, 0x9a, 0xdf, 0x1a, 0xf4, 0x5c, 0x9a, 0x0e, 0x59, 0x8d, + 0x54, 0xa5, 0xeb, 0x29, 0xa6, 0xd6, 0x3f, 0x05, 0x94, 0xdc, 0x62, 0x4f, 0x8e, 0x44, + 0x6f, 0x42, 0xa4, 0x5d, ], Elements::Divide16 => [ - 0x2d, 0xc3, 0xe9, 0xa9, 0xc6, 0x1d, 0xc8, 0x8d, 0xd7, 0x44, 0xf1, 0x6b, 0xe1, 0xae, - 0xd4, 0xb7, 0x2a, 0xb4, 0x79, 0x49, 0x0e, 0x41, 0x42, 0x26, 0x58, 0xb9, 0x72, 0x19, - 0xdf, 0x49, 0x95, 0x7c, + 0x98, 0xf1, 0xf9, 0x26, 0x0d, 0xf1, 0xd9, 0xe9, 0x72, 0x9d, 0x03, 0x7d, 0x8f, 0x30, + 0x53, 0x7e, 0xde, 0x60, 0x9c, 0x5a, 0xb9, 0x46, 0x32, 0x70, 0x70, 0x89, 0x2c, 0xc4, + 0x0d, 0x42, 0x0a, 0xaa, ], Elements::Divide32 => [ - 0xf6, 0xdc, 0xf4, 0xbd, 0x8d, 0x9b, 0x5e, 0xff, 0x75, 0x1e, 0x9b, 0x01, 0x47, 0xa9, - 0x8e, 0x0f, 0xc4, 0xc8, 0x87, 0x2c, 0x1a, 0xb7, 0x82, 0xd1, 0xeb, 0xec, 0x63, 0x83, - 0xa0, 0x9b, 0x78, 0x0a, + 0x20, 0x18, 0x03, 0x03, 0x0c, 0xc9, 0x87, 0x7d, 0x34, 0x96, 0xe9, 0xe1, 0xbf, 0xd5, + 0xae, 0x32, 0x8a, 0x50, 0x62, 0xe3, 0xc0, 0x23, 0x70, 0x03, 0x1a, 0xe1, 0xad, 0xdf, + 0xef, 0x93, 0x81, 0x55, ], Elements::Divide64 => [ - 0x8a, 0x94, 0x51, 0x8b, 0x9b, 0x76, 0x17, 0x9a, 0x9d, 0x5c, 0x1e, 0x31, 0x6e, 0x69, - 0x00, 0x62, 0x7f, 0x5b, 0x6e, 0x3e, 0xcc, 0x66, 0x8f, 0xe2, 0xd0, 0xc5, 0xd5, 0x62, - 0x38, 0xe3, 0x3e, 0xa3, + 0x02, 0xbf, 0x0b, 0x2a, 0x31, 0x79, 0x6c, 0x47, 0x5a, 0xf1, 0xfd, 0x0f, 0xb8, 0xed, + 0xaf, 0xed, 0x4f, 0x4e, 0x7a, 0xe1, 0xec, 0xf8, 0xce, 0xc9, 0xf4, 0x22, 0x96, 0x4e, + 0x09, 0x03, 0x03, 0x6f, ], Elements::Divide8 => [ - 0xd7, 0x16, 0x00, 0x0c, 0xe7, 0xe5, 0x72, 0x78, 0x84, 0xa6, 0xd7, 0x97, 0x6a, 0x32, - 0xc0, 0xf6, 0xbd, 0xb8, 0x81, 0xd0, 0x0f, 0xe8, 0xdb, 0xb2, 0x8d, 0xea, 0x37, 0x01, - 0x03, 0x76, 0x9e, 0x2d, + 0xc0, 0x2e, 0xc4, 0x80, 0xbf, 0x0b, 0x59, 0x58, 0x6e, 0x39, 0x4a, 0xdb, 0x2c, 0x91, + 0xca, 0xda, 0x14, 0xed, 0x79, 0xa7, 0x9e, 0x0e, 0x39, 0x19, 0xe7, 0x66, 0x74, 0x92, + 0xcb, 0xf2, 0x47, 0x38, ], Elements::Divides16 => [ - 0x8f, 0x41, 0x84, 0xa5, 0x82, 0x67, 0x4e, 0x00, 0x3b, 0x37, 0x40, 0x1b, 0x13, 0xc9, - 0xb8, 0xc3, 0x7c, 0x68, 0x3b, 0x88, 0xdf, 0x63, 0x3a, 0x22, 0x71, 0x9a, 0x23, 0xe1, - 0x94, 0xbd, 0xa6, 0xf3, + 0xde, 0x9a, 0x8e, 0x43, 0x53, 0xa4, 0x0d, 0x70, 0x78, 0x11, 0x96, 0x47, 0x05, 0x90, + 0x62, 0x73, 0x0c, 0xf8, 0x36, 0xf5, 0x47, 0xa0, 0x95, 0x2d, 0x07, 0x0a, 0x27, 0x48, + 0x0c, 0x74, 0x39, 0xb1, ], Elements::Divides32 => [ - 0xe8, 0x9e, 0xcd, 0xc3, 0x7c, 0xd1, 0x04, 0x66, 0xb0, 0x0f, 0x01, 0x37, 0xe2, 0x0b, - 0x09, 0xb9, 0xc5, 0x94, 0x8d, 0x07, 0x31, 0x2d, 0x05, 0x3f, 0xed, 0x63, 0xc4, 0x91, - 0xbb, 0x5c, 0x4c, 0x6a, + 0x72, 0xc7, 0x14, 0x8b, 0xc0, 0x01, 0x4a, 0x1b, 0xbf, 0x0e, 0x2b, 0x7d, 0xc9, 0xab, + 0xa4, 0xd0, 0x62, 0x04, 0x17, 0x38, 0x36, 0x71, 0x88, 0x13, 0x20, 0x3e, 0x55, 0xa0, + 0x7f, 0x4c, 0xa3, 0x7d, ], Elements::Divides64 => [ - 0xb4, 0x31, 0x98, 0xd5, 0x74, 0x41, 0x90, 0x57, 0xe7, 0x6b, 0xc0, 0x69, 0xd7, 0xd3, - 0xe2, 0xcb, 0x04, 0xf7, 0x07, 0x2b, 0x80, 0x69, 0x6d, 0x3d, 0xb9, 0x2c, 0x8a, 0x72, - 0xc7, 0x8a, 0x5c, 0xfc, + 0xdb, 0x1c, 0x8c, 0xb5, 0x3a, 0xc1, 0xea, 0x8c, 0xcf, 0x64, 0x6d, 0x03, 0xe3, 0xd5, + 0x9b, 0xde, 0x27, 0x75, 0xf5, 0x8d, 0x95, 0xbf, 0xe7, 0x1a, 0x87, 0x0d, 0x67, 0x8d, + 0xd8, 0xdb, 0xc9, 0x31, ], Elements::Divides8 => [ - 0x3f, 0xc3, 0xb9, 0xb4, 0x96, 0x8e, 0x16, 0x74, 0xda, 0x9e, 0xc4, 0x57, 0xb1, 0xca, - 0x8a, 0x66, 0x29, 0xa3, 0x7b, 0x4b, 0xef, 0xdc, 0xd7, 0xcc, 0x55, 0x88, 0x60, 0x80, - 0xae, 0xf6, 0x8a, 0xf8, + 0xc5, 0x4a, 0x5b, 0xf8, 0x33, 0xaf, 0xab, 0xa3, 0x1a, 0x34, 0x89, 0xbd, 0x8d, 0xe8, + 0xff, 0x81, 0xe7, 0xdc, 0x11, 0xfc, 0xbd, 0xe8, 0x2a, 0x0d, 0x28, 0xe1, 0x09, 0x22, + 0x42, 0x94, 0xb8, 0x37, ], Elements::Eq1 => [ - 0x42, 0x49, 0xc5, 0xbd, 0xec, 0x54, 0x0a, 0x06, 0x95, 0x7d, 0xcd, 0xab, 0x04, 0x5a, - 0x44, 0x5e, 0xb9, 0x18, 0x91, 0xc0, 0x6c, 0x3f, 0x8f, 0x96, 0xc8, 0x88, 0xe9, 0xdd, - 0xd2, 0xfb, 0xaa, 0x28, + 0x8c, 0xe1, 0x46, 0xaf, 0xbc, 0x2b, 0x64, 0xcb, 0x54, 0x9b, 0x16, 0x0c, 0x2c, 0xf7, + 0xc9, 0x49, 0x64, 0xab, 0x93, 0x1a, 0xd9, 0xc3, 0x92, 0x76, 0xc7, 0xf2, 0x04, 0xee, + 0x34, 0xa5, 0x1e, 0x65, ], Elements::Eq16 => [ - 0xab, 0x31, 0xa7, 0x97, 0x4a, 0xcb, 0xf7, 0x2a, 0xb2, 0xf2, 0x1b, 0xf5, 0x3f, 0xec, - 0x34, 0x6a, 0x28, 0xe6, 0xe6, 0x5e, 0x4c, 0x05, 0xe3, 0xe7, 0x84, 0x3e, 0x14, 0x73, - 0xb1, 0xfd, 0x3f, 0xf9, + 0x24, 0xf1, 0xac, 0xb6, 0xd1, 0x6b, 0x3b, 0xe5, 0xde, 0x47, 0xfe, 0x83, 0x43, 0x28, + 0xfb, 0x51, 0x04, 0x95, 0xfb, 0xba, 0x72, 0xcd, 0x1d, 0xc8, 0x9a, 0x33, 0x98, 0x3f, + 0x8c, 0x87, 0x33, 0xed, ], Elements::Eq256 => [ - 0xf7, 0xdf, 0x29, 0xed, 0x2d, 0x00, 0x78, 0x22, 0x7e, 0x71, 0x9b, 0x7d, 0x13, 0x37, - 0xdb, 0xea, 0x3a, 0x71, 0x0f, 0x58, 0x4a, 0x4b, 0x07, 0xf0, 0xf2, 0x65, 0x4a, 0x44, - 0x65, 0x54, 0xf2, 0xbe, + 0xf3, 0x2e, 0x9b, 0x6c, 0x91, 0x2c, 0x50, 0xdd, 0x9a, 0x24, 0x10, 0xc8, 0x02, 0x4b, + 0x45, 0x48, 0x07, 0x07, 0xd9, 0xb3, 0x71, 0x4b, 0x52, 0x49, 0xc5, 0xf3, 0x01, 0xf2, + 0x1d, 0xb3, 0xe6, 0x2b, ], Elements::Eq32 => [ - 0x76, 0x79, 0x1f, 0x0d, 0xdd, 0xab, 0x9d, 0xc7, 0x7a, 0x14, 0xa6, 0x8c, 0xc6, 0x77, - 0x87, 0xc9, 0x84, 0x49, 0x3f, 0xae, 0xbb, 0xdb, 0xb6, 0xd6, 0xd4, 0x93, 0x35, 0x2e, - 0x11, 0x47, 0x20, 0xd5, + 0x03, 0x43, 0x57, 0x56, 0xec, 0x24, 0x4c, 0x99, 0xff, 0x73, 0x32, 0x21, 0x57, 0xc2, + 0x6c, 0x36, 0x6b, 0xf5, 0x2e, 0xfb, 0x31, 0x4d, 0xce, 0x0c, 0x23, 0x61, 0xdd, 0x53, + 0x49, 0x1a, 0xa4, 0xbe, ], Elements::Eq64 => [ - 0x01, 0x1b, 0x5f, 0x4c, 0xb3, 0x1f, 0x34, 0xba, 0x15, 0x8a, 0x68, 0x22, 0x3b, 0x34, - 0x44, 0x5e, 0x93, 0xf3, 0xdc, 0x18, 0x91, 0xb5, 0x33, 0x90, 0x04, 0x92, 0x3d, 0xcf, - 0xab, 0xe0, 0x34, 0xc1, + 0x7d, 0xa4, 0x67, 0x58, 0x80, 0x60, 0x93, 0x66, 0xd7, 0x4d, 0x53, 0x0c, 0xa1, 0x64, + 0xa0, 0xe0, 0x9a, 0xc9, 0xce, 0x76, 0xf4, 0xf9, 0xe9, 0x43, 0x22, 0x06, 0x3c, 0xb3, + 0x26, 0xfe, 0xf6, 0xbb, ], Elements::Eq8 => [ - 0x0f, 0x8b, 0x1f, 0xde, 0x19, 0x49, 0xbe, 0xbd, 0x47, 0xd2, 0x55, 0x4a, 0x48, 0x07, - 0xfd, 0x8d, 0xca, 0xef, 0x87, 0x30, 0x18, 0x38, 0xd6, 0x0e, 0x84, 0xc7, 0x38, 0x14, - 0x42, 0xda, 0x7e, 0xce, + 0x9b, 0x50, 0xfe, 0x9d, 0x35, 0xb1, 0x0a, 0x3d, 0xb8, 0x66, 0x31, 0x1c, 0x53, 0x71, + 0x35, 0xd0, 0x80, 0xe4, 0x61, 0x43, 0x68, 0xdb, 0x28, 0x84, 0x33, 0xd8, 0xbc, 0x64, + 0x9b, 0x9f, 0x86, 0x62, ], Elements::FeAdd => [ - 0xa5, 0xe9, 0x21, 0xd4, 0xd2, 0x95, 0x9a, 0xf7, 0x83, 0x3d, 0xf9, 0x30, 0x83, 0x68, - 0x98, 0x57, 0x32, 0xab, 0x0f, 0x33, 0xba, 0xd8, 0xaa, 0x34, 0x5b, 0x39, 0xf3, 0x03, - 0x03, 0x2b, 0xe7, 0xae, + 0xac, 0xad, 0xfc, 0xf4, 0x80, 0x56, 0x26, 0xe3, 0x74, 0x59, 0x0f, 0x33, 0xca, 0xd7, + 0xa9, 0x83, 0xa7, 0x32, 0x0a, 0xc8, 0x1c, 0xed, 0x3d, 0x02, 0x54, 0xdc, 0x97, 0xe3, + 0xa2, 0x53, 0x5a, 0x82, ], Elements::FeInvert => [ - 0x21, 0xf4, 0x29, 0x56, 0x9d, 0x78, 0xe0, 0x9f, 0xb2, 0x90, 0x13, 0xef, 0x8a, 0x16, - 0xc7, 0x55, 0x0e, 0xdc, 0x4e, 0x19, 0x05, 0x25, 0x71, 0x5a, 0xbf, 0xb0, 0xc1, 0x9b, - 0x21, 0xcf, 0xd9, 0xc2, + 0x2e, 0xa7, 0x6f, 0x67, 0x97, 0x5f, 0xce, 0xa3, 0xbd, 0x46, 0xfb, 0xb1, 0x4d, 0xe8, + 0x1f, 0x49, 0xfd, 0x08, 0xef, 0xcb, 0xc0, 0x87, 0x5a, 0xb2, 0x1d, 0xc9, 0x89, 0x76, + 0xa5, 0x30, 0x93, 0x22, ], Elements::FeIsOdd => [ - 0x21, 0xd3, 0x5d, 0x0a, 0x65, 0x7f, 0x5d, 0xef, 0xac, 0xde, 0x6d, 0xa3, 0xfd, 0xb4, - 0x8d, 0x67, 0x56, 0xf3, 0x06, 0x90, 0xb4, 0x02, 0x70, 0xf0, 0x10, 0x17, 0xe7, 0xe3, - 0x48, 0xd7, 0x58, 0x5d, + 0x7e, 0xde, 0xf0, 0x20, 0x5d, 0x4b, 0x80, 0x41, 0x82, 0x36, 0x9c, 0x31, 0xc2, 0x19, + 0x02, 0x46, 0x9b, 0x0f, 0x7a, 0x5b, 0x29, 0xb5, 0xdf, 0x90, 0xc3, 0x3f, 0x4b, 0xda, + 0xa0, 0x5d, 0x7c, 0x03, ], Elements::FeIsZero => [ - 0xf5, 0x71, 0x62, 0x82, 0xba, 0x0d, 0x26, 0xbd, 0x06, 0x71, 0xcd, 0xfe, 0x1f, 0x11, - 0x8f, 0x45, 0xba, 0xe7, 0x9d, 0x10, 0x9a, 0x6d, 0x9f, 0x39, 0x7a, 0x4c, 0x45, 0x54, - 0x6f, 0x62, 0xaf, 0x00, + 0xa9, 0x43, 0x03, 0x64, 0x2e, 0x1a, 0x0f, 0x47, 0x79, 0x15, 0xa2, 0xd2, 0x51, 0xf8, + 0x45, 0x5c, 0x56, 0x87, 0x7e, 0xca, 0x79, 0xba, 0x40, 0xad, 0xc3, 0x82, 0x26, 0x8c, + 0xab, 0x2d, 0x63, 0xb7, ], Elements::FeMultiply => [ - 0xc1, 0x76, 0x96, 0x9c, 0x33, 0x7f, 0xbc, 0x6b, 0x5a, 0xc8, 0xed, 0x3e, 0xa2, 0x8a, - 0xb3, 0xfd, 0x94, 0x78, 0x20, 0x64, 0x31, 0x95, 0xd7, 0x3b, 0x86, 0x20, 0x18, 0xf7, - 0x08, 0x48, 0x7d, 0x23, + 0xac, 0x64, 0xd5, 0x34, 0x72, 0xab, 0xa4, 0x89, 0xa8, 0xac, 0xf3, 0xac, 0x8a, 0xc7, + 0x9e, 0x8b, 0x11, 0x82, 0x43, 0x3e, 0x53, 0x50, 0xc4, 0xc3, 0x78, 0x2d, 0x45, 0xad, + 0xf1, 0xc5, 0x6d, 0xcb, ], Elements::FeMultiplyBeta => [ - 0xc0, 0xfc, 0x76, 0x66, 0x8d, 0x99, 0xd4, 0x07, 0x3f, 0x39, 0x93, 0x44, 0x3a, 0x68, - 0x98, 0x0b, 0xa9, 0x6e, 0x97, 0x60, 0x1e, 0xd1, 0xa9, 0x19, 0xc4, 0xa2, 0x33, 0x05, - 0x7b, 0x66, 0xfe, 0x23, + 0xca, 0x2e, 0xa7, 0x97, 0xbe, 0x89, 0xe4, 0x1d, 0xb5, 0x15, 0x86, 0xea, 0xdd, 0xe3, + 0x36, 0x38, 0x11, 0xd0, 0x1d, 0x5d, 0x4c, 0x61, 0x42, 0xf5, 0x7e, 0x1b, 0x99, 0xf2, + 0xae, 0x03, 0x06, 0x1c, ], Elements::FeNegate => [ - 0xd6, 0xef, 0x8f, 0xc2, 0x27, 0x5d, 0xdf, 0x70, 0x58, 0xb5, 0xe4, 0x99, 0xf1, 0x0d, - 0xd2, 0x84, 0x66, 0xf5, 0x7b, 0x72, 0x53, 0xa5, 0x44, 0x07, 0x79, 0x8a, 0x47, 0x72, - 0x59, 0x21, 0x84, 0xb9, + 0x01, 0x42, 0xba, 0x1a, 0x10, 0x13, 0x13, 0x57, 0x81, 0x3b, 0x09, 0xf9, 0xce, 0x18, + 0xc0, 0x6b, 0x4b, 0xab, 0x74, 0x2c, 0xb4, 0x85, 0xd1, 0x79, 0x8b, 0x4a, 0x31, 0x3a, + 0x92, 0x93, 0xfa, 0x7e, ], Elements::FeNormalize => [ - 0xf4, 0x98, 0xbc, 0xdf, 0xf3, 0x50, 0x67, 0x88, 0x1b, 0xd9, 0x6e, 0xe1, 0xc9, 0x1f, - 0x43, 0x67, 0x1e, 0x79, 0x18, 0x6e, 0x70, 0x0e, 0xc4, 0xda, 0x2d, 0xc0, 0x29, 0x6a, - 0x2d, 0xea, 0x91, 0xc7, + 0x70, 0xe5, 0x57, 0x07, 0x96, 0x39, 0x41, 0x1d, 0xab, 0x31, 0xb3, 0xe4, 0xf4, 0xb5, + 0x60, 0x5a, 0x4b, 0x15, 0x59, 0x3a, 0x1a, 0xf7, 0x9b, 0xbd, 0xd9, 0xf9, 0xa1, 0x10, + 0xa8, 0x5b, 0x25, 0x81, ], Elements::FeSquare => [ - 0x16, 0x8a, 0x11, 0xb1, 0x9c, 0x0f, 0xb9, 0x7f, 0x10, 0x99, 0xf8, 0x63, 0xa4, 0xc8, - 0xe2, 0xf8, 0x12, 0x42, 0x5f, 0xbd, 0x3d, 0x01, 0xbd, 0xed, 0x3f, 0x46, 0x0c, 0xb3, - 0x59, 0xbf, 0xdd, 0x89, + 0xcf, 0xa0, 0x2a, 0x6a, 0x95, 0x09, 0x1b, 0x14, 0x97, 0x00, 0x07, 0xb9, 0x1a, 0x01, + 0xba, 0x12, 0x57, 0xfe, 0x3b, 0x84, 0x95, 0x63, 0xcf, 0x42, 0xd0, 0x64, 0x94, 0xc3, + 0xb8, 0xd0, 0x4f, 0x9d, ], Elements::FeSquareRoot => [ - 0x3b, 0x46, 0xcd, 0xe3, 0x06, 0x74, 0xb7, 0x77, 0x16, 0xf2, 0xc8, 0xf6, 0x14, 0xad, - 0xbd, 0x16, 0x61, 0x98, 0x5d, 0x82, 0xc5, 0x53, 0x04, 0xd5, 0x6e, 0x53, 0xef, 0x5c, - 0x74, 0xc8, 0x3e, 0x83, + 0xf5, 0x1d, 0x5e, 0xd2, 0x19, 0xbc, 0x89, 0x41, 0xb2, 0x41, 0x29, 0x57, 0x2e, 0x84, + 0xba, 0xf8, 0x1a, 0x8c, 0xd2, 0xfe, 0x0e, 0x4e, 0xf2, 0x38, 0x86, 0x9c, 0xb2, 0xda, + 0x29, 0x6b, 0x0f, 0xa8, ], Elements::FullAdd16 => [ - 0xf4, 0x54, 0xa6, 0x32, 0xfd, 0x19, 0x28, 0xcd, 0x6f, 0x07, 0x0d, 0xf6, 0x80, 0x14, - 0x28, 0x8e, 0x97, 0xb3, 0xe5, 0x82, 0xe7, 0xf0, 0x3e, 0x98, 0xed, 0x32, 0x34, 0xb6, - 0x28, 0x2d, 0x02, 0x94, + 0xd3, 0x99, 0x2e, 0x38, 0xab, 0x1e, 0xf2, 0xc3, 0x83, 0x81, 0x30, 0x41, 0xdb, 0x13, + 0x69, 0xdd, 0xd5, 0xc3, 0xaa, 0x81, 0xae, 0x90, 0x24, 0xc5, 0xea, 0x26, 0x61, 0x19, + 0x6b, 0xd1, 0x1f, 0x01, ], Elements::FullAdd32 => [ - 0x96, 0x06, 0xb9, 0xe6, 0x54, 0x1e, 0x03, 0x56, 0xed, 0x76, 0x08, 0xd5, 0xbc, 0x6f, - 0x9d, 0x4e, 0xf6, 0x8e, 0x0a, 0x3d, 0x23, 0x51, 0x68, 0xd9, 0xe7, 0x5c, 0xae, 0x66, - 0x52, 0xdd, 0x06, 0x34, + 0x46, 0x2b, 0x9c, 0x3b, 0xa6, 0x57, 0x6c, 0x11, 0x14, 0x55, 0x33, 0x77, 0x5b, 0xdf, + 0x95, 0x5b, 0x60, 0x48, 0x2e, 0x6e, 0x30, 0x80, 0xa8, 0x19, 0xf5, 0xcc, 0x73, 0xa5, + 0xca, 0x68, 0x30, 0xc1, ], Elements::FullAdd64 => [ - 0xf0, 0xf7, 0x95, 0x32, 0x00, 0x1c, 0x02, 0xaf, 0xac, 0x65, 0x0a, 0x62, 0x80, 0x19, - 0x32, 0xaf, 0xc2, 0xc1, 0xb2, 0x86, 0xa3, 0x1f, 0xef, 0x7a, 0xe0, 0x8a, 0x47, 0xea, - 0x1e, 0x71, 0x38, 0x7d, + 0xc0, 0xfc, 0x79, 0x99, 0xd9, 0x1c, 0xa6, 0xf7, 0xb5, 0xf8, 0x72, 0xee, 0x6a, 0x8e, + 0x08, 0xea, 0x2a, 0x11, 0xaf, 0x7b, 0x92, 0xe7, 0xde, 0x60, 0x25, 0x17, 0x19, 0xd7, + 0x85, 0xb5, 0xf3, 0xe2, ], Elements::FullAdd8 => [ - 0xcd, 0xd0, 0x80, 0xfd, 0x86, 0x12, 0xe7, 0xd1, 0x4a, 0xda, 0x34, 0x91, 0x64, 0xa6, - 0xd5, 0xaf, 0x60, 0x54, 0xd6, 0x73, 0x77, 0xe1, 0x76, 0x65, 0xc4, 0x72, 0x20, 0x40, - 0x28, 0xbc, 0x21, 0x25, + 0x27, 0x14, 0xec, 0xbb, 0x32, 0x4f, 0xb9, 0xfb, 0x71, 0x9e, 0x09, 0x71, 0x6b, 0xdb, + 0xdf, 0xb5, 0x64, 0x66, 0xcb, 0x4f, 0x41, 0xf9, 0x01, 0xb1, 0x66, 0x78, 0xb0, 0x02, + 0x16, 0x17, 0x41, 0xaf, ], Elements::FullDecrement16 => [ - 0xa7, 0xd1, 0xb9, 0xa6, 0x09, 0xdc, 0xd3, 0x67, 0x66, 0xa1, 0x67, 0xa3, 0x7a, 0xa0, - 0xe6, 0x49, 0xfb, 0xdd, 0x75, 0xf6, 0x46, 0x91, 0xa9, 0xfb, 0x6b, 0xf1, 0x66, 0x3d, - 0x32, 0x92, 0x82, 0xa8, + 0xbd, 0x0d, 0xd6, 0x91, 0xf8, 0x55, 0x44, 0x47, 0x04, 0xd9, 0xbb, 0xc2, 0xea, 0xf0, + 0x29, 0xc6, 0xca, 0x5b, 0x45, 0xcf, 0x92, 0x44, 0x1f, 0x7f, 0x68, 0xb4, 0x78, 0xb6, + 0x11, 0xb5, 0x97, 0x28, ], Elements::FullDecrement32 => [ - 0xcb, 0xcf, 0xd7, 0xca, 0x73, 0x72, 0xb2, 0xb1, 0x80, 0x00, 0x8e, 0x51, 0x58, 0x98, - 0x80, 0xd3, 0xb5, 0x39, 0x9b, 0xd9, 0xa8, 0xdd, 0xb9, 0xbc, 0xda, 0x61, 0x32, 0xc2, - 0x2c, 0x77, 0x7e, 0x0f, + 0x27, 0x88, 0xc3, 0xa0, 0x17, 0x35, 0xa6, 0x4c, 0x0c, 0x36, 0x19, 0x03, 0xd7, 0x1e, + 0x21, 0xce, 0x10, 0x05, 0xce, 0x35, 0x74, 0xe6, 0x9a, 0x2a, 0x68, 0x0b, 0x87, 0x3e, + 0x5f, 0x73, 0x76, 0x6a, ], Elements::FullDecrement64 => [ - 0x42, 0xdf, 0x92, 0xd2, 0xe7, 0xf4, 0x2e, 0x57, 0x9b, 0xd4, 0xc4, 0x30, 0x8c, 0xd2, - 0xdb, 0x6e, 0x76, 0x77, 0x46, 0x95, 0xd6, 0xa5, 0x69, 0x50, 0xc5, 0xcf, 0x92, 0x03, - 0x00, 0x2d, 0x41, 0xaa, + 0x14, 0x4b, 0xf9, 0xfe, 0x04, 0xba, 0x8c, 0x93, 0xa7, 0x83, 0x5b, 0x16, 0x36, 0xae, + 0x8f, 0x7d, 0x50, 0x5c, 0x05, 0x08, 0x92, 0xdd, 0xbc, 0xc8, 0xf9, 0x72, 0x5f, 0x6b, + 0x09, 0xc3, 0xe4, 0x7c, ], Elements::FullDecrement8 => [ - 0xff, 0x58, 0xdd, 0x01, 0x62, 0xbc, 0xe9, 0xfb, 0x73, 0xed, 0x01, 0x5b, 0x7e, 0x5d, - 0x3d, 0x1d, 0xc1, 0x1b, 0x50, 0x5c, 0x93, 0x2d, 0x49, 0x0c, 0xaa, 0xdc, 0x1b, 0x5d, - 0x89, 0x3d, 0x1f, 0xad, + 0x3b, 0x0d, 0x4c, 0x9a, 0x02, 0xbd, 0xd9, 0x03, 0xb1, 0x2f, 0x49, 0xb8, 0xca, 0xd0, + 0xe3, 0xf0, 0x6c, 0xb9, 0xbc, 0xb6, 0xc8, 0xb1, 0x98, 0x95, 0x6d, 0xff, 0xce, 0x48, + 0x90, 0x8a, 0x63, 0xf1, ], Elements::FullIncrement16 => [ - 0x54, 0x53, 0x60, 0x8e, 0xef, 0xf9, 0x67, 0xaf, 0xef, 0x4a, 0xe5, 0x83, 0x1a, 0xa7, - 0xa9, 0xfc, 0x75, 0xc2, 0xba, 0x57, 0xe1, 0xac, 0x41, 0x2a, 0xb5, 0x46, 0x4d, 0x4d, - 0xe9, 0x3a, 0xf4, 0xf9, + 0x91, 0x81, 0x8a, 0x49, 0xe9, 0x5e, 0x22, 0x8c, 0x3b, 0x51, 0xc7, 0x30, 0x9b, 0x3d, + 0xc6, 0x85, 0xcc, 0xc2, 0xbd, 0xa1, 0xfb, 0x3c, 0xdd, 0xc0, 0xcf, 0x24, 0xa5, 0xc5, + 0x9d, 0x77, 0xe7, 0xea, ], Elements::FullIncrement32 => [ - 0x36, 0x32, 0x33, 0x21, 0x58, 0xf9, 0x0b, 0xa4, 0xdf, 0x62, 0x3f, 0x08, 0x68, 0x08, - 0xd1, 0xd3, 0x39, 0xf3, 0x6d, 0x9a, 0x6f, 0x92, 0x27, 0x23, 0x34, 0x16, 0xf2, 0x34, - 0xcd, 0xd2, 0x5d, 0x98, + 0x70, 0x47, 0x04, 0xc6, 0xd7, 0xf7, 0x57, 0xee, 0xe9, 0xf8, 0x8b, 0x2b, 0x32, 0x7b, + 0xc1, 0x17, 0x43, 0xcb, 0xd9, 0xa7, 0x5d, 0xec, 0xa2, 0xe9, 0x6d, 0x62, 0x8d, 0x53, + 0x13, 0xe6, 0x16, 0x30, ], Elements::FullIncrement64 => [ - 0x06, 0x37, 0xfc, 0xc5, 0x52, 0xf6, 0x2a, 0x8a, 0x08, 0xc6, 0xd0, 0x70, 0x66, 0x7e, - 0xd8, 0x0e, 0x47, 0xba, 0x70, 0x7c, 0x12, 0x0c, 0x4d, 0x65, 0x66, 0x04, 0xa3, 0x43, - 0x3b, 0xfc, 0x40, 0xa6, + 0x99, 0x9c, 0xad, 0xea, 0x9c, 0xf0, 0xbd, 0xda, 0xab, 0x12, 0xa3, 0x98, 0xcf, 0x52, + 0xd1, 0x8e, 0x08, 0xfb, 0x5c, 0x18, 0x5d, 0xca, 0x00, 0xf3, 0x5e, 0xde, 0x63, 0x27, + 0x7e, 0x9b, 0xac, 0x4e, ], Elements::FullIncrement8 => [ - 0x29, 0x15, 0x24, 0xe1, 0x70, 0xd5, 0x23, 0xfd, 0x35, 0xc2, 0x57, 0x7b, 0x8e, 0xa3, - 0xf4, 0x47, 0x8e, 0xc6, 0x32, 0x06, 0xc9, 0x8f, 0xb5, 0xcc, 0xcf, 0x77, 0xc2, 0x09, - 0xbe, 0xbd, 0x29, 0xef, + 0x2d, 0x64, 0x5c, 0xb4, 0x77, 0x8d, 0xa1, 0x7a, 0x0d, 0xad, 0x32, 0x6f, 0xfe, 0xdc, + 0x2b, 0x04, 0xf6, 0x2d, 0x02, 0x7d, 0x7b, 0x40, 0x56, 0x0d, 0x16, 0xcd, 0x64, 0x9f, + 0xd5, 0xa4, 0xd7, 0x2a, ], Elements::FullLeftShift16_1 => [ - 0x74, 0x0e, 0x23, 0x81, 0x1b, 0x3e, 0x62, 0xd4, 0x91, 0x51, 0x0f, 0xc9, 0xed, 0xc4, - 0xcb, 0x0a, 0x0e, 0xec, 0xfa, 0xdf, 0xd2, 0x1b, 0xb2, 0x7f, 0x33, 0xe2, 0x20, 0xb1, - 0xd8, 0x7d, 0x14, 0xd7, + 0x32, 0xd0, 0x6f, 0x29, 0x46, 0x52, 0xb3, 0x64, 0x90, 0x58, 0xa4, 0x66, 0x67, 0x3f, + 0x04, 0xf0, 0x88, 0x80, 0xaa, 0xa1, 0x92, 0x6f, 0x90, 0x8a, 0x92, 0x56, 0xa9, 0x9e, + 0x1e, 0x2e, 0x0b, 0xdc, ], Elements::FullLeftShift16_2 => [ - 0xc2, 0x6e, 0x8a, 0xc3, 0xff, 0x9c, 0xc5, 0x18, 0x71, 0x9d, 0x4d, 0x7f, 0xd1, 0x49, - 0xd8, 0x02, 0xf2, 0x3f, 0x0b, 0x02, 0x49, 0x99, 0xed, 0x5d, 0xaf, 0x36, 0x92, 0x10, - 0xac, 0xbe, 0x33, 0x45, + 0xd1, 0xa5, 0xfb, 0x91, 0xaa, 0x70, 0x44, 0x5d, 0x29, 0xfd, 0xb1, 0x69, 0x40, 0x37, + 0xa9, 0x5d, 0x84, 0xe6, 0x57, 0x1b, 0x3e, 0x77, 0x73, 0xfc, 0x16, 0xf5, 0x6e, 0xb8, + 0x8b, 0x67, 0x64, 0x39, ], Elements::FullLeftShift16_4 => [ - 0x5e, 0x57, 0x0c, 0xbe, 0x4c, 0x7c, 0xa9, 0x4b, 0xe0, 0xfc, 0x7b, 0x3e, 0xe5, 0x79, - 0xbd, 0xd7, 0x84, 0x26, 0xf0, 0xb7, 0x67, 0xf4, 0x85, 0x17, 0x17, 0xbb, 0xfe, 0xae, - 0xde, 0x91, 0xfe, 0x30, + 0x94, 0x52, 0xa9, 0xb6, 0x75, 0x49, 0x17, 0x8f, 0x93, 0xc7, 0xbb, 0x34, 0x36, 0xbe, + 0x06, 0x31, 0x4b, 0x4a, 0xda, 0xe5, 0xde, 0x0e, 0x31, 0x53, 0xcb, 0xd3, 0x2d, 0x55, + 0x9d, 0xf6, 0xf4, 0x28, ], Elements::FullLeftShift16_8 => [ - 0x65, 0xad, 0xc5, 0x53, 0x48, 0x38, 0x3b, 0x28, 0xe8, 0x79, 0x7f, 0x81, 0xa9, 0x28, - 0x2d, 0x91, 0x1b, 0x3f, 0x8f, 0xa6, 0x13, 0x92, 0x72, 0x51, 0xd8, 0x8e, 0x0c, 0x38, - 0xb0, 0x29, 0xb7, 0x05, + 0xcd, 0xb8, 0x8c, 0x96, 0x01, 0x73, 0x2a, 0x76, 0x66, 0x5a, 0xc9, 0x28, 0x21, 0x68, + 0x3b, 0xaf, 0xf1, 0x84, 0x4b, 0x67, 0x0b, 0xff, 0x66, 0x39, 0x17, 0xc8, 0x91, 0x3b, + 0xa5, 0x1c, 0x0f, 0x08, ], Elements::FullLeftShift32_1 => [ - 0x72, 0xe0, 0x10, 0x4e, 0xfa, 0xf1, 0xde, 0xe4, 0x11, 0x98, 0xec, 0x3b, 0x79, 0x03, - 0x73, 0xf6, 0x48, 0xf1, 0x3f, 0x5e, 0xe0, 0x65, 0x52, 0xfb, 0x02, 0x0b, 0xaf, 0xb5, - 0x84, 0x97, 0xc2, 0x5c, + 0xef, 0x47, 0x06, 0xca, 0x44, 0xa8, 0xc5, 0x5f, 0x46, 0x5f, 0xa9, 0xb3, 0x9c, 0x3c, + 0x69, 0xc8, 0x12, 0xef, 0xe3, 0xd9, 0xdf, 0xb6, 0xc9, 0xa5, 0xc0, 0x50, 0x92, 0xb5, + 0x7f, 0xc3, 0xc1, 0x53, ], Elements::FullLeftShift32_16 => [ - 0xb9, 0xfb, 0x21, 0x69, 0x90, 0x8d, 0x91, 0x44, 0xcc, 0x73, 0xe6, 0x8f, 0x75, 0x35, - 0x36, 0xf4, 0x3c, 0xb2, 0xb7, 0x4c, 0xb6, 0x2c, 0x64, 0x08, 0x81, 0x06, 0x70, 0xde, - 0x84, 0xab, 0x09, 0xbd, + 0x13, 0x04, 0x05, 0xb9, 0x90, 0xdf, 0xa1, 0x81, 0xa7, 0x6b, 0xb2, 0x96, 0x5f, 0x6b, + 0x70, 0x6d, 0xe5, 0xb0, 0x46, 0x47, 0x43, 0x8a, 0x5c, 0xab, 0x6e, 0xc3, 0xdf, 0xb6, + 0xae, 0x21, 0xfa, 0x8a, ], Elements::FullLeftShift32_2 => [ - 0x11, 0xef, 0xdb, 0x81, 0xb0, 0xc4, 0xde, 0xda, 0x4d, 0x4f, 0x98, 0x47, 0x5d, 0x78, - 0x78, 0xef, 0xa3, 0x38, 0x69, 0x4f, 0xa0, 0xfd, 0x61, 0x3e, 0x12, 0x93, 0x22, 0x5a, - 0x4f, 0x46, 0x2f, 0x7c, + 0xcc, 0x4b, 0x94, 0x98, 0xee, 0x41, 0x23, 0x85, 0xc2, 0x3b, 0xff, 0x77, 0xdf, 0x13, + 0x7a, 0xd2, 0x96, 0xa5, 0xb8, 0x30, 0x31, 0xc1, 0x51, 0x8d, 0xbf, 0x4f, 0xdf, 0x6a, + 0xbb, 0x56, 0x7c, 0x2a, ], Elements::FullLeftShift32_4 => [ - 0x77, 0xe3, 0x99, 0xd7, 0xd8, 0x3f, 0x7d, 0x11, 0x44, 0x99, 0x1d, 0xaf, 0xa3, 0xcc, - 0x98, 0x11, 0xc1, 0x63, 0x2c, 0x29, 0xe4, 0x93, 0xa8, 0xaf, 0x98, 0xe9, 0x8f, 0xbc, - 0x1d, 0x63, 0x5f, 0xb4, + 0xbf, 0xad, 0xc9, 0x53, 0x41, 0x00, 0x47, 0xd9, 0xef, 0x39, 0x8b, 0xd3, 0x3a, 0x02, + 0xaa, 0xd0, 0xd4, 0x8c, 0xbd, 0x7b, 0x6a, 0xe2, 0xde, 0x8d, 0xc1, 0xf7, 0x6b, 0x0c, + 0xe4, 0x4f, 0x80, 0xec, ], Elements::FullLeftShift32_8 => [ - 0xba, 0x66, 0x4c, 0xb1, 0xc4, 0x2e, 0xda, 0x17, 0x91, 0x91, 0xeb, 0xc2, 0xa1, 0x10, - 0x39, 0x6d, 0xae, 0x58, 0xf9, 0x06, 0xa6, 0x41, 0x06, 0xb3, 0x06, 0x67, 0x79, 0x0a, - 0xc2, 0xf2, 0x38, 0x2d, + 0xac, 0x93, 0x4c, 0x70, 0xaa, 0xb8, 0x10, 0xf0, 0xae, 0x52, 0x7b, 0xc0, 0x74, 0x9e, + 0x96, 0xce, 0x00, 0x68, 0xe2, 0x37, 0xce, 0xe2, 0xa8, 0x66, 0x48, 0x3d, 0xdf, 0xaa, + 0x21, 0x16, 0xd9, 0x31, ], Elements::FullLeftShift64_1 => [ - 0x79, 0xd3, 0x8f, 0xe0, 0x75, 0x83, 0x9b, 0x22, 0x7c, 0xff, 0xd9, 0x2a, 0x8c, 0xdb, - 0x5c, 0x8c, 0x35, 0x22, 0xbc, 0xb4, 0xd1, 0xe0, 0x3b, 0xee, 0xb6, 0xdb, 0x6a, 0xb6, - 0x4e, 0xd4, 0x72, 0x1f, + 0xbf, 0x32, 0xd9, 0xdb, 0xb2, 0x39, 0xe9, 0x88, 0x01, 0x49, 0x20, 0xcc, 0x4d, 0xf2, + 0xe4, 0x35, 0xc7, 0x12, 0x01, 0x7b, 0x6a, 0x94, 0x0e, 0x77, 0xc2, 0x03, 0x71, 0x3d, + 0xbf, 0xb0, 0xfe, 0x53, ], Elements::FullLeftShift64_16 => [ - 0x21, 0x43, 0x56, 0x62, 0x45, 0xf5, 0xa1, 0xb9, 0xdf, 0xeb, 0x0c, 0x75, 0x87, 0x8e, - 0x21, 0xdb, 0xe1, 0x38, 0x04, 0xc2, 0x69, 0x35, 0xee, 0x47, 0xca, 0xc9, 0xad, 0x82, - 0x2d, 0x6d, 0xed, 0xb2, + 0x13, 0xde, 0x96, 0x78, 0x5b, 0xd9, 0x7f, 0x6f, 0x78, 0xec, 0x2a, 0x37, 0xf5, 0x52, + 0xd4, 0xd7, 0xda, 0xe5, 0x76, 0x8e, 0x39, 0xb4, 0xbe, 0xbd, 0xf3, 0xbc, 0x7c, 0xeb, + 0x72, 0x3c, 0x59, 0x47, ], Elements::FullLeftShift64_2 => [ - 0x9c, 0x92, 0x16, 0x49, 0x15, 0xaf, 0x0b, 0x15, 0x4e, 0x1d, 0xf5, 0x64, 0xd4, 0xdc, - 0x9b, 0xe9, 0x80, 0xb3, 0x98, 0x83, 0x5c, 0x99, 0x88, 0xbb, 0xb1, 0x08, 0xd0, 0xcd, - 0x81, 0x45, 0xb3, 0x30, + 0x19, 0xd3, 0xb1, 0x41, 0xcb, 0x15, 0x6c, 0xce, 0x2a, 0xc5, 0x93, 0x7a, 0x27, 0xa2, + 0x84, 0x36, 0xdc, 0x32, 0x5d, 0xd7, 0xce, 0x42, 0x47, 0x6e, 0xe2, 0xca, 0xb3, 0x5f, + 0xb4, 0x01, 0x10, 0xe0, ], Elements::FullLeftShift64_32 => [ - 0xd0, 0xd0, 0x16, 0xe9, 0xc7, 0x8c, 0xd1, 0x12, 0xb4, 0xdd, 0x91, 0xa8, 0x35, 0x9f, - 0x80, 0x5c, 0x68, 0x41, 0x5b, 0x85, 0x7a, 0x79, 0x9b, 0x00, 0x39, 0x49, 0x54, 0xdc, - 0xd2, 0x90, 0xac, 0xbc, + 0x6a, 0x20, 0x76, 0x15, 0xbc, 0x66, 0x9d, 0x3f, 0xc1, 0x74, 0x13, 0xa4, 0x2b, 0x13, + 0xa0, 0x4a, 0x40, 0x4b, 0xb5, 0xd4, 0x03, 0x6d, 0xe3, 0x7f, 0xe0, 0xa5, 0x6b, 0x33, + 0x6a, 0x5f, 0xf5, 0xa6, ], Elements::FullLeftShift64_4 => [ - 0x0f, 0x1f, 0x7d, 0x37, 0x4e, 0x82, 0x86, 0x8d, 0x71, 0xe7, 0xe7, 0xc0, 0x32, 0x21, - 0xb1, 0x50, 0x59, 0x4b, 0x63, 0x04, 0x45, 0xb1, 0xb1, 0x63, 0x56, 0xcf, 0x35, 0x45, - 0xbd, 0x93, 0x92, 0x63, + 0x57, 0xf5, 0x96, 0xcf, 0xe6, 0x7a, 0xf5, 0x8a, 0xe6, 0xbc, 0x27, 0xa1, 0x2c, 0xaf, + 0xe5, 0x3a, 0x1d, 0x5e, 0x6a, 0xce, 0x4e, 0x54, 0x05, 0x1a, 0x3a, 0xe4, 0x1c, 0x1e, + 0xb3, 0x25, 0xf5, 0x3b, ], Elements::FullLeftShift64_8 => [ - 0xad, 0x7b, 0x44, 0x38, 0xb7, 0x3f, 0x6f, 0x9e, 0x42, 0xf6, 0x4c, 0x70, 0x53, 0x04, - 0x75, 0xee, 0x08, 0x93, 0x6e, 0x47, 0x63, 0xe5, 0xb7, 0x3e, 0xa4, 0xbc, 0x83, 0x83, - 0xa2, 0xb9, 0x63, 0xd5, + 0x05, 0x85, 0x7a, 0x00, 0x9d, 0x20, 0x31, 0xbe, 0x6d, 0xf1, 0xd8, 0x7e, 0x26, 0xe1, + 0x11, 0x18, 0xab, 0xd0, 0x6b, 0x0f, 0xf0, 0xc8, 0x78, 0xc3, 0x36, 0xf9, 0xa0, 0x76, + 0x11, 0xda, 0xa8, 0xd4, ], Elements::FullLeftShift8_1 => [ - 0x21, 0x13, 0x68, 0x1a, 0x11, 0x62, 0x4e, 0x60, 0x60, 0x30, 0xc4, 0x70, 0xd6, 0x8f, - 0x60, 0x61, 0x23, 0x2f, 0x71, 0xcf, 0xab, 0xc5, 0x05, 0x71, 0x92, 0xc6, 0xc8, 0xbd, - 0x1d, 0x73, 0xb7, 0xe1, + 0x4f, 0xdc, 0x52, 0x2a, 0x23, 0x9f, 0x25, 0x84, 0x8c, 0x28, 0xd4, 0x5b, 0x39, 0x24, + 0x63, 0x91, 0xbe, 0x6a, 0x28, 0x14, 0xb8, 0x93, 0xcf, 0x19, 0x79, 0xce, 0x31, 0xb6, + 0x07, 0xcf, 0x17, 0x4e, ], Elements::FullLeftShift8_2 => [ - 0x36, 0x83, 0x68, 0xc9, 0x4b, 0x04, 0x0e, 0x81, 0xb9, 0x48, 0xd7, 0x37, 0xc1, 0x93, - 0xc0, 0x42, 0x83, 0xec, 0x80, 0xa2, 0x8f, 0xd3, 0xa0, 0x21, 0xb0, 0xb8, 0xc1, 0xab, - 0xcf, 0x5e, 0xdc, 0xd3, + 0xdc, 0xf6, 0x33, 0x3d, 0x5e, 0x28, 0xbf, 0xaa, 0xfe, 0xe6, 0xf2, 0x0a, 0x85, 0x5c, + 0xef, 0xb0, 0x05, 0xf0, 0xef, 0x32, 0x8b, 0xdc, 0xce, 0xa6, 0x4a, 0x8f, 0x24, 0x46, + 0xf9, 0x66, 0xa6, 0xf2, ], Elements::FullLeftShift8_4 => [ - 0x8f, 0x85, 0x4d, 0x58, 0xf9, 0x68, 0xb4, 0xbe, 0x3b, 0x20, 0x21, 0xfb, 0x22, 0x14, - 0x2d, 0xd3, 0xe6, 0x8a, 0xa8, 0x19, 0x7b, 0x54, 0x75, 0xb7, 0x05, 0x0b, 0x02, 0xe1, - 0xe5, 0xca, 0xee, 0x47, + 0xf7, 0xed, 0x36, 0xeb, 0xd7, 0xb4, 0xee, 0x3e, 0x77, 0x82, 0xd0, 0x74, 0x4c, 0x47, + 0xba, 0x1e, 0xf8, 0xfa, 0x56, 0xdb, 0x70, 0x60, 0xe2, 0x26, 0xe4, 0xe9, 0x26, 0x29, + 0x92, 0x6f, 0x43, 0x6c, ], Elements::FullMultiply16 => [ - 0x32, 0xcf, 0x7f, 0x50, 0x89, 0x4e, 0xa2, 0xc4, 0x61, 0xa0, 0x54, 0x66, 0xbb, 0xfa, - 0x1e, 0x4e, 0x1b, 0x04, 0x99, 0x57, 0x52, 0x3f, 0x64, 0x93, 0x7a, 0x8b, 0x54, 0x27, - 0x3d, 0xd3, 0x1b, 0x37, + 0xc0, 0xd7, 0x36, 0xca, 0x68, 0x4f, 0x82, 0x72, 0xdc, 0xfb, 0xe3, 0x8d, 0xcc, 0x54, + 0x29, 0xb3, 0x03, 0xa6, 0x82, 0x32, 0xe5, 0xfc, 0xd2, 0x85, 0x14, 0xe2, 0x2c, 0x0b, + 0xe1, 0xf4, 0x70, 0xf6, ], Elements::FullMultiply32 => [ - 0xde, 0xa1, 0xaf, 0xc6, 0xfd, 0x54, 0x6c, 0x75, 0xe0, 0xb2, 0xd8, 0xe4, 0x18, 0xf2, - 0x61, 0x79, 0xd6, 0xdb, 0xe9, 0x05, 0x8b, 0x07, 0x9a, 0xa9, 0xab, 0x80, 0xea, 0xa6, - 0xc0, 0x5f, 0x39, 0xcb, + 0xe7, 0x20, 0x58, 0x97, 0x97, 0xf6, 0xca, 0x4a, 0xd7, 0x47, 0x71, 0xf8, 0xf6, 0xc7, + 0xb6, 0xaa, 0xd7, 0x8b, 0xce, 0x91, 0x9f, 0xd7, 0x6d, 0x69, 0xff, 0xf5, 0x99, 0xa4, + 0x02, 0xe3, 0x52, 0x40, ], Elements::FullMultiply64 => [ - 0x81, 0x3d, 0x74, 0xd6, 0xc3, 0x06, 0x4c, 0xf7, 0xc5, 0xdb, 0x2d, 0xda, 0x96, 0x4e, - 0xd0, 0xe2, 0xd5, 0xa2, 0x49, 0x1b, 0x89, 0x43, 0x29, 0x21, 0x92, 0x37, 0xcb, 0x1a, - 0x91, 0xee, 0x09, 0x34, + 0xd9, 0x66, 0x91, 0x86, 0x21, 0x44, 0x87, 0xfb, 0xaa, 0xbc, 0x08, 0x52, 0x15, 0xeb, + 0x01, 0xc6, 0x2b, 0x3a, 0x28, 0xde, 0x41, 0x19, 0x19, 0xbc, 0x4f, 0x37, 0xfe, 0x43, + 0xc2, 0xd0, 0x05, 0x21, ], Elements::FullMultiply8 => [ - 0xf7, 0xf3, 0x9d, 0x95, 0xda, 0xb5, 0x73, 0x08, 0x52, 0xe9, 0xcc, 0x7e, 0x74, 0xc0, - 0x74, 0x3b, 0x8f, 0xb3, 0xf7, 0x54, 0x87, 0x12, 0x0b, 0xa3, 0x26, 0xff, 0x60, 0x0a, - 0xd8, 0xb1, 0xf3, 0xe6, + 0x72, 0x8a, 0xc8, 0xaa, 0xdb, 0x37, 0xa0, 0xf2, 0x23, 0xee, 0xf9, 0x8c, 0xf2, 0x78, + 0x48, 0x3d, 0xf1, 0x94, 0x86, 0x9b, 0x2e, 0x37, 0x73, 0xf1, 0x27, 0x32, 0x9e, 0xea, + 0xb5, 0x4c, 0x62, 0xca, ], Elements::FullRightShift16_1 => [ - 0xb8, 0x07, 0x44, 0x23, 0xe6, 0x74, 0x8a, 0x6a, 0xa5, 0x4e, 0xc5, 0x74, 0x1f, 0xee, - 0xf2, 0x5a, 0x26, 0x2f, 0xde, 0xcb, 0xfc, 0xe3, 0x91, 0x24, 0xe6, 0x10, 0x23, 0x8a, - 0x3b, 0x0a, 0x23, 0xfc, + 0x28, 0x43, 0x7c, 0x34, 0x7a, 0x0f, 0x31, 0x6e, 0x99, 0xf3, 0x44, 0x4f, 0x32, 0xd9, + 0x49, 0xc6, 0xd1, 0xa5, 0x70, 0xd6, 0xe1, 0xf9, 0xe4, 0x7f, 0x7e, 0xa2, 0xc4, 0x98, + 0x7f, 0xec, 0xb0, 0xb4, ], Elements::FullRightShift16_2 => [ - 0x3f, 0xcf, 0x98, 0x5e, 0xe0, 0xc7, 0x2c, 0xa4, 0x1d, 0xdf, 0x6c, 0x89, 0xd0, 0xf0, - 0xf6, 0x9d, 0x50, 0x65, 0x87, 0x6e, 0x3b, 0x60, 0x20, 0xec, 0xc9, 0xbf, 0x05, 0x9e, - 0x8f, 0x97, 0x19, 0xc6, + 0x7b, 0x2d, 0x0d, 0xd3, 0xec, 0xf7, 0x9e, 0xcf, 0xc0, 0xbf, 0x92, 0x3a, 0x92, 0xa4, + 0x3a, 0xc6, 0x51, 0x4b, 0xbf, 0xc2, 0x9f, 0x67, 0x73, 0xd7, 0xb3, 0x63, 0xc3, 0xac, + 0xf6, 0xf6, 0x72, 0xc4, ], Elements::FullRightShift16_4 => [ - 0xa3, 0x0c, 0x7c, 0x29, 0xd0, 0xee, 0xac, 0x29, 0x52, 0x58, 0xb2, 0xb6, 0x1d, 0x0b, - 0x54, 0x13, 0x46, 0xf4, 0x07, 0xc0, 0x84, 0x8d, 0x44, 0x8e, 0x13, 0xe9, 0x77, 0x4c, - 0x1c, 0x96, 0x96, 0x79, + 0xec, 0x59, 0xde, 0x5c, 0x9c, 0x88, 0x77, 0x75, 0xe4, 0xbc, 0x55, 0x6b, 0x9c, 0xf1, + 0xa7, 0x72, 0x3b, 0xbe, 0xb6, 0x14, 0x75, 0xd5, 0xa5, 0xa4, 0xed, 0xf1, 0x0b, 0x61, + 0x2b, 0xf9, 0xa6, 0x80, ], Elements::FullRightShift16_8 => [ - 0x5b, 0x88, 0x08, 0xca, 0xda, 0x55, 0x87, 0xb3, 0x6d, 0x1a, 0x6f, 0xad, 0x66, 0xae, - 0x4d, 0xa0, 0x8d, 0x41, 0x23, 0x64, 0x4c, 0x0b, 0xdd, 0x59, 0x77, 0x2a, 0x70, 0xaa, - 0x74, 0x32, 0xe7, 0x15, + 0x26, 0x4f, 0x2a, 0x31, 0xf0, 0x7b, 0xcc, 0x54, 0x74, 0x27, 0xfa, 0xff, 0x0d, 0x09, + 0xc2, 0x66, 0x5b, 0x30, 0xed, 0x30, 0xf9, 0xf8, 0xa6, 0xc5, 0x65, 0x01, 0x84, 0x00, + 0x14, 0x4a, 0x4d, 0x6a, ], Elements::FullRightShift32_1 => [ - 0x32, 0xaf, 0xd0, 0xef, 0x94, 0xdf, 0x51, 0xb7, 0xd3, 0x5c, 0x00, 0xe5, 0x61, 0xa8, - 0x39, 0x0c, 0x5c, 0xf5, 0x0f, 0x93, 0x0b, 0x30, 0xd7, 0x86, 0x88, 0x04, 0xb5, 0x80, - 0x49, 0x37, 0x58, 0x40, + 0x19, 0xd7, 0x8c, 0xce, 0x30, 0xf7, 0x1e, 0xac, 0xf5, 0x9a, 0x8c, 0xf0, 0xf6, 0x02, + 0x8b, 0x28, 0x4d, 0x4a, 0xa9, 0x64, 0xc0, 0xc1, 0x6a, 0xd4, 0xaf, 0xc7, 0xea, 0x47, + 0x51, 0x65, 0xcb, 0xa0, ], Elements::FullRightShift32_16 => [ - 0x44, 0xd1, 0x79, 0xa8, 0x90, 0xf7, 0x81, 0x2f, 0x15, 0x13, 0x31, 0xb5, 0x5f, 0xc0, - 0x7e, 0xb4, 0xe4, 0xd7, 0x81, 0x4e, 0xb6, 0x83, 0xda, 0x28, 0x8f, 0x8f, 0xe7, 0xcd, - 0x55, 0xb4, 0x39, 0x06, + 0x88, 0x76, 0x74, 0x15, 0x79, 0x92, 0x4a, 0xf6, 0xd4, 0x6f, 0xbd, 0x79, 0x53, 0x4a, + 0x09, 0x07, 0x7b, 0xf0, 0xec, 0xbc, 0x97, 0x10, 0x08, 0xc7, 0xde, 0xc6, 0x5d, 0x4c, + 0x96, 0xe5, 0xd8, 0x31, ], Elements::FullRightShift32_2 => [ - 0x33, 0xc6, 0x61, 0xdf, 0x3a, 0x32, 0xca, 0xe5, 0x5b, 0x52, 0xa5, 0xf2, 0x63, 0x21, - 0x54, 0xcc, 0x85, 0xb6, 0x59, 0x13, 0x87, 0xbc, 0x2b, 0x34, 0x83, 0x30, 0xc8, 0x70, - 0xa6, 0xf6, 0x70, 0x6f, + 0x5d, 0x3e, 0x11, 0x9d, 0x40, 0xe6, 0x24, 0xc5, 0xc5, 0x6a, 0x7b, 0xbd, 0xf8, 0xbb, + 0x86, 0xfb, 0x68, 0x89, 0xdc, 0x01, 0x72, 0x48, 0x7c, 0x35, 0x8a, 0x53, 0x1a, 0xf2, + 0xfc, 0xc5, 0x1d, 0xc7, ], Elements::FullRightShift32_4 => [ - 0xe4, 0xbe, 0xbf, 0x16, 0x93, 0x5f, 0x67, 0xbe, 0x7d, 0x8c, 0x86, 0xbc, 0x58, 0x8a, - 0xdb, 0xcf, 0x8e, 0x59, 0x75, 0x39, 0x25, 0x7f, 0xdd, 0xab, 0x9f, 0xb0, 0x43, 0x72, - 0xc7, 0x70, 0x12, 0xd3, + 0x58, 0x3a, 0xc6, 0x98, 0x39, 0xd2, 0x35, 0xd9, 0xc0, 0x61, 0x39, 0xf5, 0xb7, 0x98, + 0xd2, 0xd5, 0xa3, 0x49, 0xed, 0xc2, 0x0b, 0xbd, 0x62, 0xba, 0xd1, 0xd8, 0x12, 0x85, + 0xd6, 0xad, 0x22, 0xe3, ], Elements::FullRightShift32_8 => [ - 0xab, 0xcf, 0xfb, 0x08, 0x4a, 0x23, 0x96, 0x42, 0x16, 0xd5, 0x62, 0x73, 0x30, 0x5c, - 0x0c, 0x8b, 0x03, 0xbd, 0xab, 0xda, 0xd6, 0x9f, 0xf7, 0xe9, 0x42, 0xf0, 0xd2, 0xcf, - 0x08, 0x0f, 0xeb, 0xcc, + 0x0d, 0x9c, 0xc0, 0x9b, 0xbc, 0x80, 0xe4, 0xcd, 0x76, 0x4f, 0x13, 0xbb, 0x2f, 0x7f, + 0xb9, 0xc5, 0x92, 0x12, 0x0f, 0x92, 0x18, 0xd6, 0x0c, 0xac, 0x8e, 0xea, 0xc5, 0x99, + 0x25, 0xdb, 0xf7, 0x5d, ], Elements::FullRightShift64_1 => [ - 0x37, 0x68, 0x82, 0x60, 0xc5, 0x3a, 0xf0, 0x6b, 0x85, 0x6d, 0x90, 0x22, 0xca, 0x5d, - 0x87, 0xf8, 0xa6, 0x87, 0xee, 0x53, 0xfa, 0xca, 0x18, 0x66, 0xec, 0x84, 0x2a, 0x7c, - 0x89, 0x0a, 0x4b, 0x70, + 0x2e, 0xbc, 0x1c, 0x95, 0x5d, 0x26, 0x56, 0x48, 0xa8, 0xb9, 0x1b, 0x6f, 0x5e, 0xce, + 0x5f, 0x23, 0xfa, 0x9c, 0x2c, 0x6c, 0x88, 0xde, 0x7c, 0xbe, 0x3f, 0x7c, 0xc8, 0x38, + 0x5b, 0x21, 0x91, 0x17, ], Elements::FullRightShift64_16 => [ - 0x41, 0x7b, 0xfb, 0x71, 0x5a, 0x20, 0xb1, 0x0d, 0x48, 0x81, 0xf5, 0xc3, 0x49, 0x6c, - 0x63, 0xef, 0xee, 0x4a, 0xb5, 0x00, 0x3d, 0xfd, 0x0a, 0x16, 0xb8, 0x5f, 0x94, 0xf8, - 0xe5, 0xb0, 0x66, 0x7c, + 0x46, 0x58, 0xdd, 0x0c, 0x37, 0xf3, 0xec, 0x6b, 0xe5, 0x22, 0x41, 0x73, 0xd2, 0xff, + 0x9b, 0x7c, 0x91, 0x01, 0x74, 0x2f, 0x69, 0x0f, 0x15, 0xa7, 0x2e, 0x66, 0x6c, 0x87, + 0x0e, 0x1d, 0x90, 0x55, ], Elements::FullRightShift64_2 => [ - 0xce, 0xca, 0x25, 0x67, 0xb9, 0x1a, 0x63, 0xe9, 0xca, 0x44, 0x03, 0x5e, 0xb5, 0x9e, - 0x2f, 0x22, 0xd8, 0x1e, 0x37, 0xe1, 0x96, 0x59, 0x5a, 0x74, 0x8c, 0xea, 0x4a, 0x46, - 0x84, 0xa2, 0x15, 0xb0, + 0x88, 0x9f, 0x8b, 0x7b, 0xc1, 0x1e, 0x9b, 0x74, 0xea, 0x93, 0x37, 0x4f, 0xfe, 0xd1, + 0x14, 0x64, 0xe7, 0x83, 0x7d, 0xee, 0x18, 0x19, 0x81, 0xcb, 0xe4, 0x78, 0x6f, 0x57, + 0xa2, 0x65, 0xc3, 0x4f, ], Elements::FullRightShift64_32 => [ - 0x03, 0x96, 0x99, 0x37, 0x84, 0x02, 0x3d, 0x47, 0xe8, 0x51, 0x4b, 0x45, 0x92, 0x98, - 0x19, 0x8d, 0x33, 0xbd, 0x71, 0xe6, 0xf7, 0x56, 0xd0, 0x8e, 0xdf, 0x46, 0x2a, 0x8f, - 0x62, 0xa2, 0x1b, 0x80, + 0x06, 0x24, 0x67, 0xcd, 0x19, 0x4b, 0xb4, 0xfe, 0x1d, 0xd5, 0xed, 0xe5, 0x7b, 0xc6, + 0x51, 0x80, 0x94, 0x8e, 0xba, 0xc9, 0x87, 0x8b, 0x2c, 0x04, 0x2b, 0xe3, 0x56, 0xf2, + 0xf4, 0x22, 0xc2, 0xec, ], Elements::FullRightShift64_4 => [ - 0xde, 0xe4, 0xda, 0xd6, 0x7a, 0x5d, 0xdc, 0xc3, 0x5d, 0xa1, 0xa7, 0x90, 0x63, 0xca, - 0x97, 0x5f, 0x81, 0x34, 0xc8, 0xea, 0xc5, 0x6a, 0x9f, 0x55, 0x5d, 0x2b, 0x0e, 0x13, - 0xda, 0x10, 0x99, 0x4d, + 0x99, 0x45, 0x72, 0x13, 0x88, 0x48, 0x37, 0x43, 0x7e, 0x8a, 0xb6, 0x36, 0xd7, 0xf3, + 0x51, 0x3a, 0x24, 0xd9, 0x4e, 0x74, 0xe5, 0x99, 0x0c, 0x2c, 0x24, 0xe8, 0xdf, 0xe1, + 0x4c, 0xf9, 0x98, 0x6f, ], Elements::FullRightShift64_8 => [ - 0x9c, 0xd7, 0x78, 0x03, 0xfc, 0x38, 0x9c, 0x94, 0xff, 0xf2, 0x86, 0xda, 0x0b, 0x37, - 0x4b, 0x89, 0xfe, 0xeb, 0x3d, 0xaa, 0x38, 0xce, 0x67, 0xca, 0xb0, 0x22, 0x0d, 0xab, - 0xee, 0xfe, 0x23, 0xa2, + 0x00, 0x8d, 0x5b, 0x6a, 0x26, 0xa0, 0xe1, 0x3f, 0x17, 0xa9, 0x24, 0xa9, 0xe0, 0x0f, + 0x5b, 0x07, 0xc8, 0x12, 0x3b, 0x59, 0x7e, 0x63, 0xcd, 0xf9, 0x48, 0x1d, 0xd1, 0x6f, + 0x43, 0x32, 0xe6, 0xdf, ], Elements::FullRightShift8_1 => [ - 0xee, 0x23, 0xff, 0xf0, 0x7d, 0xe5, 0x3c, 0xc3, 0x71, 0x09, 0xa4, 0x7f, 0x9f, 0xde, - 0x3c, 0x74, 0x44, 0x7a, 0xe8, 0x31, 0xce, 0xe9, 0xac, 0x4d, 0xb7, 0x90, 0xcd, 0xe8, - 0xb1, 0x53, 0x23, 0xb2, + 0x59, 0x1a, 0xde, 0xe6, 0xd4, 0xa3, 0xdd, 0xf3, 0x94, 0x7b, 0x48, 0x61, 0x5b, 0x7f, + 0x6e, 0xcd, 0xf1, 0x16, 0x57, 0x36, 0x4c, 0x3a, 0xee, 0xcf, 0xad, 0x43, 0xf2, 0x8e, + 0x11, 0xa7, 0x5e, 0x56, ], Elements::FullRightShift8_2 => [ - 0x25, 0xe1, 0xde, 0xa1, 0x08, 0xc5, 0xf8, 0x9c, 0xce, 0x5b, 0x3d, 0x5b, 0x0e, 0x07, - 0x92, 0xbe, 0x37, 0x90, 0x1a, 0x5a, 0x65, 0xde, 0xf9, 0x04, 0xdd, 0x51, 0x71, 0x0a, - 0x35, 0x5a, 0xb5, 0x5f, + 0xbf, 0x18, 0xaf, 0x96, 0x4c, 0x49, 0xb6, 0x2e, 0xe7, 0x99, 0x21, 0xfd, 0xe0, 0xeb, + 0x32, 0x52, 0xf4, 0x16, 0x38, 0x67, 0x77, 0x17, 0x3c, 0xa6, 0xf6, 0xea, 0xd6, 0x89, + 0xb1, 0x90, 0xfb, 0x2f, ], Elements::FullRightShift8_4 => [ - 0xd7, 0xf0, 0xa8, 0x3c, 0x41, 0x04, 0x54, 0x3e, 0xc7, 0x5b, 0x5e, 0xe7, 0x5b, 0xf5, - 0xf7, 0x91, 0x5d, 0x65, 0xfa, 0x50, 0xc2, 0x09, 0x5d, 0xe2, 0xa3, 0x56, 0x70, 0xa5, - 0x05, 0xbe, 0x12, 0x9a, + 0x8d, 0x05, 0xa2, 0x81, 0xbe, 0x22, 0x0a, 0x8c, 0xa3, 0xeb, 0xd9, 0xa8, 0x62, 0x67, + 0x08, 0xf9, 0x1f, 0x28, 0x6d, 0xa4, 0x22, 0x22, 0xc7, 0xa5, 0x51, 0x8e, 0x17, 0x9c, + 0x09, 0xe5, 0xa0, 0x2f, ], Elements::FullSubtract16 => [ - 0x95, 0xea, 0x5e, 0x54, 0xc5, 0x60, 0x3f, 0x2f, 0x78, 0xac, 0xf6, 0xb8, 0xa8, 0x7a, - 0x63, 0xb3, 0xac, 0xc7, 0xb6, 0x5f, 0x2b, 0x87, 0xb6, 0x90, 0x4b, 0x98, 0x30, 0xfa, - 0x91, 0x21, 0x2c, 0x8c, + 0x79, 0x55, 0x12, 0x6e, 0x2c, 0x3d, 0x86, 0x2c, 0x1e, 0x44, 0x9e, 0xf6, 0xe4, 0x35, + 0xdf, 0x3e, 0xd5, 0xa6, 0x4c, 0x20, 0x11, 0x43, 0x57, 0x8e, 0xcf, 0xd3, 0xf5, 0x1b, + 0xaf, 0x2b, 0xe2, 0x35, ], Elements::FullSubtract32 => [ - 0x32, 0x96, 0x35, 0x26, 0xfc, 0x60, 0x89, 0xf5, 0xec, 0x7d, 0xa5, 0x84, 0xfb, 0xee, - 0x32, 0x37, 0x63, 0x1c, 0x9b, 0x12, 0x81, 0xf6, 0xf4, 0x46, 0xd9, 0x9c, 0x9b, 0x50, - 0xc8, 0x0c, 0x76, 0xdb, + 0x26, 0x18, 0xa4, 0x11, 0x47, 0xc7, 0x9f, 0x69, 0x09, 0xa6, 0x51, 0xb4, 0x92, 0xb5, + 0x4e, 0xd3, 0xc4, 0x05, 0x7a, 0x2e, 0xc0, 0x39, 0xf9, 0x1c, 0x20, 0x10, 0x54, 0x54, + 0xac, 0x61, 0x03, 0x79, ], Elements::FullSubtract64 => [ - 0x15, 0xd4, 0x8a, 0x43, 0x24, 0x79, 0xb4, 0x51, 0xa6, 0xe2, 0xc1, 0x8f, 0x43, 0xfb, - 0x0d, 0xfc, 0x9a, 0xeb, 0x6f, 0xce, 0x04, 0x03, 0x50, 0x27, 0xb0, 0x33, 0xaa, 0x99, - 0xfb, 0x14, 0x34, 0x47, + 0x5e, 0x05, 0xb1, 0x0a, 0xcf, 0x51, 0xc2, 0xf2, 0xb7, 0xf8, 0x72, 0x6d, 0x3f, 0x41, + 0x4a, 0xea, 0x2f, 0xb6, 0x31, 0x1f, 0x6d, 0xd6, 0x72, 0x45, 0xbd, 0x4a, 0x35, 0xb1, + 0x69, 0x53, 0xaf, 0x13, ], Elements::FullSubtract8 => [ - 0x2b, 0xd4, 0xf0, 0xb3, 0xa0, 0xa7, 0x58, 0xac, 0x39, 0xf1, 0x58, 0x1b, 0x2c, 0x34, - 0xd7, 0xf4, 0x14, 0xdb, 0x4d, 0x8e, 0x1b, 0xc1, 0x19, 0xd7, 0xf8, 0x92, 0x91, 0x35, - 0x48, 0x0e, 0x9a, 0xff, + 0x68, 0xd2, 0x79, 0xe1, 0x6f, 0xe8, 0x4b, 0xa5, 0xe7, 0x44, 0xcd, 0xba, 0x86, 0xef, + 0xf3, 0xa3, 0xe0, 0xda, 0x05, 0x54, 0x7e, 0xfa, 0x98, 0x17, 0xdf, 0xb9, 0x9f, 0xde, + 0x70, 0x21, 0x46, 0xac, ], Elements::GeIsOnCurve => [ - 0x05, 0x72, 0xae, 0xf3, 0x63, 0x00, 0x50, 0x8c, 0x96, 0xed, 0xa4, 0xa4, 0xfe, 0xc8, - 0x57, 0x9d, 0x8d, 0x8a, 0x43, 0xbd, 0x54, 0x0c, 0xb6, 0xdd, 0xec, 0xc8, 0x2a, 0x49, - 0xe6, 0x68, 0xf7, 0xde, + 0xf5, 0x13, 0xc5, 0x94, 0x61, 0x5a, 0x9f, 0x2f, 0xcf, 0x35, 0x60, 0x55, 0xe2, 0xf7, + 0x74, 0x88, 0x16, 0xa3, 0xd4, 0xba, 0x54, 0x15, 0xbf, 0x12, 0xca, 0x17, 0xa5, 0xca, + 0xe9, 0xac, 0x72, 0x5a, ], Elements::GeNegate => [ - 0x90, 0xf3, 0x3d, 0x91, 0x0f, 0x85, 0x8f, 0x9b, 0x3b, 0x84, 0x0d, 0xdb, 0xc0, 0x3d, - 0x8a, 0x39, 0xaf, 0x81, 0x02, 0x14, 0x85, 0x3b, 0xad, 0x3c, 0x90, 0x5f, 0x18, 0x29, - 0x6f, 0xdf, 0xcb, 0x58, + 0xc4, 0x3f, 0x47, 0xb1, 0x1c, 0xdb, 0xc9, 0xca, 0x85, 0xb6, 0x88, 0x05, 0xa4, 0xa7, + 0x0b, 0x82, 0xbf, 0x93, 0x8c, 0x1c, 0x0b, 0x2c, 0x1b, 0x27, 0x71, 0xa8, 0x6b, 0xfd, + 0x99, 0x37, 0x34, 0xa7, ], Elements::GejAdd => [ - 0x00, 0x87, 0x1c, 0x07, 0x66, 0x28, 0x6a, 0x50, 0x0a, 0xce, 0xa0, 0x5f, 0x7a, 0x1f, - 0xd9, 0x8c, 0x3e, 0x52, 0x46, 0xc1, 0x94, 0x67, 0x71, 0xe4, 0x73, 0x8e, 0x75, 0x82, - 0x09, 0x1c, 0xca, 0x0d, + 0xf5, 0x64, 0x35, 0xe4, 0xad, 0x5a, 0xa9, 0x56, 0x27, 0xaa, 0xa2, 0xf5, 0xf2, 0xba, + 0xd4, 0xe4, 0x5e, 0xf6, 0x2e, 0x4a, 0x8a, 0x83, 0xc0, 0x8e, 0x31, 0xe8, 0x10, 0x09, + 0x5c, 0xe3, 0x43, 0xb2, ], Elements::GejDouble => [ - 0x5f, 0xc4, 0x80, 0xc5, 0x05, 0xb6, 0x7d, 0xdd, 0xb9, 0xce, 0x84, 0xb0, 0xa8, 0xee, - 0x5a, 0x7e, 0x4e, 0xf0, 0xe9, 0x36, 0x59, 0xd4, 0x45, 0x21, 0xe6, 0xa6, 0x64, 0xac, - 0x5d, 0x65, 0x56, 0xf8, + 0xa0, 0x8e, 0xa3, 0x9e, 0xeb, 0x49, 0x0b, 0x60, 0x49, 0xc7, 0x2a, 0xb9, 0x21, 0x5d, + 0x61, 0x05, 0x8e, 0xd1, 0xee, 0x33, 0x77, 0x94, 0x21, 0x84, 0x0d, 0x3e, 0x3d, 0x43, + 0xe6, 0x37, 0x19, 0xfc, ], Elements::GejEquiv => [ - 0xe8, 0x7f, 0x98, 0xd9, 0x1d, 0x9e, 0xbd, 0xec, 0x16, 0x7a, 0xba, 0x00, 0xf8, 0xe8, - 0xfc, 0x6d, 0xab, 0x80, 0x79, 0xc7, 0x6b, 0x4d, 0x9c, 0x3d, 0x88, 0xf1, 0xf8, 0x4c, - 0x8e, 0x6c, 0xd2, 0x74, + 0x9c, 0xa3, 0x67, 0x6b, 0xcc, 0xc5, 0x44, 0xed, 0x7a, 0xa3, 0xf7, 0x51, 0x75, 0xe9, + 0xf2, 0x3e, 0x03, 0x0c, 0xd6, 0x4f, 0xb6, 0xa5, 0x89, 0x8d, 0x90, 0xd2, 0x3e, 0x0d, + 0xc2, 0xae, 0xed, 0xd1, ], Elements::GejGeAdd => [ - 0xa2, 0x4d, 0x04, 0x9f, 0xf1, 0xe4, 0xcf, 0x37, 0x84, 0xc1, 0xb7, 0xd6, 0xd1, 0xba, - 0x09, 0xfd, 0x17, 0xfe, 0xcf, 0xeb, 0x55, 0x80, 0xea, 0xb5, 0xf1, 0x1e, 0x8f, 0x8e, - 0xb9, 0xd9, 0xad, 0xef, + 0xc8, 0xf3, 0xd8, 0x6d, 0x13, 0x1e, 0x35, 0xea, 0x67, 0xb2, 0x50, 0xa0, 0x8e, 0xdb, + 0xf5, 0x8c, 0x6f, 0x05, 0x43, 0x9c, 0x41, 0xfc, 0xbd, 0x32, 0x90, 0x8d, 0xc8, 0x6a, + 0xe8, 0xce, 0x5d, 0xf7, ], Elements::GejGeAddEx => [ - 0x1e, 0x0e, 0x26, 0xd0, 0xb2, 0x9a, 0xe6, 0x3d, 0x41, 0xe6, 0x76, 0x7e, 0x01, 0x6e, - 0x7e, 0x24, 0x86, 0xe4, 0xf5, 0xd8, 0xdc, 0x2c, 0xf6, 0x65, 0x02, 0x22, 0x03, 0x16, - 0x40, 0xf1, 0x73, 0x3a, + 0x8b, 0xcf, 0x3c, 0xcb, 0x4b, 0xf6, 0x91, 0x97, 0x49, 0x89, 0xfc, 0x4e, 0x86, 0x99, + 0x6c, 0x66, 0xba, 0xf1, 0xb0, 0xab, 0xa8, 0xc9, 0x64, 0x65, 0x86, 0x2a, 0x81, 0x84, + 0xa1, 0x29, 0xa0, 0xae, ], Elements::GejGeEquiv => [ - 0x3b, 0x51, 0xda, 0xcd, 0x29, 0xff, 0x5c, 0xd3, 0xc3, 0x20, 0x45, 0x5f, 0xc3, 0xfa, - 0x1a, 0xe9, 0x61, 0x21, 0x29, 0xaa, 0x8c, 0x8e, 0x23, 0x74, 0x60, 0xc3, 0xca, 0x2a, - 0xd5, 0x4e, 0x8f, 0x58, + 0x67, 0xb2, 0x8f, 0x43, 0xbf, 0x1e, 0xb5, 0xc0, 0x4f, 0x24, 0x56, 0x59, 0x7e, 0xab, + 0x77, 0x6e, 0x48, 0xd4, 0x98, 0xfd, 0x8a, 0xe5, 0x28, 0x4d, 0xb3, 0x52, 0xa7, 0x3d, + 0x1b, 0xdd, 0x28, 0x5b, ], Elements::GejInfinity => [ - 0x88, 0xd4, 0x64, 0x2c, 0xfc, 0x2b, 0x52, 0xd0, 0x90, 0xce, 0x6e, 0x89, 0x5c, 0x20, - 0xda, 0x2e, 0xfb, 0x0d, 0xf6, 0xfe, 0x84, 0xf2, 0x27, 0x22, 0xbc, 0x46, 0x11, 0x1c, - 0xc6, 0xbe, 0x5c, 0xda, + 0xc9, 0xcc, 0xee, 0x79, 0xe6, 0xfd, 0x32, 0x71, 0xfb, 0xb3, 0x84, 0x56, 0x88, 0x74, + 0x24, 0x95, 0x3b, 0x25, 0x4b, 0x9e, 0x90, 0xb7, 0xb7, 0x79, 0xfd, 0x57, 0x89, 0x68, + 0x45, 0x41, 0x0c, 0x66, ], Elements::GejIsInfinity => [ - 0x80, 0xf5, 0x28, 0xe5, 0xd8, 0x56, 0x72, 0xdc, 0x8d, 0x9c, 0x26, 0x4f, 0x67, 0xc7, - 0xb7, 0x27, 0x00, 0xfa, 0xad, 0x89, 0x97, 0x2a, 0x7e, 0x1d, 0x27, 0xd0, 0x49, 0xc9, - 0x47, 0x4b, 0x6c, 0xd9, + 0x99, 0xd3, 0x98, 0xd5, 0xf2, 0x38, 0xc0, 0x55, 0xee, 0x32, 0xa9, 0x75, 0xdd, 0x44, + 0x5f, 0xbc, 0x5e, 0xce, 0x59, 0x9f, 0x74, 0xa3, 0x19, 0x0a, 0x63, 0x6d, 0xdd, 0x5d, + 0xd1, 0x11, 0xf5, 0x87, ], Elements::GejIsOnCurve => [ - 0x70, 0xce, 0x4f, 0xfc, 0xe2, 0x49, 0x7c, 0xc6, 0x2f, 0x17, 0x0c, 0x57, 0x14, 0xff, - 0x2c, 0xfe, 0xce, 0x90, 0xb4, 0xcb, 0x89, 0xa6, 0xa2, 0x2f, 0xac, 0x26, 0xb1, 0xb5, - 0xc6, 0x6f, 0xaa, 0x10, + 0x6c, 0x73, 0xc2, 0x19, 0xa7, 0xe9, 0x22, 0x8f, 0x6f, 0x48, 0x2c, 0x11, 0x17, 0x43, + 0x31, 0x1c, 0x49, 0x8b, 0xac, 0xd0, 0xc1, 0xfc, 0x00, 0xac, 0x3c, 0xe4, 0x1f, 0x49, + 0x73, 0x5b, 0xa2, 0xff, ], Elements::GejNegate => [ - 0xad, 0x53, 0xf1, 0x79, 0x3f, 0xe0, 0x7b, 0x8d, 0x67, 0x2d, 0x9f, 0x7b, 0x07, 0x41, - 0xe9, 0xed, 0x61, 0x55, 0x7e, 0xff, 0x5b, 0x72, 0x96, 0xc5, 0x68, 0xe0, 0x9b, 0x3d, - 0x19, 0xcf, 0x71, 0x24, + 0xb1, 0xec, 0x2b, 0x7b, 0x3a, 0x34, 0x29, 0x4d, 0xf8, 0x99, 0x12, 0x91, 0x1d, 0x35, + 0x1f, 0xe0, 0xef, 0x23, 0x3f, 0xdc, 0x60, 0x11, 0x58, 0x76, 0xbd, 0xcf, 0x61, 0x1d, + 0x59, 0x0b, 0x08, 0xd6, ], Elements::GejNormalize => [ - 0x03, 0x33, 0xdf, 0x98, 0xa8, 0x06, 0x0c, 0x93, 0x15, 0xc5, 0xfd, 0xb8, 0x3e, 0xbf, - 0xfe, 0x34, 0x07, 0xbf, 0x9c, 0x33, 0x6b, 0xf4, 0xbb, 0x92, 0x2d, 0xf5, 0x85, 0x88, - 0x7e, 0x1a, 0xcd, 0xc7, + 0x3c, 0xc6, 0xcf, 0x4c, 0xed, 0x32, 0x3e, 0xa6, 0xdc, 0xf4, 0x18, 0x44, 0xdb, 0x49, + 0x53, 0xaa, 0x3d, 0xb2, 0x9d, 0x08, 0xff, 0xfc, 0x18, 0x6f, 0x53, 0x8a, 0x38, 0x7a, + 0x6c, 0xbf, 0x72, 0x27, ], Elements::GejRescale => [ - 0xf0, 0x0a, 0xd1, 0x8f, 0xb4, 0x92, 0x8c, 0xfa, 0xd0, 0x2c, 0x5b, 0x9d, 0x8b, 0x6f, - 0xd4, 0xb0, 0x5d, 0x7c, 0xb5, 0x49, 0xee, 0x65, 0x98, 0x4d, 0x02, 0x2a, 0x6d, 0xf9, - 0x87, 0x12, 0xb6, 0xd9, + 0xd1, 0xa8, 0x87, 0x77, 0xd2, 0x20, 0x1b, 0xf8, 0x4c, 0x94, 0xe5, 0x85, 0xc6, 0x12, + 0xcd, 0x18, 0xe1, 0xaa, 0x4a, 0x18, 0x62, 0x4c, 0xca, 0x5d, 0xe5, 0xfb, 0xe4, 0x41, + 0xc3, 0x68, 0xb1, 0x90, ], Elements::GejXEquiv => [ - 0xe3, 0x1c, 0x0f, 0x2c, 0x5d, 0x08, 0x13, 0x9b, 0x4f, 0xeb, 0x09, 0x85, 0x2c, 0x06, - 0xb6, 0xaa, 0x00, 0xb1, 0xd1, 0x3e, 0x62, 0xba, 0xbd, 0x99, 0x82, 0x82, 0x12, 0xdc, - 0xff, 0x82, 0x21, 0x7c, + 0xb9, 0xfe, 0x21, 0xa5, 0xed, 0x60, 0x69, 0x4d, 0x04, 0x2b, 0xa2, 0x1c, 0xad, 0xfc, + 0xd9, 0x44, 0x3c, 0x6f, 0xf7, 0x28, 0xf6, 0x8e, 0x51, 0xd7, 0xd5, 0x5e, 0x05, 0xa9, + 0xbb, 0x7a, 0x1d, 0x1b, ], Elements::GejYIsOdd => [ - 0xe3, 0x4c, 0x86, 0x7d, 0xe1, 0x6b, 0x2f, 0x65, 0x61, 0x09, 0xa7, 0x38, 0x72, 0xb0, - 0xb5, 0xba, 0x55, 0xca, 0x3c, 0x2d, 0xbe, 0xa9, 0xc2, 0xc6, 0xe4, 0xcb, 0x19, 0xad, - 0x18, 0xc0, 0x6f, 0x56, + 0xaf, 0x25, 0x25, 0x24, 0xfb, 0x38, 0xc4, 0x4f, 0xa7, 0xca, 0x6f, 0x0d, 0x69, 0x3e, + 0xe3, 0x43, 0x06, 0xa3, 0x1e, 0xd9, 0x21, 0xf9, 0x31, 0x1c, 0x91, 0x72, 0x63, 0x89, + 0xb1, 0xf6, 0x83, 0x76, ], Elements::Generate => [ - 0xa3, 0xc5, 0x5b, 0xef, 0x32, 0xa3, 0x50, 0xd9, 0x0d, 0x5c, 0x3d, 0xac, 0x24, 0x76, - 0x7a, 0x03, 0x86, 0x7f, 0xaf, 0x7a, 0x73, 0x27, 0x77, 0x03, 0x89, 0x5a, 0x27, 0xcb, - 0x6b, 0x44, 0x25, 0x2d, + 0xe5, 0x87, 0x2b, 0xc9, 0xf0, 0xc1, 0xf8, 0x55, 0x4d, 0xe0, 0x17, 0x84, 0x38, 0xa9, + 0xf6, 0x49, 0x94, 0x76, 0xca, 0xc8, 0xc5, 0x80, 0xf3, 0xd0, 0xb6, 0x0d, 0x85, 0x48, + 0x85, 0x18, 0x4c, 0xb6, ], Elements::GenesisBlockHash => [ - 0x33, 0x6f, 0xf7, 0x3d, 0x00, 0x2f, 0x37, 0x54, 0x9c, 0x48, 0x1f, 0xd4, 0xaa, 0xf1, - 0x5a, 0x58, 0x60, 0x77, 0x9d, 0xf2, 0x83, 0x34, 0x48, 0x71, 0x41, 0xf4, 0x09, 0xb4, - 0xb2, 0x9e, 0xfb, 0x65, + 0xa2, 0x9f, 0x24, 0x44, 0x62, 0xfb, 0x28, 0x0e, 0x83, 0xb2, 0xec, 0x41, 0x94, 0x69, + 0x4a, 0x6d, 0x0d, 0x72, 0x89, 0x55, 0xb2, 0x25, 0xac, 0x02, 0xde, 0xff, 0x47, 0x40, + 0xe5, 0x01, 0x4a, 0x99, ], Elements::HashToCurve => [ - 0x4d, 0xc3, 0xeb, 0x6a, 0x6f, 0xbe, 0x37, 0x4b, 0xa7, 0x69, 0x64, 0x72, 0x63, 0xa6, - 0x95, 0xa4, 0x5d, 0x09, 0x21, 0x13, 0x8a, 0x17, 0xf0, 0x03, 0xc4, 0xab, 0xb7, 0x58, - 0xd8, 0x38, 0xb1, 0x33, + 0xa1, 0x7b, 0x59, 0xe3, 0xf0, 0x14, 0xb1, 0x58, 0xad, 0x47, 0xb5, 0xbb, 0x42, 0x90, + 0xf1, 0x7b, 0x5b, 0xb7, 0x0b, 0xc6, 0x47, 0x1d, 0x3b, 0xe6, 0xd3, 0x86, 0x98, 0xe5, + 0x23, 0x4a, 0xb6, 0xf2, ], Elements::High1 => [ - 0x97, 0xa1, 0x43, 0xf0, 0x4c, 0xb6, 0x03, 0xf6, 0x5f, 0x84, 0xa8, 0x0d, 0x31, 0xc3, - 0x36, 0x4f, 0x8f, 0xda, 0x22, 0x97, 0x3a, 0x9a, 0xe6, 0x95, 0xa5, 0x81, 0x89, 0xc3, - 0x14, 0x63, 0xa8, 0xbf, + 0x72, 0x18, 0x87, 0x56, 0xe0, 0x64, 0xfe, 0xf6, 0x07, 0x3d, 0x82, 0x53, 0x0e, 0x95, + 0xee, 0x3a, 0x04, 0x88, 0x9c, 0x6b, 0xf9, 0xe4, 0x4e, 0x05, 0x96, 0x22, 0x40, 0x4e, + 0xa1, 0x7c, 0x69, 0x4a, ], Elements::High16 => [ - 0x62, 0x10, 0xac, 0x71, 0x36, 0x58, 0x6c, 0x73, 0xa0, 0x9c, 0x94, 0x21, 0xa4, 0x0e, - 0x30, 0x8c, 0x44, 0x91, 0xea, 0xce, 0x9b, 0x5b, 0x36, 0x95, 0xd6, 0x1f, 0x4c, 0x81, - 0x96, 0xa6, 0x9d, 0xc8, + 0x0e, 0x41, 0x4a, 0x0c, 0xe6, 0x81, 0x47, 0x85, 0xe0, 0x19, 0xf1, 0x4d, 0x47, 0x71, + 0x40, 0x76, 0xe8, 0x7b, 0x12, 0x3e, 0x9a, 0x21, 0x22, 0xb1, 0x64, 0x3c, 0xc0, 0x66, + 0x8c, 0x6e, 0xce, 0x09, ], Elements::High32 => [ - 0x71, 0x94, 0x24, 0xb1, 0xac, 0xd3, 0x5b, 0x13, 0x73, 0x58, 0x06, 0x90, 0xa7, 0xec, - 0x0b, 0x8f, 0xb4, 0x86, 0x14, 0x5c, 0x9c, 0xde, 0x72, 0x8d, 0xa7, 0x98, 0x46, 0x93, - 0xe9, 0x5f, 0xc7, 0xc0, + 0x08, 0x03, 0x29, 0x7a, 0xc5, 0xfb, 0xea, 0x98, 0x5e, 0xf6, 0x19, 0xa0, 0x38, 0xbe, + 0xd0, 0x68, 0xf8, 0x60, 0xb2, 0x30, 0x95, 0x26, 0x0e, 0x92, 0x6a, 0xf7, 0xd8, 0x9d, + 0xd0, 0xcc, 0x93, 0x21, ], Elements::High64 => [ - 0x8c, 0x5d, 0x44, 0x09, 0x34, 0xdf, 0xdc, 0xf2, 0x75, 0xa2, 0x1c, 0xf0, 0x87, 0xac, - 0x12, 0x7d, 0xa7, 0x57, 0x15, 0xb5, 0xda, 0xc9, 0xc6, 0x93, 0xc2, 0xaf, 0xd7, 0xc7, - 0x18, 0xdc, 0x0f, 0xfb, + 0x47, 0x1c, 0xe7, 0xd2, 0xd1, 0xbc, 0xcb, 0xcc, 0xb1, 0x8a, 0xbd, 0xe3, 0xe5, 0x34, + 0x79, 0x53, 0xbc, 0x7e, 0x63, 0xc8, 0xb4, 0x3f, 0x1a, 0x7c, 0xee, 0x95, 0x53, 0x38, + 0x2c, 0x6b, 0x8d, 0x21, ], Elements::High8 => [ - 0x3a, 0x5c, 0xe0, 0x0e, 0x15, 0xe3, 0x18, 0x08, 0x51, 0xc2, 0x00, 0x21, 0x1f, 0x1c, - 0x82, 0xda, 0xa3, 0x3e, 0xc8, 0x76, 0x38, 0x24, 0x8a, 0x4b, 0xf1, 0x13, 0x40, 0x7c, - 0x6b, 0x16, 0xac, 0x4f, + 0x60, 0xc6, 0x69, 0xbb, 0x56, 0xac, 0xa8, 0x8d, 0xa1, 0x3e, 0x09, 0x30, 0x11, 0xa7, + 0xbb, 0xed, 0x55, 0x07, 0x9e, 0xa9, 0xbc, 0xdb, 0x84, 0x38, 0xf3, 0xdc, 0x53, 0xe1, + 0x2c, 0x20, 0x40, 0x9d, ], Elements::Increment16 => [ - 0x80, 0xf6, 0xcb, 0xbc, 0x09, 0xb7, 0x8c, 0xea, 0x76, 0xc8, 0x13, 0x90, 0xd3, 0xed, - 0x98, 0x9b, 0x70, 0xe4, 0x39, 0x16, 0x1e, 0xff, 0xaf, 0x9a, 0x62, 0xc6, 0x4b, 0x1b, - 0x95, 0x9c, 0xd0, 0x30, + 0x49, 0xc6, 0x29, 0xdb, 0x72, 0x65, 0xd6, 0xa8, 0xd2, 0x6e, 0x83, 0xf6, 0x5d, 0x62, + 0xe7, 0x38, 0x54, 0xb9, 0xdd, 0xb2, 0x1d, 0x2a, 0xa9, 0xc1, 0xbd, 0x94, 0x6e, 0x4d, + 0xa0, 0xb2, 0x79, 0x32, ], Elements::Increment32 => [ - 0x5a, 0x96, 0x3c, 0xa4, 0xad, 0xa6, 0x61, 0x9a, 0x80, 0x53, 0x46, 0xe8, 0x09, 0x95, - 0x03, 0xe4, 0x78, 0x25, 0xbe, 0x5c, 0xf3, 0xc9, 0xa8, 0x9b, 0xfd, 0xbe, 0x2f, 0x19, - 0x1c, 0x32, 0xa2, 0xe0, + 0x95, 0x7e, 0xde, 0xc0, 0xdc, 0x98, 0xcf, 0x13, 0xfd, 0xa5, 0xb2, 0x19, 0x31, 0xf0, + 0x87, 0xe3, 0x64, 0x8e, 0xf2, 0xd7, 0xc6, 0xbe, 0xc8, 0xc5, 0x16, 0xe3, 0x24, 0x4f, + 0x1b, 0xbc, 0x35, 0x9d, ], Elements::Increment64 => [ - 0x86, 0x57, 0x52, 0x36, 0x83, 0xc2, 0xa0, 0x5c, 0x0e, 0x09, 0x98, 0xcd, 0xa7, 0xb9, - 0x4e, 0x8b, 0x03, 0x65, 0xee, 0x83, 0x22, 0xa1, 0x4c, 0x5a, 0x37, 0x22, 0xb5, 0x15, - 0xbb, 0x68, 0x1f, 0x74, + 0x48, 0xb1, 0x92, 0x7c, 0x68, 0x40, 0x4a, 0xb0, 0x1b, 0xe8, 0x9f, 0xda, 0xcc, 0xb1, + 0x64, 0xeb, 0xee, 0x4d, 0x69, 0x44, 0xca, 0x8e, 0xf0, 0x39, 0x99, 0xb2, 0x76, 0x29, + 0x75, 0xd2, 0x2f, 0xf8, ], Elements::Increment8 => [ - 0xd1, 0xdb, 0x8a, 0x9e, 0xce, 0xd1, 0x7e, 0x21, 0x99, 0x65, 0x26, 0xbc, 0x73, 0xbe, - 0x8e, 0x57, 0x98, 0x68, 0x8d, 0xa3, 0xc2, 0xef, 0x8b, 0x8d, 0x5b, 0xa2, 0x55, 0xd1, - 0x1e, 0xd8, 0x18, 0x3e, + 0xe0, 0x79, 0x6c, 0x02, 0x7b, 0xf4, 0xb0, 0x79, 0x47, 0xff, 0x99, 0x1b, 0x27, 0x82, + 0x07, 0xd3, 0x26, 0xba, 0xe0, 0x74, 0xa4, 0x58, 0x3b, 0x56, 0x42, 0xdf, 0x04, 0x43, + 0x29, 0x7c, 0x90, 0x1a, ], Elements::InputAmount => [ - 0xbe, 0x74, 0x0f, 0x91, 0xe4, 0xd7, 0xb4, 0xb7, 0xe6, 0x2c, 0xd1, 0x4a, 0x61, 0xcc, - 0x00, 0xa2, 0x4c, 0x3a, 0x1f, 0xb7, 0x6c, 0x62, 0xf7, 0x7b, 0x9c, 0x1f, 0x92, 0xa2, - 0x77, 0xf5, 0x5f, 0xf0, + 0x8a, 0xc2, 0xa6, 0x7e, 0x16, 0x0c, 0x73, 0xd5, 0x3d, 0xc2, 0xec, 0x44, 0x25, 0x2f, + 0xf7, 0xbb, 0x6d, 0xa8, 0x95, 0x46, 0xb4, 0xd1, 0xa9, 0x7a, 0xef, 0xae, 0x1b, 0x94, + 0x4d, 0xac, 0x27, 0xc6, ], Elements::InputAmountsHash => [ - 0x5a, 0x06, 0xd0, 0xb9, 0xf1, 0x1a, 0x19, 0xfd, 0x32, 0xe8, 0x3e, 0x9d, 0x28, 0x11, - 0x1b, 0xd2, 0x5f, 0x46, 0x52, 0x8b, 0x65, 0x40, 0x45, 0x04, 0xc4, 0xc6, 0xe6, 0x8e, - 0x64, 0x5b, 0xb0, 0x4e, + 0x91, 0xd3, 0xb0, 0xa3, 0x02, 0x19, 0xe0, 0xb3, 0x0d, 0x26, 0xce, 0x2b, 0x06, 0x4b, + 0x3e, 0x1a, 0x5a, 0xd4, 0x80, 0xce, 0xb2, 0x2f, 0x50, 0xe6, 0xd9, 0x64, 0x70, 0x93, + 0x97, 0x57, 0x10, 0x29, ], Elements::InputAnnexHash => [ - 0x21, 0x76, 0x9e, 0x4f, 0x92, 0x82, 0x5d, 0x7a, 0x82, 0x15, 0x5e, 0x10, 0x2e, 0x10, - 0x60, 0x5a, 0x82, 0x85, 0x53, 0x0f, 0xfd, 0xf7, 0x5b, 0xaa, 0x2a, 0x8c, 0xde, 0xd3, - 0x62, 0x8d, 0xb3, 0x16, + 0xee, 0xdb, 0x96, 0x70, 0x69, 0x49, 0xb7, 0x32, 0x2d, 0x5e, 0x80, 0x45, 0x7c, 0x03, + 0xd6, 0x40, 0x69, 0xae, 0x09, 0x9d, 0x00, 0x4b, 0xaa, 0xa2, 0x23, 0x2a, 0x91, 0x53, + 0x61, 0x48, 0x56, 0x24, ], Elements::InputAnnexesHash => [ - 0x26, 0x0d, 0xc7, 0x1d, 0x41, 0x4e, 0xb8, 0x59, 0xc4, 0xa2, 0xcb, 0x33, 0xca, 0x74, - 0x06, 0xcf, 0x06, 0x7b, 0xc3, 0xc2, 0x1c, 0x33, 0x99, 0x03, 0x5f, 0xeb, 0xaf, 0xd4, - 0x0e, 0x90, 0x29, 0xc9, + 0xe3, 0x59, 0x5e, 0xa7, 0x7e, 0x48, 0x10, 0xf9, 0x44, 0x7d, 0x1a, 0xa7, 0x3d, 0x5f, + 0x53, 0x36, 0x0e, 0x3e, 0x8d, 0xc2, 0x09, 0xe2, 0xc6, 0xd1, 0xcd, 0xa4, 0x72, 0x8f, + 0x1b, 0x0d, 0xbb, 0xff, ], Elements::InputAsset => [ - 0x60, 0x72, 0xd8, 0x1b, 0x12, 0x01, 0x5a, 0xb2, 0x97, 0xef, 0xa1, 0xe8, 0xa7, 0x71, - 0x38, 0x04, 0x26, 0xef, 0x0a, 0x12, 0xf9, 0x0d, 0x61, 0xe1, 0xd4, 0x19, 0xd0, 0x82, - 0xe6, 0x7b, 0x75, 0x65, + 0xa4, 0x4a, 0x29, 0x91, 0x1c, 0xb8, 0xd6, 0x5a, 0x91, 0x32, 0x87, 0x96, 0x24, 0x5e, + 0xb9, 0x15, 0x50, 0x79, 0x37, 0xb7, 0xa7, 0xf3, 0xbe, 0x76, 0x60, 0xa8, 0xc3, 0x80, + 0x47, 0xad, 0x1e, 0xcb, ], Elements::InputHash => [ - 0xb5, 0xd0, 0xd7, 0x77, 0x85, 0x1e, 0x89, 0xd1, 0x41, 0xd3, 0xcd, 0xa1, 0xb0, 0xf2, - 0x51, 0xe9, 0xc3, 0x10, 0x11, 0xd1, 0xb0, 0x1c, 0x29, 0x39, 0x77, 0x11, 0x96, 0x62, - 0xc3, 0x49, 0x95, 0x9e, + 0xba, 0x63, 0xca, 0xe3, 0xee, 0x4a, 0x22, 0xe2, 0x5f, 0xdd, 0x56, 0xbb, 0x84, 0x3c, + 0xde, 0x5d, 0xe9, 0x4e, 0x77, 0x4b, 0xb0, 0xdb, 0x11, 0x13, 0x0c, 0xd5, 0x39, 0x97, + 0xd6, 0x11, 0x45, 0x2a, ], Elements::InputOutpointsHash => [ - 0xda, 0xd2, 0x60, 0x93, 0x0c, 0x5f, 0x4d, 0x23, 0x8d, 0x83, 0x56, 0x5a, 0x67, 0x57, - 0xe1, 0x47, 0x00, 0x30, 0xcb, 0x29, 0xe0, 0xfd, 0x1e, 0x18, 0xfc, 0x46, 0xed, 0xf3, - 0x1e, 0x65, 0x05, 0x57, + 0x7f, 0xf3, 0xb3, 0xd4, 0x38, 0x86, 0x41, 0x35, 0xb9, 0xa0, 0xbb, 0x49, 0xa3, 0x00, + 0x1a, 0x0e, 0x4b, 0xd3, 0x8c, 0x21, 0xd2, 0xc6, 0xa7, 0xad, 0x76, 0x1b, 0xd6, 0xa5, + 0x84, 0x6d, 0x44, 0xac, ], Elements::InputPegin => [ - 0x98, 0xf0, 0x57, 0x5a, 0x0a, 0x97, 0x8d, 0x26, 0x62, 0x6b, 0x79, 0xc8, 0x42, 0x4b, - 0x4a, 0x5d, 0x16, 0xd9, 0x42, 0x44, 0xca, 0x60, 0x6c, 0x8a, 0x63, 0xbe, 0xe7, 0xe4, - 0xb0, 0x50, 0x91, 0x22, + 0x0f, 0x22, 0x75, 0xec, 0x24, 0x04, 0xa9, 0x2a, 0x00, 0x54, 0xa2, 0x14, 0xf1, 0xed, + 0xaf, 0xd5, 0x92, 0xa4, 0x14, 0x19, 0xab, 0xac, 0xc5, 0xb4, 0x6a, 0xe1, 0x4b, 0x92, + 0xf7, 0x5e, 0xa6, 0xfa, ], Elements::InputPrevOutpoint => [ - 0x7a, 0xd2, 0x6d, 0x34, 0x37, 0xc5, 0xae, 0xba, 0x3b, 0x3d, 0x6b, 0x54, 0x12, 0x8d, - 0x4d, 0x5e, 0x9b, 0x99, 0xe9, 0xed, 0x50, 0xfe, 0x7e, 0x07, 0x67, 0x4c, 0xc7, 0x34, - 0x80, 0x55, 0xd8, 0x95, + 0xa5, 0x19, 0x94, 0x07, 0x25, 0x1c, 0x98, 0xf7, 0xcf, 0xcd, 0xf5, 0xb6, 0x70, 0x9c, + 0x2d, 0x4b, 0xa5, 0x69, 0x2a, 0x42, 0x3c, 0x28, 0x0c, 0x2b, 0x63, 0xbe, 0x2a, 0xe1, + 0x37, 0xb1, 0xb9, 0x00, ], Elements::InputScriptHash => [ - 0xa0, 0x04, 0xc2, 0x3c, 0x28, 0xe3, 0xc9, 0x38, 0x9c, 0x2a, 0x7d, 0xe1, 0xf5, 0x09, - 0x13, 0x64, 0x3a, 0x7e, 0xc2, 0x59, 0x77, 0xa3, 0x1b, 0xd9, 0x12, 0xe1, 0x48, 0xd6, - 0x7b, 0x82, 0xb6, 0xda, + 0xdc, 0x68, 0xbd, 0x41, 0x6c, 0xaf, 0x5f, 0x7a, 0x77, 0xad, 0xd2, 0x02, 0xb2, 0xbd, + 0x4d, 0x91, 0x5b, 0x2d, 0xcb, 0xcb, 0xb7, 0x94, 0x71, 0xf9, 0xe1, 0x4b, 0x7c, 0xa6, + 0xb8, 0x50, 0x20, 0x64, ], Elements::InputScriptSigHash => [ - 0x25, 0xa5, 0x9e, 0x2a, 0xed, 0x6b, 0xe1, 0x4c, 0xc0, 0xb0, 0x8f, 0x91, 0xf8, 0x1c, - 0xe3, 0x71, 0xe3, 0x96, 0xfe, 0x38, 0xd7, 0x19, 0xc3, 0x3d, 0x38, 0x50, 0x28, 0x66, - 0x8a, 0xe2, 0xeb, 0x87, + 0xab, 0xdf, 0x16, 0x6a, 0x06, 0xdf, 0x32, 0x09, 0x80, 0x7b, 0xbe, 0xad, 0x53, 0x3c, + 0xfa, 0x8b, 0x17, 0x90, 0xaf, 0xc1, 0x60, 0x33, 0x10, 0xe4, 0xd0, 0x10, 0xa4, 0x9f, + 0xaa, 0x41, 0x31, 0xd8, ], Elements::InputScriptSigsHash => [ - 0xc4, 0x7d, 0xc3, 0x3e, 0x1f, 0x78, 0x02, 0x63, 0x49, 0x28, 0xf1, 0xf5, 0xd6, 0x38, - 0x55, 0x8b, 0x8f, 0x41, 0x7e, 0xb2, 0xbf, 0xf6, 0x9f, 0x54, 0x2e, 0x8c, 0xeb, 0x98, - 0xbe, 0x1f, 0x02, 0xcd, + 0x5e, 0x87, 0x46, 0xc0, 0xcc, 0x04, 0xe8, 0xf2, 0x61, 0x16, 0xb3, 0x86, 0x23, 0xbf, + 0xe3, 0xb6, 0x84, 0x3e, 0x3f, 0xc0, 0x93, 0xdd, 0xa4, 0x09, 0xd8, 0x6e, 0x4d, 0xb7, + 0x5c, 0x90, 0xaa, 0x61, ], Elements::InputScriptsHash => [ - 0xcf, 0xa0, 0x56, 0xe1, 0x24, 0x9e, 0x8e, 0xb1, 0xcd, 0xb7, 0xfe, 0xe1, 0x23, 0x83, - 0xef, 0xa6, 0x62, 0x02, 0x8e, 0x7a, 0xdf, 0xce, 0xfa, 0x4f, 0x8a, 0xa5, 0x19, 0xf6, - 0x51, 0xca, 0xb9, 0xbe, + 0x9d, 0x5f, 0xa7, 0xe0, 0xd8, 0xf7, 0x74, 0x60, 0x8e, 0xbc, 0xff, 0xfc, 0x3f, 0x3c, + 0x6b, 0x70, 0xf0, 0x23, 0x62, 0x9b, 0xc3, 0x49, 0x2d, 0x11, 0xec, 0x72, 0x59, 0x8e, + 0x86, 0x88, 0xdb, 0xd4, ], Elements::InputSequence => [ - 0x9f, 0x7a, 0x66, 0x94, 0xe5, 0x99, 0x13, 0x43, 0x57, 0xc5, 0xee, 0x0b, 0x1e, 0xe6, - 0xd0, 0xae, 0x5f, 0x95, 0x4d, 0x5c, 0xd1, 0xb1, 0x0e, 0x09, 0x20, 0x19, 0x7a, 0x33, - 0xec, 0x87, 0x7a, 0x4c, + 0xdb, 0x04, 0xac, 0x58, 0x04, 0x35, 0xca, 0xcd, 0xd2, 0xe4, 0xab, 0x32, 0x4e, 0xc7, + 0x01, 0x87, 0xb2, 0x6a, 0x66, 0x86, 0xd8, 0x61, 0x8b, 0xcb, 0xb2, 0x5d, 0x1d, 0x4e, + 0xca, 0xa9, 0x32, 0xce, ], Elements::InputSequencesHash => [ - 0x4b, 0x8b, 0x17, 0xe2, 0x5e, 0x91, 0x81, 0x56, 0xd5, 0x62, 0x55, 0x86, 0x01, 0x9a, - 0xa0, 0xf7, 0x6b, 0x79, 0xa5, 0x3a, 0x24, 0x49, 0x5d, 0xe3, 0xe3, 0x9c, 0x48, 0xbb, - 0x03, 0x72, 0x2e, 0xda, + 0xd2, 0x53, 0x8e, 0xf1, 0x5f, 0x5c, 0xf6, 0x02, 0x49, 0xf9, 0x2c, 0x2c, 0x02, 0xf2, + 0x55, 0x07, 0x2c, 0x1b, 0x4e, 0x4f, 0x1b, 0xa2, 0x86, 0x1e, 0x5d, 0xaa, 0x50, 0x0d, + 0x5e, 0x78, 0xe3, 0xa5, ], Elements::InputUtxoHash => [ - 0xd6, 0x45, 0x3a, 0xee, 0xb2, 0xb1, 0x8b, 0x4c, 0x1b, 0xb0, 0x2b, 0x33, 0x51, 0xce, - 0x51, 0x35, 0x45, 0xcb, 0x7f, 0x10, 0x62, 0xf2, 0xa3, 0xfa, 0xc6, 0x80, 0xd0, 0xbb, - 0xca, 0xc6, 0x3e, 0x86, + 0x36, 0x4c, 0x4d, 0xf7, 0x76, 0x5f, 0x7d, 0x30, 0x42, 0x34, 0xa1, 0xf3, 0xb6, 0x2b, + 0x38, 0x70, 0xa7, 0xa0, 0x50, 0xf4, 0x82, 0x4a, 0xd8, 0xc9, 0x71, 0xc8, 0xfd, 0xc4, + 0x0c, 0x98, 0x15, 0x5d, ], Elements::InputUtxosHash => [ - 0xde, 0x24, 0x82, 0x5f, 0xdb, 0x9d, 0x56, 0xda, 0x36, 0x38, 0xbd, 0x48, 0x00, 0x05, - 0xc3, 0xdb, 0x57, 0x4f, 0xdf, 0x11, 0xc1, 0x53, 0x03, 0xb2, 0x42, 0xe2, 0x9b, 0xdb, - 0xc5, 0x1d, 0xf3, 0x89, + 0xd2, 0xc1, 0xff, 0x7f, 0xd1, 0x62, 0x30, 0x44, 0xce, 0xa5, 0x89, 0x20, 0x8b, 0xb2, + 0x6e, 0x18, 0xe6, 0x7d, 0x6f, 0x75, 0x85, 0x1c, 0x26, 0xbe, 0x5b, 0x2b, 0xaf, 0xc0, + 0x40, 0xce, 0xff, 0x83, ], Elements::InputsHash => [ - 0x56, 0x78, 0x27, 0x5e, 0xde, 0x87, 0x21, 0xf1, 0xab, 0xda, 0x5c, 0xb4, 0x60, 0xb3, - 0x02, 0x38, 0x11, 0xd2, 0x3e, 0x47, 0xcc, 0x1f, 0x11, 0xc1, 0xf4, 0x45, 0x80, 0x35, - 0xcd, 0xc3, 0xd7, 0xec, + 0xb4, 0x6c, 0x91, 0xac, 0x9c, 0xfa, 0x6b, 0x9f, 0x08, 0x6c, 0x38, 0x33, 0x59, 0x1b, + 0xe3, 0x1a, 0xa8, 0x5e, 0x95, 0x1b, 0x2c, 0xe2, 0x1a, 0xf1, 0x17, 0x9d, 0x28, 0x59, + 0xf7, 0x11, 0x42, 0xb9, ], Elements::InternalKey => [ - 0x6e, 0x04, 0x87, 0x32, 0x5d, 0xf1, 0xac, 0x05, 0xd2, 0xd7, 0xde, 0xcb, 0xee, 0x3f, - 0xc1, 0xf5, 0xd6, 0x3d, 0xf0, 0x47, 0xf6, 0x9c, 0x22, 0xb4, 0xd9, 0x3b, 0xc4, 0x7c, - 0xba, 0xb4, 0x49, 0x41, + 0xd7, 0x4d, 0xef, 0x82, 0x87, 0x4f, 0xe2, 0xfd, 0x21, 0xaa, 0x39, 0x98, 0xf6, 0x5a, + 0xa1, 0xaf, 0x33, 0xf7, 0x2a, 0x5b, 0x1b, 0x3f, 0x47, 0xb7, 0x3a, 0xdc, 0x39, 0xeb, + 0xfb, 0x3a, 0x4e, 0x9b, ], Elements::IsOne16 => [ - 0x87, 0x7c, 0xd0, 0x01, 0xd5, 0xe7, 0xb7, 0x4e, 0xdd, 0x1a, 0x4a, 0x5c, 0x96, 0x56, - 0x41, 0xd4, 0xfb, 0x53, 0x68, 0x2d, 0x7f, 0xef, 0xae, 0x50, 0xb5, 0x14, 0x12, 0x18, - 0xc0, 0x4b, 0xe5, 0xaf, + 0xa6, 0x86, 0xb2, 0x5c, 0x80, 0xa2, 0x1f, 0x78, 0xfb, 0x30, 0x74, 0xc0, 0xf9, 0x76, + 0xdc, 0x0b, 0x8f, 0xe1, 0x06, 0xc1, 0x3d, 0xca, 0x01, 0xcb, 0xd6, 0xb4, 0xae, 0xf6, + 0xd0, 0x4f, 0x26, 0x43, ], Elements::IsOne32 => [ - 0x83, 0x35, 0x4e, 0x97, 0xd6, 0x14, 0x60, 0x0a, 0x49, 0x89, 0x4e, 0xc2, 0xc9, 0xd1, - 0x98, 0x0f, 0x9c, 0x4c, 0x92, 0x8c, 0x15, 0x61, 0xee, 0xca, 0xc9, 0x9c, 0x16, 0x81, - 0x9c, 0x2b, 0x07, 0x91, + 0xfc, 0xfa, 0xdf, 0x11, 0xd7, 0xb1, 0xbb, 0x23, 0x9f, 0x29, 0xd1, 0xca, 0x9f, 0xdc, + 0xf3, 0x5b, 0x72, 0x8a, 0x1a, 0x62, 0x23, 0x76, 0x07, 0x1d, 0x3c, 0x4d, 0x88, 0xa1, + 0x3b, 0x12, 0x26, 0x84, ], Elements::IsOne64 => [ - 0xb3, 0x55, 0xf6, 0x02, 0xec, 0x76, 0xc4, 0xc4, 0xce, 0x70, 0x77, 0x20, 0xfd, 0x54, - 0x34, 0x32, 0x22, 0xa7, 0xc8, 0xcf, 0xca, 0x43, 0x94, 0x51, 0xf2, 0x3f, 0x98, 0x54, - 0x39, 0x50, 0x78, 0xba, + 0xcf, 0x69, 0x10, 0x72, 0x37, 0x54, 0xba, 0x79, 0x43, 0x95, 0xda, 0x5d, 0x58, 0xd6, + 0x1c, 0x19, 0x00, 0x3e, 0x45, 0xee, 0xcf, 0xbf, 0xc9, 0x0d, 0x49, 0xfe, 0x65, 0x7f, + 0x60, 0x7c, 0x45, 0x1c, ], Elements::IsOne8 => [ - 0xf2, 0x45, 0x9c, 0xf3, 0x5b, 0x97, 0x20, 0x29, 0xfb, 0xb2, 0x2e, 0x82, 0x19, 0x1a, - 0xce, 0x11, 0x73, 0x2b, 0x1e, 0x08, 0x34, 0x6e, 0x21, 0xcf, 0x0d, 0x30, 0x5b, 0x41, - 0xfa, 0xe8, 0x79, 0x90, + 0x56, 0xa2, 0x2d, 0x0e, 0xcb, 0x20, 0x86, 0xd4, 0x3d, 0x52, 0xfd, 0x1d, 0x46, 0x69, + 0x8a, 0xd4, 0x42, 0x6f, 0x92, 0x35, 0x6a, 0x14, 0xce, 0x06, 0x50, 0x94, 0x1e, 0x52, + 0x07, 0x2c, 0x96, 0xa8, ], Elements::IsZero16 => [ - 0x6e, 0xd0, 0x33, 0x25, 0x6f, 0xe6, 0x45, 0xb5, 0xec, 0x3f, 0x59, 0x50, 0x8c, 0x60, - 0x19, 0x2a, 0xc8, 0x76, 0x30, 0x08, 0x91, 0x5c, 0x81, 0x15, 0xe9, 0x29, 0x33, 0x0c, - 0x0f, 0xcd, 0x48, 0x38, + 0xf4, 0x9a, 0xbd, 0xbd, 0x6a, 0x3f, 0x17, 0xc8, 0x7d, 0xba, 0xbd, 0x40, 0xe6, 0x61, + 0x1c, 0x47, 0x7d, 0x43, 0x17, 0x71, 0x90, 0x56, 0x45, 0xef, 0xd3, 0xb2, 0x2d, 0x37, + 0x91, 0xab, 0xe6, 0xbd, ], Elements::IsZero32 => [ - 0x1a, 0xf3, 0x58, 0xa0, 0x6b, 0xe9, 0x3a, 0xc6, 0xf3, 0x7c, 0xbb, 0x7d, 0x25, 0x4d, - 0x7b, 0xf9, 0xd7, 0x18, 0x77, 0x38, 0xba, 0xf1, 0xf2, 0x5d, 0x0b, 0x67, 0xc9, 0xff, - 0xe0, 0x0f, 0x6a, 0x62, + 0x93, 0x5d, 0x13, 0xda, 0x64, 0x19, 0x0a, 0x36, 0x04, 0x73, 0x5a, 0xf8, 0x40, 0x21, + 0xbc, 0x12, 0x50, 0x34, 0x97, 0xee, 0x4b, 0x0f, 0xf4, 0xb7, 0x38, 0xfc, 0x84, 0x7e, + 0x9d, 0x34, 0x19, 0x21, ], Elements::IsZero64 => [ - 0xc1, 0x10, 0x0c, 0xfc, 0x16, 0x20, 0x3c, 0xa4, 0x44, 0xf1, 0x60, 0x82, 0x64, 0x5b, - 0x72, 0x4d, 0x3e, 0xcd, 0x23, 0xdf, 0x5d, 0x0c, 0xcf, 0x91, 0xf3, 0x5c, 0x5d, 0x9b, - 0x5a, 0x02, 0xa2, 0xf2, + 0xe9, 0xb5, 0x74, 0x75, 0x13, 0x30, 0xf9, 0xfe, 0xae, 0xa5, 0x2a, 0xe4, 0xcd, 0xd3, + 0xa2, 0xe4, 0x6a, 0x99, 0x9c, 0x4f, 0x41, 0xc8, 0xb5, 0x24, 0x00, 0x2c, 0x68, 0x05, + 0x66, 0x58, 0x46, 0x21, ], Elements::IsZero8 => [ - 0x4d, 0x58, 0x68, 0x0d, 0x8e, 0x1e, 0x86, 0x18, 0xc4, 0x3c, 0xe5, 0x25, 0xf7, 0x86, - 0x61, 0xa3, 0x01, 0x48, 0x67, 0x58, 0x61, 0xa6, 0x12, 0xd1, 0xbf, 0xcf, 0xe3, 0xbb, - 0x5f, 0xa4, 0xca, 0x95, + 0xfd, 0x7f, 0xc5, 0x05, 0xc2, 0x24, 0xe8, 0xbc, 0x02, 0x08, 0x7f, 0x9e, 0xeb, 0xc4, + 0x85, 0xe9, 0x97, 0xca, 0x15, 0x37, 0x48, 0xc7, 0x81, 0x12, 0x2e, 0x1b, 0x9a, 0xc0, + 0xfd, 0x94, 0xb9, 0x32, ], Elements::Issuance => [ - 0x1d, 0xd0, 0x33, 0xd3, 0x2c, 0xd8, 0xe8, 0x90, 0x2f, 0x5e, 0xcb, 0x18, 0x33, 0x85, - 0xec, 0x2b, 0x0c, 0x27, 0xda, 0x38, 0xae, 0x8e, 0x7b, 0x59, 0x3f, 0x68, 0xf9, 0xb1, - 0xa4, 0xe6, 0x20, 0x51, + 0x91, 0x1e, 0x87, 0x39, 0x8f, 0x08, 0xb9, 0xac, 0x83, 0x51, 0xc8, 0xef, 0x62, 0xc1, + 0xa1, 0x14, 0x8c, 0xa6, 0xff, 0xc7, 0x7a, 0x4b, 0xc3, 0x78, 0x3b, 0x8e, 0x07, 0x39, + 0xeb, 0xb6, 0x19, 0x4e, ], Elements::IssuanceAsset => [ - 0x7a, 0x36, 0x99, 0xd0, 0x71, 0x03, 0x0b, 0x58, 0xd9, 0xf4, 0x1a, 0xe1, 0x1c, 0x63, - 0x7b, 0xac, 0x97, 0x78, 0x49, 0xf6, 0x9a, 0x04, 0x87, 0xb1, 0x9d, 0x23, 0x36, 0xd1, - 0xa7, 0xc6, 0xb7, 0x05, + 0xc3, 0xd6, 0x42, 0xda, 0x70, 0x92, 0xda, 0x2a, 0x37, 0xa2, 0xd5, 0xb6, 0x39, 0x7f, + 0x6b, 0x04, 0x77, 0x02, 0xe3, 0x54, 0x6e, 0x89, 0x87, 0x38, 0x46, 0x58, 0x79, 0x12, + 0xd7, 0x09, 0xdd, 0xbc, ], Elements::IssuanceAssetAmount => [ - 0x75, 0xbd, 0x99, 0x55, 0x9c, 0x02, 0x2d, 0xbf, 0x5d, 0x5c, 0xf9, 0x51, 0xcb, 0x33, - 0xea, 0x37, 0x05, 0x05, 0x8b, 0xf8, 0x1f, 0xbc, 0x74, 0xd5, 0x9b, 0xbf, 0xba, 0x9e, - 0x37, 0xa1, 0xbe, 0x0d, + 0x25, 0xc5, 0x72, 0xdb, 0x81, 0xb0, 0xac, 0x54, 0x58, 0x80, 0x4a, 0xc3, 0x3a, 0x57, + 0xc0, 0x0d, 0x11, 0xc7, 0x2a, 0x10, 0x4c, 0x0d, 0x9c, 0xf7, 0x42, 0x26, 0xe4, 0x44, + 0x04, 0x9b, 0xcc, 0x83, ], Elements::IssuanceAssetAmountsHash => [ - 0x8c, 0x09, 0x0d, 0x1a, 0x32, 0xb3, 0x2b, 0x27, 0x1f, 0xa3, 0x76, 0xa3, 0xba, 0x30, - 0x36, 0x16, 0x8c, 0x0f, 0x62, 0xf9, 0xa4, 0x46, 0xac, 0xe2, 0x9b, 0x35, 0x45, 0xc9, - 0xe5, 0x1f, 0x3e, 0x47, + 0x37, 0x9a, 0x9f, 0x69, 0x9a, 0xed, 0x34, 0x7a, 0xc1, 0x36, 0x99, 0xcf, 0x8c, 0x13, + 0xe4, 0x97, 0x8a, 0x0e, 0x05, 0x25, 0xfa, 0x09, 0xab, 0x3c, 0x46, 0xd5, 0x4c, 0x3b, + 0xb8, 0x48, 0x91, 0x3c, ], Elements::IssuanceAssetProof => [ - 0xc0, 0x48, 0x20, 0x71, 0x1d, 0xc2, 0x5a, 0xb0, 0x61, 0xda, 0x6d, 0xe8, 0x32, 0x78, - 0x8d, 0x6d, 0xbf, 0xb5, 0x4c, 0xfe, 0xea, 0xfd, 0xdb, 0x7e, 0x1e, 0xae, 0x60, 0x85, - 0x0a, 0x76, 0x6e, 0xe9, + 0xe2, 0xac, 0x38, 0xbc, 0x94, 0x45, 0xfa, 0xdc, 0x55, 0xc9, 0x84, 0x1e, 0xc6, 0xf8, + 0x42, 0x82, 0x30, 0x66, 0xf6, 0x47, 0x77, 0x6e, 0xaa, 0x03, 0xbf, 0xf5, 0x8d, 0x14, + 0x31, 0x71, 0x11, 0x7c, ], Elements::IssuanceBlindingEntropyHash => [ - 0x3c, 0x42, 0x9f, 0xa6, 0x28, 0xe1, 0x2c, 0xcf, 0x9f, 0x16, 0x7a, 0x07, 0xe2, 0x6f, - 0x70, 0xaf, 0x36, 0xcb, 0x34, 0x59, 0x96, 0x4d, 0xbc, 0x14, 0x2b, 0x52, 0x4d, 0x40, - 0x9d, 0xb1, 0x69, 0x9b, + 0x53, 0x32, 0x10, 0x92, 0xa0, 0x25, 0x1a, 0x3b, 0x57, 0xc5, 0x8a, 0xc4, 0x47, 0x91, + 0x91, 0xe3, 0x1d, 0xbb, 0x12, 0x39, 0x24, 0x7b, 0x3c, 0x1e, 0xb5, 0x76, 0x1b, 0x48, + 0x22, 0xb3, 0xbb, 0x57, ], Elements::IssuanceEntropy => [ - 0x61, 0xf3, 0x14, 0x55, 0xd9, 0x98, 0x28, 0x01, 0x25, 0xdf, 0x98, 0xe5, 0x98, 0x3d, - 0x72, 0xf5, 0xfb, 0xfd, 0xd6, 0x5c, 0x63, 0x69, 0xa0, 0xe7, 0x8d, 0x07, 0x70, 0x2f, - 0x28, 0xe2, 0xff, 0x5e, + 0xbc, 0x88, 0xdc, 0x73, 0xc2, 0x7d, 0x93, 0x95, 0xd3, 0xb4, 0x4c, 0x2e, 0x38, 0x9f, + 0xa1, 0xc5, 0x46, 0xa8, 0xfe, 0x78, 0x22, 0x60, 0x7e, 0x26, 0xa6, 0xc4, 0xc5, 0xc8, + 0xbf, 0xca, 0xd6, 0x28, ], Elements::IssuanceHash => [ - 0x3a, 0x7c, 0x8e, 0xa2, 0xde, 0x57, 0x98, 0x79, 0x27, 0x5b, 0xf1, 0xbe, 0xa7, 0xbe, - 0x52, 0x79, 0xe7, 0x03, 0xa3, 0x6d, 0xc5, 0xf4, 0xe4, 0x88, 0x53, 0xa3, 0xaf, 0x9b, - 0x0c, 0x50, 0x1b, 0x66, + 0xb0, 0xf1, 0xf8, 0x5a, 0x33, 0xeb, 0x40, 0x65, 0xb4, 0x1b, 0x5e, 0x14, 0xa8, 0x17, + 0xa2, 0x1d, 0xea, 0x01, 0x23, 0x0c, 0x53, 0x4c, 0x63, 0x4d, 0x0f, 0x6f, 0x62, 0xb2, + 0x79, 0x37, 0x46, 0x92, ], Elements::IssuanceRangeProofsHash => [ - 0xe0, 0x5a, 0x29, 0xd1, 0x71, 0x61, 0x10, 0x5e, 0x3b, 0x52, 0x21, 0xf4, 0xeb, 0xae, - 0x70, 0x2b, 0x0c, 0x4c, 0x72, 0xb6, 0xcb, 0x70, 0xdf, 0xde, 0xe2, 0xdc, 0x60, 0x7b, - 0xa8, 0xa8, 0xcf, 0x72, + 0x46, 0xc8, 0x0e, 0x30, 0x1a, 0x3d, 0x76, 0xd4, 0xd3, 0x6a, 0xb0, 0x17, 0xbd, 0x0e, + 0xca, 0x7e, 0x4b, 0x5f, 0xf2, 0x44, 0x70, 0x6e, 0x73, 0xa1, 0xd4, 0x15, 0xc9, 0x58, + 0x57, 0x8c, 0xd9, 0xd1, ], Elements::IssuanceToken => [ - 0x0c, 0x7e, 0x9b, 0x99, 0xf9, 0xec, 0x40, 0xf6, 0x70, 0x20, 0xf8, 0x3e, 0x73, 0x67, - 0xdb, 0x45, 0x88, 0x03, 0x8e, 0xcd, 0x1b, 0x31, 0x24, 0xb9, 0x5b, 0xe9, 0x82, 0x67, - 0xd5, 0xf3, 0x48, 0xc8, + 0x35, 0x6e, 0x77, 0xc8, 0x95, 0x27, 0x40, 0xae, 0xfa, 0x93, 0x15, 0xa2, 0xc4, 0xe0, + 0x87, 0x99, 0x12, 0x9f, 0x9a, 0x43, 0xf9, 0x76, 0xe0, 0xfe, 0xaf, 0x7a, 0x60, 0xc3, + 0x9d, 0x98, 0x07, 0xcc, ], Elements::IssuanceTokenAmount => [ - 0x95, 0x54, 0xcc, 0xd2, 0x41, 0x7e, 0xd6, 0xb3, 0x75, 0xb1, 0x78, 0x83, 0xf7, 0xe9, - 0x85, 0x57, 0xe4, 0x48, 0xd8, 0x04, 0xcc, 0xec, 0x8d, 0xc6, 0xa3, 0xa3, 0x8c, 0x60, - 0xf2, 0xf4, 0x09, 0x7a, + 0x82, 0x6f, 0x0c, 0x44, 0x48, 0x27, 0xf6, 0x04, 0x2f, 0xac, 0x0c, 0x3e, 0xd3, 0x4f, + 0xf6, 0x23, 0x6d, 0xa3, 0xa5, 0x25, 0xf6, 0x8d, 0x5f, 0x2c, 0xd1, 0xbe, 0x55, 0xf4, + 0xa2, 0xd5, 0x95, 0x31, ], Elements::IssuanceTokenAmountsHash => [ - 0x19, 0x5e, 0x76, 0x66, 0x1a, 0x78, 0xbc, 0x69, 0x1e, 0xf0, 0x13, 0x9e, 0x1f, 0x36, - 0x6a, 0x96, 0x6f, 0x75, 0x58, 0x4a, 0xb7, 0x76, 0x8d, 0xc7, 0x8f, 0xff, 0xab, 0xde, - 0x15, 0x56, 0x01, 0xf6, + 0x14, 0x4d, 0xfd, 0x45, 0xfb, 0xa3, 0x21, 0x09, 0xf5, 0xde, 0xae, 0x01, 0x8b, 0x61, + 0xcd, 0x66, 0x37, 0x82, 0xd9, 0xbc, 0xe6, 0xb3, 0x82, 0x58, 0xa4, 0x05, 0xd2, 0x04, + 0x9c, 0x5d, 0x4a, 0xf9, ], Elements::IssuanceTokenProof => [ - 0x9b, 0xd4, 0x5c, 0x77, 0x4d, 0x41, 0xd2, 0x08, 0x96, 0x8d, 0x9a, 0xde, 0x7d, 0x28, - 0x0d, 0xeb, 0x05, 0xc2, 0x69, 0x9a, 0xb2, 0xb8, 0x70, 0xeb, 0xe6, 0xf4, 0x4a, 0xc3, - 0xb5, 0x2e, 0xc8, 0xfe, + 0x8a, 0x25, 0x4d, 0x11, 0x89, 0xf1, 0x2d, 0xf8, 0x4f, 0x15, 0xfe, 0xd9, 0x5a, 0xc2, + 0x94, 0xd5, 0xd9, 0x56, 0x26, 0x8e, 0x80, 0xbb, 0xdf, 0xbb, 0x4c, 0xa2, 0xd5, 0x98, + 0xa1, 0x53, 0x49, 0xa4, ], Elements::IssuancesHash => [ - 0x9a, 0xb9, 0xfd, 0x03, 0xff, 0x1c, 0x69, 0x58, 0x61, 0x74, 0xbc, 0x26, 0xa8, 0x87, - 0x64, 0xf0, 0xdf, 0x9c, 0xc7, 0xdd, 0x6e, 0x61, 0xf3, 0xdc, 0x3e, 0x42, 0x66, 0x60, - 0xf0, 0x91, 0x22, 0x30, + 0xee, 0xbb, 0xeb, 0x65, 0xb7, 0x0c, 0x61, 0x10, 0xc8, 0xa2, 0x2b, 0x4d, 0x31, 0x97, + 0xb6, 0xd2, 0x11, 0x0d, 0x23, 0x76, 0x9a, 0x08, 0x49, 0x23, 0x8a, 0xbc, 0x65, 0xd4, + 0x10, 0xcf, 0x04, 0xf0, ], Elements::LbtcAsset => [ - 0x49, 0x5d, 0xd0, 0xa1, 0xcb, 0x39, 0xee, 0x84, 0xff, 0x45, 0xe1, 0xdf, 0x3d, 0xb4, - 0xb6, 0x9d, 0xe2, 0x7c, 0x37, 0xc3, 0x6d, 0x69, 0xb3, 0x12, 0x97, 0x6c, 0x43, 0xf5, - 0x0e, 0x5d, 0x94, 0x1a, + 0xdf, 0x9b, 0xcd, 0x3f, 0x9d, 0xe3, 0xd2, 0x46, 0x46, 0x58, 0xdb, 0x84, 0x90, 0x38, + 0x69, 0x2e, 0x33, 0x89, 0xbf, 0x22, 0x86, 0xde, 0x8e, 0x17, 0xa5, 0x67, 0xea, 0x11, + 0xc0, 0x2e, 0x9a, 0xac, ], Elements::Le16 => [ - 0xd6, 0x17, 0xfe, 0xea, 0xfd, 0x6f, 0xfc, 0x23, 0xfe, 0xff, 0xbe, 0x70, 0x12, 0xce, - 0x3a, 0x03, 0x02, 0xd4, 0xd1, 0x11, 0x66, 0x58, 0x22, 0xb3, 0x04, 0xb7, 0x9a, 0xdb, - 0xcc, 0x9a, 0x16, 0xd7, + 0x98, 0xaf, 0x70, 0xd8, 0x94, 0xf3, 0xd4, 0x39, 0xbe, 0x06, 0x01, 0xe2, 0x4a, 0x33, + 0xf0, 0x65, 0x0d, 0x23, 0x65, 0xbc, 0xf0, 0x23, 0x02, 0x88, 0x62, 0xeb, 0xfd, 0xa4, + 0xd5, 0x0a, 0x2d, 0xca, ], Elements::Le32 => [ - 0x45, 0x74, 0x5c, 0x5b, 0xc7, 0xf8, 0x97, 0x8f, 0x85, 0xb1, 0xb1, 0x4d, 0x49, 0x4a, - 0xf2, 0x1a, 0x8a, 0x51, 0xcc, 0xd8, 0x7f, 0x3f, 0xed, 0xe9, 0x59, 0x74, 0x95, 0x91, - 0x32, 0xae, 0xf9, 0xce, + 0x04, 0xa8, 0x35, 0x1a, 0x4c, 0x97, 0xd3, 0xb5, 0xde, 0x4f, 0x91, 0xb2, 0xe9, 0x73, + 0x9d, 0x9b, 0x3c, 0xc6, 0xad, 0x49, 0xca, 0x07, 0x10, 0x9c, 0x2c, 0xc4, 0x91, 0x8f, + 0xaf, 0xac, 0x66, 0xb5, ], Elements::Le64 => [ - 0x3a, 0x8f, 0x08, 0x70, 0x90, 0x0a, 0xf7, 0x1d, 0x42, 0x42, 0xfe, 0x26, 0xad, 0x4d, - 0xfb, 0xed, 0x92, 0xf3, 0x0b, 0xb7, 0x9b, 0x72, 0x73, 0x7d, 0xbc, 0xab, 0x9a, 0xc5, - 0xc0, 0x70, 0xab, 0xe5, + 0x19, 0x4c, 0x01, 0xd8, 0xaa, 0x68, 0x95, 0x17, 0x11, 0xe6, 0x15, 0x14, 0x0e, 0x2b, + 0x5a, 0xce, 0x42, 0x6d, 0xac, 0xd1, 0xfd, 0x6d, 0x86, 0xc7, 0xa7, 0x2f, 0x3a, 0xaa, + 0x08, 0x9c, 0x24, 0x67, ], Elements::Le8 => [ - 0x5e, 0xcc, 0x9b, 0x33, 0x25, 0x44, 0x67, 0x49, 0xaf, 0xa4, 0x09, 0x65, 0xea, 0x21, - 0xe0, 0x11, 0x18, 0xfb, 0x8c, 0x1a, 0xdc, 0xdc, 0x11, 0x21, 0x97, 0x93, 0xcb, 0x2a, - 0xfc, 0x4a, 0x7e, 0x8c, + 0xb1, 0x33, 0xad, 0x2d, 0x1a, 0x61, 0x78, 0xb1, 0x98, 0x94, 0xc9, 0xdc, 0xe5, 0x92, + 0x4c, 0x19, 0x9a, 0x04, 0x5f, 0xab, 0x4e, 0x38, 0x8f, 0x16, 0x9a, 0xe1, 0xd8, 0x69, + 0x81, 0x14, 0x9a, 0x8b, ], Elements::LeftExtend16_32 => [ - 0x8c, 0x99, 0x04, 0x35, 0xb1, 0x35, 0xde, 0x74, 0x57, 0xc2, 0x69, 0x0d, 0x2d, 0xc8, - 0x74, 0x4a, 0x50, 0x66, 0x41, 0xb8, 0x81, 0xf4, 0x1e, 0x5c, 0x17, 0x02, 0x77, 0x65, - 0xc3, 0x52, 0xdd, 0xcb, + 0x9d, 0xbb, 0x9d, 0x79, 0x97, 0xc1, 0xb1, 0xfa, 0x59, 0x13, 0x1e, 0x79, 0xaa, 0xd1, + 0x6b, 0x9f, 0xca, 0x81, 0xc4, 0x68, 0x32, 0x2d, 0x56, 0xcc, 0x0e, 0x71, 0xfa, 0x05, + 0xdd, 0x80, 0xc9, 0x6c, ], Elements::LeftExtend16_64 => [ - 0x9b, 0x9f, 0xf9, 0xcc, 0x27, 0x13, 0x93, 0x19, 0xb2, 0x24, 0xb7, 0xb2, 0xb8, 0x16, - 0xc9, 0x13, 0xa5, 0x68, 0xbf, 0xd0, 0x0b, 0xe1, 0xf3, 0x83, 0xc0, 0x26, 0xbc, 0xff, - 0xe9, 0xbf, 0xe7, 0x12, + 0x5d, 0x33, 0x29, 0xd2, 0xc2, 0x9b, 0xe1, 0x04, 0xde, 0x74, 0xdd, 0xaf, 0xc9, 0xb2, + 0x2f, 0xf6, 0x5d, 0x26, 0x8b, 0xa2, 0xcc, 0xdd, 0xa6, 0x77, 0xe8, 0xfb, 0xfc, 0x65, + 0x01, 0x30, 0xa3, 0x71, ], Elements::LeftExtend1_16 => [ - 0xb8, 0xff, 0x8d, 0xc1, 0xa0, 0x4c, 0xa7, 0x16, 0x49, 0x17, 0xf4, 0xc4, 0x50, 0x68, - 0x8c, 0x83, 0xdd, 0x41, 0x6c, 0xef, 0x7b, 0x0f, 0xab, 0xdd, 0x16, 0x92, 0xfa, 0xe6, - 0xbf, 0xf7, 0xb4, 0xa6, + 0x74, 0xee, 0x5a, 0x71, 0x88, 0x9e, 0x97, 0xc0, 0x3d, 0x9b, 0x90, 0x4c, 0x67, 0x9f, + 0xf7, 0xf2, 0xe8, 0xc7, 0x41, 0x0e, 0x6d, 0xc7, 0x48, 0xe0, 0xb5, 0x48, 0xeb, 0xfd, + 0x96, 0x03, 0xd1, 0xad, ], Elements::LeftExtend1_32 => [ - 0x22, 0x53, 0xa4, 0x52, 0xb9, 0x99, 0x02, 0xab, 0xcf, 0x15, 0x49, 0x6d, 0xf1, 0x9d, - 0x31, 0x12, 0xa1, 0xce, 0xf5, 0x9b, 0x9a, 0xdc, 0xee, 0x20, 0x6c, 0x0d, 0x8d, 0xce, - 0xa6, 0x28, 0xd0, 0x73, + 0x97, 0xac, 0x64, 0x03, 0xdf, 0x61, 0xc7, 0x84, 0x13, 0x96, 0xc9, 0x3e, 0x14, 0x1f, + 0xaf, 0xc2, 0xa0, 0x96, 0x6e, 0x3e, 0x49, 0x74, 0x87, 0x7b, 0x9e, 0x94, 0x2b, 0xe5, + 0x9c, 0x78, 0xc8, 0x00, ], Elements::LeftExtend1_64 => [ - 0xc8, 0x59, 0x9c, 0x85, 0x75, 0xed, 0xb7, 0xc2, 0x60, 0x40, 0x2e, 0xf2, 0xf2, 0x6d, - 0xd4, 0x91, 0xcb, 0x5e, 0x4d, 0x38, 0x18, 0xff, 0x2e, 0x95, 0x85, 0xc8, 0xd3, 0xe7, - 0x81, 0x2d, 0xb5, 0xaa, + 0x54, 0x8a, 0xeb, 0x2b, 0x27, 0xb9, 0xef, 0x2a, 0x0b, 0xec, 0x50, 0xb6, 0x38, 0x52, + 0xfe, 0x24, 0x54, 0x9e, 0x60, 0xa7, 0x43, 0xb9, 0x78, 0x9e, 0xc9, 0x8a, 0xd4, 0xf8, + 0x73, 0x77, 0x13, 0xed, ], Elements::LeftExtend1_8 => [ - 0xcf, 0xe0, 0x22, 0x00, 0x5f, 0x6b, 0xad, 0x4b, 0x25, 0xb5, 0x1e, 0x9e, 0xbe, 0x92, - 0x94, 0x24, 0x37, 0x3f, 0xf1, 0x97, 0xce, 0xca, 0x62, 0xb9, 0xe0, 0x69, 0xab, 0x08, - 0xda, 0x9f, 0x38, 0xf2, + 0x74, 0x88, 0xda, 0x61, 0x1c, 0xfc, 0xdf, 0xa4, 0xff, 0x3d, 0x63, 0xf8, 0xc3, 0x6d, + 0x5a, 0x62, 0x9c, 0x58, 0x7e, 0x92, 0x20, 0xbd, 0x98, 0x9b, 0xda, 0x72, 0x06, 0x78, + 0xa9, 0xc9, 0x7b, 0xf7, ], Elements::LeftExtend32_64 => [ - 0x3f, 0x66, 0x84, 0x04, 0x7e, 0xda, 0xfb, 0x76, 0xf1, 0x1f, 0xbf, 0x59, 0x54, 0x99, - 0xc5, 0xab, 0xa9, 0xc4, 0xba, 0x55, 0xca, 0xb5, 0x87, 0xcd, 0xfe, 0xba, 0xd4, 0x57, - 0xb5, 0x5b, 0xf5, 0xbb, + 0x34, 0x33, 0x50, 0x9a, 0x5d, 0xe5, 0x69, 0x5d, 0x92, 0xca, 0xb9, 0x25, 0x51, 0x43, + 0xd6, 0x06, 0x67, 0x05, 0x68, 0xc1, 0x47, 0xf4, 0x74, 0xd1, 0x35, 0x93, 0xf5, 0x39, + 0x5b, 0x9a, 0xd2, 0xc1, ], Elements::LeftExtend8_16 => [ - 0xdb, 0xd5, 0x5f, 0x41, 0x70, 0x15, 0x38, 0x53, 0xba, 0xd0, 0xe0, 0x84, 0xf9, 0xe1, - 0xa7, 0xe7, 0x5a, 0x7a, 0x0d, 0xc9, 0xd8, 0x92, 0x07, 0x75, 0x57, 0x5b, 0x0d, 0x48, - 0xe5, 0x07, 0xaf, 0x2f, + 0x42, 0x0d, 0x0a, 0x56, 0x99, 0xb8, 0x87, 0x5a, 0xcc, 0x2d, 0x18, 0xfd, 0xa9, 0x0c, + 0x8a, 0x72, 0x74, 0x6d, 0x3e, 0x5e, 0x0c, 0xd8, 0xc1, 0x81, 0x89, 0x7a, 0x81, 0x4c, + 0x4c, 0x43, 0x39, 0x69, ], Elements::LeftExtend8_32 => [ - 0x5b, 0x5b, 0x45, 0x67, 0x6a, 0x75, 0x03, 0xee, 0xd0, 0x85, 0x57, 0x38, 0x69, 0xdb, - 0xc5, 0x80, 0x0b, 0x35, 0x02, 0x9d, 0x14, 0x02, 0x90, 0xac, 0x20, 0x89, 0x14, 0x89, - 0xbd, 0x2a, 0xa7, 0xd5, + 0xc3, 0x0e, 0x47, 0x5d, 0x46, 0x50, 0xab, 0xe4, 0xae, 0x15, 0xc3, 0x27, 0x4a, 0xe8, + 0x83, 0x8d, 0xd5, 0x15, 0x88, 0xd1, 0x5b, 0xd0, 0xc6, 0xdc, 0xac, 0xf9, 0x82, 0xaa, + 0x46, 0x7b, 0xea, 0x62, ], Elements::LeftExtend8_64 => [ - 0x7b, 0x9e, 0xa1, 0x48, 0xa3, 0x0f, 0x2a, 0xf4, 0xd4, 0x00, 0x1d, 0x4f, 0x25, 0xb0, - 0xbf, 0x4f, 0xdd, 0x67, 0xc7, 0xd0, 0xf1, 0x34, 0xd7, 0xef, 0x3f, 0x67, 0x8f, 0x72, - 0x19, 0x00, 0x2b, 0xcf, + 0xa6, 0x3a, 0x6e, 0x66, 0x72, 0xe1, 0xb6, 0xc7, 0x56, 0x54, 0x9a, 0x3e, 0xee, 0x01, + 0x94, 0x8e, 0x71, 0x19, 0x94, 0xfe, 0x18, 0xd7, 0xca, 0xed, 0xf1, 0x09, 0x15, 0xc1, + 0x60, 0xd7, 0xa8, 0x0d, ], Elements::LeftPadHigh16_32 => [ - 0xe8, 0xc2, 0xd8, 0x5a, 0x7b, 0x7b, 0x2a, 0x8e, 0xbb, 0x5b, 0x0f, 0x21, 0x2f, 0xc8, - 0x45, 0x0d, 0xc1, 0xd3, 0xa4, 0x68, 0x22, 0xfb, 0x21, 0xe8, 0x6e, 0x3f, 0xee, 0x02, - 0x0a, 0xf9, 0x73, 0x8f, + 0x72, 0xec, 0xa5, 0xc1, 0x13, 0x74, 0x3e, 0xf0, 0xb6, 0x02, 0x55, 0xce, 0x56, 0x78, + 0x77, 0x72, 0xc7, 0xe7, 0x5e, 0xec, 0xb0, 0xe3, 0xb9, 0x1e, 0x1a, 0x84, 0x7d, 0x75, + 0xf4, 0x85, 0x14, 0x87, ], Elements::LeftPadHigh16_64 => [ - 0x61, 0x3b, 0x85, 0xd2, 0xa7, 0x51, 0xb3, 0xe5, 0x1f, 0xbc, 0x59, 0xa1, 0xde, 0xdd, - 0x1f, 0xc7, 0x93, 0x36, 0x5e, 0x40, 0x71, 0xdc, 0x1e, 0x01, 0x41, 0x08, 0xd8, 0x92, - 0x0d, 0x41, 0xd4, 0x70, + 0xf6, 0xaf, 0x32, 0xbf, 0xe6, 0x69, 0x76, 0x11, 0x57, 0xce, 0xb1, 0xe8, 0x30, 0x27, + 0x7d, 0x61, 0x0e, 0x12, 0x4f, 0x15, 0xd5, 0x08, 0x68, 0x5e, 0x40, 0x37, 0xf8, 0xfb, + 0x38, 0x8f, 0xbd, 0xa9, ], Elements::LeftPadHigh1_16 => [ - 0xe8, 0x2b, 0x00, 0xef, 0xd7, 0xdc, 0xc3, 0x4e, 0x96, 0xe8, 0xf3, 0xe5, 0x1e, 0xad, - 0x12, 0xd3, 0x84, 0x5f, 0x6c, 0x77, 0x85, 0xe4, 0x43, 0x8b, 0x05, 0x45, 0x7d, 0x95, - 0x32, 0x6e, 0x59, 0xe3, + 0xa7, 0xef, 0x7f, 0xc5, 0x2d, 0x9a, 0x03, 0x21, 0xf9, 0x22, 0x14, 0xc5, 0x87, 0x68, + 0x9c, 0x12, 0x69, 0x6e, 0x4c, 0x46, 0x02, 0xbf, 0x53, 0x95, 0x81, 0xaf, 0xaa, 0xeb, + 0xd7, 0x79, 0x45, 0xd6, ], Elements::LeftPadHigh1_32 => [ - 0x88, 0x58, 0x5b, 0x8c, 0x45, 0x92, 0xd5, 0xd0, 0x83, 0xdf, 0xf6, 0x8e, 0xb5, 0xc2, - 0x30, 0xd0, 0x6c, 0x37, 0x99, 0x5a, 0x6f, 0xed, 0xe2, 0x2c, 0x26, 0xe6, 0x61, 0xa7, - 0x51, 0x6e, 0x5b, 0xf4, + 0xb5, 0x48, 0x26, 0x36, 0xc7, 0xaf, 0x61, 0xf6, 0x88, 0xf1, 0x2b, 0x4d, 0xce, 0x20, + 0x9f, 0xcb, 0x1a, 0x73, 0x2c, 0x49, 0x0a, 0xbb, 0x23, 0x6e, 0x73, 0x96, 0x8a, 0x01, + 0xd4, 0xd9, 0x35, 0x1e, ], Elements::LeftPadHigh1_64 => [ - 0xc2, 0x7e, 0x3d, 0x02, 0x94, 0x92, 0x20, 0x58, 0x89, 0x0d, 0x5c, 0x8b, 0x67, 0x6c, - 0x1d, 0xae, 0xfd, 0xde, 0x65, 0x31, 0xe8, 0xae, 0x6d, 0x79, 0x37, 0x53, 0x92, 0x72, - 0x3e, 0xad, 0x9c, 0x03, + 0x6a, 0x9f, 0x2a, 0x1f, 0xf5, 0xd4, 0x6c, 0x8e, 0x6b, 0x7c, 0x3b, 0x81, 0x01, 0xaf, + 0xa0, 0x73, 0x55, 0xc4, 0xf6, 0x53, 0xc1, 0x46, 0x7e, 0x45, 0xcd, 0x25, 0xcc, 0x09, + 0x2e, 0x3a, 0x11, 0xfa, ], Elements::LeftPadHigh1_8 => [ - 0x14, 0x3e, 0x12, 0x39, 0x2b, 0x8f, 0x2e, 0x73, 0x53, 0x71, 0xfe, 0xd0, 0xb4, 0xb6, - 0xd6, 0x23, 0xff, 0xa4, 0xf6, 0x60, 0xe5, 0x39, 0x0c, 0x00, 0xe5, 0x67, 0xcf, 0x21, - 0xa1, 0xc9, 0x20, 0x78, + 0xd7, 0x75, 0xa8, 0x8a, 0x24, 0x80, 0x04, 0xbd, 0x82, 0x1f, 0xa0, 0x80, 0x18, 0x52, + 0x1f, 0xe8, 0x81, 0x71, 0xe8, 0x42, 0x84, 0xe0, 0xda, 0xff, 0x4b, 0xc9, 0xe6, 0xca, + 0x1d, 0x8f, 0x8d, 0xe4, ], Elements::LeftPadHigh32_64 => [ - 0xf4, 0x84, 0x7c, 0x67, 0x56, 0x67, 0xb3, 0xc6, 0xa8, 0x90, 0xfd, 0x5a, 0x6a, 0xdb, - 0x09, 0x27, 0x55, 0x7e, 0xe8, 0x0c, 0xd6, 0xe6, 0x5a, 0xf9, 0xb1, 0xb4, 0x72, 0x95, - 0x72, 0xcd, 0x86, 0x61, + 0x0b, 0xf4, 0x89, 0x4b, 0xa0, 0xe5, 0x43, 0x60, 0x18, 0xf7, 0xdd, 0xd1, 0xe1, 0xa1, + 0x2c, 0xa7, 0xcd, 0x73, 0x09, 0x6f, 0xef, 0x06, 0x6a, 0xd4, 0xb7, 0x78, 0xcc, 0x24, + 0x19, 0x57, 0xfa, 0xfc, ], Elements::LeftPadHigh8_16 => [ - 0x76, 0x18, 0x05, 0x8a, 0x4e, 0x08, 0xeb, 0x52, 0x43, 0xda, 0xd2, 0x05, 0xcc, 0x7e, - 0x8d, 0x25, 0x47, 0x38, 0x0d, 0xa0, 0x5e, 0xc5, 0x41, 0x1e, 0xfc, 0x37, 0x2b, 0xaa, - 0x2b, 0xb1, 0x2d, 0xa6, + 0x06, 0xda, 0xf4, 0xf8, 0xd5, 0x94, 0x4f, 0x1f, 0x86, 0xdf, 0xbc, 0x37, 0x05, 0x87, + 0xb4, 0x4d, 0x88, 0x71, 0x61, 0x2b, 0x7a, 0x96, 0xb0, 0x54, 0x75, 0x61, 0x92, 0xdb, + 0x8f, 0xac, 0x19, 0xb7, ], Elements::LeftPadHigh8_32 => [ - 0x3d, 0xfe, 0xd5, 0xc0, 0xa9, 0xb2, 0x6b, 0x8f, 0x4a, 0x8e, 0xab, 0xd6, 0xfb, 0xed, - 0x87, 0xbe, 0x45, 0x0d, 0xe7, 0x95, 0xf5, 0x41, 0x95, 0x3e, 0xec, 0x16, 0xa6, 0xd5, - 0xaa, 0x82, 0x5a, 0x56, + 0xbc, 0x20, 0x7c, 0x1e, 0x1e, 0xae, 0x88, 0xcd, 0x1b, 0xb4, 0xf9, 0x4c, 0x61, 0xdb, + 0xd8, 0x50, 0xbb, 0xfa, 0x64, 0xa6, 0x20, 0xeb, 0xc0, 0x4f, 0x0c, 0x86, 0x92, 0x8e, + 0xad, 0x2c, 0x32, 0x12, ], Elements::LeftPadHigh8_64 => [ - 0xce, 0x7c, 0x40, 0x7e, 0x4b, 0x56, 0x17, 0x21, 0xd6, 0x6c, 0x1b, 0xb0, 0xd1, 0x7e, - 0xe8, 0x41, 0xb4, 0xd5, 0x04, 0xb4, 0xc4, 0xc0, 0x72, 0x00, 0x22, 0x37, 0x14, 0x0b, - 0x89, 0x09, 0x76, 0x9f, + 0xfa, 0x0c, 0x41, 0xc8, 0xce, 0x56, 0x09, 0x64, 0x4c, 0x74, 0xfa, 0x32, 0x8d, 0x64, + 0xc1, 0xdc, 0xa2, 0x80, 0x50, 0xd5, 0x3d, 0xfe, 0xa6, 0xa1, 0xe6, 0xdf, 0xb4, 0x20, + 0xd9, 0xb4, 0x74, 0x67, ], Elements::LeftPadLow16_32 => [ - 0xa2, 0x8c, 0x79, 0x24, 0xa4, 0x7b, 0x46, 0xec, 0x73, 0xbc, 0xff, 0x6e, 0x13, 0x28, - 0xd4, 0x39, 0xaa, 0x90, 0x3a, 0xcf, 0x10, 0x3e, 0x9a, 0xa8, 0x0b, 0x65, 0xba, 0x76, - 0xd2, 0xa0, 0x8e, 0x75, + 0x23, 0xf7, 0x47, 0x96, 0xb8, 0x30, 0x20, 0xeb, 0xbf, 0x5a, 0xa5, 0xb6, 0x9a, 0xa1, + 0xf3, 0xd7, 0x3d, 0xf9, 0xb1, 0xc2, 0x67, 0xe0, 0x12, 0x4c, 0x5f, 0xfe, 0x18, 0x2a, + 0x63, 0xcd, 0x20, 0x22, ], Elements::LeftPadLow16_64 => [ - 0xb6, 0x25, 0x8a, 0xcd, 0xa2, 0x11, 0x0e, 0xd9, 0x8c, 0x17, 0xbc, 0xa8, 0x27, 0x12, - 0xe3, 0xea, 0x60, 0x86, 0x6f, 0x7d, 0x40, 0x04, 0xc8, 0x3e, 0x8a, 0xe5, 0x24, 0xb7, - 0xba, 0x44, 0x00, 0x8b, + 0xe5, 0xd6, 0x46, 0x1a, 0xf1, 0x33, 0x1c, 0xeb, 0xa4, 0x55, 0x85, 0xe5, 0x6a, 0xe6, + 0xe1, 0x28, 0xdc, 0x7d, 0xaa, 0x0e, 0x07, 0x08, 0x61, 0xca, 0x6d, 0x19, 0xd8, 0x54, + 0x33, 0x88, 0x3d, 0xc4, ], Elements::LeftPadLow1_16 => [ - 0x1e, 0x1f, 0x6c, 0xc4, 0x24, 0x64, 0x83, 0x75, 0x49, 0xb9, 0x7d, 0x30, 0x7e, 0x28, - 0xa9, 0xc2, 0x36, 0x80, 0x91, 0x4c, 0xd8, 0x6d, 0x65, 0xc3, 0x04, 0x67, 0x93, 0x12, - 0x7b, 0x54, 0xfe, 0x82, + 0x09, 0xdb, 0xcc, 0x20, 0x32, 0x82, 0x88, 0x55, 0x2a, 0xa9, 0xe9, 0x42, 0x6c, 0x5c, + 0xee, 0x24, 0xdf, 0xce, 0xba, 0x87, 0x22, 0x74, 0xae, 0xd5, 0x5a, 0x83, 0x20, 0x46, + 0x0a, 0x17, 0x91, 0xb2, ], Elements::LeftPadLow1_32 => [ - 0xc3, 0x38, 0xa1, 0x95, 0x5e, 0x99, 0x82, 0x0d, 0x0e, 0xd3, 0x1a, 0x5a, 0xfe, 0xdd, - 0x13, 0x58, 0xc1, 0x74, 0x44, 0x02, 0x3e, 0x3f, 0x2b, 0x47, 0x33, 0xd9, 0xf6, 0x8c, - 0xb7, 0xb4, 0x0c, 0xd9, + 0x1d, 0x27, 0x63, 0xf2, 0x60, 0xd4, 0x72, 0x89, 0x6c, 0x88, 0x1c, 0x72, 0xfb, 0x22, + 0xb9, 0xa1, 0x19, 0x25, 0x8e, 0x12, 0x99, 0x61, 0x09, 0xd9, 0xc9, 0x49, 0xca, 0x61, + 0xf9, 0x37, 0xda, 0x0c, ], Elements::LeftPadLow1_64 => [ - 0x68, 0x9e, 0xd5, 0x69, 0xc2, 0x01, 0x52, 0x1e, 0xc1, 0x95, 0x4f, 0x0d, 0xc7, 0xd2, - 0x12, 0x8e, 0x46, 0x5a, 0x52, 0x04, 0x99, 0x19, 0x05, 0x49, 0x85, 0x8d, 0xe9, 0xed, - 0x23, 0x1a, 0x5d, 0x69, + 0xa3, 0x76, 0x87, 0x8d, 0xfe, 0x35, 0x20, 0x47, 0x29, 0xf9, 0x1c, 0xdf, 0x5b, 0xe6, + 0x58, 0xab, 0xc5, 0xe7, 0x02, 0x5a, 0xd9, 0x62, 0x84, 0xc7, 0xf6, 0x31, 0x0e, 0x9f, + 0x9b, 0x1a, 0x5a, 0x3e, ], Elements::LeftPadLow1_8 => [ - 0x5b, 0x51, 0x90, 0x53, 0xfd, 0x2b, 0xb7, 0x58, 0x47, 0x3a, 0xf8, 0xe3, 0x91, 0x0b, - 0xae, 0xf3, 0x3c, 0xc8, 0x01, 0xc0, 0xb1, 0x42, 0x0a, 0xaf, 0x81, 0x4a, 0x7e, 0x72, - 0x54, 0xea, 0x78, 0xf0, + 0x74, 0xc2, 0x06, 0x1b, 0x87, 0xf5, 0x19, 0x0f, 0xe7, 0x43, 0x22, 0xea, 0xc2, 0x42, + 0x2b, 0x38, 0xe3, 0x7e, 0x9f, 0xcc, 0x4d, 0x60, 0x97, 0xeb, 0x5c, 0xa4, 0xe3, 0x0b, + 0x12, 0x9b, 0x7a, 0x12, ], Elements::LeftPadLow32_64 => [ - 0xac, 0x00, 0xa3, 0x4f, 0xb6, 0xa5, 0x8e, 0x57, 0xad, 0x22, 0x39, 0x50, 0x0e, 0x65, - 0x71, 0x37, 0x5d, 0xfd, 0xa0, 0xce, 0xa1, 0x17, 0x5f, 0xe9, 0x9d, 0x87, 0x5c, 0xd8, - 0x71, 0x81, 0x05, 0xe9, + 0xf3, 0x1a, 0xe2, 0x84, 0x31, 0x3f, 0xdf, 0x37, 0x73, 0xe3, 0xee, 0x43, 0x96, 0x7d, + 0xc8, 0xc6, 0x7b, 0x73, 0xb7, 0x80, 0x06, 0x69, 0x66, 0x71, 0xd9, 0x0d, 0xd2, 0x59, + 0xd9, 0xa8, 0x06, 0x13, ], Elements::LeftPadLow8_16 => [ - 0xb6, 0xf6, 0x33, 0x4c, 0xc6, 0x60, 0xe3, 0x06, 0x9f, 0x7e, 0x14, 0x37, 0xa1, 0x94, - 0x3f, 0x61, 0x0f, 0xc5, 0xa5, 0xab, 0x8a, 0xa5, 0x10, 0x5b, 0xfc, 0xec, 0xd3, 0xda, - 0x0c, 0x59, 0x63, 0x3c, + 0x19, 0x04, 0x99, 0xa4, 0x9f, 0x87, 0x37, 0x32, 0xbf, 0xeb, 0x6d, 0x24, 0x3a, 0xfb, + 0x3b, 0x66, 0xdb, 0x07, 0xdc, 0xe3, 0x3f, 0xfe, 0x71, 0x73, 0x28, 0x41, 0x67, 0x08, + 0x70, 0x17, 0x00, 0xd4, ], Elements::LeftPadLow8_32 => [ - 0x8a, 0xee, 0x9f, 0x42, 0xda, 0x9b, 0x84, 0x2e, 0x41, 0x18, 0x95, 0x96, 0x59, 0x47, - 0x56, 0xba, 0xd9, 0xba, 0xb2, 0x95, 0x3d, 0xea, 0xe6, 0x68, 0x56, 0xb9, 0xcb, 0x60, - 0x1d, 0x7a, 0xc5, 0x48, + 0xb2, 0xcd, 0x3f, 0xf0, 0xb4, 0xde, 0x89, 0x0e, 0x28, 0xb4, 0x27, 0x96, 0x41, 0x65, + 0x2f, 0xa0, 0x8f, 0x2a, 0x89, 0x87, 0x94, 0xf6, 0xee, 0x6b, 0x12, 0x82, 0xa7, 0x98, + 0x26, 0x44, 0x8d, 0x4a, ], Elements::LeftPadLow8_64 => [ - 0x61, 0x1d, 0x64, 0xce, 0x94, 0xf8, 0x82, 0xfd, 0xa2, 0x4c, 0x97, 0xad, 0xd1, 0x90, - 0x54, 0x21, 0x2f, 0x46, 0xb3, 0xb9, 0x8e, 0xf2, 0xae, 0x22, 0x79, 0x36, 0x45, 0x39, - 0xb9, 0x3e, 0x2b, 0x8b, + 0x6e, 0x72, 0x89, 0x08, 0x25, 0x4e, 0x09, 0xf4, 0xd1, 0xa6, 0x2c, 0xae, 0x8d, 0x8a, + 0x59, 0x96, 0xe0, 0x2b, 0xd7, 0x28, 0x0d, 0x49, 0x67, 0x44, 0x40, 0x2f, 0xf3, 0x22, + 0xcd, 0x12, 0x02, 0x8f, ], Elements::LeftRotate16 => [ - 0x25, 0xe2, 0xd4, 0xec, 0xc0, 0x3f, 0x87, 0x65, 0x5e, 0x96, 0x5b, 0x35, 0x7d, 0x6f, - 0xd0, 0xc2, 0xea, 0x36, 0xd1, 0x12, 0x06, 0x8c, 0x96, 0x33, 0x39, 0xde, 0x46, 0x7e, - 0x5c, 0x8e, 0x7d, 0x8e, + 0x2c, 0xe2, 0x67, 0xc9, 0xf8, 0xe4, 0x4e, 0x32, 0x65, 0xb0, 0x29, 0x9e, 0x55, 0x74, + 0x29, 0x76, 0xcc, 0xec, 0xeb, 0x3a, 0x9c, 0x41, 0x06, 0x17, 0x6f, 0xbf, 0x17, 0xe6, + 0x3d, 0x48, 0xd0, 0x6c, ], Elements::LeftRotate32 => [ - 0x2d, 0x41, 0x89, 0xb3, 0x12, 0xe8, 0xce, 0xda, 0xaa, 0x38, 0x53, 0xa4, 0x5a, 0x12, - 0x98, 0x6e, 0xe2, 0x62, 0xfb, 0x60, 0x5f, 0x0d, 0x59, 0x2d, 0xcb, 0xb9, 0x61, 0x8f, - 0xe6, 0x7a, 0x25, 0x0b, + 0x0b, 0xef, 0x6b, 0x5f, 0x77, 0x1e, 0xcc, 0x6e, 0x6f, 0x5c, 0x26, 0xf6, 0x62, 0x2d, + 0xe8, 0x62, 0x4e, 0x44, 0x34, 0x97, 0x59, 0x95, 0x14, 0xf5, 0xbc, 0x68, 0xf6, 0x87, + 0x48, 0x80, 0xe0, 0x7a, ], Elements::LeftRotate64 => [ - 0xb8, 0xe6, 0x8e, 0x0a, 0xd6, 0x82, 0xb9, 0x67, 0xf2, 0x4c, 0x09, 0x84, 0xf7, 0xd5, - 0xf8, 0x09, 0xa2, 0x85, 0x97, 0xa0, 0x43, 0x46, 0x18, 0xc8, 0x94, 0x9f, 0xa8, 0x08, - 0xe3, 0xbe, 0x76, 0x14, + 0xcc, 0x91, 0x42, 0x19, 0xd1, 0x4f, 0xe5, 0xd2, 0x20, 0xe2, 0xaa, 0x9b, 0x64, 0xf2, + 0x4b, 0x47, 0x5d, 0x80, 0xf2, 0xca, 0xfb, 0x75, 0x31, 0xd4, 0x26, 0x40, 0x96, 0x7c, + 0x08, 0x5f, 0x9c, 0xa4, ], Elements::LeftRotate8 => [ - 0x95, 0x6a, 0x65, 0x3a, 0xe0, 0xb8, 0xf8, 0xc3, 0xf2, 0x9f, 0xd8, 0xf3, 0x31, 0x19, - 0x16, 0x8f, 0xcb, 0xe6, 0x4f, 0x5d, 0x76, 0x5f, 0xa9, 0xff, 0x6b, 0x8e, 0x3b, 0x0d, - 0x96, 0x1a, 0x16, 0x29, + 0xbd, 0x71, 0x19, 0xce, 0xb2, 0x3e, 0x56, 0xa0, 0x75, 0x9c, 0xda, 0xad, 0x8f, 0xd6, + 0x65, 0x17, 0x46, 0xf2, 0x96, 0x9c, 0x5e, 0xa7, 0xc5, 0x70, 0x6c, 0x49, 0x2e, 0xe0, + 0xcd, 0xa6, 0x52, 0xc2, ], Elements::LeftShift16 => [ - 0x9b, 0xbc, 0xe2, 0x9e, 0x69, 0x5b, 0xe2, 0xe4, 0x83, 0x0c, 0x7a, 0x93, 0xa0, 0xd2, - 0x15, 0x1b, 0x66, 0x4f, 0xc2, 0x72, 0x06, 0xee, 0xd7, 0xe5, 0x0f, 0xce, 0xf6, 0x02, - 0xd3, 0x45, 0xce, 0x0d, + 0xfd, 0x9b, 0x6d, 0x05, 0xad, 0xbd, 0xb9, 0x9b, 0xc7, 0x4a, 0xab, 0x73, 0x33, 0x84, + 0x72, 0x4e, 0x30, 0x72, 0xd2, 0xa2, 0xc2, 0xdf, 0xeb, 0x34, 0x5e, 0x24, 0xb5, 0x07, + 0x4b, 0x52, 0x78, 0x59, ], Elements::LeftShift32 => [ - 0xf9, 0xc4, 0xbf, 0x07, 0xd3, 0xe7, 0x2e, 0x85, 0xb1, 0xd4, 0x55, 0xf7, 0x34, 0xcf, - 0x1b, 0x11, 0xbe, 0xa5, 0x8e, 0x25, 0x3b, 0x85, 0x4a, 0x1a, 0x09, 0x7b, 0xab, 0x1e, - 0xc2, 0xc6, 0x2e, 0x1f, + 0xa4, 0xb3, 0xb3, 0xfc, 0x73, 0x45, 0xd3, 0x8f, 0xce, 0x54, 0x3f, 0x40, 0x1a, 0xe6, + 0xbd, 0x07, 0xba, 0x27, 0x42, 0xc3, 0x3d, 0x9a, 0xfa, 0xb3, 0xb3, 0xcc, 0xa3, 0xa0, + 0x25, 0x97, 0x3c, 0x98, ], Elements::LeftShift64 => [ - 0x8c, 0xfa, 0x74, 0x1a, 0xa4, 0x1d, 0x82, 0x8a, 0x41, 0x08, 0x3b, 0xb7, 0xcb, 0xdd, - 0x1f, 0x4e, 0xda, 0x5d, 0xcc, 0xac, 0x52, 0x9b, 0x24, 0x7d, 0x18, 0x84, 0x95, 0xb4, - 0x9b, 0xb3, 0x8c, 0x2b, + 0x62, 0xb7, 0x11, 0xe8, 0x4b, 0x67, 0x64, 0x8d, 0x34, 0x72, 0xac, 0xe1, 0x86, 0x29, + 0x1e, 0xb6, 0xd7, 0x73, 0xdd, 0xc0, 0xb8, 0xa3, 0xfb, 0xc2, 0x08, 0xa2, 0x75, 0xe9, + 0xdb, 0x91, 0xdd, 0xdd, ], Elements::LeftShift8 => [ - 0x95, 0x66, 0x3e, 0x07, 0x7c, 0xad, 0xca, 0x31, 0xb9, 0x59, 0x6b, 0x09, 0x70, 0x6c, - 0xdb, 0x4f, 0xa7, 0x03, 0x87, 0x0f, 0x79, 0x2a, 0x46, 0x35, 0x85, 0x2b, 0x5e, 0x24, - 0x69, 0xe6, 0xfd, 0xba, + 0x18, 0x7b, 0xba, 0x8e, 0x41, 0x63, 0xbd, 0xd0, 0xdd, 0xb5, 0x48, 0xff, 0x6e, 0xfa, + 0x6b, 0x7e, 0x2f, 0x3d, 0x09, 0x82, 0x97, 0xd2, 0x53, 0x3e, 0x77, 0xe8, 0xa7, 0x6b, + 0x6f, 0x2d, 0xd3, 0x24, ], Elements::LeftShiftWith16 => [ - 0x62, 0x14, 0xc4, 0x56, 0x25, 0xd7, 0x04, 0xce, 0xc9, 0x87, 0xb7, 0x96, 0x67, 0x6f, - 0x15, 0x66, 0x1a, 0x6b, 0xf5, 0xdc, 0x0f, 0x6a, 0x51, 0xcb, 0x86, 0x5a, 0x0e, 0x71, - 0xd6, 0x6f, 0xbf, 0x95, + 0x2d, 0xd4, 0x1a, 0xc4, 0xf1, 0xd6, 0xd9, 0x68, 0x70, 0xff, 0x49, 0x66, 0x31, 0xd4, + 0x0a, 0x4f, 0xf7, 0xed, 0xeb, 0x13, 0x7d, 0x63, 0xda, 0xfe, 0xe0, 0x02, 0xfa, 0x2d, + 0xda, 0x29, 0xa7, 0x57, ], Elements::LeftShiftWith32 => [ - 0x1b, 0x45, 0x2f, 0xc7, 0xab, 0x5c, 0x71, 0x47, 0x45, 0x4a, 0xf4, 0xd5, 0x59, 0x54, - 0x81, 0xff, 0xac, 0x42, 0xde, 0xa1, 0x06, 0x03, 0x2b, 0x3b, 0x9f, 0x37, 0x5b, 0xed, - 0xcd, 0xa6, 0xf4, 0xd6, + 0x9b, 0xfb, 0x24, 0x90, 0xbb, 0xa1, 0xeb, 0x3b, 0x7e, 0x25, 0x6a, 0x26, 0x09, 0x66, + 0xdc, 0x90, 0x9e, 0x73, 0xfd, 0x12, 0x59, 0x1e, 0xe1, 0x40, 0x67, 0x37, 0x18, 0xf9, + 0xf1, 0x0f, 0xc4, 0x9f, ], Elements::LeftShiftWith64 => [ - 0xc3, 0x8b, 0x02, 0xab, 0xcf, 0xf5, 0x14, 0xd9, 0x61, 0x91, 0xa7, 0xfe, 0xfb, 0xa1, - 0xac, 0x16, 0xe9, 0xc1, 0x50, 0xa1, 0x8c, 0xe1, 0xc5, 0xbc, 0xf0, 0x9d, 0x67, 0x55, - 0xe0, 0x36, 0x99, 0x05, + 0x85, 0x77, 0x46, 0x93, 0x7d, 0xe2, 0xc4, 0xc5, 0xa5, 0x5a, 0x90, 0xf3, 0x16, 0x0e, + 0xb9, 0x91, 0xdd, 0xbb, 0x60, 0x74, 0xf8, 0xa7, 0xc7, 0xc5, 0x8e, 0x8b, 0x2e, 0x38, + 0x22, 0x18, 0xa9, 0xfa, ], Elements::LeftShiftWith8 => [ - 0x21, 0x7a, 0xd6, 0xdc, 0x12, 0x92, 0xaa, 0x42, 0xdb, 0xd8, 0x4d, 0xbd, 0x97, 0x1c, - 0x11, 0x8f, 0x02, 0xa9, 0x74, 0x0a, 0x7c, 0xb5, 0x66, 0x1e, 0x90, 0xd4, 0x2d, 0xd5, - 0xca, 0x8c, 0xa4, 0xd9, + 0xf6, 0xf5, 0xbc, 0x6f, 0x43, 0xf6, 0x61, 0xe2, 0x72, 0x7c, 0x9e, 0xc8, 0x19, 0x63, + 0x88, 0xbc, 0xc4, 0x2b, 0x20, 0x36, 0x06, 0xa7, 0x78, 0xd5, 0x53, 0xa4, 0xea, 0x35, + 0x3f, 0xfc, 0x4b, 0xe6, ], Elements::Leftmost16_1 => [ - 0x3e, 0xa8, 0x9e, 0x43, 0x20, 0x77, 0x94, 0x0d, 0x0b, 0xbf, 0x9e, 0xd2, 0xcf, 0x16, - 0xba, 0x63, 0x11, 0x10, 0xe7, 0xab, 0x9f, 0x19, 0xee, 0xf3, 0xea, 0x92, 0x5a, 0x69, - 0x9f, 0x60, 0xc6, 0x0c, + 0x7f, 0xaf, 0x54, 0x9e, 0xf6, 0x20, 0xd0, 0xd8, 0xf9, 0x0b, 0x6d, 0x08, 0x42, 0x0c, + 0xf5, 0xe9, 0x8e, 0x93, 0x84, 0xea, 0x71, 0x6b, 0x82, 0xd7, 0xd8, 0xe1, 0x97, 0xa8, + 0xc4, 0x6e, 0x33, 0xce, ], Elements::Leftmost16_2 => [ - 0x5c, 0xe2, 0xbd, 0x7a, 0xc3, 0x5a, 0x7c, 0x33, 0x73, 0xc3, 0xdd, 0x60, 0x7f, 0x48, - 0xe5, 0xd4, 0xc7, 0xaa, 0xa6, 0xc6, 0x9f, 0xc4, 0x93, 0x0e, 0xca, 0x14, 0x04, 0x9f, - 0x5d, 0x39, 0xff, 0xab, + 0xf2, 0xac, 0x7c, 0x05, 0x96, 0x4a, 0x69, 0x9c, 0xe5, 0x95, 0xfb, 0x21, 0xee, 0xc1, + 0x61, 0xe8, 0x7a, 0x11, 0xb6, 0x51, 0x63, 0x0d, 0x9a, 0x28, 0x93, 0x09, 0x4e, 0xa3, + 0xf3, 0x31, 0x72, 0x43, ], Elements::Leftmost16_4 => [ - 0x10, 0x12, 0xa1, 0x39, 0x3e, 0xd0, 0xf9, 0x1d, 0x75, 0xad, 0x59, 0x12, 0x28, 0x53, - 0x89, 0x3a, 0x7f, 0x25, 0xcd, 0x35, 0xc8, 0x03, 0x6c, 0x7f, 0xa1, 0x95, 0x68, 0x2c, - 0xa1, 0x45, 0x8c, 0x4a, + 0x5a, 0x5e, 0xc5, 0x03, 0x9a, 0xa3, 0xaa, 0x0e, 0x58, 0xf7, 0xce, 0x64, 0xef, 0xd0, + 0x3a, 0xc2, 0x97, 0x41, 0x0f, 0x2c, 0xf4, 0x58, 0x17, 0xaf, 0x54, 0xef, 0xa6, 0xa0, + 0x07, 0x6b, 0x6f, 0x70, ], Elements::Leftmost16_8 => [ - 0xcc, 0xd3, 0x1e, 0x9e, 0xb1, 0xa1, 0xbb, 0xde, 0x55, 0x5c, 0x0f, 0x73, 0x1a, 0xf2, - 0xd3, 0xd4, 0xff, 0x53, 0x88, 0xfa, 0x14, 0x61, 0x82, 0x6a, 0xa9, 0xc8, 0x93, 0x42, - 0x42, 0xac, 0x75, 0x3f, + 0xe2, 0x25, 0x43, 0xf8, 0xfe, 0x86, 0x1d, 0xba, 0xee, 0x74, 0x4b, 0x0b, 0x8f, 0x58, + 0xb4, 0x7b, 0x9d, 0x13, 0xfb, 0x35, 0xa9, 0x50, 0x86, 0x3a, 0x59, 0x09, 0x7c, 0xf4, + 0xd4, 0x27, 0x24, 0xb9, ], Elements::Leftmost32_1 => [ - 0xb7, 0x14, 0xad, 0x74, 0xae, 0x04, 0x5a, 0xf7, 0x56, 0x80, 0x77, 0x8a, 0x03, 0x27, - 0x61, 0xa4, 0xc7, 0x26, 0xd7, 0xb6, 0xd9, 0x77, 0xbc, 0x93, 0xa4, 0x12, 0x56, 0x54, - 0x3c, 0xae, 0x8d, 0x3d, + 0xb3, 0x6d, 0xb0, 0x59, 0xdd, 0x42, 0xd7, 0x07, 0xbf, 0xa8, 0x39, 0xf8, 0x3b, 0xc2, + 0xed, 0x1d, 0xb5, 0x01, 0xb2, 0x3a, 0xf9, 0xaf, 0x71, 0x3f, 0x41, 0xff, 0x75, 0x5f, + 0xe2, 0xb3, 0xe9, 0x89, ], Elements::Leftmost32_16 => [ - 0x1b, 0x20, 0x63, 0x4f, 0xb4, 0x3e, 0xb8, 0x3a, 0x96, 0x8c, 0x3c, 0x81, 0xc0, 0x08, - 0x7c, 0x63, 0xd5, 0xd4, 0xf8, 0xca, 0xcd, 0xbd, 0x3e, 0x0e, 0x9f, 0x9a, 0x3d, 0x75, - 0x91, 0xc3, 0xef, 0x62, + 0xf1, 0x3e, 0xe3, 0x7b, 0xe6, 0x12, 0xe9, 0xdf, 0xf4, 0x90, 0x7e, 0xc3, 0xf1, 0xdd, + 0xe8, 0x6c, 0x58, 0xfe, 0xd4, 0xb1, 0x1a, 0x93, 0xb3, 0xbb, 0x2c, 0x79, 0x58, 0x00, + 0x49, 0x97, 0x92, 0x2e, ], Elements::Leftmost32_2 => [ - 0x75, 0x2d, 0xda, 0x08, 0xe4, 0x0f, 0xae, 0xa0, 0xf6, 0xc4, 0xee, 0x3d, 0x34, 0x4b, - 0x7c, 0x4e, 0xa1, 0x1b, 0x97, 0x1d, 0xce, 0xc5, 0x55, 0x92, 0xb8, 0x22, 0xee, 0x56, - 0x27, 0x1c, 0xa5, 0xdf, + 0x57, 0xd0, 0x25, 0x1a, 0xb5, 0x66, 0xa3, 0xd2, 0x48, 0xec, 0x6e, 0x7c, 0xd1, 0xe3, + 0xe9, 0xc7, 0x1b, 0x1d, 0xde, 0x0c, 0xf2, 0x84, 0x4a, 0x8c, 0x8a, 0xe7, 0x48, 0xbd, + 0x18, 0xd3, 0x73, 0x5c, ], Elements::Leftmost32_4 => [ - 0x44, 0xe9, 0xf7, 0x79, 0xa0, 0x29, 0xec, 0xfc, 0x97, 0x62, 0xb8, 0xb6, 0xcb, 0xaf, - 0x09, 0x22, 0xd9, 0x35, 0xfe, 0xa5, 0x15, 0x0a, 0x54, 0x6a, 0x5f, 0xc1, 0xfd, 0xb8, - 0xb9, 0x53, 0x41, 0x34, + 0x66, 0x68, 0x9b, 0xd5, 0xeb, 0x6a, 0x6d, 0xd5, 0xfc, 0x6b, 0x52, 0xfe, 0x90, 0xc1, + 0x74, 0xef, 0x0f, 0xa8, 0xb5, 0x17, 0x99, 0x30, 0x85, 0xc9, 0x01, 0xc5, 0x70, 0x2b, + 0xbd, 0x1f, 0xac, 0xe7, ], Elements::Leftmost32_8 => [ - 0x54, 0x80, 0x1e, 0xb5, 0xe7, 0x78, 0xcf, 0x6c, 0xda, 0x95, 0xcc, 0xf5, 0x70, 0x28, - 0x6d, 0x81, 0x6d, 0x3a, 0x1f, 0xf1, 0xdd, 0x39, 0xdb, 0x5a, 0xb6, 0x13, 0x6f, 0x0e, - 0xc3, 0xb7, 0x2d, 0xc6, + 0xc8, 0x85, 0x1f, 0xf6, 0x22, 0x06, 0xe8, 0x65, 0xc3, 0xb2, 0x66, 0x41, 0x98, 0x1d, + 0x0a, 0xe1, 0x60, 0xd3, 0xd4, 0x43, 0x7a, 0x98, 0x00, 0x62, 0x79, 0xdb, 0xb3, 0xa2, + 0x57, 0x76, 0x69, 0x8e, ], Elements::Leftmost64_1 => [ - 0xb3, 0x16, 0xaf, 0x24, 0xc8, 0x6b, 0x39, 0x61, 0x3d, 0x4f, 0xd1, 0xb3, 0x92, 0x6a, - 0x84, 0x13, 0x0e, 0xb7, 0xab, 0x12, 0xfd, 0xef, 0x62, 0x33, 0x17, 0xab, 0x48, 0xf7, - 0x7c, 0xb6, 0x21, 0x45, + 0xe0, 0x5e, 0xa1, 0x9d, 0x39, 0xee, 0x23, 0x5d, 0xde, 0x58, 0xe3, 0x1e, 0x4b, 0x95, + 0x34, 0xb6, 0xcb, 0x39, 0x9b, 0x1f, 0x2f, 0xa1, 0x81, 0x48, 0x8c, 0xed, 0xc2, 0x03, + 0xcd, 0x95, 0x96, 0x2a, ], Elements::Leftmost64_16 => [ - 0x8c, 0xf8, 0x54, 0x81, 0xe0, 0xf0, 0x08, 0x38, 0xb5, 0x23, 0x9b, 0xbf, 0xad, 0x13, - 0x82, 0xf0, 0x7b, 0xd0, 0x3c, 0x12, 0x1d, 0x5d, 0x8a, 0xaf, 0xa6, 0xd9, 0x83, 0x41, - 0x6d, 0xe4, 0x5c, 0x32, + 0xc3, 0xdd, 0xb0, 0x79, 0xc1, 0x12, 0x92, 0x5d, 0x42, 0x3b, 0xbd, 0x30, 0xd9, 0x02, + 0x26, 0x1e, 0x68, 0xa4, 0x1c, 0x3d, 0xe4, 0x38, 0x11, 0x66, 0xe1, 0x40, 0x05, 0x02, + 0x8b, 0xa8, 0x4b, 0x98, ], Elements::Leftmost64_2 => [ - 0xda, 0x40, 0xc8, 0x9b, 0x15, 0xc9, 0xe8, 0x6b, 0x02, 0x8c, 0xe9, 0xec, 0x07, 0xb7, - 0xf6, 0x99, 0x5a, 0x5d, 0xdd, 0xa4, 0x85, 0x0a, 0x91, 0xaf, 0x8c, 0x60, 0xe0, 0x2b, - 0xf9, 0x91, 0xfb, 0x0c, + 0x26, 0x4d, 0xb1, 0x23, 0x78, 0xdf, 0xad, 0xc1, 0xad, 0x6f, 0xf8, 0xd5, 0x78, 0xec, + 0x4d, 0xa1, 0x85, 0x32, 0xa1, 0xe6, 0xbd, 0xab, 0x7c, 0x17, 0x56, 0x9f, 0xdd, 0x7b, + 0xf4, 0x06, 0xfb, 0x20, ], Elements::Leftmost64_32 => [ - 0x95, 0xf4, 0x6d, 0xb9, 0xd9, 0x06, 0xf0, 0x50, 0x53, 0x45, 0x5e, 0x95, 0x34, 0xeb, - 0x9b, 0x08, 0xb0, 0x9e, 0x38, 0xbc, 0x0f, 0xc6, 0x98, 0xa1, 0x6f, 0x4b, 0x2a, 0x62, - 0x71, 0x07, 0x59, 0xd1, + 0x19, 0xa5, 0xd5, 0x3f, 0xe6, 0xb3, 0x0b, 0xe0, 0x2b, 0x91, 0xba, 0xfc, 0x63, 0xcb, + 0xe5, 0x50, 0x55, 0x98, 0xc1, 0x42, 0x55, 0xd8, 0x9e, 0x33, 0x48, 0x56, 0xdb, 0x5b, + 0x5b, 0xa2, 0x0d, 0xed, ], Elements::Leftmost64_4 => [ - 0xf5, 0x01, 0xf9, 0x05, 0xfb, 0x8b, 0xab, 0xa1, 0xa7, 0xe8, 0xa6, 0xbf, 0x68, 0xd3, - 0xae, 0x6a, 0x0a, 0xdd, 0x91, 0x95, 0x1b, 0x56, 0x62, 0x9d, 0x59, 0xf4, 0x28, 0x73, - 0x9e, 0x7e, 0x41, 0xa2, + 0x4c, 0x6f, 0xc8, 0xa0, 0x65, 0x46, 0x8e, 0x47, 0x51, 0x84, 0x4a, 0xef, 0xb6, 0xcc, + 0x49, 0x57, 0x58, 0x64, 0xf5, 0x67, 0xc5, 0x62, 0x86, 0x65, 0x4c, 0x43, 0xb3, 0xf8, + 0x33, 0x30, 0x32, 0x31, ], Elements::Leftmost64_8 => [ - 0xb3, 0x7f, 0x0b, 0xa2, 0xfc, 0xbd, 0x4a, 0xe3, 0x31, 0x6a, 0x4f, 0xe4, 0xf5, 0x8a, - 0xa1, 0xa5, 0x41, 0x74, 0x0c, 0xde, 0x60, 0xed, 0x87, 0xf3, 0x38, 0x62, 0xa2, 0xff, - 0xec, 0xad, 0x44, 0x2f, + 0x98, 0xb5, 0xe0, 0x16, 0xbd, 0x41, 0x45, 0x77, 0x8d, 0xfc, 0x63, 0x17, 0xdc, 0x65, + 0xd6, 0xc7, 0x5f, 0xef, 0x28, 0x57, 0x96, 0xb5, 0x9d, 0xea, 0xf1, 0x4a, 0xa0, 0x31, + 0x99, 0xf9, 0x48, 0x96, ], Elements::Leftmost8_1 => [ - 0x5f, 0xdc, 0xfa, 0x9b, 0x9a, 0x4b, 0x65, 0xc7, 0x20, 0x74, 0x71, 0xe5, 0x33, 0x92, - 0x8d, 0x6a, 0x24, 0xf4, 0xb6, 0xff, 0x9b, 0x34, 0x5e, 0xf7, 0x61, 0xb1, 0x48, 0x0a, - 0x8a, 0x05, 0xe3, 0xd7, + 0x38, 0xe3, 0x98, 0x5f, 0x1f, 0x99, 0xea, 0xb1, 0xa7, 0x87, 0xe7, 0x20, 0x0c, 0x30, + 0xcd, 0x9b, 0x95, 0x63, 0x1f, 0x95, 0xb4, 0x19, 0xfd, 0x76, 0xec, 0xe1, 0x99, 0x67, + 0xd1, 0xb0, 0x30, 0x69, ], Elements::Leftmost8_2 => [ - 0x62, 0x42, 0x21, 0xe9, 0xf8, 0xa9, 0x16, 0x91, 0x26, 0xc7, 0x33, 0x47, 0x96, 0x48, - 0xc7, 0x3b, 0x68, 0xc6, 0xb8, 0xeb, 0xbb, 0x60, 0xc7, 0x2a, 0xf1, 0xe6, 0xfc, 0x65, - 0xe7, 0xd3, 0x07, 0x23, + 0x51, 0xdb, 0xca, 0xeb, 0xc3, 0xac, 0x16, 0x43, 0xe5, 0xb0, 0x8c, 0xa2, 0x55, 0x29, + 0xf0, 0xe2, 0xb0, 0xbd, 0x9b, 0xdf, 0xa0, 0x41, 0xfd, 0x4d, 0xb7, 0x70, 0x29, 0xd0, + 0xc5, 0xff, 0x15, 0xb9, ], Elements::Leftmost8_4 => [ - 0x1a, 0x48, 0x43, 0xc4, 0x08, 0xe1, 0xd4, 0x6c, 0x9c, 0x93, 0x89, 0x46, 0x34, 0x49, - 0x5f, 0x8a, 0xd6, 0xa6, 0x80, 0xe3, 0x2d, 0xd6, 0xf2, 0x5b, 0xa1, 0x9d, 0xbc, 0x60, - 0xa6, 0x0d, 0x18, 0x97, + 0xb3, 0x94, 0x20, 0x9c, 0x9b, 0x34, 0x28, 0x4d, 0xde, 0x65, 0xea, 0x97, 0x35, 0xe4, + 0xeb, 0x0c, 0xdf, 0x01, 0xce, 0x87, 0x10, 0xe5, 0x8c, 0x5e, 0xd2, 0x0e, 0x8b, 0x94, + 0x6b, 0xf3, 0xf6, 0xea, ], Elements::LinearCombination1 => [ - 0x00, 0xbe, 0xf1, 0x44, 0xda, 0x3f, 0x51, 0x63, 0x31, 0x8c, 0x01, 0xeb, 0x66, 0xcc, - 0x68, 0x1f, 0x29, 0xcc, 0xb9, 0x87, 0xea, 0x2a, 0x88, 0xd0, 0x83, 0x34, 0x5a, 0x1c, - 0xaa, 0x08, 0x2c, 0xe3, + 0xfd, 0xd4, 0x7c, 0xa5, 0xc3, 0xb8, 0xbe, 0xd9, 0xf5, 0xf8, 0x27, 0x32, 0x9a, 0xf7, + 0xc0, 0x8b, 0x88, 0xd3, 0x54, 0x21, 0xd3, 0xd0, 0x2f, 0x3d, 0x6c, 0xae, 0x3e, 0x5b, + 0x49, 0xdc, 0xbe, 0xa3, ], Elements::LinearVerify1 => [ - 0x0c, 0x9f, 0xae, 0x64, 0xa6, 0x4c, 0xd6, 0x3c, 0xa8, 0x5b, 0xeb, 0xa7, 0x5c, 0x9f, - 0x2c, 0x6e, 0x85, 0x34, 0x3b, 0x74, 0xf2, 0x86, 0x34, 0xea, 0x85, 0xf7, 0x0f, 0xc3, - 0x41, 0xcc, 0xaf, 0xf3, + 0x7b, 0xe5, 0xd0, 0x46, 0x72, 0x84, 0x64, 0xb8, 0x30, 0x1d, 0x89, 0xd9, 0xd0, 0xde, + 0x8e, 0x19, 0x67, 0x5d, 0xf4, 0xd9, 0x10, 0x04, 0x7b, 0x25, 0xb3, 0x72, 0xd2, 0xc4, + 0x16, 0x6b, 0x3a, 0x0d, ], Elements::LockTime => [ - 0xee, 0x87, 0xa0, 0x25, 0xd7, 0x33, 0x8a, 0x3c, 0x8f, 0x25, 0x1b, 0xe4, 0x19, 0xef, - 0xb7, 0xee, 0x71, 0x77, 0xcb, 0x73, 0x8f, 0x42, 0xe8, 0xc0, 0x03, 0xfc, 0x46, 0x58, - 0xcc, 0x0e, 0x5b, 0x8b, + 0x7b, 0xdc, 0x81, 0x94, 0x1f, 0x8c, 0x9c, 0x7f, 0xa9, 0x40, 0x61, 0xa5, 0x9f, 0xbd, + 0xfc, 0x03, 0xa3, 0xf5, 0xc2, 0x67, 0xdc, 0xde, 0x1b, 0x23, 0xd3, 0xbe, 0x3a, 0x90, + 0xf0, 0xe9, 0xa7, 0xf5, ], Elements::Low1 => [ - 0xdb, 0x4a, 0x42, 0x4a, 0x20, 0xae, 0xef, 0xa4, 0xe7, 0x42, 0xd5, 0x1d, 0x84, 0x92, - 0x92, 0x18, 0xcb, 0xf7, 0x34, 0x72, 0x61, 0x76, 0xdc, 0x4f, 0xf9, 0xf8, 0xbf, 0x13, - 0xde, 0x10, 0xca, 0x2b, + 0xf3, 0xd1, 0x0b, 0x07, 0x49, 0x33, 0x2c, 0xdd, 0xae, 0x0a, 0x49, 0xcc, 0x02, 0x65, + 0x7b, 0x02, 0x58, 0xe0, 0xa5, 0xa7, 0x05, 0x95, 0x81, 0x00, 0x22, 0xc5, 0xa6, 0x4e, + 0x90, 0x40, 0x88, 0xb0, ], Elements::Low16 => [ - 0xa1, 0x14, 0xe9, 0x58, 0x0d, 0xe0, 0x7d, 0x8b, 0x07, 0x7e, 0xb8, 0x89, 0x98, 0x75, - 0x5a, 0x0a, 0x62, 0xbf, 0xe0, 0x85, 0xfb, 0x23, 0x40, 0x4c, 0xd1, 0xe8, 0x78, 0x68, - 0xcd, 0x56, 0xd5, 0xbd, + 0x67, 0x0d, 0x1c, 0xf0, 0x8d, 0x65, 0x5f, 0x40, 0xfd, 0xa2, 0x27, 0x7a, 0xa9, 0x15, + 0x54, 0x14, 0xa3, 0xb4, 0xd8, 0x0e, 0x97, 0xf6, 0xb8, 0x67, 0xd4, 0xe5, 0x62, 0xe3, + 0xa0, 0x5b, 0x46, 0x45, ], Elements::Low32 => [ - 0xa7, 0x17, 0x61, 0x0e, 0x8c, 0x57, 0x71, 0x25, 0x51, 0x40, 0xd6, 0x20, 0x7f, 0xff, - 0x3b, 0xdd, 0x34, 0x64, 0xac, 0xff, 0x59, 0x98, 0xe1, 0x29, 0xaf, 0x8b, 0x9f, 0x4c, - 0x0e, 0x21, 0xb2, 0x3d, + 0xd9, 0xbf, 0x78, 0xc4, 0x9f, 0x8d, 0x6b, 0x7a, 0xe4, 0xb4, 0xb0, 0x84, 0xf0, 0xd3, + 0x64, 0xf7, 0x2b, 0x04, 0x62, 0xff, 0x39, 0xc3, 0x21, 0xc0, 0x2d, 0x92, 0xb5, 0x42, + 0x60, 0x86, 0xd0, 0xb5, ], Elements::Low64 => [ - 0x9a, 0x6f, 0x4a, 0x0a, 0xd2, 0xfb, 0x72, 0xc5, 0x79, 0x42, 0x4c, 0x72, 0xe1, 0x7d, - 0xaa, 0xe6, 0x2b, 0x36, 0x66, 0x95, 0xcd, 0x1a, 0x26, 0x85, 0xfb, 0x0a, 0xb0, 0x2e, - 0x4c, 0x2c, 0xc0, 0xf5, + 0x36, 0x4d, 0xa0, 0x86, 0xeb, 0xe3, 0x01, 0x1b, 0x1b, 0x58, 0x5f, 0x5c, 0xb9, 0xab, + 0xc8, 0x7e, 0xe5, 0x7b, 0x56, 0x37, 0xcb, 0x95, 0xec, 0xf3, 0x12, 0x93, 0x8d, 0xf2, + 0x86, 0x30, 0xfd, 0xa4, ], Elements::Low8 => [ - 0x69, 0xc9, 0xb9, 0xca, 0xb9, 0xf4, 0x4c, 0xff, 0xae, 0xdf, 0x1c, 0x84, 0x31, 0x46, - 0xbc, 0xc0, 0xb0, 0x3b, 0x0f, 0x0c, 0x13, 0x48, 0x66, 0xaf, 0xd2, 0x3a, 0x61, 0x4f, - 0x01, 0xa7, 0x0a, 0x24, + 0xd4, 0x24, 0x4f, 0x7c, 0x17, 0xb0, 0x49, 0x04, 0x8a, 0xc5, 0x8b, 0x4d, 0xa5, 0x78, + 0x16, 0x9d, 0x0e, 0xd6, 0x51, 0x49, 0x40, 0x8e, 0xa9, 0xb0, 0x33, 0xb3, 0xd8, 0xb7, + 0x7d, 0x76, 0xc6, 0x87, ], Elements::Lt16 => [ - 0x4f, 0x46, 0x5a, 0x49, 0xa9, 0x63, 0xac, 0xce, 0x93, 0xf6, 0xb6, 0xf8, 0x23, 0xeb, - 0x94, 0x72, 0xb4, 0xcc, 0x21, 0xf6, 0xe5, 0x8b, 0x76, 0x57, 0x05, 0x08, 0xba, 0xbd, - 0xf4, 0x4a, 0x8c, 0x97, + 0x32, 0x60, 0x28, 0x44, 0xfb, 0x68, 0xeb, 0x7a, 0xf6, 0xf7, 0xf1, 0xbd, 0xa3, 0x50, + 0xe2, 0x29, 0x2c, 0x3f, 0xc2, 0x87, 0xf8, 0x1e, 0xca, 0x17, 0xf0, 0x68, 0xf4, 0xfa, + 0x94, 0x2d, 0x40, 0x2a, ], Elements::Lt32 => [ - 0xd3, 0x42, 0x1d, 0xfc, 0x84, 0x67, 0x1c, 0xd7, 0x44, 0x50, 0x82, 0xa9, 0x86, 0xdf, - 0x16, 0x28, 0xed, 0xca, 0xcb, 0xf4, 0x29, 0xa3, 0xc8, 0x09, 0xd2, 0x36, 0x54, 0x97, - 0xe1, 0x17, 0x0b, 0xfd, + 0xb7, 0x03, 0xd3, 0x5d, 0xee, 0xd9, 0x6c, 0xe3, 0x9d, 0xf8, 0xad, 0x21, 0x4f, 0x74, + 0x89, 0x8a, 0x17, 0x65, 0xaa, 0x14, 0x06, 0xbc, 0xe4, 0xbf, 0x9a, 0xfc, 0x5c, 0x63, + 0xa8, 0x38, 0x2d, 0x9e, ], Elements::Lt64 => [ - 0x7c, 0x67, 0xaa, 0x89, 0x93, 0xfc, 0xda, 0x59, 0x30, 0xf7, 0x9d, 0xb2, 0x00, 0x8a, - 0xa6, 0xd7, 0xbe, 0x5f, 0x3b, 0xed, 0x5a, 0xca, 0x5e, 0x03, 0x2d, 0xcc, 0xcf, 0x0b, - 0xe8, 0x4f, 0x62, 0xd1, + 0x94, 0xf1, 0xe4, 0x8d, 0x7c, 0x87, 0xc1, 0x80, 0x83, 0x84, 0x1e, 0xc1, 0x24, 0x67, + 0x94, 0x2b, 0x76, 0xa8, 0x93, 0xfa, 0x08, 0xe9, 0x41, 0x23, 0xb4, 0xfe, 0x80, 0x20, + 0xd5, 0xf1, 0xd9, 0xaf, ], Elements::Lt8 => [ - 0x98, 0x76, 0x3f, 0x78, 0x21, 0x69, 0x09, 0x54, 0xcf, 0x50, 0x81, 0x02, 0x09, 0xdf, - 0x6e, 0x15, 0x57, 0x03, 0x16, 0xbb, 0xa8, 0x9f, 0xfa, 0x9a, 0xe5, 0x56, 0xa9, 0x15, - 0xf3, 0x7b, 0x64, 0x0b, + 0xf4, 0x0a, 0x8c, 0xfa, 0x78, 0x39, 0x93, 0x9c, 0xa4, 0xdd, 0x3d, 0x01, 0x22, 0xd4, + 0xb5, 0x6c, 0xc3, 0xc6, 0x54, 0xe3, 0x5e, 0x2a, 0xf2, 0xd3, 0x51, 0x1f, 0xc9, 0x44, + 0x6c, 0xf0, 0xf8, 0xaf, ], Elements::Maj1 => [ - 0xae, 0x8b, 0x91, 0x2e, 0x3a, 0xd4, 0x7f, 0x68, 0x8b, 0xbb, 0x46, 0xc8, 0xcb, 0x6d, - 0x53, 0x33, 0x69, 0xf5, 0x10, 0x9a, 0x27, 0x30, 0x47, 0x1e, 0xab, 0x6e, 0xfe, 0x98, - 0xe9, 0xea, 0x5e, 0x78, + 0x79, 0xd1, 0x85, 0xf5, 0x3d, 0x2e, 0x2f, 0xab, 0x87, 0x54, 0xc1, 0xb9, 0x58, 0xa5, + 0xa1, 0xb5, 0xb9, 0xdf, 0xa5, 0x0d, 0x90, 0x0c, 0xe4, 0x3a, 0xd7, 0x35, 0x61, 0xb4, + 0x4a, 0x88, 0x78, 0x22, ], Elements::Maj16 => [ - 0xf5, 0xa4, 0x1d, 0xa0, 0x37, 0x7f, 0xe6, 0x88, 0xac, 0x2f, 0xcd, 0xf3, 0x5b, 0x6b, - 0x7a, 0x47, 0x2e, 0x78, 0xea, 0x69, 0xfd, 0x2b, 0x17, 0xf7, 0x56, 0x34, 0x2b, 0xaa, - 0x1f, 0x8b, 0x9f, 0xdd, + 0xa1, 0x7f, 0x14, 0xf2, 0x9c, 0xe6, 0x4c, 0xc0, 0xa3, 0x41, 0x07, 0x06, 0x74, 0x7a, + 0x48, 0x32, 0x19, 0x0a, 0xf2, 0x3c, 0x03, 0xca, 0xc1, 0x64, 0xa4, 0x7f, 0xc1, 0x27, + 0xb4, 0x8f, 0x34, 0x28, ], Elements::Maj32 => [ - 0xf1, 0xd9, 0x3b, 0x04, 0x6b, 0x02, 0x85, 0xf6, 0xe5, 0x20, 0x46, 0x7f, 0x26, 0x5f, - 0x6a, 0x6a, 0xe3, 0x49, 0x1f, 0x16, 0x78, 0xc8, 0xa8, 0x26, 0xa0, 0x09, 0x9b, 0x9c, - 0xd4, 0x15, 0x99, 0xd4, + 0xe1, 0x9f, 0xad, 0xfa, 0xc6, 0xc7, 0x85, 0xb8, 0x98, 0x29, 0xa9, 0x1e, 0xc0, 0x21, + 0x59, 0x35, 0xc4, 0x9f, 0xbc, 0x9d, 0x20, 0xc6, 0xbe, 0x78, 0xde, 0x9a, 0x63, 0x55, + 0xe8, 0x18, 0x13, 0x56, ], Elements::Maj64 => [ - 0x5e, 0x99, 0x6c, 0x51, 0x51, 0xd7, 0xac, 0xee, 0x4a, 0x7d, 0x9e, 0x22, 0x95, 0xef, - 0x8f, 0x2c, 0x75, 0x54, 0x88, 0x84, 0x4b, 0xfd, 0xe2, 0x5d, 0x5a, 0xcd, 0xfe, 0xa2, - 0x98, 0x44, 0x43, 0x5a, + 0xf1, 0x19, 0xb2, 0xf2, 0x38, 0x3b, 0x9f, 0xe6, 0xdd, 0x76, 0x8e, 0x5e, 0xe2, 0x7d, + 0xb4, 0xf5, 0x78, 0x38, 0x68, 0xcf, 0x9b, 0x9e, 0x13, 0x85, 0x41, 0x00, 0x39, 0x90, + 0x1d, 0x17, 0xc2, 0x30, ], Elements::Maj8 => [ - 0xab, 0x6c, 0x4c, 0x41, 0xab, 0x67, 0xeb, 0xf7, 0xea, 0x60, 0x87, 0x0c, 0x9b, 0x2d, - 0x93, 0x10, 0x01, 0x74, 0x29, 0x61, 0x8d, 0x2a, 0xb9, 0x02, 0x68, 0xb5, 0xc5, 0xc2, - 0xb5, 0x37, 0x7f, 0x3b, + 0x41, 0x56, 0x21, 0xcb, 0x9e, 0x42, 0x8f, 0x72, 0xeb, 0x29, 0x56, 0xe4, 0x69, 0x6f, + 0x70, 0x65, 0xde, 0xe6, 0xa8, 0xda, 0x5e, 0xed, 0xde, 0x32, 0x36, 0x2b, 0x81, 0x24, + 0xa1, 0x95, 0xdd, 0x50, ], Elements::Max16 => [ - 0xcd, 0xdd, 0x81, 0x69, 0x55, 0x22, 0x97, 0x1b, 0x52, 0x9e, 0xb0, 0xbb, 0x53, 0x81, - 0x8f, 0xe2, 0x28, 0x58, 0xac, 0x6b, 0x03, 0x7c, 0x38, 0x10, 0xec, 0x26, 0x8b, 0x53, - 0xb8, 0x17, 0xa3, 0x8d, + 0xce, 0xb7, 0x1d, 0x05, 0xf9, 0x55, 0x18, 0xd3, 0xd4, 0x09, 0x25, 0xe7, 0x3c, 0xa2, + 0x9b, 0x7c, 0x3e, 0xc6, 0x2b, 0x92, 0xaf, 0x47, 0x88, 0x04, 0x8f, 0x7b, 0xe8, 0x06, + 0x52, 0xf6, 0xba, 0x2b, ], Elements::Max32 => [ - 0xd9, 0x16, 0xf3, 0x4b, 0xd7, 0x85, 0xb9, 0x38, 0x08, 0xb6, 0x7c, 0x62, 0x28, 0x4f, - 0x94, 0xaa, 0x5d, 0xf4, 0x79, 0x19, 0x59, 0xb4, 0x9b, 0x85, 0x82, 0xb0, 0x58, 0x2b, - 0x82, 0x85, 0x38, 0x83, + 0x67, 0x9f, 0x51, 0xce, 0xca, 0x3e, 0x7b, 0xfc, 0x4b, 0x8b, 0x8c, 0x14, 0x5f, 0xbe, + 0x06, 0x47, 0x3f, 0x65, 0x3b, 0x21, 0xfb, 0x8f, 0x58, 0x38, 0x39, 0xfc, 0x9f, 0x9e, + 0x22, 0x1a, 0x99, 0xe7, ], Elements::Max64 => [ - 0x99, 0xef, 0x5a, 0xbf, 0xf7, 0x87, 0x00, 0xbd, 0x93, 0xd1, 0xc9, 0x77, 0xfd, 0x68, - 0x6f, 0x31, 0x21, 0x0f, 0xd1, 0xce, 0x1d, 0x09, 0x4d, 0x23, 0x04, 0x8c, 0x02, 0x6c, - 0x19, 0xfc, 0x98, 0x4a, + 0x6a, 0xeb, 0x60, 0x2c, 0x1f, 0x2d, 0xe2, 0x0e, 0x6a, 0xee, 0x7e, 0x23, 0x3b, 0x29, + 0xdb, 0x2e, 0xe5, 0x33, 0xa0, 0xc1, 0x1e, 0x33, 0x63, 0xfc, 0x67, 0xb3, 0x0d, 0x6c, + 0x78, 0x33, 0x83, 0x52, ], Elements::Max8 => [ - 0x3a, 0xcb, 0xf7, 0x73, 0x3f, 0xd8, 0xef, 0x4f, 0x51, 0x96, 0x7a, 0xa2, 0x45, 0x55, - 0x8b, 0x28, 0x37, 0x4d, 0x54, 0xc6, 0x32, 0xa9, 0xf4, 0x6a, 0xab, 0x6b, 0x2b, 0x1e, - 0xc2, 0xd5, 0x13, 0x9a, + 0x5c, 0x1f, 0x36, 0x9a, 0xfa, 0xac, 0x6b, 0x74, 0xb5, 0x7e, 0xdf, 0x3c, 0xec, 0xfb, + 0x61, 0xf2, 0x07, 0xe0, 0x59, 0x39, 0xb1, 0xc6, 0xfc, 0x73, 0x5b, 0x07, 0x83, 0x6f, + 0x39, 0x73, 0xd9, 0x04, ], Elements::Median16 => [ - 0xd6, 0x46, 0x3e, 0x89, 0xdf, 0xe2, 0xc3, 0x34, 0xb0, 0x1f, 0x90, 0x97, 0xb0, 0x1a, - 0x75, 0xc4, 0x75, 0xfb, 0x0f, 0x0f, 0x16, 0x7c, 0xb6, 0xb7, 0x49, 0x76, 0xf1, 0x97, - 0xbd, 0x4c, 0x76, 0xe1, + 0xc0, 0x9a, 0x30, 0x0b, 0x6d, 0x02, 0x3c, 0xa4, 0x09, 0x27, 0x9e, 0x42, 0x27, 0x47, + 0x0d, 0xd8, 0xbd, 0x52, 0xf1, 0x68, 0xf1, 0xf8, 0xbf, 0xa9, 0x38, 0x77, 0x9f, 0x03, + 0xc8, 0x6e, 0xf1, 0x52, ], Elements::Median32 => [ - 0x01, 0xdc, 0xa1, 0xed, 0xe5, 0xb2, 0x9d, 0x88, 0x48, 0x0b, 0xc4, 0xdc, 0x43, 0xbe, - 0x4e, 0x04, 0xf2, 0xd2, 0x09, 0xee, 0x32, 0xf6, 0xcf, 0x3e, 0xc7, 0x05, 0x0d, 0xa1, - 0x07, 0x35, 0x90, 0x63, + 0x84, 0x81, 0x00, 0x59, 0x86, 0xf4, 0x29, 0x48, 0x05, 0x1a, 0x36, 0x4a, 0xd4, 0x18, + 0x70, 0x2e, 0xbc, 0x76, 0xfa, 0x36, 0x53, 0x44, 0xaa, 0x2e, 0xa1, 0xa6, 0x30, 0x05, + 0xe6, 0x1f, 0xe8, 0xbb, ], Elements::Median64 => [ - 0x70, 0x7a, 0x6f, 0xa8, 0xc1, 0x54, 0x95, 0xa2, 0xc4, 0x82, 0x22, 0x63, 0xdd, 0xce, - 0xa5, 0xe0, 0xf0, 0xe8, 0x50, 0xa9, 0x4b, 0x1c, 0xf4, 0xec, 0xc0, 0x65, 0x2f, 0xaf, - 0xee, 0xf1, 0x30, 0xe9, + 0xcc, 0xba, 0xa9, 0x00, 0x0f, 0x3c, 0x0c, 0x9e, 0xc7, 0x1b, 0xc0, 0xdb, 0x5d, 0xa8, + 0x52, 0x83, 0x6f, 0xa9, 0x12, 0x28, 0xb3, 0x73, 0xf5, 0x6b, 0xce, 0xf0, 0xb2, 0x25, + 0x85, 0xd4, 0x70, 0xff, ], Elements::Median8 => [ - 0x26, 0xbf, 0xcb, 0x7b, 0xab, 0xcf, 0x26, 0xc9, 0x7a, 0x84, 0x16, 0x75, 0x45, 0x74, - 0x62, 0x76, 0x59, 0x27, 0x9a, 0xf8, 0x09, 0x55, 0x48, 0x82, 0x40, 0x0e, 0xf8, 0x74, - 0xdf, 0x1c, 0x1a, 0x31, + 0xc5, 0xb2, 0xc0, 0x01, 0xdc, 0x50, 0x4f, 0xf4, 0xc2, 0xe0, 0x52, 0x86, 0x56, 0xd4, + 0xda, 0xbf, 0x33, 0xfb, 0x41, 0x42, 0xd0, 0x26, 0xab, 0x61, 0x37, 0x4c, 0x23, 0x89, + 0x0b, 0xda, 0x1f, 0x18, ], Elements::Min16 => [ - 0x63, 0xbb, 0xc0, 0xe5, 0xdb, 0x1c, 0xe0, 0x80, 0x97, 0xd3, 0xf5, 0xbc, 0xc5, 0xbe, - 0x1d, 0x72, 0x09, 0x0b, 0xab, 0x4a, 0x87, 0xc1, 0x0c, 0x80, 0x05, 0x49, 0xca, 0x84, - 0xef, 0xbf, 0xe5, 0xe3, + 0xb2, 0x26, 0x58, 0x69, 0xea, 0x19, 0x0b, 0xba, 0x73, 0x0c, 0xd7, 0xd7, 0xcd, 0x05, + 0x24, 0xd1, 0x3e, 0xbf, 0x76, 0x7e, 0x1b, 0x12, 0x5c, 0x44, 0x1b, 0x1b, 0xab, 0x0e, + 0x3d, 0xbe, 0xef, 0x26, ], Elements::Min32 => [ - 0xaf, 0x4d, 0x61, 0x84, 0x2f, 0x47, 0x90, 0x32, 0x5c, 0x61, 0x45, 0x56, 0xc7, 0x77, - 0x6e, 0xea, 0x45, 0x75, 0x13, 0xca, 0x42, 0x2f, 0x30, 0x5b, 0x46, 0x3f, 0x8f, 0x7d, - 0x8b, 0xda, 0x0c, 0x3c, + 0x6d, 0x92, 0x1b, 0xfb, 0xaf, 0x93, 0x50, 0x63, 0xbd, 0x4b, 0x4e, 0x48, 0xd6, 0xd1, + 0x36, 0x64, 0xbd, 0x5d, 0x0a, 0xc2, 0x5f, 0x5e, 0xe3, 0x0e, 0xbe, 0x51, 0x8e, 0x79, + 0x11, 0x51, 0x75, 0x0a, ], Elements::Min64 => [ - 0xf0, 0xa3, 0x17, 0x0f, 0xb3, 0x06, 0x50, 0x90, 0x71, 0xb2, 0x14, 0x32, 0x30, 0x9c, - 0x00, 0x86, 0x5d, 0x8f, 0xb6, 0x75, 0x2d, 0xe6, 0xec, 0x41, 0x0a, 0xbb, 0x6c, 0xe3, - 0x5b, 0x4f, 0xfa, 0x9c, + 0x05, 0xd9, 0xc0, 0xa2, 0xa7, 0x1f, 0x88, 0x7d, 0x76, 0x46, 0xe4, 0x15, 0x82, 0x72, + 0x30, 0xcf, 0xbe, 0xcc, 0x0d, 0x82, 0x36, 0xc5, 0x62, 0xf2, 0xdf, 0xda, 0x3d, 0xcd, + 0xe1, 0x3b, 0x2f, 0x03, ], Elements::Min8 => [ - 0x8a, 0xa7, 0x1d, 0x09, 0x3e, 0x83, 0x8a, 0xd3, 0x6a, 0xa6, 0xfe, 0x16, 0xfd, 0x1d, - 0xde, 0x9f, 0xb5, 0x77, 0x2a, 0xc4, 0x5d, 0x6b, 0xb8, 0xe4, 0x2c, 0x88, 0x83, 0xa2, - 0xa9, 0xf1, 0x00, 0xe2, + 0x57, 0xba, 0x25, 0x7d, 0xc7, 0x0a, 0x97, 0x5e, 0xfb, 0x22, 0xd7, 0xe0, 0xa9, 0x98, + 0xae, 0xa9, 0xd5, 0x7f, 0x20, 0x8a, 0x74, 0x56, 0x5a, 0x68, 0xf2, 0xac, 0x8b, 0x50, + 0x1e, 0x22, 0x0d, 0xc0, ], Elements::Modulo16 => [ - 0x0e, 0xa8, 0x98, 0x59, 0x79, 0x20, 0x9d, 0x31, 0x94, 0xc5, 0x59, 0x12, 0xf2, 0x1a, - 0x65, 0x77, 0xda, 0x30, 0xc5, 0x17, 0xe0, 0x08, 0xf8, 0x51, 0xc3, 0x52, 0x08, 0x5b, - 0xb0, 0x67, 0xa0, 0xf1, + 0x7a, 0xbd, 0xe1, 0xdc, 0xab, 0x9d, 0x23, 0xea, 0xe1, 0xd0, 0xa0, 0xa6, 0xb3, 0x84, + 0xfb, 0x39, 0xdf, 0x21, 0xc3, 0x83, 0x16, 0xc0, 0xbb, 0xcc, 0x6c, 0x70, 0x6d, 0x7b, + 0x5f, 0x3d, 0x68, 0xbb, ], Elements::Modulo32 => [ - 0x22, 0x3f, 0xb5, 0x83, 0x2b, 0x95, 0x59, 0xca, 0x86, 0x51, 0x72, 0x6a, 0xb7, 0x95, - 0x6e, 0x58, 0xe5, 0x3a, 0x40, 0x2d, 0xf9, 0x60, 0x34, 0x86, 0x18, 0x18, 0x07, 0xa2, - 0xfc, 0xae, 0xd4, 0x87, + 0x7d, 0x12, 0x78, 0x66, 0xce, 0xb0, 0x03, 0xec, 0x84, 0xa2, 0x70, 0x2a, 0xff, 0x40, + 0x59, 0xa7, 0xc6, 0xfb, 0x00, 0xa5, 0xa5, 0xba, 0xce, 0x90, 0xb9, 0xd9, 0xc0, 0x20, + 0xb5, 0xdc, 0x02, 0x97, ], Elements::Modulo64 => [ - 0x82, 0x59, 0xa2, 0xe3, 0xb0, 0x78, 0x9c, 0x9d, 0x31, 0xea, 0xbc, 0x49, 0x39, 0xd3, - 0x1b, 0xc5, 0x25, 0x4c, 0x56, 0x65, 0xc4, 0x12, 0x05, 0x2c, 0x12, 0xd7, 0x2e, 0xcd, - 0xfb, 0xed, 0x52, 0x25, + 0xaa, 0xfe, 0xd9, 0xe3, 0x7b, 0x3d, 0x3e, 0xd4, 0x1d, 0xb1, 0x71, 0x16, 0x7b, 0x0f, + 0xa2, 0x3c, 0x8b, 0x82, 0x3a, 0xdd, 0x9a, 0x48, 0xad, 0xde, 0x24, 0xba, 0x20, 0xf9, + 0x19, 0x4b, 0x07, 0x9c, ], Elements::Modulo8 => [ - 0xf8, 0xfd, 0x7c, 0x21, 0xc1, 0x5e, 0xbc, 0x5a, 0x04, 0xb3, 0xd3, 0xbc, 0x0a, 0xd6, - 0x47, 0xe2, 0x1d, 0x89, 0xf8, 0x00, 0x8d, 0xdd, 0xdf, 0xfe, 0xbb, 0x00, 0x3e, 0x35, - 0x52, 0xbd, 0xb5, 0x70, + 0x90, 0xf3, 0xac, 0xeb, 0x58, 0x47, 0x71, 0x39, 0x06, 0xd2, 0xf8, 0xef, 0x7c, 0xb4, + 0xb6, 0x6b, 0x08, 0x92, 0x81, 0x0e, 0xa8, 0x01, 0xbf, 0xa9, 0xd7, 0x46, 0xda, 0x1a, + 0xd6, 0xd9, 0x80, 0x09, ], Elements::Multiply16 => [ - 0xd6, 0x6b, 0x0a, 0xd2, 0x1c, 0xdb, 0xe6, 0x01, 0x4f, 0x26, 0x19, 0xf4, 0x40, 0xd9, - 0x35, 0xf6, 0x42, 0xe9, 0x7c, 0x59, 0x4e, 0x3b, 0x44, 0x1f, 0x01, 0x98, 0x0e, 0xea, - 0x08, 0xc4, 0x85, 0x91, + 0x68, 0x68, 0xa8, 0x5d, 0x9f, 0x76, 0xc9, 0x58, 0xff, 0xda, 0x84, 0x78, 0x05, 0xf5, + 0xeb, 0xc0, 0x9f, 0x43, 0xbd, 0xdb, 0xc1, 0x40, 0x95, 0x2a, 0xbb, 0x2a, 0x4c, 0xc0, + 0x19, 0x27, 0xeb, 0xdd, ], Elements::Multiply32 => [ - 0xc6, 0x7f, 0x65, 0xaf, 0xae, 0x79, 0x10, 0x8c, 0xe5, 0xf7, 0x24, 0xf4, 0x01, 0x81, - 0x7a, 0xa1, 0xb4, 0xa7, 0x60, 0x8a, 0x4e, 0x18, 0xee, 0x74, 0x82, 0x6b, 0x37, 0xf7, - 0x94, 0x9c, 0x77, 0xd6, + 0x69, 0xf9, 0x1b, 0x99, 0x4d, 0x83, 0x40, 0xe4, 0x8c, 0x0f, 0x11, 0x24, 0x99, 0x0d, + 0xe0, 0x3b, 0x51, 0x2a, 0xdc, 0xec, 0xd7, 0xbd, 0xeb, 0x29, 0xe4, 0x09, 0xa3, 0x51, + 0x19, 0xf1, 0x1f, 0xac, ], Elements::Multiply64 => [ - 0x16, 0xac, 0x08, 0xfe, 0xc9, 0xd9, 0x66, 0x52, 0x7f, 0x80, 0xc3, 0x9c, 0x64, 0xa4, - 0xfc, 0x10, 0x82, 0xb1, 0x50, 0xbd, 0xbb, 0x05, 0xf7, 0xf6, 0xc4, 0xb9, 0xa0, 0x0e, - 0xbd, 0x89, 0x4d, 0xba, + 0xd1, 0xf1, 0x48, 0xf2, 0xd4, 0x50, 0xe8, 0x03, 0x47, 0x43, 0x43, 0xe5, 0x9d, 0x2e, + 0x0c, 0x4d, 0xa7, 0xd6, 0xb0, 0x97, 0x2c, 0xfa, 0x25, 0x1c, 0x9a, 0x82, 0x2a, 0xb4, + 0x42, 0x63, 0xe1, 0x62, ], Elements::Multiply8 => [ - 0xce, 0xc3, 0xd5, 0xc3, 0x2d, 0xee, 0x35, 0x2e, 0x75, 0x4f, 0x14, 0x1c, 0x02, 0xef, - 0x2b, 0x60, 0xf8, 0x6e, 0x27, 0xd2, 0xcb, 0xe2, 0x73, 0x26, 0x06, 0x0d, 0xec, 0x9e, - 0x7b, 0xcc, 0x20, 0x6b, + 0x2a, 0x8c, 0x03, 0x63, 0x2e, 0xcc, 0x5e, 0x61, 0xe3, 0xf1, 0x20, 0x3a, 0x91, 0x2b, + 0x1a, 0x77, 0x3e, 0xb6, 0xbf, 0x63, 0x4b, 0x6b, 0xdf, 0x56, 0x63, 0xb8, 0x43, 0x1d, + 0xb6, 0xf5, 0x5b, 0xe3, ], Elements::Negate16 => [ - 0x81, 0xf3, 0xef, 0x08, 0x2b, 0x19, 0x9d, 0x2e, 0x47, 0x45, 0x35, 0xfb, 0x84, 0x28, - 0x2f, 0x21, 0x11, 0x1c, 0x1a, 0x04, 0x97, 0xa9, 0x16, 0x95, 0xe7, 0x2c, 0x4d, 0x51, - 0xaf, 0x1c, 0xb0, 0x57, + 0xf1, 0xa2, 0x24, 0x28, 0x06, 0xaa, 0xdf, 0xc4, 0xdc, 0x11, 0xde, 0x65, 0xe8, 0x77, + 0xb0, 0xd8, 0x73, 0xb5, 0xd5, 0x65, 0xee, 0xe3, 0xf8, 0x48, 0xa7, 0x44, 0x28, 0x31, + 0xe5, 0x2c, 0x63, 0x0a, ], Elements::Negate32 => [ - 0xba, 0x17, 0x3b, 0xde, 0xf2, 0x4e, 0x63, 0x7f, 0x4a, 0x5a, 0x0c, 0x6f, 0xed, 0x4b, - 0xbc, 0x22, 0xc7, 0xd0, 0x8b, 0xcc, 0x20, 0xfd, 0xca, 0x61, 0x70, 0x36, 0x3d, 0x25, - 0x26, 0x95, 0x58, 0x36, + 0xdb, 0x75, 0xba, 0x2c, 0x60, 0x95, 0x2e, 0x76, 0x5d, 0x7a, 0x5c, 0xe4, 0xaa, 0xa3, + 0x12, 0x64, 0x99, 0x0f, 0xcc, 0xac, 0x75, 0x0a, 0x80, 0xad, 0xc6, 0x78, 0x78, 0x7f, + 0x5f, 0x72, 0xbf, 0xdd, ], Elements::Negate64 => [ - 0xe7, 0x13, 0x27, 0x2d, 0x6d, 0x9a, 0x6d, 0x69, 0x6c, 0x46, 0x88, 0x9d, 0xfb, 0x27, - 0x04, 0x75, 0xe9, 0x23, 0x8d, 0x17, 0x72, 0xab, 0xf9, 0x16, 0x5b, 0x09, 0x3c, 0x79, - 0x98, 0xee, 0x80, 0x70, + 0xc9, 0x1b, 0xcd, 0xb7, 0x1d, 0x19, 0x6a, 0x3b, 0xf6, 0x5c, 0xa8, 0x3f, 0x22, 0x5a, + 0x5e, 0x1b, 0xbb, 0x73, 0xbd, 0x2e, 0x35, 0x75, 0xcf, 0x16, 0x5e, 0x5a, 0x47, 0x17, + 0xe9, 0x47, 0x37, 0xeb, ], Elements::Negate8 => [ - 0x8b, 0xe8, 0x71, 0x39, 0x3e, 0x18, 0xc0, 0x63, 0x69, 0x16, 0x1f, 0xb1, 0xc0, 0xad, - 0x2b, 0x92, 0x06, 0x22, 0x97, 0x4e, 0x3f, 0xdf, 0xca, 0x90, 0x56, 0x7e, 0x6d, 0xa4, - 0x29, 0xfd, 0x98, 0x42, + 0x8a, 0xff, 0xfa, 0xb3, 0x6b, 0xbc, 0xa0, 0xe9, 0x3f, 0xff, 0x2c, 0x67, 0x27, 0x24, + 0xe4, 0xb7, 0xbc, 0x24, 0xf6, 0x38, 0xe4, 0x04, 0x89, 0x12, 0x66, 0x47, 0x88, 0xf0, + 0x38, 0xc9, 0x95, 0xcf, ], Elements::NewIssuanceContract => [ - 0x59, 0xe2, 0xa7, 0x4c, 0x99, 0x7a, 0x07, 0xaa, 0xfd, 0x5c, 0x28, 0x0e, 0x46, 0x49, - 0xe7, 0xaf, 0x2b, 0x3c, 0xc4, 0xdc, 0x9b, 0x72, 0xa8, 0x1c, 0x72, 0x25, 0x48, 0xff, - 0x8c, 0x13, 0x13, 0xbf, + 0x4d, 0x86, 0xad, 0x92, 0x93, 0x95, 0x13, 0x43, 0xc9, 0xd7, 0x03, 0x10, 0x48, 0x12, + 0x7b, 0x20, 0x74, 0x56, 0x6a, 0xfa, 0xd6, 0x60, 0xa9, 0x30, 0x23, 0x46, 0xe6, 0xca, + 0x96, 0x26, 0x85, 0x7b, ], Elements::NonceHash => [ - 0xca, 0x4a, 0x66, 0xd7, 0xf8, 0xe9, 0x82, 0xa9, 0xee, 0x04, 0x25, 0x04, 0x0d, 0x2b, - 0x0d, 0x1d, 0x3d, 0xc6, 0x20, 0x7f, 0x93, 0x85, 0x64, 0x58, 0xe2, 0x4e, 0x7a, 0x26, - 0xe9, 0x5c, 0x56, 0xf8, + 0xee, 0x34, 0x73, 0x8b, 0x80, 0x1e, 0xc5, 0xf2, 0x6c, 0xf2, 0x44, 0x36, 0x7e, 0x2a, + 0xf0, 0xa0, 0x5a, 0x2d, 0xc6, 0x18, 0x43, 0x0a, 0x4a, 0x36, 0x2e, 0x27, 0x50, 0x03, + 0xcf, 0x05, 0xc8, 0xad, ], Elements::NumInputs => [ - 0xd7, 0xb4, 0x66, 0x28, 0x7e, 0xf4, 0xe5, 0x9c, 0x02, 0xbe, 0x33, 0x89, 0xea, 0xfb, - 0x43, 0x47, 0xb7, 0xd1, 0xa2, 0xa1, 0x5c, 0x14, 0x49, 0x18, 0xb7, 0xad, 0x34, 0x43, - 0xb1, 0x4f, 0xae, 0x03, + 0x3b, 0xca, 0x34, 0xd7, 0xde, 0x35, 0x55, 0xe1, 0x2d, 0x08, 0x5d, 0x92, 0xba, 0xe6, + 0xe5, 0x2c, 0x6a, 0xdc, 0x71, 0x86, 0xde, 0x52, 0xf0, 0xac, 0x35, 0x1c, 0x96, 0xe6, + 0x64, 0xd9, 0xe3, 0x1f, ], Elements::NumOutputs => [ - 0x67, 0xdf, 0x4d, 0xeb, 0x3f, 0xf0, 0xc2, 0x6a, 0xe3, 0x12, 0x30, 0x47, 0xcc, 0x73, - 0x4a, 0xe3, 0xb6, 0x1f, 0xfc, 0xef, 0x51, 0x1f, 0xcf, 0x42, 0x81, 0x3c, 0x3f, 0x48, - 0x19, 0x20, 0xee, 0x48, + 0x29, 0xdc, 0x31, 0x90, 0xd3, 0xbb, 0xaf, 0xb5, 0xe3, 0x0b, 0x1c, 0x6e, 0x6c, 0x5a, + 0xf0, 0x30, 0x7a, 0x9d, 0x35, 0xd3, 0x11, 0x7f, 0xd1, 0xc2, 0xbd, 0xcc, 0x14, 0xd8, + 0xc4, 0xfa, 0xde, 0x70, ], Elements::One16 => [ - 0x76, 0x29, 0x79, 0x2b, 0xa1, 0xa4, 0x41, 0x14, 0xe5, 0x9e, 0x64, 0xb5, 0x1d, 0x18, - 0x7a, 0xf6, 0xd9, 0x65, 0xd9, 0x66, 0x20, 0xdc, 0xa2, 0x62, 0x75, 0x07, 0xb7, 0xd3, - 0x88, 0xd9, 0x35, 0x3c, + 0xeb, 0xe5, 0x31, 0x62, 0x82, 0x42, 0xd1, 0x17, 0x7f, 0xa9, 0x4e, 0xcf, 0x46, 0x92, + 0x21, 0xbe, 0x15, 0x90, 0x5e, 0x07, 0xf3, 0xc8, 0xfa, 0x15, 0xd3, 0xd9, 0xd4, 0xaa, + 0x6a, 0x81, 0x5c, 0x8d, ], Elements::One32 => [ - 0x0b, 0xa0, 0x04, 0xce, 0xa2, 0x50, 0xfe, 0x95, 0x3a, 0xc7, 0x4e, 0x6e, 0xcd, 0x36, - 0x20, 0xe8, 0x02, 0x84, 0x1f, 0xda, 0x79, 0x52, 0x08, 0xde, 0xc6, 0x6d, 0x62, 0x6e, - 0x06, 0xaa, 0x29, 0xb2, + 0x99, 0x1f, 0x9e, 0x3a, 0xcb, 0x6f, 0xf7, 0x8f, 0x03, 0xf5, 0x78, 0x03, 0x54, 0x10, + 0x96, 0xbe, 0x79, 0x44, 0xc9, 0x18, 0xc2, 0xaf, 0x3d, 0x68, 0xa3, 0x21, 0x0d, 0x0b, + 0x9f, 0x99, 0x0e, 0xc2, ], Elements::One64 => [ - 0xba, 0x34, 0x78, 0xc1, 0x08, 0x74, 0x0a, 0x83, 0xf0, 0xca, 0x0e, 0xae, 0x86, 0xc3, - 0x1b, 0x4a, 0xfa, 0xc8, 0x30, 0xdf, 0x09, 0x34, 0x67, 0xcc, 0x08, 0xea, 0x1c, 0x04, - 0x15, 0xef, 0xef, 0x6d, + 0xfe, 0x30, 0x8d, 0x3f, 0x68, 0x97, 0xcd, 0xce, 0xed, 0xc0, 0x2c, 0xed, 0x16, 0x30, + 0xe5, 0x5e, 0x87, 0xbd, 0xcf, 0xec, 0xd4, 0xae, 0xc3, 0xce, 0x54, 0x94, 0x8f, 0x57, + 0xdf, 0xe1, 0x8e, 0x27, ], Elements::One8 => [ - 0x15, 0xca, 0x77, 0xa4, 0xb7, 0x02, 0x25, 0x68, 0x37, 0xf9, 0x0f, 0xf7, 0x8c, 0xa7, - 0x74, 0x0a, 0x40, 0xfe, 0xce, 0x71, 0x91, 0x30, 0x1d, 0x00, 0xe5, 0x17, 0xd8, 0xd3, - 0x4f, 0x46, 0xc2, 0x50, + 0x68, 0x24, 0x82, 0x61, 0x8b, 0xee, 0x00, 0xbb, 0x85, 0xdb, 0x83, 0xe3, 0x9d, 0xc4, + 0x0c, 0x28, 0x51, 0xf6, 0x4c, 0x00, 0x69, 0x53, 0x44, 0x0f, 0x43, 0xb9, 0x73, 0xaf, + 0x7a, 0x72, 0x32, 0xc9, ], Elements::Or1 => [ - 0x93, 0x52, 0x22, 0x30, 0x17, 0x00, 0x98, 0x7d, 0xe1, 0x2c, 0xb4, 0x26, 0x17, 0x21, - 0x81, 0x53, 0xfd, 0x7c, 0xcd, 0x63, 0x17, 0x4a, 0x17, 0x49, 0xfc, 0x88, 0x0c, 0x39, - 0xe3, 0xe7, 0x23, 0x9c, + 0xa9, 0xa6, 0xa7, 0x36, 0x9f, 0x3f, 0xd7, 0x7e, 0xfd, 0x36, 0xb8, 0xa4, 0x1d, 0xad, + 0xd7, 0x0c, 0x1a, 0x4e, 0xde, 0x70, 0x62, 0x3b, 0x14, 0x0a, 0x8d, 0x50, 0xde, 0xc7, + 0x4d, 0xd4, 0x91, 0x2d, ], Elements::Or16 => [ - 0xdf, 0xea, 0xd0, 0xba, 0x93, 0xe4, 0x91, 0x55, 0xc4, 0x0c, 0xb3, 0x72, 0xca, 0x5e, - 0xf6, 0x17, 0x97, 0x41, 0xc6, 0x1f, 0x2b, 0x3c, 0xc2, 0x79, 0x7e, 0xf1, 0x62, 0xc8, - 0xd2, 0xfc, 0x1f, 0x9a, + 0xda, 0x96, 0xd8, 0x33, 0x21, 0x55, 0xc3, 0x63, 0x8c, 0xf2, 0xa6, 0x20, 0x40, 0xb2, + 0x24, 0xc1, 0x3c, 0x1b, 0xae, 0xee, 0x91, 0x32, 0x18, 0x53, 0x3d, 0xef, 0xed, 0x9e, + 0x16, 0x6a, 0x64, 0x83, ], Elements::Or32 => [ - 0x67, 0xac, 0x69, 0x45, 0xcd, 0xc0, 0x06, 0xd2, 0x5e, 0x5b, 0xbe, 0x6c, 0x4f, 0xe8, - 0x1c, 0xa1, 0x67, 0x41, 0xff, 0xab, 0x3d, 0x23, 0x96, 0x0e, 0xeb, 0x49, 0x85, 0x0f, - 0x92, 0x73, 0x2c, 0xbb, + 0xb6, 0x72, 0xb0, 0xf7, 0xc9, 0x29, 0x74, 0x97, 0xa0, 0xc9, 0xcc, 0x84, 0xd7, 0xf7, + 0xdd, 0xe2, 0x6d, 0x6d, 0xe5, 0xe4, 0xbe, 0xc1, 0x4b, 0x20, 0xe0, 0x10, 0xce, 0xe1, + 0xcc, 0xc0, 0x8f, 0x09, ], Elements::Or64 => [ - 0x1e, 0xb9, 0x52, 0xe4, 0x61, 0x16, 0xe2, 0x71, 0xdc, 0x48, 0x9e, 0x67, 0x22, 0xa9, - 0x01, 0x85, 0xeb, 0xf5, 0xfb, 0x77, 0x5b, 0x77, 0x81, 0x60, 0x6d, 0xbf, 0x5e, 0x89, - 0xcc, 0xd7, 0xc2, 0x50, + 0x13, 0x3d, 0x50, 0x5c, 0xe5, 0x03, 0xfb, 0xeb, 0x13, 0x29, 0x58, 0x0f, 0x5b, 0x96, + 0xa0, 0xd9, 0x7f, 0x3a, 0x5a, 0xba, 0x79, 0xd7, 0x1b, 0xbd, 0x85, 0x88, 0x4a, 0x12, + 0x81, 0x39, 0xc0, 0x08, ], Elements::Or8 => [ - 0x37, 0x8f, 0x7a, 0xbe, 0x8b, 0x08, 0x1f, 0xaf, 0x5b, 0x3a, 0x25, 0x78, 0xef, 0x19, - 0x79, 0xfe, 0x80, 0xbc, 0xcb, 0x07, 0x91, 0x15, 0x6a, 0x49, 0x3f, 0x8a, 0x3f, 0x6e, - 0x0b, 0xb2, 0xfc, 0x84, + 0x8e, 0xf1, 0xc6, 0xa1, 0xca, 0xe0, 0x74, 0x03, 0xda, 0xcd, 0x8c, 0x13, 0x2e, 0x88, + 0x99, 0xc1, 0x85, 0x87, 0x45, 0xc8, 0x6d, 0x1f, 0xdd, 0x4c, 0x9f, 0xda, 0x63, 0x62, + 0x51, 0x00, 0x48, 0xb3, ], Elements::OutpointHash => [ - 0xe3, 0x1d, 0x33, 0x9d, 0x86, 0xe6, 0xd7, 0x6b, 0xad, 0xc3, 0xd6, 0xd6, 0xcf, 0x1b, - 0xe7, 0x06, 0x53, 0xe0, 0x34, 0x42, 0x73, 0x44, 0x9c, 0xec, 0xf5, 0x21, 0xd3, 0x66, - 0x2b, 0xd8, 0xfc, 0x2b, + 0x89, 0xf8, 0xdc, 0x9b, 0xd0, 0xe9, 0x05, 0x91, 0xd9, 0xc1, 0x22, 0x24, 0xb3, 0x61, + 0x42, 0x93, 0xda, 0x1a, 0x23, 0x84, 0xf5, 0x55, 0x9b, 0xe1, 0xcf, 0x3e, 0xbd, 0x1e, + 0x7a, 0x32, 0x6d, 0xa3, ], Elements::OutputAmount => [ - 0x52, 0xdb, 0x68, 0xc6, 0xc7, 0xbe, 0x32, 0xbf, 0xaa, 0x42, 0x69, 0x70, 0xeb, 0x41, - 0x97, 0xce, 0x1c, 0xe3, 0xf4, 0x53, 0x0e, 0x1a, 0x2c, 0xff, 0x8e, 0x17, 0xdb, 0x47, - 0x22, 0x92, 0x07, 0xb3, + 0x1e, 0xf0, 0xe9, 0x08, 0x64, 0x91, 0xc7, 0xb8, 0xf2, 0x5a, 0x05, 0x45, 0x5d, 0xee, + 0x8f, 0xf3, 0x0b, 0x85, 0x08, 0x85, 0x65, 0x09, 0x4b, 0x47, 0x52, 0x0b, 0x59, 0x44, + 0x72, 0xf8, 0xcc, 0x14, ], Elements::OutputAmountsHash => [ - 0xbc, 0xcb, 0xee, 0x78, 0x1e, 0xe2, 0x97, 0xfa, 0xbf, 0xbe, 0x38, 0xc0, 0x07, 0x9a, - 0xd3, 0x74, 0x25, 0x8c, 0x0b, 0x1e, 0xbe, 0x22, 0x34, 0x57, 0x09, 0x9a, 0x28, 0x4a, - 0x1b, 0x43, 0x38, 0xa2, + 0x25, 0xfd, 0xe6, 0x39, 0xb3, 0xe1, 0x3e, 0xca, 0x04, 0xde, 0x5e, 0x8f, 0x1a, 0x1b, + 0x0c, 0x84, 0x8c, 0x67, 0xbe, 0xf3, 0x39, 0x66, 0xec, 0xba, 0x97, 0x54, 0x20, 0xb4, + 0x7b, 0xe7, 0x22, 0x9d, ], Elements::OutputAsset => [ - 0xca, 0x89, 0xb5, 0xc4, 0x5a, 0x9a, 0x24, 0x7d, 0x39, 0x08, 0x6c, 0xdf, 0xbe, 0x2b, - 0xa1, 0xdf, 0x02, 0x5e, 0x37, 0xdb, 0x9b, 0x6a, 0x2a, 0xbb, 0x74, 0xd9, 0x70, 0x66, - 0xa6, 0x9b, 0xf3, 0xa0, + 0x2b, 0x6f, 0xbd, 0x7c, 0x07, 0x61, 0x7b, 0x9e, 0x71, 0xc9, 0x12, 0x07, 0xd2, 0x40, + 0xad, 0xd8, 0x31, 0x57, 0x65, 0x0c, 0x89, 0xea, 0x80, 0x49, 0x96, 0x1f, 0xa8, 0xb3, + 0x42, 0xdf, 0xd6, 0xd1, ], Elements::OutputHash => [ - 0x78, 0x75, 0xcc, 0x33, 0x2c, 0xf1, 0xb4, 0x9c, 0xdc, 0xf1, 0x1e, 0x70, 0x18, 0xdc, - 0x81, 0x19, 0x3e, 0xe4, 0xb1, 0x9e, 0xa1, 0x42, 0xfc, 0x0a, 0xe7, 0xdb, 0xdd, 0xb3, - 0x36, 0xe2, 0xfb, 0xfa, + 0xbe, 0xc3, 0x0e, 0xfe, 0x44, 0x43, 0xaa, 0x3a, 0x1b, 0xeb, 0xa6, 0x11, 0x51, 0x21, + 0x7c, 0xc6, 0x73, 0xba, 0x72, 0x01, 0xc5, 0x1f, 0xf2, 0x3a, 0x2c, 0x2f, 0x6d, 0x43, + 0xfa, 0x50, 0x44, 0x1a, ], Elements::OutputIsFee => [ - 0xf7, 0x0e, 0xb0, 0x68, 0xd2, 0x00, 0xb7, 0xbc, 0x5a, 0xaa, 0xab, 0xa1, 0x29, 0x28, - 0xe8, 0x19, 0x2b, 0x29, 0x48, 0xcd, 0xe7, 0xe8, 0xf3, 0x14, 0x1c, 0x6b, 0x43, 0x11, - 0x38, 0xe5, 0xde, 0x3c, + 0x06, 0x8d, 0xbe, 0xd8, 0x41, 0xd5, 0x5f, 0x6c, 0xd4, 0x24, 0xc9, 0xf2, 0xe0, 0x7f, + 0x0c, 0x18, 0x38, 0xfb, 0x6d, 0xe8, 0xe5, 0x85, 0x3f, 0xb3, 0x22, 0xe2, 0x99, 0xe0, + 0x17, 0xdd, 0x92, 0xe3, ], Elements::OutputNonce => [ - 0xed, 0xab, 0x12, 0x41, 0xd2, 0x97, 0xf2, 0x74, 0x7a, 0xd3, 0x78, 0xa8, 0x1a, 0x56, - 0x14, 0x3d, 0x74, 0x1b, 0xc4, 0xee, 0x4c, 0x30, 0xb3, 0x2f, 0x8b, 0xc1, 0xae, 0xb5, - 0x2c, 0xc4, 0x81, 0x4c, + 0x8e, 0xc5, 0x41, 0x08, 0xee, 0x02, 0xae, 0xfe, 0x53, 0x00, 0x91, 0x7e, 0xf6, 0xa2, + 0x5f, 0x84, 0xb4, 0x1b, 0x5a, 0x1a, 0x10, 0x1a, 0x6b, 0x72, 0xf3, 0xc1, 0x8a, 0xe1, + 0xce, 0x29, 0x12, 0x39, ], Elements::OutputNoncesHash => [ - 0xf0, 0x7f, 0xe7, 0xe9, 0x73, 0x96, 0x86, 0x5d, 0x50, 0xc1, 0xac, 0x94, 0x77, 0xad, - 0x9f, 0x95, 0x06, 0x2f, 0x11, 0xed, 0x01, 0xc9, 0x7d, 0xe7, 0xfa, 0x4a, 0xff, 0xa0, - 0x8c, 0xd1, 0x05, 0x31, + 0x10, 0xc4, 0x0d, 0xbc, 0xf7, 0x03, 0x35, 0xd6, 0x55, 0x2e, 0xff, 0x11, 0xc1, 0xe2, + 0xd5, 0x43, 0x63, 0x0f, 0x10, 0x8f, 0x72, 0x34, 0x40, 0x2a, 0x1b, 0x0b, 0x3d, 0x6e, + 0x5f, 0xda, 0xe0, 0x3f, ], Elements::OutputNullDatum => [ - 0x96, 0x4c, 0x4d, 0xee, 0x8f, 0xe4, 0xa8, 0x66, 0xcc, 0x3e, 0xa4, 0x94, 0x78, 0x84, - 0x81, 0x4c, 0xcc, 0xd6, 0x02, 0x69, 0x2e, 0x37, 0x8b, 0xa0, 0xe9, 0x35, 0xfa, 0x03, - 0xf9, 0x5e, 0x3d, 0xe1, + 0x24, 0xaf, 0xc5, 0x95, 0x7e, 0x52, 0x1e, 0xa7, 0x32, 0xb2, 0x9c, 0xa3, 0x28, 0xbc, + 0x8c, 0x07, 0x27, 0x6a, 0xe4, 0xda, 0xf9, 0xd8, 0x64, 0xa3, 0xa5, 0x14, 0x9f, 0x89, + 0x31, 0xae, 0xe6, 0xf5, ], Elements::OutputRangeProof => [ - 0xa0, 0x04, 0x18, 0xe4, 0xab, 0xc4, 0xbe, 0xd5, 0x37, 0x3f, 0xc2, 0x22, 0xce, 0x1f, - 0x96, 0x0b, 0x64, 0x35, 0xea, 0xa8, 0xf1, 0x4f, 0xe6, 0x6c, 0xa4, 0x2c, 0x52, 0xdd, - 0x9a, 0xe2, 0x26, 0xb8, + 0x33, 0xd1, 0x16, 0x3f, 0x67, 0x09, 0xe6, 0x59, 0x49, 0xc3, 0x91, 0xf0, 0xa7, 0x3e, + 0x10, 0x51, 0x9c, 0x19, 0x97, 0xcf, 0xcd, 0x13, 0xca, 0xbc, 0x93, 0x00, 0x1e, 0xd6, + 0xa2, 0x3a, 0x2c, 0xa3, ], Elements::OutputRangeProofsHash => [ - 0xeb, 0xe6, 0x26, 0xe2, 0x85, 0x4e, 0x70, 0x00, 0x75, 0xea, 0xde, 0xee, 0xad, 0x5f, - 0xe0, 0xbd, 0xd6, 0x9c, 0x1b, 0x0f, 0xad, 0xf1, 0x08, 0xd3, 0x68, 0xc1, 0x29, 0x3f, - 0x86, 0x58, 0x5f, 0xb1, + 0xfa, 0x89, 0x24, 0x70, 0xd9, 0xa1, 0x71, 0xc6, 0xd5, 0xa2, 0xa1, 0x25, 0xe9, 0x81, + 0x46, 0x52, 0x57, 0xa5, 0x68, 0x1c, 0xec, 0xb2, 0xb5, 0x29, 0x74, 0x08, 0xd7, 0xf1, + 0x5c, 0x93, 0xd2, 0xee, ], Elements::OutputScriptHash => [ - 0xec, 0xf6, 0x73, 0xe5, 0xfc, 0xaf, 0x7b, 0x7e, 0x6e, 0x37, 0xb6, 0x28, 0x09, 0x5e, - 0x5a, 0x9e, 0xf9, 0x81, 0xe6, 0xc4, 0xc3, 0x39, 0xeb, 0xdf, 0x3e, 0xb1, 0xe6, 0xbf, - 0x45, 0x05, 0xf5, 0x34, + 0x84, 0x37, 0x73, 0x0b, 0x27, 0x02, 0xe4, 0xe6, 0x3a, 0xee, 0x3a, 0xf0, 0x84, 0x51, + 0x91, 0x07, 0x7f, 0xfd, 0x18, 0xd0, 0x10, 0xaf, 0x4a, 0x73, 0xa7, 0xd5, 0xf0, 0xc0, + 0xfb, 0xc0, 0x64, 0x83, ], Elements::OutputScriptsHash => [ - 0xc0, 0x48, 0x9e, 0x87, 0x8c, 0xd8, 0x9c, 0xa5, 0x10, 0x9a, 0x53, 0x16, 0x7a, 0x61, - 0xa8, 0x45, 0x4e, 0xd6, 0xdc, 0x2a, 0xce, 0xf9, 0x19, 0x1a, 0xd5, 0x3b, 0xbf, 0xb3, - 0xb0, 0xea, 0x72, 0xdf, + 0x86, 0x8d, 0xec, 0x36, 0x5b, 0xa0, 0x46, 0x27, 0xdd, 0x90, 0xd5, 0x6e, 0x28, 0x55, + 0x3b, 0x57, 0xf2, 0xd1, 0x93, 0xc4, 0x64, 0xcc, 0xcd, 0x76, 0xb1, 0x66, 0x3e, 0xfb, + 0xc3, 0x87, 0x38, 0x89, ], Elements::OutputSurjectionProof => [ - 0x1d, 0xe8, 0xad, 0xdb, 0xf8, 0xb6, 0x97, 0xc2, 0xb3, 0xd1, 0x92, 0xbd, 0xe2, 0xc2, - 0xc5, 0x5f, 0x5e, 0x67, 0x09, 0xc5, 0xbd, 0x86, 0x31, 0xe3, 0x8d, 0x83, 0x78, 0xdd, - 0x3d, 0xce, 0x49, 0xcc, + 0x9b, 0x6c, 0x4e, 0x8d, 0x56, 0x52, 0xe2, 0xab, 0xd6, 0xc4, 0x9f, 0x02, 0xde, 0x6d, + 0xe6, 0xc3, 0x30, 0x96, 0xd1, 0x7c, 0x38, 0xe8, 0x62, 0x6a, 0x4f, 0x83, 0xb1, 0x9b, + 0x04, 0x40, 0x9d, 0x48, ], Elements::OutputSurjectionProofsHash => [ - 0x74, 0x3e, 0xb2, 0xd9, 0x8e, 0x2c, 0x69, 0xc4, 0x03, 0xab, 0xa3, 0xc3, 0x3d, 0xcb, - 0x83, 0x51, 0xde, 0x82, 0x24, 0xc9, 0xe0, 0x4d, 0xa5, 0x07, 0x1c, 0x8d, 0xfd, 0x7a, - 0x93, 0x50, 0x70, 0xac, + 0xa9, 0x2e, 0x38, 0x4e, 0xf3, 0x0f, 0xba, 0xc8, 0xf5, 0x24, 0x55, 0xc0, 0x95, 0x9e, + 0x42, 0xa1, 0xf7, 0xb5, 0x86, 0x6e, 0x36, 0x83, 0x05, 0xb0, 0xb2, 0xd4, 0x20, 0xda, + 0xe0, 0xd1, 0x91, 0xd5, ], Elements::OutputsHash => [ - 0x12, 0xaf, 0x1e, 0x5c, 0x32, 0xda, 0x75, 0x12, 0xfc, 0xd4, 0x32, 0x59, 0xd1, 0xbc, - 0x84, 0x72, 0xa9, 0x15, 0xce, 0x21, 0xc6, 0xd3, 0x06, 0xe4, 0x85, 0xf1, 0xdb, 0xbc, - 0x07, 0xa1, 0xcf, 0xdb, + 0x1f, 0xa3, 0x11, 0xd6, 0x35, 0x9b, 0x3d, 0x97, 0xf6, 0x4d, 0x0d, 0xbd, 0x7e, 0x23, + 0xf5, 0x17, 0x1d, 0x20, 0x0c, 0xd4, 0x9b, 0xc8, 0x1d, 0x99, 0xcc, 0xbf, 0x1b, 0x27, + 0xef, 0xf7, 0x9a, 0xd5, ], Elements::ParseLock => [ - 0x45, 0x71, 0xca, 0x04, 0x52, 0x57, 0x7c, 0xfa, 0xf8, 0xa8, 0x5f, 0x5e, 0x32, 0x9d, - 0x60, 0x2c, 0x8d, 0xca, 0xd1, 0x27, 0x6a, 0x97, 0x4e, 0x2c, 0x75, 0xd2, 0xec, 0x04, - 0x65, 0x7b, 0xc4, 0x25, + 0xce, 0x03, 0xe1, 0x95, 0xff, 0x84, 0x1f, 0x93, 0x09, 0xee, 0x27, 0x7d, 0xc8, 0x54, + 0xf9, 0xc3, 0xd4, 0xcb, 0x65, 0x54, 0x20, 0xe9, 0x21, 0x13, 0x59, 0xe1, 0xf2, 0x04, + 0x64, 0x1a, 0x23, 0xa6, ], Elements::ParseSequence => [ - 0x55, 0xc9, 0x03, 0x66, 0x0c, 0x8c, 0x92, 0xb1, 0x42, 0x9f, 0x63, 0xe2, 0x74, 0x71, - 0xac, 0xd5, 0x9c, 0x3a, 0x26, 0xaa, 0x7a, 0x59, 0x22, 0x1d, 0x7a, 0x6d, 0x52, 0xb6, - 0x2e, 0xba, 0xf9, 0x4a, + 0xc8, 0xa1, 0xcb, 0x4e, 0xad, 0xf2, 0xa8, 0xda, 0x31, 0x2c, 0x0d, 0x27, 0x35, 0xcf, + 0x97, 0xde, 0xe0, 0xdb, 0xae, 0x4d, 0x73, 0x11, 0x09, 0xca, 0x01, 0x94, 0x52, 0x1e, + 0x70, 0x7d, 0x44, 0x5b, ], Elements::PointVerify1 => [ - 0xb6, 0x00, 0x9c, 0xec, 0x8b, 0xe8, 0xb1, 0x4a, 0x1d, 0x31, 0x32, 0x99, 0xd6, 0x67, - 0x61, 0xd6, 0x59, 0xad, 0xff, 0xf8, 0x23, 0x28, 0x99, 0xab, 0x7d, 0xb4, 0x09, 0x7f, - 0x52, 0xc7, 0xd0, 0xbe, + 0xd6, 0x3f, 0xf0, 0xe5, 0xa5, 0x00, 0x85, 0x94, 0xd5, 0x55, 0xa6, 0x15, 0xe8, 0x1f, + 0xd2, 0xa6, 0x9a, 0x48, 0x1b, 0x4f, 0x45, 0x7f, 0x42, 0xf4, 0x82, 0x83, 0xde, 0x2b, + 0x52, 0x23, 0x84, 0xe0, ], Elements::ReissuanceBlinding => [ - 0x0b, 0x9a, 0x0a, 0xaf, 0xed, 0xb1, 0x02, 0xa1, 0x64, 0x06, 0x14, 0x19, 0xa7, 0x89, - 0xea, 0x84, 0x32, 0x6c, 0xd5, 0x89, 0xf1, 0x7c, 0x0e, 0xa0, 0x19, 0x2d, 0xd6, 0x37, - 0x2e, 0xcb, 0x5e, 0xbf, + 0x80, 0x8b, 0xf4, 0x51, 0xa2, 0xc8, 0x04, 0x7b, 0x30, 0x7e, 0x21, 0xad, 0x20, 0x21, + 0x3c, 0xae, 0x55, 0xe1, 0x02, 0xba, 0x72, 0x83, 0xb8, 0xfd, 0xec, 0x21, 0xdb, 0x78, + 0x8c, 0x78, 0x7f, 0xed, ], Elements::ReissuanceEntropy => [ - 0xce, 0x84, 0xf9, 0x83, 0xa3, 0xbd, 0x33, 0x94, 0x3d, 0x4d, 0xcb, 0x44, 0x86, 0x1c, - 0x4a, 0x69, 0xa2, 0xa5, 0xe8, 0xa5, 0x22, 0xb5, 0xd5, 0xeb, 0xf2, 0x51, 0x5f, 0x51, - 0x1a, 0xc6, 0xa9, 0xb2, + 0x24, 0x2f, 0x5c, 0x4f, 0x19, 0x65, 0x5a, 0x51, 0x71, 0x34, 0xdc, 0xdb, 0x07, 0x49, + 0x05, 0x82, 0xad, 0x88, 0x01, 0x34, 0x94, 0x56, 0x71, 0x4e, 0x4b, 0x2e, 0xbe, 0x1a, + 0x40, 0xd5, 0x36, 0x76, ], Elements::RightExtend16_32 => [ - 0x36, 0x42, 0x3c, 0x16, 0xd4, 0x8d, 0x6c, 0x7c, 0x91, 0xed, 0x44, 0x16, 0x11, 0xbe, - 0x30, 0x72, 0xdf, 0xa5, 0xdd, 0x38, 0xe4, 0xd2, 0x7d, 0xa8, 0xda, 0xed, 0x29, 0x78, - 0x8f, 0xc9, 0x52, 0x08, + 0x1f, 0xe0, 0x5d, 0x19, 0x7e, 0xe6, 0xf1, 0x5e, 0xfb, 0x17, 0x54, 0x52, 0x36, 0xef, + 0xeb, 0x38, 0xc1, 0x6e, 0x7a, 0x5a, 0xdc, 0x82, 0x8b, 0x9a, 0xa0, 0x4a, 0x3f, 0x6e, + 0x46, 0x78, 0xb5, 0xba, ], Elements::RightExtend16_64 => [ - 0x4b, 0x8a, 0x47, 0xb9, 0x06, 0x70, 0x73, 0xa1, 0xfb, 0x68, 0x30, 0x0f, 0xac, 0xd6, - 0xc5, 0x06, 0x98, 0x90, 0xab, 0xdb, 0x7e, 0xaa, 0xcb, 0x62, 0x2a, 0xd7, 0x30, 0x9a, - 0x87, 0xf4, 0xd3, 0x4d, + 0x7c, 0xb9, 0xcc, 0x78, 0x65, 0x52, 0x85, 0xa1, 0x62, 0xff, 0xd8, 0x0c, 0x6d, 0x59, + 0xf8, 0x28, 0xec, 0xdb, 0x75, 0xcb, 0x64, 0xb0, 0x82, 0x74, 0xf8, 0x9d, 0x20, 0x10, + 0x7c, 0x2b, 0xe4, 0x43, ], Elements::RightExtend32_64 => [ - 0xdd, 0x6a, 0xf1, 0xc8, 0x01, 0xd2, 0x6c, 0x0b, 0x2e, 0xdf, 0x83, 0xce, 0x67, 0xb1, - 0x72, 0xdf, 0x67, 0x57, 0xd0, 0x7f, 0xb7, 0xc8, 0x54, 0x68, 0x6f, 0x42, 0xe5, 0x76, - 0x8a, 0xdc, 0xc9, 0xe7, + 0x32, 0x5d, 0x1d, 0xff, 0x73, 0x73, 0x83, 0xf4, 0x31, 0x3d, 0xcb, 0x23, 0xad, 0xf9, + 0x1e, 0x2a, 0xa4, 0x42, 0x30, 0x38, 0x84, 0x62, 0x83, 0x2f, 0xa1, 0x5f, 0xe4, 0x33, + 0x36, 0x33, 0xd9, 0x30, ], Elements::RightExtend8_16 => [ - 0x1d, 0xe2, 0x01, 0xa8, 0x64, 0x70, 0xa0, 0x2b, 0x2d, 0xfe, 0x48, 0xc6, 0x6a, 0xfe, - 0x06, 0x73, 0x5b, 0x47, 0x5e, 0x88, 0xd3, 0x25, 0xcb, 0xf1, 0x60, 0x42, 0xa9, 0x10, - 0x24, 0xd2, 0xbe, 0xd9, + 0x53, 0x46, 0xf1, 0x5d, 0x34, 0x9b, 0xfe, 0xbf, 0x2b, 0x5b, 0x4b, 0x45, 0xf9, 0xc0, + 0xfc, 0x39, 0x39, 0x20, 0x67, 0xdc, 0x6f, 0x97, 0x97, 0x51, 0xa1, 0x59, 0x66, 0xb5, + 0xd1, 0x7e, 0xfb, 0x9f, ], Elements::RightExtend8_32 => [ - 0x7e, 0x9c, 0x5c, 0xb3, 0x54, 0x19, 0xab, 0x06, 0xe1, 0x22, 0x00, 0x23, 0x10, 0x2b, - 0xe4, 0x6a, 0xb6, 0xd9, 0x69, 0x95, 0xc4, 0x23, 0xc6, 0xb1, 0x4b, 0x9a, 0x66, 0x02, - 0x8a, 0xec, 0x5d, 0x75, + 0xd5, 0xae, 0xe5, 0x10, 0xdf, 0xd5, 0x0a, 0xca, 0xbd, 0x8a, 0xc3, 0x29, 0xd2, 0x97, + 0x48, 0xa6, 0xf5, 0x94, 0x08, 0xc2, 0x68, 0x63, 0xab, 0x62, 0x4b, 0xef, 0xc2, 0x44, + 0x7e, 0xc2, 0x6a, 0x44, ], Elements::RightExtend8_64 => [ - 0x49, 0xd2, 0x46, 0xc2, 0xa6, 0x1c, 0xd3, 0x9d, 0x78, 0x20, 0xdc, 0xd7, 0x5e, 0xee, - 0x84, 0x7b, 0xf0, 0x57, 0xc0, 0x1a, 0x63, 0xa3, 0xac, 0xbc, 0xc9, 0x46, 0x3e, 0x44, - 0xbc, 0x1e, 0x0b, 0x6c, + 0xa8, 0x43, 0xa3, 0x15, 0xf6, 0xdc, 0xd9, 0xbc, 0xff, 0x58, 0x68, 0x59, 0xed, 0x6c, + 0x31, 0xd8, 0xcb, 0x98, 0x69, 0x07, 0x1b, 0x45, 0xb6, 0x79, 0x57, 0xed, 0x15, 0xae, + 0xd2, 0xe0, 0xae, 0x5d, ], Elements::RightPadHigh16_32 => [ - 0xfe, 0x90, 0x1f, 0xb4, 0xf6, 0xeb, 0xdc, 0x4e, 0xa2, 0x96, 0x19, 0x98, 0x99, 0x22, - 0xb8, 0x0f, 0xa9, 0xce, 0x24, 0x12, 0x87, 0xfa, 0x54, 0x08, 0x64, 0x36, 0x2c, 0xcc, - 0xe9, 0xf5, 0x4b, 0x3b, + 0x75, 0xbe, 0xc3, 0x00, 0x6c, 0x04, 0xce, 0x01, 0x8f, 0x4a, 0x61, 0x10, 0xaa, 0xb3, + 0xc5, 0x5c, 0xad, 0x45, 0x32, 0x48, 0xc1, 0xe7, 0xeb, 0x04, 0x2c, 0x82, 0x57, 0xe6, + 0xb9, 0x9c, 0xcd, 0x05, ], Elements::RightPadHigh16_64 => [ - 0xda, 0x90, 0xad, 0xd3, 0x10, 0x67, 0xcc, 0xfd, 0xbe, 0xe4, 0xcb, 0xfb, 0x21, 0xde, - 0x8e, 0x6a, 0xa4, 0xf9, 0x3e, 0x00, 0x22, 0x00, 0x71, 0x1f, 0x99, 0x84, 0xaf, 0x6f, - 0xc0, 0x1e, 0x27, 0x00, + 0x93, 0x60, 0x59, 0x28, 0xb8, 0x49, 0xb0, 0xf8, 0xdf, 0xbc, 0x62, 0xa1, 0x25, 0x90, + 0xbb, 0x1a, 0x92, 0x0b, 0xa5, 0x9d, 0x5b, 0xdc, 0x49, 0xdf, 0x0f, 0xaa, 0xb6, 0xa3, + 0x35, 0x1a, 0x96, 0x61, ], Elements::RightPadHigh1_16 => [ - 0xe4, 0xcf, 0x11, 0x6c, 0x08, 0x80, 0xf7, 0x3f, 0x99, 0x52, 0xf7, 0x00, 0x81, 0x78, - 0x84, 0x98, 0xe5, 0x08, 0x4c, 0xbb, 0x72, 0xcf, 0x84, 0x1b, 0xcd, 0x91, 0x67, 0xa6, - 0xee, 0xa2, 0x64, 0xdc, + 0x34, 0xc1, 0x08, 0xae, 0x8a, 0x54, 0xe2, 0xc6, 0x49, 0x9b, 0xfe, 0xc5, 0xd6, 0x93, + 0x28, 0x15, 0xf8, 0x87, 0x14, 0x9c, 0x11, 0x49, 0xb7, 0x89, 0x94, 0x60, 0x3f, 0x40, + 0xf1, 0xff, 0xd2, 0xe7, ], Elements::RightPadHigh1_32 => [ - 0x12, 0x76, 0x03, 0x6b, 0xb9, 0x4c, 0xfd, 0x92, 0x0a, 0xb7, 0x31, 0x64, 0x3b, 0x76, - 0xb1, 0x19, 0x72, 0xdd, 0x26, 0x54, 0x38, 0x53, 0x44, 0x4e, 0x18, 0xd7, 0xf6, 0x3f, - 0xca, 0xc0, 0x91, 0xa3, + 0x5b, 0x4a, 0x76, 0xed, 0x0a, 0x50, 0xac, 0xe5, 0x2b, 0x79, 0x1a, 0xb9, 0xa5, 0xc5, + 0xeb, 0xcb, 0x3c, 0xbb, 0xa0, 0xda, 0x3a, 0x95, 0xac, 0x40, 0x51, 0xeb, 0xa9, 0xab, + 0x15, 0x0f, 0xd0, 0xdc, ], Elements::RightPadHigh1_64 => [ - 0x38, 0xc9, 0x99, 0x80, 0xb1, 0xa9, 0x98, 0x10, 0x51, 0x11, 0xc5, 0x6b, 0xf8, 0x24, - 0x65, 0x09, 0x65, 0xa5, 0x09, 0xc4, 0x7e, 0x1c, 0x76, 0xd9, 0x00, 0x75, 0x0a, 0x1f, - 0xee, 0x45, 0xc9, 0x64, + 0xd4, 0x99, 0xb4, 0xbc, 0xf5, 0xdf, 0x6a, 0x71, 0xc8, 0x66, 0x4f, 0x96, 0xb7, 0xb9, + 0x64, 0xae, 0x2b, 0xbb, 0xda, 0x55, 0x21, 0x97, 0x97, 0xec, 0x6b, 0x9d, 0x2d, 0xf4, + 0xa5, 0xa5, 0xe8, 0xba, ], Elements::RightPadHigh1_8 => [ - 0xca, 0x72, 0xce, 0xed, 0x2d, 0x98, 0xdc, 0xcd, 0x81, 0xaa, 0x21, 0xf0, 0xba, 0x21, - 0xd1, 0xa0, 0x87, 0xb6, 0xf2, 0x52, 0x07, 0xc2, 0x4a, 0x58, 0x0a, 0xda, 0x7e, 0x60, - 0x5f, 0x79, 0x82, 0xdf, + 0x5e, 0xe6, 0xa8, 0x38, 0x2f, 0x9b, 0xbd, 0xc0, 0xc5, 0x81, 0x03, 0x6e, 0x51, 0xf1, + 0xd9, 0x27, 0x69, 0x96, 0x72, 0x2a, 0x18, 0x24, 0x13, 0xa1, 0x03, 0xcb, 0x98, 0xe9, + 0xa8, 0x98, 0xf9, 0x1e, ], Elements::RightPadHigh32_64 => [ - 0x17, 0xeb, 0x59, 0x11, 0xf8, 0x54, 0x95, 0x76, 0x68, 0xee, 0xf4, 0x63, 0xb0, 0xcb, - 0xae, 0x72, 0x08, 0x52, 0x91, 0x34, 0xef, 0x5e, 0x56, 0xcd, 0x33, 0xfb, 0xbc, 0x29, - 0xc2, 0x8b, 0xbe, 0x92, + 0x06, 0x2e, 0x02, 0xf4, 0x87, 0x97, 0x78, 0x7b, 0xef, 0x0e, 0xab, 0x59, 0x67, 0x58, + 0x05, 0x11, 0xdc, 0xbc, 0xd7, 0x44, 0xbe, 0x65, 0xc4, 0xf6, 0xc3, 0x1b, 0x89, 0xe5, + 0x47, 0xe2, 0xe1, 0xd5, ], Elements::RightPadHigh8_16 => [ - 0xd2, 0x6f, 0x0c, 0xc5, 0xb2, 0x61, 0xeb, 0x83, 0x0e, 0x02, 0xdf, 0x12, 0xcc, 0x57, - 0x44, 0x25, 0x9b, 0x4a, 0x43, 0xd9, 0x75, 0xbd, 0x2e, 0x3d, 0x7c, 0x78, 0x28, 0x11, - 0x76, 0x1f, 0xf1, 0xd1, + 0xa5, 0xc9, 0x85, 0xe8, 0xae, 0xa8, 0x42, 0xfa, 0xdf, 0x9a, 0x74, 0x8b, 0x96, 0x4c, + 0xa5, 0x15, 0x04, 0xe9, 0xeb, 0xb4, 0xac, 0x49, 0x45, 0x52, 0x64, 0x8f, 0x3a, 0x67, + 0xa1, 0x60, 0xc4, 0xc5, ], Elements::RightPadHigh8_32 => [ - 0xbd, 0x2e, 0x5c, 0x92, 0x60, 0xbf, 0x6f, 0x32, 0x4d, 0x2b, 0x1f, 0x40, 0xcb, 0xb1, - 0x22, 0x40, 0x2f, 0x30, 0xd5, 0x2f, 0x64, 0x34, 0xe3, 0x9f, 0x8a, 0x09, 0xb8, 0x39, - 0x7b, 0xc3, 0x2e, 0x94, + 0xbf, 0x92, 0xf3, 0x9f, 0xdc, 0xde, 0xe4, 0xc4, 0x96, 0x12, 0x18, 0x70, 0x75, 0x30, + 0xcb, 0x10, 0x08, 0xad, 0xf7, 0x55, 0x89, 0xd2, 0x50, 0xca, 0xff, 0xb3, 0x70, 0xb3, + 0x3e, 0xba, 0xe2, 0x38, ], Elements::RightPadHigh8_64 => [ - 0x94, 0x1b, 0xf4, 0x42, 0xdb, 0xcf, 0x4f, 0x20, 0x04, 0xa4, 0xb1, 0x8b, 0xee, 0xb2, - 0xad, 0xac, 0x9f, 0x20, 0x9f, 0xea, 0x4c, 0x4b, 0xd4, 0x8c, 0xed, 0xe8, 0xda, 0xfa, - 0xcf, 0x88, 0x43, 0xb7, + 0xce, 0x7e, 0x8a, 0x0e, 0x4a, 0x9b, 0x04, 0x01, 0x5c, 0xc2, 0x4f, 0x26, 0x99, 0x0f, + 0x68, 0xdc, 0x93, 0xb6, 0x7b, 0x3f, 0x67, 0x6f, 0xbf, 0xea, 0xa1, 0x7f, 0xd7, 0x4c, + 0xd6, 0x03, 0x57, 0xc1, ], Elements::RightPadLow16_32 => [ - 0xbb, 0x38, 0x7c, 0x29, 0x2d, 0x59, 0xd7, 0x13, 0xad, 0x76, 0xf6, 0xce, 0xd5, 0xb5, - 0x96, 0xcf, 0xd8, 0x38, 0x58, 0x92, 0x4f, 0x72, 0x5f, 0x7d, 0x11, 0x6b, 0x28, 0x07, - 0x58, 0x21, 0x92, 0x5a, + 0xb0, 0xf7, 0x15, 0x1d, 0x0a, 0x79, 0xde, 0x08, 0xf2, 0x33, 0x80, 0x6d, 0x4f, 0x7e, + 0x1f, 0x88, 0xc3, 0x29, 0xb9, 0x64, 0x62, 0x5e, 0x8e, 0x02, 0xf0, 0xa0, 0xa6, 0x2c, + 0x31, 0xd0, 0xe6, 0x00, ], Elements::RightPadLow16_64 => [ - 0x02, 0x32, 0x32, 0x6e, 0xe1, 0xb2, 0x06, 0xad, 0x26, 0x34, 0x9b, 0x55, 0x3d, 0x7f, - 0x24, 0x62, 0x28, 0x73, 0x20, 0xd6, 0x30, 0xe4, 0x29, 0x32, 0x07, 0x40, 0xcb, 0xd3, - 0xeb, 0x4e, 0xf9, 0xbe, + 0x6d, 0x14, 0x1c, 0xd9, 0xc8, 0xdc, 0xfc, 0xef, 0xb1, 0xcf, 0x85, 0x3b, 0xf3, 0x72, + 0x78, 0xed, 0xe8, 0xef, 0x3c, 0x55, 0x8f, 0x39, 0xed, 0xeb, 0xbc, 0xaf, 0xe4, 0x4b, + 0x54, 0x00, 0x71, 0x50, ], Elements::RightPadLow1_16 => [ - 0xd9, 0x13, 0xf6, 0x02, 0xb3, 0x59, 0x58, 0xd5, 0x2a, 0xbb, 0x20, 0xb0, 0x2c, 0xe6, - 0x89, 0x61, 0x6f, 0xfa, 0x66, 0xe0, 0x2d, 0x73, 0x86, 0x7d, 0x29, 0x18, 0x1e, 0x11, - 0x93, 0xc9, 0xd2, 0x43, + 0x33, 0x10, 0x1e, 0x54, 0x87, 0xdd, 0x66, 0xc2, 0x45, 0xe8, 0x75, 0x4d, 0xfa, 0x16, + 0x6a, 0x06, 0xce, 0x53, 0xc5, 0xb5, 0x4f, 0xc6, 0xd8, 0x10, 0x0e, 0x2a, 0xec, 0x6c, + 0xfe, 0x93, 0x9b, 0xc9, ], Elements::RightPadLow1_32 => [ - 0x6b, 0x40, 0x33, 0xd9, 0xfc, 0x6c, 0x87, 0x6b, 0x2e, 0x75, 0xd5, 0x82, 0xbb, 0x9b, - 0x3c, 0x04, 0xfa, 0x29, 0xdf, 0xb2, 0x2c, 0x9e, 0x1a, 0x48, 0x8e, 0x83, 0x7c, 0x2f, - 0x39, 0xaa, 0x61, 0x60, + 0x5f, 0xa4, 0x98, 0xc3, 0xb7, 0xc6, 0xd3, 0x48, 0xa4, 0x22, 0xb8, 0xca, 0x4f, 0x47, + 0xd0, 0x69, 0x55, 0x2a, 0xdb, 0xe2, 0xbc, 0x65, 0x59, 0xdf, 0x18, 0x68, 0x43, 0x43, + 0x87, 0x48, 0x43, 0xd3, ], Elements::RightPadLow1_64 => [ - 0x4e, 0x2b, 0x20, 0xdd, 0x9d, 0x91, 0x85, 0x7a, 0x49, 0xc8, 0x20, 0xd0, 0x6f, 0x43, - 0x5d, 0xd3, 0xca, 0x79, 0x1f, 0x17, 0x7e, 0xea, 0xf3, 0x4a, 0xec, 0x36, 0xc4, 0x54, - 0x19, 0xd1, 0x69, 0x65, + 0x07, 0xbb, 0x6d, 0x70, 0xc5, 0x35, 0x4f, 0x44, 0x51, 0xfb, 0x06, 0x1b, 0x37, 0xe9, + 0xef, 0xda, 0x7e, 0x83, 0x6e, 0xfd, 0x45, 0x06, 0x14, 0x05, 0xa5, 0xea, 0x1a, 0x2f, + 0xf3, 0x15, 0x83, 0x06, ], Elements::RightPadLow1_8 => [ - 0x24, 0xee, 0xe4, 0x51, 0xb2, 0x6b, 0xa3, 0x9d, 0x6b, 0xcc, 0x58, 0x8b, 0x72, 0x0f, - 0xaf, 0x22, 0x32, 0x76, 0x79, 0x12, 0xf6, 0x7d, 0xb3, 0x29, 0x06, 0x0d, 0x90, 0xb7, - 0x14, 0x17, 0xb6, 0xc3, + 0xcd, 0x72, 0x15, 0xd3, 0x9b, 0x80, 0xb1, 0x8b, 0x6e, 0x78, 0xec, 0x56, 0x8b, 0x48, + 0x82, 0x58, 0x9f, 0x82, 0x71, 0x04, 0xd6, 0x85, 0xb0, 0xd4, 0xec, 0x68, 0x9d, 0x10, + 0x59, 0x75, 0x71, 0x22, ], Elements::RightPadLow32_64 => [ - 0x52, 0xfb, 0x8b, 0xbc, 0xef, 0x90, 0x32, 0x31, 0xa5, 0xb7, 0x67, 0x91, 0xe4, 0x65, - 0x2b, 0x38, 0xbe, 0xd8, 0x97, 0x7f, 0x5d, 0xab, 0x17, 0x95, 0x55, 0x99, 0x8d, 0xb2, - 0x4d, 0x1d, 0x7c, 0x98, + 0x00, 0x78, 0xa0, 0x7c, 0x1a, 0x2b, 0xa8, 0x48, 0x6f, 0x16, 0x05, 0xd7, 0xfa, 0x54, + 0xb3, 0x77, 0xe8, 0x4c, 0xb6, 0xdd, 0xc5, 0xe4, 0xc0, 0x3d, 0xaf, 0x98, 0xfb, 0xa9, + 0x0f, 0xd2, 0xf6, 0x62, ], Elements::RightPadLow8_16 => [ - 0x17, 0x19, 0xb2, 0x79, 0x74, 0xe8, 0x43, 0x80, 0x50, 0x88, 0x25, 0x30, 0xa1, 0xa4, - 0x2e, 0xd7, 0xab, 0x3c, 0xa2, 0x8d, 0x25, 0x4a, 0xdc, 0x37, 0xfe, 0x56, 0x66, 0xfd, - 0x2f, 0x70, 0xb4, 0xe4, + 0xc9, 0x04, 0x8e, 0x29, 0xac, 0xd7, 0x26, 0x74, 0x03, 0x00, 0xc9, 0xa6, 0xcf, 0xf1, + 0x17, 0xc0, 0xec, 0x77, 0x09, 0x0d, 0xa5, 0xae, 0xed, 0xf9, 0x70, 0x3f, 0x9a, 0xff, + 0xc9, 0x1d, 0x9a, 0xb7, ], Elements::RightPadLow8_32 => [ - 0xee, 0x2a, 0x82, 0x30, 0xf2, 0x83, 0xdc, 0x08, 0x3b, 0x8e, 0x19, 0x44, 0x8b, 0xa3, - 0x24, 0x97, 0xe9, 0x31, 0x8b, 0x4e, 0x9e, 0x1b, 0xd4, 0xeb, 0xe1, 0xbe, 0xc5, 0x24, - 0x47, 0x6a, 0xb8, 0x6d, + 0x51, 0xe7, 0xf9, 0x34, 0xf0, 0x6e, 0xc1, 0xc9, 0x49, 0x91, 0x86, 0xba, 0xa5, 0x18, + 0x0a, 0x9d, 0xed, 0x56, 0x6d, 0x58, 0xb4, 0x2a, 0xb2, 0xf7, 0x0f, 0xf3, 0x6a, 0x4e, + 0x88, 0xba, 0x09, 0x78, ], Elements::RightPadLow8_64 => [ - 0x97, 0xda, 0x90, 0xd8, 0x42, 0x8e, 0x6b, 0x94, 0xe6, 0xc1, 0x35, 0x14, 0x60, 0xdc, - 0x01, 0x12, 0x3e, 0x47, 0x9c, 0x4a, 0xaf, 0xbb, 0xd1, 0x4c, 0x78, 0xad, 0x2f, 0xad, - 0x0a, 0x89, 0x5e, 0xf3, + 0x48, 0xcd, 0x20, 0xc3, 0x8c, 0x1e, 0xa9, 0xa0, 0xab, 0x74, 0xd5, 0x1d, 0xf4, 0x85, + 0xef, 0x63, 0x90, 0x4b, 0x8f, 0x9a, 0x09, 0xef, 0xfd, 0x98, 0xfe, 0xba, 0xcd, 0x17, + 0x17, 0xf1, 0x8a, 0xd8, ], Elements::RightRotate16 => [ - 0xee, 0x7d, 0x1c, 0x1f, 0x3d, 0x82, 0xda, 0x56, 0x81, 0xdd, 0x8b, 0x50, 0x69, 0xd5, - 0x37, 0xd8, 0x9f, 0x22, 0x93, 0xaa, 0x60, 0x53, 0x32, 0xce, 0x10, 0xc1, 0xc4, 0x22, - 0x4a, 0x53, 0xce, 0xea, + 0x65, 0xad, 0x75, 0x5e, 0xe8, 0x09, 0xc7, 0x27, 0x6b, 0xc0, 0x9d, 0xe1, 0x9b, 0x67, + 0xd1, 0x96, 0x9d, 0xe3, 0x2c, 0x53, 0xb3, 0xa1, 0x01, 0x21, 0xaf, 0x90, 0x56, 0x56, + 0x6a, 0x3c, 0xe8, 0xef, ], Elements::RightRotate32 => [ - 0x89, 0x2a, 0x28, 0xdb, 0x32, 0x4c, 0xd9, 0x3c, 0xf7, 0xf6, 0x9c, 0x30, 0x72, 0xa7, - 0xb2, 0x22, 0xb8, 0x8c, 0x81, 0x8e, 0xe0, 0xe5, 0xa1, 0xb8, 0x97, 0xe5, 0x0c, 0x58, - 0x1f, 0x2a, 0x29, 0x62, + 0xd8, 0x13, 0x63, 0x7c, 0xba, 0x61, 0x09, 0x4e, 0xb5, 0xdc, 0x58, 0xf9, 0x32, 0x59, + 0xac, 0x3b, 0xda, 0x0a, 0xf2, 0x9c, 0x3d, 0xcb, 0x05, 0x51, 0xe1, 0x45, 0x20, 0x3e, + 0x0b, 0x8d, 0xfe, 0x20, ], Elements::RightRotate64 => [ - 0x64, 0x31, 0x4f, 0xf1, 0x90, 0x40, 0xa3, 0x76, 0xf9, 0xfc, 0xf0, 0x2e, 0x75, 0x74, - 0x14, 0x9c, 0x12, 0x3f, 0x99, 0xc3, 0x90, 0x71, 0xcd, 0x37, 0x85, 0x1f, 0x8f, 0x8c, - 0xdf, 0x0e, 0xed, 0x42, + 0x7b, 0x8d, 0xf8, 0xb8, 0x85, 0x7e, 0xcf, 0xb4, 0xac, 0xc1, 0x83, 0xa3, 0x55, 0xd3, + 0x63, 0x0a, 0x9c, 0x64, 0x5f, 0x9d, 0xc4, 0x05, 0xe8, 0x87, 0x06, 0x61, 0x93, 0xcb, + 0xcd, 0xa4, 0x4a, 0x2e, ], Elements::RightRotate8 => [ - 0x15, 0x81, 0xe0, 0xca, 0x09, 0xf1, 0x36, 0x84, 0xfe, 0x31, 0x35, 0xc1, 0xc6, 0xb6, - 0xf9, 0xc4, 0x89, 0xd7, 0xdd, 0x1e, 0xf0, 0xa5, 0xf7, 0x70, 0x83, 0xbb, 0x0e, 0xd0, - 0x0b, 0x4d, 0xf2, 0x8f, + 0x89, 0x28, 0x2b, 0x3e, 0x43, 0x0b, 0xba, 0xd5, 0xae, 0x7b, 0x1a, 0xd7, 0x4d, 0x10, + 0x61, 0x4c, 0xed, 0xfd, 0xc8, 0x01, 0xbf, 0xa3, 0xce, 0x17, 0x5f, 0x9e, 0x08, 0xbf, + 0x40, 0x31, 0xdd, 0x8e, ], Elements::RightShift16 => [ - 0x5b, 0x4e, 0xc4, 0x62, 0xd4, 0xe2, 0xed, 0x89, 0xff, 0xe3, 0xfd, 0x40, 0x59, 0x32, - 0xc7, 0x97, 0x80, 0x28, 0x61, 0x20, 0x3e, 0xcb, 0x61, 0xd5, 0xb5, 0x9a, 0x73, 0xb0, - 0xfb, 0xfc, 0x4e, 0x84, + 0x86, 0x04, 0x0b, 0x4b, 0xdf, 0x11, 0x80, 0x7f, 0xb1, 0x0d, 0xc7, 0xca, 0x98, 0xf8, + 0x3e, 0x53, 0x02, 0xc5, 0x84, 0xc9, 0x26, 0x71, 0xd9, 0xa8, 0xca, 0xdd, 0xf7, 0x78, + 0x0b, 0xd6, 0x08, 0x5f, ], Elements::RightShift32 => [ - 0xb2, 0x86, 0x1a, 0x48, 0xb2, 0x05, 0x41, 0x76, 0x91, 0xb6, 0x34, 0x7f, 0xe7, 0x5e, - 0xbe, 0xa5, 0x45, 0x60, 0xcf, 0x81, 0x38, 0x14, 0xac, 0x31, 0x63, 0x91, 0x70, 0xdb, - 0x92, 0xb9, 0x47, 0xd6, + 0xd1, 0xd0, 0xcc, 0xdb, 0xcc, 0x11, 0xa0, 0xe0, 0x0a, 0xf9, 0x3e, 0x7a, 0xe5, 0xbb, + 0xe2, 0x7f, 0x9d, 0x7f, 0xa7, 0xf2, 0xc2, 0x51, 0xf6, 0x03, 0x35, 0x24, 0x5f, 0xa0, + 0x0c, 0x5a, 0xb9, 0xfc, ], Elements::RightShift64 => [ - 0xd3, 0x39, 0x42, 0xbf, 0x18, 0x61, 0x8a, 0x10, 0x4a, 0x57, 0x07, 0x54, 0x7f, 0x78, - 0xab, 0x72, 0x94, 0x1f, 0x4e, 0xe8, 0x13, 0x21, 0x6c, 0x0c, 0xe5, 0x20, 0xf3, 0x56, - 0x60, 0xfd, 0xbf, 0x81, + 0x51, 0x7b, 0xa7, 0xcc, 0xb3, 0xab, 0x80, 0x2c, 0x83, 0xd7, 0x06, 0x8c, 0x3c, 0x87, + 0x1c, 0x17, 0xe2, 0x04, 0xff, 0x0e, 0xea, 0x02, 0xab, 0x42, 0x01, 0x81, 0x73, 0x3c, + 0x79, 0xa4, 0x2b, 0xb6, ], Elements::RightShift8 => [ - 0x73, 0x79, 0x12, 0xae, 0x32, 0x32, 0x50, 0xc0, 0x4e, 0x51, 0x6e, 0x39, 0x66, 0xce, - 0x94, 0x7e, 0x65, 0x32, 0x6f, 0x47, 0x46, 0x8a, 0xc9, 0x31, 0xc1, 0x63, 0xc3, 0xb0, - 0x2d, 0xe4, 0x12, 0x45, + 0x0f, 0x29, 0x8a, 0x1a, 0x90, 0xd1, 0xf3, 0x84, 0xc2, 0x45, 0xaf, 0x0b, 0xf1, 0x72, + 0x64, 0x2c, 0x51, 0xf5, 0x1d, 0x47, 0x5a, 0x41, 0x47, 0xdc, 0xe8, 0xc7, 0x21, 0x68, + 0xe7, 0x7f, 0x0c, 0xb2, ], Elements::RightShiftWith16 => [ - 0x1e, 0x18, 0x1c, 0x33, 0x16, 0x93, 0x59, 0x4c, 0x6e, 0x0e, 0x8f, 0xde, 0xb4, 0x0a, - 0x81, 0xa3, 0xaf, 0x8f, 0x56, 0xb7, 0xa5, 0x60, 0xde, 0x64, 0x41, 0x30, 0x3f, 0x65, - 0xf4, 0xfc, 0x93, 0x7c, + 0xcf, 0x05, 0xf8, 0x42, 0x11, 0x0f, 0x98, 0x19, 0xa5, 0x34, 0x5c, 0x23, 0x2b, 0xeb, + 0x47, 0x2b, 0x9c, 0x97, 0x69, 0x84, 0xa4, 0x14, 0x70, 0xbe, 0xfc, 0x0b, 0x02, 0x5d, + 0x46, 0xd0, 0x42, 0x71, ], Elements::RightShiftWith32 => [ - 0x69, 0xdb, 0xe1, 0x90, 0xd7, 0x2d, 0x77, 0xd0, 0xd0, 0xdc, 0xf3, 0x25, 0xde, 0x96, - 0x59, 0x22, 0x14, 0x58, 0x1f, 0x11, 0xe9, 0xed, 0xca, 0x93, 0xe2, 0xf9, 0x28, 0x48, - 0x2b, 0x5e, 0x77, 0xa7, + 0x04, 0x04, 0x41, 0x95, 0x69, 0xd5, 0x7f, 0xe3, 0x89, 0x32, 0x30, 0xdb, 0x5f, 0xa0, + 0xd8, 0xf9, 0x47, 0x30, 0x23, 0xa4, 0x2e, 0x01, 0xc2, 0x04, 0x93, 0x1c, 0xd7, 0x34, + 0xfb, 0x44, 0xa9, 0xf8, ], Elements::RightShiftWith64 => [ - 0x2d, 0x0a, 0xb8, 0x83, 0x04, 0x69, 0x28, 0x0e, 0x2a, 0x28, 0x99, 0x3c, 0x5a, 0x05, - 0xf5, 0x6b, 0x91, 0xa8, 0xae, 0xb0, 0x34, 0xcc, 0xeb, 0xe0, 0x9c, 0x50, 0xf1, 0x3e, - 0xa7, 0x8d, 0xda, 0xfc, + 0x77, 0x26, 0x7b, 0x05, 0x1e, 0x5a, 0x10, 0x39, 0x11, 0x85, 0x90, 0x3b, 0x1a, 0x98, + 0xde, 0x32, 0xfc, 0xf2, 0x4e, 0x6a, 0xe6, 0x87, 0x1c, 0x6f, 0x15, 0xb6, 0x86, 0x52, + 0xb2, 0x4a, 0x66, 0xc4, ], Elements::RightShiftWith8 => [ - 0x1b, 0xdb, 0xdc, 0x8d, 0x8b, 0x74, 0x9b, 0xa3, 0xda, 0x75, 0x75, 0x58, 0x7d, 0x99, - 0x93, 0x00, 0x72, 0x60, 0x3f, 0x27, 0x5f, 0x7b, 0xd2, 0xf3, 0x24, 0xa3, 0x49, 0x51, - 0xd4, 0x46, 0x1b, 0x21, + 0xa9, 0xcb, 0x66, 0x14, 0xef, 0x32, 0x6a, 0x66, 0x47, 0x74, 0xd6, 0xdc, 0xe6, 0x53, + 0xe1, 0xd6, 0xc0, 0x89, 0x58, 0x34, 0x43, 0xae, 0x91, 0x7f, 0x0f, 0xb4, 0xc5, 0xc2, + 0x2b, 0x9a, 0xb4, 0x44, ], Elements::Rightmost16_1 => [ - 0xe1, 0x29, 0xa8, 0xae, 0x88, 0x0f, 0x51, 0xca, 0x2a, 0x94, 0xdb, 0x44, 0xed, 0xec, - 0xa1, 0xc3, 0xa7, 0x66, 0xb7, 0x3e, 0x98, 0x97, 0x0b, 0x11, 0x98, 0xad, 0xe2, 0x16, - 0xae, 0x69, 0xcd, 0x2d, + 0x64, 0x8b, 0x9a, 0x0f, 0x90, 0x32, 0x28, 0xba, 0x27, 0xd9, 0x59, 0x41, 0xfd, 0x54, + 0xe9, 0x2e, 0xa7, 0xb3, 0x5f, 0xee, 0xb2, 0x8a, 0x79, 0x86, 0xb6, 0x2d, 0xa9, 0x2d, + 0x7d, 0x51, 0x24, 0x70, ], Elements::Rightmost16_2 => [ - 0x8d, 0x0f, 0x68, 0xda, 0xdf, 0x54, 0x6c, 0x5e, 0xd3, 0x6f, 0x34, 0x70, 0x58, 0x02, - 0xb0, 0xce, 0x83, 0x9a, 0x63, 0xe5, 0x74, 0x49, 0x77, 0x85, 0x24, 0x30, 0x08, 0xab, - 0x42, 0x7e, 0x45, 0x6b, + 0x27, 0x62, 0x2f, 0x1c, 0x01, 0x73, 0x62, 0x31, 0x09, 0xf9, 0x20, 0xf8, 0xcd, 0x87, + 0x66, 0xbb, 0xf6, 0x0d, 0x30, 0x6a, 0xd1, 0x98, 0x3f, 0xdb, 0xc1, 0x46, 0x1d, 0x23, + 0xa4, 0x1f, 0xa9, 0x44, ], Elements::Rightmost16_4 => [ - 0xb0, 0xd4, 0x13, 0x95, 0x41, 0xec, 0xab, 0x2c, 0x16, 0xfc, 0x1a, 0x87, 0x98, 0x9b, - 0xdd, 0x04, 0x53, 0x22, 0xef, 0xb1, 0xe7, 0x0b, 0xc1, 0xf7, 0xb0, 0x4d, 0x43, 0xb2, - 0x8b, 0xb3, 0x49, 0xff, + 0x79, 0x87, 0x86, 0x8f, 0xf3, 0xfe, 0x7f, 0x44, 0x68, 0xa3, 0x15, 0x0e, 0x3a, 0x42, + 0xcd, 0x0f, 0x32, 0x5d, 0x48, 0x92, 0x81, 0x89, 0xa4, 0x85, 0xaa, 0x62, 0xc0, 0x13, + 0x94, 0xc4, 0xe8, 0x34, ], Elements::Rightmost16_8 => [ - 0x0f, 0x03, 0xfa, 0x0f, 0xa6, 0xce, 0xb5, 0x5d, 0xf9, 0x9b, 0x20, 0xd9, 0xef, 0xcf, - 0x37, 0x10, 0xa7, 0x08, 0xa2, 0x84, 0xa9, 0x5c, 0x33, 0x4c, 0x1d, 0xa3, 0xcb, 0xfe, - 0x02, 0xfb, 0x94, 0x67, + 0xef, 0x85, 0xcf, 0x36, 0xb7, 0x9d, 0x9c, 0xfa, 0xed, 0x2c, 0x63, 0x3d, 0x75, 0x1e, + 0x2e, 0x38, 0xea, 0xae, 0x5a, 0xc0, 0x21, 0x05, 0x0b, 0x13, 0x47, 0x29, 0xb9, 0xdb, + 0x51, 0xbd, 0x55, 0xa3, ], Elements::Rightmost32_1 => [ - 0x8f, 0x5e, 0x52, 0x63, 0xbb, 0x8e, 0xf8, 0x00, 0xc9, 0x9d, 0x0c, 0x23, 0xfc, 0xba, - 0xa3, 0x19, 0x8a, 0x6a, 0xbd, 0xf0, 0x08, 0x58, 0x1e, 0x8c, 0x89, 0x10, 0x52, 0xb4, - 0x0c, 0xa7, 0xf7, 0xa4, + 0x07, 0x38, 0xe6, 0x9e, 0xbf, 0xcf, 0x85, 0xd8, 0xe0, 0xdb, 0x90, 0x66, 0xc2, 0x0a, + 0xfc, 0x0a, 0x0a, 0x62, 0xd5, 0x4d, 0xb8, 0xec, 0x35, 0x7a, 0xce, 0x45, 0xba, 0x4d, + 0x41, 0x55, 0xd0, 0x49, ], Elements::Rightmost32_16 => [ - 0xb9, 0xa2, 0x3e, 0x1b, 0xf7, 0xc6, 0x81, 0x43, 0x51, 0x30, 0x74, 0xc9, 0x39, 0xbd, - 0x73, 0xc9, 0xbf, 0x8e, 0xb5, 0xaa, 0xce, 0x84, 0x15, 0xff, 0x01, 0x02, 0x2f, 0xca, - 0x65, 0xb3, 0xa3, 0x42, + 0x08, 0xc1, 0x2f, 0xf6, 0x30, 0x90, 0x6c, 0xdc, 0x05, 0xd3, 0x17, 0x16, 0x04, 0x5d, + 0x96, 0x2a, 0x6c, 0xb3, 0x95, 0x2c, 0x89, 0xae, 0xb6, 0xc7, 0x1e, 0x47, 0xfb, 0xa6, + 0x84, 0x5a, 0x4d, 0x8a, ], Elements::Rightmost32_2 => [ - 0xab, 0xf3, 0x23, 0x8d, 0x3c, 0xbf, 0x0b, 0xf3, 0x5a, 0x83, 0x96, 0x1f, 0xb9, 0xf9, - 0x04, 0xb5, 0x6d, 0x3a, 0x9e, 0x0e, 0x35, 0xc8, 0x9d, 0xf8, 0x72, 0xc9, 0xc9, 0x38, - 0xd3, 0x44, 0xa5, 0x4a, + 0xf7, 0x55, 0xdf, 0x38, 0x97, 0x22, 0xae, 0x31, 0x23, 0x88, 0x4d, 0x9f, 0x03, 0xf2, + 0x60, 0xf1, 0x2a, 0xb2, 0x2a, 0x35, 0x32, 0x03, 0xd3, 0xcd, 0xfe, 0x19, 0x83, 0x08, + 0x21, 0x81, 0x03, 0x4b, ], Elements::Rightmost32_4 => [ - 0xf7, 0xee, 0xd2, 0xec, 0x80, 0x59, 0x06, 0xfe, 0xb3, 0xac, 0x27, 0xf2, 0xde, 0xe5, - 0x3b, 0x58, 0xc3, 0xb1, 0x3e, 0x40, 0xe2, 0xbc, 0x3e, 0x8b, 0x10, 0x63, 0x2e, 0xd9, - 0xc0, 0xe7, 0xca, 0x5f, + 0x39, 0x60, 0x04, 0xe0, 0xf7, 0x2c, 0xc2, 0x47, 0x58, 0x5a, 0x6b, 0xf9, 0x17, 0xf7, + 0x78, 0x1a, 0xae, 0xb1, 0xb6, 0x2a, 0x87, 0x76, 0x20, 0x58, 0x72, 0x26, 0x7e, 0x4f, + 0x18, 0xf0, 0xa7, 0x75, ], Elements::Rightmost32_8 => [ - 0xf3, 0xe4, 0x39, 0xed, 0x98, 0x83, 0xc6, 0xa6, 0xb9, 0x07, 0x20, 0x53, 0x2e, 0xb4, - 0xe0, 0x43, 0xe8, 0x9a, 0x35, 0xf0, 0xb5, 0x29, 0x5f, 0xd5, 0x02, 0xa0, 0xb0, 0xb2, - 0x43, 0x6b, 0xd2, 0x13, + 0x41, 0x93, 0x6e, 0xa9, 0x76, 0x9d, 0xe1, 0xf7, 0x86, 0x6c, 0xd5, 0xd0, 0x68, 0xac, + 0x6c, 0x2e, 0xa7, 0x47, 0x0a, 0x39, 0x39, 0xc2, 0xf1, 0x7d, 0x34, 0xfe, 0x91, 0xaf, + 0xc6, 0x8b, 0x1f, 0x3a, ], Elements::Rightmost64_1 => [ - 0xc9, 0x6b, 0xe3, 0xe3, 0x35, 0x48, 0x25, 0x8e, 0x30, 0x71, 0x7b, 0x30, 0x81, 0x7e, - 0x44, 0x0f, 0x0a, 0xf4, 0xb1, 0x89, 0x0e, 0xdf, 0xcf, 0x7f, 0xdc, 0xb3, 0x9c, 0xb9, - 0xef, 0xff, 0x47, 0x1d, + 0x45, 0x06, 0xf2, 0x04, 0xb3, 0xd8, 0xc9, 0xa6, 0x25, 0xfa, 0x9e, 0x8f, 0xe6, 0xcc, + 0x14, 0xba, 0xe7, 0x1d, 0x61, 0xa2, 0x3c, 0xc4, 0x6a, 0xd5, 0xca, 0x25, 0xc6, 0x7a, + 0x01, 0x9d, 0x9d, 0x4b, ], Elements::Rightmost64_16 => [ - 0x5d, 0x55, 0x5f, 0x83, 0xe4, 0x80, 0x87, 0xdb, 0x0c, 0x41, 0x5d, 0xad, 0x17, 0xf0, - 0x81, 0xd4, 0xf6, 0xb7, 0x60, 0xe9, 0x95, 0xf2, 0x72, 0xbb, 0xb6, 0xe4, 0xcb, 0x42, - 0xd0, 0xf5, 0x03, 0x25, + 0x8a, 0xf7, 0x0d, 0x2b, 0x92, 0xa7, 0xd0, 0x04, 0xdb, 0x8d, 0x79, 0x6e, 0xc1, 0x2b, + 0x75, 0xe4, 0xe4, 0x4d, 0x92, 0x62, 0x82, 0x32, 0x57, 0xca, 0xb3, 0xcb, 0x45, 0xfb, + 0x72, 0x2a, 0x9b, 0x9b, ], Elements::Rightmost64_2 => [ - 0xa9, 0xcb, 0x13, 0x43, 0xdb, 0xd5, 0x22, 0xb9, 0x1b, 0x64, 0x82, 0xe4, 0xba, 0xe6, - 0x2b, 0x0e, 0x5f, 0x82, 0x98, 0x68, 0x7e, 0x64, 0x23, 0x33, 0x5c, 0x6d, 0xf5, 0x06, - 0xdc, 0x42, 0x5b, 0x90, + 0xb6, 0xcb, 0xca, 0xd7, 0x76, 0xfc, 0xa4, 0xf7, 0x7d, 0x5a, 0x7c, 0xf0, 0x85, 0x00, + 0xce, 0xb2, 0xca, 0xfc, 0xdc, 0xe1, 0xe3, 0x3f, 0xae, 0x08, 0x75, 0x29, 0xf5, 0xa1, + 0x55, 0x41, 0xbd, 0x98, ], Elements::Rightmost64_32 => [ - 0x47, 0x33, 0xb1, 0x92, 0x59, 0x80, 0x09, 0x64, 0x99, 0xb7, 0x87, 0x7c, 0x04, 0xe0, - 0x01, 0xba, 0xd3, 0x32, 0x5b, 0x2e, 0xca, 0xb3, 0x48, 0xe5, 0xad, 0xd7, 0x20, 0xd0, - 0x7b, 0x1b, 0x4a, 0x3a, + 0x7f, 0xb0, 0x85, 0x18, 0xd5, 0xcc, 0x0c, 0x38, 0x0e, 0xa4, 0x55, 0xbf, 0xb2, 0xf4, + 0x5f, 0x2b, 0x55, 0xf5, 0x34, 0x68, 0x10, 0x9c, 0x36, 0x5e, 0xac, 0xff, 0x1f, 0x09, + 0x52, 0x2c, 0x6d, 0x51, ], Elements::Rightmost64_4 => [ - 0x89, 0xda, 0xf7, 0xbe, 0x2c, 0xde, 0x58, 0xf0, 0x4e, 0x8d, 0xee, 0x58, 0xa4, 0x39, - 0x10, 0x91, 0x2c, 0x09, 0x6e, 0x95, 0xe1, 0x46, 0xc1, 0x9b, 0x00, 0xf5, 0x4f, 0xe8, - 0x74, 0x70, 0x07, 0x40, + 0xdb, 0x61, 0xfd, 0xe7, 0xa4, 0x1c, 0xbc, 0x68, 0x77, 0xd2, 0xe6, 0x4e, 0x5c, 0x5f, + 0x86, 0xe2, 0x67, 0xce, 0x84, 0x3c, 0xc2, 0xab, 0x52, 0xf9, 0x1a, 0x4a, 0x6d, 0x4c, + 0x64, 0xc6, 0xf4, 0xbf, ], Elements::Rightmost64_8 => [ - 0x1d, 0xfb, 0x2b, 0xef, 0x4c, 0xae, 0x45, 0x07, 0x92, 0x27, 0x08, 0xe5, 0xa5, 0x70, - 0x99, 0x49, 0x3f, 0xbe, 0x21, 0x15, 0x98, 0xee, 0xc0, 0xbf, 0xe0, 0xe7, 0x7b, 0x3d, - 0x41, 0xec, 0x89, 0xab, + 0x05, 0x66, 0x65, 0xd9, 0x3f, 0xbe, 0x67, 0xe7, 0x13, 0x7d, 0x40, 0xe7, 0x50, 0x00, + 0x82, 0x8d, 0xe2, 0x54, 0x75, 0x7d, 0x47, 0xe7, 0x54, 0xc5, 0x7e, 0x2e, 0x29, 0x27, + 0x46, 0xb3, 0xd6, 0xe3, ], Elements::Rightmost8_1 => [ - 0xce, 0xab, 0xd5, 0xca, 0x9f, 0xd9, 0x16, 0x2f, 0x99, 0x5e, 0x37, 0x35, 0x77, 0x04, - 0x7a, 0xa4, 0xba, 0x71, 0xf8, 0x07, 0xc7, 0x11, 0xf6, 0x0b, 0x08, 0xeb, 0x6a, 0x1c, - 0xfc, 0x38, 0x1c, 0x9c, + 0x3d, 0x31, 0xef, 0x3d, 0x18, 0xb6, 0xaf, 0x64, 0x10, 0x46, 0xd0, 0xdf, 0xe4, 0x58, + 0xb6, 0xda, 0x92, 0x13, 0xab, 0x54, 0xaa, 0xd8, 0xab, 0x1f, 0x48, 0x02, 0x33, 0xe9, + 0x30, 0xcc, 0x77, 0x4b, ], Elements::Rightmost8_2 => [ - 0x39, 0xb2, 0xf0, 0x37, 0xb6, 0xa0, 0x81, 0x86, 0x11, 0x50, 0x65, 0xf3, 0x85, 0x05, - 0x7a, 0xf3, 0xde, 0x3b, 0x9f, 0x0a, 0x9b, 0xda, 0x68, 0x33, 0x71, 0x46, 0x22, 0x59, - 0x41, 0x30, 0x28, 0xec, + 0x25, 0xc2, 0xa1, 0xbe, 0xbc, 0x03, 0xaa, 0x9d, 0x1e, 0x26, 0x61, 0x0e, 0x58, 0x77, + 0xad, 0x7a, 0xb2, 0xf7, 0xa4, 0xa2, 0x4b, 0xe7, 0x68, 0x6c, 0x49, 0x78, 0xe5, 0xbd, + 0x21, 0x97, 0xe8, 0xbd, ], Elements::Rightmost8_4 => [ - 0xa7, 0xa9, 0x49, 0x49, 0x0d, 0x1a, 0x00, 0xde, 0xfe, 0x5f, 0x61, 0x51, 0x29, 0x23, - 0x85, 0x0f, 0x51, 0xe3, 0x47, 0xc0, 0x6a, 0x8d, 0x76, 0xa0, 0xcd, 0xab, 0x87, 0xee, - 0xe2, 0x9a, 0x5d, 0xef, + 0x43, 0xcc, 0x17, 0xf6, 0xad, 0x5d, 0x42, 0x20, 0x53, 0xf3, 0x51, 0x9e, 0x0a, 0xa2, + 0x26, 0xee, 0x06, 0xc5, 0x7c, 0xed, 0x8d, 0x05, 0x31, 0xec, 0x83, 0x94, 0xaf, 0x29, + 0x05, 0xc1, 0x44, 0xa0, ], Elements::ScalarAdd => [ - 0x4e, 0xe9, 0xa9, 0x6c, 0xef, 0x49, 0x6c, 0xf4, 0xa8, 0xfc, 0x4e, 0x8a, 0x8b, 0xc0, - 0xd1, 0x59, 0xca, 0x5f, 0xfb, 0x87, 0x53, 0x64, 0x3a, 0x8a, 0xdf, 0x63, 0x8a, 0xe8, - 0x9b, 0xbb, 0xb3, 0x45, + 0x21, 0xd0, 0x3b, 0x80, 0x63, 0x0a, 0x82, 0x5a, 0x2a, 0xcc, 0x13, 0x3d, 0x24, 0x08, + 0xfd, 0xc7, 0x71, 0x8e, 0x42, 0x52, 0x13, 0xa9, 0x2f, 0x95, 0xff, 0x97, 0x62, 0xb8, + 0xc5, 0xe9, 0x3f, 0x64, ], Elements::ScalarInvert => [ - 0x12, 0xb8, 0x55, 0xe5, 0xeb, 0xaa, 0x7f, 0x8b, 0xb4, 0x4f, 0xee, 0x26, 0x16, 0xa0, - 0x51, 0xad, 0x00, 0x49, 0x9f, 0x9d, 0xf2, 0xa2, 0xad, 0xf7, 0x99, 0x73, 0xe9, 0xdb, - 0x81, 0x85, 0x75, 0x9c, + 0x32, 0x77, 0x4c, 0x56, 0x7a, 0x8a, 0xef, 0xee, 0xd0, 0xef, 0xa7, 0x4c, 0xbb, 0xb6, + 0xaf, 0x27, 0x34, 0xa2, 0xb1, 0x1b, 0x14, 0x6a, 0xbe, 0x92, 0x06, 0x7c, 0x9f, 0xab, + 0xa6, 0x90, 0xb6, 0x85, ], Elements::ScalarIsZero => [ - 0x4d, 0x25, 0x28, 0x03, 0x45, 0x7b, 0x83, 0xb8, 0x5b, 0x98, 0x7f, 0x04, 0x87, 0x33, - 0xfb, 0xee, 0xde, 0xaa, 0x8d, 0x25, 0x9d, 0x32, 0x05, 0x07, 0x45, 0x00, 0x19, 0xc6, - 0x22, 0x03, 0x4f, 0x26, + 0x7b, 0x9b, 0xe7, 0x66, 0x49, 0x08, 0x90, 0x91, 0x68, 0xe3, 0xea, 0x60, 0xbd, 0x10, + 0x61, 0xec, 0x9a, 0x31, 0xe9, 0xa1, 0xd4, 0x76, 0x88, 0xba, 0x12, 0x7a, 0x39, 0xc1, + 0xc5, 0x8d, 0xe4, 0xfb, ], Elements::ScalarMultiply => [ - 0x87, 0x56, 0xf2, 0xdc, 0x31, 0x0c, 0xde, 0xb6, 0x40, 0x45, 0xc4, 0x4c, 0x23, 0x66, - 0xe1, 0x4b, 0xc1, 0xfa, 0xfa, 0x17, 0x15, 0x9f, 0x2d, 0x7b, 0x48, 0x9b, 0xd9, 0x45, - 0x3e, 0xe3, 0x7e, 0xa0, + 0x25, 0xef, 0xe6, 0x40, 0x18, 0x6b, 0xc5, 0xea, 0x9f, 0x0e, 0x5d, 0xc8, 0x02, 0xd6, + 0xd2, 0xfe, 0x1c, 0x77, 0x75, 0x0f, 0xaa, 0x02, 0x4e, 0x07, 0x1b, 0xd8, 0x32, 0xdb, + 0xe6, 0x79, 0x02, 0x4b, ], Elements::ScalarMultiplyLambda => [ - 0x2b, 0x31, 0xd3, 0x9e, 0xc4, 0xff, 0x37, 0x23, 0x1a, 0x1b, 0x3e, 0xbe, 0x75, 0x9d, - 0x41, 0xe0, 0xf5, 0xce, 0x34, 0x49, 0x2d, 0x4b, 0xd3, 0xc2, 0x09, 0x88, 0xc3, 0xf2, - 0xf7, 0xc5, 0x3e, 0xdc, + 0x23, 0x2b, 0x9f, 0xcf, 0x9d, 0x85, 0xc1, 0xa5, 0x11, 0x62, 0xa3, 0xea, 0x55, 0x08, + 0x16, 0x31, 0x5c, 0x8e, 0x77, 0xe4, 0x64, 0x03, 0xac, 0xff, 0xa7, 0xfe, 0x6d, 0xbb, + 0x1f, 0x25, 0x01, 0x1a, ], Elements::ScalarNegate => [ - 0xfc, 0x2e, 0xd1, 0x87, 0x50, 0xa2, 0x21, 0x81, 0xaf, 0x5b, 0x81, 0x41, 0x96, 0x92, - 0x73, 0xca, 0xaf, 0x72, 0xcc, 0x11, 0x31, 0xe1, 0x08, 0x2c, 0xf0, 0x08, 0xf5, 0xca, - 0x09, 0x09, 0xc2, 0x16, + 0x3a, 0x63, 0x32, 0x9d, 0x66, 0x45, 0xa7, 0xc0, 0x4e, 0x7f, 0x99, 0xd9, 0xca, 0x76, + 0x29, 0x2c, 0xb5, 0x7b, 0xea, 0x2f, 0x9f, 0x90, 0x84, 0xf3, 0x05, 0xe0, 0x58, 0x3e, + 0x45, 0x5b, 0x82, 0xee, ], Elements::ScalarNormalize => [ - 0x79, 0x7c, 0xff, 0xa8, 0x08, 0x59, 0xca, 0xb7, 0xcd, 0xbf, 0x3b, 0x9d, 0xe6, 0xe0, - 0xa8, 0xb7, 0x91, 0x48, 0x4e, 0xaa, 0xba, 0xcb, 0xdf, 0xba, 0xeb, 0x01, 0xe2, 0x38, - 0x95, 0xe9, 0x61, 0x99, + 0x27, 0xef, 0x9f, 0x9c, 0x0a, 0x5e, 0xd2, 0xfc, 0xd7, 0xa2, 0x84, 0xd1, 0x4c, 0x51, + 0x16, 0xaf, 0xab, 0x70, 0xe4, 0x89, 0x0f, 0x38, 0x1c, 0xc2, 0xda, 0x88, 0xa5, 0xf3, + 0xb5, 0x0e, 0x43, 0xc9, ], Elements::ScalarSquare => [ - 0x77, 0xb4, 0x3c, 0x60, 0x38, 0xad, 0x80, 0xb4, 0x6d, 0x3a, 0x76, 0xe2, 0x12, 0xb3, - 0xa8, 0xc0, 0xd2, 0xf0, 0x63, 0x07, 0xbc, 0x45, 0x6e, 0x40, 0xb5, 0xd6, 0xf4, 0xa3, - 0xa5, 0x0e, 0x26, 0x4d, + 0xd9, 0xde, 0x19, 0x19, 0xcd, 0x12, 0xd2, 0x11, 0x70, 0x3f, 0xbb, 0xd0, 0x4e, 0x20, + 0x01, 0xd5, 0x0d, 0x29, 0x36, 0x06, 0x78, 0x64, 0x12, 0xa8, 0xd6, 0xdf, 0x36, 0xdc, + 0x1f, 0x97, 0xe3, 0xbe, ], Elements::Scale => [ - 0x57, 0x4c, 0xe7, 0x60, 0x24, 0xa5, 0xf0, 0x11, 0xa2, 0xd0, 0xbc, 0xeb, 0xb0, 0xf8, - 0x1a, 0x15, 0xe0, 0xf9, 0xd0, 0x6b, 0x34, 0xf2, 0x09, 0x94, 0x33, 0xcb, 0x11, 0x4f, - 0x53, 0x46, 0x8d, 0x4f, + 0xbd, 0x69, 0x5b, 0xe1, 0x8e, 0xf7, 0x75, 0xf1, 0x2d, 0x6e, 0xe8, 0xe8, 0xe0, 0x8b, + 0xbb, 0x6b, 0xa9, 0xfb, 0xff, 0xc8, 0x75, 0x24, 0x70, 0x72, 0x5e, 0x8b, 0x06, 0x11, + 0x0d, 0x8c, 0x5a, 0x56, ], Elements::ScriptCMR => [ - 0xb8, 0xad, 0x37, 0x23, 0x76, 0x99, 0x30, 0x1f, 0xb3, 0x3e, 0x69, 0x28, 0xa4, 0x10, - 0x1f, 0x93, 0x16, 0x9a, 0xd1, 0xf4, 0x12, 0x8b, 0x9e, 0x1e, 0x86, 0xbd, 0xbb, 0x6c, - 0xdc, 0x27, 0x4c, 0x38, + 0x62, 0xdd, 0x2b, 0x74, 0xa4, 0x19, 0x0a, 0xc3, 0xc4, 0xef, 0x4e, 0xbd, 0xb2, 0xb8, + 0x54, 0x75, 0xc8, 0x84, 0xf4, 0x2d, 0x46, 0xa1, 0x53, 0x3b, 0x26, 0xad, 0x87, 0x8f, + 0x4e, 0xf8, 0x05, 0x12, ], Elements::Sha256Block => [ - 0x94, 0xa3, 0x6a, 0x40, 0x83, 0x30, 0x9e, 0x0b, 0x86, 0xde, 0x77, 0xd0, 0xfb, 0x48, - 0xd9, 0xd3, 0x31, 0xe2, 0xd2, 0xf1, 0x67, 0x74, 0x0b, 0x60, 0x6e, 0x60, 0x57, 0x4a, - 0xf4, 0x38, 0xcd, 0x86, + 0x97, 0xbb, 0x59, 0xb7, 0x93, 0xae, 0x9c, 0xe4, 0x9d, 0xc0, 0x78, 0x13, 0x4b, 0x6a, + 0x9e, 0x85, 0x5a, 0xcc, 0x6d, 0x50, 0xc0, 0xe5, 0xbd, 0x3f, 0xa6, 0x71, 0xce, 0xbe, + 0xea, 0xb0, 0x7a, 0xe2, ], Elements::Sha256Ctx8Add1 => [ - 0x8a, 0x1d, 0x25, 0x70, 0x87, 0xb3, 0x2c, 0xcd, 0xc3, 0x32, 0x00, 0x37, 0x4e, 0x6e, - 0x95, 0xc8, 0x75, 0xa0, 0x5e, 0x54, 0x81, 0x22, 0x32, 0x3f, 0x6b, 0x7a, 0xb9, 0xc0, - 0x7e, 0xb9, 0xb6, 0xee, + 0x02, 0x7b, 0x6e, 0xec, 0xd2, 0xb3, 0x82, 0x29, 0x2c, 0x5e, 0xa4, 0x65, 0x29, 0x40, + 0x8b, 0x01, 0xb2, 0xd4, 0xc7, 0x39, 0xd9, 0x11, 0x60, 0x1d, 0x02, 0xc6, 0xbf, 0x3a, + 0x18, 0x6b, 0xb7, 0xdf, ], Elements::Sha256Ctx8Add128 => [ - 0xe7, 0x77, 0x2c, 0xb9, 0xc0, 0xec, 0x42, 0x1a, 0xb8, 0xa7, 0x89, 0xd4, 0x5c, 0xd6, - 0x46, 0x61, 0xf4, 0x33, 0xdd, 0x7d, 0x3d, 0x2c, 0x94, 0xdc, 0x1f, 0x1c, 0x4f, 0x3a, - 0xf8, 0xc7, 0x80, 0xab, + 0xe7, 0xe5, 0xe3, 0xb3, 0x94, 0x4a, 0x31, 0x1b, 0xd4, 0x1a, 0x06, 0x0d, 0x55, 0xe1, + 0x7b, 0x08, 0xb5, 0xff, 0x75, 0x02, 0x08, 0x52, 0xe6, 0x6b, 0xda, 0x62, 0xb6, 0xdf, + 0x94, 0x3b, 0xb8, 0xd4, ], Elements::Sha256Ctx8Add16 => [ - 0xf0, 0xf4, 0xcf, 0x99, 0xad, 0x58, 0xa0, 0x38, 0x5e, 0x16, 0xb8, 0x7d, 0xbf, 0x32, - 0x71, 0xc4, 0x75, 0x24, 0xde, 0xfd, 0x78, 0xf1, 0x1b, 0xbc, 0x74, 0x71, 0xfe, 0x4d, - 0xa9, 0x4a, 0xeb, 0xad, + 0x77, 0x87, 0x22, 0x34, 0x3b, 0x78, 0xcf, 0xb7, 0x7f, 0xd5, 0xe7, 0xd5, 0xb1, 0x9e, + 0x93, 0x12, 0xe9, 0x97, 0xbb, 0xa3, 0x52, 0xee, 0xcb, 0x39, 0xa3, 0xc3, 0x32, 0xff, + 0x48, 0x09, 0xaa, 0x14, ], Elements::Sha256Ctx8Add2 => [ - 0x79, 0x98, 0xc7, 0xc2, 0xbd, 0x81, 0x4b, 0x0c, 0x0f, 0x40, 0x3f, 0x58, 0xc5, 0x76, - 0xea, 0x56, 0x40, 0x7d, 0x25, 0xee, 0x22, 0x9f, 0xae, 0x62, 0x5b, 0xca, 0xb0, 0xc6, - 0x20, 0xa2, 0xa2, 0x9c, + 0x72, 0xaa, 0x6d, 0xe3, 0x4c, 0x20, 0x72, 0xe6, 0x92, 0x3b, 0x22, 0x80, 0xb7, 0xcf, + 0x52, 0x1e, 0x1e, 0x05, 0x7d, 0x6b, 0xec, 0xdd, 0xa7, 0x75, 0x9a, 0x79, 0xac, 0x18, + 0x8a, 0x26, 0x2e, 0x32, ], Elements::Sha256Ctx8Add256 => [ - 0xa8, 0x74, 0x99, 0x61, 0xb3, 0x1a, 0xfe, 0x2f, 0xb5, 0x53, 0xb7, 0x0b, 0x4c, 0xea, - 0x78, 0x7d, 0xca, 0x47, 0x25, 0x84, 0x54, 0xd5, 0x83, 0xdc, 0x45, 0xa0, 0x78, 0x0d, - 0x5e, 0x2a, 0x2a, 0x50, + 0xa4, 0x88, 0xeb, 0x1e, 0x75, 0x85, 0xcd, 0x02, 0x27, 0xad, 0xbb, 0xc8, 0x54, 0x9c, + 0x9f, 0xeb, 0x65, 0x87, 0xf7, 0x8b, 0x43, 0x92, 0x2b, 0x57, 0x44, 0x01, 0x5f, 0x1b, + 0xb6, 0x21, 0xda, 0xa0, ], Elements::Sha256Ctx8Add32 => [ - 0xf2, 0x20, 0x68, 0xb7, 0x76, 0xa3, 0x78, 0x7f, 0x9d, 0x52, 0xec, 0x2a, 0x95, 0x91, - 0x95, 0x1f, 0x8a, 0x73, 0xf0, 0x09, 0x60, 0x09, 0x12, 0x35, 0x8a, 0x2a, 0x1e, 0x15, - 0x86, 0x4e, 0x80, 0xb2, + 0x50, 0x38, 0x33, 0x5e, 0xd7, 0x69, 0x56, 0xf3, 0x45, 0x1e, 0x68, 0x78, 0x10, 0x02, + 0xe9, 0x63, 0xa8, 0x4d, 0xd6, 0x55, 0xcb, 0xf2, 0xb8, 0x41, 0x63, 0x26, 0x91, 0x14, + 0x77, 0xae, 0x3c, 0xa2, ], Elements::Sha256Ctx8Add4 => [ - 0x40, 0xe6, 0x6d, 0xec, 0xa1, 0x32, 0xf5, 0xae, 0x0c, 0x54, 0x93, 0x7b, 0x95, 0xcc, - 0xac, 0xa1, 0x12, 0x67, 0xa4, 0xad, 0xca, 0x70, 0x28, 0x87, 0xb6, 0xe4, 0x08, 0xed, - 0x76, 0x15, 0x30, 0xbc, + 0x23, 0xb6, 0x9b, 0x90, 0xe6, 0x9e, 0xe5, 0x0f, 0x91, 0x67, 0x04, 0x6e, 0x89, 0x99, + 0xe3, 0xb9, 0x10, 0xc6, 0x54, 0xa7, 0x97, 0x91, 0xd3, 0xbd, 0x0e, 0x0e, 0x7f, 0x81, + 0x54, 0x2b, 0x9d, 0x36, ], Elements::Sha256Ctx8Add512 => [ - 0x5a, 0x96, 0xee, 0x66, 0x8b, 0x52, 0xf6, 0x3f, 0x7b, 0xdb, 0xaa, 0xe3, 0xcc, 0x38, - 0xe3, 0x93, 0xef, 0x24, 0xb3, 0xa9, 0x67, 0x85, 0x6f, 0x2c, 0xd8, 0x9d, 0x83, 0xba, - 0x4c, 0xcb, 0xda, 0x8d, + 0xf7, 0x57, 0xd6, 0x9a, 0x8d, 0xb2, 0xc4, 0xba, 0x74, 0x46, 0xf9, 0x6a, 0x81, 0x4d, + 0x74, 0x61, 0xf4, 0xb3, 0xd0, 0x87, 0xc0, 0xe4, 0x25, 0x46, 0x8d, 0x72, 0x3d, 0x14, + 0x85, 0xbc, 0x85, 0x1b, ], Elements::Sha256Ctx8Add64 => [ - 0x36, 0xed, 0xe6, 0xb6, 0x8a, 0xb6, 0xe4, 0xdb, 0x31, 0xef, 0xc7, 0xa7, 0xea, 0xe7, - 0xec, 0x3f, 0x7c, 0xee, 0xad, 0x93, 0x91, 0x10, 0x3b, 0x8d, 0xcb, 0x40, 0x60, 0x91, - 0x57, 0xfb, 0x87, 0x02, + 0x9a, 0x17, 0x9b, 0xbd, 0x8a, 0x03, 0x29, 0x37, 0xe5, 0x90, 0xff, 0xbd, 0xb3, 0x1a, + 0x28, 0x47, 0xa6, 0xf6, 0x9f, 0x9b, 0xb4, 0xdd, 0xcd, 0x2e, 0x60, 0x6e, 0xdd, 0x45, + 0x4a, 0xd8, 0x40, 0x31, ], Elements::Sha256Ctx8Add8 => [ - 0xac, 0x1f, 0xf0, 0xfb, 0x0c, 0xf7, 0x1d, 0x71, 0x13, 0xdb, 0x42, 0xaa, 0x1d, 0xdb, - 0x89, 0x55, 0x96, 0xe6, 0x45, 0xd7, 0x63, 0xb8, 0xdf, 0x5e, 0x87, 0x25, 0xf5, 0x14, - 0x4c, 0x39, 0x95, 0x88, + 0x77, 0xb2, 0xeb, 0x5e, 0x6f, 0xa0, 0x3a, 0xac, 0x09, 0x86, 0x07, 0xc8, 0x3d, 0x10, + 0x61, 0x76, 0xbd, 0xf3, 0x3c, 0x8c, 0xbb, 0xa7, 0xb9, 0x2d, 0x27, 0xe0, 0x35, 0x2a, + 0x2f, 0x1e, 0xd3, 0xbe, ], Elements::Sha256Ctx8AddBuffer511 => [ - 0x69, 0x01, 0xac, 0x0e, 0x30, 0xfd, 0x59, 0xce, 0xc8, 0x79, 0xd1, 0x69, 0x3b, 0x26, - 0x79, 0x59, 0x35, 0x69, 0x07, 0x84, 0x4b, 0x57, 0x7e, 0xdc, 0x3c, 0xe0, 0xe3, 0xf7, - 0x14, 0xa8, 0xef, 0x31, + 0xd4, 0x7b, 0xb1, 0xcb, 0x4c, 0xaa, 0xff, 0x17, 0x41, 0x2a, 0x73, 0x0d, 0xd9, 0x12, + 0xdb, 0xb3, 0x7d, 0xcc, 0xc9, 0x0b, 0x27, 0xd3, 0x95, 0xc4, 0xf8, 0x45, 0x90, 0x08, + 0xa5, 0xf2, 0x44, 0xc7, ], Elements::Sha256Ctx8Finalize => [ - 0x84, 0x61, 0x59, 0x54, 0x00, 0x7e, 0xd8, 0x23, 0xd6, 0x05, 0x46, 0xd7, 0x5b, 0x04, - 0xb9, 0x09, 0xbc, 0x90, 0x92, 0x06, 0x37, 0x14, 0x73, 0xda, 0xc7, 0x0e, 0x12, 0x68, - 0x04, 0x77, 0x08, 0xcb, + 0x71, 0x65, 0x80, 0xc1, 0xe0, 0x0d, 0x6a, 0x66, 0x1f, 0xd9, 0xbe, 0x6b, 0x61, 0xde, + 0x5b, 0xef, 0x63, 0xa8, 0x4a, 0x4e, 0x67, 0x5b, 0xeb, 0x0b, 0x0a, 0x47, 0x19, 0x73, + 0x5e, 0xa3, 0xa2, 0x85, ], Elements::Sha256Ctx8Init => [ - 0x6a, 0xdd, 0xa7, 0xd7, 0x33, 0x9f, 0x7d, 0xce, 0x4d, 0x62, 0xff, 0x82, 0x28, 0x16, - 0xda, 0x8d, 0xf5, 0x6a, 0xf6, 0x24, 0x3f, 0xa0, 0x73, 0xa2, 0x5c, 0x4c, 0x7c, 0xb5, - 0x7e, 0x01, 0x12, 0xb3, + 0x82, 0xbb, 0x12, 0xfe, 0x68, 0x8d, 0x2a, 0xe3, 0x7e, 0x30, 0x18, 0x93, 0xa3, 0xf0, + 0xd3, 0x07, 0x5c, 0xbf, 0x99, 0x34, 0xd0, 0x75, 0xf7, 0x3c, 0x2b, 0x36, 0x4a, 0xf3, + 0xd1, 0x12, 0x10, 0x2a, ], Elements::Sha256Iv => [ - 0x6a, 0x18, 0xe6, 0xe7, 0x64, 0xaf, 0x80, 0x0d, 0xc6, 0xfa, 0xeb, 0x07, 0x54, 0xbf, - 0x0b, 0x17, 0x32, 0x9f, 0x98, 0x28, 0x1d, 0x13, 0xf5, 0x15, 0x77, 0x00, 0xfa, 0x6a, - 0x1d, 0x6d, 0x5d, 0x42, + 0xd2, 0xbb, 0x57, 0x20, 0x0d, 0xad, 0xd3, 0xa6, 0x73, 0x78, 0xdb, 0x79, 0x66, 0x10, + 0xf5, 0x9c, 0x33, 0xd9, 0xa4, 0x0d, 0x2d, 0xfc, 0xc9, 0x9f, 0x03, 0xb0, 0x8b, 0x71, + 0x55, 0xfb, 0xbb, 0xea, ], Elements::SigAllHash => [ - 0x0d, 0xc3, 0xf1, 0x0b, 0xbb, 0xbf, 0x9a, 0xa4, 0x91, 0xbb, 0x88, 0x14, 0x63, 0x1d, - 0x3b, 0x6d, 0x41, 0x95, 0xf8, 0x2c, 0x97, 0x73, 0xbb, 0xcb, 0x2d, 0xa3, 0xef, 0x0c, - 0xf0, 0xcd, 0x94, 0xd2, + 0x6c, 0xff, 0x2c, 0x4e, 0x87, 0xf1, 0x4d, 0xeb, 0x06, 0xaf, 0x89, 0x3a, 0x74, 0xaf, + 0x6a, 0x1c, 0x5c, 0x06, 0xdb, 0x52, 0x64, 0x5b, 0x1f, 0x67, 0xee, 0x0f, 0xdf, 0x7e, + 0xa7, 0x76, 0xd5, 0x5c, ], Elements::Some1 => [ - 0x0b, 0x9c, 0xb7, 0xb4, 0x7d, 0xeb, 0x4f, 0x9d, 0x95, 0xd5, 0xc0, 0x20, 0x00, 0x1f, - 0xd0, 0x09, 0xa2, 0xf1, 0x0c, 0xe5, 0xd9, 0x18, 0xd8, 0x18, 0x1e, 0x25, 0x93, 0x15, - 0xfe, 0x8e, 0xac, 0x53, + 0x15, 0x1b, 0xcb, 0x76, 0xc2, 0x31, 0xab, 0x25, 0xe3, 0x71, 0x09, 0x28, 0xd9, 0xb3, + 0xb7, 0xa2, 0xe1, 0x7f, 0x84, 0xd7, 0xcf, 0x8d, 0xa8, 0x84, 0x5c, 0xf8, 0x7a, 0x40, + 0x81, 0x6f, 0x31, 0x68, ], Elements::Some16 => [ - 0x30, 0xd8, 0x14, 0xff, 0xb4, 0x92, 0x78, 0xb4, 0x25, 0x00, 0x7b, 0x9d, 0xe2, 0x79, - 0xf7, 0x6f, 0x4a, 0x6d, 0xa4, 0xc0, 0x34, 0x63, 0x4a, 0xbb, 0x87, 0x11, 0x0e, 0xcb, - 0xea, 0x2c, 0xe4, 0x29, + 0x87, 0x29, 0x5e, 0x8a, 0x0f, 0x02, 0x99, 0xf3, 0xa7, 0xcb, 0x73, 0x8d, 0xd5, 0xf8, + 0xdd, 0xec, 0xc3, 0xe4, 0x8d, 0x18, 0x74, 0xa5, 0x5a, 0x0c, 0xcf, 0x7c, 0x2d, 0x30, + 0xaa, 0xd0, 0x79, 0x87, ], Elements::Some32 => [ - 0x69, 0x27, 0x91, 0x90, 0x3b, 0xe7, 0xd9, 0xe4, 0xc5, 0x47, 0x72, 0xba, 0x88, 0xa4, - 0x86, 0x15, 0x46, 0x36, 0x12, 0x18, 0xdd, 0x8a, 0x26, 0xce, 0xed, 0x69, 0x9b, 0xcf, - 0x77, 0xc0, 0x99, 0x09, + 0x85, 0x2f, 0x5e, 0x22, 0x24, 0x66, 0x77, 0xc4, 0x9a, 0x6c, 0x68, 0xec, 0x39, 0x73, + 0xcb, 0x53, 0x00, 0x82, 0x65, 0xcf, 0x17, 0xd4, 0x6f, 0x60, 0x00, 0x59, 0x41, 0xba, + 0x57, 0xd4, 0x94, 0x7e, ], Elements::Some64 => [ - 0xfa, 0x9b, 0x01, 0x60, 0xc7, 0x27, 0x15, 0xff, 0xfd, 0x1d, 0x94, 0xda, 0x19, 0x97, - 0x88, 0x28, 0x09, 0xb4, 0x62, 0xbb, 0x14, 0x4a, 0xce, 0xcb, 0x43, 0x05, 0x44, 0x68, - 0xe6, 0x37, 0x86, 0xb5, + 0xfe, 0x9b, 0x3a, 0x25, 0xc9, 0x57, 0x17, 0x49, 0xe2, 0xa5, 0x63, 0xf4, 0x10, 0xa5, + 0x65, 0x0f, 0x41, 0x17, 0x4e, 0x23, 0x26, 0x91, 0x07, 0x2b, 0x2d, 0x54, 0x74, 0xf9, + 0x3c, 0x7a, 0x22, 0xc0, ], Elements::Some8 => [ - 0x0b, 0xd7, 0xab, 0x43, 0x80, 0xc8, 0xf4, 0x5a, 0xca, 0x7c, 0xac, 0x97, 0x28, 0x86, - 0xce, 0xef, 0x23, 0xba, 0x84, 0x21, 0x0c, 0x5c, 0x4d, 0x96, 0x9b, 0x1f, 0x59, 0xb1, - 0x83, 0x2c, 0x1d, 0x36, + 0x49, 0xdc, 0x24, 0x20, 0x4c, 0x56, 0x44, 0xea, 0x98, 0xb0, 0xd8, 0xa8, 0xa1, 0xf1, + 0x5f, 0x20, 0x8b, 0x4a, 0xfa, 0xd5, 0x9d, 0x89, 0x95, 0xab, 0x96, 0xc4, 0x49, 0x8d, + 0x1c, 0xd4, 0x10, 0xa0, ], Elements::Subtract16 => [ - 0x0c, 0xd3, 0xab, 0x73, 0xe5, 0xce, 0x2a, 0x44, 0xf2, 0xd1, 0xc3, 0x32, 0xa1, 0xed, - 0x5a, 0xef, 0x5b, 0xcb, 0x60, 0x4f, 0x72, 0x1b, 0x15, 0xb8, 0x01, 0x0d, 0xd5, 0x4f, - 0x40, 0xc6, 0xac, 0xa7, + 0x51, 0x2b, 0x7c, 0x68, 0x81, 0xbf, 0x8d, 0x8f, 0xa5, 0xd9, 0x35, 0xe5, 0x25, 0x64, + 0xe2, 0x86, 0x75, 0x1f, 0x77, 0xe6, 0x33, 0x75, 0x63, 0x7d, 0xf2, 0xd7, 0x22, 0x75, + 0x68, 0xc6, 0x94, 0x7f, ], Elements::Subtract32 => [ - 0xe0, 0xde, 0x68, 0x76, 0x25, 0x9d, 0x5a, 0x00, 0x4b, 0x30, 0x16, 0xd3, 0x58, 0x15, - 0xdb, 0x41, 0xbc, 0xec, 0xdb, 0xfa, 0x18, 0xd3, 0x7d, 0x99, 0x20, 0x4e, 0x49, 0x57, - 0xad, 0x2c, 0x4d, 0x0e, + 0xf5, 0x3f, 0x3e, 0x87, 0x1a, 0x7d, 0xa3, 0xf0, 0x9e, 0x56, 0x26, 0x97, 0x83, 0x5e, + 0x1c, 0xe1, 0x0d, 0xf8, 0xee, 0x14, 0x11, 0x63, 0xad, 0x93, 0xb5, 0x7c, 0x8e, 0x6d, + 0x74, 0x38, 0x2b, 0xbc, ], Elements::Subtract64 => [ - 0xff, 0xe6, 0x73, 0xee, 0x8e, 0xdc, 0x72, 0x9a, 0x47, 0xec, 0xed, 0x3a, 0x67, 0x7f, - 0x85, 0xb1, 0xda, 0xe7, 0x14, 0xa5, 0x10, 0x0c, 0x49, 0x49, 0x73, 0xab, 0xcb, 0x32, - 0x59, 0xa3, 0xc7, 0x56, + 0x5f, 0x08, 0xf7, 0x40, 0x53, 0xb2, 0xf0, 0x19, 0xb6, 0x2a, 0x1b, 0xb8, 0x28, 0xb7, + 0x99, 0xe0, 0x91, 0xe8, 0x21, 0x7e, 0xc8, 0x89, 0xdd, 0x4d, 0x37, 0x6e, 0x01, 0x2c, + 0x95, 0x79, 0xb9, 0x81, ], Elements::Subtract8 => [ - 0xbd, 0xa5, 0x98, 0x13, 0x96, 0x47, 0x8e, 0xb3, 0x6f, 0x85, 0x92, 0xa7, 0x50, 0x9f, - 0xa4, 0x87, 0x7c, 0x50, 0xb2, 0xbf, 0x91, 0x65, 0xe5, 0xb7, 0x96, 0x35, 0xbf, 0x8b, - 0xcb, 0x84, 0xd4, 0x42, + 0x77, 0x86, 0x49, 0xf8, 0x39, 0x35, 0xcd, 0x3f, 0xfc, 0x04, 0xf6, 0xc6, 0x62, 0x0a, + 0x33, 0x96, 0x5d, 0x0e, 0xf1, 0xdd, 0x17, 0xe7, 0xb5, 0x0f, 0xa4, 0x10, 0x76, 0xd8, + 0xad, 0x87, 0x6b, 0x1d, ], Elements::Swu => [ - 0x69, 0x45, 0x9b, 0x6d, 0xd1, 0x0a, 0x63, 0xdf, 0x37, 0xde, 0xdf, 0x18, 0x6c, 0xb4, - 0xd2, 0x08, 0xd8, 0xc0, 0x39, 0x61, 0x1c, 0xec, 0xdd, 0x09, 0xcf, 0xe0, 0x7a, 0xc9, - 0x1d, 0x01, 0x42, 0x2f, + 0x20, 0x49, 0xd4, 0x6c, 0x4c, 0x4d, 0x6f, 0x85, 0x6e, 0x04, 0xf7, 0xae, 0x20, 0x28, + 0x73, 0x36, 0xc2, 0xf2, 0xa6, 0xb8, 0xc1, 0xe2, 0x9d, 0x7e, 0xbb, 0xa3, 0xaf, 0x2f, + 0xd3, 0xa8, 0x80, 0x9b, ], Elements::TapEnvHash => [ - 0x59, 0xe0, 0x4e, 0xee, 0x36, 0x88, 0x3d, 0xd5, 0xe7, 0xc2, 0x69, 0x5d, 0x7c, 0x99, - 0x38, 0xc0, 0x6d, 0x98, 0x3f, 0xba, 0x88, 0xdc, 0x2a, 0x04, 0x84, 0x3a, 0xb8, 0x0b, - 0x68, 0xf1, 0x99, 0xec, + 0x92, 0x47, 0x4a, 0x50, 0x30, 0x82, 0x14, 0xd3, 0x22, 0x40, 0xc4, 0xec, 0x28, 0x29, + 0xe6, 0x88, 0xb7, 0x33, 0x82, 0xce, 0x0c, 0x37, 0xc7, 0x96, 0x28, 0xb7, 0x39, 0x4c, + 0xa6, 0x1e, 0xe7, 0xf5, ], Elements::TapleafHash => [ - 0xea, 0x81, 0x56, 0x58, 0xff, 0x9a, 0x27, 0x16, 0x42, 0x0d, 0x45, 0x91, 0x5d, 0x66, - 0x07, 0x0b, 0xe4, 0x11, 0x6c, 0x1c, 0x70, 0x7e, 0x26, 0x94, 0xd3, 0x66, 0x58, 0x45, - 0x20, 0xc2, 0x24, 0x69, + 0x59, 0xfd, 0x29, 0x96, 0xcc, 0x5e, 0x2b, 0x5e, 0x19, 0x70, 0x74, 0x67, 0x26, 0x76, + 0x45, 0xe8, 0x18, 0x65, 0xd1, 0x47, 0x4a, 0x0b, 0x28, 0xc2, 0xcf, 0xf4, 0xed, 0xf1, + 0xbd, 0xea, 0xd9, 0x1b, ], Elements::TapleafVersion => [ - 0x30, 0x3e, 0xf4, 0xde, 0x61, 0x8e, 0x7f, 0x08, 0x67, 0x79, 0x48, 0x28, 0x2d, 0xd4, - 0x2d, 0x57, 0xd6, 0x44, 0xc4, 0x1c, 0x18, 0xc1, 0x1c, 0x13, 0x0a, 0x1b, 0xe5, 0xa6, - 0xe2, 0x54, 0xe3, 0xe9, + 0x43, 0xb8, 0x2c, 0x3a, 0x31, 0x40, 0x2d, 0xaf, 0x42, 0x70, 0x7b, 0x88, 0x70, 0xe4, + 0xdb, 0xa4, 0xb6, 0x83, 0x19, 0x43, 0x0f, 0x2b, 0x5d, 0x11, 0x4e, 0xa5, 0x8c, 0x5d, + 0x89, 0x97, 0x3d, 0x8f, ], Elements::Tappath => [ - 0x5f, 0xd7, 0x1c, 0x6f, 0xf6, 0x7b, 0xa4, 0x26, 0x3c, 0x82, 0x56, 0xfe, 0xce, 0xe1, - 0xe2, 0xec, 0x1d, 0xcf, 0x45, 0xa8, 0xb3, 0x84, 0x50, 0x62, 0x70, 0x15, 0x17, 0x80, - 0xaa, 0xcf, 0x1c, 0x32, + 0x2b, 0x61, 0xba, 0x3c, 0xca, 0xe8, 0x20, 0x63, 0xb7, 0x12, 0x27, 0x46, 0xbb, 0xf1, + 0x80, 0xb7, 0x11, 0x46, 0xb7, 0x52, 0x11, 0x24, 0x25, 0x33, 0x53, 0xfe, 0x5f, 0x7d, + 0x96, 0x59, 0xb9, 0x18, ], Elements::TappathHash => [ - 0x62, 0xaf, 0x75, 0xf4, 0xf3, 0x7c, 0x0f, 0xf2, 0x75, 0x37, 0xe0, 0x54, 0x3a, 0x13, - 0x48, 0x02, 0x66, 0xa5, 0xad, 0x12, 0xce, 0x53, 0xdf, 0x1f, 0xba, 0xc1, 0x11, 0xea, - 0xa9, 0x3d, 0x27, 0x7c, + 0x82, 0x59, 0x86, 0x04, 0x31, 0xf7, 0xfc, 0xd6, 0xe8, 0xc9, 0x84, 0x5b, 0x71, 0x52, + 0xbb, 0xda, 0xb6, 0x92, 0x81, 0xf6, 0x5b, 0x64, 0x2c, 0x63, 0x4e, 0xfa, 0xa3, 0xfd, + 0x2d, 0x73, 0x53, 0xa5, ], Elements::TotalFee => [ - 0xcc, 0x69, 0xd2, 0x4c, 0x5d, 0xd8, 0x52, 0xcd, 0xef, 0xca, 0xa7, 0x4d, 0x31, 0x40, - 0x46, 0x7f, 0xbe, 0x8d, 0x08, 0xa7, 0x70, 0x94, 0x22, 0xee, 0xc2, 0x8e, 0xd6, 0x32, - 0xb2, 0x8a, 0xba, 0x63, + 0xff, 0xa3, 0x79, 0x56, 0x8b, 0x4a, 0x88, 0xf1, 0x71, 0x39, 0x15, 0x24, 0x10, 0xec, + 0xf1, 0x40, 0x72, 0xac, 0x4c, 0x95, 0xc0, 0xb6, 0x82, 0xeb, 0xd9, 0x1a, 0x9e, 0x02, + 0xd3, 0x30, 0xc3, 0xce, ], Elements::TransactionId => [ - 0xab, 0x4b, 0xf4, 0x78, 0x2d, 0x35, 0x8c, 0xd3, 0x1f, 0x22, 0xe0, 0x66, 0x64, 0x16, - 0x70, 0x78, 0x45, 0x7c, 0x76, 0xe3, 0xfa, 0x8e, 0x42, 0x1c, 0x79, 0x29, 0xde, 0x11, - 0x31, 0x0b, 0x07, 0xd9, + 0x9c, 0x9f, 0xeb, 0x81, 0x0e, 0x75, 0x3c, 0xd5, 0xb8, 0x8e, 0x0f, 0xef, 0xa2, 0x83, + 0xb3, 0x74, 0x30, 0xcd, 0x16, 0xee, 0xec, 0xbc, 0x56, 0x70, 0xdd, 0x70, 0xc3, 0x12, + 0x84, 0xa9, 0xdb, 0x2c, ], Elements::TxHash => [ - 0xb7, 0xe0, 0xa2, 0xdc, 0x5c, 0xa1, 0x1c, 0xe5, 0x82, 0xa7, 0xaa, 0x29, 0x9a, 0x51, - 0xb2, 0x3e, 0x66, 0xef, 0xe6, 0x23, 0x60, 0x2a, 0x7b, 0x7d, 0x43, 0x4e, 0xec, 0x51, - 0xaf, 0x24, 0x5a, 0x07, + 0xa1, 0x13, 0xb1, 0x2e, 0x50, 0x21, 0x87, 0x01, 0x3f, 0xaf, 0x7f, 0xab, 0x0e, 0x78, + 0xa9, 0x3e, 0x85, 0xfe, 0x88, 0xfc, 0xfc, 0xfb, 0xd1, 0x29, 0x46, 0x98, 0xc7, 0xb7, + 0x65, 0xd8, 0xd2, 0x8d, ], Elements::TxIsFinal => [ - 0xeb, 0x8e, 0x83, 0xd1, 0xe0, 0x2c, 0x3c, 0xe7, 0xaf, 0x2d, 0x28, 0xf0, 0xce, 0xc0, - 0x43, 0x14, 0x80, 0xdc, 0x2f, 0x38, 0x85, 0xc9, 0x91, 0x3a, 0x50, 0x72, 0x7e, 0x43, - 0xd0, 0xbd, 0xaf, 0x88, + 0xe8, 0x18, 0x21, 0x0b, 0x1d, 0xe9, 0x66, 0x1d, 0xc8, 0xff, 0x4a, 0x48, 0x63, 0xa7, + 0xd8, 0x9b, 0x4c, 0xd9, 0xd2, 0xe7, 0xc6, 0xa6, 0xe5, 0x0a, 0x81, 0x3c, 0xff, 0xd5, + 0x63, 0x17, 0x4f, 0xdc, ], Elements::TxLockDistance => [ - 0xa3, 0x78, 0x93, 0xc9, 0x7c, 0x9b, 0x95, 0x0e, 0x0f, 0x7f, 0x10, 0x45, 0xc8, 0xd8, - 0x47, 0x3a, 0xc8, 0x33, 0x6a, 0xae, 0xe9, 0xea, 0x1f, 0xad, 0x6b, 0x2a, 0x40, 0x61, - 0x72, 0x91, 0x49, 0xc6, + 0x53, 0x0f, 0xd7, 0x89, 0x32, 0x24, 0x07, 0x20, 0xf8, 0x8d, 0xe8, 0x46, 0x88, 0x39, + 0x92, 0xf8, 0x12, 0xa5, 0xbf, 0x3e, 0xea, 0x68, 0x09, 0xa4, 0xa9, 0x4c, 0x90, 0x76, + 0xca, 0x19, 0x09, 0x79, ], Elements::TxLockDuration => [ - 0x4d, 0x69, 0x87, 0xdd, 0x45, 0xf7, 0x8d, 0x5e, 0x43, 0xf9, 0x38, 0x51, 0x64, 0xa0, - 0xbd, 0x08, 0x80, 0x75, 0x2a, 0xb8, 0x11, 0xb3, 0x8b, 0xd2, 0x97, 0xda, 0x00, 0x16, - 0x15, 0x26, 0xa9, 0xca, + 0xc0, 0x7b, 0xcf, 0x03, 0xef, 0x82, 0x93, 0xfc, 0x40, 0xec, 0xa5, 0x7c, 0x86, 0x06, + 0xa4, 0xee, 0x20, 0x7f, 0xa4, 0x4d, 0x22, 0xe4, 0x1c, 0x98, 0x04, 0x1d, 0xfd, 0xd0, + 0xd5, 0x44, 0x49, 0x40, ], Elements::TxLockHeight => [ - 0x16, 0xab, 0x83, 0x0f, 0xac, 0xe5, 0x1f, 0xe4, 0xe1, 0x80, 0x89, 0xec, 0xa1, 0xb5, - 0x52, 0x34, 0x36, 0xaa, 0x45, 0xef, 0x84, 0x13, 0x21, 0x82, 0xc7, 0xcc, 0x65, 0x83, - 0x6f, 0xd1, 0x34, 0x2c, + 0x4c, 0x04, 0x5a, 0xca, 0x00, 0x61, 0xe3, 0x6a, 0x8c, 0x59, 0x25, 0xe7, 0xf9, 0xcb, + 0x39, 0x5b, 0x8a, 0x70, 0x21, 0xe4, 0xde, 0x01, 0x91, 0x32, 0x31, 0xc4, 0xd7, 0x63, + 0x50, 0xf8, 0x43, 0xa4, ], Elements::TxLockTime => [ - 0xaf, 0x11, 0x2f, 0xc8, 0xee, 0xd3, 0xc3, 0x3b, 0xc7, 0xb5, 0xea, 0x04, 0xcc, 0xab, - 0x86, 0x99, 0x19, 0x53, 0xf2, 0xa2, 0xaa, 0xf3, 0xd8, 0x7d, 0x6c, 0x2c, 0x43, 0x14, - 0x3d, 0x42, 0x6f, 0x56, + 0x48, 0x40, 0x8c, 0xd0, 0x63, 0xe2, 0x4b, 0xe7, 0x36, 0x62, 0x32, 0x32, 0x07, 0x59, + 0x0c, 0xcc, 0x08, 0x3a, 0x8f, 0x44, 0x98, 0x97, 0x88, 0x47, 0x43, 0x07, 0x57, 0xe2, + 0xf5, 0x55, 0x21, 0xa5, ], Elements::Verify => [ - 0xf1, 0x1c, 0x94, 0x81, 0xe7, 0x18, 0x63, 0xa2, 0x44, 0x53, 0xc3, 0xe2, 0x13, 0x04, - 0x64, 0x99, 0xa0, 0x3a, 0x9a, 0x0f, 0x99, 0x3b, 0xe3, 0xc4, 0x8e, 0x9d, 0x1f, 0x40, - 0x5d, 0x97, 0x94, 0x7c, + 0x22, 0xc0, 0xe3, 0x62, 0x34, 0x19, 0x0a, 0xf6, 0xc8, 0x16, 0x1e, 0x41, 0xf9, 0xe0, + 0x00, 0x13, 0xb2, 0x43, 0xc8, 0x96, 0x77, 0x69, 0x1a, 0x62, 0xe7, 0x98, 0x72, 0xfa, + 0x03, 0xbf, 0xa6, 0x77, ], Elements::Version => [ - 0x22, 0x21, 0x53, 0x00, 0x9f, 0x08, 0x63, 0xda, 0x5c, 0xec, 0x8f, 0xfa, 0xa4, 0xa0, - 0x17, 0xd8, 0xe4, 0xff, 0x25, 0x66, 0xfa, 0x9c, 0x03, 0xe7, 0x43, 0x1a, 0x09, 0x02, - 0xd5, 0x6a, 0x24, 0xdc, + 0x56, 0x71, 0x38, 0x42, 0x24, 0x33, 0x3d, 0xc7, 0x84, 0x1d, 0x63, 0xc3, 0x17, 0x6a, + 0x15, 0x90, 0xad, 0xed, 0x82, 0x0e, 0x29, 0xe4, 0x61, 0xc3, 0x4a, 0xda, 0xfa, 0x9c, + 0x5e, 0xfd, 0x42, 0x01, ], Elements::Xor1 => [ - 0x77, 0xb7, 0x14, 0xe6, 0x89, 0xc9, 0xd6, 0xa4, 0x8f, 0xd1, 0xad, 0xd8, 0x65, 0x22, - 0x82, 0x3d, 0xeb, 0xc7, 0x0d, 0xf6, 0xa7, 0xfe, 0x4b, 0xf2, 0xb8, 0x5d, 0xe5, 0x49, - 0xe0, 0xcd, 0x0a, 0x05, + 0x7b, 0x76, 0x0e, 0xe0, 0xc7, 0x89, 0x6a, 0xb7, 0x38, 0xcc, 0x50, 0xef, 0x7d, 0x63, + 0xf6, 0xd2, 0xbf, 0x59, 0x61, 0xa9, 0x28, 0x64, 0x47, 0xce, 0x06, 0x4e, 0xc1, 0x8d, + 0x5e, 0xde, 0x6f, 0x6c, ], Elements::Xor16 => [ - 0xca, 0x36, 0x35, 0x51, 0x35, 0xa8, 0x6a, 0x11, 0x68, 0x6c, 0x01, 0xaa, 0x35, 0xf2, - 0x5b, 0x97, 0xfa, 0xee, 0xda, 0xbf, 0xde, 0xc8, 0xdf, 0x08, 0xd2, 0xc0, 0xf6, 0x65, - 0x08, 0x33, 0xf9, 0x3f, + 0xef, 0x2d, 0x8a, 0x0f, 0x66, 0x9d, 0x20, 0xaa, 0xfe, 0x11, 0xa6, 0xc3, 0x39, 0x06, + 0x36, 0x92, 0x3a, 0xd3, 0x76, 0x14, 0x0d, 0x3e, 0xa6, 0x94, 0xd0, 0x87, 0x2f, 0xa4, + 0xd5, 0x4b, 0x90, 0xef, ], Elements::Xor32 => [ - 0xff, 0xe2, 0xc8, 0xee, 0x96, 0xd5, 0x57, 0x97, 0x81, 0xc4, 0x36, 0x62, 0x88, 0xd9, - 0x50, 0x71, 0x85, 0xe4, 0x61, 0xcc, 0xc4, 0x0a, 0x45, 0xbb, 0xcc, 0x55, 0x94, 0x89, - 0xd3, 0xc6, 0x96, 0x12, + 0x21, 0x9b, 0x1d, 0xd6, 0xe7, 0x2b, 0x77, 0x75, 0x19, 0x51, 0x91, 0x6e, 0xe4, 0xdd, + 0xfd, 0x56, 0xac, 0xf0, 0xce, 0x7a, 0x30, 0xa4, 0xcd, 0x73, 0x9c, 0x51, 0xbd, 0x99, + 0x42, 0xa2, 0xeb, 0x07, ], Elements::Xor64 => [ - 0x5b, 0x3b, 0xb7, 0xb1, 0x8c, 0x70, 0x98, 0xf4, 0xe5, 0xcd, 0x14, 0x97, 0x22, 0xac, - 0x73, 0x09, 0xce, 0x66, 0xa3, 0xe2, 0x19, 0xc6, 0x1b, 0x33, 0x3f, 0x31, 0x33, 0x58, - 0x3a, 0x7b, 0x57, 0x2d, + 0x0b, 0xbb, 0x85, 0x0a, 0xd0, 0x3f, 0x9c, 0x96, 0xa5, 0xd4, 0x67, 0xc4, 0x61, 0x12, + 0xf1, 0x04, 0x6a, 0x7a, 0x92, 0x27, 0x3f, 0x2b, 0xb0, 0x1d, 0x20, 0xca, 0x4d, 0xb6, + 0xba, 0x75, 0x3e, 0x79, ], Elements::Xor8 => [ - 0xff, 0x3e, 0x52, 0x62, 0x02, 0xff, 0x89, 0xcf, 0xf7, 0xbb, 0xe7, 0x0f, 0xdb, 0xf9, - 0xf9, 0x7d, 0x23, 0xc1, 0x2f, 0x6e, 0x2b, 0xb8, 0xbb, 0xe8, 0x30, 0x4a, 0xc7, 0x0f, - 0x61, 0xc1, 0xcf, 0x2c, + 0x95, 0x0b, 0x65, 0x31, 0x62, 0x36, 0xe8, 0x3e, 0xd1, 0x4b, 0xd1, 0x71, 0xe3, 0x4d, + 0x55, 0xaf, 0x0a, 0x3f, 0x63, 0x7c, 0xc4, 0x7d, 0xc7, 0x17, 0xf7, 0x7f, 0xdb, 0x4b, + 0x30, 0xdf, 0x01, 0x57, ], Elements::XorXor1 => [ - 0x22, 0x52, 0xa9, 0x86, 0x08, 0xd2, 0x0b, 0xd4, 0x11, 0x31, 0x7a, 0x20, 0x15, 0xc1, - 0x56, 0x98, 0x70, 0xa6, 0x2c, 0x95, 0x3a, 0x61, 0x65, 0xfb, 0xe9, 0x77, 0xb4, 0x0d, - 0x6c, 0xce, 0xa4, 0x95, + 0x3f, 0x30, 0xf9, 0x59, 0x87, 0x0d, 0xe1, 0xd1, 0x33, 0x37, 0x4e, 0x14, 0x09, 0xfd, + 0xc3, 0x4d, 0xe4, 0x92, 0x91, 0x70, 0x68, 0x30, 0xb8, 0x3d, 0xac, 0x9d, 0x4e, 0x67, + 0xc4, 0xeb, 0x60, 0x48, ], Elements::XorXor16 => [ - 0xa1, 0xf2, 0xd6, 0x33, 0xbf, 0x98, 0x89, 0xa0, 0x8a, 0x42, 0x51, 0x2a, 0x78, 0x93, - 0xa6, 0x79, 0x9d, 0xc4, 0x7a, 0xa8, 0x29, 0xff, 0x8f, 0x57, 0x7c, 0x5b, 0xc9, 0x75, - 0x66, 0xc4, 0xd3, 0xfe, + 0x2e, 0x1a, 0x09, 0xe3, 0xcb, 0xa2, 0x75, 0x66, 0x02, 0xe8, 0x7b, 0x86, 0xf2, 0xb0, + 0x7f, 0x2d, 0x23, 0x7b, 0xfc, 0xac, 0x5b, 0x1b, 0x8a, 0xb7, 0xb5, 0x29, 0xaf, 0x42, + 0xd3, 0x11, 0x02, 0x94, ], Elements::XorXor32 => [ - 0x0d, 0x5f, 0xf5, 0x81, 0x23, 0xba, 0x0d, 0xae, 0x3b, 0x32, 0x40, 0xa6, 0x31, 0x05, - 0x2a, 0xf2, 0xe8, 0x7b, 0x52, 0xb6, 0x37, 0xa2, 0xcb, 0xd3, 0x37, 0xd2, 0x25, 0x93, - 0x70, 0x62, 0x87, 0x41, + 0x85, 0xa3, 0x79, 0xa1, 0xe5, 0xdb, 0x45, 0x72, 0x37, 0xdf, 0x27, 0xf4, 0xcf, 0xcd, + 0xc8, 0x75, 0x60, 0xff, 0xd3, 0x73, 0x8e, 0xbe, 0xc8, 0x25, 0x52, 0xe7, 0x3b, 0xce, + 0x89, 0xbc, 0x0b, 0x37, ], Elements::XorXor64 => [ - 0x78, 0x3f, 0x49, 0xa1, 0x9d, 0x4f, 0x4a, 0xae, 0x4d, 0x3c, 0x1d, 0x6c, 0xcf, 0x83, - 0x15, 0x6d, 0xc5, 0x5d, 0x0b, 0x5c, 0x08, 0xcf, 0x59, 0x23, 0x36, 0x58, 0x4c, 0xb1, - 0x31, 0x67, 0xc6, 0xca, + 0x4c, 0x12, 0x68, 0xc5, 0x75, 0x42, 0x50, 0x89, 0xbe, 0x42, 0x47, 0x2e, 0x97, 0x2b, + 0x2a, 0xe0, 0x0e, 0xde, 0x58, 0x34, 0xc9, 0x84, 0xd9, 0x6d, 0xcd, 0x59, 0xa0, 0xc2, + 0x21, 0x15, 0x2f, 0x93, ], Elements::XorXor8 => [ - 0x83, 0xa9, 0x80, 0xcc, 0x61, 0x06, 0x85, 0x24, 0x88, 0x10, 0x5d, 0x3c, 0xee, 0x10, - 0xf3, 0x51, 0x13, 0xb8, 0xc9, 0xf7, 0x46, 0x64, 0xe7, 0xce, 0x6d, 0x4e, 0xc0, 0x91, - 0x2b, 0xc2, 0x9b, 0xc7, + 0x61, 0xf2, 0x74, 0x7f, 0x8d, 0x83, 0xb6, 0xa5, 0xad, 0xaa, 0x42, 0xf5, 0xc0, 0x40, + 0x8c, 0x9b, 0xd4, 0xe9, 0x9e, 0x92, 0x70, 0xa7, 0x58, 0x71, 0x40, 0x6c, 0xec, 0x44, + 0x89, 0xa5, 0xfb, 0xe7, ], }; @@ -7408,475 +7408,475 @@ impl Jet for Elements { fn cost(&self) -> Cost { match self { - Elements::Add16 => Cost::from_milliweight(226), - Elements::Add32 => Cost::from_milliweight(183), - Elements::Add64 => Cost::from_milliweight(221), - Elements::Add8 => Cost::from_milliweight(150), - Elements::All16 => Cost::from_milliweight(110), - Elements::All32 => Cost::from_milliweight(136), - Elements::All64 => Cost::from_milliweight(165), - Elements::All8 => Cost::from_milliweight(113), - Elements::And1 => Cost::from_milliweight(159), - Elements::And16 => Cost::from_milliweight(195), - Elements::And32 => Cost::from_milliweight(175), - Elements::And64 => Cost::from_milliweight(221), - Elements::And8 => Cost::from_milliweight(159), - Elements::AnnexHash => Cost::from_milliweight(3065), - Elements::AssetAmountHash => Cost::from_milliweight(3177), - Elements::Bip0340Verify => Cost::from_milliweight(49671), - Elements::BuildTapbranch => Cost::from_milliweight(4804), - Elements::BuildTapleafSimplicity => Cost::from_milliweight(3670), - Elements::CalculateAsset => Cost::from_milliweight(1516), - Elements::CalculateConfidentialToken => Cost::from_milliweight(1727), - Elements::CalculateExplicitToken => Cost::from_milliweight(1610), - Elements::CalculateIssuanceEntropy => Cost::from_milliweight(3453), - Elements::Ch1 => Cost::from_milliweight(240), - Elements::Ch16 => Cost::from_milliweight(245), - Elements::Ch32 => Cost::from_milliweight(238), - Elements::Ch64 => Cost::from_milliweight(274), - Elements::Ch8 => Cost::from_milliweight(240), - Elements::CheckLockDistance => Cost::from_milliweight(198), - Elements::CheckLockDuration => Cost::from_milliweight(201), - Elements::CheckLockHeight => Cost::from_milliweight(239), - Elements::CheckLockTime => Cost::from_milliweight(232), + Elements::Add16 => Cost::from_milliweight(108), + Elements::Add32 => Cost::from_milliweight(117), + Elements::Add64 => Cost::from_milliweight(109), + Elements::Add8 => Cost::from_milliweight(112), + Elements::All16 => Cost::from_milliweight(62), + Elements::All32 => Cost::from_milliweight(65), + Elements::All64 => Cost::from_milliweight(79), + Elements::All8 => Cost::from_milliweight(76), + Elements::And1 => Cost::from_milliweight(79), + Elements::And16 => Cost::from_milliweight(88), + Elements::And32 => Cost::from_milliweight(94), + Elements::And64 => Cost::from_milliweight(93), + Elements::And8 => Cost::from_milliweight(91), + Elements::AnnexHash => Cost::from_milliweight(241), + Elements::AssetAmountHash => Cost::from_milliweight(308), + Elements::Bip0340Verify => Cost::from_milliweight(49087), + Elements::BuildTapbranch => Cost::from_milliweight(2563), + Elements::BuildTapleafSimplicity => Cost::from_milliweight(1843), + Elements::CalculateAsset => Cost::from_milliweight(807), + Elements::CalculateConfidentialToken => Cost::from_milliweight(707), + Elements::CalculateExplicitToken => Cost::from_milliweight(771), + Elements::CalculateIssuanceEntropy => Cost::from_milliweight(2095), + Elements::Ch1 => Cost::from_milliweight(78), + Elements::Ch16 => Cost::from_milliweight(94), + Elements::Ch32 => Cost::from_milliweight(91), + Elements::Ch64 => Cost::from_milliweight(91), + Elements::Ch8 => Cost::from_milliweight(77), + Elements::CheckLockDistance => Cost::from_milliweight(105), + Elements::CheckLockDuration => Cost::from_milliweight(102), + Elements::CheckLockHeight => Cost::from_milliweight(77), + Elements::CheckLockTime => Cost::from_milliweight(93), Elements::CheckSigVerify => Cost::from_milliweight(50000), - Elements::Complement1 => Cost::from_milliweight(139), - Elements::Complement16 => Cost::from_milliweight(146), - Elements::Complement32 => Cost::from_milliweight(161), - Elements::Complement64 => Cost::from_milliweight(174), - Elements::Complement8 => Cost::from_milliweight(139), - Elements::CurrentAmount => Cost::from_milliweight(400), - Elements::CurrentAnnexHash => Cost::from_milliweight(137), - Elements::CurrentAsset => Cost::from_milliweight(320), - Elements::CurrentIndex => Cost::from_milliweight(137), - Elements::CurrentIssuanceAssetAmount => Cost::from_milliweight(317), - Elements::CurrentIssuanceAssetProof => Cost::from_milliweight(301), - Elements::CurrentIssuanceTokenAmount => Cost::from_milliweight(326), - Elements::CurrentIssuanceTokenProof => Cost::from_milliweight(288), - Elements::CurrentNewIssuanceContract => Cost::from_milliweight(293), - Elements::CurrentPegin => Cost::from_milliweight(303), - Elements::CurrentPrevOutpoint => Cost::from_milliweight(312), - Elements::CurrentReissuanceBlinding => Cost::from_milliweight(148), - Elements::CurrentReissuanceEntropy => Cost::from_milliweight(139), - Elements::CurrentScriptHash => Cost::from_milliweight(305), - Elements::CurrentScriptSigHash => Cost::from_milliweight(298), - Elements::CurrentSequence => Cost::from_milliweight(138), - Elements::Decompress => Cost::from_milliweight(10956), - Elements::Decrement16 => Cost::from_milliweight(116), - Elements::Decrement32 => Cost::from_milliweight(159), - Elements::Decrement64 => Cost::from_milliweight(160), - Elements::Decrement8 => Cost::from_milliweight(195), - Elements::DivMod128_64 => Cost::from_milliweight(220), - Elements::DivMod16 => Cost::from_milliweight(223), - Elements::DivMod32 => Cost::from_milliweight(198), - Elements::DivMod64 => Cost::from_milliweight(220), - Elements::DivMod8 => Cost::from_milliweight(141), - Elements::Divide16 => Cost::from_milliweight(188), - Elements::Divide32 => Cost::from_milliweight(225), - Elements::Divide64 => Cost::from_milliweight(202), - Elements::Divide8 => Cost::from_milliweight(125), - Elements::Divides16 => Cost::from_milliweight(173), - Elements::Divides32 => Cost::from_milliweight(175), - Elements::Divides64 => Cost::from_milliweight(246), - Elements::Divides8 => Cost::from_milliweight(142), - Elements::Eq1 => Cost::from_milliweight(120), - Elements::Eq16 => Cost::from_milliweight(174), - Elements::Eq256 => Cost::from_milliweight(431), - Elements::Eq32 => Cost::from_milliweight(233), - Elements::Eq64 => Cost::from_milliweight(202), - Elements::Eq8 => Cost::from_milliweight(120), - Elements::FeAdd => Cost::from_milliweight(908), - Elements::FeInvert => Cost::from_milliweight(3375), - Elements::FeIsOdd => Cost::from_milliweight(544), - Elements::FeIsZero => Cost::from_milliweight(521), - Elements::FeMultiply => Cost::from_milliweight(975), - Elements::FeMultiplyBeta => Cost::from_milliweight(824), - Elements::FeNegate => Cost::from_milliweight(846), - Elements::FeNormalize => Cost::from_milliweight(813), - Elements::FeSquare => Cost::from_milliweight(829), - Elements::FeSquareRoot => Cost::from_milliweight(10698), - Elements::FullAdd16 => Cost::from_milliweight(193), - Elements::FullAdd32 => Cost::from_milliweight(197), - Elements::FullAdd64 => Cost::from_milliweight(225), - Elements::FullAdd8 => Cost::from_milliweight(190), - Elements::FullDecrement16 => Cost::from_milliweight(107), - Elements::FullDecrement32 => Cost::from_milliweight(153), - Elements::FullDecrement64 => Cost::from_milliweight(151), - Elements::FullDecrement8 => Cost::from_milliweight(218), - Elements::FullIncrement16 => Cost::from_milliweight(108), - Elements::FullIncrement32 => Cost::from_milliweight(171), - Elements::FullIncrement64 => Cost::from_milliweight(161), - Elements::FullIncrement8 => Cost::from_milliweight(204), - Elements::FullLeftShift16_1 => Cost::from_milliweight(150), - Elements::FullLeftShift16_2 => Cost::from_milliweight(150), - Elements::FullLeftShift16_4 => Cost::from_milliweight(150), - Elements::FullLeftShift16_8 => Cost::from_milliweight(150), - Elements::FullLeftShift32_1 => Cost::from_milliweight(150), - Elements::FullLeftShift32_16 => Cost::from_milliweight(150), - Elements::FullLeftShift32_2 => Cost::from_milliweight(150), - Elements::FullLeftShift32_4 => Cost::from_milliweight(150), - Elements::FullLeftShift32_8 => Cost::from_milliweight(150), - Elements::FullLeftShift64_1 => Cost::from_milliweight(150), - Elements::FullLeftShift64_16 => Cost::from_milliweight(150), - Elements::FullLeftShift64_2 => Cost::from_milliweight(150), - Elements::FullLeftShift64_32 => Cost::from_milliweight(150), - Elements::FullLeftShift64_4 => Cost::from_milliweight(150), - Elements::FullLeftShift64_8 => Cost::from_milliweight(150), - Elements::FullLeftShift8_1 => Cost::from_milliweight(150), - Elements::FullLeftShift8_2 => Cost::from_milliweight(150), - Elements::FullLeftShift8_4 => Cost::from_milliweight(150), - Elements::FullMultiply16 => Cost::from_milliweight(208), - Elements::FullMultiply32 => Cost::from_milliweight(213), - Elements::FullMultiply64 => Cost::from_milliweight(209), - Elements::FullMultiply8 => Cost::from_milliweight(190), - Elements::FullRightShift16_1 => Cost::from_milliweight(150), - Elements::FullRightShift16_2 => Cost::from_milliweight(150), - Elements::FullRightShift16_4 => Cost::from_milliweight(150), - Elements::FullRightShift16_8 => Cost::from_milliweight(150), - Elements::FullRightShift32_1 => Cost::from_milliweight(150), - Elements::FullRightShift32_16 => Cost::from_milliweight(150), - Elements::FullRightShift32_2 => Cost::from_milliweight(150), - Elements::FullRightShift32_4 => Cost::from_milliweight(150), - Elements::FullRightShift32_8 => Cost::from_milliweight(150), - Elements::FullRightShift64_1 => Cost::from_milliweight(150), - Elements::FullRightShift64_16 => Cost::from_milliweight(150), - Elements::FullRightShift64_2 => Cost::from_milliweight(150), - Elements::FullRightShift64_32 => Cost::from_milliweight(150), - Elements::FullRightShift64_4 => Cost::from_milliweight(150), - Elements::FullRightShift64_8 => Cost::from_milliweight(150), - Elements::FullRightShift8_1 => Cost::from_milliweight(150), - Elements::FullRightShift8_2 => Cost::from_milliweight(150), - Elements::FullRightShift8_4 => Cost::from_milliweight(150), - Elements::FullSubtract16 => Cost::from_milliweight(201), - Elements::FullSubtract32 => Cost::from_milliweight(170), - Elements::FullSubtract64 => Cost::from_milliweight(231), - Elements::FullSubtract8 => Cost::from_milliweight(141), - Elements::GeIsOnCurve => Cost::from_milliweight(763), - Elements::GeNegate => Cost::from_milliweight(1278), - Elements::GejAdd => Cost::from_milliweight(3292), - Elements::GejDouble => Cost::from_milliweight(2103), - Elements::GejEquiv => Cost::from_milliweight(1270), - Elements::GejGeAdd => Cost::from_milliweight(2890), - Elements::GejGeAddEx => Cost::from_milliweight(3114), - Elements::GejGeEquiv => Cost::from_milliweight(1270), - Elements::GejInfinity => Cost::from_milliweight(971), - Elements::GejIsInfinity => Cost::from_milliweight(923), - Elements::GejIsOnCurve => Cost::from_milliweight(1106), - Elements::GejNegate => Cost::from_milliweight(1823), - Elements::GejNormalize => Cost::from_milliweight(4337), - Elements::GejRescale => Cost::from_milliweight(2315), - Elements::GejXEquiv => Cost::from_milliweight(1270), - Elements::GejYIsOdd => Cost::from_milliweight(3665), - Elements::Generate => Cost::from_milliweight(51706), - Elements::GenesisBlockHash => Cost::from_milliweight(395), - Elements::HashToCurve => Cost::from_milliweight(10956), - Elements::High1 => Cost::from_milliweight(169), - Elements::High16 => Cost::from_milliweight(159), - Elements::High32 => Cost::from_milliweight(121), - Elements::High64 => Cost::from_milliweight(110), - Elements::High8 => Cost::from_milliweight(169), - Elements::Increment16 => Cost::from_milliweight(129), - Elements::Increment32 => Cost::from_milliweight(195), - Elements::Increment64 => Cost::from_milliweight(187), - Elements::Increment8 => Cost::from_milliweight(155), - Elements::InputAmount => Cost::from_milliweight(359), - Elements::InputAmountsHash => Cost::from_milliweight(280), - Elements::InputAnnexHash => Cost::from_milliweight(122), - Elements::InputAnnexesHash => Cost::from_milliweight(290), - Elements::InputAsset => Cost::from_milliweight(220), - Elements::InputHash => Cost::from_milliweight(289), - Elements::InputOutpointsHash => Cost::from_milliweight(408), - Elements::InputPegin => Cost::from_milliweight(235), - Elements::InputPrevOutpoint => Cost::from_milliweight(326), - Elements::InputScriptHash => Cost::from_milliweight(285), - Elements::InputScriptSigHash => Cost::from_milliweight(231), - Elements::InputScriptSigsHash => Cost::from_milliweight(283), - Elements::InputScriptsHash => Cost::from_milliweight(280), - Elements::InputSequence => Cost::from_milliweight(144), - Elements::InputSequencesHash => Cost::from_milliweight(292), - Elements::InputUtxoHash => Cost::from_milliweight(409), - Elements::InputUtxosHash => Cost::from_milliweight(409), - Elements::InputsHash => Cost::from_milliweight(289), - Elements::InternalKey => Cost::from_milliweight(272), - Elements::IsOne16 => Cost::from_milliweight(117), - Elements::IsOne32 => Cost::from_milliweight(136), - Elements::IsOne64 => Cost::from_milliweight(163), - Elements::IsOne8 => Cost::from_milliweight(160), - Elements::IsZero16 => Cost::from_milliweight(143), - Elements::IsZero32 => Cost::from_milliweight(135), - Elements::IsZero64 => Cost::from_milliweight(136), - Elements::IsZero8 => Cost::from_milliweight(163), - Elements::Issuance => Cost::from_milliweight(116), - Elements::IssuanceAsset => Cost::from_milliweight(241), - Elements::IssuanceAssetAmount => Cost::from_milliweight(261), - Elements::IssuanceAssetAmountsHash => Cost::from_milliweight(276), - Elements::IssuanceAssetProof => Cost::from_milliweight(229), - Elements::IssuanceBlindingEntropyHash => Cost::from_milliweight(278), - Elements::IssuanceEntropy => Cost::from_milliweight(437), - Elements::IssuanceHash => Cost::from_milliweight(281), - Elements::IssuanceRangeProofsHash => Cost::from_milliweight(280), - Elements::IssuanceToken => Cost::from_milliweight(253), - Elements::IssuanceTokenAmount => Cost::from_milliweight(240), - Elements::IssuanceTokenAmountsHash => Cost::from_milliweight(289), - Elements::IssuanceTokenProof => Cost::from_milliweight(233), - Elements::IssuancesHash => Cost::from_milliweight(281), - Elements::LbtcAsset => Cost::from_milliweight(3065), - Elements::Le16 => Cost::from_milliweight(166), - Elements::Le32 => Cost::from_milliweight(216), - Elements::Le64 => Cost::from_milliweight(173), - Elements::Le8 => Cost::from_milliweight(143), - Elements::LeftExtend16_32 => Cost::from_milliweight(150), - Elements::LeftExtend16_64 => Cost::from_milliweight(150), - Elements::LeftExtend1_16 => Cost::from_milliweight(150), - Elements::LeftExtend1_32 => Cost::from_milliweight(150), - Elements::LeftExtend1_64 => Cost::from_milliweight(150), - Elements::LeftExtend1_8 => Cost::from_milliweight(150), - Elements::LeftExtend32_64 => Cost::from_milliweight(150), - Elements::LeftExtend8_16 => Cost::from_milliweight(150), - Elements::LeftExtend8_32 => Cost::from_milliweight(150), - Elements::LeftExtend8_64 => Cost::from_milliweight(150), - Elements::LeftPadHigh16_32 => Cost::from_milliweight(150), - Elements::LeftPadHigh16_64 => Cost::from_milliweight(150), - Elements::LeftPadHigh1_16 => Cost::from_milliweight(150), - Elements::LeftPadHigh1_32 => Cost::from_milliweight(150), - Elements::LeftPadHigh1_64 => Cost::from_milliweight(150), - Elements::LeftPadHigh1_8 => Cost::from_milliweight(150), - Elements::LeftPadHigh32_64 => Cost::from_milliweight(150), - Elements::LeftPadHigh8_16 => Cost::from_milliweight(150), - Elements::LeftPadHigh8_32 => Cost::from_milliweight(150), - Elements::LeftPadHigh8_64 => Cost::from_milliweight(150), - Elements::LeftPadLow16_32 => Cost::from_milliweight(150), - Elements::LeftPadLow16_64 => Cost::from_milliweight(150), - Elements::LeftPadLow1_16 => Cost::from_milliweight(150), - Elements::LeftPadLow1_32 => Cost::from_milliweight(150), - Elements::LeftPadLow1_64 => Cost::from_milliweight(150), - Elements::LeftPadLow1_8 => Cost::from_milliweight(150), - Elements::LeftPadLow32_64 => Cost::from_milliweight(150), - Elements::LeftPadLow8_16 => Cost::from_milliweight(150), - Elements::LeftPadLow8_32 => Cost::from_milliweight(150), - Elements::LeftPadLow8_64 => Cost::from_milliweight(150), - Elements::LeftRotate16 => Cost::from_milliweight(150), - Elements::LeftRotate32 => Cost::from_milliweight(150), - Elements::LeftRotate64 => Cost::from_milliweight(150), - Elements::LeftRotate8 => Cost::from_milliweight(150), - Elements::LeftShift16 => Cost::from_milliweight(150), - Elements::LeftShift32 => Cost::from_milliweight(150), - Elements::LeftShift64 => Cost::from_milliweight(150), - Elements::LeftShift8 => Cost::from_milliweight(150), - Elements::LeftShiftWith16 => Cost::from_milliweight(150), - Elements::LeftShiftWith32 => Cost::from_milliweight(150), - Elements::LeftShiftWith64 => Cost::from_milliweight(150), - Elements::LeftShiftWith8 => Cost::from_milliweight(150), - Elements::Leftmost16_1 => Cost::from_milliweight(150), - Elements::Leftmost16_2 => Cost::from_milliweight(150), - Elements::Leftmost16_4 => Cost::from_milliweight(150), - Elements::Leftmost16_8 => Cost::from_milliweight(150), - Elements::Leftmost32_1 => Cost::from_milliweight(150), - Elements::Leftmost32_16 => Cost::from_milliweight(150), - Elements::Leftmost32_2 => Cost::from_milliweight(150), - Elements::Leftmost32_4 => Cost::from_milliweight(150), - Elements::Leftmost32_8 => Cost::from_milliweight(150), - Elements::Leftmost64_1 => Cost::from_milliweight(150), - Elements::Leftmost64_16 => Cost::from_milliweight(150), - Elements::Leftmost64_2 => Cost::from_milliweight(150), - Elements::Leftmost64_32 => Cost::from_milliweight(150), - Elements::Leftmost64_4 => Cost::from_milliweight(150), - Elements::Leftmost64_8 => Cost::from_milliweight(150), - Elements::Leftmost8_1 => Cost::from_milliweight(150), - Elements::Leftmost8_2 => Cost::from_milliweight(150), - Elements::Leftmost8_4 => Cost::from_milliweight(150), - Elements::LinearCombination1 => Cost::from_milliweight(86722), - Elements::LinearVerify1 => Cost::from_milliweight(43063), - Elements::LockTime => Cost::from_milliweight(132), - Elements::Low1 => Cost::from_milliweight(173), - Elements::Low16 => Cost::from_milliweight(172), - Elements::Low32 => Cost::from_milliweight(170), - Elements::Low64 => Cost::from_milliweight(162), - Elements::Low8 => Cost::from_milliweight(173), - Elements::Lt16 => Cost::from_milliweight(188), - Elements::Lt32 => Cost::from_milliweight(215), - Elements::Lt64 => Cost::from_milliweight(195), - Elements::Lt8 => Cost::from_milliweight(130), - Elements::Maj1 => Cost::from_milliweight(241), - Elements::Maj16 => Cost::from_milliweight(273), - Elements::Maj32 => Cost::from_milliweight(289), - Elements::Maj64 => Cost::from_milliweight(293), - Elements::Maj8 => Cost::from_milliweight(241), - Elements::Max16 => Cost::from_milliweight(164), - Elements::Max32 => Cost::from_milliweight(162), - Elements::Max64 => Cost::from_milliweight(193), - Elements::Max8 => Cost::from_milliweight(142), - Elements::Median16 => Cost::from_milliweight(270), - Elements::Median32 => Cost::from_milliweight(256), - Elements::Median64 => Cost::from_milliweight(336), - Elements::Median8 => Cost::from_milliweight(256), - Elements::Min16 => Cost::from_milliweight(164), - Elements::Min32 => Cost::from_milliweight(181), - Elements::Min64 => Cost::from_milliweight(150), - Elements::Min8 => Cost::from_milliweight(135), - Elements::Modulo16 => Cost::from_milliweight(188), - Elements::Modulo32 => Cost::from_milliweight(207), - Elements::Modulo64 => Cost::from_milliweight(191), - Elements::Modulo8 => Cost::from_milliweight(158), - Elements::Multiply16 => Cost::from_milliweight(154), - Elements::Multiply32 => Cost::from_milliweight(165), - Elements::Multiply64 => Cost::from_milliweight(185), - Elements::Multiply8 => Cost::from_milliweight(126), - Elements::Negate16 => Cost::from_milliweight(121), - Elements::Negate32 => Cost::from_milliweight(185), - Elements::Negate64 => Cost::from_milliweight(162), - Elements::Negate8 => Cost::from_milliweight(152), - Elements::NewIssuanceContract => Cost::from_milliweight(214), - Elements::NonceHash => Cost::from_milliweight(2727), - Elements::NumInputs => Cost::from_milliweight(139), - Elements::NumOutputs => Cost::from_milliweight(134), - Elements::One16 => Cost::from_milliweight(126), - Elements::One32 => Cost::from_milliweight(122), - Elements::One64 => Cost::from_milliweight(123), - Elements::One8 => Cost::from_milliweight(127), - Elements::Or1 => Cost::from_milliweight(147), - Elements::Or16 => Cost::from_milliweight(204), - Elements::Or32 => Cost::from_milliweight(197), - Elements::Or64 => Cost::from_milliweight(214), - Elements::Or8 => Cost::from_milliweight(147), - Elements::OutpointHash => Cost::from_milliweight(5256), - Elements::OutputAmount => Cost::from_milliweight(709), - Elements::OutputAmountsHash => Cost::from_milliweight(404), - Elements::OutputAsset => Cost::from_milliweight(621), - Elements::OutputHash => Cost::from_milliweight(296), - Elements::OutputIsFee => Cost::from_milliweight(270), - Elements::OutputNonce => Cost::from_milliweight(396), - Elements::OutputNoncesHash => Cost::from_milliweight(387), - Elements::OutputNullDatum => Cost::from_milliweight(249), - Elements::OutputRangeProof => Cost::from_milliweight(452), - Elements::OutputRangeProofsHash => Cost::from_milliweight(397), - Elements::OutputScriptHash => Cost::from_milliweight(437), - Elements::OutputScriptsHash => Cost::from_milliweight(416), - Elements::OutputSurjectionProof => Cost::from_milliweight(453), - Elements::OutputSurjectionProofsHash => Cost::from_milliweight(419), - Elements::OutputsHash => Cost::from_milliweight(296), - Elements::ParseLock => Cost::from_milliweight(177), - Elements::ParseSequence => Cost::from_milliweight(261), - Elements::PointVerify1 => Cost::from_milliweight(50604), - Elements::ReissuanceBlinding => Cost::from_milliweight(153), - Elements::ReissuanceEntropy => Cost::from_milliweight(126), - Elements::RightExtend16_32 => Cost::from_milliweight(150), - Elements::RightExtend16_64 => Cost::from_milliweight(150), - Elements::RightExtend32_64 => Cost::from_milliweight(150), - Elements::RightExtend8_16 => Cost::from_milliweight(150), - Elements::RightExtend8_32 => Cost::from_milliweight(150), - Elements::RightExtend8_64 => Cost::from_milliweight(150), - Elements::RightPadHigh16_32 => Cost::from_milliweight(150), - Elements::RightPadHigh16_64 => Cost::from_milliweight(150), - Elements::RightPadHigh1_16 => Cost::from_milliweight(150), - Elements::RightPadHigh1_32 => Cost::from_milliweight(150), - Elements::RightPadHigh1_64 => Cost::from_milliweight(150), - Elements::RightPadHigh1_8 => Cost::from_milliweight(150), - Elements::RightPadHigh32_64 => Cost::from_milliweight(150), - Elements::RightPadHigh8_16 => Cost::from_milliweight(150), - Elements::RightPadHigh8_32 => Cost::from_milliweight(150), - Elements::RightPadHigh8_64 => Cost::from_milliweight(150), - Elements::RightPadLow16_32 => Cost::from_milliweight(150), - Elements::RightPadLow16_64 => Cost::from_milliweight(150), - Elements::RightPadLow1_16 => Cost::from_milliweight(150), - Elements::RightPadLow1_32 => Cost::from_milliweight(150), - Elements::RightPadLow1_64 => Cost::from_milliweight(150), - Elements::RightPadLow1_8 => Cost::from_milliweight(150), - Elements::RightPadLow32_64 => Cost::from_milliweight(150), - Elements::RightPadLow8_16 => Cost::from_milliweight(150), - Elements::RightPadLow8_32 => Cost::from_milliweight(150), - Elements::RightPadLow8_64 => Cost::from_milliweight(150), - Elements::RightRotate16 => Cost::from_milliweight(150), - Elements::RightRotate32 => Cost::from_milliweight(150), - Elements::RightRotate64 => Cost::from_milliweight(150), - Elements::RightRotate8 => Cost::from_milliweight(150), - Elements::RightShift16 => Cost::from_milliweight(150), - Elements::RightShift32 => Cost::from_milliweight(150), - Elements::RightShift64 => Cost::from_milliweight(150), - Elements::RightShift8 => Cost::from_milliweight(150), - Elements::RightShiftWith16 => Cost::from_milliweight(150), - Elements::RightShiftWith32 => Cost::from_milliweight(150), - Elements::RightShiftWith64 => Cost::from_milliweight(150), - Elements::RightShiftWith8 => Cost::from_milliweight(150), - Elements::Rightmost16_1 => Cost::from_milliweight(150), - Elements::Rightmost16_2 => Cost::from_milliweight(150), - Elements::Rightmost16_4 => Cost::from_milliweight(150), - Elements::Rightmost16_8 => Cost::from_milliweight(150), - Elements::Rightmost32_1 => Cost::from_milliweight(150), - Elements::Rightmost32_16 => Cost::from_milliweight(150), - Elements::Rightmost32_2 => Cost::from_milliweight(150), - Elements::Rightmost32_4 => Cost::from_milliweight(150), - Elements::Rightmost32_8 => Cost::from_milliweight(150), - Elements::Rightmost64_1 => Cost::from_milliweight(150), - Elements::Rightmost64_16 => Cost::from_milliweight(150), - Elements::Rightmost64_2 => Cost::from_milliweight(150), - Elements::Rightmost64_32 => Cost::from_milliweight(150), - Elements::Rightmost64_4 => Cost::from_milliweight(150), - Elements::Rightmost64_8 => Cost::from_milliweight(150), - Elements::Rightmost8_1 => Cost::from_milliweight(150), - Elements::Rightmost8_2 => Cost::from_milliweight(150), - Elements::Rightmost8_4 => Cost::from_milliweight(150), - Elements::ScalarAdd => Cost::from_milliweight(962), - Elements::ScalarInvert => Cost::from_milliweight(4025), - Elements::ScalarIsZero => Cost::from_milliweight(569), - Elements::ScalarMultiply => Cost::from_milliweight(1230), - Elements::ScalarMultiplyLambda => Cost::from_milliweight(984), - Elements::ScalarNegate => Cost::from_milliweight(851), - Elements::ScalarNormalize => Cost::from_milliweight(808), - Elements::ScalarSquare => Cost::from_milliweight(947), - Elements::Scale => Cost::from_milliweight(75377), - Elements::ScriptCMR => Cost::from_milliweight(281), - Elements::Sha256Block => Cost::from_milliweight(986), - Elements::Sha256Ctx8Add1 => Cost::from_milliweight(1600), - Elements::Sha256Ctx8Add128 => Cost::from_milliweight(3921), - Elements::Sha256Ctx8Add16 => Cost::from_milliweight(2275), - Elements::Sha256Ctx8Add2 => Cost::from_milliweight(3772), - Elements::Sha256Ctx8Add256 => Cost::from_milliweight(6211), - Elements::Sha256Ctx8Add32 => Cost::from_milliweight(4599), - Elements::Sha256Ctx8Add4 => Cost::from_milliweight(3515), - Elements::Sha256Ctx8Add512 => Cost::from_milliweight(10936), - Elements::Sha256Ctx8Add64 => Cost::from_milliweight(3111), - Elements::Sha256Ctx8Add8 => Cost::from_milliweight(1625), - Elements::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(14290), - Elements::Sha256Ctx8Finalize => Cost::from_milliweight(2111), - Elements::Sha256Ctx8Init => Cost::from_milliweight(184), - Elements::Sha256Iv => Cost::from_milliweight(129), - Elements::SigAllHash => Cost::from_milliweight(265), - Elements::Some1 => Cost::from_milliweight(104), - Elements::Some16 => Cost::from_milliweight(129), - Elements::Some32 => Cost::from_milliweight(183), - Elements::Some64 => Cost::from_milliweight(139), - Elements::Some8 => Cost::from_milliweight(104), - Elements::Subtract16 => Cost::from_milliweight(237), - Elements::Subtract32 => Cost::from_milliweight(186), - Elements::Subtract64 => Cost::from_milliweight(315), - Elements::Subtract8 => Cost::from_milliweight(149), - Elements::Swu => Cost::from_milliweight(10956), - Elements::TapEnvHash => Cost::from_milliweight(301), - Elements::TapleafHash => Cost::from_milliweight(279), - Elements::TapleafVersion => Cost::from_milliweight(141), - Elements::Tappath => Cost::from_milliweight(143), - Elements::TappathHash => Cost::from_milliweight(282), - Elements::TotalFee => Cost::from_milliweight(397), - Elements::TransactionId => Cost::from_milliweight(281), - Elements::TxHash => Cost::from_milliweight(290), - Elements::TxIsFinal => Cost::from_milliweight(128), - Elements::TxLockDistance => Cost::from_milliweight(133), - Elements::TxLockDuration => Cost::from_milliweight(146), - Elements::TxLockHeight => Cost::from_milliweight(132), - Elements::TxLockTime => Cost::from_milliweight(136), - Elements::Verify => Cost::from_milliweight(144), - Elements::Version => Cost::from_milliweight(188), - Elements::Xor1 => Cost::from_milliweight(135), - Elements::Xor16 => Cost::from_milliweight(188), - Elements::Xor32 => Cost::from_milliweight(204), - Elements::Xor64 => Cost::from_milliweight(207), - Elements::Xor8 => Cost::from_milliweight(135), - Elements::XorXor1 => Cost::from_milliweight(258), - Elements::XorXor16 => Cost::from_milliweight(235), - Elements::XorXor32 => Cost::from_milliweight(251), - Elements::XorXor64 => Cost::from_milliweight(285), - Elements::XorXor8 => Cost::from_milliweight(258), + Elements::Complement1 => Cost::from_milliweight(79), + Elements::Complement16 => Cost::from_milliweight(75), + Elements::Complement32 => Cost::from_milliweight(93), + Elements::Complement64 => Cost::from_milliweight(88), + Elements::Complement8 => Cost::from_milliweight(80), + Elements::CurrentAmount => Cost::from_milliweight(225), + Elements::CurrentAnnexHash => Cost::from_milliweight(79), + Elements::CurrentAsset => Cost::from_milliweight(171), + Elements::CurrentIndex => Cost::from_milliweight(88), + Elements::CurrentIssuanceAssetAmount => Cost::from_milliweight(165), + Elements::CurrentIssuanceAssetProof => Cost::from_milliweight(140), + Elements::CurrentIssuanceTokenAmount => Cost::from_milliweight(188), + Elements::CurrentIssuanceTokenProof => Cost::from_milliweight(144), + Elements::CurrentNewIssuanceContract => Cost::from_milliweight(145), + Elements::CurrentPegin => Cost::from_milliweight(147), + Elements::CurrentPrevOutpoint => Cost::from_milliweight(156), + Elements::CurrentReissuanceBlinding => Cost::from_milliweight(94), + Elements::CurrentReissuanceEntropy => Cost::from_milliweight(85), + Elements::CurrentScriptHash => Cost::from_milliweight(134), + Elements::CurrentScriptSigHash => Cost::from_milliweight(139), + Elements::CurrentSequence => Cost::from_milliweight(89), + Elements::Decompress => Cost::from_milliweight(10861), + Elements::Decrement16 => Cost::from_milliweight(85), + Elements::Decrement32 => Cost::from_milliweight(91), + Elements::Decrement64 => Cost::from_milliweight(89), + Elements::Decrement8 => Cost::from_milliweight(79), + Elements::DivMod128_64 => Cost::from_milliweight(208), + Elements::DivMod16 => Cost::from_milliweight(118), + Elements::DivMod32 => Cost::from_milliweight(115), + Elements::DivMod64 => Cost::from_milliweight(86), + Elements::DivMod8 => Cost::from_milliweight(128), + Elements::Divide16 => Cost::from_milliweight(98), + Elements::Divide32 => Cost::from_milliweight(100), + Elements::Divide64 => Cost::from_milliweight(101), + Elements::Divide8 => Cost::from_milliweight(108), + Elements::Divides16 => Cost::from_milliweight(93), + Elements::Divides32 => Cost::from_milliweight(87), + Elements::Divides64 => Cost::from_milliweight(91), + Elements::Divides8 => Cost::from_milliweight(98), + Elements::Eq1 => Cost::from_milliweight(74), + Elements::Eq16 => Cost::from_milliweight(84), + Elements::Eq256 => Cost::from_milliweight(225), + Elements::Eq32 => Cost::from_milliweight(88), + Elements::Eq64 => Cost::from_milliweight(100), + Elements::Eq8 => Cost::from_milliweight(95), + Elements::FeAdd => Cost::from_milliweight(755), + Elements::FeInvert => Cost::from_milliweight(3175), + Elements::FeIsOdd => Cost::from_milliweight(290), + Elements::FeIsZero => Cost::from_milliweight(268), + Elements::FeMultiply => Cost::from_milliweight(808), + Elements::FeMultiplyBeta => Cost::from_milliweight(579), + Elements::FeNegate => Cost::from_milliweight(531), + Elements::FeNormalize => Cost::from_milliweight(521), + Elements::FeSquare => Cost::from_milliweight(556), + Elements::FeSquareRoot => Cost::from_milliweight(10275), + Elements::FullAdd16 => Cost::from_milliweight(121), + Elements::FullAdd32 => Cost::from_milliweight(119), + Elements::FullAdd64 => Cost::from_milliweight(121), + Elements::FullAdd8 => Cost::from_milliweight(127), + Elements::FullDecrement16 => Cost::from_milliweight(92), + Elements::FullDecrement32 => Cost::from_milliweight(107), + Elements::FullDecrement64 => Cost::from_milliweight(81), + Elements::FullDecrement8 => Cost::from_milliweight(91), + Elements::FullIncrement16 => Cost::from_milliweight(89), + Elements::FullIncrement32 => Cost::from_milliweight(104), + Elements::FullIncrement64 => Cost::from_milliweight(99), + Elements::FullIncrement8 => Cost::from_milliweight(72), + Elements::FullLeftShift16_1 => Cost::from_milliweight(83), + Elements::FullLeftShift16_2 => Cost::from_milliweight(83), + Elements::FullLeftShift16_4 => Cost::from_milliweight(89), + Elements::FullLeftShift16_8 => Cost::from_milliweight(65), + Elements::FullLeftShift32_1 => Cost::from_milliweight(84), + Elements::FullLeftShift32_16 => Cost::from_milliweight(81), + Elements::FullLeftShift32_2 => Cost::from_milliweight(67), + Elements::FullLeftShift32_4 => Cost::from_milliweight(84), + Elements::FullLeftShift32_8 => Cost::from_milliweight(91), + Elements::FullLeftShift64_1 => Cost::from_milliweight(99), + Elements::FullLeftShift64_16 => Cost::from_milliweight(90), + Elements::FullLeftShift64_2 => Cost::from_milliweight(94), + Elements::FullLeftShift64_32 => Cost::from_milliweight(86), + Elements::FullLeftShift64_4 => Cost::from_milliweight(94), + Elements::FullLeftShift64_8 => Cost::from_milliweight(86), + Elements::FullLeftShift8_1 => Cost::from_milliweight(96), + Elements::FullLeftShift8_2 => Cost::from_milliweight(96), + Elements::FullLeftShift8_4 => Cost::from_milliweight(85), + Elements::FullMultiply16 => Cost::from_milliweight(112), + Elements::FullMultiply32 => Cost::from_milliweight(96), + Elements::FullMultiply64 => Cost::from_milliweight(127), + Elements::FullMultiply8 => Cost::from_milliweight(109), + Elements::FullRightShift16_1 => Cost::from_milliweight(80), + Elements::FullRightShift16_2 => Cost::from_milliweight(79), + Elements::FullRightShift16_4 => Cost::from_milliweight(88), + Elements::FullRightShift16_8 => Cost::from_milliweight(57), + Elements::FullRightShift32_1 => Cost::from_milliweight(74), + Elements::FullRightShift32_16 => Cost::from_milliweight(64), + Elements::FullRightShift32_2 => Cost::from_milliweight(63), + Elements::FullRightShift32_4 => Cost::from_milliweight(71), + Elements::FullRightShift32_8 => Cost::from_milliweight(84), + Elements::FullRightShift64_1 => Cost::from_milliweight(99), + Elements::FullRightShift64_16 => Cost::from_milliweight(86), + Elements::FullRightShift64_2 => Cost::from_milliweight(86), + Elements::FullRightShift64_32 => Cost::from_milliweight(73), + Elements::FullRightShift64_4 => Cost::from_milliweight(93), + Elements::FullRightShift64_8 => Cost::from_milliweight(99), + Elements::FullRightShift8_1 => Cost::from_milliweight(88), + Elements::FullRightShift8_2 => Cost::from_milliweight(86), + Elements::FullRightShift8_4 => Cost::from_milliweight(89), + Elements::FullSubtract16 => Cost::from_milliweight(121), + Elements::FullSubtract32 => Cost::from_milliweight(116), + Elements::FullSubtract64 => Cost::from_milliweight(98), + Elements::FullSubtract8 => Cost::from_milliweight(126), + Elements::GeIsOnCurve => Cost::from_milliweight(642), + Elements::GeNegate => Cost::from_milliweight(945), + Elements::GejAdd => Cost::from_milliweight(2897), + Elements::GejDouble => Cost::from_milliweight(1764), + Elements::GejEquiv => Cost::from_milliweight(2220), + Elements::GejGeAdd => Cost::from_milliweight(2477), + Elements::GejGeAddEx => Cost::from_milliweight(2719), + Elements::GejGeEquiv => Cost::from_milliweight(1765), + Elements::GejInfinity => Cost::from_milliweight(716), + Elements::GejIsInfinity => Cost::from_milliweight(666), + Elements::GejIsOnCurve => Cost::from_milliweight(1016), + Elements::GejNegate => Cost::from_milliweight(1381), + Elements::GejNormalize => Cost::from_milliweight(4099), + Elements::GejRescale => Cost::from_milliweight(1908), + Elements::GejXEquiv => Cost::from_milliweight(1047), + Elements::GejYIsOdd => Cost::from_milliweight(3651), + Elements::Generate => Cost::from_milliweight(50071), + Elements::GenesisBlockHash => Cost::from_milliweight(148), + Elements::HashToCurve => Cost::from_milliweight(68094), + Elements::High1 => Cost::from_milliweight(57), + Elements::High16 => Cost::from_milliweight(66), + Elements::High32 => Cost::from_milliweight(58), + Elements::High64 => Cost::from_milliweight(68), + Elements::High8 => Cost::from_milliweight(59), + Elements::Increment16 => Cost::from_milliweight(69), + Elements::Increment32 => Cost::from_milliweight(92), + Elements::Increment64 => Cost::from_milliweight(87), + Elements::Increment8 => Cost::from_milliweight(85), + Elements::InputAmount => Cost::from_milliweight(285), + Elements::InputAmountsHash => Cost::from_milliweight(140), + Elements::InputAnnexHash => Cost::from_milliweight(90), + Elements::InputAnnexesHash => Cost::from_milliweight(155), + Elements::InputAsset => Cost::from_milliweight(162), + Elements::InputHash => Cost::from_milliweight(965), + Elements::InputOutpointsHash => Cost::from_milliweight(142), + Elements::InputPegin => Cost::from_milliweight(151), + Elements::InputPrevOutpoint => Cost::from_milliweight(160), + Elements::InputScriptHash => Cost::from_milliweight(147), + Elements::InputScriptSigHash => Cost::from_milliweight(153), + Elements::InputScriptSigsHash => Cost::from_milliweight(138), + Elements::InputScriptsHash => Cost::from_milliweight(137), + Elements::InputSequence => Cost::from_milliweight(99), + Elements::InputSequencesHash => Cost::from_milliweight(142), + Elements::InputUtxoHash => Cost::from_milliweight(1996), + Elements::InputUtxosHash => Cost::from_milliweight(140), + Elements::InputsHash => Cost::from_milliweight(154), + Elements::InternalKey => Cost::from_milliweight(152), + Elements::IsOne16 => Cost::from_milliweight(82), + Elements::IsOne32 => Cost::from_milliweight(65), + Elements::IsOne64 => Cost::from_milliweight(83), + Elements::IsOne8 => Cost::from_milliweight(91), + Elements::IsZero16 => Cost::from_milliweight(75), + Elements::IsZero32 => Cost::from_milliweight(85), + Elements::IsZero64 => Cost::from_milliweight(80), + Elements::IsZero8 => Cost::from_milliweight(77), + Elements::Issuance => Cost::from_milliweight(91), + Elements::IssuanceAsset => Cost::from_milliweight(151), + Elements::IssuanceAssetAmount => Cost::from_milliweight(162), + Elements::IssuanceAssetAmountsHash => Cost::from_milliweight(139), + Elements::IssuanceAssetProof => Cost::from_milliweight(150), + Elements::IssuanceBlindingEntropyHash => Cost::from_milliweight(129), + Elements::IssuanceEntropy => Cost::from_milliweight(153), + Elements::IssuanceHash => Cost::from_milliweight(3738), + Elements::IssuanceRangeProofsHash => Cost::from_milliweight(129), + Elements::IssuanceToken => Cost::from_milliweight(149), + Elements::IssuanceTokenAmount => Cost::from_milliweight(196), + Elements::IssuanceTokenAmountsHash => Cost::from_milliweight(138), + Elements::IssuanceTokenProof => Cost::from_milliweight(150), + Elements::IssuancesHash => Cost::from_milliweight(141), + Elements::LbtcAsset => Cost::from_milliweight(145), + Elements::Le16 => Cost::from_milliweight(112), + Elements::Le32 => Cost::from_milliweight(93), + Elements::Le64 => Cost::from_milliweight(93), + Elements::Le8 => Cost::from_milliweight(109), + Elements::LeftExtend16_32 => Cost::from_milliweight(86), + Elements::LeftExtend16_64 => Cost::from_milliweight(89), + Elements::LeftExtend1_16 => Cost::from_milliweight(67), + Elements::LeftExtend1_32 => Cost::from_milliweight(60), + Elements::LeftExtend1_64 => Cost::from_milliweight(76), + Elements::LeftExtend1_8 => Cost::from_milliweight(65), + Elements::LeftExtend32_64 => Cost::from_milliweight(63), + Elements::LeftExtend8_16 => Cost::from_milliweight(88), + Elements::LeftExtend8_32 => Cost::from_milliweight(90), + Elements::LeftExtend8_64 => Cost::from_milliweight(107), + Elements::LeftPadHigh16_32 => Cost::from_milliweight(91), + Elements::LeftPadHigh16_64 => Cost::from_milliweight(110), + Elements::LeftPadHigh1_16 => Cost::from_milliweight(141), + Elements::LeftPadHigh1_32 => Cost::from_milliweight(263), + Elements::LeftPadHigh1_64 => Cost::from_milliweight(422), + Elements::LeftPadHigh1_8 => Cost::from_milliweight(99), + Elements::LeftPadHigh32_64 => Cost::from_milliweight(93), + Elements::LeftPadHigh8_16 => Cost::from_milliweight(88), + Elements::LeftPadHigh8_32 => Cost::from_milliweight(103), + Elements::LeftPadHigh8_64 => Cost::from_milliweight(136), + Elements::LeftPadLow16_32 => Cost::from_milliweight(69), + Elements::LeftPadLow16_64 => Cost::from_milliweight(106), + Elements::LeftPadLow1_16 => Cost::from_milliweight(65), + Elements::LeftPadLow1_32 => Cost::from_milliweight(63), + Elements::LeftPadLow1_64 => Cost::from_milliweight(61), + Elements::LeftPadLow1_8 => Cost::from_milliweight(56), + Elements::LeftPadLow32_64 => Cost::from_milliweight(91), + Elements::LeftPadLow8_16 => Cost::from_milliweight(66), + Elements::LeftPadLow8_32 => Cost::from_milliweight(61), + Elements::LeftPadLow8_64 => Cost::from_milliweight(112), + Elements::LeftRotate16 => Cost::from_milliweight(77), + Elements::LeftRotate32 => Cost::from_milliweight(106), + Elements::LeftRotate64 => Cost::from_milliweight(98), + Elements::LeftRotate8 => Cost::from_milliweight(88), + Elements::LeftShift16 => Cost::from_milliweight(72), + Elements::LeftShift32 => Cost::from_milliweight(78), + Elements::LeftShift64 => Cost::from_milliweight(82), + Elements::LeftShift8 => Cost::from_milliweight(91), + Elements::LeftShiftWith16 => Cost::from_milliweight(83), + Elements::LeftShiftWith32 => Cost::from_milliweight(95), + Elements::LeftShiftWith64 => Cost::from_milliweight(103), + Elements::LeftShiftWith8 => Cost::from_milliweight(107), + Elements::Leftmost16_1 => Cost::from_milliweight(93), + Elements::Leftmost16_2 => Cost::from_milliweight(90), + Elements::Leftmost16_4 => Cost::from_milliweight(75), + Elements::Leftmost16_8 => Cost::from_milliweight(71), + Elements::Leftmost32_1 => Cost::from_milliweight(77), + Elements::Leftmost32_16 => Cost::from_milliweight(102), + Elements::Leftmost32_2 => Cost::from_milliweight(66), + Elements::Leftmost32_4 => Cost::from_milliweight(52), + Elements::Leftmost32_8 => Cost::from_milliweight(103), + Elements::Leftmost64_1 => Cost::from_milliweight(78), + Elements::Leftmost64_16 => Cost::from_milliweight(88), + Elements::Leftmost64_2 => Cost::from_milliweight(71), + Elements::Leftmost64_32 => Cost::from_milliweight(90), + Elements::Leftmost64_4 => Cost::from_milliweight(79), + Elements::Leftmost64_8 => Cost::from_milliweight(86), + Elements::Leftmost8_1 => Cost::from_milliweight(90), + Elements::Leftmost8_2 => Cost::from_milliweight(90), + Elements::Leftmost8_4 => Cost::from_milliweight(87), + Elements::LinearCombination1 => Cost::from_milliweight(84674), + Elements::LinearVerify1 => Cost::from_milliweight(43364), + Elements::LockTime => Cost::from_milliweight(85), + Elements::Low1 => Cost::from_milliweight(38), + Elements::Low16 => Cost::from_milliweight(69), + Elements::Low32 => Cost::from_milliweight(62), + Elements::Low64 => Cost::from_milliweight(47), + Elements::Low8 => Cost::from_milliweight(47), + Elements::Lt16 => Cost::from_milliweight(123), + Elements::Lt32 => Cost::from_milliweight(107), + Elements::Lt64 => Cost::from_milliweight(76), + Elements::Lt8 => Cost::from_milliweight(107), + Elements::Maj1 => Cost::from_milliweight(62), + Elements::Maj16 => Cost::from_milliweight(80), + Elements::Maj32 => Cost::from_milliweight(96), + Elements::Maj64 => Cost::from_milliweight(93), + Elements::Maj8 => Cost::from_milliweight(94), + Elements::Max16 => Cost::from_milliweight(114), + Elements::Max32 => Cost::from_milliweight(92), + Elements::Max64 => Cost::from_milliweight(104), + Elements::Max8 => Cost::from_milliweight(96), + Elements::Median16 => Cost::from_milliweight(123), + Elements::Median32 => Cost::from_milliweight(101), + Elements::Median64 => Cost::from_milliweight(109), + Elements::Median8 => Cost::from_milliweight(122), + Elements::Min16 => Cost::from_milliweight(97), + Elements::Min32 => Cost::from_milliweight(113), + Elements::Min64 => Cost::from_milliweight(102), + Elements::Min8 => Cost::from_milliweight(99), + Elements::Modulo16 => Cost::from_milliweight(103), + Elements::Modulo32 => Cost::from_milliweight(102), + Elements::Modulo64 => Cost::from_milliweight(85), + Elements::Modulo8 => Cost::from_milliweight(102), + Elements::Multiply16 => Cost::from_milliweight(90), + Elements::Multiply32 => Cost::from_milliweight(90), + Elements::Multiply64 => Cost::from_milliweight(85), + Elements::Multiply8 => Cost::from_milliweight(93), + Elements::Negate16 => Cost::from_milliweight(70), + Elements::Negate32 => Cost::from_milliweight(85), + Elements::Negate64 => Cost::from_milliweight(94), + Elements::Negate8 => Cost::from_milliweight(91), + Elements::NewIssuanceContract => Cost::from_milliweight(157), + Elements::NonceHash => Cost::from_milliweight(317), + Elements::NumInputs => Cost::from_milliweight(86), + Elements::NumOutputs => Cost::from_milliweight(79), + Elements::One16 => Cost::from_milliweight(60), + Elements::One32 => Cost::from_milliweight(59), + Elements::One64 => Cost::from_milliweight(59), + Elements::One8 => Cost::from_milliweight(62), + Elements::Or1 => Cost::from_milliweight(77), + Elements::Or16 => Cost::from_milliweight(94), + Elements::Or32 => Cost::from_milliweight(105), + Elements::Or64 => Cost::from_milliweight(99), + Elements::Or8 => Cost::from_milliweight(93), + Elements::OutpointHash => Cost::from_milliweight(319), + Elements::OutputAmount => Cost::from_milliweight(298), + Elements::OutputAmountsHash => Cost::from_milliweight(140), + Elements::OutputAsset => Cost::from_milliweight(170), + Elements::OutputHash => Cost::from_milliweight(2849), + Elements::OutputIsFee => Cost::from_milliweight(92), + Elements::OutputNonce => Cost::from_milliweight(196), + Elements::OutputNoncesHash => Cost::from_milliweight(151), + Elements::OutputNullDatum => Cost::from_milliweight(87), + Elements::OutputRangeProof => Cost::from_milliweight(154), + Elements::OutputRangeProofsHash => Cost::from_milliweight(136), + Elements::OutputScriptHash => Cost::from_milliweight(151), + Elements::OutputScriptsHash => Cost::from_milliweight(142), + Elements::OutputSurjectionProof => Cost::from_milliweight(151), + Elements::OutputSurjectionProofsHash => Cost::from_milliweight(138), + Elements::OutputsHash => Cost::from_milliweight(135), + Elements::ParseLock => Cost::from_milliweight(97), + Elements::ParseSequence => Cost::from_milliweight(116), + Elements::PointVerify1 => Cost::from_milliweight(41494), + Elements::ReissuanceBlinding => Cost::from_milliweight(91), + Elements::ReissuanceEntropy => Cost::from_milliweight(93), + Elements::RightExtend16_32 => Cost::from_milliweight(74), + Elements::RightExtend16_64 => Cost::from_milliweight(82), + Elements::RightExtend32_64 => Cost::from_milliweight(94), + Elements::RightExtend8_16 => Cost::from_milliweight(76), + Elements::RightExtend8_32 => Cost::from_milliweight(106), + Elements::RightExtend8_64 => Cost::from_milliweight(124), + Elements::RightPadHigh16_32 => Cost::from_milliweight(70), + Elements::RightPadHigh16_64 => Cost::from_milliweight(88), + Elements::RightPadHigh1_16 => Cost::from_milliweight(143), + Elements::RightPadHigh1_32 => Cost::from_milliweight(223), + Elements::RightPadHigh1_64 => Cost::from_milliweight(476), + Elements::RightPadHigh1_8 => Cost::from_milliweight(107), + Elements::RightPadHigh32_64 => Cost::from_milliweight(94), + Elements::RightPadHigh8_16 => Cost::from_milliweight(89), + Elements::RightPadHigh8_32 => Cost::from_milliweight(110), + Elements::RightPadHigh8_64 => Cost::from_milliweight(107), + Elements::RightPadLow16_32 => Cost::from_milliweight(71), + Elements::RightPadLow16_64 => Cost::from_milliweight(96), + Elements::RightPadLow1_16 => Cost::from_milliweight(81), + Elements::RightPadLow1_32 => Cost::from_milliweight(75), + Elements::RightPadLow1_64 => Cost::from_milliweight(73), + Elements::RightPadLow1_8 => Cost::from_milliweight(68), + Elements::RightPadLow32_64 => Cost::from_milliweight(80), + Elements::RightPadLow8_16 => Cost::from_milliweight(75), + Elements::RightPadLow8_32 => Cost::from_milliweight(77), + Elements::RightPadLow8_64 => Cost::from_milliweight(82), + Elements::RightRotate16 => Cost::from_milliweight(99), + Elements::RightRotate32 => Cost::from_milliweight(92), + Elements::RightRotate64 => Cost::from_milliweight(93), + Elements::RightRotate8 => Cost::from_milliweight(75), + Elements::RightShift16 => Cost::from_milliweight(84), + Elements::RightShift32 => Cost::from_milliweight(88), + Elements::RightShift64 => Cost::from_milliweight(91), + Elements::RightShift8 => Cost::from_milliweight(88), + Elements::RightShiftWith16 => Cost::from_milliweight(105), + Elements::RightShiftWith32 => Cost::from_milliweight(92), + Elements::RightShiftWith64 => Cost::from_milliweight(97), + Elements::RightShiftWith8 => Cost::from_milliweight(103), + Elements::Rightmost16_1 => Cost::from_milliweight(70), + Elements::Rightmost16_2 => Cost::from_milliweight(82), + Elements::Rightmost16_4 => Cost::from_milliweight(76), + Elements::Rightmost16_8 => Cost::from_milliweight(69), + Elements::Rightmost32_1 => Cost::from_milliweight(90), + Elements::Rightmost32_16 => Cost::from_milliweight(64), + Elements::Rightmost32_2 => Cost::from_milliweight(74), + Elements::Rightmost32_4 => Cost::from_milliweight(92), + Elements::Rightmost32_8 => Cost::from_milliweight(78), + Elements::Rightmost64_1 => Cost::from_milliweight(77), + Elements::Rightmost64_16 => Cost::from_milliweight(86), + Elements::Rightmost64_2 => Cost::from_milliweight(74), + Elements::Rightmost64_32 => Cost::from_milliweight(76), + Elements::Rightmost64_4 => Cost::from_milliweight(70), + Elements::Rightmost64_8 => Cost::from_milliweight(69), + Elements::Rightmost8_1 => Cost::from_milliweight(79), + Elements::Rightmost8_2 => Cost::from_milliweight(98), + Elements::Rightmost8_4 => Cost::from_milliweight(98), + Elements::ScalarAdd => Cost::from_milliweight(739), + Elements::ScalarInvert => Cost::from_milliweight(3193), + Elements::ScalarIsZero => Cost::from_milliweight(271), + Elements::ScalarMultiply => Cost::from_milliweight(774), + Elements::ScalarMultiplyLambda => Cost::from_milliweight(557), + Elements::ScalarNegate => Cost::from_milliweight(490), + Elements::ScalarNormalize => Cost::from_milliweight(472), + Elements::ScalarSquare => Cost::from_milliweight(575), + Elements::Scale => Cost::from_milliweight(72675), + Elements::ScriptCMR => Cost::from_milliweight(136), + Elements::Sha256Block => Cost::from_milliweight(771), + Elements::Sha256Ctx8Add1 => Cost::from_milliweight(642), + Elements::Sha256Ctx8Add128 => Cost::from_milliweight(1779), + Elements::Sha256Ctx8Add16 => Cost::from_milliweight(747), + Elements::Sha256Ctx8Add2 => Cost::from_milliweight(661), + Elements::Sha256Ctx8Add256 => Cost::from_milliweight(2912), + Elements::Sha256Ctx8Add32 => Cost::from_milliweight(896), + Elements::Sha256Ctx8Add4 => Cost::from_milliweight(645), + Elements::Sha256Ctx8Add512 => Cost::from_milliweight(5299), + Elements::Sha256Ctx8Add64 => Cost::from_milliweight(1187), + Elements::Sha256Ctx8Add8 => Cost::from_milliweight(674), + Elements::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060), + Elements::Sha256Ctx8Finalize => Cost::from_milliweight(835), + Elements::Sha256Ctx8Init => Cost::from_milliweight(118), + Elements::Sha256Iv => Cost::from_milliweight(93), + Elements::SigAllHash => Cost::from_milliweight(133), + Elements::Some1 => Cost::from_milliweight(70), + Elements::Some16 => Cost::from_milliweight(63), + Elements::Some32 => Cost::from_milliweight(64), + Elements::Some64 => Cost::from_milliweight(93), + Elements::Some8 => Cost::from_milliweight(75), + Elements::Subtract16 => Cost::from_milliweight(113), + Elements::Subtract32 => Cost::from_milliweight(118), + Elements::Subtract64 => Cost::from_milliweight(115), + Elements::Subtract8 => Cost::from_milliweight(109), + Elements::Swu => Cost::from_milliweight(32120), + Elements::TapEnvHash => Cost::from_milliweight(162), + Elements::TapleafHash => Cost::from_milliweight(136), + Elements::TapleafVersion => Cost::from_milliweight(105), + Elements::Tappath => Cost::from_milliweight(83), + Elements::TappathHash => Cost::from_milliweight(143), + Elements::TotalFee => Cost::from_milliweight(230), + Elements::TransactionId => Cost::from_milliweight(139), + Elements::TxHash => Cost::from_milliweight(143), + Elements::TxIsFinal => Cost::from_milliweight(71), + Elements::TxLockDistance => Cost::from_milliweight(91), + Elements::TxLockDuration => Cost::from_milliweight(84), + Elements::TxLockHeight => Cost::from_milliweight(80), + Elements::TxLockTime => Cost::from_milliweight(80), + Elements::Verify => Cost::from_milliweight(57), + Elements::Version => Cost::from_milliweight(93), + Elements::Xor1 => Cost::from_milliweight(67), + Elements::Xor16 => Cost::from_milliweight(83), + Elements::Xor32 => Cost::from_milliweight(92), + Elements::Xor64 => Cost::from_milliweight(95), + Elements::Xor8 => Cost::from_milliweight(85), + Elements::XorXor1 => Cost::from_milliweight(72), + Elements::XorXor16 => Cost::from_milliweight(79), + Elements::XorXor32 => Cost::from_milliweight(96), + Elements::XorXor64 => Cost::from_milliweight(93), + Elements::XorXor8 => Cost::from_milliweight(98), } } } diff --git a/src/merkle/amr.rs b/src/merkle/amr.rs index e6d349ae..03d0b86f 100644 --- a/src/merkle/amr.rs +++ b/src/merkle/amr.rs @@ -304,7 +304,7 @@ mod tests { #[rustfmt::skip] assert_eq!( &node.amr().unwrap().to_string(), - "f11c9481e71863a24453c3e213046499a03a9a0f993be3c48e9d1f405d97947c" + "22c0e36234190af6c8161e41f9e00013b243c89677691a62e79872fa03bfa677" ); } diff --git a/src/node/commit.rs b/src/node/commit.rs index cd42aa31..26998c6f 100644 --- a/src/node/commit.rs +++ b/src/node/commit.rs @@ -499,7 +499,7 @@ mod tests { 0x00, ], // CMR not checked against C code, since C won't give us any data without witnesses - "4c8b47fde3d714dbbbce313dd1bf9fa09fd34e1487339de3904e3af98cef6ff9", + "5394be33b8ba4771ede97ada5d035266026e414b4b21053afb986081e84ee3ac", ), // Same program but with each `witness` replaced by `comp iden witness`. ( @@ -520,7 +520,7 @@ mod tests { 0xdc, 0x41, 0x18, 0x08, ], // CMR not checked against C code, since C won't give us any data without witnesses - "7e9a67dbd14bd06bed9a30e765ffb25e6ac0801ed4aabdde5ea91010b43d88c5", + "d7803c07d1803f525a6c6ea5bff8e46e58efeda1130bb6c1b7b6ed60ebd0504b", ) ]; diff --git a/src/node/redeem.rs b/src/node/redeem.rs index e2a689d0..ce63bf42 100644 --- a/src/node/redeem.rs +++ b/src/node/redeem.rs @@ -533,9 +533,9 @@ mod tests { assert_program_deserializable::( &[0xc9, 0xc4, 0x6d, 0xb8, 0x82, 0x30, 0x10], &[0xde, 0xad, 0xbe, 0xef], - "2d170e731b6d6856e69f3c6ee04b368302f7f71b2270a26276d98ea494bbebd7", - "9bdb88f9a9ef64d5ec507af96e5b88ae3a8b09c042cb3c3563f982cafc572bae", - "71cdfd26a3f4dd865e2e92b526fc2083260c964c52dd9773aa52771f253b73e1", + "e398797db2b1c742dfa69a3925583e55e55a81a1e5150a0241a8d9e85e112475", + "78280372ee1d0e0aaf8b343030f3bbdb2f954b22f0c4f77f6f04dd8ec506fca6", + "ef660061d9d3bd87d208fb7ab82ed095141440fd00cc2b3fa7ddeb360769ab6b", ); } @@ -678,8 +678,8 @@ mod tests { 0x58, 0xe2, 0xbd, 0xe2, 0xcf, 0xa6, 0x45, 0xa8, 0x95, 0xc1, 0xb4, 0x5d, 0x68, 0xea, 0x24, 0xc0, ], "e2a6e4a223c0da97ebbf5f401e2d622535c3ed538e70f344318e9e5e4c2e02af", - "dc52a75e2137c0e2c63c0e49e3a226441234f2bb99236eaeee6d87e5a45a71c7", - "b6b12e9cd674927fea216e24b81df0daf03aa7b15cc8f9110ce506232be08671", + "5cd9d4af96740d2f27ffd94649304923a20939ae42b02828fa7982457fac3c22", + "6f9dba991638478e2eec6388e51024410fd442264e8b212344aef802d8ff858b", ); } @@ -726,9 +726,9 @@ mod tests { assert_program_deserializable::( &schnorr0, &schnorr0_wit, - "70a617f32098132fe01ad5ff6748d3b94f803f4d851dd5764d99437c1b8dd7e8", - "f9ab63b6ea2a9cc1df9cc1e1bc96c945b655ec843eb6967d4429a1a0c8519633", - "fd9423e5ca51d3efea27596b65a61792497a68351ee43f235e6edfc344cf4951", + "e3b25e13f91fcbf95407f126b3aed5b4543399cb9c3d426fe98a10f8d33ef6c3", + "9049bcda62ffe6b7146b91af7a4522adbb93f0cd50dd390d12b9fe12ae836c8c", + "6b18b11f6367528afbe1abaf41553ce68bb417da2dcdd2832964399148548ac7", ); } }