From 35a65dfa6b62ec838db9e674b3e1ea4e08bc6b82 Mon Sep 17 00:00:00 2001 From: notoriaga Date: Thu, 16 Mar 2023 14:47:38 -0700 Subject: [PATCH 1/6] Add signature length field to MsgEcdsaSignature --- c/include/libsbp/cpp/message_traits.h | 37 + c/include/libsbp/legacy/cpp/message_traits.h | 8 +- c/include/libsbp/legacy/signing.h | 38 +- c/include/libsbp/sbp_msg_type.h | 1 + c/include/libsbp/signing_macros.h | 63 +- c/include/libsbp/v4/sbp_msg.h | 12 + c/include/libsbp/v4/signing.h | 1 + .../libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h | 8 +- .../v4/signing/MSG_ECDSA_SIGNATURE_DEP.h | 226 + c/src/include/libsbp/internal/v4/signing.h | 20 + c/src/v4/signing.c | 162 + ...auto_check_sbp_signing_MsgEcdsaSignature.c | 1693 +------ ...o_check_sbp_signing_MsgEcdsaSignatureDep.c | 1956 ++++++++ c/test/check_main.c | 1 + c/test/check_main_legacy.c | 2 + c/test/check_suites.h | 1 + c/test/check_suites_legacy.h | 1 + ...uto_check_sbp_signing_MsgEcdsaSignature.cc | 1308 +----- ..._check_sbp_signing_MsgEcdsaSignatureDep.cc | 1389 ++++++ ...auto_check_sbp_signing_MsgEcdsaSignature.c | 1980 +------- ...o_check_sbp_signing_MsgEcdsaSignatureDep.c | 2376 ++++++++++ ...uto_check_sbp_signing_MsgEcdsaSignature.cc | 2035 +-------- ..._check_sbp_signing_MsgEcdsaSignatureDep.cc | 2335 ++++++++++ haskell/src/SwiftNav/SBP/Msg.hs | 6 + haskell/src/SwiftNav/SBP/Signing.hs | 67 +- .../com/swiftnav/sbp/client/MessageTable.java | 3 + .../sbp/signing/MsgEcdsaSignature.java | 18 +- .../sbp/signing/MsgEcdsaSignatureDep.java | 117 + ..._sbp_signing_MsgEcdsaSignatureDepTest.java | 2848 ++++++++++++ ...eck_sbp_signing_MsgEcdsaSignatureTest.java | 2425 +--------- javascript/sbp.bundle.js | 6 +- javascript/sbp/signing.js | 70 +- jsonschema/MsgEcdsaSignature.json | 2 + proto/signing.proto | 5 +- python/sbp/signing.py | 148 +- rust/sbp/src/messages/mod.rs | 26 + rust/sbp/src/messages/signing.rs | 187 +- ...o_check_sbp_signing_msg_ecdsa_signature.rs | 3965 +++------------- ...eck_sbp_signing_msg_ecdsa_signature_dep.rs | 4016 +++++++++++++++++ rust/sbp/tests/integration/main.rs | 1 + .../sbp/signing/test_MsgEcdsaSignature.yaml | 316 +- .../signing/test_MsgEcdsaSignatureDep.yaml | 294 ++ spec/yaml/swiftnav/sbp/signing.yaml | 57 + 43 files changed, 18399 insertions(+), 11831 deletions(-) create mode 100644 c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE_DEP.h create mode 100644 c/test/auto_check_sbp_signing_MsgEcdsaSignatureDep.c create mode 100644 c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc create mode 100644 c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignatureDep.c create mode 100644 c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc create mode 100644 java/src/com/swiftnav/sbp/signing/MsgEcdsaSignatureDep.java create mode 100644 java/test/auto_check_sbp_signing_MsgEcdsaSignatureDepTest.java create mode 100644 rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature_dep.rs create mode 100644 spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml diff --git a/c/include/libsbp/cpp/message_traits.h b/c/include/libsbp/cpp/message_traits.h index cce6c62829..0121f2d5cf 100644 --- a/c/include/libsbp/cpp/message_traits.h +++ b/c/include/libsbp/cpp/message_traits.h @@ -1475,6 +1475,43 @@ struct MessageTraits { } }; +template <> +struct MessageTraits { + static constexpr sbp_msg_type_t id = SbpMsgEcdsaSignatureDep; + static constexpr const char *name = "MSG_ECDSA_SIGNATURE_DEP"; + static const sbp_msg_ecdsa_signature_dep_t &get(const sbp_msg_t &msg) { + return msg.ecdsa_signature_dep; + } + static sbp_msg_ecdsa_signature_dep_t &get(sbp_msg_t &msg) { + return msg.ecdsa_signature_dep; + } + static void to_sbp_msg(const sbp_msg_ecdsa_signature_dep_t &msg, + sbp_msg_t *sbp_msg) { + sbp_msg->ecdsa_signature_dep = msg; + } + static sbp_msg_t to_sbp_msg(const sbp_msg_ecdsa_signature_dep_t &msg) { + sbp_msg_t sbp_msg; + sbp_msg.ecdsa_signature_dep = msg; + return sbp_msg; + } + static s8 send(sbp_state_t *state, u16 sender_id, + const sbp_msg_ecdsa_signature_dep_t &msg, + sbp_write_fn_t write) { + return sbp_msg_ecdsa_signature_dep_send(state, sender_id, &msg, write); + } + static s8 encode(uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_ecdsa_signature_dep_t &msg) { + return sbp_msg_ecdsa_signature_dep_encode(buf, len, n_written, &msg); + } + static s8 decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, + sbp_msg_ecdsa_signature_dep_t *msg) { + return sbp_msg_ecdsa_signature_dep_decode(buf, len, n_read, msg); + } + static size_t encoded_len(const sbp_msg_ecdsa_signature_dep_t &msg) { + return sbp_msg_ecdsa_signature_dep_encoded_len(&msg); + } +}; + template <> struct MessageTraits { static constexpr sbp_msg_type_t id = SbpMsgEcdsaSignature; diff --git a/c/include/libsbp/legacy/cpp/message_traits.h b/c/include/libsbp/legacy/cpp/message_traits.h index ce374357c3..fb08e3b946 100644 --- a/c/include/libsbp/legacy/cpp/message_traits.h +++ b/c/include/libsbp/legacy/cpp/message_traits.h @@ -1192,11 +1192,17 @@ struct MessageTraits { template<> -struct MessageTraits { +struct MessageTraits { static constexpr u16 id = 3078; }; +template<> +struct MessageTraits { + static constexpr u16 id = 3079; +}; + + template<> struct MessageTraits { static constexpr u16 id = 4097; diff --git a/c/include/libsbp/legacy/signing.h b/c/include/libsbp/legacy/signing.h index b22152b03f..b9e262f145 100644 --- a/c/include/libsbp/legacy/signing.h +++ b/c/include/libsbp/legacy/signing.h @@ -81,6 +81,42 @@ typedef struct SBP_ATTR_PACKED { `http(s)://certs.swiftnav.com/chain`. */ } msg_certificate_chain_t; +/** An ECDSA signature + * + * An ECDSA-256 signature using SHA-256 as the message digest algorithm. + */ + +typedef struct SBP_ATTR_PACKED { + u8 flags; /**< Describes the format of the `signed\_messages` + field below. */ + u8 stream_counter; /**< Signature message counter. Zero indexed and + incremented with each signature message. The + counter will not increment if this message was + in response to an on demand request. The + counter will roll over after 256 messages. + Upon connection, the value of the counter may + not initially be zero. */ + u8 on_demand_counter; /**< On demand message counter. Zero indexed and + incremented with each signature message sent + in response to an on demand message. The + counter will roll over after 256 messages. + Upon connection, the value of the counter may + not initially be zero. */ + u8 certificate_id[4]; /**< The last 4 bytes of the certificate's SHA-1 + fingerprint */ + u8 n_signature_bytes; /**< Number of bytes to use of the signature field. */ + u8 signature[72]; /**< DER encoded ECDSA signature for the messages + using SHA-256 as the digest algorithm. */ + u8 signed_messages[0]; /**< CRCs of the messages covered by this + signature. For Skylark, which delivers SBP + messages wrapped in Swift's proprietary RTCM + message, these are the 24-bit CRCs from the + RTCM message framing. For SBP only streams, + this will be 16-bit CRCs from the SBP framing. + See the `flags` field to determine the type of + CRCs covered. */ +} msg_ecdsa_signature_t; + /** An ECDSA signature * * An ECDSA-256 signature using SHA-256 as the message digest algorithm. @@ -114,7 +150,7 @@ typedef struct SBP_ATTR_PACKED { this will be 16-bit CRCs from the SBP framing. See the `flags` field to determine the type of CRCs covered. */ -} msg_ecdsa_signature_t; +} msg_ecdsa_signature_dep_t; typedef struct SBP_ATTR_PACKED { u8 n_msg; /**< Total number messages that make up the diff --git a/c/include/libsbp/sbp_msg_type.h b/c/include/libsbp/sbp_msg_type.h index 3661a08600..0e3e236f62 100644 --- a/c/include/libsbp/sbp_msg_type.h +++ b/c/include/libsbp/sbp_msg_type.h @@ -93,6 +93,7 @@ typedef enum { SbpMsgDopsDepA = SBP_MSG_DOPS_DEP_A, SbpMsgDops = SBP_MSG_DOPS, SbpMsgEcdsaCertificate = SBP_MSG_ECDSA_CERTIFICATE, + SbpMsgEcdsaSignatureDep = SBP_MSG_ECDSA_SIGNATURE_DEP, SbpMsgEcdsaSignature = SBP_MSG_ECDSA_SIGNATURE, SbpMsgEd25519CertificateDep = SBP_MSG_ED25519_CERTIFICATE_DEP, SbpMsgEd25519SignatureDepA = SBP_MSG_ED25519_SIGNATURE_DEP_A, diff --git a/c/include/libsbp/signing_macros.h b/c/include/libsbp/signing_macros.h index 2a71879f84..38c1a8a9f2 100644 --- a/c/include/libsbp/signing_macros.h +++ b/c/include/libsbp/signing_macros.h @@ -112,7 +112,7 @@ */ #define SBP_MSG_CERTIFICATE_CHAIN_ENCODED_LEN 135u -#define SBP_MSG_ECDSA_SIGNATURE 0x0C06 +#define SBP_MSG_ECDSA_SIGNATURE 0x0C07 #define SBP_ECDSA_SIGNATURE_CRC_TYPE_MASK (0x3u) #define SBP_ECDSA_SIGNATURE_CRC_TYPE_SHIFT (0u) #define SBP_ECDSA_SIGNATURE_CRC_TYPE_GET(flags) \ @@ -142,7 +142,7 @@ * msg_ecdsa_signature_t::signature (legacy API) before the maximum SBP message * size is exceeded */ -#define SBP_MSG_ECDSA_SIGNATURE_SIGNATURE_MAX 64u +#define SBP_MSG_ECDSA_SIGNATURE_SIGNATURE_MAX 72u /** * The maximum number of items that can be stored in @@ -150,7 +150,7 @@ * msg_ecdsa_signature_t::signed_messages (legacy API) before the maximum SBP * message size is exceeded */ -#define SBP_MSG_ECDSA_SIGNATURE_SIGNED_MESSAGES_MAX 184u +#define SBP_MSG_ECDSA_SIGNATURE_SIGNED_MESSAGES_MAX 175u /** * Encoded length of sbp_msg_ecdsa_signature_t (V4 API) and @@ -165,7 +165,62 @@ * See the documentation for libsbp for more details regarding the message * structure and its variable length component(s) */ -#define SBP_MSG_ECDSA_SIGNATURE_ENCODED_OVERHEAD 71u +#define SBP_MSG_ECDSA_SIGNATURE_ENCODED_OVERHEAD 80u + +#define SBP_MSG_ECDSA_SIGNATURE_DEP 0x0C06 +#define SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_MASK (0x3u) +#define SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_SHIFT (0u) +#define SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_GET(flags) \ + ((u8)((u8)((flags) >> SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_SHIFT) & \ + SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_MASK)) +#define SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_SET(flags, val) \ + do { \ + (flags) = (u8)((flags & (~(SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_MASK \ + << SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_SHIFT))) | \ + (((val) & (SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_MASK)) \ + << (SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_SHIFT))); \ + } while (0) + +#define SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_24_BIT_CRCS_FROM_RTCM_FRAMING (0) +#define SBP_ECDSA_SIGNATURE_DEP_CRC_TYPE_16_BIT_CRCS_FROM_SBP_FRAMING (1) +/** + * The maximum number of items that can be stored in + * sbp_msg_ecdsa_signature_dep_t::certificate_id (V4 API) or + * msg_ecdsa_signature_dep_t::certificate_id (legacy API) before the maximum SBP + * message size is exceeded + */ +#define SBP_MSG_ECDSA_SIGNATURE_DEP_CERTIFICATE_ID_MAX 4u + +/** + * The maximum number of items that can be stored in + * sbp_msg_ecdsa_signature_dep_t::signature (V4 API) or + * msg_ecdsa_signature_dep_t::signature (legacy API) before the maximum SBP + * message size is exceeded + */ +#define SBP_MSG_ECDSA_SIGNATURE_DEP_SIGNATURE_MAX 64u + +/** + * The maximum number of items that can be stored in + * sbp_msg_ecdsa_signature_dep_t::signed_messages (V4 API) or + * msg_ecdsa_signature_dep_t::signed_messages (legacy API) before the maximum + * SBP message size is exceeded + */ +#define SBP_MSG_ECDSA_SIGNATURE_DEP_SIGNED_MESSAGES_MAX 184u + +/** + * Encoded length of sbp_msg_ecdsa_signature_dep_t (V4 API) and + * msg_ecdsa_signature_dep_t (legacy API) + * + * This type is not fixed size and an instance of this message may be longer + * than the value indicated by this symbol. Users of the V4 API should call + * #sbp_msg_ecdsa_signature_dep_encoded_len to determine the actual size of an + * instance of this message. Users of the legacy API are required to track the + * encoded message length when interacting with the legacy type. + * + * See the documentation for libsbp for more details regarding the message + * structure and its variable length component(s) + */ +#define SBP_MSG_ECDSA_SIGNATURE_DEP_ENCODED_OVERHEAD 71u #define SBP_MSG_ED25519_CERTIFICATE_DEP 0x0C02 /** diff --git a/c/include/libsbp/v4/sbp_msg.h b/c/include/libsbp/v4/sbp_msg.h index 60a6fdd941..df258e2d5d 100644 --- a/c/include/libsbp/v4/sbp_msg.h +++ b/c/include/libsbp/v4/sbp_msg.h @@ -99,6 +99,7 @@ typedef union { sbp_msg_dops_dep_a_t dops_dep_a; sbp_msg_dops_t dops; sbp_msg_ecdsa_certificate_t ecdsa_certificate; + sbp_msg_ecdsa_signature_dep_t ecdsa_signature_dep; sbp_msg_ecdsa_signature_t ecdsa_signature; sbp_msg_ed25519_certificate_dep_t ed25519_certificate_dep; sbp_msg_ed25519_signature_dep_a_t ed25519_signature_dep_a; @@ -419,6 +420,9 @@ static inline s8 sbp_message_encode(uint8_t *buf, uint8_t len, case SbpMsgEcdsaCertificate: return sbp_msg_ecdsa_certificate_encode(buf, len, n_written, &msg->ecdsa_certificate); + case SbpMsgEcdsaSignatureDep: + return sbp_msg_ecdsa_signature_dep_encode(buf, len, n_written, + &msg->ecdsa_signature_dep); case SbpMsgEcdsaSignature: return sbp_msg_ecdsa_signature_encode(buf, len, n_written, &msg->ecdsa_signature); @@ -1065,6 +1069,9 @@ static inline s8 sbp_message_decode(const uint8_t *buf, uint8_t len, case SbpMsgEcdsaCertificate: return sbp_msg_ecdsa_certificate_decode(buf, len, n_read, &msg->ecdsa_certificate); + case SbpMsgEcdsaSignatureDep: + return sbp_msg_ecdsa_signature_dep_decode(buf, len, n_read, + &msg->ecdsa_signature_dep); case SbpMsgEcdsaSignature: return sbp_msg_ecdsa_signature_decode(buf, len, n_read, &msg->ecdsa_signature); @@ -1681,6 +1688,8 @@ static inline size_t sbp_message_encoded_len(sbp_msg_type_t msg_type, return sbp_msg_dops_encoded_len(&msg->dops); case SbpMsgEcdsaCertificate: return sbp_msg_ecdsa_certificate_encoded_len(&msg->ecdsa_certificate); + case SbpMsgEcdsaSignatureDep: + return sbp_msg_ecdsa_signature_dep_encoded_len(&msg->ecdsa_signature_dep); case SbpMsgEcdsaSignature: return sbp_msg_ecdsa_signature_encoded_len(&msg->ecdsa_signature); case SbpMsgEd25519CertificateDep: @@ -2226,6 +2235,9 @@ static inline int sbp_message_cmp(sbp_msg_type_t msg_type, const sbp_msg_t *a, case SbpMsgEcdsaCertificate: return sbp_msg_ecdsa_certificate_cmp(&a->ecdsa_certificate, &b->ecdsa_certificate); + case SbpMsgEcdsaSignatureDep: + return sbp_msg_ecdsa_signature_dep_cmp(&a->ecdsa_signature_dep, + &b->ecdsa_signature_dep); case SbpMsgEcdsaSignature: return sbp_msg_ecdsa_signature_cmp(&a->ecdsa_signature, &b->ecdsa_signature); diff --git a/c/include/libsbp/v4/signing.h b/c/include/libsbp/v4/signing.h index 66fb0bb623..d3d68dff56 100644 --- a/c/include/libsbp/v4/signing.h +++ b/c/include/libsbp/v4/signing.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h b/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h index 4b48de9a1a..42693681df 100644 --- a/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h +++ b/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h @@ -70,7 +70,13 @@ typedef struct { u8 certificate_id[SBP_MSG_ECDSA_SIGNATURE_CERTIFICATE_ID_MAX]; /** - * ECDSA signature for the messages using SHA-256 as the digest algorithm. + * Number of bytes to use of the signature field. + */ + u8 n_signature_bytes; + + /** + * DER encoded ECDSA signature for the messages using SHA-256 as the digest + * algorithm. */ u8 signature[SBP_MSG_ECDSA_SIGNATURE_SIGNATURE_MAX]; diff --git a/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE_DEP.h b/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE_DEP.h new file mode 100644 index 0000000000..5d35e33202 --- /dev/null +++ b/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE_DEP.h @@ -0,0 +1,226 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +/***************************************************************************** + * Automatically generated from yaml/swiftnav/sbp/signing.yaml + * with generate.py. Please do not hand edit! + *****************************************************************************/ + +#ifndef LIBSBP_V4_SIGNING_MSG_ECDSA_SIGNATURE_DEP_H +#define LIBSBP_V4_SIGNING_MSG_ECDSA_SIGNATURE_DEP_H + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** + * + * SBP_MSG_ECDSA_SIGNATURE_DEP + * + *****************************************************************************/ +/** An ECDSA signature + * + * An ECDSA-256 signature using SHA-256 as the message digest algorithm. + */ +typedef struct { + /** + * Describes the format of the `signed\_messages` field below. + */ + u8 flags; + + /** + * Signature message counter. Zero indexed and incremented with each signature + * message. The counter will not increment if this message was in response to + * an on demand request. The counter will roll over after 256 messages. Upon + * connection, the value of the counter may not initially be zero. + */ + u8 stream_counter; + + /** + * On demand message counter. Zero indexed and incremented with each signature + * message sent in response to an on demand message. The counter will roll + * over after 256 messages. Upon connection, the value of the counter may not + * initially be zero. + */ + u8 on_demand_counter; + + /** + * The last 4 bytes of the certificate's SHA-1 fingerprint + */ + u8 certificate_id[SBP_MSG_ECDSA_SIGNATURE_DEP_CERTIFICATE_ID_MAX]; + + /** + * ECDSA signature for the messages using SHA-256 as the digest algorithm. + */ + u8 signature[SBP_MSG_ECDSA_SIGNATURE_DEP_SIGNATURE_MAX]; + + /** + * CRCs of the messages covered by this signature. For Skylark, which + * delivers SBP messages wrapped in Swift's proprietary RTCM message, these + * are the 24-bit CRCs from the RTCM message framing. For SBP only streams, + * this will be 16-bit CRCs from the SBP framing. See the `flags` field to + * determine the type of CRCs covered. + */ + u8 signed_messages[SBP_MSG_ECDSA_SIGNATURE_DEP_SIGNED_MESSAGES_MAX]; + /** + * Number of elements in signed_messages + * + * When sending a message fill in this field with the number elements set in + * signed_messages before calling an appropriate libsbp send function + * + * When receiving a message query this field for the number of elements in + * signed_messages. The value of any elements beyond the index specified in + * this field is undefined + */ + u8 n_signed_messages; +} sbp_msg_ecdsa_signature_dep_t; + +/** + * Get encoded size of an instance of sbp_msg_ecdsa_signature_dep_t + * + * @param msg sbp_msg_ecdsa_signature_dep_t instance + * @return Length of on-wire representation + */ +static inline size_t sbp_msg_ecdsa_signature_dep_encoded_len( + const sbp_msg_ecdsa_signature_dep_t *msg) { + return SBP_MSG_ECDSA_SIGNATURE_DEP_ENCODED_OVERHEAD + + (msg->n_signed_messages * SBP_ENCODED_LEN_U8); +} + +/** + * Encode an instance of sbp_msg_ecdsa_signature_dep_t to wire representation + * + * This function encodes the given instance in to the user provided buffer. The + * buffer provided to this function must be large enough to store the encoded + * message otherwise it will return SBP_ENCODE_ERROR without writing anything to + * the buffer. + * + * Specify the length of the destination buffer in the \p len parameter. If + * non-null the number of bytes written to the buffer will be returned in \p + * n_written. + * + * @param buf Destination buffer + * @param len Length of \p buf + * @param n_written If not null, on success will be set to the number of bytes + * written to \p buf + * @param msg Instance of sbp_msg_ecdsa_signature_dep_t to encode + * @return SBP_OK on success, or other libsbp error code + */ +SBP_EXPORT s8 sbp_msg_ecdsa_signature_dep_encode( + uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_ecdsa_signature_dep_t *msg); + +/** + * Decode an instance of sbp_msg_ecdsa_signature_dep_t from wire representation + * + * This function decodes the wire representation of a + * sbp_msg_ecdsa_signature_dep_t message to the given instance. The caller must + * specify the length of the buffer in the \p len parameter. If non-null the + * number of bytes read from the buffer will be returned in \p n_read. + * + * @param buf Wire representation of the sbp_msg_ecdsa_signature_dep_t instance + * @param len Length of \p buf + * @param n_read If not null, on success will be set to the number of bytes read + * from \p buf + * @param msg Destination + * @return SBP_OK on success, or other libsbp error code + */ +SBP_EXPORT s8 sbp_msg_ecdsa_signature_dep_decode( + const uint8_t *buf, uint8_t len, uint8_t *n_read, + sbp_msg_ecdsa_signature_dep_t *msg); +/** + * Send an instance of sbp_msg_ecdsa_signature_dep_t with the given write + * function + * + * An equivalent of #sbp_message_send which operates specifically on + * sbp_msg_ecdsa_signature_dep_t + * + * The given message will be encoded to wire representation and passed in to the + * given write function callback. The write callback will be called several + * times for each invocation of this function. + * + * @param s SBP state + * @param sender_id SBP sender id + * @param msg Message to send + * @param write Write function + * @return SBP_OK on success, or other libsbp error code + */ +SBP_EXPORT s8 sbp_msg_ecdsa_signature_dep_send( + sbp_state_t *s, u16 sender_id, const sbp_msg_ecdsa_signature_dep_t *msg, + sbp_write_fn_t write); + +/** + * Compare two instances of sbp_msg_ecdsa_signature_dep_t + * + * The two instances will be compared and a value returned consistent with the + * return codes of comparison functions from the C standard library + * + * 0 will be returned if \p a and \p b are considered equal + * A value less than 0 will be returned if \p a is considered to be less than \p + * b A value greater than 0 will be returned if \p b is considered to be greater + * than \p b + * + * @param a sbp_msg_ecdsa_signature_dep_t instance + * @param b sbp_msg_ecdsa_signature_dep_t instance + * @return 0, <0, >0 + */ +SBP_EXPORT int sbp_msg_ecdsa_signature_dep_cmp( + const sbp_msg_ecdsa_signature_dep_t *a, + const sbp_msg_ecdsa_signature_dep_t *b); + +#ifdef __cplusplus +} + +static inline bool operator==(const sbp_msg_ecdsa_signature_dep_t &lhs, + const sbp_msg_ecdsa_signature_dep_t &rhs) { + return sbp_msg_ecdsa_signature_dep_cmp(&lhs, &rhs) == 0; +} + +static inline bool operator!=(const sbp_msg_ecdsa_signature_dep_t &lhs, + const sbp_msg_ecdsa_signature_dep_t &rhs) { + return sbp_msg_ecdsa_signature_dep_cmp(&lhs, &rhs) != 0; +} + +static inline bool operator<(const sbp_msg_ecdsa_signature_dep_t &lhs, + const sbp_msg_ecdsa_signature_dep_t &rhs) { + return sbp_msg_ecdsa_signature_dep_cmp(&lhs, &rhs) < 0; +} + +static inline bool operator<=(const sbp_msg_ecdsa_signature_dep_t &lhs, + const sbp_msg_ecdsa_signature_dep_t &rhs) { + return sbp_msg_ecdsa_signature_dep_cmp(&lhs, &rhs) <= 0; +} + +static inline bool operator>(const sbp_msg_ecdsa_signature_dep_t &lhs, + const sbp_msg_ecdsa_signature_dep_t &rhs) { + return sbp_msg_ecdsa_signature_dep_cmp(&lhs, &rhs) > 0; +} + +static inline bool operator>=(const sbp_msg_ecdsa_signature_dep_t &lhs, + const sbp_msg_ecdsa_signature_dep_t &rhs) { + return sbp_msg_ecdsa_signature_dep_cmp(&lhs, &rhs) >= 0; +} + +#endif // ifdef __cplusplus + +#endif /* LIBSBP_V4_SIGNING_MSG_ECDSA_SIGNATURE_DEP_H */ diff --git a/c/src/include/libsbp/internal/v4/signing.h b/c/src/include/libsbp/internal/v4/signing.h index c88dea60ea..fe202c89a3 100644 --- a/c/src/include/libsbp/internal/v4/signing.h +++ b/c/src/include/libsbp/internal/v4/signing.h @@ -106,6 +106,26 @@ bool sbp_msg_ecdsa_signature_encode_internal( bool sbp_msg_ecdsa_signature_decode_internal(sbp_decode_ctx_t *ctx, sbp_msg_ecdsa_signature_t *msg); +/** + * Internal function to encode an SBP type to a buffer + * + * @param ctx Encode context + * @param msg SBP type instance + * @return true on success, false otherwise + */ +bool sbp_msg_ecdsa_signature_dep_encode_internal( + sbp_encode_ctx_t *ctx, const sbp_msg_ecdsa_signature_dep_t *msg); + +/** + * Internal function to decode an SBP type from a buffer + * + * @param ctx Decode context + * @param msg SBP type instance + * @return true on success, false otherwise + */ +bool sbp_msg_ecdsa_signature_dep_decode_internal( + sbp_decode_ctx_t *ctx, sbp_msg_ecdsa_signature_dep_t *msg); + /** * Internal function to encode an SBP type to a buffer * diff --git a/c/src/v4/signing.c b/c/src/v4/signing.c index d1c45d2df5..f7090b091f 100644 --- a/c/src/v4/signing.c +++ b/c/src/v4/signing.c @@ -428,6 +428,9 @@ bool sbp_msg_ecdsa_signature_encode_internal( return false; } } + if (!sbp_u8_encode(ctx, &msg->n_signature_bytes)) { + return false; + } for (size_t i = 0; i < SBP_MSG_ECDSA_SIGNATURE_SIGNATURE_MAX; i++) { if (!sbp_u8_encode(ctx, &msg->signature[i])) { return false; @@ -472,6 +475,9 @@ bool sbp_msg_ecdsa_signature_decode_internal(sbp_decode_ctx_t *ctx, return false; } } + if (!sbp_u8_decode(ctx, &msg->n_signature_bytes)) { + return false; + } for (uint8_t i = 0; i < SBP_MSG_ECDSA_SIGNATURE_SIGNATURE_MAX; i++) { if (!sbp_u8_decode(ctx, &msg->signature[i])) { return false; @@ -544,6 +550,11 @@ int sbp_msg_ecdsa_signature_cmp(const sbp_msg_ecdsa_signature_t *a, return ret; } + ret = sbp_u8_cmp(&a->n_signature_bytes, &b->n_signature_bytes); + if (ret != 0) { + return ret; + } + for (uint8_t i = 0; ret == 0 && i < SBP_MSG_ECDSA_SIGNATURE_SIGNATURE_MAX; i++) { ret = sbp_u8_cmp(&a->signature[i], &b->signature[i]); @@ -562,6 +573,157 @@ int sbp_msg_ecdsa_signature_cmp(const sbp_msg_ecdsa_signature_t *a, return ret; } +bool sbp_msg_ecdsa_signature_dep_encode_internal( + sbp_encode_ctx_t *ctx, const sbp_msg_ecdsa_signature_dep_t *msg) { + if (!sbp_u8_encode(ctx, &msg->flags)) { + return false; + } + if (!sbp_u8_encode(ctx, &msg->stream_counter)) { + return false; + } + if (!sbp_u8_encode(ctx, &msg->on_demand_counter)) { + return false; + } + for (size_t i = 0; i < SBP_MSG_ECDSA_SIGNATURE_DEP_CERTIFICATE_ID_MAX; i++) { + if (!sbp_u8_encode(ctx, &msg->certificate_id[i])) { + return false; + } + } + for (size_t i = 0; i < SBP_MSG_ECDSA_SIGNATURE_DEP_SIGNATURE_MAX; i++) { + if (!sbp_u8_encode(ctx, &msg->signature[i])) { + return false; + } + } + for (size_t i = 0; i < msg->n_signed_messages; i++) { + if (!sbp_u8_encode(ctx, &msg->signed_messages[i])) { + return false; + } + } + return true; +} + +s8 sbp_msg_ecdsa_signature_dep_encode( + uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_ecdsa_signature_dep_t *msg) { + sbp_encode_ctx_t ctx; + ctx.buf = buf; + ctx.buf_len = len; + ctx.offset = 0; + if (!sbp_msg_ecdsa_signature_dep_encode_internal(&ctx, msg)) { + return SBP_ENCODE_ERROR; + } + if (n_written != NULL) { + *n_written = (uint8_t)ctx.offset; + } + return SBP_OK; +} + +bool sbp_msg_ecdsa_signature_dep_decode_internal( + sbp_decode_ctx_t *ctx, sbp_msg_ecdsa_signature_dep_t *msg) { + if (!sbp_u8_decode(ctx, &msg->flags)) { + return false; + } + if (!sbp_u8_decode(ctx, &msg->stream_counter)) { + return false; + } + if (!sbp_u8_decode(ctx, &msg->on_demand_counter)) { + return false; + } + for (uint8_t i = 0; i < SBP_MSG_ECDSA_SIGNATURE_DEP_CERTIFICATE_ID_MAX; i++) { + if (!sbp_u8_decode(ctx, &msg->certificate_id[i])) { + return false; + } + } + for (uint8_t i = 0; i < SBP_MSG_ECDSA_SIGNATURE_DEP_SIGNATURE_MAX; i++) { + if (!sbp_u8_decode(ctx, &msg->signature[i])) { + return false; + } + } + msg->n_signed_messages = + (uint8_t)((ctx->buf_len - ctx->offset) / SBP_ENCODED_LEN_U8); + for (uint8_t i = 0; i < msg->n_signed_messages; i++) { + if (!sbp_u8_decode(ctx, &msg->signed_messages[i])) { + return false; + } + } + return true; +} + +s8 sbp_msg_ecdsa_signature_dep_decode(const uint8_t *buf, uint8_t len, + uint8_t *n_read, + sbp_msg_ecdsa_signature_dep_t *msg) { + sbp_decode_ctx_t ctx; + ctx.buf = buf; + ctx.buf_len = len; + ctx.offset = 0; + if (!sbp_msg_ecdsa_signature_dep_decode_internal(&ctx, msg)) { + return SBP_DECODE_ERROR; + } + if (n_read != NULL) { + *n_read = (uint8_t)ctx.offset; + } + return SBP_OK; +} + +s8 sbp_msg_ecdsa_signature_dep_send(sbp_state_t *s, u16 sender_id, + const sbp_msg_ecdsa_signature_dep_t *msg, + sbp_write_fn_t write) { + uint8_t payload[SBP_MAX_PAYLOAD_LEN]; + uint8_t payload_len; + s8 ret = sbp_msg_ecdsa_signature_dep_encode(payload, sizeof(payload), + &payload_len, msg); + if (ret != SBP_OK) { + return ret; + } + return sbp_payload_send(s, SBP_MSG_ECDSA_SIGNATURE_DEP, sender_id, + payload_len, payload, write); +} + +int sbp_msg_ecdsa_signature_dep_cmp(const sbp_msg_ecdsa_signature_dep_t *a, + const sbp_msg_ecdsa_signature_dep_t *b) { + int ret = 0; + + ret = sbp_u8_cmp(&a->flags, &b->flags); + if (ret != 0) { + return ret; + } + + ret = sbp_u8_cmp(&a->stream_counter, &b->stream_counter); + if (ret != 0) { + return ret; + } + + ret = sbp_u8_cmp(&a->on_demand_counter, &b->on_demand_counter); + if (ret != 0) { + return ret; + } + + for (uint8_t i = 0; + ret == 0 && i < SBP_MSG_ECDSA_SIGNATURE_DEP_CERTIFICATE_ID_MAX; i++) { + ret = sbp_u8_cmp(&a->certificate_id[i], &b->certificate_id[i]); + } + if (ret != 0) { + return ret; + } + + for (uint8_t i = 0; ret == 0 && i < SBP_MSG_ECDSA_SIGNATURE_DEP_SIGNATURE_MAX; + i++) { + ret = sbp_u8_cmp(&a->signature[i], &b->signature[i]); + } + if (ret != 0) { + return ret; + } + + ret = sbp_u8_cmp(&a->n_signed_messages, &b->n_signed_messages); + for (uint8_t i = 0; ret == 0 && i < a->n_signed_messages; i++) { + ret = sbp_u8_cmp(&a->signed_messages[i], &b->signed_messages[i]); + } + if (ret != 0) { + return ret; + } + return ret; +} + bool sbp_msg_ed25519_certificate_dep_encode_internal( sbp_encode_ctx_t *ctx, const sbp_msg_ed25519_certificate_dep_t *msg) { if (!sbp_u8_encode(ctx, &msg->n_msg)) { diff --git a/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c b/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c index 7e6d83e4e6..75964b051f 100644 --- a/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c +++ b/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c @@ -94,25 +94,12 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { &DUMMY_MEMORY_FOR_CALLBACKS, &n); u8 encoded_frame[] = { - 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, - 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, - 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, - 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, - 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, - 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, 130, - 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, - 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, - 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, - 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, - 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, - 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, - 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, - 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, - 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, - 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, - 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, - 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, - 148, 35, 61, 41, 67, 46, 127, 75, 174, 97, 172, + 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, }; dummy_reset(); @@ -130,7 +117,9 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { test_msg.ecdsa_signature.flags = 0; - test_msg.ecdsa_signature.n_signed_messages = 184; + test_msg.ecdsa_signature.n_signature_bytes = 73; + + test_msg.ecdsa_signature.n_signed_messages = 3; test_msg.ecdsa_signature.on_demand_counter = 2; @@ -150,485 +139,141 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { test_msg.ecdsa_signature.signature[7] = 7; - test_msg.ecdsa_signature.signature[8] = 0; - - test_msg.ecdsa_signature.signature[9] = 1; - - test_msg.ecdsa_signature.signature[10] = 2; - - test_msg.ecdsa_signature.signature[11] = 3; - - test_msg.ecdsa_signature.signature[12] = 4; - - test_msg.ecdsa_signature.signature[13] = 5; - - test_msg.ecdsa_signature.signature[14] = 6; - - test_msg.ecdsa_signature.signature[15] = 7; - - test_msg.ecdsa_signature.signature[16] = 0; - - test_msg.ecdsa_signature.signature[17] = 1; - - test_msg.ecdsa_signature.signature[18] = 2; - - test_msg.ecdsa_signature.signature[19] = 3; - - test_msg.ecdsa_signature.signature[20] = 4; - - test_msg.ecdsa_signature.signature[21] = 5; - - test_msg.ecdsa_signature.signature[22] = 6; - - test_msg.ecdsa_signature.signature[23] = 7; - - test_msg.ecdsa_signature.signature[24] = 0; - - test_msg.ecdsa_signature.signature[25] = 1; - - test_msg.ecdsa_signature.signature[26] = 2; - - test_msg.ecdsa_signature.signature[27] = 3; - - test_msg.ecdsa_signature.signature[28] = 4; - - test_msg.ecdsa_signature.signature[29] = 5; - - test_msg.ecdsa_signature.signature[30] = 6; - - test_msg.ecdsa_signature.signature[31] = 7; - - test_msg.ecdsa_signature.signature[32] = 0; - - test_msg.ecdsa_signature.signature[33] = 1; - - test_msg.ecdsa_signature.signature[34] = 2; - - test_msg.ecdsa_signature.signature[35] = 3; - - test_msg.ecdsa_signature.signature[36] = 4; - - test_msg.ecdsa_signature.signature[37] = 5; - - test_msg.ecdsa_signature.signature[38] = 6; - - test_msg.ecdsa_signature.signature[39] = 7; - - test_msg.ecdsa_signature.signature[40] = 0; - - test_msg.ecdsa_signature.signature[41] = 1; - - test_msg.ecdsa_signature.signature[42] = 2; - - test_msg.ecdsa_signature.signature[43] = 3; - - test_msg.ecdsa_signature.signature[44] = 4; - - test_msg.ecdsa_signature.signature[45] = 5; - - test_msg.ecdsa_signature.signature[46] = 6; - - test_msg.ecdsa_signature.signature[47] = 7; - - test_msg.ecdsa_signature.signature[48] = 0; - - test_msg.ecdsa_signature.signature[49] = 1; - - test_msg.ecdsa_signature.signature[50] = 2; - - test_msg.ecdsa_signature.signature[51] = 3; - - test_msg.ecdsa_signature.signature[52] = 4; - - test_msg.ecdsa_signature.signature[53] = 5; - - test_msg.ecdsa_signature.signature[54] = 6; - - test_msg.ecdsa_signature.signature[55] = 7; - - test_msg.ecdsa_signature.signature[56] = 0; - - test_msg.ecdsa_signature.signature[57] = 1; - - test_msg.ecdsa_signature.signature[58] = 2; - - test_msg.ecdsa_signature.signature[59] = 3; - - test_msg.ecdsa_signature.signature[60] = 4; - - test_msg.ecdsa_signature.signature[61] = 5; - - test_msg.ecdsa_signature.signature[62] = 6; - - test_msg.ecdsa_signature.signature[63] = 7; - - test_msg.ecdsa_signature.signed_messages[0] = 10; - - test_msg.ecdsa_signature.signed_messages[1] = 21; - - test_msg.ecdsa_signature.signed_messages[2] = 23; - - test_msg.ecdsa_signature.signed_messages[3] = 63; - - test_msg.ecdsa_signature.signed_messages[4] = 140; - - test_msg.ecdsa_signature.signed_messages[5] = 37; - - test_msg.ecdsa_signature.signed_messages[6] = 130; - - test_msg.ecdsa_signature.signed_messages[7] = 106; - - test_msg.ecdsa_signature.signed_messages[8] = 28; - - test_msg.ecdsa_signature.signed_messages[9] = 40; - - test_msg.ecdsa_signature.signed_messages[10] = 165; - - test_msg.ecdsa_signature.signed_messages[11] = 179; - - test_msg.ecdsa_signature.signed_messages[12] = 73; - - test_msg.ecdsa_signature.signed_messages[13] = 178; - - test_msg.ecdsa_signature.signed_messages[14] = 60; - - test_msg.ecdsa_signature.signed_messages[15] = 126; - - test_msg.ecdsa_signature.signed_messages[16] = 114; - - test_msg.ecdsa_signature.signed_messages[17] = 78; - - test_msg.ecdsa_signature.signed_messages[18] = 113; - - test_msg.ecdsa_signature.signed_messages[19] = 27; - - test_msg.ecdsa_signature.signed_messages[20] = 95; - - test_msg.ecdsa_signature.signed_messages[21] = 3; - - test_msg.ecdsa_signature.signed_messages[22] = 62; - - test_msg.ecdsa_signature.signed_messages[23] = 104; - - test_msg.ecdsa_signature.signed_messages[24] = 145; - - test_msg.ecdsa_signature.signed_messages[25] = 96; - - test_msg.ecdsa_signature.signed_messages[26] = 19; - - test_msg.ecdsa_signature.signed_messages[27] = 92; - - test_msg.ecdsa_signature.signed_messages[28] = 123; - - test_msg.ecdsa_signature.signed_messages[29] = 14; - - test_msg.ecdsa_signature.signed_messages[30] = 90; - - test_msg.ecdsa_signature.signed_messages[31] = 153; - - test_msg.ecdsa_signature.signed_messages[32] = 183; + test_msg.ecdsa_signature.signature[8] = 8; - test_msg.ecdsa_signature.signed_messages[33] = 9; + test_msg.ecdsa_signature.signature[9] = 9; - test_msg.ecdsa_signature.signed_messages[34] = 72; + test_msg.ecdsa_signature.signature[10] = 10; - test_msg.ecdsa_signature.signed_messages[35] = 81; + test_msg.ecdsa_signature.signature[11] = 11; - test_msg.ecdsa_signature.signed_messages[36] = 118; + test_msg.ecdsa_signature.signature[12] = 12; - test_msg.ecdsa_signature.signed_messages[37] = 112; + test_msg.ecdsa_signature.signature[13] = 13; - test_msg.ecdsa_signature.signed_messages[38] = 124; + test_msg.ecdsa_signature.signature[14] = 14; - test_msg.ecdsa_signature.signed_messages[39] = 16; + test_msg.ecdsa_signature.signature[15] = 15; - test_msg.ecdsa_signature.signed_messages[40] = 182; + test_msg.ecdsa_signature.signature[16] = 16; - test_msg.ecdsa_signature.signed_messages[41] = 76; + test_msg.ecdsa_signature.signature[17] = 17; - test_msg.ecdsa_signature.signed_messages[42] = 146; + test_msg.ecdsa_signature.signature[18] = 18; - test_msg.ecdsa_signature.signed_messages[43] = 115; + test_msg.ecdsa_signature.signature[19] = 19; - test_msg.ecdsa_signature.signed_messages[44] = 58; + test_msg.ecdsa_signature.signature[20] = 20; - test_msg.ecdsa_signature.signed_messages[45] = 144; + test_msg.ecdsa_signature.signature[21] = 21; - test_msg.ecdsa_signature.signed_messages[46] = 17; + test_msg.ecdsa_signature.signature[22] = 22; - test_msg.ecdsa_signature.signed_messages[47] = 105; + test_msg.ecdsa_signature.signature[23] = 23; - test_msg.ecdsa_signature.signed_messages[48] = 66; + test_msg.ecdsa_signature.signature[24] = 24; - test_msg.ecdsa_signature.signed_messages[49] = 31; + test_msg.ecdsa_signature.signature[25] = 25; - test_msg.ecdsa_signature.signed_messages[50] = 135; + test_msg.ecdsa_signature.signature[26] = 26; - test_msg.ecdsa_signature.signed_messages[51] = 54; + test_msg.ecdsa_signature.signature[27] = 27; - test_msg.ecdsa_signature.signed_messages[52] = 100; + test_msg.ecdsa_signature.signature[28] = 28; - test_msg.ecdsa_signature.signed_messages[53] = 84; + test_msg.ecdsa_signature.signature[29] = 29; - test_msg.ecdsa_signature.signed_messages[54] = 181; + test_msg.ecdsa_signature.signature[30] = 30; - test_msg.ecdsa_signature.signed_messages[55] = 103; + test_msg.ecdsa_signature.signature[31] = 31; - test_msg.ecdsa_signature.signed_messages[56] = 11; + test_msg.ecdsa_signature.signature[32] = 32; - test_msg.ecdsa_signature.signed_messages[57] = 88; + test_msg.ecdsa_signature.signature[33] = 33; - test_msg.ecdsa_signature.signed_messages[58] = 133; + test_msg.ecdsa_signature.signature[34] = 34; - test_msg.ecdsa_signature.signed_messages[59] = 155; + test_msg.ecdsa_signature.signature[35] = 35; - test_msg.ecdsa_signature.signed_messages[60] = 167; + test_msg.ecdsa_signature.signature[36] = 36; - test_msg.ecdsa_signature.signed_messages[61] = 173; + test_msg.ecdsa_signature.signature[37] = 37; - test_msg.ecdsa_signature.signed_messages[62] = 143; + test_msg.ecdsa_signature.signature[38] = 38; - test_msg.ecdsa_signature.signed_messages[63] = 86; + test_msg.ecdsa_signature.signature[39] = 39; - test_msg.ecdsa_signature.signed_messages[64] = 158; + test_msg.ecdsa_signature.signature[40] = 40; - test_msg.ecdsa_signature.signed_messages[65] = 20; + test_msg.ecdsa_signature.signature[41] = 41; - test_msg.ecdsa_signature.signed_messages[66] = 168; + test_msg.ecdsa_signature.signature[42] = 42; - test_msg.ecdsa_signature.signed_messages[67] = 132; + test_msg.ecdsa_signature.signature[43] = 43; - test_msg.ecdsa_signature.signed_messages[68] = 141; + test_msg.ecdsa_signature.signature[44] = 44; - test_msg.ecdsa_signature.signed_messages[69] = 102; + test_msg.ecdsa_signature.signature[45] = 45; - test_msg.ecdsa_signature.signed_messages[70] = 50; + test_msg.ecdsa_signature.signature[46] = 46; - test_msg.ecdsa_signature.signed_messages[71] = 48; + test_msg.ecdsa_signature.signature[47] = 47; - test_msg.ecdsa_signature.signed_messages[72] = 71; + test_msg.ecdsa_signature.signature[48] = 48; - test_msg.ecdsa_signature.signed_messages[73] = 147; + test_msg.ecdsa_signature.signature[49] = 49; - test_msg.ecdsa_signature.signed_messages[74] = 53; + test_msg.ecdsa_signature.signature[50] = 50; - test_msg.ecdsa_signature.signed_messages[75] = 87; + test_msg.ecdsa_signature.signature[51] = 51; - test_msg.ecdsa_signature.signed_messages[76] = 1; + test_msg.ecdsa_signature.signature[52] = 52; - test_msg.ecdsa_signature.signed_messages[77] = 108; + test_msg.ecdsa_signature.signature[53] = 53; - test_msg.ecdsa_signature.signed_messages[78] = 138; + test_msg.ecdsa_signature.signature[54] = 54; - test_msg.ecdsa_signature.signed_messages[79] = 36; + test_msg.ecdsa_signature.signature[55] = 55; - test_msg.ecdsa_signature.signed_messages[80] = 134; + test_msg.ecdsa_signature.signature[56] = 56; - test_msg.ecdsa_signature.signed_messages[81] = 139; + test_msg.ecdsa_signature.signature[57] = 57; - test_msg.ecdsa_signature.signed_messages[82] = 163; + test_msg.ecdsa_signature.signature[58] = 58; - test_msg.ecdsa_signature.signed_messages[83] = 82; + test_msg.ecdsa_signature.signature[59] = 59; - test_msg.ecdsa_signature.signed_messages[84] = 43; + test_msg.ecdsa_signature.signature[60] = 60; - test_msg.ecdsa_signature.signed_messages[85] = 52; + test_msg.ecdsa_signature.signature[61] = 61; - test_msg.ecdsa_signature.signed_messages[86] = 150; + test_msg.ecdsa_signature.signature[62] = 62; - test_msg.ecdsa_signature.signed_messages[87] = 12; + test_msg.ecdsa_signature.signature[63] = 63; - test_msg.ecdsa_signature.signed_messages[88] = 30; + test_msg.ecdsa_signature.signature[64] = 64; - test_msg.ecdsa_signature.signed_messages[89] = 110; + test_msg.ecdsa_signature.signature[65] = 65; - test_msg.ecdsa_signature.signed_messages[90] = 156; + test_msg.ecdsa_signature.signature[66] = 66; - test_msg.ecdsa_signature.signed_messages[91] = 107; + test_msg.ecdsa_signature.signature[67] = 67; - test_msg.ecdsa_signature.signed_messages[92] = 120; + test_msg.ecdsa_signature.signature[68] = 68; - test_msg.ecdsa_signature.signed_messages[93] = 91; + test_msg.ecdsa_signature.signature[69] = 69; - test_msg.ecdsa_signature.signed_messages[94] = 122; + test_msg.ecdsa_signature.signature[70] = 70; - test_msg.ecdsa_signature.signed_messages[95] = 69; + test_msg.ecdsa_signature.signature[71] = 71; - test_msg.ecdsa_signature.signed_messages[96] = 164; + test_msg.ecdsa_signature.signature[72] = 72; - test_msg.ecdsa_signature.signed_messages[97] = 170; - - test_msg.ecdsa_signature.signed_messages[98] = 116; - - test_msg.ecdsa_signature.signed_messages[99] = 25; - - test_msg.ecdsa_signature.signed_messages[100] = 94; - - test_msg.ecdsa_signature.signed_messages[101] = 5; - - test_msg.ecdsa_signature.signed_messages[102] = 22; - - test_msg.ecdsa_signature.signed_messages[103] = 24; - - test_msg.ecdsa_signature.signed_messages[104] = 162; - - test_msg.ecdsa_signature.signed_messages[105] = 175; - - test_msg.ecdsa_signature.signed_messages[106] = 38; - - test_msg.ecdsa_signature.signed_messages[107] = 157; - - test_msg.ecdsa_signature.signed_messages[108] = 98; - - test_msg.ecdsa_signature.signed_messages[109] = 44; - - test_msg.ecdsa_signature.signed_messages[110] = 160; - - test_msg.ecdsa_signature.signed_messages[111] = 47; - - test_msg.ecdsa_signature.signed_messages[112] = 97; - - test_msg.ecdsa_signature.signed_messages[113] = 142; - - test_msg.ecdsa_signature.signed_messages[114] = 8; - - test_msg.ecdsa_signature.signed_messages[115] = 74; - - test_msg.ecdsa_signature.signed_messages[116] = 13; - - test_msg.ecdsa_signature.signed_messages[117] = 177; - - test_msg.ecdsa_signature.signed_messages[118] = 15; - - test_msg.ecdsa_signature.signed_messages[119] = 128; - - test_msg.ecdsa_signature.signed_messages[120] = 26; - - test_msg.ecdsa_signature.signed_messages[121] = 131; - - test_msg.ecdsa_signature.signed_messages[122] = 154; - - test_msg.ecdsa_signature.signed_messages[123] = 65; - - test_msg.ecdsa_signature.signed_messages[124] = 169; - - test_msg.ecdsa_signature.signed_messages[125] = 55; - - test_msg.ecdsa_signature.signed_messages[126] = 136; - - test_msg.ecdsa_signature.signed_messages[127] = 125; - - test_msg.ecdsa_signature.signed_messages[128] = 171; - - test_msg.ecdsa_signature.signed_messages[129] = 161; - - test_msg.ecdsa_signature.signed_messages[130] = 29; - - test_msg.ecdsa_signature.signed_messages[131] = 129; - - test_msg.ecdsa_signature.signed_messages[132] = 151; - - test_msg.ecdsa_signature.signed_messages[133] = 68; - - test_msg.ecdsa_signature.signed_messages[134] = 166; - - test_msg.ecdsa_signature.signed_messages[135] = 51; - - test_msg.ecdsa_signature.signed_messages[136] = 70; - - test_msg.ecdsa_signature.signed_messages[137] = 45; - - test_msg.ecdsa_signature.signed_messages[138] = 56; - - test_msg.ecdsa_signature.signed_messages[139] = 79; - - test_msg.ecdsa_signature.signed_messages[140] = 149; - - test_msg.ecdsa_signature.signed_messages[141] = 99; - - test_msg.ecdsa_signature.signed_messages[142] = 42; - - test_msg.ecdsa_signature.signed_messages[143] = 101; - - test_msg.ecdsa_signature.signed_messages[144] = 152; - - test_msg.ecdsa_signature.signed_messages[145] = 39; - - test_msg.ecdsa_signature.signed_messages[146] = 89; - - test_msg.ecdsa_signature.signed_messages[147] = 180; - - test_msg.ecdsa_signature.signed_messages[148] = 64; - - test_msg.ecdsa_signature.signed_messages[149] = 49; - - test_msg.ecdsa_signature.signed_messages[150] = 6; - - test_msg.ecdsa_signature.signed_messages[151] = 80; - - test_msg.ecdsa_signature.signed_messages[152] = 172; - - test_msg.ecdsa_signature.signed_messages[153] = 32; - - test_msg.ecdsa_signature.signed_messages[154] = 109; - - test_msg.ecdsa_signature.signed_messages[155] = 2; - - test_msg.ecdsa_signature.signed_messages[156] = 119; - - test_msg.ecdsa_signature.signed_messages[157] = 93; - - test_msg.ecdsa_signature.signed_messages[158] = 176; - - test_msg.ecdsa_signature.signed_messages[159] = 0; - - test_msg.ecdsa_signature.signed_messages[160] = 33; - - test_msg.ecdsa_signature.signed_messages[161] = 57; - - test_msg.ecdsa_signature.signed_messages[162] = 34; - - test_msg.ecdsa_signature.signed_messages[163] = 18; - - test_msg.ecdsa_signature.signed_messages[164] = 85; - - test_msg.ecdsa_signature.signed_messages[165] = 121; - - test_msg.ecdsa_signature.signed_messages[166] = 137; - - test_msg.ecdsa_signature.signed_messages[167] = 83; - - test_msg.ecdsa_signature.signed_messages[168] = 111; - - test_msg.ecdsa_signature.signed_messages[169] = 59; - - test_msg.ecdsa_signature.signed_messages[170] = 7; - - test_msg.ecdsa_signature.signed_messages[171] = 77; - - test_msg.ecdsa_signature.signed_messages[172] = 4; - - test_msg.ecdsa_signature.signed_messages[173] = 117; - - test_msg.ecdsa_signature.signed_messages[174] = 159; - - test_msg.ecdsa_signature.signed_messages[175] = 148; - - test_msg.ecdsa_signature.signed_messages[176] = 35; - - test_msg.ecdsa_signature.signed_messages[177] = 61; - - test_msg.ecdsa_signature.signed_messages[178] = 41; - - test_msg.ecdsa_signature.signed_messages[179] = 67; - - test_msg.ecdsa_signature.signed_messages[180] = 46; - - test_msg.ecdsa_signature.signed_messages[181] = 127; + test_msg.ecdsa_signature.signed_messages[0] = 10; - test_msg.ecdsa_signature.signed_messages[182] = 75; + test_msg.ecdsa_signature.signed_messages[1] = 21; - test_msg.ecdsa_signature.signed_messages[183] = 174; + test_msg.ecdsa_signature.signed_messages[2] = 23; test_msg.ecdsa_signature.stream_counter = 1; @@ -683,9 +328,15 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { last_msg.msg.ecdsa_signature.flags); ck_assert_msg( - last_msg.msg.ecdsa_signature.n_signed_messages == 184, + last_msg.msg.ecdsa_signature.n_signature_bytes == 73, + "incorrect value for last_msg.msg.ecdsa_signature.n_signature_bytes, " + "expected 73, is %d", + last_msg.msg.ecdsa_signature.n_signature_bytes); + + ck_assert_msg( + last_msg.msg.ecdsa_signature.n_signed_messages == 3, "incorrect value for last_msg.msg.ecdsa_signature.n_signed_messages, " - "expected 184, is %d", + "expected 3, is %d", last_msg.msg.ecdsa_signature.n_signed_messages); ck_assert_msg( @@ -735,285 +386,330 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { "expected 7, is %d", last_msg.msg.ecdsa_signature.signature[7]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[8] == 0, + last_msg.msg.ecdsa_signature.signature[8] == 8, "incorrect value for last_msg.msg.ecdsa_signature.signature[8], " - "expected 0, is %d", + "expected 8, is %d", last_msg.msg.ecdsa_signature.signature[8]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[9] == 1, + last_msg.msg.ecdsa_signature.signature[9] == 9, "incorrect value for last_msg.msg.ecdsa_signature.signature[9], " - "expected 1, is %d", + "expected 9, is %d", last_msg.msg.ecdsa_signature.signature[9]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[10] == 2, + last_msg.msg.ecdsa_signature.signature[10] == 10, "incorrect value for last_msg.msg.ecdsa_signature.signature[10], " - "expected 2, is %d", + "expected 10, is %d", last_msg.msg.ecdsa_signature.signature[10]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[11] == 3, + last_msg.msg.ecdsa_signature.signature[11] == 11, "incorrect value for last_msg.msg.ecdsa_signature.signature[11], " - "expected 3, is %d", + "expected 11, is %d", last_msg.msg.ecdsa_signature.signature[11]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[12] == 4, + last_msg.msg.ecdsa_signature.signature[12] == 12, "incorrect value for last_msg.msg.ecdsa_signature.signature[12], " - "expected 4, is %d", + "expected 12, is %d", last_msg.msg.ecdsa_signature.signature[12]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[13] == 5, + last_msg.msg.ecdsa_signature.signature[13] == 13, "incorrect value for last_msg.msg.ecdsa_signature.signature[13], " - "expected 5, is %d", + "expected 13, is %d", last_msg.msg.ecdsa_signature.signature[13]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[14] == 6, + last_msg.msg.ecdsa_signature.signature[14] == 14, "incorrect value for last_msg.msg.ecdsa_signature.signature[14], " - "expected 6, is %d", + "expected 14, is %d", last_msg.msg.ecdsa_signature.signature[14]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[15] == 7, + last_msg.msg.ecdsa_signature.signature[15] == 15, "incorrect value for last_msg.msg.ecdsa_signature.signature[15], " - "expected 7, is %d", + "expected 15, is %d", last_msg.msg.ecdsa_signature.signature[15]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[16] == 0, + last_msg.msg.ecdsa_signature.signature[16] == 16, "incorrect value for last_msg.msg.ecdsa_signature.signature[16], " - "expected 0, is %d", + "expected 16, is %d", last_msg.msg.ecdsa_signature.signature[16]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[17] == 1, + last_msg.msg.ecdsa_signature.signature[17] == 17, "incorrect value for last_msg.msg.ecdsa_signature.signature[17], " - "expected 1, is %d", + "expected 17, is %d", last_msg.msg.ecdsa_signature.signature[17]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[18] == 2, + last_msg.msg.ecdsa_signature.signature[18] == 18, "incorrect value for last_msg.msg.ecdsa_signature.signature[18], " - "expected 2, is %d", + "expected 18, is %d", last_msg.msg.ecdsa_signature.signature[18]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[19] == 3, + last_msg.msg.ecdsa_signature.signature[19] == 19, "incorrect value for last_msg.msg.ecdsa_signature.signature[19], " - "expected 3, is %d", + "expected 19, is %d", last_msg.msg.ecdsa_signature.signature[19]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[20] == 4, + last_msg.msg.ecdsa_signature.signature[20] == 20, "incorrect value for last_msg.msg.ecdsa_signature.signature[20], " - "expected 4, is %d", + "expected 20, is %d", last_msg.msg.ecdsa_signature.signature[20]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[21] == 5, + last_msg.msg.ecdsa_signature.signature[21] == 21, "incorrect value for last_msg.msg.ecdsa_signature.signature[21], " - "expected 5, is %d", + "expected 21, is %d", last_msg.msg.ecdsa_signature.signature[21]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[22] == 6, + last_msg.msg.ecdsa_signature.signature[22] == 22, "incorrect value for last_msg.msg.ecdsa_signature.signature[22], " - "expected 6, is %d", + "expected 22, is %d", last_msg.msg.ecdsa_signature.signature[22]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[23] == 7, + last_msg.msg.ecdsa_signature.signature[23] == 23, "incorrect value for last_msg.msg.ecdsa_signature.signature[23], " - "expected 7, is %d", + "expected 23, is %d", last_msg.msg.ecdsa_signature.signature[23]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[24] == 0, + last_msg.msg.ecdsa_signature.signature[24] == 24, "incorrect value for last_msg.msg.ecdsa_signature.signature[24], " - "expected 0, is %d", + "expected 24, is %d", last_msg.msg.ecdsa_signature.signature[24]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[25] == 1, + last_msg.msg.ecdsa_signature.signature[25] == 25, "incorrect value for last_msg.msg.ecdsa_signature.signature[25], " - "expected 1, is %d", + "expected 25, is %d", last_msg.msg.ecdsa_signature.signature[25]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[26] == 2, + last_msg.msg.ecdsa_signature.signature[26] == 26, "incorrect value for last_msg.msg.ecdsa_signature.signature[26], " - "expected 2, is %d", + "expected 26, is %d", last_msg.msg.ecdsa_signature.signature[26]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[27] == 3, + last_msg.msg.ecdsa_signature.signature[27] == 27, "incorrect value for last_msg.msg.ecdsa_signature.signature[27], " - "expected 3, is %d", + "expected 27, is %d", last_msg.msg.ecdsa_signature.signature[27]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[28] == 4, + last_msg.msg.ecdsa_signature.signature[28] == 28, "incorrect value for last_msg.msg.ecdsa_signature.signature[28], " - "expected 4, is %d", + "expected 28, is %d", last_msg.msg.ecdsa_signature.signature[28]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[29] == 5, + last_msg.msg.ecdsa_signature.signature[29] == 29, "incorrect value for last_msg.msg.ecdsa_signature.signature[29], " - "expected 5, is %d", + "expected 29, is %d", last_msg.msg.ecdsa_signature.signature[29]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[30] == 6, + last_msg.msg.ecdsa_signature.signature[30] == 30, "incorrect value for last_msg.msg.ecdsa_signature.signature[30], " - "expected 6, is %d", + "expected 30, is %d", last_msg.msg.ecdsa_signature.signature[30]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[31] == 7, + last_msg.msg.ecdsa_signature.signature[31] == 31, "incorrect value for last_msg.msg.ecdsa_signature.signature[31], " - "expected 7, is %d", + "expected 31, is %d", last_msg.msg.ecdsa_signature.signature[31]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[32] == 0, + last_msg.msg.ecdsa_signature.signature[32] == 32, "incorrect value for last_msg.msg.ecdsa_signature.signature[32], " - "expected 0, is %d", + "expected 32, is %d", last_msg.msg.ecdsa_signature.signature[32]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[33] == 1, + last_msg.msg.ecdsa_signature.signature[33] == 33, "incorrect value for last_msg.msg.ecdsa_signature.signature[33], " - "expected 1, is %d", + "expected 33, is %d", last_msg.msg.ecdsa_signature.signature[33]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[34] == 2, + last_msg.msg.ecdsa_signature.signature[34] == 34, "incorrect value for last_msg.msg.ecdsa_signature.signature[34], " - "expected 2, is %d", + "expected 34, is %d", last_msg.msg.ecdsa_signature.signature[34]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[35] == 3, + last_msg.msg.ecdsa_signature.signature[35] == 35, "incorrect value for last_msg.msg.ecdsa_signature.signature[35], " - "expected 3, is %d", + "expected 35, is %d", last_msg.msg.ecdsa_signature.signature[35]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[36] == 4, + last_msg.msg.ecdsa_signature.signature[36] == 36, "incorrect value for last_msg.msg.ecdsa_signature.signature[36], " - "expected 4, is %d", + "expected 36, is %d", last_msg.msg.ecdsa_signature.signature[36]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[37] == 5, + last_msg.msg.ecdsa_signature.signature[37] == 37, "incorrect value for last_msg.msg.ecdsa_signature.signature[37], " - "expected 5, is %d", + "expected 37, is %d", last_msg.msg.ecdsa_signature.signature[37]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[38] == 6, + last_msg.msg.ecdsa_signature.signature[38] == 38, "incorrect value for last_msg.msg.ecdsa_signature.signature[38], " - "expected 6, is %d", + "expected 38, is %d", last_msg.msg.ecdsa_signature.signature[38]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[39] == 7, + last_msg.msg.ecdsa_signature.signature[39] == 39, "incorrect value for last_msg.msg.ecdsa_signature.signature[39], " - "expected 7, is %d", + "expected 39, is %d", last_msg.msg.ecdsa_signature.signature[39]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[40] == 0, + last_msg.msg.ecdsa_signature.signature[40] == 40, "incorrect value for last_msg.msg.ecdsa_signature.signature[40], " - "expected 0, is %d", + "expected 40, is %d", last_msg.msg.ecdsa_signature.signature[40]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[41] == 1, + last_msg.msg.ecdsa_signature.signature[41] == 41, "incorrect value for last_msg.msg.ecdsa_signature.signature[41], " - "expected 1, is %d", + "expected 41, is %d", last_msg.msg.ecdsa_signature.signature[41]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[42] == 2, + last_msg.msg.ecdsa_signature.signature[42] == 42, "incorrect value for last_msg.msg.ecdsa_signature.signature[42], " - "expected 2, is %d", + "expected 42, is %d", last_msg.msg.ecdsa_signature.signature[42]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[43] == 3, + last_msg.msg.ecdsa_signature.signature[43] == 43, "incorrect value for last_msg.msg.ecdsa_signature.signature[43], " - "expected 3, is %d", + "expected 43, is %d", last_msg.msg.ecdsa_signature.signature[43]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[44] == 4, + last_msg.msg.ecdsa_signature.signature[44] == 44, "incorrect value for last_msg.msg.ecdsa_signature.signature[44], " - "expected 4, is %d", + "expected 44, is %d", last_msg.msg.ecdsa_signature.signature[44]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[45] == 5, + last_msg.msg.ecdsa_signature.signature[45] == 45, "incorrect value for last_msg.msg.ecdsa_signature.signature[45], " - "expected 5, is %d", + "expected 45, is %d", last_msg.msg.ecdsa_signature.signature[45]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[46] == 6, + last_msg.msg.ecdsa_signature.signature[46] == 46, "incorrect value for last_msg.msg.ecdsa_signature.signature[46], " - "expected 6, is %d", + "expected 46, is %d", last_msg.msg.ecdsa_signature.signature[46]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[47] == 7, + last_msg.msg.ecdsa_signature.signature[47] == 47, "incorrect value for last_msg.msg.ecdsa_signature.signature[47], " - "expected 7, is %d", + "expected 47, is %d", last_msg.msg.ecdsa_signature.signature[47]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[48] == 0, + last_msg.msg.ecdsa_signature.signature[48] == 48, "incorrect value for last_msg.msg.ecdsa_signature.signature[48], " - "expected 0, is %d", + "expected 48, is %d", last_msg.msg.ecdsa_signature.signature[48]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[49] == 1, + last_msg.msg.ecdsa_signature.signature[49] == 49, "incorrect value for last_msg.msg.ecdsa_signature.signature[49], " - "expected 1, is %d", + "expected 49, is %d", last_msg.msg.ecdsa_signature.signature[49]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[50] == 2, + last_msg.msg.ecdsa_signature.signature[50] == 50, "incorrect value for last_msg.msg.ecdsa_signature.signature[50], " - "expected 2, is %d", + "expected 50, is %d", last_msg.msg.ecdsa_signature.signature[50]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[51] == 3, + last_msg.msg.ecdsa_signature.signature[51] == 51, "incorrect value for last_msg.msg.ecdsa_signature.signature[51], " - "expected 3, is %d", + "expected 51, is %d", last_msg.msg.ecdsa_signature.signature[51]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[52] == 4, + last_msg.msg.ecdsa_signature.signature[52] == 52, "incorrect value for last_msg.msg.ecdsa_signature.signature[52], " - "expected 4, is %d", + "expected 52, is %d", last_msg.msg.ecdsa_signature.signature[52]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[53] == 5, + last_msg.msg.ecdsa_signature.signature[53] == 53, "incorrect value for last_msg.msg.ecdsa_signature.signature[53], " - "expected 5, is %d", + "expected 53, is %d", last_msg.msg.ecdsa_signature.signature[53]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[54] == 6, + last_msg.msg.ecdsa_signature.signature[54] == 54, "incorrect value for last_msg.msg.ecdsa_signature.signature[54], " - "expected 6, is %d", + "expected 54, is %d", last_msg.msg.ecdsa_signature.signature[54]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[55] == 7, + last_msg.msg.ecdsa_signature.signature[55] == 55, "incorrect value for last_msg.msg.ecdsa_signature.signature[55], " - "expected 7, is %d", + "expected 55, is %d", last_msg.msg.ecdsa_signature.signature[55]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[56] == 0, + last_msg.msg.ecdsa_signature.signature[56] == 56, "incorrect value for last_msg.msg.ecdsa_signature.signature[56], " - "expected 0, is %d", + "expected 56, is %d", last_msg.msg.ecdsa_signature.signature[56]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[57] == 1, + last_msg.msg.ecdsa_signature.signature[57] == 57, "incorrect value for last_msg.msg.ecdsa_signature.signature[57], " - "expected 1, is %d", + "expected 57, is %d", last_msg.msg.ecdsa_signature.signature[57]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[58] == 2, + last_msg.msg.ecdsa_signature.signature[58] == 58, "incorrect value for last_msg.msg.ecdsa_signature.signature[58], " - "expected 2, is %d", + "expected 58, is %d", last_msg.msg.ecdsa_signature.signature[58]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[59] == 3, + last_msg.msg.ecdsa_signature.signature[59] == 59, "incorrect value for last_msg.msg.ecdsa_signature.signature[59], " - "expected 3, is %d", + "expected 59, is %d", last_msg.msg.ecdsa_signature.signature[59]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[60] == 4, + last_msg.msg.ecdsa_signature.signature[60] == 60, "incorrect value for last_msg.msg.ecdsa_signature.signature[60], " - "expected 4, is %d", + "expected 60, is %d", last_msg.msg.ecdsa_signature.signature[60]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[61] == 5, + last_msg.msg.ecdsa_signature.signature[61] == 61, "incorrect value for last_msg.msg.ecdsa_signature.signature[61], " - "expected 5, is %d", + "expected 61, is %d", last_msg.msg.ecdsa_signature.signature[61]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[62] == 6, + last_msg.msg.ecdsa_signature.signature[62] == 62, "incorrect value for last_msg.msg.ecdsa_signature.signature[62], " - "expected 6, is %d", + "expected 62, is %d", last_msg.msg.ecdsa_signature.signature[62]); ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[63] == 7, + last_msg.msg.ecdsa_signature.signature[63] == 63, "incorrect value for last_msg.msg.ecdsa_signature.signature[63], " - "expected 7, is %d", + "expected 63, is %d", last_msg.msg.ecdsa_signature.signature[63]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[64] == 64, + "incorrect value for last_msg.msg.ecdsa_signature.signature[64], " + "expected 64, is %d", + last_msg.msg.ecdsa_signature.signature[64]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[65] == 65, + "incorrect value for last_msg.msg.ecdsa_signature.signature[65], " + "expected 65, is %d", + last_msg.msg.ecdsa_signature.signature[65]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[66] == 66, + "incorrect value for last_msg.msg.ecdsa_signature.signature[66], " + "expected 66, is %d", + last_msg.msg.ecdsa_signature.signature[66]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[67] == 67, + "incorrect value for last_msg.msg.ecdsa_signature.signature[67], " + "expected 67, is %d", + last_msg.msg.ecdsa_signature.signature[67]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[68] == 68, + "incorrect value for last_msg.msg.ecdsa_signature.signature[68], " + "expected 68, is %d", + last_msg.msg.ecdsa_signature.signature[68]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[69] == 69, + "incorrect value for last_msg.msg.ecdsa_signature.signature[69], " + "expected 69, is %d", + last_msg.msg.ecdsa_signature.signature[69]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[70] == 70, + "incorrect value for last_msg.msg.ecdsa_signature.signature[70], " + "expected 70, is %d", + last_msg.msg.ecdsa_signature.signature[70]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[71] == 71, + "incorrect value for last_msg.msg.ecdsa_signature.signature[71], " + "expected 71, is %d", + last_msg.msg.ecdsa_signature.signature[71]); + ck_assert_msg( + last_msg.msg.ecdsa_signature.signature[72] == 72, + "incorrect value for last_msg.msg.ecdsa_signature.signature[72], " + "expected 72, is %d", + last_msg.msg.ecdsa_signature.signature[72]); ck_assert_msg( last_msg.msg.ecdsa_signature.signed_messages[0] == 10, @@ -1030,911 +726,6 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[2], " "expected 23, is %d", last_msg.msg.ecdsa_signature.signed_messages[2]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[3] == 63, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[3], " - "expected 63, is %d", - last_msg.msg.ecdsa_signature.signed_messages[3]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[4] == 140, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[4], " - "expected 140, is %d", - last_msg.msg.ecdsa_signature.signed_messages[4]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[5] == 37, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[5], " - "expected 37, is %d", - last_msg.msg.ecdsa_signature.signed_messages[5]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[6] == 130, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[6], " - "expected 130, is %d", - last_msg.msg.ecdsa_signature.signed_messages[6]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[7] == 106, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[7], " - "expected 106, is %d", - last_msg.msg.ecdsa_signature.signed_messages[7]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[8] == 28, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[8], " - "expected 28, is %d", - last_msg.msg.ecdsa_signature.signed_messages[8]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[9] == 40, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[9], " - "expected 40, is %d", - last_msg.msg.ecdsa_signature.signed_messages[9]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[10] == 165, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[10], " - "expected 165, is %d", - last_msg.msg.ecdsa_signature.signed_messages[10]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[11] == 179, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[11], " - "expected 179, is %d", - last_msg.msg.ecdsa_signature.signed_messages[11]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[12] == 73, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[12], " - "expected 73, is %d", - last_msg.msg.ecdsa_signature.signed_messages[12]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[13] == 178, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[13], " - "expected 178, is %d", - last_msg.msg.ecdsa_signature.signed_messages[13]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[14] == 60, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[14], " - "expected 60, is %d", - last_msg.msg.ecdsa_signature.signed_messages[14]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[15] == 126, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[15], " - "expected 126, is %d", - last_msg.msg.ecdsa_signature.signed_messages[15]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[16] == 114, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[16], " - "expected 114, is %d", - last_msg.msg.ecdsa_signature.signed_messages[16]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[17] == 78, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[17], " - "expected 78, is %d", - last_msg.msg.ecdsa_signature.signed_messages[17]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[18] == 113, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[18], " - "expected 113, is %d", - last_msg.msg.ecdsa_signature.signed_messages[18]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[19] == 27, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[19], " - "expected 27, is %d", - last_msg.msg.ecdsa_signature.signed_messages[19]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[20] == 95, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[20], " - "expected 95, is %d", - last_msg.msg.ecdsa_signature.signed_messages[20]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[21] == 3, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[21], " - "expected 3, is %d", - last_msg.msg.ecdsa_signature.signed_messages[21]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[22] == 62, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[22], " - "expected 62, is %d", - last_msg.msg.ecdsa_signature.signed_messages[22]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[23] == 104, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[23], " - "expected 104, is %d", - last_msg.msg.ecdsa_signature.signed_messages[23]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[24] == 145, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[24], " - "expected 145, is %d", - last_msg.msg.ecdsa_signature.signed_messages[24]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[25] == 96, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[25], " - "expected 96, is %d", - last_msg.msg.ecdsa_signature.signed_messages[25]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[26] == 19, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[26], " - "expected 19, is %d", - last_msg.msg.ecdsa_signature.signed_messages[26]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[27] == 92, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[27], " - "expected 92, is %d", - last_msg.msg.ecdsa_signature.signed_messages[27]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[28] == 123, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[28], " - "expected 123, is %d", - last_msg.msg.ecdsa_signature.signed_messages[28]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[29] == 14, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[29], " - "expected 14, is %d", - last_msg.msg.ecdsa_signature.signed_messages[29]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[30] == 90, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[30], " - "expected 90, is %d", - last_msg.msg.ecdsa_signature.signed_messages[30]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[31] == 153, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[31], " - "expected 153, is %d", - last_msg.msg.ecdsa_signature.signed_messages[31]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[32] == 183, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[32], " - "expected 183, is %d", - last_msg.msg.ecdsa_signature.signed_messages[32]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[33] == 9, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[33], " - "expected 9, is %d", - last_msg.msg.ecdsa_signature.signed_messages[33]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[34] == 72, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[34], " - "expected 72, is %d", - last_msg.msg.ecdsa_signature.signed_messages[34]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[35] == 81, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[35], " - "expected 81, is %d", - last_msg.msg.ecdsa_signature.signed_messages[35]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[36] == 118, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[36], " - "expected 118, is %d", - last_msg.msg.ecdsa_signature.signed_messages[36]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[37] == 112, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[37], " - "expected 112, is %d", - last_msg.msg.ecdsa_signature.signed_messages[37]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[38] == 124, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[38], " - "expected 124, is %d", - last_msg.msg.ecdsa_signature.signed_messages[38]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[39] == 16, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[39], " - "expected 16, is %d", - last_msg.msg.ecdsa_signature.signed_messages[39]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[40] == 182, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[40], " - "expected 182, is %d", - last_msg.msg.ecdsa_signature.signed_messages[40]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[41] == 76, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[41], " - "expected 76, is %d", - last_msg.msg.ecdsa_signature.signed_messages[41]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[42] == 146, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[42], " - "expected 146, is %d", - last_msg.msg.ecdsa_signature.signed_messages[42]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[43] == 115, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[43], " - "expected 115, is %d", - last_msg.msg.ecdsa_signature.signed_messages[43]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[44] == 58, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[44], " - "expected 58, is %d", - last_msg.msg.ecdsa_signature.signed_messages[44]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[45] == 144, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[45], " - "expected 144, is %d", - last_msg.msg.ecdsa_signature.signed_messages[45]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[46] == 17, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[46], " - "expected 17, is %d", - last_msg.msg.ecdsa_signature.signed_messages[46]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[47] == 105, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[47], " - "expected 105, is %d", - last_msg.msg.ecdsa_signature.signed_messages[47]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[48] == 66, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[48], " - "expected 66, is %d", - last_msg.msg.ecdsa_signature.signed_messages[48]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[49] == 31, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[49], " - "expected 31, is %d", - last_msg.msg.ecdsa_signature.signed_messages[49]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[50] == 135, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[50], " - "expected 135, is %d", - last_msg.msg.ecdsa_signature.signed_messages[50]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[51] == 54, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[51], " - "expected 54, is %d", - last_msg.msg.ecdsa_signature.signed_messages[51]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[52] == 100, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[52], " - "expected 100, is %d", - last_msg.msg.ecdsa_signature.signed_messages[52]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[53] == 84, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[53], " - "expected 84, is %d", - last_msg.msg.ecdsa_signature.signed_messages[53]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[54] == 181, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[54], " - "expected 181, is %d", - last_msg.msg.ecdsa_signature.signed_messages[54]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[55] == 103, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[55], " - "expected 103, is %d", - last_msg.msg.ecdsa_signature.signed_messages[55]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[56] == 11, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[56], " - "expected 11, is %d", - last_msg.msg.ecdsa_signature.signed_messages[56]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[57] == 88, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[57], " - "expected 88, is %d", - last_msg.msg.ecdsa_signature.signed_messages[57]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[58] == 133, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[58], " - "expected 133, is %d", - last_msg.msg.ecdsa_signature.signed_messages[58]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[59] == 155, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[59], " - "expected 155, is %d", - last_msg.msg.ecdsa_signature.signed_messages[59]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[60] == 167, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[60], " - "expected 167, is %d", - last_msg.msg.ecdsa_signature.signed_messages[60]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[61] == 173, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[61], " - "expected 173, is %d", - last_msg.msg.ecdsa_signature.signed_messages[61]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[62] == 143, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[62], " - "expected 143, is %d", - last_msg.msg.ecdsa_signature.signed_messages[62]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[63] == 86, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[63], " - "expected 86, is %d", - last_msg.msg.ecdsa_signature.signed_messages[63]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[64] == 158, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[64], " - "expected 158, is %d", - last_msg.msg.ecdsa_signature.signed_messages[64]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[65] == 20, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[65], " - "expected 20, is %d", - last_msg.msg.ecdsa_signature.signed_messages[65]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[66] == 168, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[66], " - "expected 168, is %d", - last_msg.msg.ecdsa_signature.signed_messages[66]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[67] == 132, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[67], " - "expected 132, is %d", - last_msg.msg.ecdsa_signature.signed_messages[67]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[68] == 141, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[68], " - "expected 141, is %d", - last_msg.msg.ecdsa_signature.signed_messages[68]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[69] == 102, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[69], " - "expected 102, is %d", - last_msg.msg.ecdsa_signature.signed_messages[69]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[70] == 50, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[70], " - "expected 50, is %d", - last_msg.msg.ecdsa_signature.signed_messages[70]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[71] == 48, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[71], " - "expected 48, is %d", - last_msg.msg.ecdsa_signature.signed_messages[71]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[72] == 71, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[72], " - "expected 71, is %d", - last_msg.msg.ecdsa_signature.signed_messages[72]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[73] == 147, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[73], " - "expected 147, is %d", - last_msg.msg.ecdsa_signature.signed_messages[73]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[74] == 53, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[74], " - "expected 53, is %d", - last_msg.msg.ecdsa_signature.signed_messages[74]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[75] == 87, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[75], " - "expected 87, is %d", - last_msg.msg.ecdsa_signature.signed_messages[75]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[76] == 1, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[76], " - "expected 1, is %d", - last_msg.msg.ecdsa_signature.signed_messages[76]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[77] == 108, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[77], " - "expected 108, is %d", - last_msg.msg.ecdsa_signature.signed_messages[77]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[78] == 138, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[78], " - "expected 138, is %d", - last_msg.msg.ecdsa_signature.signed_messages[78]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[79] == 36, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[79], " - "expected 36, is %d", - last_msg.msg.ecdsa_signature.signed_messages[79]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[80] == 134, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[80], " - "expected 134, is %d", - last_msg.msg.ecdsa_signature.signed_messages[80]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[81] == 139, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[81], " - "expected 139, is %d", - last_msg.msg.ecdsa_signature.signed_messages[81]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[82] == 163, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[82], " - "expected 163, is %d", - last_msg.msg.ecdsa_signature.signed_messages[82]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[83] == 82, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[83], " - "expected 82, is %d", - last_msg.msg.ecdsa_signature.signed_messages[83]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[84] == 43, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[84], " - "expected 43, is %d", - last_msg.msg.ecdsa_signature.signed_messages[84]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[85] == 52, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[85], " - "expected 52, is %d", - last_msg.msg.ecdsa_signature.signed_messages[85]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[86] == 150, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[86], " - "expected 150, is %d", - last_msg.msg.ecdsa_signature.signed_messages[86]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[87] == 12, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[87], " - "expected 12, is %d", - last_msg.msg.ecdsa_signature.signed_messages[87]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[88] == 30, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[88], " - "expected 30, is %d", - last_msg.msg.ecdsa_signature.signed_messages[88]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[89] == 110, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[89], " - "expected 110, is %d", - last_msg.msg.ecdsa_signature.signed_messages[89]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[90] == 156, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[90], " - "expected 156, is %d", - last_msg.msg.ecdsa_signature.signed_messages[90]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[91] == 107, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[91], " - "expected 107, is %d", - last_msg.msg.ecdsa_signature.signed_messages[91]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[92] == 120, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[92], " - "expected 120, is %d", - last_msg.msg.ecdsa_signature.signed_messages[92]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[93] == 91, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[93], " - "expected 91, is %d", - last_msg.msg.ecdsa_signature.signed_messages[93]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[94] == 122, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[94], " - "expected 122, is %d", - last_msg.msg.ecdsa_signature.signed_messages[94]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[95] == 69, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[95], " - "expected 69, is %d", - last_msg.msg.ecdsa_signature.signed_messages[95]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[96] == 164, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[96], " - "expected 164, is %d", - last_msg.msg.ecdsa_signature.signed_messages[96]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[97] == 170, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[97], " - "expected 170, is %d", - last_msg.msg.ecdsa_signature.signed_messages[97]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[98] == 116, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[98], " - "expected 116, is %d", - last_msg.msg.ecdsa_signature.signed_messages[98]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[99] == 25, - "incorrect value for last_msg.msg.ecdsa_signature.signed_messages[99], " - "expected 25, is %d", - last_msg.msg.ecdsa_signature.signed_messages[99]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[100] == 94, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[100], expected 94, is %d", - last_msg.msg.ecdsa_signature.signed_messages[100]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[101] == 5, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[101], expected 5, is %d", - last_msg.msg.ecdsa_signature.signed_messages[101]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[102] == 22, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[102], expected 22, is %d", - last_msg.msg.ecdsa_signature.signed_messages[102]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[103] == 24, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[103], expected 24, is %d", - last_msg.msg.ecdsa_signature.signed_messages[103]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[104] == 162, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[104], expected " - "162, is %d", - last_msg.msg.ecdsa_signature.signed_messages[104]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[105] == 175, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[105], expected " - "175, is %d", - last_msg.msg.ecdsa_signature.signed_messages[105]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[106] == 38, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[106], expected 38, is %d", - last_msg.msg.ecdsa_signature.signed_messages[106]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[107] == 157, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[107], expected " - "157, is %d", - last_msg.msg.ecdsa_signature.signed_messages[107]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[108] == 98, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[108], expected 98, is %d", - last_msg.msg.ecdsa_signature.signed_messages[108]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[109] == 44, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[109], expected 44, is %d", - last_msg.msg.ecdsa_signature.signed_messages[109]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[110] == 160, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[110], expected " - "160, is %d", - last_msg.msg.ecdsa_signature.signed_messages[110]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[111] == 47, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[111], expected 47, is %d", - last_msg.msg.ecdsa_signature.signed_messages[111]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[112] == 97, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[112], expected 97, is %d", - last_msg.msg.ecdsa_signature.signed_messages[112]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[113] == 142, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[113], expected " - "142, is %d", - last_msg.msg.ecdsa_signature.signed_messages[113]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[114] == 8, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[114], expected 8, is %d", - last_msg.msg.ecdsa_signature.signed_messages[114]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[115] == 74, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[115], expected 74, is %d", - last_msg.msg.ecdsa_signature.signed_messages[115]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[116] == 13, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[116], expected 13, is %d", - last_msg.msg.ecdsa_signature.signed_messages[116]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[117] == 177, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[117], expected " - "177, is %d", - last_msg.msg.ecdsa_signature.signed_messages[117]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[118] == 15, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[118], expected 15, is %d", - last_msg.msg.ecdsa_signature.signed_messages[118]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[119] == 128, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[119], expected " - "128, is %d", - last_msg.msg.ecdsa_signature.signed_messages[119]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[120] == 26, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[120], expected 26, is %d", - last_msg.msg.ecdsa_signature.signed_messages[120]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[121] == 131, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[121], expected " - "131, is %d", - last_msg.msg.ecdsa_signature.signed_messages[121]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[122] == 154, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[122], expected " - "154, is %d", - last_msg.msg.ecdsa_signature.signed_messages[122]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[123] == 65, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[123], expected 65, is %d", - last_msg.msg.ecdsa_signature.signed_messages[123]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[124] == 169, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[124], expected " - "169, is %d", - last_msg.msg.ecdsa_signature.signed_messages[124]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[125] == 55, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[125], expected 55, is %d", - last_msg.msg.ecdsa_signature.signed_messages[125]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[126] == 136, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[126], expected " - "136, is %d", - last_msg.msg.ecdsa_signature.signed_messages[126]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[127] == 125, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[127], expected " - "125, is %d", - last_msg.msg.ecdsa_signature.signed_messages[127]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[128] == 171, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[128], expected " - "171, is %d", - last_msg.msg.ecdsa_signature.signed_messages[128]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[129] == 161, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[129], expected " - "161, is %d", - last_msg.msg.ecdsa_signature.signed_messages[129]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[130] == 29, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[130], expected 29, is %d", - last_msg.msg.ecdsa_signature.signed_messages[130]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[131] == 129, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[131], expected " - "129, is %d", - last_msg.msg.ecdsa_signature.signed_messages[131]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[132] == 151, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[132], expected " - "151, is %d", - last_msg.msg.ecdsa_signature.signed_messages[132]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[133] == 68, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[133], expected 68, is %d", - last_msg.msg.ecdsa_signature.signed_messages[133]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[134] == 166, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[134], expected " - "166, is %d", - last_msg.msg.ecdsa_signature.signed_messages[134]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[135] == 51, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[135], expected 51, is %d", - last_msg.msg.ecdsa_signature.signed_messages[135]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[136] == 70, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[136], expected 70, is %d", - last_msg.msg.ecdsa_signature.signed_messages[136]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[137] == 45, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[137], expected 45, is %d", - last_msg.msg.ecdsa_signature.signed_messages[137]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[138] == 56, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[138], expected 56, is %d", - last_msg.msg.ecdsa_signature.signed_messages[138]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[139] == 79, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[139], expected 79, is %d", - last_msg.msg.ecdsa_signature.signed_messages[139]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[140] == 149, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[140], expected " - "149, is %d", - last_msg.msg.ecdsa_signature.signed_messages[140]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[141] == 99, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[141], expected 99, is %d", - last_msg.msg.ecdsa_signature.signed_messages[141]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[142] == 42, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[142], expected 42, is %d", - last_msg.msg.ecdsa_signature.signed_messages[142]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[143] == 101, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[143], expected " - "101, is %d", - last_msg.msg.ecdsa_signature.signed_messages[143]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[144] == 152, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[144], expected " - "152, is %d", - last_msg.msg.ecdsa_signature.signed_messages[144]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[145] == 39, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[145], expected 39, is %d", - last_msg.msg.ecdsa_signature.signed_messages[145]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[146] == 89, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[146], expected 89, is %d", - last_msg.msg.ecdsa_signature.signed_messages[146]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[147] == 180, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[147], expected " - "180, is %d", - last_msg.msg.ecdsa_signature.signed_messages[147]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[148] == 64, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[148], expected 64, is %d", - last_msg.msg.ecdsa_signature.signed_messages[148]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[149] == 49, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[149], expected 49, is %d", - last_msg.msg.ecdsa_signature.signed_messages[149]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[150] == 6, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[150], expected 6, is %d", - last_msg.msg.ecdsa_signature.signed_messages[150]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[151] == 80, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[151], expected 80, is %d", - last_msg.msg.ecdsa_signature.signed_messages[151]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[152] == 172, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[152], expected " - "172, is %d", - last_msg.msg.ecdsa_signature.signed_messages[152]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[153] == 32, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[153], expected 32, is %d", - last_msg.msg.ecdsa_signature.signed_messages[153]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[154] == 109, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[154], expected " - "109, is %d", - last_msg.msg.ecdsa_signature.signed_messages[154]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[155] == 2, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[155], expected 2, is %d", - last_msg.msg.ecdsa_signature.signed_messages[155]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[156] == 119, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[156], expected " - "119, is %d", - last_msg.msg.ecdsa_signature.signed_messages[156]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[157] == 93, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[157], expected 93, is %d", - last_msg.msg.ecdsa_signature.signed_messages[157]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[158] == 176, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[158], expected " - "176, is %d", - last_msg.msg.ecdsa_signature.signed_messages[158]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[159] == 0, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[159], expected 0, is %d", - last_msg.msg.ecdsa_signature.signed_messages[159]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[160] == 33, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[160], expected 33, is %d", - last_msg.msg.ecdsa_signature.signed_messages[160]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[161] == 57, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[161], expected 57, is %d", - last_msg.msg.ecdsa_signature.signed_messages[161]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[162] == 34, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[162], expected 34, is %d", - last_msg.msg.ecdsa_signature.signed_messages[162]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[163] == 18, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[163], expected 18, is %d", - last_msg.msg.ecdsa_signature.signed_messages[163]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[164] == 85, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[164], expected 85, is %d", - last_msg.msg.ecdsa_signature.signed_messages[164]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[165] == 121, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[165], expected " - "121, is %d", - last_msg.msg.ecdsa_signature.signed_messages[165]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[166] == 137, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[166], expected " - "137, is %d", - last_msg.msg.ecdsa_signature.signed_messages[166]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[167] == 83, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[167], expected 83, is %d", - last_msg.msg.ecdsa_signature.signed_messages[167]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[168] == 111, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[168], expected " - "111, is %d", - last_msg.msg.ecdsa_signature.signed_messages[168]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[169] == 59, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[169], expected 59, is %d", - last_msg.msg.ecdsa_signature.signed_messages[169]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[170] == 7, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[170], expected 7, is %d", - last_msg.msg.ecdsa_signature.signed_messages[170]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[171] == 77, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[171], expected 77, is %d", - last_msg.msg.ecdsa_signature.signed_messages[171]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[172] == 4, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[172], expected 4, is %d", - last_msg.msg.ecdsa_signature.signed_messages[172]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[173] == 117, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[173], expected " - "117, is %d", - last_msg.msg.ecdsa_signature.signed_messages[173]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[174] == 159, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[174], expected " - "159, is %d", - last_msg.msg.ecdsa_signature.signed_messages[174]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[175] == 148, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[175], expected " - "148, is %d", - last_msg.msg.ecdsa_signature.signed_messages[175]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[176] == 35, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[176], expected 35, is %d", - last_msg.msg.ecdsa_signature.signed_messages[176]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[177] == 61, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[177], expected 61, is %d", - last_msg.msg.ecdsa_signature.signed_messages[177]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[178] == 41, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[178], expected 41, is %d", - last_msg.msg.ecdsa_signature.signed_messages[178]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[179] == 67, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[179], expected 67, is %d", - last_msg.msg.ecdsa_signature.signed_messages[179]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[180] == 46, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[180], expected 46, is %d", - last_msg.msg.ecdsa_signature.signed_messages[180]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[181] == 127, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[181], expected " - "127, is %d", - last_msg.msg.ecdsa_signature.signed_messages[181]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signed_messages[182] == 75, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[182], expected 75, is %d", - last_msg.msg.ecdsa_signature.signed_messages[182]); - ck_assert_msg(last_msg.msg.ecdsa_signature.signed_messages[183] == 174, - "incorrect value for " - "last_msg.msg.ecdsa_signature.signed_messages[183], expected " - "174, is %d", - last_msg.msg.ecdsa_signature.signed_messages[183]); ck_assert_msg( last_msg.msg.ecdsa_signature.stream_counter == 1, diff --git a/c/test/auto_check_sbp_signing_MsgEcdsaSignatureDep.c b/c/test/auto_check_sbp_signing_MsgEcdsaSignatureDep.c new file mode 100644 index 0000000000..8a0c022a0e --- /dev/null +++ b/c/test/auto_check_sbp_signing_MsgEcdsaSignatureDep.c @@ -0,0 +1,1956 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include // for debugging +#include // for malloc + +static struct { + u32 n_callbacks_logged; + u16 sender_id; + sbp_msg_type_t msg_type; + sbp_msg_t msg; + void *context; +} last_msg; + +static u32 dummy_wr = 0; +static u32 dummy_rd = 0; +static u8 dummy_buff[1024]; +static void *last_io_context; + +static void *DUMMY_MEMORY_FOR_CALLBACKS = (void *)0xdeadbeef; +static void *DUMMY_MEMORY_FOR_IO = (void *)0xdead0000; + +static void dummy_reset() { + dummy_rd = dummy_wr = 0; + memset(dummy_buff, 0, sizeof(dummy_buff)); +} + +static s32 dummy_write(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(dummy_buff + dummy_wr, buff, real_n); + dummy_wr += real_n; + return (s32)real_n; +} + +static s32 dummy_read(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(buff, dummy_buff + dummy_rd, real_n); + dummy_rd += real_n; + return (s32)real_n; +} + +static void logging_reset() { memset(&last_msg, 0, sizeof(last_msg)); } + +static void msg_callback(u16 sender_id, sbp_msg_type_t msg_type, + const sbp_msg_t *msg, void *context) { + last_msg.n_callbacks_logged++; + last_msg.sender_id = sender_id; + last_msg.msg_type = msg_type; + last_msg.msg = *msg; + last_msg.context = context; +} + +START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignatureDep) { + static sbp_msg_callbacks_node_t n; + + // State of the SBP message parser. + // Must be statically allocated. + sbp_state_t sbp_state; + + // + // Run tests: + // + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message + // types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_callback_register(&sbp_state, 0xC06, &msg_callback, + &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 encoded_frame[] = { + 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, + 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, + 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, + 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, + 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, + 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, 130, + 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, + 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, + 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, + 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, + 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, + 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, + 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, + 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, + 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, + 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, + 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, + 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, + 148, 35, 61, 41, 67, 46, 127, 75, 174, 97, 172, + }; + + dummy_reset(); + + sbp_msg_t test_msg; + memset(&test_msg, 0, sizeof(test_msg)); + + test_msg.ecdsa_signature_dep.certificate_id[0] = 1; + + test_msg.ecdsa_signature_dep.certificate_id[1] = 2; + + test_msg.ecdsa_signature_dep.certificate_id[2] = 3; + + test_msg.ecdsa_signature_dep.certificate_id[3] = 4; + + test_msg.ecdsa_signature_dep.flags = 0; + + test_msg.ecdsa_signature_dep.n_signed_messages = 184; + + test_msg.ecdsa_signature_dep.on_demand_counter = 2; + + test_msg.ecdsa_signature_dep.signature[0] = 0; + + test_msg.ecdsa_signature_dep.signature[1] = 1; + + test_msg.ecdsa_signature_dep.signature[2] = 2; + + test_msg.ecdsa_signature_dep.signature[3] = 3; + + test_msg.ecdsa_signature_dep.signature[4] = 4; + + test_msg.ecdsa_signature_dep.signature[5] = 5; + + test_msg.ecdsa_signature_dep.signature[6] = 6; + + test_msg.ecdsa_signature_dep.signature[7] = 7; + + test_msg.ecdsa_signature_dep.signature[8] = 0; + + test_msg.ecdsa_signature_dep.signature[9] = 1; + + test_msg.ecdsa_signature_dep.signature[10] = 2; + + test_msg.ecdsa_signature_dep.signature[11] = 3; + + test_msg.ecdsa_signature_dep.signature[12] = 4; + + test_msg.ecdsa_signature_dep.signature[13] = 5; + + test_msg.ecdsa_signature_dep.signature[14] = 6; + + test_msg.ecdsa_signature_dep.signature[15] = 7; + + test_msg.ecdsa_signature_dep.signature[16] = 0; + + test_msg.ecdsa_signature_dep.signature[17] = 1; + + test_msg.ecdsa_signature_dep.signature[18] = 2; + + test_msg.ecdsa_signature_dep.signature[19] = 3; + + test_msg.ecdsa_signature_dep.signature[20] = 4; + + test_msg.ecdsa_signature_dep.signature[21] = 5; + + test_msg.ecdsa_signature_dep.signature[22] = 6; + + test_msg.ecdsa_signature_dep.signature[23] = 7; + + test_msg.ecdsa_signature_dep.signature[24] = 0; + + test_msg.ecdsa_signature_dep.signature[25] = 1; + + test_msg.ecdsa_signature_dep.signature[26] = 2; + + test_msg.ecdsa_signature_dep.signature[27] = 3; + + test_msg.ecdsa_signature_dep.signature[28] = 4; + + test_msg.ecdsa_signature_dep.signature[29] = 5; + + test_msg.ecdsa_signature_dep.signature[30] = 6; + + test_msg.ecdsa_signature_dep.signature[31] = 7; + + test_msg.ecdsa_signature_dep.signature[32] = 0; + + test_msg.ecdsa_signature_dep.signature[33] = 1; + + test_msg.ecdsa_signature_dep.signature[34] = 2; + + test_msg.ecdsa_signature_dep.signature[35] = 3; + + test_msg.ecdsa_signature_dep.signature[36] = 4; + + test_msg.ecdsa_signature_dep.signature[37] = 5; + + test_msg.ecdsa_signature_dep.signature[38] = 6; + + test_msg.ecdsa_signature_dep.signature[39] = 7; + + test_msg.ecdsa_signature_dep.signature[40] = 0; + + test_msg.ecdsa_signature_dep.signature[41] = 1; + + test_msg.ecdsa_signature_dep.signature[42] = 2; + + test_msg.ecdsa_signature_dep.signature[43] = 3; + + test_msg.ecdsa_signature_dep.signature[44] = 4; + + test_msg.ecdsa_signature_dep.signature[45] = 5; + + test_msg.ecdsa_signature_dep.signature[46] = 6; + + test_msg.ecdsa_signature_dep.signature[47] = 7; + + test_msg.ecdsa_signature_dep.signature[48] = 0; + + test_msg.ecdsa_signature_dep.signature[49] = 1; + + test_msg.ecdsa_signature_dep.signature[50] = 2; + + test_msg.ecdsa_signature_dep.signature[51] = 3; + + test_msg.ecdsa_signature_dep.signature[52] = 4; + + test_msg.ecdsa_signature_dep.signature[53] = 5; + + test_msg.ecdsa_signature_dep.signature[54] = 6; + + test_msg.ecdsa_signature_dep.signature[55] = 7; + + test_msg.ecdsa_signature_dep.signature[56] = 0; + + test_msg.ecdsa_signature_dep.signature[57] = 1; + + test_msg.ecdsa_signature_dep.signature[58] = 2; + + test_msg.ecdsa_signature_dep.signature[59] = 3; + + test_msg.ecdsa_signature_dep.signature[60] = 4; + + test_msg.ecdsa_signature_dep.signature[61] = 5; + + test_msg.ecdsa_signature_dep.signature[62] = 6; + + test_msg.ecdsa_signature_dep.signature[63] = 7; + + test_msg.ecdsa_signature_dep.signed_messages[0] = 10; + + test_msg.ecdsa_signature_dep.signed_messages[1] = 21; + + test_msg.ecdsa_signature_dep.signed_messages[2] = 23; + + test_msg.ecdsa_signature_dep.signed_messages[3] = 63; + + test_msg.ecdsa_signature_dep.signed_messages[4] = 140; + + test_msg.ecdsa_signature_dep.signed_messages[5] = 37; + + test_msg.ecdsa_signature_dep.signed_messages[6] = 130; + + test_msg.ecdsa_signature_dep.signed_messages[7] = 106; + + test_msg.ecdsa_signature_dep.signed_messages[8] = 28; + + test_msg.ecdsa_signature_dep.signed_messages[9] = 40; + + test_msg.ecdsa_signature_dep.signed_messages[10] = 165; + + test_msg.ecdsa_signature_dep.signed_messages[11] = 179; + + test_msg.ecdsa_signature_dep.signed_messages[12] = 73; + + test_msg.ecdsa_signature_dep.signed_messages[13] = 178; + + test_msg.ecdsa_signature_dep.signed_messages[14] = 60; + + test_msg.ecdsa_signature_dep.signed_messages[15] = 126; + + test_msg.ecdsa_signature_dep.signed_messages[16] = 114; + + test_msg.ecdsa_signature_dep.signed_messages[17] = 78; + + test_msg.ecdsa_signature_dep.signed_messages[18] = 113; + + test_msg.ecdsa_signature_dep.signed_messages[19] = 27; + + test_msg.ecdsa_signature_dep.signed_messages[20] = 95; + + test_msg.ecdsa_signature_dep.signed_messages[21] = 3; + + test_msg.ecdsa_signature_dep.signed_messages[22] = 62; + + test_msg.ecdsa_signature_dep.signed_messages[23] = 104; + + test_msg.ecdsa_signature_dep.signed_messages[24] = 145; + + test_msg.ecdsa_signature_dep.signed_messages[25] = 96; + + test_msg.ecdsa_signature_dep.signed_messages[26] = 19; + + test_msg.ecdsa_signature_dep.signed_messages[27] = 92; + + test_msg.ecdsa_signature_dep.signed_messages[28] = 123; + + test_msg.ecdsa_signature_dep.signed_messages[29] = 14; + + test_msg.ecdsa_signature_dep.signed_messages[30] = 90; + + test_msg.ecdsa_signature_dep.signed_messages[31] = 153; + + test_msg.ecdsa_signature_dep.signed_messages[32] = 183; + + test_msg.ecdsa_signature_dep.signed_messages[33] = 9; + + test_msg.ecdsa_signature_dep.signed_messages[34] = 72; + + test_msg.ecdsa_signature_dep.signed_messages[35] = 81; + + test_msg.ecdsa_signature_dep.signed_messages[36] = 118; + + test_msg.ecdsa_signature_dep.signed_messages[37] = 112; + + test_msg.ecdsa_signature_dep.signed_messages[38] = 124; + + test_msg.ecdsa_signature_dep.signed_messages[39] = 16; + + test_msg.ecdsa_signature_dep.signed_messages[40] = 182; + + test_msg.ecdsa_signature_dep.signed_messages[41] = 76; + + test_msg.ecdsa_signature_dep.signed_messages[42] = 146; + + test_msg.ecdsa_signature_dep.signed_messages[43] = 115; + + test_msg.ecdsa_signature_dep.signed_messages[44] = 58; + + test_msg.ecdsa_signature_dep.signed_messages[45] = 144; + + test_msg.ecdsa_signature_dep.signed_messages[46] = 17; + + test_msg.ecdsa_signature_dep.signed_messages[47] = 105; + + test_msg.ecdsa_signature_dep.signed_messages[48] = 66; + + test_msg.ecdsa_signature_dep.signed_messages[49] = 31; + + test_msg.ecdsa_signature_dep.signed_messages[50] = 135; + + test_msg.ecdsa_signature_dep.signed_messages[51] = 54; + + test_msg.ecdsa_signature_dep.signed_messages[52] = 100; + + test_msg.ecdsa_signature_dep.signed_messages[53] = 84; + + test_msg.ecdsa_signature_dep.signed_messages[54] = 181; + + test_msg.ecdsa_signature_dep.signed_messages[55] = 103; + + test_msg.ecdsa_signature_dep.signed_messages[56] = 11; + + test_msg.ecdsa_signature_dep.signed_messages[57] = 88; + + test_msg.ecdsa_signature_dep.signed_messages[58] = 133; + + test_msg.ecdsa_signature_dep.signed_messages[59] = 155; + + test_msg.ecdsa_signature_dep.signed_messages[60] = 167; + + test_msg.ecdsa_signature_dep.signed_messages[61] = 173; + + test_msg.ecdsa_signature_dep.signed_messages[62] = 143; + + test_msg.ecdsa_signature_dep.signed_messages[63] = 86; + + test_msg.ecdsa_signature_dep.signed_messages[64] = 158; + + test_msg.ecdsa_signature_dep.signed_messages[65] = 20; + + test_msg.ecdsa_signature_dep.signed_messages[66] = 168; + + test_msg.ecdsa_signature_dep.signed_messages[67] = 132; + + test_msg.ecdsa_signature_dep.signed_messages[68] = 141; + + test_msg.ecdsa_signature_dep.signed_messages[69] = 102; + + test_msg.ecdsa_signature_dep.signed_messages[70] = 50; + + test_msg.ecdsa_signature_dep.signed_messages[71] = 48; + + test_msg.ecdsa_signature_dep.signed_messages[72] = 71; + + test_msg.ecdsa_signature_dep.signed_messages[73] = 147; + + test_msg.ecdsa_signature_dep.signed_messages[74] = 53; + + test_msg.ecdsa_signature_dep.signed_messages[75] = 87; + + test_msg.ecdsa_signature_dep.signed_messages[76] = 1; + + test_msg.ecdsa_signature_dep.signed_messages[77] = 108; + + test_msg.ecdsa_signature_dep.signed_messages[78] = 138; + + test_msg.ecdsa_signature_dep.signed_messages[79] = 36; + + test_msg.ecdsa_signature_dep.signed_messages[80] = 134; + + test_msg.ecdsa_signature_dep.signed_messages[81] = 139; + + test_msg.ecdsa_signature_dep.signed_messages[82] = 163; + + test_msg.ecdsa_signature_dep.signed_messages[83] = 82; + + test_msg.ecdsa_signature_dep.signed_messages[84] = 43; + + test_msg.ecdsa_signature_dep.signed_messages[85] = 52; + + test_msg.ecdsa_signature_dep.signed_messages[86] = 150; + + test_msg.ecdsa_signature_dep.signed_messages[87] = 12; + + test_msg.ecdsa_signature_dep.signed_messages[88] = 30; + + test_msg.ecdsa_signature_dep.signed_messages[89] = 110; + + test_msg.ecdsa_signature_dep.signed_messages[90] = 156; + + test_msg.ecdsa_signature_dep.signed_messages[91] = 107; + + test_msg.ecdsa_signature_dep.signed_messages[92] = 120; + + test_msg.ecdsa_signature_dep.signed_messages[93] = 91; + + test_msg.ecdsa_signature_dep.signed_messages[94] = 122; + + test_msg.ecdsa_signature_dep.signed_messages[95] = 69; + + test_msg.ecdsa_signature_dep.signed_messages[96] = 164; + + test_msg.ecdsa_signature_dep.signed_messages[97] = 170; + + test_msg.ecdsa_signature_dep.signed_messages[98] = 116; + + test_msg.ecdsa_signature_dep.signed_messages[99] = 25; + + test_msg.ecdsa_signature_dep.signed_messages[100] = 94; + + test_msg.ecdsa_signature_dep.signed_messages[101] = 5; + + test_msg.ecdsa_signature_dep.signed_messages[102] = 22; + + test_msg.ecdsa_signature_dep.signed_messages[103] = 24; + + test_msg.ecdsa_signature_dep.signed_messages[104] = 162; + + test_msg.ecdsa_signature_dep.signed_messages[105] = 175; + + test_msg.ecdsa_signature_dep.signed_messages[106] = 38; + + test_msg.ecdsa_signature_dep.signed_messages[107] = 157; + + test_msg.ecdsa_signature_dep.signed_messages[108] = 98; + + test_msg.ecdsa_signature_dep.signed_messages[109] = 44; + + test_msg.ecdsa_signature_dep.signed_messages[110] = 160; + + test_msg.ecdsa_signature_dep.signed_messages[111] = 47; + + test_msg.ecdsa_signature_dep.signed_messages[112] = 97; + + test_msg.ecdsa_signature_dep.signed_messages[113] = 142; + + test_msg.ecdsa_signature_dep.signed_messages[114] = 8; + + test_msg.ecdsa_signature_dep.signed_messages[115] = 74; + + test_msg.ecdsa_signature_dep.signed_messages[116] = 13; + + test_msg.ecdsa_signature_dep.signed_messages[117] = 177; + + test_msg.ecdsa_signature_dep.signed_messages[118] = 15; + + test_msg.ecdsa_signature_dep.signed_messages[119] = 128; + + test_msg.ecdsa_signature_dep.signed_messages[120] = 26; + + test_msg.ecdsa_signature_dep.signed_messages[121] = 131; + + test_msg.ecdsa_signature_dep.signed_messages[122] = 154; + + test_msg.ecdsa_signature_dep.signed_messages[123] = 65; + + test_msg.ecdsa_signature_dep.signed_messages[124] = 169; + + test_msg.ecdsa_signature_dep.signed_messages[125] = 55; + + test_msg.ecdsa_signature_dep.signed_messages[126] = 136; + + test_msg.ecdsa_signature_dep.signed_messages[127] = 125; + + test_msg.ecdsa_signature_dep.signed_messages[128] = 171; + + test_msg.ecdsa_signature_dep.signed_messages[129] = 161; + + test_msg.ecdsa_signature_dep.signed_messages[130] = 29; + + test_msg.ecdsa_signature_dep.signed_messages[131] = 129; + + test_msg.ecdsa_signature_dep.signed_messages[132] = 151; + + test_msg.ecdsa_signature_dep.signed_messages[133] = 68; + + test_msg.ecdsa_signature_dep.signed_messages[134] = 166; + + test_msg.ecdsa_signature_dep.signed_messages[135] = 51; + + test_msg.ecdsa_signature_dep.signed_messages[136] = 70; + + test_msg.ecdsa_signature_dep.signed_messages[137] = 45; + + test_msg.ecdsa_signature_dep.signed_messages[138] = 56; + + test_msg.ecdsa_signature_dep.signed_messages[139] = 79; + + test_msg.ecdsa_signature_dep.signed_messages[140] = 149; + + test_msg.ecdsa_signature_dep.signed_messages[141] = 99; + + test_msg.ecdsa_signature_dep.signed_messages[142] = 42; + + test_msg.ecdsa_signature_dep.signed_messages[143] = 101; + + test_msg.ecdsa_signature_dep.signed_messages[144] = 152; + + test_msg.ecdsa_signature_dep.signed_messages[145] = 39; + + test_msg.ecdsa_signature_dep.signed_messages[146] = 89; + + test_msg.ecdsa_signature_dep.signed_messages[147] = 180; + + test_msg.ecdsa_signature_dep.signed_messages[148] = 64; + + test_msg.ecdsa_signature_dep.signed_messages[149] = 49; + + test_msg.ecdsa_signature_dep.signed_messages[150] = 6; + + test_msg.ecdsa_signature_dep.signed_messages[151] = 80; + + test_msg.ecdsa_signature_dep.signed_messages[152] = 172; + + test_msg.ecdsa_signature_dep.signed_messages[153] = 32; + + test_msg.ecdsa_signature_dep.signed_messages[154] = 109; + + test_msg.ecdsa_signature_dep.signed_messages[155] = 2; + + test_msg.ecdsa_signature_dep.signed_messages[156] = 119; + + test_msg.ecdsa_signature_dep.signed_messages[157] = 93; + + test_msg.ecdsa_signature_dep.signed_messages[158] = 176; + + test_msg.ecdsa_signature_dep.signed_messages[159] = 0; + + test_msg.ecdsa_signature_dep.signed_messages[160] = 33; + + test_msg.ecdsa_signature_dep.signed_messages[161] = 57; + + test_msg.ecdsa_signature_dep.signed_messages[162] = 34; + + test_msg.ecdsa_signature_dep.signed_messages[163] = 18; + + test_msg.ecdsa_signature_dep.signed_messages[164] = 85; + + test_msg.ecdsa_signature_dep.signed_messages[165] = 121; + + test_msg.ecdsa_signature_dep.signed_messages[166] = 137; + + test_msg.ecdsa_signature_dep.signed_messages[167] = 83; + + test_msg.ecdsa_signature_dep.signed_messages[168] = 111; + + test_msg.ecdsa_signature_dep.signed_messages[169] = 59; + + test_msg.ecdsa_signature_dep.signed_messages[170] = 7; + + test_msg.ecdsa_signature_dep.signed_messages[171] = 77; + + test_msg.ecdsa_signature_dep.signed_messages[172] = 4; + + test_msg.ecdsa_signature_dep.signed_messages[173] = 117; + + test_msg.ecdsa_signature_dep.signed_messages[174] = 159; + + test_msg.ecdsa_signature_dep.signed_messages[175] = 148; + + test_msg.ecdsa_signature_dep.signed_messages[176] = 35; + + test_msg.ecdsa_signature_dep.signed_messages[177] = 61; + + test_msg.ecdsa_signature_dep.signed_messages[178] = 41; + + test_msg.ecdsa_signature_dep.signed_messages[179] = 67; + + test_msg.ecdsa_signature_dep.signed_messages[180] = 46; + + test_msg.ecdsa_signature_dep.signed_messages[181] = 127; + + test_msg.ecdsa_signature_dep.signed_messages[182] = 75; + + test_msg.ecdsa_signature_dep.signed_messages[183] = 174; + + test_msg.ecdsa_signature_dep.stream_counter = 1; + + sbp_message_send(&sbp_state, SbpMsgEcdsaSignatureDep, 66, &test_msg, + &dummy_write); + + ck_assert_msg(dummy_wr == sizeof(encoded_frame), + "not enough data was written to dummy_buff (expected: %zu, " + "actual: %zu)", + sizeof(encoded_frame), dummy_wr); + ck_assert_msg(memcmp(dummy_buff, encoded_frame, sizeof(encoded_frame)) == 0, + "frame was not encoded properly"); + + while (dummy_rd < dummy_wr) { + ck_assert_msg(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + ck_assert_msg(last_msg.n_callbacks_logged == 1, + "msg_callback: one callback should have been logged"); + ck_assert_msg(last_msg.sender_id == 66, + "msg_callback: sender_id decoded incorrectly"); + + ck_assert_msg( + sbp_message_cmp(SbpMsgEcdsaSignatureDep, &last_msg.msg, &test_msg) == 0, + "Sent and received messages did not compare equal"); + + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.certificate_id[0] == 1, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.certificate_id[0], expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.certificate_id[0]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.certificate_id[1] == 2, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.certificate_id[1], expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.certificate_id[1]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.certificate_id[2] == 3, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.certificate_id[2], expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.certificate_id[2]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.certificate_id[3] == 4, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.certificate_id[3], expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.certificate_id[3]); + + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.flags == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.flags, " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.flags); + + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.n_signed_messages == 184, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.n_signed_messages, " + "expected 184, is %d", + last_msg.msg.ecdsa_signature_dep.n_signed_messages); + + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.on_demand_counter == 2, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.on_demand_counter, expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.on_demand_counter); + + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[0] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[0], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[0]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[1] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[1], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[1]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[2] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[2], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[2]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[3] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[3], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[3]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[4] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[4], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[4]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[5] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[5], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[5]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[6] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[6], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[6]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[7] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[7], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[7]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[8] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[8], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[8]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[9] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[9], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[9]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[10] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[10], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[10]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[11] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[11], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[11]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[12] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[12], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[12]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[13] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[13], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[13]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[14] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[14], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[14]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[15] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[15], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[15]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[16] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[16], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[16]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[17] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[17], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[17]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[18] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[18], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[18]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[19] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[19], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[19]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[20] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[20], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[20]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[21] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[21], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[21]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[22] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[22], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[22]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[23] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[23], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[23]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[24] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[24], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[24]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[25] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[25], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[25]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[26] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[26], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[26]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[27] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[27], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[27]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[28] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[28], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[28]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[29] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[29], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[29]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[30] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[30], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[30]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[31] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[31], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[31]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[32] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[32], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[32]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[33] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[33], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[33]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[34] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[34], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[34]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[35] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[35], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[35]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[36] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[36], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[36]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[37] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[37], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[37]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[38] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[38], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[38]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[39] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[39], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[39]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[40] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[40], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[40]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[41] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[41], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[41]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[42] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[42], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[42]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[43] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[43], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[43]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[44] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[44], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[44]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[45] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[45], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[45]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[46] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[46], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[46]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[47] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[47], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[47]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[48] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[48], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[48]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[49] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[49], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[49]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[50] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[50], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[50]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[51] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[51], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[51]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[52] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[52], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[52]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[53] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[53], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[53]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[54] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[54], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[54]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[55] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[55], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[55]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[56] == 0, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[56], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signature[56]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[57] == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[57], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signature[57]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[58] == 2, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[58], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signature[58]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[59] == 3, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[59], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signature[59]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[60] == 4, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[60], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signature[60]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[61] == 5, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[61], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signature[61]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[62] == 6, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[62], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signature[62]); + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.signature[63] == 7, + "incorrect value for last_msg.msg.ecdsa_signature_dep.signature[63], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signature[63]); + + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[0] == 10, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[0], " + "expected 10, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[0]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[1] == 21, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[1], " + "expected 21, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[1]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[2] == 23, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[2], " + "expected 23, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[2]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[3] == 63, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[3], " + "expected 63, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[3]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[4] == 140, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[4], " + "expected 140, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[4]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[5] == 37, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[5], " + "expected 37, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[5]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[6] == 130, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[6], " + "expected 130, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[6]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[7] == 106, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[7], " + "expected 106, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[7]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[8] == 28, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[8], " + "expected 28, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[8]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[9] == 40, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[9], " + "expected 40, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[9]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[10] == 165, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[10], " + "expected 165, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[10]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[11] == 179, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[11], " + "expected 179, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[11]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[12] == 73, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[12], " + "expected 73, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[12]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[13] == 178, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[13], " + "expected 178, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[13]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[14] == 60, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[14], " + "expected 60, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[14]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[15] == 126, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[15], " + "expected 126, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[15]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[16] == 114, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[16], " + "expected 114, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[16]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[17] == 78, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[17], " + "expected 78, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[17]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[18] == 113, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[18], " + "expected 113, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[18]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[19] == 27, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[19], " + "expected 27, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[19]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[20] == 95, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[20], " + "expected 95, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[20]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[21] == 3, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[21], " + "expected 3, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[21]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[22] == 62, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[22], " + "expected 62, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[22]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[23] == 104, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[23], " + "expected 104, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[23]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[24] == 145, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[24], " + "expected 145, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[24]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[25] == 96, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[25], " + "expected 96, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[25]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[26] == 19, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[26], " + "expected 19, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[26]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[27] == 92, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[27], " + "expected 92, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[27]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[28] == 123, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[28], " + "expected 123, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[28]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[29] == 14, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[29], " + "expected 14, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[29]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[30] == 90, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[30], " + "expected 90, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[30]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[31] == 153, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[31], " + "expected 153, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[31]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[32] == 183, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[32], " + "expected 183, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[32]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[33] == 9, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[33], " + "expected 9, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[33]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[34] == 72, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[34], " + "expected 72, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[34]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[35] == 81, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[35], " + "expected 81, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[35]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[36] == 118, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[36], " + "expected 118, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[36]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[37] == 112, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[37], " + "expected 112, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[37]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[38] == 124, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[38], " + "expected 124, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[38]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[39] == 16, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[39], " + "expected 16, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[39]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[40] == 182, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[40], " + "expected 182, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[40]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[41] == 76, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[41], " + "expected 76, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[41]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[42] == 146, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[42], " + "expected 146, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[42]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[43] == 115, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[43], " + "expected 115, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[43]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[44] == 58, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[44], " + "expected 58, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[44]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[45] == 144, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[45], " + "expected 144, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[45]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[46] == 17, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[46], " + "expected 17, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[46]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[47] == 105, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[47], " + "expected 105, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[47]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[48] == 66, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[48], " + "expected 66, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[48]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[49] == 31, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[49], " + "expected 31, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[49]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[50] == 135, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[50], " + "expected 135, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[50]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[51] == 54, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[51], " + "expected 54, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[51]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[52] == 100, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[52], " + "expected 100, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[52]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[53] == 84, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[53], " + "expected 84, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[53]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[54] == 181, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[54], " + "expected 181, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[54]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[55] == 103, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[55], " + "expected 103, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[55]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[56] == 11, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[56], " + "expected 11, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[56]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[57] == 88, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[57], " + "expected 88, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[57]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[58] == 133, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[58], " + "expected 133, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[58]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[59] == 155, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[59], " + "expected 155, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[59]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[60] == 167, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[60], " + "expected 167, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[60]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[61] == 173, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[61], " + "expected 173, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[61]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[62] == 143, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[62], " + "expected 143, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[62]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[63] == 86, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[63], " + "expected 86, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[63]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[64] == 158, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[64], " + "expected 158, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[64]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[65] == 20, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[65], " + "expected 20, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[65]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[66] == 168, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[66], " + "expected 168, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[66]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[67] == 132, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[67], " + "expected 132, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[67]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[68] == 141, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[68], " + "expected 141, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[68]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[69] == 102, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[69], " + "expected 102, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[69]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[70] == 50, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[70], " + "expected 50, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[70]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[71] == 48, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[71], " + "expected 48, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[71]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[72] == 71, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[72], " + "expected 71, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[72]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[73] == 147, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[73], " + "expected 147, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[73]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[74] == 53, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[74], " + "expected 53, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[74]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[75] == 87, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[75], " + "expected 87, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[75]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[76] == 1, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[76], " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[76]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[77] == 108, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[77], " + "expected 108, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[77]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[78] == 138, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[78], " + "expected 138, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[78]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[79] == 36, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[79], " + "expected 36, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[79]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[80] == 134, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[80], " + "expected 134, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[80]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[81] == 139, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[81], " + "expected 139, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[81]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[82] == 163, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[82], " + "expected 163, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[82]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[83] == 82, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[83], " + "expected 82, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[83]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[84] == 43, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[84], " + "expected 43, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[84]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[85] == 52, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[85], " + "expected 52, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[85]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[86] == 150, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[86], " + "expected 150, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[86]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[87] == 12, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[87], " + "expected 12, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[87]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[88] == 30, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[88], " + "expected 30, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[88]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[89] == 110, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[89], " + "expected 110, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[89]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[90] == 156, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[90], " + "expected 156, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[90]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[91] == 107, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[91], " + "expected 107, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[91]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[92] == 120, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[92], " + "expected 120, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[92]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[93] == 91, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[93], " + "expected 91, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[93]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[94] == 122, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[94], " + "expected 122, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[94]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[95] == 69, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[95], " + "expected 69, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[95]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[96] == 164, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[96], " + "expected 164, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[96]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[97] == 170, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[97], " + "expected 170, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[97]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[98] == 116, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[98], " + "expected 116, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[98]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[99] == 25, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[99], " + "expected 25, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[99]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[100] == 94, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[100], " + "expected 94, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[100]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[101] == 5, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[101], " + "expected 5, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[101]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[102] == 22, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[102], " + "expected 22, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[102]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[103] == 24, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[103], " + "expected 24, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[103]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[104] == 162, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[104], " + "expected 162, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[104]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[105] == 175, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[105], " + "expected 175, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[105]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[106] == 38, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[106], " + "expected 38, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[106]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[107] == 157, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[107], " + "expected 157, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[107]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[108] == 98, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[108], " + "expected 98, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[108]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[109] == 44, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[109], " + "expected 44, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[109]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[110] == 160, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[110], " + "expected 160, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[110]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[111] == 47, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[111], " + "expected 47, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[111]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[112] == 97, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[112], " + "expected 97, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[112]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[113] == 142, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[113], " + "expected 142, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[113]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[114] == 8, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[114], " + "expected 8, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[114]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[115] == 74, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[115], " + "expected 74, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[115]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[116] == 13, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[116], " + "expected 13, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[116]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[117] == 177, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[117], " + "expected 177, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[117]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[118] == 15, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[118], " + "expected 15, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[118]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[119] == 128, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[119], " + "expected 128, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[119]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[120] == 26, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[120], " + "expected 26, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[120]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[121] == 131, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[121], " + "expected 131, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[121]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[122] == 154, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[122], " + "expected 154, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[122]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[123] == 65, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[123], " + "expected 65, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[123]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[124] == 169, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[124], " + "expected 169, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[124]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[125] == 55, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[125], " + "expected 55, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[125]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[126] == 136, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[126], " + "expected 136, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[126]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[127] == 125, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[127], " + "expected 125, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[127]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[128] == 171, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[128], " + "expected 171, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[128]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[129] == 161, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[129], " + "expected 161, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[129]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[130] == 29, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[130], " + "expected 29, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[130]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[131] == 129, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[131], " + "expected 129, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[131]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[132] == 151, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[132], " + "expected 151, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[132]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[133] == 68, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[133], " + "expected 68, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[133]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[134] == 166, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[134], " + "expected 166, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[134]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[135] == 51, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[135], " + "expected 51, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[135]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[136] == 70, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[136], " + "expected 70, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[136]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[137] == 45, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[137], " + "expected 45, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[137]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[138] == 56, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[138], " + "expected 56, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[138]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[139] == 79, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[139], " + "expected 79, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[139]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[140] == 149, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[140], " + "expected 149, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[140]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[141] == 99, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[141], " + "expected 99, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[141]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[142] == 42, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[142], " + "expected 42, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[142]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[143] == 101, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[143], " + "expected 101, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[143]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[144] == 152, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[144], " + "expected 152, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[144]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[145] == 39, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[145], " + "expected 39, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[145]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[146] == 89, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[146], " + "expected 89, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[146]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[147] == 180, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[147], " + "expected 180, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[147]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[148] == 64, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[148], " + "expected 64, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[148]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[149] == 49, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[149], " + "expected 49, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[149]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[150] == 6, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[150], " + "expected 6, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[150]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[151] == 80, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[151], " + "expected 80, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[151]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[152] == 172, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[152], " + "expected 172, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[152]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[153] == 32, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[153], " + "expected 32, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[153]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[154] == 109, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[154], " + "expected 109, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[154]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[155] == 2, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[155], " + "expected 2, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[155]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[156] == 119, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[156], " + "expected 119, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[156]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[157] == 93, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[157], " + "expected 93, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[157]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[158] == 176, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[158], " + "expected 176, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[158]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[159] == 0, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[159], " + "expected 0, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[159]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[160] == 33, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[160], " + "expected 33, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[160]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[161] == 57, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[161], " + "expected 57, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[161]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[162] == 34, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[162], " + "expected 34, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[162]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[163] == 18, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[163], " + "expected 18, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[163]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[164] == 85, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[164], " + "expected 85, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[164]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[165] == 121, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[165], " + "expected 121, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[165]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[166] == 137, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[166], " + "expected 137, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[166]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[167] == 83, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[167], " + "expected 83, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[167]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[168] == 111, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[168], " + "expected 111, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[168]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[169] == 59, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[169], " + "expected 59, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[169]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[170] == 7, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[170], " + "expected 7, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[170]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[171] == 77, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[171], " + "expected 77, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[171]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[172] == 4, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[172], " + "expected 4, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[172]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[173] == 117, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[173], " + "expected 117, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[173]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[174] == 159, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[174], " + "expected 159, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[174]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[175] == 148, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[175], " + "expected 148, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[175]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[176] == 35, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[176], " + "expected 35, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[176]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[177] == 61, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[177], " + "expected 61, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[177]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[178] == 41, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[178], " + "expected 41, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[178]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[179] == 67, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[179], " + "expected 67, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[179]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[180] == 46, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[180], " + "expected 46, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[180]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[181] == 127, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[181], " + "expected 127, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[181]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[182] == 75, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[182], " + "expected 75, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[182]); + ck_assert_msg(last_msg.msg.ecdsa_signature_dep.signed_messages[183] == 174, + "incorrect value for " + "last_msg.msg.ecdsa_signature_dep.signed_messages[183], " + "expected 174, is %d", + last_msg.msg.ecdsa_signature_dep.signed_messages[183]); + + ck_assert_msg( + last_msg.msg.ecdsa_signature_dep.stream_counter == 1, + "incorrect value for last_msg.msg.ecdsa_signature_dep.stream_counter, " + "expected 1, is %d", + last_msg.msg.ecdsa_signature_dep.stream_counter); + } +} +END_TEST + +Suite *auto_check_sbp_signing_MsgEcdsaSignatureDep_suite(void) { + Suite *s = suite_create( + "SBP generated test suite: auto_check_sbp_signing_MsgEcdsaSignatureDep"); + TCase *tc_acq = tcase_create( + "Automated_Suite_auto_check_sbp_signing_MsgEcdsaSignatureDep"); + tcase_add_test(tc_acq, test_auto_check_sbp_signing_MsgEcdsaSignatureDep); + suite_add_tcase(s, tc_acq); + return s; +} \ No newline at end of file diff --git a/c/test/check_main.c b/c/test/check_main.c index 44d4be6ec1..43f862a2d2 100644 --- a/c/test/check_main.c +++ b/c/test/check_main.c @@ -118,6 +118,7 @@ int main(void) { srunner_add_suite(sr, auto_check_sbp_signing_MsgCertificateChain_suite()); srunner_add_suite(sr, auto_check_sbp_signing_MsgEcdsaCertificate_suite()); srunner_add_suite(sr, auto_check_sbp_signing_MsgEcdsaSignature_suite()); + srunner_add_suite(sr, auto_check_sbp_signing_MsgEcdsaSignatureDep_suite()); srunner_add_suite(sr, auto_check_sbp_signing_MsgEd25519CertificateDep_suite()); srunner_add_suite(sr, auto_check_sbp_signing_MsgEd25519SignatureDepA_suite()); diff --git a/c/test/check_main_legacy.c b/c/test/check_main_legacy.c index 7e2b2094fb..15c515965f 100644 --- a/c/test/check_main_legacy.c +++ b/c/test/check_main_legacy.c @@ -158,6 +158,8 @@ int main(void) { legacy_auto_check_sbp_signing_MsgEcdsaCertificate_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_signing_MsgEcdsaSignature_suite()); + srunner_add_suite(sr, + legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep_suite()); srunner_add_suite( sr, legacy_auto_check_sbp_signing_MsgEd25519CertificateDep_suite()); srunner_add_suite( diff --git a/c/test/check_suites.h b/c/test/check_suites.h index 452cdcadff..2230dd5156 100644 --- a/c/test/check_suites.h +++ b/c/test/check_suites.h @@ -103,6 +103,7 @@ Suite* auto_check_sbp_settings_MsgSettingsReadByIndexResp_suite(void); Suite* auto_check_sbp_signing_MsgCertificateChain_suite(void); Suite* auto_check_sbp_signing_MsgEcdsaCertificate_suite(void); Suite* auto_check_sbp_signing_MsgEcdsaSignature_suite(void); +Suite* auto_check_sbp_signing_MsgEcdsaSignatureDep_suite(void); Suite* auto_check_sbp_signing_MsgEd25519CertificateDep_suite(void); Suite* auto_check_sbp_signing_MsgEd25519SignatureDepA_suite(void); Suite* auto_check_sbp_signing_MsgEd25519SignatureDepB_suite(void); diff --git a/c/test/check_suites_legacy.h b/c/test/check_suites_legacy.h index 9a241d3dae..128cb3b3bf 100644 --- a/c/test/check_suites_legacy.h +++ b/c/test/check_suites_legacy.h @@ -104,6 +104,7 @@ Suite* legacy_auto_check_sbp_settings_MsgSettingsReadByIndexResp_suite(void); Suite* legacy_auto_check_sbp_signing_MsgCertificateChain_suite(void); Suite* legacy_auto_check_sbp_signing_MsgEcdsaCertificate_suite(void); Suite* legacy_auto_check_sbp_signing_MsgEcdsaSignature_suite(void); +Suite* legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep_suite(void); Suite* legacy_auto_check_sbp_signing_MsgEd25519CertificateDep_suite(void); Suite* legacy_auto_check_sbp_signing_MsgEd25519SignatureDepA_suite(void); Suite* legacy_auto_check_sbp_signing_MsgEd25519SignatureDepB_suite(void); diff --git a/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc index 22b16a1580..d0e23ff2a7 100644 --- a/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc +++ b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc @@ -76,24 +76,12 @@ class Test_auto_check_sbp_signing_MsgEcdsaSignature0 TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { uint8_t encoded_frame[] = { - 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, - 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, - 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, - 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, - 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, - 6, 7, 10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, - 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, - 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, - 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, - 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, - 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, - 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, - 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, - 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, - 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, - 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, - 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, - 41, 67, 46, 127, 75, 174, 97, 172, + 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, }; sbp_msg_ecdsa_signature_t test_msg{}; @@ -106,7 +94,8 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { test_msg.certificate_id[3] = 4; test_msg.flags = 0; - test_msg.n_signed_messages = 184; + test_msg.n_signature_bytes = 73; + test_msg.n_signed_messages = 3; test_msg.on_demand_counter = 2; test_msg.signature[0] = 0; @@ -125,485 +114,141 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { test_msg.signature[7] = 7; - test_msg.signature[8] = 0; + test_msg.signature[8] = 8; - test_msg.signature[9] = 1; + test_msg.signature[9] = 9; - test_msg.signature[10] = 2; + test_msg.signature[10] = 10; - test_msg.signature[11] = 3; + test_msg.signature[11] = 11; - test_msg.signature[12] = 4; + test_msg.signature[12] = 12; - test_msg.signature[13] = 5; + test_msg.signature[13] = 13; - test_msg.signature[14] = 6; + test_msg.signature[14] = 14; - test_msg.signature[15] = 7; + test_msg.signature[15] = 15; - test_msg.signature[16] = 0; + test_msg.signature[16] = 16; - test_msg.signature[17] = 1; + test_msg.signature[17] = 17; - test_msg.signature[18] = 2; + test_msg.signature[18] = 18; - test_msg.signature[19] = 3; + test_msg.signature[19] = 19; - test_msg.signature[20] = 4; + test_msg.signature[20] = 20; - test_msg.signature[21] = 5; + test_msg.signature[21] = 21; - test_msg.signature[22] = 6; + test_msg.signature[22] = 22; - test_msg.signature[23] = 7; + test_msg.signature[23] = 23; - test_msg.signature[24] = 0; + test_msg.signature[24] = 24; - test_msg.signature[25] = 1; + test_msg.signature[25] = 25; - test_msg.signature[26] = 2; + test_msg.signature[26] = 26; - test_msg.signature[27] = 3; + test_msg.signature[27] = 27; - test_msg.signature[28] = 4; + test_msg.signature[28] = 28; - test_msg.signature[29] = 5; + test_msg.signature[29] = 29; - test_msg.signature[30] = 6; + test_msg.signature[30] = 30; - test_msg.signature[31] = 7; + test_msg.signature[31] = 31; - test_msg.signature[32] = 0; + test_msg.signature[32] = 32; - test_msg.signature[33] = 1; + test_msg.signature[33] = 33; - test_msg.signature[34] = 2; + test_msg.signature[34] = 34; - test_msg.signature[35] = 3; + test_msg.signature[35] = 35; - test_msg.signature[36] = 4; + test_msg.signature[36] = 36; - test_msg.signature[37] = 5; + test_msg.signature[37] = 37; - test_msg.signature[38] = 6; + test_msg.signature[38] = 38; - test_msg.signature[39] = 7; + test_msg.signature[39] = 39; - test_msg.signature[40] = 0; + test_msg.signature[40] = 40; - test_msg.signature[41] = 1; + test_msg.signature[41] = 41; - test_msg.signature[42] = 2; + test_msg.signature[42] = 42; - test_msg.signature[43] = 3; + test_msg.signature[43] = 43; - test_msg.signature[44] = 4; + test_msg.signature[44] = 44; - test_msg.signature[45] = 5; + test_msg.signature[45] = 45; - test_msg.signature[46] = 6; + test_msg.signature[46] = 46; - test_msg.signature[47] = 7; + test_msg.signature[47] = 47; - test_msg.signature[48] = 0; + test_msg.signature[48] = 48; - test_msg.signature[49] = 1; + test_msg.signature[49] = 49; - test_msg.signature[50] = 2; + test_msg.signature[50] = 50; - test_msg.signature[51] = 3; + test_msg.signature[51] = 51; - test_msg.signature[52] = 4; + test_msg.signature[52] = 52; - test_msg.signature[53] = 5; + test_msg.signature[53] = 53; - test_msg.signature[54] = 6; + test_msg.signature[54] = 54; - test_msg.signature[55] = 7; + test_msg.signature[55] = 55; - test_msg.signature[56] = 0; + test_msg.signature[56] = 56; - test_msg.signature[57] = 1; + test_msg.signature[57] = 57; - test_msg.signature[58] = 2; + test_msg.signature[58] = 58; - test_msg.signature[59] = 3; + test_msg.signature[59] = 59; - test_msg.signature[60] = 4; + test_msg.signature[60] = 60; - test_msg.signature[61] = 5; + test_msg.signature[61] = 61; - test_msg.signature[62] = 6; + test_msg.signature[62] = 62; - test_msg.signature[63] = 7; + test_msg.signature[63] = 63; - test_msg.signed_messages[0] = 10; - - test_msg.signed_messages[1] = 21; - - test_msg.signed_messages[2] = 23; - - test_msg.signed_messages[3] = 63; - - test_msg.signed_messages[4] = 140; - - test_msg.signed_messages[5] = 37; - - test_msg.signed_messages[6] = 130; - - test_msg.signed_messages[7] = 106; - - test_msg.signed_messages[8] = 28; - - test_msg.signed_messages[9] = 40; - - test_msg.signed_messages[10] = 165; - - test_msg.signed_messages[11] = 179; - - test_msg.signed_messages[12] = 73; - - test_msg.signed_messages[13] = 178; - - test_msg.signed_messages[14] = 60; - - test_msg.signed_messages[15] = 126; - - test_msg.signed_messages[16] = 114; - - test_msg.signed_messages[17] = 78; - - test_msg.signed_messages[18] = 113; - - test_msg.signed_messages[19] = 27; - - test_msg.signed_messages[20] = 95; - - test_msg.signed_messages[21] = 3; - - test_msg.signed_messages[22] = 62; - - test_msg.signed_messages[23] = 104; - - test_msg.signed_messages[24] = 145; - - test_msg.signed_messages[25] = 96; - - test_msg.signed_messages[26] = 19; - - test_msg.signed_messages[27] = 92; - - test_msg.signed_messages[28] = 123; - - test_msg.signed_messages[29] = 14; - - test_msg.signed_messages[30] = 90; - - test_msg.signed_messages[31] = 153; - - test_msg.signed_messages[32] = 183; - - test_msg.signed_messages[33] = 9; - - test_msg.signed_messages[34] = 72; - - test_msg.signed_messages[35] = 81; - - test_msg.signed_messages[36] = 118; - - test_msg.signed_messages[37] = 112; - - test_msg.signed_messages[38] = 124; - - test_msg.signed_messages[39] = 16; - - test_msg.signed_messages[40] = 182; - - test_msg.signed_messages[41] = 76; - - test_msg.signed_messages[42] = 146; - - test_msg.signed_messages[43] = 115; - - test_msg.signed_messages[44] = 58; - - test_msg.signed_messages[45] = 144; - - test_msg.signed_messages[46] = 17; - - test_msg.signed_messages[47] = 105; - - test_msg.signed_messages[48] = 66; - - test_msg.signed_messages[49] = 31; - - test_msg.signed_messages[50] = 135; - - test_msg.signed_messages[51] = 54; - - test_msg.signed_messages[52] = 100; - - test_msg.signed_messages[53] = 84; - - test_msg.signed_messages[54] = 181; - - test_msg.signed_messages[55] = 103; - - test_msg.signed_messages[56] = 11; - - test_msg.signed_messages[57] = 88; - - test_msg.signed_messages[58] = 133; - - test_msg.signed_messages[59] = 155; - - test_msg.signed_messages[60] = 167; - - test_msg.signed_messages[61] = 173; - - test_msg.signed_messages[62] = 143; - - test_msg.signed_messages[63] = 86; - - test_msg.signed_messages[64] = 158; - - test_msg.signed_messages[65] = 20; - - test_msg.signed_messages[66] = 168; - - test_msg.signed_messages[67] = 132; - - test_msg.signed_messages[68] = 141; - - test_msg.signed_messages[69] = 102; - - test_msg.signed_messages[70] = 50; - - test_msg.signed_messages[71] = 48; - - test_msg.signed_messages[72] = 71; - - test_msg.signed_messages[73] = 147; - - test_msg.signed_messages[74] = 53; - - test_msg.signed_messages[75] = 87; - - test_msg.signed_messages[76] = 1; - - test_msg.signed_messages[77] = 108; - - test_msg.signed_messages[78] = 138; - - test_msg.signed_messages[79] = 36; - - test_msg.signed_messages[80] = 134; - - test_msg.signed_messages[81] = 139; - - test_msg.signed_messages[82] = 163; - - test_msg.signed_messages[83] = 82; - - test_msg.signed_messages[84] = 43; - - test_msg.signed_messages[85] = 52; - - test_msg.signed_messages[86] = 150; + test_msg.signature[64] = 64; - test_msg.signed_messages[87] = 12; + test_msg.signature[65] = 65; - test_msg.signed_messages[88] = 30; + test_msg.signature[66] = 66; - test_msg.signed_messages[89] = 110; + test_msg.signature[67] = 67; - test_msg.signed_messages[90] = 156; + test_msg.signature[68] = 68; - test_msg.signed_messages[91] = 107; + test_msg.signature[69] = 69; - test_msg.signed_messages[92] = 120; + test_msg.signature[70] = 70; - test_msg.signed_messages[93] = 91; + test_msg.signature[71] = 71; - test_msg.signed_messages[94] = 122; + test_msg.signature[72] = 72; - test_msg.signed_messages[95] = 69; - - test_msg.signed_messages[96] = 164; - - test_msg.signed_messages[97] = 170; - - test_msg.signed_messages[98] = 116; - - test_msg.signed_messages[99] = 25; - - test_msg.signed_messages[100] = 94; - - test_msg.signed_messages[101] = 5; - - test_msg.signed_messages[102] = 22; - - test_msg.signed_messages[103] = 24; - - test_msg.signed_messages[104] = 162; - - test_msg.signed_messages[105] = 175; - - test_msg.signed_messages[106] = 38; - - test_msg.signed_messages[107] = 157; - - test_msg.signed_messages[108] = 98; - - test_msg.signed_messages[109] = 44; - - test_msg.signed_messages[110] = 160; - - test_msg.signed_messages[111] = 47; - - test_msg.signed_messages[112] = 97; - - test_msg.signed_messages[113] = 142; - - test_msg.signed_messages[114] = 8; - - test_msg.signed_messages[115] = 74; - - test_msg.signed_messages[116] = 13; - - test_msg.signed_messages[117] = 177; - - test_msg.signed_messages[118] = 15; - - test_msg.signed_messages[119] = 128; - - test_msg.signed_messages[120] = 26; - - test_msg.signed_messages[121] = 131; - - test_msg.signed_messages[122] = 154; - - test_msg.signed_messages[123] = 65; - - test_msg.signed_messages[124] = 169; - - test_msg.signed_messages[125] = 55; - - test_msg.signed_messages[126] = 136; - - test_msg.signed_messages[127] = 125; - - test_msg.signed_messages[128] = 171; - - test_msg.signed_messages[129] = 161; - - test_msg.signed_messages[130] = 29; - - test_msg.signed_messages[131] = 129; - - test_msg.signed_messages[132] = 151; - - test_msg.signed_messages[133] = 68; - - test_msg.signed_messages[134] = 166; - - test_msg.signed_messages[135] = 51; - - test_msg.signed_messages[136] = 70; - - test_msg.signed_messages[137] = 45; - - test_msg.signed_messages[138] = 56; - - test_msg.signed_messages[139] = 79; - - test_msg.signed_messages[140] = 149; - - test_msg.signed_messages[141] = 99; - - test_msg.signed_messages[142] = 42; - - test_msg.signed_messages[143] = 101; - - test_msg.signed_messages[144] = 152; - - test_msg.signed_messages[145] = 39; - - test_msg.signed_messages[146] = 89; - - test_msg.signed_messages[147] = 180; - - test_msg.signed_messages[148] = 64; - - test_msg.signed_messages[149] = 49; - - test_msg.signed_messages[150] = 6; - - test_msg.signed_messages[151] = 80; - - test_msg.signed_messages[152] = 172; - - test_msg.signed_messages[153] = 32; - - test_msg.signed_messages[154] = 109; - - test_msg.signed_messages[155] = 2; - - test_msg.signed_messages[156] = 119; - - test_msg.signed_messages[157] = 93; - - test_msg.signed_messages[158] = 176; - - test_msg.signed_messages[159] = 0; - - test_msg.signed_messages[160] = 33; - - test_msg.signed_messages[161] = 57; - - test_msg.signed_messages[162] = 34; - - test_msg.signed_messages[163] = 18; - - test_msg.signed_messages[164] = 85; - - test_msg.signed_messages[165] = 121; - - test_msg.signed_messages[166] = 137; - - test_msg.signed_messages[167] = 83; - - test_msg.signed_messages[168] = 111; - - test_msg.signed_messages[169] = 59; - - test_msg.signed_messages[170] = 7; - - test_msg.signed_messages[171] = 77; - - test_msg.signed_messages[172] = 4; - - test_msg.signed_messages[173] = 117; - - test_msg.signed_messages[174] = 159; - - test_msg.signed_messages[175] = 148; - - test_msg.signed_messages[176] = 35; - - test_msg.signed_messages[177] = 61; - - test_msg.signed_messages[178] = 41; - - test_msg.signed_messages[179] = 67; - - test_msg.signed_messages[180] = 46; - - test_msg.signed_messages[181] = 127; + test_msg.signed_messages[0] = 10; - test_msg.signed_messages[182] = 75; + test_msg.signed_messages[1] = 21; - test_msg.signed_messages[183] = 174; + test_msg.signed_messages[2] = 23; test_msg.stream_counter = 1; EXPECT_EQ(send_message(66, test_msg), SBP_OK); @@ -633,8 +278,11 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_.flags, 0) << "incorrect value for last_msg_.flags, expected 0, is " << last_msg_.flags; - EXPECT_EQ(last_msg_.n_signed_messages, 184) - << "incorrect value for last_msg_.n_signed_messages, expected 184, is " + EXPECT_EQ(last_msg_.n_signature_bytes, 73) + << "incorrect value for last_msg_.n_signature_bytes, expected 73, is " + << last_msg_.n_signature_bytes; + EXPECT_EQ(last_msg_.n_signed_messages, 3) + << "incorrect value for last_msg_.n_signed_messages, expected 3, is " << last_msg_.n_signed_messages; EXPECT_EQ(last_msg_.on_demand_counter, 2) << "incorrect value for last_msg_.on_demand_counter, expected 2, is " @@ -663,174 +311,201 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_.signature[7], 7) << "incorrect value for last_msg_.signature[7], expected 7, is " << last_msg_.signature[7]; - EXPECT_EQ(last_msg_.signature[8], 0) - << "incorrect value for last_msg_.signature[8], expected 0, is " + EXPECT_EQ(last_msg_.signature[8], 8) + << "incorrect value for last_msg_.signature[8], expected 8, is " << last_msg_.signature[8]; - EXPECT_EQ(last_msg_.signature[9], 1) - << "incorrect value for last_msg_.signature[9], expected 1, is " + EXPECT_EQ(last_msg_.signature[9], 9) + << "incorrect value for last_msg_.signature[9], expected 9, is " << last_msg_.signature[9]; - EXPECT_EQ(last_msg_.signature[10], 2) - << "incorrect value for last_msg_.signature[10], expected 2, is " + EXPECT_EQ(last_msg_.signature[10], 10) + << "incorrect value for last_msg_.signature[10], expected 10, is " << last_msg_.signature[10]; - EXPECT_EQ(last_msg_.signature[11], 3) - << "incorrect value for last_msg_.signature[11], expected 3, is " + EXPECT_EQ(last_msg_.signature[11], 11) + << "incorrect value for last_msg_.signature[11], expected 11, is " << last_msg_.signature[11]; - EXPECT_EQ(last_msg_.signature[12], 4) - << "incorrect value for last_msg_.signature[12], expected 4, is " + EXPECT_EQ(last_msg_.signature[12], 12) + << "incorrect value for last_msg_.signature[12], expected 12, is " << last_msg_.signature[12]; - EXPECT_EQ(last_msg_.signature[13], 5) - << "incorrect value for last_msg_.signature[13], expected 5, is " + EXPECT_EQ(last_msg_.signature[13], 13) + << "incorrect value for last_msg_.signature[13], expected 13, is " << last_msg_.signature[13]; - EXPECT_EQ(last_msg_.signature[14], 6) - << "incorrect value for last_msg_.signature[14], expected 6, is " + EXPECT_EQ(last_msg_.signature[14], 14) + << "incorrect value for last_msg_.signature[14], expected 14, is " << last_msg_.signature[14]; - EXPECT_EQ(last_msg_.signature[15], 7) - << "incorrect value for last_msg_.signature[15], expected 7, is " + EXPECT_EQ(last_msg_.signature[15], 15) + << "incorrect value for last_msg_.signature[15], expected 15, is " << last_msg_.signature[15]; - EXPECT_EQ(last_msg_.signature[16], 0) - << "incorrect value for last_msg_.signature[16], expected 0, is " + EXPECT_EQ(last_msg_.signature[16], 16) + << "incorrect value for last_msg_.signature[16], expected 16, is " << last_msg_.signature[16]; - EXPECT_EQ(last_msg_.signature[17], 1) - << "incorrect value for last_msg_.signature[17], expected 1, is " + EXPECT_EQ(last_msg_.signature[17], 17) + << "incorrect value for last_msg_.signature[17], expected 17, is " << last_msg_.signature[17]; - EXPECT_EQ(last_msg_.signature[18], 2) - << "incorrect value for last_msg_.signature[18], expected 2, is " + EXPECT_EQ(last_msg_.signature[18], 18) + << "incorrect value for last_msg_.signature[18], expected 18, is " << last_msg_.signature[18]; - EXPECT_EQ(last_msg_.signature[19], 3) - << "incorrect value for last_msg_.signature[19], expected 3, is " + EXPECT_EQ(last_msg_.signature[19], 19) + << "incorrect value for last_msg_.signature[19], expected 19, is " << last_msg_.signature[19]; - EXPECT_EQ(last_msg_.signature[20], 4) - << "incorrect value for last_msg_.signature[20], expected 4, is " + EXPECT_EQ(last_msg_.signature[20], 20) + << "incorrect value for last_msg_.signature[20], expected 20, is " << last_msg_.signature[20]; - EXPECT_EQ(last_msg_.signature[21], 5) - << "incorrect value for last_msg_.signature[21], expected 5, is " + EXPECT_EQ(last_msg_.signature[21], 21) + << "incorrect value for last_msg_.signature[21], expected 21, is " << last_msg_.signature[21]; - EXPECT_EQ(last_msg_.signature[22], 6) - << "incorrect value for last_msg_.signature[22], expected 6, is " + EXPECT_EQ(last_msg_.signature[22], 22) + << "incorrect value for last_msg_.signature[22], expected 22, is " << last_msg_.signature[22]; - EXPECT_EQ(last_msg_.signature[23], 7) - << "incorrect value for last_msg_.signature[23], expected 7, is " + EXPECT_EQ(last_msg_.signature[23], 23) + << "incorrect value for last_msg_.signature[23], expected 23, is " << last_msg_.signature[23]; - EXPECT_EQ(last_msg_.signature[24], 0) - << "incorrect value for last_msg_.signature[24], expected 0, is " + EXPECT_EQ(last_msg_.signature[24], 24) + << "incorrect value for last_msg_.signature[24], expected 24, is " << last_msg_.signature[24]; - EXPECT_EQ(last_msg_.signature[25], 1) - << "incorrect value for last_msg_.signature[25], expected 1, is " + EXPECT_EQ(last_msg_.signature[25], 25) + << "incorrect value for last_msg_.signature[25], expected 25, is " << last_msg_.signature[25]; - EXPECT_EQ(last_msg_.signature[26], 2) - << "incorrect value for last_msg_.signature[26], expected 2, is " + EXPECT_EQ(last_msg_.signature[26], 26) + << "incorrect value for last_msg_.signature[26], expected 26, is " << last_msg_.signature[26]; - EXPECT_EQ(last_msg_.signature[27], 3) - << "incorrect value for last_msg_.signature[27], expected 3, is " + EXPECT_EQ(last_msg_.signature[27], 27) + << "incorrect value for last_msg_.signature[27], expected 27, is " << last_msg_.signature[27]; - EXPECT_EQ(last_msg_.signature[28], 4) - << "incorrect value for last_msg_.signature[28], expected 4, is " + EXPECT_EQ(last_msg_.signature[28], 28) + << "incorrect value for last_msg_.signature[28], expected 28, is " << last_msg_.signature[28]; - EXPECT_EQ(last_msg_.signature[29], 5) - << "incorrect value for last_msg_.signature[29], expected 5, is " + EXPECT_EQ(last_msg_.signature[29], 29) + << "incorrect value for last_msg_.signature[29], expected 29, is " << last_msg_.signature[29]; - EXPECT_EQ(last_msg_.signature[30], 6) - << "incorrect value for last_msg_.signature[30], expected 6, is " + EXPECT_EQ(last_msg_.signature[30], 30) + << "incorrect value for last_msg_.signature[30], expected 30, is " << last_msg_.signature[30]; - EXPECT_EQ(last_msg_.signature[31], 7) - << "incorrect value for last_msg_.signature[31], expected 7, is " + EXPECT_EQ(last_msg_.signature[31], 31) + << "incorrect value for last_msg_.signature[31], expected 31, is " << last_msg_.signature[31]; - EXPECT_EQ(last_msg_.signature[32], 0) - << "incorrect value for last_msg_.signature[32], expected 0, is " + EXPECT_EQ(last_msg_.signature[32], 32) + << "incorrect value for last_msg_.signature[32], expected 32, is " << last_msg_.signature[32]; - EXPECT_EQ(last_msg_.signature[33], 1) - << "incorrect value for last_msg_.signature[33], expected 1, is " + EXPECT_EQ(last_msg_.signature[33], 33) + << "incorrect value for last_msg_.signature[33], expected 33, is " << last_msg_.signature[33]; - EXPECT_EQ(last_msg_.signature[34], 2) - << "incorrect value for last_msg_.signature[34], expected 2, is " + EXPECT_EQ(last_msg_.signature[34], 34) + << "incorrect value for last_msg_.signature[34], expected 34, is " << last_msg_.signature[34]; - EXPECT_EQ(last_msg_.signature[35], 3) - << "incorrect value for last_msg_.signature[35], expected 3, is " + EXPECT_EQ(last_msg_.signature[35], 35) + << "incorrect value for last_msg_.signature[35], expected 35, is " << last_msg_.signature[35]; - EXPECT_EQ(last_msg_.signature[36], 4) - << "incorrect value for last_msg_.signature[36], expected 4, is " + EXPECT_EQ(last_msg_.signature[36], 36) + << "incorrect value for last_msg_.signature[36], expected 36, is " << last_msg_.signature[36]; - EXPECT_EQ(last_msg_.signature[37], 5) - << "incorrect value for last_msg_.signature[37], expected 5, is " + EXPECT_EQ(last_msg_.signature[37], 37) + << "incorrect value for last_msg_.signature[37], expected 37, is " << last_msg_.signature[37]; - EXPECT_EQ(last_msg_.signature[38], 6) - << "incorrect value for last_msg_.signature[38], expected 6, is " + EXPECT_EQ(last_msg_.signature[38], 38) + << "incorrect value for last_msg_.signature[38], expected 38, is " << last_msg_.signature[38]; - EXPECT_EQ(last_msg_.signature[39], 7) - << "incorrect value for last_msg_.signature[39], expected 7, is " + EXPECT_EQ(last_msg_.signature[39], 39) + << "incorrect value for last_msg_.signature[39], expected 39, is " << last_msg_.signature[39]; - EXPECT_EQ(last_msg_.signature[40], 0) - << "incorrect value for last_msg_.signature[40], expected 0, is " + EXPECT_EQ(last_msg_.signature[40], 40) + << "incorrect value for last_msg_.signature[40], expected 40, is " << last_msg_.signature[40]; - EXPECT_EQ(last_msg_.signature[41], 1) - << "incorrect value for last_msg_.signature[41], expected 1, is " + EXPECT_EQ(last_msg_.signature[41], 41) + << "incorrect value for last_msg_.signature[41], expected 41, is " << last_msg_.signature[41]; - EXPECT_EQ(last_msg_.signature[42], 2) - << "incorrect value for last_msg_.signature[42], expected 2, is " + EXPECT_EQ(last_msg_.signature[42], 42) + << "incorrect value for last_msg_.signature[42], expected 42, is " << last_msg_.signature[42]; - EXPECT_EQ(last_msg_.signature[43], 3) - << "incorrect value for last_msg_.signature[43], expected 3, is " + EXPECT_EQ(last_msg_.signature[43], 43) + << "incorrect value for last_msg_.signature[43], expected 43, is " << last_msg_.signature[43]; - EXPECT_EQ(last_msg_.signature[44], 4) - << "incorrect value for last_msg_.signature[44], expected 4, is " + EXPECT_EQ(last_msg_.signature[44], 44) + << "incorrect value for last_msg_.signature[44], expected 44, is " << last_msg_.signature[44]; - EXPECT_EQ(last_msg_.signature[45], 5) - << "incorrect value for last_msg_.signature[45], expected 5, is " + EXPECT_EQ(last_msg_.signature[45], 45) + << "incorrect value for last_msg_.signature[45], expected 45, is " << last_msg_.signature[45]; - EXPECT_EQ(last_msg_.signature[46], 6) - << "incorrect value for last_msg_.signature[46], expected 6, is " + EXPECT_EQ(last_msg_.signature[46], 46) + << "incorrect value for last_msg_.signature[46], expected 46, is " << last_msg_.signature[46]; - EXPECT_EQ(last_msg_.signature[47], 7) - << "incorrect value for last_msg_.signature[47], expected 7, is " + EXPECT_EQ(last_msg_.signature[47], 47) + << "incorrect value for last_msg_.signature[47], expected 47, is " << last_msg_.signature[47]; - EXPECT_EQ(last_msg_.signature[48], 0) - << "incorrect value for last_msg_.signature[48], expected 0, is " + EXPECT_EQ(last_msg_.signature[48], 48) + << "incorrect value for last_msg_.signature[48], expected 48, is " << last_msg_.signature[48]; - EXPECT_EQ(last_msg_.signature[49], 1) - << "incorrect value for last_msg_.signature[49], expected 1, is " + EXPECT_EQ(last_msg_.signature[49], 49) + << "incorrect value for last_msg_.signature[49], expected 49, is " << last_msg_.signature[49]; - EXPECT_EQ(last_msg_.signature[50], 2) - << "incorrect value for last_msg_.signature[50], expected 2, is " + EXPECT_EQ(last_msg_.signature[50], 50) + << "incorrect value for last_msg_.signature[50], expected 50, is " << last_msg_.signature[50]; - EXPECT_EQ(last_msg_.signature[51], 3) - << "incorrect value for last_msg_.signature[51], expected 3, is " + EXPECT_EQ(last_msg_.signature[51], 51) + << "incorrect value for last_msg_.signature[51], expected 51, is " << last_msg_.signature[51]; - EXPECT_EQ(last_msg_.signature[52], 4) - << "incorrect value for last_msg_.signature[52], expected 4, is " + EXPECT_EQ(last_msg_.signature[52], 52) + << "incorrect value for last_msg_.signature[52], expected 52, is " << last_msg_.signature[52]; - EXPECT_EQ(last_msg_.signature[53], 5) - << "incorrect value for last_msg_.signature[53], expected 5, is " + EXPECT_EQ(last_msg_.signature[53], 53) + << "incorrect value for last_msg_.signature[53], expected 53, is " << last_msg_.signature[53]; - EXPECT_EQ(last_msg_.signature[54], 6) - << "incorrect value for last_msg_.signature[54], expected 6, is " + EXPECT_EQ(last_msg_.signature[54], 54) + << "incorrect value for last_msg_.signature[54], expected 54, is " << last_msg_.signature[54]; - EXPECT_EQ(last_msg_.signature[55], 7) - << "incorrect value for last_msg_.signature[55], expected 7, is " + EXPECT_EQ(last_msg_.signature[55], 55) + << "incorrect value for last_msg_.signature[55], expected 55, is " << last_msg_.signature[55]; - EXPECT_EQ(last_msg_.signature[56], 0) - << "incorrect value for last_msg_.signature[56], expected 0, is " + EXPECT_EQ(last_msg_.signature[56], 56) + << "incorrect value for last_msg_.signature[56], expected 56, is " << last_msg_.signature[56]; - EXPECT_EQ(last_msg_.signature[57], 1) - << "incorrect value for last_msg_.signature[57], expected 1, is " + EXPECT_EQ(last_msg_.signature[57], 57) + << "incorrect value for last_msg_.signature[57], expected 57, is " << last_msg_.signature[57]; - EXPECT_EQ(last_msg_.signature[58], 2) - << "incorrect value for last_msg_.signature[58], expected 2, is " + EXPECT_EQ(last_msg_.signature[58], 58) + << "incorrect value for last_msg_.signature[58], expected 58, is " << last_msg_.signature[58]; - EXPECT_EQ(last_msg_.signature[59], 3) - << "incorrect value for last_msg_.signature[59], expected 3, is " + EXPECT_EQ(last_msg_.signature[59], 59) + << "incorrect value for last_msg_.signature[59], expected 59, is " << last_msg_.signature[59]; - EXPECT_EQ(last_msg_.signature[60], 4) - << "incorrect value for last_msg_.signature[60], expected 4, is " + EXPECT_EQ(last_msg_.signature[60], 60) + << "incorrect value for last_msg_.signature[60], expected 60, is " << last_msg_.signature[60]; - EXPECT_EQ(last_msg_.signature[61], 5) - << "incorrect value for last_msg_.signature[61], expected 5, is " + EXPECT_EQ(last_msg_.signature[61], 61) + << "incorrect value for last_msg_.signature[61], expected 61, is " << last_msg_.signature[61]; - EXPECT_EQ(last_msg_.signature[62], 6) - << "incorrect value for last_msg_.signature[62], expected 6, is " + EXPECT_EQ(last_msg_.signature[62], 62) + << "incorrect value for last_msg_.signature[62], expected 62, is " << last_msg_.signature[62]; - EXPECT_EQ(last_msg_.signature[63], 7) - << "incorrect value for last_msg_.signature[63], expected 7, is " + EXPECT_EQ(last_msg_.signature[63], 63) + << "incorrect value for last_msg_.signature[63], expected 63, is " << last_msg_.signature[63]; + EXPECT_EQ(last_msg_.signature[64], 64) + << "incorrect value for last_msg_.signature[64], expected 64, is " + << last_msg_.signature[64]; + EXPECT_EQ(last_msg_.signature[65], 65) + << "incorrect value for last_msg_.signature[65], expected 65, is " + << last_msg_.signature[65]; + EXPECT_EQ(last_msg_.signature[66], 66) + << "incorrect value for last_msg_.signature[66], expected 66, is " + << last_msg_.signature[66]; + EXPECT_EQ(last_msg_.signature[67], 67) + << "incorrect value for last_msg_.signature[67], expected 67, is " + << last_msg_.signature[67]; + EXPECT_EQ(last_msg_.signature[68], 68) + << "incorrect value for last_msg_.signature[68], expected 68, is " + << last_msg_.signature[68]; + EXPECT_EQ(last_msg_.signature[69], 69) + << "incorrect value for last_msg_.signature[69], expected 69, is " + << last_msg_.signature[69]; + EXPECT_EQ(last_msg_.signature[70], 70) + << "incorrect value for last_msg_.signature[70], expected 70, is " + << last_msg_.signature[70]; + EXPECT_EQ(last_msg_.signature[71], 71) + << "incorrect value for last_msg_.signature[71], expected 71, is " + << last_msg_.signature[71]; + EXPECT_EQ(last_msg_.signature[72], 72) + << "incorrect value for last_msg_.signature[72], expected 72, is " + << last_msg_.signature[72]; EXPECT_EQ(last_msg_.signed_messages[0], 10) << "incorrect value for last_msg_.signed_messages[0], expected 10, is " << last_msg_.signed_messages[0]; @@ -840,549 +515,6 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_.signed_messages[2], 23) << "incorrect value for last_msg_.signed_messages[2], expected 23, is " << last_msg_.signed_messages[2]; - EXPECT_EQ(last_msg_.signed_messages[3], 63) - << "incorrect value for last_msg_.signed_messages[3], expected 63, is " - << last_msg_.signed_messages[3]; - EXPECT_EQ(last_msg_.signed_messages[4], 140) - << "incorrect value for last_msg_.signed_messages[4], expected 140, is " - << last_msg_.signed_messages[4]; - EXPECT_EQ(last_msg_.signed_messages[5], 37) - << "incorrect value for last_msg_.signed_messages[5], expected 37, is " - << last_msg_.signed_messages[5]; - EXPECT_EQ(last_msg_.signed_messages[6], 130) - << "incorrect value for last_msg_.signed_messages[6], expected 130, is " - << last_msg_.signed_messages[6]; - EXPECT_EQ(last_msg_.signed_messages[7], 106) - << "incorrect value for last_msg_.signed_messages[7], expected 106, is " - << last_msg_.signed_messages[7]; - EXPECT_EQ(last_msg_.signed_messages[8], 28) - << "incorrect value for last_msg_.signed_messages[8], expected 28, is " - << last_msg_.signed_messages[8]; - EXPECT_EQ(last_msg_.signed_messages[9], 40) - << "incorrect value for last_msg_.signed_messages[9], expected 40, is " - << last_msg_.signed_messages[9]; - EXPECT_EQ(last_msg_.signed_messages[10], 165) - << "incorrect value for last_msg_.signed_messages[10], expected 165, is " - << last_msg_.signed_messages[10]; - EXPECT_EQ(last_msg_.signed_messages[11], 179) - << "incorrect value for last_msg_.signed_messages[11], expected 179, is " - << last_msg_.signed_messages[11]; - EXPECT_EQ(last_msg_.signed_messages[12], 73) - << "incorrect value for last_msg_.signed_messages[12], expected 73, is " - << last_msg_.signed_messages[12]; - EXPECT_EQ(last_msg_.signed_messages[13], 178) - << "incorrect value for last_msg_.signed_messages[13], expected 178, is " - << last_msg_.signed_messages[13]; - EXPECT_EQ(last_msg_.signed_messages[14], 60) - << "incorrect value for last_msg_.signed_messages[14], expected 60, is " - << last_msg_.signed_messages[14]; - EXPECT_EQ(last_msg_.signed_messages[15], 126) - << "incorrect value for last_msg_.signed_messages[15], expected 126, is " - << last_msg_.signed_messages[15]; - EXPECT_EQ(last_msg_.signed_messages[16], 114) - << "incorrect value for last_msg_.signed_messages[16], expected 114, is " - << last_msg_.signed_messages[16]; - EXPECT_EQ(last_msg_.signed_messages[17], 78) - << "incorrect value for last_msg_.signed_messages[17], expected 78, is " - << last_msg_.signed_messages[17]; - EXPECT_EQ(last_msg_.signed_messages[18], 113) - << "incorrect value for last_msg_.signed_messages[18], expected 113, is " - << last_msg_.signed_messages[18]; - EXPECT_EQ(last_msg_.signed_messages[19], 27) - << "incorrect value for last_msg_.signed_messages[19], expected 27, is " - << last_msg_.signed_messages[19]; - EXPECT_EQ(last_msg_.signed_messages[20], 95) - << "incorrect value for last_msg_.signed_messages[20], expected 95, is " - << last_msg_.signed_messages[20]; - EXPECT_EQ(last_msg_.signed_messages[21], 3) - << "incorrect value for last_msg_.signed_messages[21], expected 3, is " - << last_msg_.signed_messages[21]; - EXPECT_EQ(last_msg_.signed_messages[22], 62) - << "incorrect value for last_msg_.signed_messages[22], expected 62, is " - << last_msg_.signed_messages[22]; - EXPECT_EQ(last_msg_.signed_messages[23], 104) - << "incorrect value for last_msg_.signed_messages[23], expected 104, is " - << last_msg_.signed_messages[23]; - EXPECT_EQ(last_msg_.signed_messages[24], 145) - << "incorrect value for last_msg_.signed_messages[24], expected 145, is " - << last_msg_.signed_messages[24]; - EXPECT_EQ(last_msg_.signed_messages[25], 96) - << "incorrect value for last_msg_.signed_messages[25], expected 96, is " - << last_msg_.signed_messages[25]; - EXPECT_EQ(last_msg_.signed_messages[26], 19) - << "incorrect value for last_msg_.signed_messages[26], expected 19, is " - << last_msg_.signed_messages[26]; - EXPECT_EQ(last_msg_.signed_messages[27], 92) - << "incorrect value for last_msg_.signed_messages[27], expected 92, is " - << last_msg_.signed_messages[27]; - EXPECT_EQ(last_msg_.signed_messages[28], 123) - << "incorrect value for last_msg_.signed_messages[28], expected 123, is " - << last_msg_.signed_messages[28]; - EXPECT_EQ(last_msg_.signed_messages[29], 14) - << "incorrect value for last_msg_.signed_messages[29], expected 14, is " - << last_msg_.signed_messages[29]; - EXPECT_EQ(last_msg_.signed_messages[30], 90) - << "incorrect value for last_msg_.signed_messages[30], expected 90, is " - << last_msg_.signed_messages[30]; - EXPECT_EQ(last_msg_.signed_messages[31], 153) - << "incorrect value for last_msg_.signed_messages[31], expected 153, is " - << last_msg_.signed_messages[31]; - EXPECT_EQ(last_msg_.signed_messages[32], 183) - << "incorrect value for last_msg_.signed_messages[32], expected 183, is " - << last_msg_.signed_messages[32]; - EXPECT_EQ(last_msg_.signed_messages[33], 9) - << "incorrect value for last_msg_.signed_messages[33], expected 9, is " - << last_msg_.signed_messages[33]; - EXPECT_EQ(last_msg_.signed_messages[34], 72) - << "incorrect value for last_msg_.signed_messages[34], expected 72, is " - << last_msg_.signed_messages[34]; - EXPECT_EQ(last_msg_.signed_messages[35], 81) - << "incorrect value for last_msg_.signed_messages[35], expected 81, is " - << last_msg_.signed_messages[35]; - EXPECT_EQ(last_msg_.signed_messages[36], 118) - << "incorrect value for last_msg_.signed_messages[36], expected 118, is " - << last_msg_.signed_messages[36]; - EXPECT_EQ(last_msg_.signed_messages[37], 112) - << "incorrect value for last_msg_.signed_messages[37], expected 112, is " - << last_msg_.signed_messages[37]; - EXPECT_EQ(last_msg_.signed_messages[38], 124) - << "incorrect value for last_msg_.signed_messages[38], expected 124, is " - << last_msg_.signed_messages[38]; - EXPECT_EQ(last_msg_.signed_messages[39], 16) - << "incorrect value for last_msg_.signed_messages[39], expected 16, is " - << last_msg_.signed_messages[39]; - EXPECT_EQ(last_msg_.signed_messages[40], 182) - << "incorrect value for last_msg_.signed_messages[40], expected 182, is " - << last_msg_.signed_messages[40]; - EXPECT_EQ(last_msg_.signed_messages[41], 76) - << "incorrect value for last_msg_.signed_messages[41], expected 76, is " - << last_msg_.signed_messages[41]; - EXPECT_EQ(last_msg_.signed_messages[42], 146) - << "incorrect value for last_msg_.signed_messages[42], expected 146, is " - << last_msg_.signed_messages[42]; - EXPECT_EQ(last_msg_.signed_messages[43], 115) - << "incorrect value for last_msg_.signed_messages[43], expected 115, is " - << last_msg_.signed_messages[43]; - EXPECT_EQ(last_msg_.signed_messages[44], 58) - << "incorrect value for last_msg_.signed_messages[44], expected 58, is " - << last_msg_.signed_messages[44]; - EXPECT_EQ(last_msg_.signed_messages[45], 144) - << "incorrect value for last_msg_.signed_messages[45], expected 144, is " - << last_msg_.signed_messages[45]; - EXPECT_EQ(last_msg_.signed_messages[46], 17) - << "incorrect value for last_msg_.signed_messages[46], expected 17, is " - << last_msg_.signed_messages[46]; - EXPECT_EQ(last_msg_.signed_messages[47], 105) - << "incorrect value for last_msg_.signed_messages[47], expected 105, is " - << last_msg_.signed_messages[47]; - EXPECT_EQ(last_msg_.signed_messages[48], 66) - << "incorrect value for last_msg_.signed_messages[48], expected 66, is " - << last_msg_.signed_messages[48]; - EXPECT_EQ(last_msg_.signed_messages[49], 31) - << "incorrect value for last_msg_.signed_messages[49], expected 31, is " - << last_msg_.signed_messages[49]; - EXPECT_EQ(last_msg_.signed_messages[50], 135) - << "incorrect value for last_msg_.signed_messages[50], expected 135, is " - << last_msg_.signed_messages[50]; - EXPECT_EQ(last_msg_.signed_messages[51], 54) - << "incorrect value for last_msg_.signed_messages[51], expected 54, is " - << last_msg_.signed_messages[51]; - EXPECT_EQ(last_msg_.signed_messages[52], 100) - << "incorrect value for last_msg_.signed_messages[52], expected 100, is " - << last_msg_.signed_messages[52]; - EXPECT_EQ(last_msg_.signed_messages[53], 84) - << "incorrect value for last_msg_.signed_messages[53], expected 84, is " - << last_msg_.signed_messages[53]; - EXPECT_EQ(last_msg_.signed_messages[54], 181) - << "incorrect value for last_msg_.signed_messages[54], expected 181, is " - << last_msg_.signed_messages[54]; - EXPECT_EQ(last_msg_.signed_messages[55], 103) - << "incorrect value for last_msg_.signed_messages[55], expected 103, is " - << last_msg_.signed_messages[55]; - EXPECT_EQ(last_msg_.signed_messages[56], 11) - << "incorrect value for last_msg_.signed_messages[56], expected 11, is " - << last_msg_.signed_messages[56]; - EXPECT_EQ(last_msg_.signed_messages[57], 88) - << "incorrect value for last_msg_.signed_messages[57], expected 88, is " - << last_msg_.signed_messages[57]; - EXPECT_EQ(last_msg_.signed_messages[58], 133) - << "incorrect value for last_msg_.signed_messages[58], expected 133, is " - << last_msg_.signed_messages[58]; - EXPECT_EQ(last_msg_.signed_messages[59], 155) - << "incorrect value for last_msg_.signed_messages[59], expected 155, is " - << last_msg_.signed_messages[59]; - EXPECT_EQ(last_msg_.signed_messages[60], 167) - << "incorrect value for last_msg_.signed_messages[60], expected 167, is " - << last_msg_.signed_messages[60]; - EXPECT_EQ(last_msg_.signed_messages[61], 173) - << "incorrect value for last_msg_.signed_messages[61], expected 173, is " - << last_msg_.signed_messages[61]; - EXPECT_EQ(last_msg_.signed_messages[62], 143) - << "incorrect value for last_msg_.signed_messages[62], expected 143, is " - << last_msg_.signed_messages[62]; - EXPECT_EQ(last_msg_.signed_messages[63], 86) - << "incorrect value for last_msg_.signed_messages[63], expected 86, is " - << last_msg_.signed_messages[63]; - EXPECT_EQ(last_msg_.signed_messages[64], 158) - << "incorrect value for last_msg_.signed_messages[64], expected 158, is " - << last_msg_.signed_messages[64]; - EXPECT_EQ(last_msg_.signed_messages[65], 20) - << "incorrect value for last_msg_.signed_messages[65], expected 20, is " - << last_msg_.signed_messages[65]; - EXPECT_EQ(last_msg_.signed_messages[66], 168) - << "incorrect value for last_msg_.signed_messages[66], expected 168, is " - << last_msg_.signed_messages[66]; - EXPECT_EQ(last_msg_.signed_messages[67], 132) - << "incorrect value for last_msg_.signed_messages[67], expected 132, is " - << last_msg_.signed_messages[67]; - EXPECT_EQ(last_msg_.signed_messages[68], 141) - << "incorrect value for last_msg_.signed_messages[68], expected 141, is " - << last_msg_.signed_messages[68]; - EXPECT_EQ(last_msg_.signed_messages[69], 102) - << "incorrect value for last_msg_.signed_messages[69], expected 102, is " - << last_msg_.signed_messages[69]; - EXPECT_EQ(last_msg_.signed_messages[70], 50) - << "incorrect value for last_msg_.signed_messages[70], expected 50, is " - << last_msg_.signed_messages[70]; - EXPECT_EQ(last_msg_.signed_messages[71], 48) - << "incorrect value for last_msg_.signed_messages[71], expected 48, is " - << last_msg_.signed_messages[71]; - EXPECT_EQ(last_msg_.signed_messages[72], 71) - << "incorrect value for last_msg_.signed_messages[72], expected 71, is " - << last_msg_.signed_messages[72]; - EXPECT_EQ(last_msg_.signed_messages[73], 147) - << "incorrect value for last_msg_.signed_messages[73], expected 147, is " - << last_msg_.signed_messages[73]; - EXPECT_EQ(last_msg_.signed_messages[74], 53) - << "incorrect value for last_msg_.signed_messages[74], expected 53, is " - << last_msg_.signed_messages[74]; - EXPECT_EQ(last_msg_.signed_messages[75], 87) - << "incorrect value for last_msg_.signed_messages[75], expected 87, is " - << last_msg_.signed_messages[75]; - EXPECT_EQ(last_msg_.signed_messages[76], 1) - << "incorrect value for last_msg_.signed_messages[76], expected 1, is " - << last_msg_.signed_messages[76]; - EXPECT_EQ(last_msg_.signed_messages[77], 108) - << "incorrect value for last_msg_.signed_messages[77], expected 108, is " - << last_msg_.signed_messages[77]; - EXPECT_EQ(last_msg_.signed_messages[78], 138) - << "incorrect value for last_msg_.signed_messages[78], expected 138, is " - << last_msg_.signed_messages[78]; - EXPECT_EQ(last_msg_.signed_messages[79], 36) - << "incorrect value for last_msg_.signed_messages[79], expected 36, is " - << last_msg_.signed_messages[79]; - EXPECT_EQ(last_msg_.signed_messages[80], 134) - << "incorrect value for last_msg_.signed_messages[80], expected 134, is " - << last_msg_.signed_messages[80]; - EXPECT_EQ(last_msg_.signed_messages[81], 139) - << "incorrect value for last_msg_.signed_messages[81], expected 139, is " - << last_msg_.signed_messages[81]; - EXPECT_EQ(last_msg_.signed_messages[82], 163) - << "incorrect value for last_msg_.signed_messages[82], expected 163, is " - << last_msg_.signed_messages[82]; - EXPECT_EQ(last_msg_.signed_messages[83], 82) - << "incorrect value for last_msg_.signed_messages[83], expected 82, is " - << last_msg_.signed_messages[83]; - EXPECT_EQ(last_msg_.signed_messages[84], 43) - << "incorrect value for last_msg_.signed_messages[84], expected 43, is " - << last_msg_.signed_messages[84]; - EXPECT_EQ(last_msg_.signed_messages[85], 52) - << "incorrect value for last_msg_.signed_messages[85], expected 52, is " - << last_msg_.signed_messages[85]; - EXPECT_EQ(last_msg_.signed_messages[86], 150) - << "incorrect value for last_msg_.signed_messages[86], expected 150, is " - << last_msg_.signed_messages[86]; - EXPECT_EQ(last_msg_.signed_messages[87], 12) - << "incorrect value for last_msg_.signed_messages[87], expected 12, is " - << last_msg_.signed_messages[87]; - EXPECT_EQ(last_msg_.signed_messages[88], 30) - << "incorrect value for last_msg_.signed_messages[88], expected 30, is " - << last_msg_.signed_messages[88]; - EXPECT_EQ(last_msg_.signed_messages[89], 110) - << "incorrect value for last_msg_.signed_messages[89], expected 110, is " - << last_msg_.signed_messages[89]; - EXPECT_EQ(last_msg_.signed_messages[90], 156) - << "incorrect value for last_msg_.signed_messages[90], expected 156, is " - << last_msg_.signed_messages[90]; - EXPECT_EQ(last_msg_.signed_messages[91], 107) - << "incorrect value for last_msg_.signed_messages[91], expected 107, is " - << last_msg_.signed_messages[91]; - EXPECT_EQ(last_msg_.signed_messages[92], 120) - << "incorrect value for last_msg_.signed_messages[92], expected 120, is " - << last_msg_.signed_messages[92]; - EXPECT_EQ(last_msg_.signed_messages[93], 91) - << "incorrect value for last_msg_.signed_messages[93], expected 91, is " - << last_msg_.signed_messages[93]; - EXPECT_EQ(last_msg_.signed_messages[94], 122) - << "incorrect value for last_msg_.signed_messages[94], expected 122, is " - << last_msg_.signed_messages[94]; - EXPECT_EQ(last_msg_.signed_messages[95], 69) - << "incorrect value for last_msg_.signed_messages[95], expected 69, is " - << last_msg_.signed_messages[95]; - EXPECT_EQ(last_msg_.signed_messages[96], 164) - << "incorrect value for last_msg_.signed_messages[96], expected 164, is " - << last_msg_.signed_messages[96]; - EXPECT_EQ(last_msg_.signed_messages[97], 170) - << "incorrect value for last_msg_.signed_messages[97], expected 170, is " - << last_msg_.signed_messages[97]; - EXPECT_EQ(last_msg_.signed_messages[98], 116) - << "incorrect value for last_msg_.signed_messages[98], expected 116, is " - << last_msg_.signed_messages[98]; - EXPECT_EQ(last_msg_.signed_messages[99], 25) - << "incorrect value for last_msg_.signed_messages[99], expected 25, is " - << last_msg_.signed_messages[99]; - EXPECT_EQ(last_msg_.signed_messages[100], 94) - << "incorrect value for last_msg_.signed_messages[100], expected 94, is " - << last_msg_.signed_messages[100]; - EXPECT_EQ(last_msg_.signed_messages[101], 5) - << "incorrect value for last_msg_.signed_messages[101], expected 5, is " - << last_msg_.signed_messages[101]; - EXPECT_EQ(last_msg_.signed_messages[102], 22) - << "incorrect value for last_msg_.signed_messages[102], expected 22, is " - << last_msg_.signed_messages[102]; - EXPECT_EQ(last_msg_.signed_messages[103], 24) - << "incorrect value for last_msg_.signed_messages[103], expected 24, is " - << last_msg_.signed_messages[103]; - EXPECT_EQ(last_msg_.signed_messages[104], 162) - << "incorrect value for last_msg_.signed_messages[104], expected 162, is " - << last_msg_.signed_messages[104]; - EXPECT_EQ(last_msg_.signed_messages[105], 175) - << "incorrect value for last_msg_.signed_messages[105], expected 175, is " - << last_msg_.signed_messages[105]; - EXPECT_EQ(last_msg_.signed_messages[106], 38) - << "incorrect value for last_msg_.signed_messages[106], expected 38, is " - << last_msg_.signed_messages[106]; - EXPECT_EQ(last_msg_.signed_messages[107], 157) - << "incorrect value for last_msg_.signed_messages[107], expected 157, is " - << last_msg_.signed_messages[107]; - EXPECT_EQ(last_msg_.signed_messages[108], 98) - << "incorrect value for last_msg_.signed_messages[108], expected 98, is " - << last_msg_.signed_messages[108]; - EXPECT_EQ(last_msg_.signed_messages[109], 44) - << "incorrect value for last_msg_.signed_messages[109], expected 44, is " - << last_msg_.signed_messages[109]; - EXPECT_EQ(last_msg_.signed_messages[110], 160) - << "incorrect value for last_msg_.signed_messages[110], expected 160, is " - << last_msg_.signed_messages[110]; - EXPECT_EQ(last_msg_.signed_messages[111], 47) - << "incorrect value for last_msg_.signed_messages[111], expected 47, is " - << last_msg_.signed_messages[111]; - EXPECT_EQ(last_msg_.signed_messages[112], 97) - << "incorrect value for last_msg_.signed_messages[112], expected 97, is " - << last_msg_.signed_messages[112]; - EXPECT_EQ(last_msg_.signed_messages[113], 142) - << "incorrect value for last_msg_.signed_messages[113], expected 142, is " - << last_msg_.signed_messages[113]; - EXPECT_EQ(last_msg_.signed_messages[114], 8) - << "incorrect value for last_msg_.signed_messages[114], expected 8, is " - << last_msg_.signed_messages[114]; - EXPECT_EQ(last_msg_.signed_messages[115], 74) - << "incorrect value for last_msg_.signed_messages[115], expected 74, is " - << last_msg_.signed_messages[115]; - EXPECT_EQ(last_msg_.signed_messages[116], 13) - << "incorrect value for last_msg_.signed_messages[116], expected 13, is " - << last_msg_.signed_messages[116]; - EXPECT_EQ(last_msg_.signed_messages[117], 177) - << "incorrect value for last_msg_.signed_messages[117], expected 177, is " - << last_msg_.signed_messages[117]; - EXPECT_EQ(last_msg_.signed_messages[118], 15) - << "incorrect value for last_msg_.signed_messages[118], expected 15, is " - << last_msg_.signed_messages[118]; - EXPECT_EQ(last_msg_.signed_messages[119], 128) - << "incorrect value for last_msg_.signed_messages[119], expected 128, is " - << last_msg_.signed_messages[119]; - EXPECT_EQ(last_msg_.signed_messages[120], 26) - << "incorrect value for last_msg_.signed_messages[120], expected 26, is " - << last_msg_.signed_messages[120]; - EXPECT_EQ(last_msg_.signed_messages[121], 131) - << "incorrect value for last_msg_.signed_messages[121], expected 131, is " - << last_msg_.signed_messages[121]; - EXPECT_EQ(last_msg_.signed_messages[122], 154) - << "incorrect value for last_msg_.signed_messages[122], expected 154, is " - << last_msg_.signed_messages[122]; - EXPECT_EQ(last_msg_.signed_messages[123], 65) - << "incorrect value for last_msg_.signed_messages[123], expected 65, is " - << last_msg_.signed_messages[123]; - EXPECT_EQ(last_msg_.signed_messages[124], 169) - << "incorrect value for last_msg_.signed_messages[124], expected 169, is " - << last_msg_.signed_messages[124]; - EXPECT_EQ(last_msg_.signed_messages[125], 55) - << "incorrect value for last_msg_.signed_messages[125], expected 55, is " - << last_msg_.signed_messages[125]; - EXPECT_EQ(last_msg_.signed_messages[126], 136) - << "incorrect value for last_msg_.signed_messages[126], expected 136, is " - << last_msg_.signed_messages[126]; - EXPECT_EQ(last_msg_.signed_messages[127], 125) - << "incorrect value for last_msg_.signed_messages[127], expected 125, is " - << last_msg_.signed_messages[127]; - EXPECT_EQ(last_msg_.signed_messages[128], 171) - << "incorrect value for last_msg_.signed_messages[128], expected 171, is " - << last_msg_.signed_messages[128]; - EXPECT_EQ(last_msg_.signed_messages[129], 161) - << "incorrect value for last_msg_.signed_messages[129], expected 161, is " - << last_msg_.signed_messages[129]; - EXPECT_EQ(last_msg_.signed_messages[130], 29) - << "incorrect value for last_msg_.signed_messages[130], expected 29, is " - << last_msg_.signed_messages[130]; - EXPECT_EQ(last_msg_.signed_messages[131], 129) - << "incorrect value for last_msg_.signed_messages[131], expected 129, is " - << last_msg_.signed_messages[131]; - EXPECT_EQ(last_msg_.signed_messages[132], 151) - << "incorrect value for last_msg_.signed_messages[132], expected 151, is " - << last_msg_.signed_messages[132]; - EXPECT_EQ(last_msg_.signed_messages[133], 68) - << "incorrect value for last_msg_.signed_messages[133], expected 68, is " - << last_msg_.signed_messages[133]; - EXPECT_EQ(last_msg_.signed_messages[134], 166) - << "incorrect value for last_msg_.signed_messages[134], expected 166, is " - << last_msg_.signed_messages[134]; - EXPECT_EQ(last_msg_.signed_messages[135], 51) - << "incorrect value for last_msg_.signed_messages[135], expected 51, is " - << last_msg_.signed_messages[135]; - EXPECT_EQ(last_msg_.signed_messages[136], 70) - << "incorrect value for last_msg_.signed_messages[136], expected 70, is " - << last_msg_.signed_messages[136]; - EXPECT_EQ(last_msg_.signed_messages[137], 45) - << "incorrect value for last_msg_.signed_messages[137], expected 45, is " - << last_msg_.signed_messages[137]; - EXPECT_EQ(last_msg_.signed_messages[138], 56) - << "incorrect value for last_msg_.signed_messages[138], expected 56, is " - << last_msg_.signed_messages[138]; - EXPECT_EQ(last_msg_.signed_messages[139], 79) - << "incorrect value for last_msg_.signed_messages[139], expected 79, is " - << last_msg_.signed_messages[139]; - EXPECT_EQ(last_msg_.signed_messages[140], 149) - << "incorrect value for last_msg_.signed_messages[140], expected 149, is " - << last_msg_.signed_messages[140]; - EXPECT_EQ(last_msg_.signed_messages[141], 99) - << "incorrect value for last_msg_.signed_messages[141], expected 99, is " - << last_msg_.signed_messages[141]; - EXPECT_EQ(last_msg_.signed_messages[142], 42) - << "incorrect value for last_msg_.signed_messages[142], expected 42, is " - << last_msg_.signed_messages[142]; - EXPECT_EQ(last_msg_.signed_messages[143], 101) - << "incorrect value for last_msg_.signed_messages[143], expected 101, is " - << last_msg_.signed_messages[143]; - EXPECT_EQ(last_msg_.signed_messages[144], 152) - << "incorrect value for last_msg_.signed_messages[144], expected 152, is " - << last_msg_.signed_messages[144]; - EXPECT_EQ(last_msg_.signed_messages[145], 39) - << "incorrect value for last_msg_.signed_messages[145], expected 39, is " - << last_msg_.signed_messages[145]; - EXPECT_EQ(last_msg_.signed_messages[146], 89) - << "incorrect value for last_msg_.signed_messages[146], expected 89, is " - << last_msg_.signed_messages[146]; - EXPECT_EQ(last_msg_.signed_messages[147], 180) - << "incorrect value for last_msg_.signed_messages[147], expected 180, is " - << last_msg_.signed_messages[147]; - EXPECT_EQ(last_msg_.signed_messages[148], 64) - << "incorrect value for last_msg_.signed_messages[148], expected 64, is " - << last_msg_.signed_messages[148]; - EXPECT_EQ(last_msg_.signed_messages[149], 49) - << "incorrect value for last_msg_.signed_messages[149], expected 49, is " - << last_msg_.signed_messages[149]; - EXPECT_EQ(last_msg_.signed_messages[150], 6) - << "incorrect value for last_msg_.signed_messages[150], expected 6, is " - << last_msg_.signed_messages[150]; - EXPECT_EQ(last_msg_.signed_messages[151], 80) - << "incorrect value for last_msg_.signed_messages[151], expected 80, is " - << last_msg_.signed_messages[151]; - EXPECT_EQ(last_msg_.signed_messages[152], 172) - << "incorrect value for last_msg_.signed_messages[152], expected 172, is " - << last_msg_.signed_messages[152]; - EXPECT_EQ(last_msg_.signed_messages[153], 32) - << "incorrect value for last_msg_.signed_messages[153], expected 32, is " - << last_msg_.signed_messages[153]; - EXPECT_EQ(last_msg_.signed_messages[154], 109) - << "incorrect value for last_msg_.signed_messages[154], expected 109, is " - << last_msg_.signed_messages[154]; - EXPECT_EQ(last_msg_.signed_messages[155], 2) - << "incorrect value for last_msg_.signed_messages[155], expected 2, is " - << last_msg_.signed_messages[155]; - EXPECT_EQ(last_msg_.signed_messages[156], 119) - << "incorrect value for last_msg_.signed_messages[156], expected 119, is " - << last_msg_.signed_messages[156]; - EXPECT_EQ(last_msg_.signed_messages[157], 93) - << "incorrect value for last_msg_.signed_messages[157], expected 93, is " - << last_msg_.signed_messages[157]; - EXPECT_EQ(last_msg_.signed_messages[158], 176) - << "incorrect value for last_msg_.signed_messages[158], expected 176, is " - << last_msg_.signed_messages[158]; - EXPECT_EQ(last_msg_.signed_messages[159], 0) - << "incorrect value for last_msg_.signed_messages[159], expected 0, is " - << last_msg_.signed_messages[159]; - EXPECT_EQ(last_msg_.signed_messages[160], 33) - << "incorrect value for last_msg_.signed_messages[160], expected 33, is " - << last_msg_.signed_messages[160]; - EXPECT_EQ(last_msg_.signed_messages[161], 57) - << "incorrect value for last_msg_.signed_messages[161], expected 57, is " - << last_msg_.signed_messages[161]; - EXPECT_EQ(last_msg_.signed_messages[162], 34) - << "incorrect value for last_msg_.signed_messages[162], expected 34, is " - << last_msg_.signed_messages[162]; - EXPECT_EQ(last_msg_.signed_messages[163], 18) - << "incorrect value for last_msg_.signed_messages[163], expected 18, is " - << last_msg_.signed_messages[163]; - EXPECT_EQ(last_msg_.signed_messages[164], 85) - << "incorrect value for last_msg_.signed_messages[164], expected 85, is " - << last_msg_.signed_messages[164]; - EXPECT_EQ(last_msg_.signed_messages[165], 121) - << "incorrect value for last_msg_.signed_messages[165], expected 121, is " - << last_msg_.signed_messages[165]; - EXPECT_EQ(last_msg_.signed_messages[166], 137) - << "incorrect value for last_msg_.signed_messages[166], expected 137, is " - << last_msg_.signed_messages[166]; - EXPECT_EQ(last_msg_.signed_messages[167], 83) - << "incorrect value for last_msg_.signed_messages[167], expected 83, is " - << last_msg_.signed_messages[167]; - EXPECT_EQ(last_msg_.signed_messages[168], 111) - << "incorrect value for last_msg_.signed_messages[168], expected 111, is " - << last_msg_.signed_messages[168]; - EXPECT_EQ(last_msg_.signed_messages[169], 59) - << "incorrect value for last_msg_.signed_messages[169], expected 59, is " - << last_msg_.signed_messages[169]; - EXPECT_EQ(last_msg_.signed_messages[170], 7) - << "incorrect value for last_msg_.signed_messages[170], expected 7, is " - << last_msg_.signed_messages[170]; - EXPECT_EQ(last_msg_.signed_messages[171], 77) - << "incorrect value for last_msg_.signed_messages[171], expected 77, is " - << last_msg_.signed_messages[171]; - EXPECT_EQ(last_msg_.signed_messages[172], 4) - << "incorrect value for last_msg_.signed_messages[172], expected 4, is " - << last_msg_.signed_messages[172]; - EXPECT_EQ(last_msg_.signed_messages[173], 117) - << "incorrect value for last_msg_.signed_messages[173], expected 117, is " - << last_msg_.signed_messages[173]; - EXPECT_EQ(last_msg_.signed_messages[174], 159) - << "incorrect value for last_msg_.signed_messages[174], expected 159, is " - << last_msg_.signed_messages[174]; - EXPECT_EQ(last_msg_.signed_messages[175], 148) - << "incorrect value for last_msg_.signed_messages[175], expected 148, is " - << last_msg_.signed_messages[175]; - EXPECT_EQ(last_msg_.signed_messages[176], 35) - << "incorrect value for last_msg_.signed_messages[176], expected 35, is " - << last_msg_.signed_messages[176]; - EXPECT_EQ(last_msg_.signed_messages[177], 61) - << "incorrect value for last_msg_.signed_messages[177], expected 61, is " - << last_msg_.signed_messages[177]; - EXPECT_EQ(last_msg_.signed_messages[178], 41) - << "incorrect value for last_msg_.signed_messages[178], expected 41, is " - << last_msg_.signed_messages[178]; - EXPECT_EQ(last_msg_.signed_messages[179], 67) - << "incorrect value for last_msg_.signed_messages[179], expected 67, is " - << last_msg_.signed_messages[179]; - EXPECT_EQ(last_msg_.signed_messages[180], 46) - << "incorrect value for last_msg_.signed_messages[180], expected 46, is " - << last_msg_.signed_messages[180]; - EXPECT_EQ(last_msg_.signed_messages[181], 127) - << "incorrect value for last_msg_.signed_messages[181], expected 127, is " - << last_msg_.signed_messages[181]; - EXPECT_EQ(last_msg_.signed_messages[182], 75) - << "incorrect value for last_msg_.signed_messages[182], expected 75, is " - << last_msg_.signed_messages[182]; - EXPECT_EQ(last_msg_.signed_messages[183], 174) - << "incorrect value for last_msg_.signed_messages[183], expected 174, is " - << last_msg_.signed_messages[183]; EXPECT_EQ(last_msg_.stream_counter, 1) << "incorrect value for last_msg_.stream_counter, expected 1, is " << last_msg_.stream_counter; diff --git a/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc new file mode 100644 index 0000000000..081c39fac4 --- /dev/null +++ b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc @@ -0,0 +1,1389 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include +#include +class Test_auto_check_sbp_signing_MsgEcdsaSignatureDep0 + : public ::testing::Test, + public sbp::State, + public sbp::IReader, + public sbp::IWriter, + sbp::MessageHandler { + public: + Test_auto_check_sbp_signing_MsgEcdsaSignatureDep0() + : ::testing::Test(), + sbp::State(), + sbp::IReader(), + sbp::IWriter(), + sbp::MessageHandler(this), + last_msg_(), + last_msg_len_(), + last_sender_id_(), + n_callbacks_logged_(), + dummy_wr_(), + dummy_rd_(), + dummy_buff_() { + set_reader(this); + set_writer(this); + } + + s32 read(uint8_t *buf, const uint32_t n) override { + uint32_t real_n = n; + memcpy(buf, dummy_buff_ + dummy_rd_, real_n); + dummy_rd_ += real_n; + return (s32)real_n; + } + + s32 write(const uint8_t *buf, uint32_t n) override { + uint32_t real_n = n; + memcpy(dummy_buff_ + dummy_wr_, buf, real_n); + dummy_wr_ += real_n; + return (s32)real_n; + } + + protected: + void handle_sbp_msg(uint16_t sender_id, + const sbp_msg_ecdsa_signature_dep_t &msg) override { + last_msg_ = msg; + last_sender_id_ = sender_id; + n_callbacks_logged_++; + } + + sbp_msg_ecdsa_signature_dep_t last_msg_; + uint8_t last_msg_len_; + uint16_t last_sender_id_; + size_t n_callbacks_logged_; + uint32_t dummy_wr_; + uint32_t dummy_rd_; + uint8_t dummy_buff_[1024]; +}; + +TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignatureDep0, Test) { + uint8_t encoded_frame[] = { + 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, + 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, + 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, + 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, + 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, + 6, 7, 10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, + 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, + 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, + 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, + 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, + 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, + 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, + 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, + 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, + 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, + 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, + 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, + 41, 67, 46, 127, 75, 174, 97, 172, + }; + + sbp_msg_ecdsa_signature_dep_t test_msg{}; + + test_msg.certificate_id[0] = 1; + + test_msg.certificate_id[1] = 2; + + test_msg.certificate_id[2] = 3; + + test_msg.certificate_id[3] = 4; + test_msg.flags = 0; + test_msg.n_signed_messages = 184; + test_msg.on_demand_counter = 2; + + test_msg.signature[0] = 0; + + test_msg.signature[1] = 1; + + test_msg.signature[2] = 2; + + test_msg.signature[3] = 3; + + test_msg.signature[4] = 4; + + test_msg.signature[5] = 5; + + test_msg.signature[6] = 6; + + test_msg.signature[7] = 7; + + test_msg.signature[8] = 0; + + test_msg.signature[9] = 1; + + test_msg.signature[10] = 2; + + test_msg.signature[11] = 3; + + test_msg.signature[12] = 4; + + test_msg.signature[13] = 5; + + test_msg.signature[14] = 6; + + test_msg.signature[15] = 7; + + test_msg.signature[16] = 0; + + test_msg.signature[17] = 1; + + test_msg.signature[18] = 2; + + test_msg.signature[19] = 3; + + test_msg.signature[20] = 4; + + test_msg.signature[21] = 5; + + test_msg.signature[22] = 6; + + test_msg.signature[23] = 7; + + test_msg.signature[24] = 0; + + test_msg.signature[25] = 1; + + test_msg.signature[26] = 2; + + test_msg.signature[27] = 3; + + test_msg.signature[28] = 4; + + test_msg.signature[29] = 5; + + test_msg.signature[30] = 6; + + test_msg.signature[31] = 7; + + test_msg.signature[32] = 0; + + test_msg.signature[33] = 1; + + test_msg.signature[34] = 2; + + test_msg.signature[35] = 3; + + test_msg.signature[36] = 4; + + test_msg.signature[37] = 5; + + test_msg.signature[38] = 6; + + test_msg.signature[39] = 7; + + test_msg.signature[40] = 0; + + test_msg.signature[41] = 1; + + test_msg.signature[42] = 2; + + test_msg.signature[43] = 3; + + test_msg.signature[44] = 4; + + test_msg.signature[45] = 5; + + test_msg.signature[46] = 6; + + test_msg.signature[47] = 7; + + test_msg.signature[48] = 0; + + test_msg.signature[49] = 1; + + test_msg.signature[50] = 2; + + test_msg.signature[51] = 3; + + test_msg.signature[52] = 4; + + test_msg.signature[53] = 5; + + test_msg.signature[54] = 6; + + test_msg.signature[55] = 7; + + test_msg.signature[56] = 0; + + test_msg.signature[57] = 1; + + test_msg.signature[58] = 2; + + test_msg.signature[59] = 3; + + test_msg.signature[60] = 4; + + test_msg.signature[61] = 5; + + test_msg.signature[62] = 6; + + test_msg.signature[63] = 7; + + test_msg.signed_messages[0] = 10; + + test_msg.signed_messages[1] = 21; + + test_msg.signed_messages[2] = 23; + + test_msg.signed_messages[3] = 63; + + test_msg.signed_messages[4] = 140; + + test_msg.signed_messages[5] = 37; + + test_msg.signed_messages[6] = 130; + + test_msg.signed_messages[7] = 106; + + test_msg.signed_messages[8] = 28; + + test_msg.signed_messages[9] = 40; + + test_msg.signed_messages[10] = 165; + + test_msg.signed_messages[11] = 179; + + test_msg.signed_messages[12] = 73; + + test_msg.signed_messages[13] = 178; + + test_msg.signed_messages[14] = 60; + + test_msg.signed_messages[15] = 126; + + test_msg.signed_messages[16] = 114; + + test_msg.signed_messages[17] = 78; + + test_msg.signed_messages[18] = 113; + + test_msg.signed_messages[19] = 27; + + test_msg.signed_messages[20] = 95; + + test_msg.signed_messages[21] = 3; + + test_msg.signed_messages[22] = 62; + + test_msg.signed_messages[23] = 104; + + test_msg.signed_messages[24] = 145; + + test_msg.signed_messages[25] = 96; + + test_msg.signed_messages[26] = 19; + + test_msg.signed_messages[27] = 92; + + test_msg.signed_messages[28] = 123; + + test_msg.signed_messages[29] = 14; + + test_msg.signed_messages[30] = 90; + + test_msg.signed_messages[31] = 153; + + test_msg.signed_messages[32] = 183; + + test_msg.signed_messages[33] = 9; + + test_msg.signed_messages[34] = 72; + + test_msg.signed_messages[35] = 81; + + test_msg.signed_messages[36] = 118; + + test_msg.signed_messages[37] = 112; + + test_msg.signed_messages[38] = 124; + + test_msg.signed_messages[39] = 16; + + test_msg.signed_messages[40] = 182; + + test_msg.signed_messages[41] = 76; + + test_msg.signed_messages[42] = 146; + + test_msg.signed_messages[43] = 115; + + test_msg.signed_messages[44] = 58; + + test_msg.signed_messages[45] = 144; + + test_msg.signed_messages[46] = 17; + + test_msg.signed_messages[47] = 105; + + test_msg.signed_messages[48] = 66; + + test_msg.signed_messages[49] = 31; + + test_msg.signed_messages[50] = 135; + + test_msg.signed_messages[51] = 54; + + test_msg.signed_messages[52] = 100; + + test_msg.signed_messages[53] = 84; + + test_msg.signed_messages[54] = 181; + + test_msg.signed_messages[55] = 103; + + test_msg.signed_messages[56] = 11; + + test_msg.signed_messages[57] = 88; + + test_msg.signed_messages[58] = 133; + + test_msg.signed_messages[59] = 155; + + test_msg.signed_messages[60] = 167; + + test_msg.signed_messages[61] = 173; + + test_msg.signed_messages[62] = 143; + + test_msg.signed_messages[63] = 86; + + test_msg.signed_messages[64] = 158; + + test_msg.signed_messages[65] = 20; + + test_msg.signed_messages[66] = 168; + + test_msg.signed_messages[67] = 132; + + test_msg.signed_messages[68] = 141; + + test_msg.signed_messages[69] = 102; + + test_msg.signed_messages[70] = 50; + + test_msg.signed_messages[71] = 48; + + test_msg.signed_messages[72] = 71; + + test_msg.signed_messages[73] = 147; + + test_msg.signed_messages[74] = 53; + + test_msg.signed_messages[75] = 87; + + test_msg.signed_messages[76] = 1; + + test_msg.signed_messages[77] = 108; + + test_msg.signed_messages[78] = 138; + + test_msg.signed_messages[79] = 36; + + test_msg.signed_messages[80] = 134; + + test_msg.signed_messages[81] = 139; + + test_msg.signed_messages[82] = 163; + + test_msg.signed_messages[83] = 82; + + test_msg.signed_messages[84] = 43; + + test_msg.signed_messages[85] = 52; + + test_msg.signed_messages[86] = 150; + + test_msg.signed_messages[87] = 12; + + test_msg.signed_messages[88] = 30; + + test_msg.signed_messages[89] = 110; + + test_msg.signed_messages[90] = 156; + + test_msg.signed_messages[91] = 107; + + test_msg.signed_messages[92] = 120; + + test_msg.signed_messages[93] = 91; + + test_msg.signed_messages[94] = 122; + + test_msg.signed_messages[95] = 69; + + test_msg.signed_messages[96] = 164; + + test_msg.signed_messages[97] = 170; + + test_msg.signed_messages[98] = 116; + + test_msg.signed_messages[99] = 25; + + test_msg.signed_messages[100] = 94; + + test_msg.signed_messages[101] = 5; + + test_msg.signed_messages[102] = 22; + + test_msg.signed_messages[103] = 24; + + test_msg.signed_messages[104] = 162; + + test_msg.signed_messages[105] = 175; + + test_msg.signed_messages[106] = 38; + + test_msg.signed_messages[107] = 157; + + test_msg.signed_messages[108] = 98; + + test_msg.signed_messages[109] = 44; + + test_msg.signed_messages[110] = 160; + + test_msg.signed_messages[111] = 47; + + test_msg.signed_messages[112] = 97; + + test_msg.signed_messages[113] = 142; + + test_msg.signed_messages[114] = 8; + + test_msg.signed_messages[115] = 74; + + test_msg.signed_messages[116] = 13; + + test_msg.signed_messages[117] = 177; + + test_msg.signed_messages[118] = 15; + + test_msg.signed_messages[119] = 128; + + test_msg.signed_messages[120] = 26; + + test_msg.signed_messages[121] = 131; + + test_msg.signed_messages[122] = 154; + + test_msg.signed_messages[123] = 65; + + test_msg.signed_messages[124] = 169; + + test_msg.signed_messages[125] = 55; + + test_msg.signed_messages[126] = 136; + + test_msg.signed_messages[127] = 125; + + test_msg.signed_messages[128] = 171; + + test_msg.signed_messages[129] = 161; + + test_msg.signed_messages[130] = 29; + + test_msg.signed_messages[131] = 129; + + test_msg.signed_messages[132] = 151; + + test_msg.signed_messages[133] = 68; + + test_msg.signed_messages[134] = 166; + + test_msg.signed_messages[135] = 51; + + test_msg.signed_messages[136] = 70; + + test_msg.signed_messages[137] = 45; + + test_msg.signed_messages[138] = 56; + + test_msg.signed_messages[139] = 79; + + test_msg.signed_messages[140] = 149; + + test_msg.signed_messages[141] = 99; + + test_msg.signed_messages[142] = 42; + + test_msg.signed_messages[143] = 101; + + test_msg.signed_messages[144] = 152; + + test_msg.signed_messages[145] = 39; + + test_msg.signed_messages[146] = 89; + + test_msg.signed_messages[147] = 180; + + test_msg.signed_messages[148] = 64; + + test_msg.signed_messages[149] = 49; + + test_msg.signed_messages[150] = 6; + + test_msg.signed_messages[151] = 80; + + test_msg.signed_messages[152] = 172; + + test_msg.signed_messages[153] = 32; + + test_msg.signed_messages[154] = 109; + + test_msg.signed_messages[155] = 2; + + test_msg.signed_messages[156] = 119; + + test_msg.signed_messages[157] = 93; + + test_msg.signed_messages[158] = 176; + + test_msg.signed_messages[159] = 0; + + test_msg.signed_messages[160] = 33; + + test_msg.signed_messages[161] = 57; + + test_msg.signed_messages[162] = 34; + + test_msg.signed_messages[163] = 18; + + test_msg.signed_messages[164] = 85; + + test_msg.signed_messages[165] = 121; + + test_msg.signed_messages[166] = 137; + + test_msg.signed_messages[167] = 83; + + test_msg.signed_messages[168] = 111; + + test_msg.signed_messages[169] = 59; + + test_msg.signed_messages[170] = 7; + + test_msg.signed_messages[171] = 77; + + test_msg.signed_messages[172] = 4; + + test_msg.signed_messages[173] = 117; + + test_msg.signed_messages[174] = 159; + + test_msg.signed_messages[175] = 148; + + test_msg.signed_messages[176] = 35; + + test_msg.signed_messages[177] = 61; + + test_msg.signed_messages[178] = 41; + + test_msg.signed_messages[179] = 67; + + test_msg.signed_messages[180] = 46; + + test_msg.signed_messages[181] = 127; + + test_msg.signed_messages[182] = 75; + + test_msg.signed_messages[183] = 174; + test_msg.stream_counter = 1; + + EXPECT_EQ(send_message(66, test_msg), SBP_OK); + + EXPECT_EQ(dummy_wr_, sizeof(encoded_frame)); + EXPECT_EQ(memcmp(dummy_buff_, encoded_frame, sizeof(encoded_frame)), 0); + + while (dummy_rd_ < dummy_wr_) { + process(); + } + + EXPECT_EQ(n_callbacks_logged_, 1); + EXPECT_EQ(last_sender_id_, 66); + EXPECT_EQ(last_msg_, test_msg); + EXPECT_EQ(last_msg_.certificate_id[0], 1) + << "incorrect value for last_msg_.certificate_id[0], expected 1, is " + << last_msg_.certificate_id[0]; + EXPECT_EQ(last_msg_.certificate_id[1], 2) + << "incorrect value for last_msg_.certificate_id[1], expected 2, is " + << last_msg_.certificate_id[1]; + EXPECT_EQ(last_msg_.certificate_id[2], 3) + << "incorrect value for last_msg_.certificate_id[2], expected 3, is " + << last_msg_.certificate_id[2]; + EXPECT_EQ(last_msg_.certificate_id[3], 4) + << "incorrect value for last_msg_.certificate_id[3], expected 4, is " + << last_msg_.certificate_id[3]; + EXPECT_EQ(last_msg_.flags, 0) + << "incorrect value for last_msg_.flags, expected 0, is " + << last_msg_.flags; + EXPECT_EQ(last_msg_.n_signed_messages, 184) + << "incorrect value for last_msg_.n_signed_messages, expected 184, is " + << last_msg_.n_signed_messages; + EXPECT_EQ(last_msg_.on_demand_counter, 2) + << "incorrect value for last_msg_.on_demand_counter, expected 2, is " + << last_msg_.on_demand_counter; + EXPECT_EQ(last_msg_.signature[0], 0) + << "incorrect value for last_msg_.signature[0], expected 0, is " + << last_msg_.signature[0]; + EXPECT_EQ(last_msg_.signature[1], 1) + << "incorrect value for last_msg_.signature[1], expected 1, is " + << last_msg_.signature[1]; + EXPECT_EQ(last_msg_.signature[2], 2) + << "incorrect value for last_msg_.signature[2], expected 2, is " + << last_msg_.signature[2]; + EXPECT_EQ(last_msg_.signature[3], 3) + << "incorrect value for last_msg_.signature[3], expected 3, is " + << last_msg_.signature[3]; + EXPECT_EQ(last_msg_.signature[4], 4) + << "incorrect value for last_msg_.signature[4], expected 4, is " + << last_msg_.signature[4]; + EXPECT_EQ(last_msg_.signature[5], 5) + << "incorrect value for last_msg_.signature[5], expected 5, is " + << last_msg_.signature[5]; + EXPECT_EQ(last_msg_.signature[6], 6) + << "incorrect value for last_msg_.signature[6], expected 6, is " + << last_msg_.signature[6]; + EXPECT_EQ(last_msg_.signature[7], 7) + << "incorrect value for last_msg_.signature[7], expected 7, is " + << last_msg_.signature[7]; + EXPECT_EQ(last_msg_.signature[8], 0) + << "incorrect value for last_msg_.signature[8], expected 0, is " + << last_msg_.signature[8]; + EXPECT_EQ(last_msg_.signature[9], 1) + << "incorrect value for last_msg_.signature[9], expected 1, is " + << last_msg_.signature[9]; + EXPECT_EQ(last_msg_.signature[10], 2) + << "incorrect value for last_msg_.signature[10], expected 2, is " + << last_msg_.signature[10]; + EXPECT_EQ(last_msg_.signature[11], 3) + << "incorrect value for last_msg_.signature[11], expected 3, is " + << last_msg_.signature[11]; + EXPECT_EQ(last_msg_.signature[12], 4) + << "incorrect value for last_msg_.signature[12], expected 4, is " + << last_msg_.signature[12]; + EXPECT_EQ(last_msg_.signature[13], 5) + << "incorrect value for last_msg_.signature[13], expected 5, is " + << last_msg_.signature[13]; + EXPECT_EQ(last_msg_.signature[14], 6) + << "incorrect value for last_msg_.signature[14], expected 6, is " + << last_msg_.signature[14]; + EXPECT_EQ(last_msg_.signature[15], 7) + << "incorrect value for last_msg_.signature[15], expected 7, is " + << last_msg_.signature[15]; + EXPECT_EQ(last_msg_.signature[16], 0) + << "incorrect value for last_msg_.signature[16], expected 0, is " + << last_msg_.signature[16]; + EXPECT_EQ(last_msg_.signature[17], 1) + << "incorrect value for last_msg_.signature[17], expected 1, is " + << last_msg_.signature[17]; + EXPECT_EQ(last_msg_.signature[18], 2) + << "incorrect value for last_msg_.signature[18], expected 2, is " + << last_msg_.signature[18]; + EXPECT_EQ(last_msg_.signature[19], 3) + << "incorrect value for last_msg_.signature[19], expected 3, is " + << last_msg_.signature[19]; + EXPECT_EQ(last_msg_.signature[20], 4) + << "incorrect value for last_msg_.signature[20], expected 4, is " + << last_msg_.signature[20]; + EXPECT_EQ(last_msg_.signature[21], 5) + << "incorrect value for last_msg_.signature[21], expected 5, is " + << last_msg_.signature[21]; + EXPECT_EQ(last_msg_.signature[22], 6) + << "incorrect value for last_msg_.signature[22], expected 6, is " + << last_msg_.signature[22]; + EXPECT_EQ(last_msg_.signature[23], 7) + << "incorrect value for last_msg_.signature[23], expected 7, is " + << last_msg_.signature[23]; + EXPECT_EQ(last_msg_.signature[24], 0) + << "incorrect value for last_msg_.signature[24], expected 0, is " + << last_msg_.signature[24]; + EXPECT_EQ(last_msg_.signature[25], 1) + << "incorrect value for last_msg_.signature[25], expected 1, is " + << last_msg_.signature[25]; + EXPECT_EQ(last_msg_.signature[26], 2) + << "incorrect value for last_msg_.signature[26], expected 2, is " + << last_msg_.signature[26]; + EXPECT_EQ(last_msg_.signature[27], 3) + << "incorrect value for last_msg_.signature[27], expected 3, is " + << last_msg_.signature[27]; + EXPECT_EQ(last_msg_.signature[28], 4) + << "incorrect value for last_msg_.signature[28], expected 4, is " + << last_msg_.signature[28]; + EXPECT_EQ(last_msg_.signature[29], 5) + << "incorrect value for last_msg_.signature[29], expected 5, is " + << last_msg_.signature[29]; + EXPECT_EQ(last_msg_.signature[30], 6) + << "incorrect value for last_msg_.signature[30], expected 6, is " + << last_msg_.signature[30]; + EXPECT_EQ(last_msg_.signature[31], 7) + << "incorrect value for last_msg_.signature[31], expected 7, is " + << last_msg_.signature[31]; + EXPECT_EQ(last_msg_.signature[32], 0) + << "incorrect value for last_msg_.signature[32], expected 0, is " + << last_msg_.signature[32]; + EXPECT_EQ(last_msg_.signature[33], 1) + << "incorrect value for last_msg_.signature[33], expected 1, is " + << last_msg_.signature[33]; + EXPECT_EQ(last_msg_.signature[34], 2) + << "incorrect value for last_msg_.signature[34], expected 2, is " + << last_msg_.signature[34]; + EXPECT_EQ(last_msg_.signature[35], 3) + << "incorrect value for last_msg_.signature[35], expected 3, is " + << last_msg_.signature[35]; + EXPECT_EQ(last_msg_.signature[36], 4) + << "incorrect value for last_msg_.signature[36], expected 4, is " + << last_msg_.signature[36]; + EXPECT_EQ(last_msg_.signature[37], 5) + << "incorrect value for last_msg_.signature[37], expected 5, is " + << last_msg_.signature[37]; + EXPECT_EQ(last_msg_.signature[38], 6) + << "incorrect value for last_msg_.signature[38], expected 6, is " + << last_msg_.signature[38]; + EXPECT_EQ(last_msg_.signature[39], 7) + << "incorrect value for last_msg_.signature[39], expected 7, is " + << last_msg_.signature[39]; + EXPECT_EQ(last_msg_.signature[40], 0) + << "incorrect value for last_msg_.signature[40], expected 0, is " + << last_msg_.signature[40]; + EXPECT_EQ(last_msg_.signature[41], 1) + << "incorrect value for last_msg_.signature[41], expected 1, is " + << last_msg_.signature[41]; + EXPECT_EQ(last_msg_.signature[42], 2) + << "incorrect value for last_msg_.signature[42], expected 2, is " + << last_msg_.signature[42]; + EXPECT_EQ(last_msg_.signature[43], 3) + << "incorrect value for last_msg_.signature[43], expected 3, is " + << last_msg_.signature[43]; + EXPECT_EQ(last_msg_.signature[44], 4) + << "incorrect value for last_msg_.signature[44], expected 4, is " + << last_msg_.signature[44]; + EXPECT_EQ(last_msg_.signature[45], 5) + << "incorrect value for last_msg_.signature[45], expected 5, is " + << last_msg_.signature[45]; + EXPECT_EQ(last_msg_.signature[46], 6) + << "incorrect value for last_msg_.signature[46], expected 6, is " + << last_msg_.signature[46]; + EXPECT_EQ(last_msg_.signature[47], 7) + << "incorrect value for last_msg_.signature[47], expected 7, is " + << last_msg_.signature[47]; + EXPECT_EQ(last_msg_.signature[48], 0) + << "incorrect value for last_msg_.signature[48], expected 0, is " + << last_msg_.signature[48]; + EXPECT_EQ(last_msg_.signature[49], 1) + << "incorrect value for last_msg_.signature[49], expected 1, is " + << last_msg_.signature[49]; + EXPECT_EQ(last_msg_.signature[50], 2) + << "incorrect value for last_msg_.signature[50], expected 2, is " + << last_msg_.signature[50]; + EXPECT_EQ(last_msg_.signature[51], 3) + << "incorrect value for last_msg_.signature[51], expected 3, is " + << last_msg_.signature[51]; + EXPECT_EQ(last_msg_.signature[52], 4) + << "incorrect value for last_msg_.signature[52], expected 4, is " + << last_msg_.signature[52]; + EXPECT_EQ(last_msg_.signature[53], 5) + << "incorrect value for last_msg_.signature[53], expected 5, is " + << last_msg_.signature[53]; + EXPECT_EQ(last_msg_.signature[54], 6) + << "incorrect value for last_msg_.signature[54], expected 6, is " + << last_msg_.signature[54]; + EXPECT_EQ(last_msg_.signature[55], 7) + << "incorrect value for last_msg_.signature[55], expected 7, is " + << last_msg_.signature[55]; + EXPECT_EQ(last_msg_.signature[56], 0) + << "incorrect value for last_msg_.signature[56], expected 0, is " + << last_msg_.signature[56]; + EXPECT_EQ(last_msg_.signature[57], 1) + << "incorrect value for last_msg_.signature[57], expected 1, is " + << last_msg_.signature[57]; + EXPECT_EQ(last_msg_.signature[58], 2) + << "incorrect value for last_msg_.signature[58], expected 2, is " + << last_msg_.signature[58]; + EXPECT_EQ(last_msg_.signature[59], 3) + << "incorrect value for last_msg_.signature[59], expected 3, is " + << last_msg_.signature[59]; + EXPECT_EQ(last_msg_.signature[60], 4) + << "incorrect value for last_msg_.signature[60], expected 4, is " + << last_msg_.signature[60]; + EXPECT_EQ(last_msg_.signature[61], 5) + << "incorrect value for last_msg_.signature[61], expected 5, is " + << last_msg_.signature[61]; + EXPECT_EQ(last_msg_.signature[62], 6) + << "incorrect value for last_msg_.signature[62], expected 6, is " + << last_msg_.signature[62]; + EXPECT_EQ(last_msg_.signature[63], 7) + << "incorrect value for last_msg_.signature[63], expected 7, is " + << last_msg_.signature[63]; + EXPECT_EQ(last_msg_.signed_messages[0], 10) + << "incorrect value for last_msg_.signed_messages[0], expected 10, is " + << last_msg_.signed_messages[0]; + EXPECT_EQ(last_msg_.signed_messages[1], 21) + << "incorrect value for last_msg_.signed_messages[1], expected 21, is " + << last_msg_.signed_messages[1]; + EXPECT_EQ(last_msg_.signed_messages[2], 23) + << "incorrect value for last_msg_.signed_messages[2], expected 23, is " + << last_msg_.signed_messages[2]; + EXPECT_EQ(last_msg_.signed_messages[3], 63) + << "incorrect value for last_msg_.signed_messages[3], expected 63, is " + << last_msg_.signed_messages[3]; + EXPECT_EQ(last_msg_.signed_messages[4], 140) + << "incorrect value for last_msg_.signed_messages[4], expected 140, is " + << last_msg_.signed_messages[4]; + EXPECT_EQ(last_msg_.signed_messages[5], 37) + << "incorrect value for last_msg_.signed_messages[5], expected 37, is " + << last_msg_.signed_messages[5]; + EXPECT_EQ(last_msg_.signed_messages[6], 130) + << "incorrect value for last_msg_.signed_messages[6], expected 130, is " + << last_msg_.signed_messages[6]; + EXPECT_EQ(last_msg_.signed_messages[7], 106) + << "incorrect value for last_msg_.signed_messages[7], expected 106, is " + << last_msg_.signed_messages[7]; + EXPECT_EQ(last_msg_.signed_messages[8], 28) + << "incorrect value for last_msg_.signed_messages[8], expected 28, is " + << last_msg_.signed_messages[8]; + EXPECT_EQ(last_msg_.signed_messages[9], 40) + << "incorrect value for last_msg_.signed_messages[9], expected 40, is " + << last_msg_.signed_messages[9]; + EXPECT_EQ(last_msg_.signed_messages[10], 165) + << "incorrect value for last_msg_.signed_messages[10], expected 165, is " + << last_msg_.signed_messages[10]; + EXPECT_EQ(last_msg_.signed_messages[11], 179) + << "incorrect value for last_msg_.signed_messages[11], expected 179, is " + << last_msg_.signed_messages[11]; + EXPECT_EQ(last_msg_.signed_messages[12], 73) + << "incorrect value for last_msg_.signed_messages[12], expected 73, is " + << last_msg_.signed_messages[12]; + EXPECT_EQ(last_msg_.signed_messages[13], 178) + << "incorrect value for last_msg_.signed_messages[13], expected 178, is " + << last_msg_.signed_messages[13]; + EXPECT_EQ(last_msg_.signed_messages[14], 60) + << "incorrect value for last_msg_.signed_messages[14], expected 60, is " + << last_msg_.signed_messages[14]; + EXPECT_EQ(last_msg_.signed_messages[15], 126) + << "incorrect value for last_msg_.signed_messages[15], expected 126, is " + << last_msg_.signed_messages[15]; + EXPECT_EQ(last_msg_.signed_messages[16], 114) + << "incorrect value for last_msg_.signed_messages[16], expected 114, is " + << last_msg_.signed_messages[16]; + EXPECT_EQ(last_msg_.signed_messages[17], 78) + << "incorrect value for last_msg_.signed_messages[17], expected 78, is " + << last_msg_.signed_messages[17]; + EXPECT_EQ(last_msg_.signed_messages[18], 113) + << "incorrect value for last_msg_.signed_messages[18], expected 113, is " + << last_msg_.signed_messages[18]; + EXPECT_EQ(last_msg_.signed_messages[19], 27) + << "incorrect value for last_msg_.signed_messages[19], expected 27, is " + << last_msg_.signed_messages[19]; + EXPECT_EQ(last_msg_.signed_messages[20], 95) + << "incorrect value for last_msg_.signed_messages[20], expected 95, is " + << last_msg_.signed_messages[20]; + EXPECT_EQ(last_msg_.signed_messages[21], 3) + << "incorrect value for last_msg_.signed_messages[21], expected 3, is " + << last_msg_.signed_messages[21]; + EXPECT_EQ(last_msg_.signed_messages[22], 62) + << "incorrect value for last_msg_.signed_messages[22], expected 62, is " + << last_msg_.signed_messages[22]; + EXPECT_EQ(last_msg_.signed_messages[23], 104) + << "incorrect value for last_msg_.signed_messages[23], expected 104, is " + << last_msg_.signed_messages[23]; + EXPECT_EQ(last_msg_.signed_messages[24], 145) + << "incorrect value for last_msg_.signed_messages[24], expected 145, is " + << last_msg_.signed_messages[24]; + EXPECT_EQ(last_msg_.signed_messages[25], 96) + << "incorrect value for last_msg_.signed_messages[25], expected 96, is " + << last_msg_.signed_messages[25]; + EXPECT_EQ(last_msg_.signed_messages[26], 19) + << "incorrect value for last_msg_.signed_messages[26], expected 19, is " + << last_msg_.signed_messages[26]; + EXPECT_EQ(last_msg_.signed_messages[27], 92) + << "incorrect value for last_msg_.signed_messages[27], expected 92, is " + << last_msg_.signed_messages[27]; + EXPECT_EQ(last_msg_.signed_messages[28], 123) + << "incorrect value for last_msg_.signed_messages[28], expected 123, is " + << last_msg_.signed_messages[28]; + EXPECT_EQ(last_msg_.signed_messages[29], 14) + << "incorrect value for last_msg_.signed_messages[29], expected 14, is " + << last_msg_.signed_messages[29]; + EXPECT_EQ(last_msg_.signed_messages[30], 90) + << "incorrect value for last_msg_.signed_messages[30], expected 90, is " + << last_msg_.signed_messages[30]; + EXPECT_EQ(last_msg_.signed_messages[31], 153) + << "incorrect value for last_msg_.signed_messages[31], expected 153, is " + << last_msg_.signed_messages[31]; + EXPECT_EQ(last_msg_.signed_messages[32], 183) + << "incorrect value for last_msg_.signed_messages[32], expected 183, is " + << last_msg_.signed_messages[32]; + EXPECT_EQ(last_msg_.signed_messages[33], 9) + << "incorrect value for last_msg_.signed_messages[33], expected 9, is " + << last_msg_.signed_messages[33]; + EXPECT_EQ(last_msg_.signed_messages[34], 72) + << "incorrect value for last_msg_.signed_messages[34], expected 72, is " + << last_msg_.signed_messages[34]; + EXPECT_EQ(last_msg_.signed_messages[35], 81) + << "incorrect value for last_msg_.signed_messages[35], expected 81, is " + << last_msg_.signed_messages[35]; + EXPECT_EQ(last_msg_.signed_messages[36], 118) + << "incorrect value for last_msg_.signed_messages[36], expected 118, is " + << last_msg_.signed_messages[36]; + EXPECT_EQ(last_msg_.signed_messages[37], 112) + << "incorrect value for last_msg_.signed_messages[37], expected 112, is " + << last_msg_.signed_messages[37]; + EXPECT_EQ(last_msg_.signed_messages[38], 124) + << "incorrect value for last_msg_.signed_messages[38], expected 124, is " + << last_msg_.signed_messages[38]; + EXPECT_EQ(last_msg_.signed_messages[39], 16) + << "incorrect value for last_msg_.signed_messages[39], expected 16, is " + << last_msg_.signed_messages[39]; + EXPECT_EQ(last_msg_.signed_messages[40], 182) + << "incorrect value for last_msg_.signed_messages[40], expected 182, is " + << last_msg_.signed_messages[40]; + EXPECT_EQ(last_msg_.signed_messages[41], 76) + << "incorrect value for last_msg_.signed_messages[41], expected 76, is " + << last_msg_.signed_messages[41]; + EXPECT_EQ(last_msg_.signed_messages[42], 146) + << "incorrect value for last_msg_.signed_messages[42], expected 146, is " + << last_msg_.signed_messages[42]; + EXPECT_EQ(last_msg_.signed_messages[43], 115) + << "incorrect value for last_msg_.signed_messages[43], expected 115, is " + << last_msg_.signed_messages[43]; + EXPECT_EQ(last_msg_.signed_messages[44], 58) + << "incorrect value for last_msg_.signed_messages[44], expected 58, is " + << last_msg_.signed_messages[44]; + EXPECT_EQ(last_msg_.signed_messages[45], 144) + << "incorrect value for last_msg_.signed_messages[45], expected 144, is " + << last_msg_.signed_messages[45]; + EXPECT_EQ(last_msg_.signed_messages[46], 17) + << "incorrect value for last_msg_.signed_messages[46], expected 17, is " + << last_msg_.signed_messages[46]; + EXPECT_EQ(last_msg_.signed_messages[47], 105) + << "incorrect value for last_msg_.signed_messages[47], expected 105, is " + << last_msg_.signed_messages[47]; + EXPECT_EQ(last_msg_.signed_messages[48], 66) + << "incorrect value for last_msg_.signed_messages[48], expected 66, is " + << last_msg_.signed_messages[48]; + EXPECT_EQ(last_msg_.signed_messages[49], 31) + << "incorrect value for last_msg_.signed_messages[49], expected 31, is " + << last_msg_.signed_messages[49]; + EXPECT_EQ(last_msg_.signed_messages[50], 135) + << "incorrect value for last_msg_.signed_messages[50], expected 135, is " + << last_msg_.signed_messages[50]; + EXPECT_EQ(last_msg_.signed_messages[51], 54) + << "incorrect value for last_msg_.signed_messages[51], expected 54, is " + << last_msg_.signed_messages[51]; + EXPECT_EQ(last_msg_.signed_messages[52], 100) + << "incorrect value for last_msg_.signed_messages[52], expected 100, is " + << last_msg_.signed_messages[52]; + EXPECT_EQ(last_msg_.signed_messages[53], 84) + << "incorrect value for last_msg_.signed_messages[53], expected 84, is " + << last_msg_.signed_messages[53]; + EXPECT_EQ(last_msg_.signed_messages[54], 181) + << "incorrect value for last_msg_.signed_messages[54], expected 181, is " + << last_msg_.signed_messages[54]; + EXPECT_EQ(last_msg_.signed_messages[55], 103) + << "incorrect value for last_msg_.signed_messages[55], expected 103, is " + << last_msg_.signed_messages[55]; + EXPECT_EQ(last_msg_.signed_messages[56], 11) + << "incorrect value for last_msg_.signed_messages[56], expected 11, is " + << last_msg_.signed_messages[56]; + EXPECT_EQ(last_msg_.signed_messages[57], 88) + << "incorrect value for last_msg_.signed_messages[57], expected 88, is " + << last_msg_.signed_messages[57]; + EXPECT_EQ(last_msg_.signed_messages[58], 133) + << "incorrect value for last_msg_.signed_messages[58], expected 133, is " + << last_msg_.signed_messages[58]; + EXPECT_EQ(last_msg_.signed_messages[59], 155) + << "incorrect value for last_msg_.signed_messages[59], expected 155, is " + << last_msg_.signed_messages[59]; + EXPECT_EQ(last_msg_.signed_messages[60], 167) + << "incorrect value for last_msg_.signed_messages[60], expected 167, is " + << last_msg_.signed_messages[60]; + EXPECT_EQ(last_msg_.signed_messages[61], 173) + << "incorrect value for last_msg_.signed_messages[61], expected 173, is " + << last_msg_.signed_messages[61]; + EXPECT_EQ(last_msg_.signed_messages[62], 143) + << "incorrect value for last_msg_.signed_messages[62], expected 143, is " + << last_msg_.signed_messages[62]; + EXPECT_EQ(last_msg_.signed_messages[63], 86) + << "incorrect value for last_msg_.signed_messages[63], expected 86, is " + << last_msg_.signed_messages[63]; + EXPECT_EQ(last_msg_.signed_messages[64], 158) + << "incorrect value for last_msg_.signed_messages[64], expected 158, is " + << last_msg_.signed_messages[64]; + EXPECT_EQ(last_msg_.signed_messages[65], 20) + << "incorrect value for last_msg_.signed_messages[65], expected 20, is " + << last_msg_.signed_messages[65]; + EXPECT_EQ(last_msg_.signed_messages[66], 168) + << "incorrect value for last_msg_.signed_messages[66], expected 168, is " + << last_msg_.signed_messages[66]; + EXPECT_EQ(last_msg_.signed_messages[67], 132) + << "incorrect value for last_msg_.signed_messages[67], expected 132, is " + << last_msg_.signed_messages[67]; + EXPECT_EQ(last_msg_.signed_messages[68], 141) + << "incorrect value for last_msg_.signed_messages[68], expected 141, is " + << last_msg_.signed_messages[68]; + EXPECT_EQ(last_msg_.signed_messages[69], 102) + << "incorrect value for last_msg_.signed_messages[69], expected 102, is " + << last_msg_.signed_messages[69]; + EXPECT_EQ(last_msg_.signed_messages[70], 50) + << "incorrect value for last_msg_.signed_messages[70], expected 50, is " + << last_msg_.signed_messages[70]; + EXPECT_EQ(last_msg_.signed_messages[71], 48) + << "incorrect value for last_msg_.signed_messages[71], expected 48, is " + << last_msg_.signed_messages[71]; + EXPECT_EQ(last_msg_.signed_messages[72], 71) + << "incorrect value for last_msg_.signed_messages[72], expected 71, is " + << last_msg_.signed_messages[72]; + EXPECT_EQ(last_msg_.signed_messages[73], 147) + << "incorrect value for last_msg_.signed_messages[73], expected 147, is " + << last_msg_.signed_messages[73]; + EXPECT_EQ(last_msg_.signed_messages[74], 53) + << "incorrect value for last_msg_.signed_messages[74], expected 53, is " + << last_msg_.signed_messages[74]; + EXPECT_EQ(last_msg_.signed_messages[75], 87) + << "incorrect value for last_msg_.signed_messages[75], expected 87, is " + << last_msg_.signed_messages[75]; + EXPECT_EQ(last_msg_.signed_messages[76], 1) + << "incorrect value for last_msg_.signed_messages[76], expected 1, is " + << last_msg_.signed_messages[76]; + EXPECT_EQ(last_msg_.signed_messages[77], 108) + << "incorrect value for last_msg_.signed_messages[77], expected 108, is " + << last_msg_.signed_messages[77]; + EXPECT_EQ(last_msg_.signed_messages[78], 138) + << "incorrect value for last_msg_.signed_messages[78], expected 138, is " + << last_msg_.signed_messages[78]; + EXPECT_EQ(last_msg_.signed_messages[79], 36) + << "incorrect value for last_msg_.signed_messages[79], expected 36, is " + << last_msg_.signed_messages[79]; + EXPECT_EQ(last_msg_.signed_messages[80], 134) + << "incorrect value for last_msg_.signed_messages[80], expected 134, is " + << last_msg_.signed_messages[80]; + EXPECT_EQ(last_msg_.signed_messages[81], 139) + << "incorrect value for last_msg_.signed_messages[81], expected 139, is " + << last_msg_.signed_messages[81]; + EXPECT_EQ(last_msg_.signed_messages[82], 163) + << "incorrect value for last_msg_.signed_messages[82], expected 163, is " + << last_msg_.signed_messages[82]; + EXPECT_EQ(last_msg_.signed_messages[83], 82) + << "incorrect value for last_msg_.signed_messages[83], expected 82, is " + << last_msg_.signed_messages[83]; + EXPECT_EQ(last_msg_.signed_messages[84], 43) + << "incorrect value for last_msg_.signed_messages[84], expected 43, is " + << last_msg_.signed_messages[84]; + EXPECT_EQ(last_msg_.signed_messages[85], 52) + << "incorrect value for last_msg_.signed_messages[85], expected 52, is " + << last_msg_.signed_messages[85]; + EXPECT_EQ(last_msg_.signed_messages[86], 150) + << "incorrect value for last_msg_.signed_messages[86], expected 150, is " + << last_msg_.signed_messages[86]; + EXPECT_EQ(last_msg_.signed_messages[87], 12) + << "incorrect value for last_msg_.signed_messages[87], expected 12, is " + << last_msg_.signed_messages[87]; + EXPECT_EQ(last_msg_.signed_messages[88], 30) + << "incorrect value for last_msg_.signed_messages[88], expected 30, is " + << last_msg_.signed_messages[88]; + EXPECT_EQ(last_msg_.signed_messages[89], 110) + << "incorrect value for last_msg_.signed_messages[89], expected 110, is " + << last_msg_.signed_messages[89]; + EXPECT_EQ(last_msg_.signed_messages[90], 156) + << "incorrect value for last_msg_.signed_messages[90], expected 156, is " + << last_msg_.signed_messages[90]; + EXPECT_EQ(last_msg_.signed_messages[91], 107) + << "incorrect value for last_msg_.signed_messages[91], expected 107, is " + << last_msg_.signed_messages[91]; + EXPECT_EQ(last_msg_.signed_messages[92], 120) + << "incorrect value for last_msg_.signed_messages[92], expected 120, is " + << last_msg_.signed_messages[92]; + EXPECT_EQ(last_msg_.signed_messages[93], 91) + << "incorrect value for last_msg_.signed_messages[93], expected 91, is " + << last_msg_.signed_messages[93]; + EXPECT_EQ(last_msg_.signed_messages[94], 122) + << "incorrect value for last_msg_.signed_messages[94], expected 122, is " + << last_msg_.signed_messages[94]; + EXPECT_EQ(last_msg_.signed_messages[95], 69) + << "incorrect value for last_msg_.signed_messages[95], expected 69, is " + << last_msg_.signed_messages[95]; + EXPECT_EQ(last_msg_.signed_messages[96], 164) + << "incorrect value for last_msg_.signed_messages[96], expected 164, is " + << last_msg_.signed_messages[96]; + EXPECT_EQ(last_msg_.signed_messages[97], 170) + << "incorrect value for last_msg_.signed_messages[97], expected 170, is " + << last_msg_.signed_messages[97]; + EXPECT_EQ(last_msg_.signed_messages[98], 116) + << "incorrect value for last_msg_.signed_messages[98], expected 116, is " + << last_msg_.signed_messages[98]; + EXPECT_EQ(last_msg_.signed_messages[99], 25) + << "incorrect value for last_msg_.signed_messages[99], expected 25, is " + << last_msg_.signed_messages[99]; + EXPECT_EQ(last_msg_.signed_messages[100], 94) + << "incorrect value for last_msg_.signed_messages[100], expected 94, is " + << last_msg_.signed_messages[100]; + EXPECT_EQ(last_msg_.signed_messages[101], 5) + << "incorrect value for last_msg_.signed_messages[101], expected 5, is " + << last_msg_.signed_messages[101]; + EXPECT_EQ(last_msg_.signed_messages[102], 22) + << "incorrect value for last_msg_.signed_messages[102], expected 22, is " + << last_msg_.signed_messages[102]; + EXPECT_EQ(last_msg_.signed_messages[103], 24) + << "incorrect value for last_msg_.signed_messages[103], expected 24, is " + << last_msg_.signed_messages[103]; + EXPECT_EQ(last_msg_.signed_messages[104], 162) + << "incorrect value for last_msg_.signed_messages[104], expected 162, is " + << last_msg_.signed_messages[104]; + EXPECT_EQ(last_msg_.signed_messages[105], 175) + << "incorrect value for last_msg_.signed_messages[105], expected 175, is " + << last_msg_.signed_messages[105]; + EXPECT_EQ(last_msg_.signed_messages[106], 38) + << "incorrect value for last_msg_.signed_messages[106], expected 38, is " + << last_msg_.signed_messages[106]; + EXPECT_EQ(last_msg_.signed_messages[107], 157) + << "incorrect value for last_msg_.signed_messages[107], expected 157, is " + << last_msg_.signed_messages[107]; + EXPECT_EQ(last_msg_.signed_messages[108], 98) + << "incorrect value for last_msg_.signed_messages[108], expected 98, is " + << last_msg_.signed_messages[108]; + EXPECT_EQ(last_msg_.signed_messages[109], 44) + << "incorrect value for last_msg_.signed_messages[109], expected 44, is " + << last_msg_.signed_messages[109]; + EXPECT_EQ(last_msg_.signed_messages[110], 160) + << "incorrect value for last_msg_.signed_messages[110], expected 160, is " + << last_msg_.signed_messages[110]; + EXPECT_EQ(last_msg_.signed_messages[111], 47) + << "incorrect value for last_msg_.signed_messages[111], expected 47, is " + << last_msg_.signed_messages[111]; + EXPECT_EQ(last_msg_.signed_messages[112], 97) + << "incorrect value for last_msg_.signed_messages[112], expected 97, is " + << last_msg_.signed_messages[112]; + EXPECT_EQ(last_msg_.signed_messages[113], 142) + << "incorrect value for last_msg_.signed_messages[113], expected 142, is " + << last_msg_.signed_messages[113]; + EXPECT_EQ(last_msg_.signed_messages[114], 8) + << "incorrect value for last_msg_.signed_messages[114], expected 8, is " + << last_msg_.signed_messages[114]; + EXPECT_EQ(last_msg_.signed_messages[115], 74) + << "incorrect value for last_msg_.signed_messages[115], expected 74, is " + << last_msg_.signed_messages[115]; + EXPECT_EQ(last_msg_.signed_messages[116], 13) + << "incorrect value for last_msg_.signed_messages[116], expected 13, is " + << last_msg_.signed_messages[116]; + EXPECT_EQ(last_msg_.signed_messages[117], 177) + << "incorrect value for last_msg_.signed_messages[117], expected 177, is " + << last_msg_.signed_messages[117]; + EXPECT_EQ(last_msg_.signed_messages[118], 15) + << "incorrect value for last_msg_.signed_messages[118], expected 15, is " + << last_msg_.signed_messages[118]; + EXPECT_EQ(last_msg_.signed_messages[119], 128) + << "incorrect value for last_msg_.signed_messages[119], expected 128, is " + << last_msg_.signed_messages[119]; + EXPECT_EQ(last_msg_.signed_messages[120], 26) + << "incorrect value for last_msg_.signed_messages[120], expected 26, is " + << last_msg_.signed_messages[120]; + EXPECT_EQ(last_msg_.signed_messages[121], 131) + << "incorrect value for last_msg_.signed_messages[121], expected 131, is " + << last_msg_.signed_messages[121]; + EXPECT_EQ(last_msg_.signed_messages[122], 154) + << "incorrect value for last_msg_.signed_messages[122], expected 154, is " + << last_msg_.signed_messages[122]; + EXPECT_EQ(last_msg_.signed_messages[123], 65) + << "incorrect value for last_msg_.signed_messages[123], expected 65, is " + << last_msg_.signed_messages[123]; + EXPECT_EQ(last_msg_.signed_messages[124], 169) + << "incorrect value for last_msg_.signed_messages[124], expected 169, is " + << last_msg_.signed_messages[124]; + EXPECT_EQ(last_msg_.signed_messages[125], 55) + << "incorrect value for last_msg_.signed_messages[125], expected 55, is " + << last_msg_.signed_messages[125]; + EXPECT_EQ(last_msg_.signed_messages[126], 136) + << "incorrect value for last_msg_.signed_messages[126], expected 136, is " + << last_msg_.signed_messages[126]; + EXPECT_EQ(last_msg_.signed_messages[127], 125) + << "incorrect value for last_msg_.signed_messages[127], expected 125, is " + << last_msg_.signed_messages[127]; + EXPECT_EQ(last_msg_.signed_messages[128], 171) + << "incorrect value for last_msg_.signed_messages[128], expected 171, is " + << last_msg_.signed_messages[128]; + EXPECT_EQ(last_msg_.signed_messages[129], 161) + << "incorrect value for last_msg_.signed_messages[129], expected 161, is " + << last_msg_.signed_messages[129]; + EXPECT_EQ(last_msg_.signed_messages[130], 29) + << "incorrect value for last_msg_.signed_messages[130], expected 29, is " + << last_msg_.signed_messages[130]; + EXPECT_EQ(last_msg_.signed_messages[131], 129) + << "incorrect value for last_msg_.signed_messages[131], expected 129, is " + << last_msg_.signed_messages[131]; + EXPECT_EQ(last_msg_.signed_messages[132], 151) + << "incorrect value for last_msg_.signed_messages[132], expected 151, is " + << last_msg_.signed_messages[132]; + EXPECT_EQ(last_msg_.signed_messages[133], 68) + << "incorrect value for last_msg_.signed_messages[133], expected 68, is " + << last_msg_.signed_messages[133]; + EXPECT_EQ(last_msg_.signed_messages[134], 166) + << "incorrect value for last_msg_.signed_messages[134], expected 166, is " + << last_msg_.signed_messages[134]; + EXPECT_EQ(last_msg_.signed_messages[135], 51) + << "incorrect value for last_msg_.signed_messages[135], expected 51, is " + << last_msg_.signed_messages[135]; + EXPECT_EQ(last_msg_.signed_messages[136], 70) + << "incorrect value for last_msg_.signed_messages[136], expected 70, is " + << last_msg_.signed_messages[136]; + EXPECT_EQ(last_msg_.signed_messages[137], 45) + << "incorrect value for last_msg_.signed_messages[137], expected 45, is " + << last_msg_.signed_messages[137]; + EXPECT_EQ(last_msg_.signed_messages[138], 56) + << "incorrect value for last_msg_.signed_messages[138], expected 56, is " + << last_msg_.signed_messages[138]; + EXPECT_EQ(last_msg_.signed_messages[139], 79) + << "incorrect value for last_msg_.signed_messages[139], expected 79, is " + << last_msg_.signed_messages[139]; + EXPECT_EQ(last_msg_.signed_messages[140], 149) + << "incorrect value for last_msg_.signed_messages[140], expected 149, is " + << last_msg_.signed_messages[140]; + EXPECT_EQ(last_msg_.signed_messages[141], 99) + << "incorrect value for last_msg_.signed_messages[141], expected 99, is " + << last_msg_.signed_messages[141]; + EXPECT_EQ(last_msg_.signed_messages[142], 42) + << "incorrect value for last_msg_.signed_messages[142], expected 42, is " + << last_msg_.signed_messages[142]; + EXPECT_EQ(last_msg_.signed_messages[143], 101) + << "incorrect value for last_msg_.signed_messages[143], expected 101, is " + << last_msg_.signed_messages[143]; + EXPECT_EQ(last_msg_.signed_messages[144], 152) + << "incorrect value for last_msg_.signed_messages[144], expected 152, is " + << last_msg_.signed_messages[144]; + EXPECT_EQ(last_msg_.signed_messages[145], 39) + << "incorrect value for last_msg_.signed_messages[145], expected 39, is " + << last_msg_.signed_messages[145]; + EXPECT_EQ(last_msg_.signed_messages[146], 89) + << "incorrect value for last_msg_.signed_messages[146], expected 89, is " + << last_msg_.signed_messages[146]; + EXPECT_EQ(last_msg_.signed_messages[147], 180) + << "incorrect value for last_msg_.signed_messages[147], expected 180, is " + << last_msg_.signed_messages[147]; + EXPECT_EQ(last_msg_.signed_messages[148], 64) + << "incorrect value for last_msg_.signed_messages[148], expected 64, is " + << last_msg_.signed_messages[148]; + EXPECT_EQ(last_msg_.signed_messages[149], 49) + << "incorrect value for last_msg_.signed_messages[149], expected 49, is " + << last_msg_.signed_messages[149]; + EXPECT_EQ(last_msg_.signed_messages[150], 6) + << "incorrect value for last_msg_.signed_messages[150], expected 6, is " + << last_msg_.signed_messages[150]; + EXPECT_EQ(last_msg_.signed_messages[151], 80) + << "incorrect value for last_msg_.signed_messages[151], expected 80, is " + << last_msg_.signed_messages[151]; + EXPECT_EQ(last_msg_.signed_messages[152], 172) + << "incorrect value for last_msg_.signed_messages[152], expected 172, is " + << last_msg_.signed_messages[152]; + EXPECT_EQ(last_msg_.signed_messages[153], 32) + << "incorrect value for last_msg_.signed_messages[153], expected 32, is " + << last_msg_.signed_messages[153]; + EXPECT_EQ(last_msg_.signed_messages[154], 109) + << "incorrect value for last_msg_.signed_messages[154], expected 109, is " + << last_msg_.signed_messages[154]; + EXPECT_EQ(last_msg_.signed_messages[155], 2) + << "incorrect value for last_msg_.signed_messages[155], expected 2, is " + << last_msg_.signed_messages[155]; + EXPECT_EQ(last_msg_.signed_messages[156], 119) + << "incorrect value for last_msg_.signed_messages[156], expected 119, is " + << last_msg_.signed_messages[156]; + EXPECT_EQ(last_msg_.signed_messages[157], 93) + << "incorrect value for last_msg_.signed_messages[157], expected 93, is " + << last_msg_.signed_messages[157]; + EXPECT_EQ(last_msg_.signed_messages[158], 176) + << "incorrect value for last_msg_.signed_messages[158], expected 176, is " + << last_msg_.signed_messages[158]; + EXPECT_EQ(last_msg_.signed_messages[159], 0) + << "incorrect value for last_msg_.signed_messages[159], expected 0, is " + << last_msg_.signed_messages[159]; + EXPECT_EQ(last_msg_.signed_messages[160], 33) + << "incorrect value for last_msg_.signed_messages[160], expected 33, is " + << last_msg_.signed_messages[160]; + EXPECT_EQ(last_msg_.signed_messages[161], 57) + << "incorrect value for last_msg_.signed_messages[161], expected 57, is " + << last_msg_.signed_messages[161]; + EXPECT_EQ(last_msg_.signed_messages[162], 34) + << "incorrect value for last_msg_.signed_messages[162], expected 34, is " + << last_msg_.signed_messages[162]; + EXPECT_EQ(last_msg_.signed_messages[163], 18) + << "incorrect value for last_msg_.signed_messages[163], expected 18, is " + << last_msg_.signed_messages[163]; + EXPECT_EQ(last_msg_.signed_messages[164], 85) + << "incorrect value for last_msg_.signed_messages[164], expected 85, is " + << last_msg_.signed_messages[164]; + EXPECT_EQ(last_msg_.signed_messages[165], 121) + << "incorrect value for last_msg_.signed_messages[165], expected 121, is " + << last_msg_.signed_messages[165]; + EXPECT_EQ(last_msg_.signed_messages[166], 137) + << "incorrect value for last_msg_.signed_messages[166], expected 137, is " + << last_msg_.signed_messages[166]; + EXPECT_EQ(last_msg_.signed_messages[167], 83) + << "incorrect value for last_msg_.signed_messages[167], expected 83, is " + << last_msg_.signed_messages[167]; + EXPECT_EQ(last_msg_.signed_messages[168], 111) + << "incorrect value for last_msg_.signed_messages[168], expected 111, is " + << last_msg_.signed_messages[168]; + EXPECT_EQ(last_msg_.signed_messages[169], 59) + << "incorrect value for last_msg_.signed_messages[169], expected 59, is " + << last_msg_.signed_messages[169]; + EXPECT_EQ(last_msg_.signed_messages[170], 7) + << "incorrect value for last_msg_.signed_messages[170], expected 7, is " + << last_msg_.signed_messages[170]; + EXPECT_EQ(last_msg_.signed_messages[171], 77) + << "incorrect value for last_msg_.signed_messages[171], expected 77, is " + << last_msg_.signed_messages[171]; + EXPECT_EQ(last_msg_.signed_messages[172], 4) + << "incorrect value for last_msg_.signed_messages[172], expected 4, is " + << last_msg_.signed_messages[172]; + EXPECT_EQ(last_msg_.signed_messages[173], 117) + << "incorrect value for last_msg_.signed_messages[173], expected 117, is " + << last_msg_.signed_messages[173]; + EXPECT_EQ(last_msg_.signed_messages[174], 159) + << "incorrect value for last_msg_.signed_messages[174], expected 159, is " + << last_msg_.signed_messages[174]; + EXPECT_EQ(last_msg_.signed_messages[175], 148) + << "incorrect value for last_msg_.signed_messages[175], expected 148, is " + << last_msg_.signed_messages[175]; + EXPECT_EQ(last_msg_.signed_messages[176], 35) + << "incorrect value for last_msg_.signed_messages[176], expected 35, is " + << last_msg_.signed_messages[176]; + EXPECT_EQ(last_msg_.signed_messages[177], 61) + << "incorrect value for last_msg_.signed_messages[177], expected 61, is " + << last_msg_.signed_messages[177]; + EXPECT_EQ(last_msg_.signed_messages[178], 41) + << "incorrect value for last_msg_.signed_messages[178], expected 41, is " + << last_msg_.signed_messages[178]; + EXPECT_EQ(last_msg_.signed_messages[179], 67) + << "incorrect value for last_msg_.signed_messages[179], expected 67, is " + << last_msg_.signed_messages[179]; + EXPECT_EQ(last_msg_.signed_messages[180], 46) + << "incorrect value for last_msg_.signed_messages[180], expected 46, is " + << last_msg_.signed_messages[180]; + EXPECT_EQ(last_msg_.signed_messages[181], 127) + << "incorrect value for last_msg_.signed_messages[181], expected 127, is " + << last_msg_.signed_messages[181]; + EXPECT_EQ(last_msg_.signed_messages[182], 75) + << "incorrect value for last_msg_.signed_messages[182], expected 75, is " + << last_msg_.signed_messages[182]; + EXPECT_EQ(last_msg_.signed_messages[183], 174) + << "incorrect value for last_msg_.signed_messages[183], expected 174, is " + << last_msg_.signed_messages[183]; + EXPECT_EQ(last_msg_.stream_counter, 1) + << "incorrect value for last_msg_.stream_counter, expected 1, is " + << last_msg_.stream_counter; +} diff --git a/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c b/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c index 9f14ac9dde..64dfbf4408 100644 --- a/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c +++ b/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c @@ -122,25 +122,12 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { &DUMMY_MEMORY_FOR_CALLBACKS, &n2); u8 encoded_frame[] = { - 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, - 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, - 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, - 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, - 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, - 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, 130, - 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, - 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, - 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, - 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, - 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, - 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, - 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, - 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, - 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, - 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, - 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, - 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, - 148, 35, 61, 41, 67, 46, 127, 75, 174, 97, 172, + 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, }; dummy_reset(); @@ -171,6 +158,7 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { } test_msg->certificate_id[3] = 4; test_msg->flags = 0; + test_msg->n_signature_bytes = 73; test_msg->on_demand_counter = 2; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays @@ -216,1202 +204,342 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[8] = 0; + test_msg->signature[8] = 8; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[9] = 1; + test_msg->signature[9] = 9; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[10] = 2; + test_msg->signature[10] = 10; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[11] = 3; + test_msg->signature[11] = 11; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[12] = 4; + test_msg->signature[12] = 12; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[13] = 5; + test_msg->signature[13] = 13; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[14] = 6; + test_msg->signature[14] = 14; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[15] = 7; + test_msg->signature[15] = 15; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[16] = 0; + test_msg->signature[16] = 16; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[17] = 1; + test_msg->signature[17] = 17; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[18] = 2; + test_msg->signature[18] = 18; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[19] = 3; + test_msg->signature[19] = 19; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[20] = 4; + test_msg->signature[20] = 20; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[21] = 5; + test_msg->signature[21] = 21; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[22] = 6; + test_msg->signature[22] = 22; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[23] = 7; + test_msg->signature[23] = 23; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[24] = 0; + test_msg->signature[24] = 24; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[25] = 1; + test_msg->signature[25] = 25; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[26] = 2; + test_msg->signature[26] = 26; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[27] = 3; + test_msg->signature[27] = 27; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[28] = 4; + test_msg->signature[28] = 28; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[29] = 5; + test_msg->signature[29] = 29; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[30] = 6; + test_msg->signature[30] = 30; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[31] = 7; + test_msg->signature[31] = 31; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[32] = 0; + test_msg->signature[32] = 32; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[33] = 1; + test_msg->signature[33] = 33; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[34] = 2; + test_msg->signature[34] = 34; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[35] = 3; + test_msg->signature[35] = 35; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[36] = 4; + test_msg->signature[36] = 36; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[37] = 5; + test_msg->signature[37] = 37; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[38] = 6; + test_msg->signature[38] = 38; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[39] = 7; + test_msg->signature[39] = 39; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[40] = 0; + test_msg->signature[40] = 40; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[41] = 1; + test_msg->signature[41] = 41; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[42] = 2; + test_msg->signature[42] = 42; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[43] = 3; + test_msg->signature[43] = 43; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[44] = 4; + test_msg->signature[44] = 44; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[45] = 5; + test_msg->signature[45] = 45; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[46] = 6; + test_msg->signature[46] = 46; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[47] = 7; + test_msg->signature[47] = 47; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[48] = 0; + test_msg->signature[48] = 48; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[49] = 1; + test_msg->signature[49] = 49; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[50] = 2; + test_msg->signature[50] = 50; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[51] = 3; + test_msg->signature[51] = 51; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[52] = 4; + test_msg->signature[52] = 52; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[53] = 5; + test_msg->signature[53] = 53; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[54] = 6; + test_msg->signature[54] = 54; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[55] = 7; + test_msg->signature[55] = 55; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[56] = 0; + test_msg->signature[56] = 56; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[57] = 1; + test_msg->signature[57] = 57; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[58] = 2; + test_msg->signature[58] = 58; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[59] = 3; + test_msg->signature[59] = 59; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[60] = 4; + test_msg->signature[60] = 60; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[61] = 5; + test_msg->signature[61] = 61; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[62] = 6; + test_msg->signature[62] = 62; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signature[63] = 7; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[0] = 10; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[1] = 21; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[2] = 23; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[3] = 63; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[4] = 140; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[5] = 37; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[6] = 130; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[7] = 106; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[8] = 28; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[9] = 40; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[10] = 165; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[11] = 179; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[12] = 73; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[13] = 178; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[14] = 60; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[15] = 126; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[16] = 114; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[17] = 78; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[18] = 113; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[19] = 27; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[20] = 95; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[21] = 3; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[22] = 62; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[23] = 104; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[24] = 145; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[25] = 96; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[26] = 19; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[27] = 92; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[28] = 123; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[29] = 14; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[30] = 90; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[31] = 153; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[32] = 183; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[33] = 9; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[34] = 72; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[35] = 81; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[36] = 118; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[37] = 112; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[38] = 124; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[39] = 16; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[40] = 182; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[41] = 76; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[42] = 146; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[43] = 115; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[44] = 58; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[45] = 144; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[46] = 17; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[47] = 105; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[48] = 66; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[49] = 31; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[50] = 135; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[51] = 54; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[52] = 100; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[53] = 84; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[54] = 181; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[55] = 103; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[56] = 11; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[57] = 88; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[58] = 133; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[59] = 155; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[60] = 167; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[61] = 173; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[62] = 143; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[63] = 86; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[64] = 158; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[65] = 20; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[66] = 168; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[67] = 132; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[68] = 141; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[69] = 102; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[70] = 50; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[71] = 48; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[72] = 71; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[73] = 147; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[74] = 53; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[75] = 87; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[76] = 1; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[77] = 108; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[78] = 138; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[79] = 36; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[80] = 134; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[81] = 139; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[82] = 163; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[83] = 82; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[84] = 43; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[85] = 52; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[86] = 150; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[87] = 12; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[88] = 30; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[89] = 110; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[90] = 156; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[91] = 107; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[92] = 120; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[93] = 91; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[94] = 122; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[95] = 69; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[96] = 164; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[97] = 170; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[98] = 116; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[99] = 25; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[100] = 94; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[101] = 5; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[102] = 22; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[103] = 24; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[104] = 162; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[105] = 175; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[106] = 38; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[107] = 157; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[108] = 98; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[109] = 44; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[110] = 160; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[111] = 47; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[112] = 97; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[113] = 142; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[114] = 8; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[115] = 74; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[116] = 13; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[117] = 177; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[118] = 15; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[119] = 128; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[120] = 26; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[121] = 131; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[122] = 154; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[123] = 65; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[124] = 169; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[125] = 55; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[126] = 136; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[127] = 125; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[128] = 171; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[129] = 161; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[130] = 29; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[131] = 129; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[132] = 151; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[133] = 68; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[134] = 166; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[135] = 51; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[136] = 70; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[137] = 45; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[138] = 56; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[139] = 79; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[140] = 149; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[141] = 99; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[142] = 42; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[143] = 101; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[144] = 152; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[145] = 39; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[146] = 89; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[147] = 180; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[148] = 64; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[149] = 49; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[150] = 6; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[151] = 80; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[152] = 172; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[153] = 32; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[154] = 109; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[155] = 2; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[156] = 119; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[157] = 93; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[158] = 176; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[159] = 0; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[160] = 33; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[161] = 57; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[162] = 34; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[163] = 18; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[164] = 85; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[165] = 121; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[166] = 137; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[167] = 83; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[168] = 111; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[169] = 59; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[170] = 7; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); - } - test_msg->signed_messages[171] = 77; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[63] = 63; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[172] = 4; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[64] = 64; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[173] = 117; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[65] = 65; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[174] = 159; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[66] = 66; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[175] = 148; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[67] = 67; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[176] = 35; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[68] = 68; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[177] = 61; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[69] = 69; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[178] = 41; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[70] = 70; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[179] = 67; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[71] = 71; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signed_messages[0]); + test_msg_len += sizeof(test_msg->signature[0]); } - test_msg->signed_messages[180] = 46; + test_msg->signature[72] = 72; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signed_messages[0]); } - test_msg->signed_messages[181] = 127; + test_msg->signed_messages[0] = 10; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signed_messages[0]); } - test_msg->signed_messages[182] = 75; + test_msg->signed_messages[1] = 21; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signed_messages[0]); } - test_msg->signed_messages[183] = 174; + test_msg->signed_messages[2] = 23; test_msg->stream_counter = 1; sbp_payload_send(&sbp_state, 0xC06, 66, test_msg_len, test_msg_storage, &dummy_write); @@ -1483,6 +611,9 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { ck_assert_msg(check_msg->flags == 0, "incorrect value for flags, expected 0, is %d", check_msg->flags); + ck_assert_msg(check_msg->n_signature_bytes == 73, + "incorrect value for n_signature_bytes, expected 73, is %d", + check_msg->n_signature_bytes); ck_assert_msg(check_msg->on_demand_counter == 2, "incorrect value for on_demand_counter, expected 2, is %d", check_msg->on_demand_counter); @@ -1510,174 +641,201 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { ck_assert_msg(check_msg->signature[7] == 7, "incorrect value for signature[7], expected 7, is %d", check_msg->signature[7]); - ck_assert_msg(check_msg->signature[8] == 0, - "incorrect value for signature[8], expected 0, is %d", + ck_assert_msg(check_msg->signature[8] == 8, + "incorrect value for signature[8], expected 8, is %d", check_msg->signature[8]); - ck_assert_msg(check_msg->signature[9] == 1, - "incorrect value for signature[9], expected 1, is %d", + ck_assert_msg(check_msg->signature[9] == 9, + "incorrect value for signature[9], expected 9, is %d", check_msg->signature[9]); - ck_assert_msg(check_msg->signature[10] == 2, - "incorrect value for signature[10], expected 2, is %d", + ck_assert_msg(check_msg->signature[10] == 10, + "incorrect value for signature[10], expected 10, is %d", check_msg->signature[10]); - ck_assert_msg(check_msg->signature[11] == 3, - "incorrect value for signature[11], expected 3, is %d", + ck_assert_msg(check_msg->signature[11] == 11, + "incorrect value for signature[11], expected 11, is %d", check_msg->signature[11]); - ck_assert_msg(check_msg->signature[12] == 4, - "incorrect value for signature[12], expected 4, is %d", + ck_assert_msg(check_msg->signature[12] == 12, + "incorrect value for signature[12], expected 12, is %d", check_msg->signature[12]); - ck_assert_msg(check_msg->signature[13] == 5, - "incorrect value for signature[13], expected 5, is %d", + ck_assert_msg(check_msg->signature[13] == 13, + "incorrect value for signature[13], expected 13, is %d", check_msg->signature[13]); - ck_assert_msg(check_msg->signature[14] == 6, - "incorrect value for signature[14], expected 6, is %d", + ck_assert_msg(check_msg->signature[14] == 14, + "incorrect value for signature[14], expected 14, is %d", check_msg->signature[14]); - ck_assert_msg(check_msg->signature[15] == 7, - "incorrect value for signature[15], expected 7, is %d", + ck_assert_msg(check_msg->signature[15] == 15, + "incorrect value for signature[15], expected 15, is %d", check_msg->signature[15]); - ck_assert_msg(check_msg->signature[16] == 0, - "incorrect value for signature[16], expected 0, is %d", + ck_assert_msg(check_msg->signature[16] == 16, + "incorrect value for signature[16], expected 16, is %d", check_msg->signature[16]); - ck_assert_msg(check_msg->signature[17] == 1, - "incorrect value for signature[17], expected 1, is %d", + ck_assert_msg(check_msg->signature[17] == 17, + "incorrect value for signature[17], expected 17, is %d", check_msg->signature[17]); - ck_assert_msg(check_msg->signature[18] == 2, - "incorrect value for signature[18], expected 2, is %d", + ck_assert_msg(check_msg->signature[18] == 18, + "incorrect value for signature[18], expected 18, is %d", check_msg->signature[18]); - ck_assert_msg(check_msg->signature[19] == 3, - "incorrect value for signature[19], expected 3, is %d", + ck_assert_msg(check_msg->signature[19] == 19, + "incorrect value for signature[19], expected 19, is %d", check_msg->signature[19]); - ck_assert_msg(check_msg->signature[20] == 4, - "incorrect value for signature[20], expected 4, is %d", + ck_assert_msg(check_msg->signature[20] == 20, + "incorrect value for signature[20], expected 20, is %d", check_msg->signature[20]); - ck_assert_msg(check_msg->signature[21] == 5, - "incorrect value for signature[21], expected 5, is %d", + ck_assert_msg(check_msg->signature[21] == 21, + "incorrect value for signature[21], expected 21, is %d", check_msg->signature[21]); - ck_assert_msg(check_msg->signature[22] == 6, - "incorrect value for signature[22], expected 6, is %d", + ck_assert_msg(check_msg->signature[22] == 22, + "incorrect value for signature[22], expected 22, is %d", check_msg->signature[22]); - ck_assert_msg(check_msg->signature[23] == 7, - "incorrect value for signature[23], expected 7, is %d", + ck_assert_msg(check_msg->signature[23] == 23, + "incorrect value for signature[23], expected 23, is %d", check_msg->signature[23]); - ck_assert_msg(check_msg->signature[24] == 0, - "incorrect value for signature[24], expected 0, is %d", + ck_assert_msg(check_msg->signature[24] == 24, + "incorrect value for signature[24], expected 24, is %d", check_msg->signature[24]); - ck_assert_msg(check_msg->signature[25] == 1, - "incorrect value for signature[25], expected 1, is %d", + ck_assert_msg(check_msg->signature[25] == 25, + "incorrect value for signature[25], expected 25, is %d", check_msg->signature[25]); - ck_assert_msg(check_msg->signature[26] == 2, - "incorrect value for signature[26], expected 2, is %d", + ck_assert_msg(check_msg->signature[26] == 26, + "incorrect value for signature[26], expected 26, is %d", check_msg->signature[26]); - ck_assert_msg(check_msg->signature[27] == 3, - "incorrect value for signature[27], expected 3, is %d", + ck_assert_msg(check_msg->signature[27] == 27, + "incorrect value for signature[27], expected 27, is %d", check_msg->signature[27]); - ck_assert_msg(check_msg->signature[28] == 4, - "incorrect value for signature[28], expected 4, is %d", + ck_assert_msg(check_msg->signature[28] == 28, + "incorrect value for signature[28], expected 28, is %d", check_msg->signature[28]); - ck_assert_msg(check_msg->signature[29] == 5, - "incorrect value for signature[29], expected 5, is %d", + ck_assert_msg(check_msg->signature[29] == 29, + "incorrect value for signature[29], expected 29, is %d", check_msg->signature[29]); - ck_assert_msg(check_msg->signature[30] == 6, - "incorrect value for signature[30], expected 6, is %d", + ck_assert_msg(check_msg->signature[30] == 30, + "incorrect value for signature[30], expected 30, is %d", check_msg->signature[30]); - ck_assert_msg(check_msg->signature[31] == 7, - "incorrect value for signature[31], expected 7, is %d", + ck_assert_msg(check_msg->signature[31] == 31, + "incorrect value for signature[31], expected 31, is %d", check_msg->signature[31]); - ck_assert_msg(check_msg->signature[32] == 0, - "incorrect value for signature[32], expected 0, is %d", + ck_assert_msg(check_msg->signature[32] == 32, + "incorrect value for signature[32], expected 32, is %d", check_msg->signature[32]); - ck_assert_msg(check_msg->signature[33] == 1, - "incorrect value for signature[33], expected 1, is %d", + ck_assert_msg(check_msg->signature[33] == 33, + "incorrect value for signature[33], expected 33, is %d", check_msg->signature[33]); - ck_assert_msg(check_msg->signature[34] == 2, - "incorrect value for signature[34], expected 2, is %d", + ck_assert_msg(check_msg->signature[34] == 34, + "incorrect value for signature[34], expected 34, is %d", check_msg->signature[34]); - ck_assert_msg(check_msg->signature[35] == 3, - "incorrect value for signature[35], expected 3, is %d", + ck_assert_msg(check_msg->signature[35] == 35, + "incorrect value for signature[35], expected 35, is %d", check_msg->signature[35]); - ck_assert_msg(check_msg->signature[36] == 4, - "incorrect value for signature[36], expected 4, is %d", + ck_assert_msg(check_msg->signature[36] == 36, + "incorrect value for signature[36], expected 36, is %d", check_msg->signature[36]); - ck_assert_msg(check_msg->signature[37] == 5, - "incorrect value for signature[37], expected 5, is %d", + ck_assert_msg(check_msg->signature[37] == 37, + "incorrect value for signature[37], expected 37, is %d", check_msg->signature[37]); - ck_assert_msg(check_msg->signature[38] == 6, - "incorrect value for signature[38], expected 6, is %d", + ck_assert_msg(check_msg->signature[38] == 38, + "incorrect value for signature[38], expected 38, is %d", check_msg->signature[38]); - ck_assert_msg(check_msg->signature[39] == 7, - "incorrect value for signature[39], expected 7, is %d", + ck_assert_msg(check_msg->signature[39] == 39, + "incorrect value for signature[39], expected 39, is %d", check_msg->signature[39]); - ck_assert_msg(check_msg->signature[40] == 0, - "incorrect value for signature[40], expected 0, is %d", + ck_assert_msg(check_msg->signature[40] == 40, + "incorrect value for signature[40], expected 40, is %d", check_msg->signature[40]); - ck_assert_msg(check_msg->signature[41] == 1, - "incorrect value for signature[41], expected 1, is %d", + ck_assert_msg(check_msg->signature[41] == 41, + "incorrect value for signature[41], expected 41, is %d", check_msg->signature[41]); - ck_assert_msg(check_msg->signature[42] == 2, - "incorrect value for signature[42], expected 2, is %d", + ck_assert_msg(check_msg->signature[42] == 42, + "incorrect value for signature[42], expected 42, is %d", check_msg->signature[42]); - ck_assert_msg(check_msg->signature[43] == 3, - "incorrect value for signature[43], expected 3, is %d", + ck_assert_msg(check_msg->signature[43] == 43, + "incorrect value for signature[43], expected 43, is %d", check_msg->signature[43]); - ck_assert_msg(check_msg->signature[44] == 4, - "incorrect value for signature[44], expected 4, is %d", + ck_assert_msg(check_msg->signature[44] == 44, + "incorrect value for signature[44], expected 44, is %d", check_msg->signature[44]); - ck_assert_msg(check_msg->signature[45] == 5, - "incorrect value for signature[45], expected 5, is %d", + ck_assert_msg(check_msg->signature[45] == 45, + "incorrect value for signature[45], expected 45, is %d", check_msg->signature[45]); - ck_assert_msg(check_msg->signature[46] == 6, - "incorrect value for signature[46], expected 6, is %d", + ck_assert_msg(check_msg->signature[46] == 46, + "incorrect value for signature[46], expected 46, is %d", check_msg->signature[46]); - ck_assert_msg(check_msg->signature[47] == 7, - "incorrect value for signature[47], expected 7, is %d", + ck_assert_msg(check_msg->signature[47] == 47, + "incorrect value for signature[47], expected 47, is %d", check_msg->signature[47]); - ck_assert_msg(check_msg->signature[48] == 0, - "incorrect value for signature[48], expected 0, is %d", + ck_assert_msg(check_msg->signature[48] == 48, + "incorrect value for signature[48], expected 48, is %d", check_msg->signature[48]); - ck_assert_msg(check_msg->signature[49] == 1, - "incorrect value for signature[49], expected 1, is %d", + ck_assert_msg(check_msg->signature[49] == 49, + "incorrect value for signature[49], expected 49, is %d", check_msg->signature[49]); - ck_assert_msg(check_msg->signature[50] == 2, - "incorrect value for signature[50], expected 2, is %d", + ck_assert_msg(check_msg->signature[50] == 50, + "incorrect value for signature[50], expected 50, is %d", check_msg->signature[50]); - ck_assert_msg(check_msg->signature[51] == 3, - "incorrect value for signature[51], expected 3, is %d", + ck_assert_msg(check_msg->signature[51] == 51, + "incorrect value for signature[51], expected 51, is %d", check_msg->signature[51]); - ck_assert_msg(check_msg->signature[52] == 4, - "incorrect value for signature[52], expected 4, is %d", + ck_assert_msg(check_msg->signature[52] == 52, + "incorrect value for signature[52], expected 52, is %d", check_msg->signature[52]); - ck_assert_msg(check_msg->signature[53] == 5, - "incorrect value for signature[53], expected 5, is %d", + ck_assert_msg(check_msg->signature[53] == 53, + "incorrect value for signature[53], expected 53, is %d", check_msg->signature[53]); - ck_assert_msg(check_msg->signature[54] == 6, - "incorrect value for signature[54], expected 6, is %d", + ck_assert_msg(check_msg->signature[54] == 54, + "incorrect value for signature[54], expected 54, is %d", check_msg->signature[54]); - ck_assert_msg(check_msg->signature[55] == 7, - "incorrect value for signature[55], expected 7, is %d", + ck_assert_msg(check_msg->signature[55] == 55, + "incorrect value for signature[55], expected 55, is %d", check_msg->signature[55]); - ck_assert_msg(check_msg->signature[56] == 0, - "incorrect value for signature[56], expected 0, is %d", + ck_assert_msg(check_msg->signature[56] == 56, + "incorrect value for signature[56], expected 56, is %d", check_msg->signature[56]); - ck_assert_msg(check_msg->signature[57] == 1, - "incorrect value for signature[57], expected 1, is %d", + ck_assert_msg(check_msg->signature[57] == 57, + "incorrect value for signature[57], expected 57, is %d", check_msg->signature[57]); - ck_assert_msg(check_msg->signature[58] == 2, - "incorrect value for signature[58], expected 2, is %d", + ck_assert_msg(check_msg->signature[58] == 58, + "incorrect value for signature[58], expected 58, is %d", check_msg->signature[58]); - ck_assert_msg(check_msg->signature[59] == 3, - "incorrect value for signature[59], expected 3, is %d", + ck_assert_msg(check_msg->signature[59] == 59, + "incorrect value for signature[59], expected 59, is %d", check_msg->signature[59]); - ck_assert_msg(check_msg->signature[60] == 4, - "incorrect value for signature[60], expected 4, is %d", + ck_assert_msg(check_msg->signature[60] == 60, + "incorrect value for signature[60], expected 60, is %d", check_msg->signature[60]); - ck_assert_msg(check_msg->signature[61] == 5, - "incorrect value for signature[61], expected 5, is %d", + ck_assert_msg(check_msg->signature[61] == 61, + "incorrect value for signature[61], expected 61, is %d", check_msg->signature[61]); - ck_assert_msg(check_msg->signature[62] == 6, - "incorrect value for signature[62], expected 6, is %d", + ck_assert_msg(check_msg->signature[62] == 62, + "incorrect value for signature[62], expected 62, is %d", check_msg->signature[62]); - ck_assert_msg(check_msg->signature[63] == 7, - "incorrect value for signature[63], expected 7, is %d", + ck_assert_msg(check_msg->signature[63] == 63, + "incorrect value for signature[63], expected 63, is %d", check_msg->signature[63]); + ck_assert_msg(check_msg->signature[64] == 64, + "incorrect value for signature[64], expected 64, is %d", + check_msg->signature[64]); + ck_assert_msg(check_msg->signature[65] == 65, + "incorrect value for signature[65], expected 65, is %d", + check_msg->signature[65]); + ck_assert_msg(check_msg->signature[66] == 66, + "incorrect value for signature[66], expected 66, is %d", + check_msg->signature[66]); + ck_assert_msg(check_msg->signature[67] == 67, + "incorrect value for signature[67], expected 67, is %d", + check_msg->signature[67]); + ck_assert_msg(check_msg->signature[68] == 68, + "incorrect value for signature[68], expected 68, is %d", + check_msg->signature[68]); + ck_assert_msg(check_msg->signature[69] == 69, + "incorrect value for signature[69], expected 69, is %d", + check_msg->signature[69]); + ck_assert_msg(check_msg->signature[70] == 70, + "incorrect value for signature[70], expected 70, is %d", + check_msg->signature[70]); + ck_assert_msg(check_msg->signature[71] == 71, + "incorrect value for signature[71], expected 71, is %d", + check_msg->signature[71]); + ck_assert_msg(check_msg->signature[72] == 72, + "incorrect value for signature[72], expected 72, is %d", + check_msg->signature[72]); ck_assert_msg(check_msg->signed_messages[0] == 10, "incorrect value for signed_messages[0], expected 10, is %d", check_msg->signed_messages[0]); @@ -1687,674 +845,6 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { ck_assert_msg(check_msg->signed_messages[2] == 23, "incorrect value for signed_messages[2], expected 23, is %d", check_msg->signed_messages[2]); - ck_assert_msg(check_msg->signed_messages[3] == 63, - "incorrect value for signed_messages[3], expected 63, is %d", - check_msg->signed_messages[3]); - ck_assert_msg(check_msg->signed_messages[4] == 140, - "incorrect value for signed_messages[4], expected 140, is %d", - check_msg->signed_messages[4]); - ck_assert_msg(check_msg->signed_messages[5] == 37, - "incorrect value for signed_messages[5], expected 37, is %d", - check_msg->signed_messages[5]); - ck_assert_msg(check_msg->signed_messages[6] == 130, - "incorrect value for signed_messages[6], expected 130, is %d", - check_msg->signed_messages[6]); - ck_assert_msg(check_msg->signed_messages[7] == 106, - "incorrect value for signed_messages[7], expected 106, is %d", - check_msg->signed_messages[7]); - ck_assert_msg(check_msg->signed_messages[8] == 28, - "incorrect value for signed_messages[8], expected 28, is %d", - check_msg->signed_messages[8]); - ck_assert_msg(check_msg->signed_messages[9] == 40, - "incorrect value for signed_messages[9], expected 40, is %d", - check_msg->signed_messages[9]); - ck_assert_msg( - check_msg->signed_messages[10] == 165, - "incorrect value for signed_messages[10], expected 165, is %d", - check_msg->signed_messages[10]); - ck_assert_msg( - check_msg->signed_messages[11] == 179, - "incorrect value for signed_messages[11], expected 179, is %d", - check_msg->signed_messages[11]); - ck_assert_msg(check_msg->signed_messages[12] == 73, - "incorrect value for signed_messages[12], expected 73, is %d", - check_msg->signed_messages[12]); - ck_assert_msg( - check_msg->signed_messages[13] == 178, - "incorrect value for signed_messages[13], expected 178, is %d", - check_msg->signed_messages[13]); - ck_assert_msg(check_msg->signed_messages[14] == 60, - "incorrect value for signed_messages[14], expected 60, is %d", - check_msg->signed_messages[14]); - ck_assert_msg( - check_msg->signed_messages[15] == 126, - "incorrect value for signed_messages[15], expected 126, is %d", - check_msg->signed_messages[15]); - ck_assert_msg( - check_msg->signed_messages[16] == 114, - "incorrect value for signed_messages[16], expected 114, is %d", - check_msg->signed_messages[16]); - ck_assert_msg(check_msg->signed_messages[17] == 78, - "incorrect value for signed_messages[17], expected 78, is %d", - check_msg->signed_messages[17]); - ck_assert_msg( - check_msg->signed_messages[18] == 113, - "incorrect value for signed_messages[18], expected 113, is %d", - check_msg->signed_messages[18]); - ck_assert_msg(check_msg->signed_messages[19] == 27, - "incorrect value for signed_messages[19], expected 27, is %d", - check_msg->signed_messages[19]); - ck_assert_msg(check_msg->signed_messages[20] == 95, - "incorrect value for signed_messages[20], expected 95, is %d", - check_msg->signed_messages[20]); - ck_assert_msg(check_msg->signed_messages[21] == 3, - "incorrect value for signed_messages[21], expected 3, is %d", - check_msg->signed_messages[21]); - ck_assert_msg(check_msg->signed_messages[22] == 62, - "incorrect value for signed_messages[22], expected 62, is %d", - check_msg->signed_messages[22]); - ck_assert_msg( - check_msg->signed_messages[23] == 104, - "incorrect value for signed_messages[23], expected 104, is %d", - check_msg->signed_messages[23]); - ck_assert_msg( - check_msg->signed_messages[24] == 145, - "incorrect value for signed_messages[24], expected 145, is %d", - check_msg->signed_messages[24]); - ck_assert_msg(check_msg->signed_messages[25] == 96, - "incorrect value for signed_messages[25], expected 96, is %d", - check_msg->signed_messages[25]); - ck_assert_msg(check_msg->signed_messages[26] == 19, - "incorrect value for signed_messages[26], expected 19, is %d", - check_msg->signed_messages[26]); - ck_assert_msg(check_msg->signed_messages[27] == 92, - "incorrect value for signed_messages[27], expected 92, is %d", - check_msg->signed_messages[27]); - ck_assert_msg( - check_msg->signed_messages[28] == 123, - "incorrect value for signed_messages[28], expected 123, is %d", - check_msg->signed_messages[28]); - ck_assert_msg(check_msg->signed_messages[29] == 14, - "incorrect value for signed_messages[29], expected 14, is %d", - check_msg->signed_messages[29]); - ck_assert_msg(check_msg->signed_messages[30] == 90, - "incorrect value for signed_messages[30], expected 90, is %d", - check_msg->signed_messages[30]); - ck_assert_msg( - check_msg->signed_messages[31] == 153, - "incorrect value for signed_messages[31], expected 153, is %d", - check_msg->signed_messages[31]); - ck_assert_msg( - check_msg->signed_messages[32] == 183, - "incorrect value for signed_messages[32], expected 183, is %d", - check_msg->signed_messages[32]); - ck_assert_msg(check_msg->signed_messages[33] == 9, - "incorrect value for signed_messages[33], expected 9, is %d", - check_msg->signed_messages[33]); - ck_assert_msg(check_msg->signed_messages[34] == 72, - "incorrect value for signed_messages[34], expected 72, is %d", - check_msg->signed_messages[34]); - ck_assert_msg(check_msg->signed_messages[35] == 81, - "incorrect value for signed_messages[35], expected 81, is %d", - check_msg->signed_messages[35]); - ck_assert_msg( - check_msg->signed_messages[36] == 118, - "incorrect value for signed_messages[36], expected 118, is %d", - check_msg->signed_messages[36]); - ck_assert_msg( - check_msg->signed_messages[37] == 112, - "incorrect value for signed_messages[37], expected 112, is %d", - check_msg->signed_messages[37]); - ck_assert_msg( - check_msg->signed_messages[38] == 124, - "incorrect value for signed_messages[38], expected 124, is %d", - check_msg->signed_messages[38]); - ck_assert_msg(check_msg->signed_messages[39] == 16, - "incorrect value for signed_messages[39], expected 16, is %d", - check_msg->signed_messages[39]); - ck_assert_msg( - check_msg->signed_messages[40] == 182, - "incorrect value for signed_messages[40], expected 182, is %d", - check_msg->signed_messages[40]); - ck_assert_msg(check_msg->signed_messages[41] == 76, - "incorrect value for signed_messages[41], expected 76, is %d", - check_msg->signed_messages[41]); - ck_assert_msg( - check_msg->signed_messages[42] == 146, - "incorrect value for signed_messages[42], expected 146, is %d", - check_msg->signed_messages[42]); - ck_assert_msg( - check_msg->signed_messages[43] == 115, - "incorrect value for signed_messages[43], expected 115, is %d", - check_msg->signed_messages[43]); - ck_assert_msg(check_msg->signed_messages[44] == 58, - "incorrect value for signed_messages[44], expected 58, is %d", - check_msg->signed_messages[44]); - ck_assert_msg( - check_msg->signed_messages[45] == 144, - "incorrect value for signed_messages[45], expected 144, is %d", - check_msg->signed_messages[45]); - ck_assert_msg(check_msg->signed_messages[46] == 17, - "incorrect value for signed_messages[46], expected 17, is %d", - check_msg->signed_messages[46]); - ck_assert_msg( - check_msg->signed_messages[47] == 105, - "incorrect value for signed_messages[47], expected 105, is %d", - check_msg->signed_messages[47]); - ck_assert_msg(check_msg->signed_messages[48] == 66, - "incorrect value for signed_messages[48], expected 66, is %d", - check_msg->signed_messages[48]); - ck_assert_msg(check_msg->signed_messages[49] == 31, - "incorrect value for signed_messages[49], expected 31, is %d", - check_msg->signed_messages[49]); - ck_assert_msg( - check_msg->signed_messages[50] == 135, - "incorrect value for signed_messages[50], expected 135, is %d", - check_msg->signed_messages[50]); - ck_assert_msg(check_msg->signed_messages[51] == 54, - "incorrect value for signed_messages[51], expected 54, is %d", - check_msg->signed_messages[51]); - ck_assert_msg( - check_msg->signed_messages[52] == 100, - "incorrect value for signed_messages[52], expected 100, is %d", - check_msg->signed_messages[52]); - ck_assert_msg(check_msg->signed_messages[53] == 84, - "incorrect value for signed_messages[53], expected 84, is %d", - check_msg->signed_messages[53]); - ck_assert_msg( - check_msg->signed_messages[54] == 181, - "incorrect value for signed_messages[54], expected 181, is %d", - check_msg->signed_messages[54]); - ck_assert_msg( - check_msg->signed_messages[55] == 103, - "incorrect value for signed_messages[55], expected 103, is %d", - check_msg->signed_messages[55]); - ck_assert_msg(check_msg->signed_messages[56] == 11, - "incorrect value for signed_messages[56], expected 11, is %d", - check_msg->signed_messages[56]); - ck_assert_msg(check_msg->signed_messages[57] == 88, - "incorrect value for signed_messages[57], expected 88, is %d", - check_msg->signed_messages[57]); - ck_assert_msg( - check_msg->signed_messages[58] == 133, - "incorrect value for signed_messages[58], expected 133, is %d", - check_msg->signed_messages[58]); - ck_assert_msg( - check_msg->signed_messages[59] == 155, - "incorrect value for signed_messages[59], expected 155, is %d", - check_msg->signed_messages[59]); - ck_assert_msg( - check_msg->signed_messages[60] == 167, - "incorrect value for signed_messages[60], expected 167, is %d", - check_msg->signed_messages[60]); - ck_assert_msg( - check_msg->signed_messages[61] == 173, - "incorrect value for signed_messages[61], expected 173, is %d", - check_msg->signed_messages[61]); - ck_assert_msg( - check_msg->signed_messages[62] == 143, - "incorrect value for signed_messages[62], expected 143, is %d", - check_msg->signed_messages[62]); - ck_assert_msg(check_msg->signed_messages[63] == 86, - "incorrect value for signed_messages[63], expected 86, is %d", - check_msg->signed_messages[63]); - ck_assert_msg( - check_msg->signed_messages[64] == 158, - "incorrect value for signed_messages[64], expected 158, is %d", - check_msg->signed_messages[64]); - ck_assert_msg(check_msg->signed_messages[65] == 20, - "incorrect value for signed_messages[65], expected 20, is %d", - check_msg->signed_messages[65]); - ck_assert_msg( - check_msg->signed_messages[66] == 168, - "incorrect value for signed_messages[66], expected 168, is %d", - check_msg->signed_messages[66]); - ck_assert_msg( - check_msg->signed_messages[67] == 132, - "incorrect value for signed_messages[67], expected 132, is %d", - check_msg->signed_messages[67]); - ck_assert_msg( - check_msg->signed_messages[68] == 141, - "incorrect value for signed_messages[68], expected 141, is %d", - check_msg->signed_messages[68]); - ck_assert_msg( - check_msg->signed_messages[69] == 102, - "incorrect value for signed_messages[69], expected 102, is %d", - check_msg->signed_messages[69]); - ck_assert_msg(check_msg->signed_messages[70] == 50, - "incorrect value for signed_messages[70], expected 50, is %d", - check_msg->signed_messages[70]); - ck_assert_msg(check_msg->signed_messages[71] == 48, - "incorrect value for signed_messages[71], expected 48, is %d", - check_msg->signed_messages[71]); - ck_assert_msg(check_msg->signed_messages[72] == 71, - "incorrect value for signed_messages[72], expected 71, is %d", - check_msg->signed_messages[72]); - ck_assert_msg( - check_msg->signed_messages[73] == 147, - "incorrect value for signed_messages[73], expected 147, is %d", - check_msg->signed_messages[73]); - ck_assert_msg(check_msg->signed_messages[74] == 53, - "incorrect value for signed_messages[74], expected 53, is %d", - check_msg->signed_messages[74]); - ck_assert_msg(check_msg->signed_messages[75] == 87, - "incorrect value for signed_messages[75], expected 87, is %d", - check_msg->signed_messages[75]); - ck_assert_msg(check_msg->signed_messages[76] == 1, - "incorrect value for signed_messages[76], expected 1, is %d", - check_msg->signed_messages[76]); - ck_assert_msg( - check_msg->signed_messages[77] == 108, - "incorrect value for signed_messages[77], expected 108, is %d", - check_msg->signed_messages[77]); - ck_assert_msg( - check_msg->signed_messages[78] == 138, - "incorrect value for signed_messages[78], expected 138, is %d", - check_msg->signed_messages[78]); - ck_assert_msg(check_msg->signed_messages[79] == 36, - "incorrect value for signed_messages[79], expected 36, is %d", - check_msg->signed_messages[79]); - ck_assert_msg( - check_msg->signed_messages[80] == 134, - "incorrect value for signed_messages[80], expected 134, is %d", - check_msg->signed_messages[80]); - ck_assert_msg( - check_msg->signed_messages[81] == 139, - "incorrect value for signed_messages[81], expected 139, is %d", - check_msg->signed_messages[81]); - ck_assert_msg( - check_msg->signed_messages[82] == 163, - "incorrect value for signed_messages[82], expected 163, is %d", - check_msg->signed_messages[82]); - ck_assert_msg(check_msg->signed_messages[83] == 82, - "incorrect value for signed_messages[83], expected 82, is %d", - check_msg->signed_messages[83]); - ck_assert_msg(check_msg->signed_messages[84] == 43, - "incorrect value for signed_messages[84], expected 43, is %d", - check_msg->signed_messages[84]); - ck_assert_msg(check_msg->signed_messages[85] == 52, - "incorrect value for signed_messages[85], expected 52, is %d", - check_msg->signed_messages[85]); - ck_assert_msg( - check_msg->signed_messages[86] == 150, - "incorrect value for signed_messages[86], expected 150, is %d", - check_msg->signed_messages[86]); - ck_assert_msg(check_msg->signed_messages[87] == 12, - "incorrect value for signed_messages[87], expected 12, is %d", - check_msg->signed_messages[87]); - ck_assert_msg(check_msg->signed_messages[88] == 30, - "incorrect value for signed_messages[88], expected 30, is %d", - check_msg->signed_messages[88]); - ck_assert_msg( - check_msg->signed_messages[89] == 110, - "incorrect value for signed_messages[89], expected 110, is %d", - check_msg->signed_messages[89]); - ck_assert_msg( - check_msg->signed_messages[90] == 156, - "incorrect value for signed_messages[90], expected 156, is %d", - check_msg->signed_messages[90]); - ck_assert_msg( - check_msg->signed_messages[91] == 107, - "incorrect value for signed_messages[91], expected 107, is %d", - check_msg->signed_messages[91]); - ck_assert_msg( - check_msg->signed_messages[92] == 120, - "incorrect value for signed_messages[92], expected 120, is %d", - check_msg->signed_messages[92]); - ck_assert_msg(check_msg->signed_messages[93] == 91, - "incorrect value for signed_messages[93], expected 91, is %d", - check_msg->signed_messages[93]); - ck_assert_msg( - check_msg->signed_messages[94] == 122, - "incorrect value for signed_messages[94], expected 122, is %d", - check_msg->signed_messages[94]); - ck_assert_msg(check_msg->signed_messages[95] == 69, - "incorrect value for signed_messages[95], expected 69, is %d", - check_msg->signed_messages[95]); - ck_assert_msg( - check_msg->signed_messages[96] == 164, - "incorrect value for signed_messages[96], expected 164, is %d", - check_msg->signed_messages[96]); - ck_assert_msg( - check_msg->signed_messages[97] == 170, - "incorrect value for signed_messages[97], expected 170, is %d", - check_msg->signed_messages[97]); - ck_assert_msg( - check_msg->signed_messages[98] == 116, - "incorrect value for signed_messages[98], expected 116, is %d", - check_msg->signed_messages[98]); - ck_assert_msg(check_msg->signed_messages[99] == 25, - "incorrect value for signed_messages[99], expected 25, is %d", - check_msg->signed_messages[99]); - ck_assert_msg( - check_msg->signed_messages[100] == 94, - "incorrect value for signed_messages[100], expected 94, is %d", - check_msg->signed_messages[100]); - ck_assert_msg(check_msg->signed_messages[101] == 5, - "incorrect value for signed_messages[101], expected 5, is %d", - check_msg->signed_messages[101]); - ck_assert_msg( - check_msg->signed_messages[102] == 22, - "incorrect value for signed_messages[102], expected 22, is %d", - check_msg->signed_messages[102]); - ck_assert_msg( - check_msg->signed_messages[103] == 24, - "incorrect value for signed_messages[103], expected 24, is %d", - check_msg->signed_messages[103]); - ck_assert_msg( - check_msg->signed_messages[104] == 162, - "incorrect value for signed_messages[104], expected 162, is %d", - check_msg->signed_messages[104]); - ck_assert_msg( - check_msg->signed_messages[105] == 175, - "incorrect value for signed_messages[105], expected 175, is %d", - check_msg->signed_messages[105]); - ck_assert_msg( - check_msg->signed_messages[106] == 38, - "incorrect value for signed_messages[106], expected 38, is %d", - check_msg->signed_messages[106]); - ck_assert_msg( - check_msg->signed_messages[107] == 157, - "incorrect value for signed_messages[107], expected 157, is %d", - check_msg->signed_messages[107]); - ck_assert_msg( - check_msg->signed_messages[108] == 98, - "incorrect value for signed_messages[108], expected 98, is %d", - check_msg->signed_messages[108]); - ck_assert_msg( - check_msg->signed_messages[109] == 44, - "incorrect value for signed_messages[109], expected 44, is %d", - check_msg->signed_messages[109]); - ck_assert_msg( - check_msg->signed_messages[110] == 160, - "incorrect value for signed_messages[110], expected 160, is %d", - check_msg->signed_messages[110]); - ck_assert_msg( - check_msg->signed_messages[111] == 47, - "incorrect value for signed_messages[111], expected 47, is %d", - check_msg->signed_messages[111]); - ck_assert_msg( - check_msg->signed_messages[112] == 97, - "incorrect value for signed_messages[112], expected 97, is %d", - check_msg->signed_messages[112]); - ck_assert_msg( - check_msg->signed_messages[113] == 142, - "incorrect value for signed_messages[113], expected 142, is %d", - check_msg->signed_messages[113]); - ck_assert_msg(check_msg->signed_messages[114] == 8, - "incorrect value for signed_messages[114], expected 8, is %d", - check_msg->signed_messages[114]); - ck_assert_msg( - check_msg->signed_messages[115] == 74, - "incorrect value for signed_messages[115], expected 74, is %d", - check_msg->signed_messages[115]); - ck_assert_msg( - check_msg->signed_messages[116] == 13, - "incorrect value for signed_messages[116], expected 13, is %d", - check_msg->signed_messages[116]); - ck_assert_msg( - check_msg->signed_messages[117] == 177, - "incorrect value for signed_messages[117], expected 177, is %d", - check_msg->signed_messages[117]); - ck_assert_msg( - check_msg->signed_messages[118] == 15, - "incorrect value for signed_messages[118], expected 15, is %d", - check_msg->signed_messages[118]); - ck_assert_msg( - check_msg->signed_messages[119] == 128, - "incorrect value for signed_messages[119], expected 128, is %d", - check_msg->signed_messages[119]); - ck_assert_msg( - check_msg->signed_messages[120] == 26, - "incorrect value for signed_messages[120], expected 26, is %d", - check_msg->signed_messages[120]); - ck_assert_msg( - check_msg->signed_messages[121] == 131, - "incorrect value for signed_messages[121], expected 131, is %d", - check_msg->signed_messages[121]); - ck_assert_msg( - check_msg->signed_messages[122] == 154, - "incorrect value for signed_messages[122], expected 154, is %d", - check_msg->signed_messages[122]); - ck_assert_msg( - check_msg->signed_messages[123] == 65, - "incorrect value for signed_messages[123], expected 65, is %d", - check_msg->signed_messages[123]); - ck_assert_msg( - check_msg->signed_messages[124] == 169, - "incorrect value for signed_messages[124], expected 169, is %d", - check_msg->signed_messages[124]); - ck_assert_msg( - check_msg->signed_messages[125] == 55, - "incorrect value for signed_messages[125], expected 55, is %d", - check_msg->signed_messages[125]); - ck_assert_msg( - check_msg->signed_messages[126] == 136, - "incorrect value for signed_messages[126], expected 136, is %d", - check_msg->signed_messages[126]); - ck_assert_msg( - check_msg->signed_messages[127] == 125, - "incorrect value for signed_messages[127], expected 125, is %d", - check_msg->signed_messages[127]); - ck_assert_msg( - check_msg->signed_messages[128] == 171, - "incorrect value for signed_messages[128], expected 171, is %d", - check_msg->signed_messages[128]); - ck_assert_msg( - check_msg->signed_messages[129] == 161, - "incorrect value for signed_messages[129], expected 161, is %d", - check_msg->signed_messages[129]); - ck_assert_msg( - check_msg->signed_messages[130] == 29, - "incorrect value for signed_messages[130], expected 29, is %d", - check_msg->signed_messages[130]); - ck_assert_msg( - check_msg->signed_messages[131] == 129, - "incorrect value for signed_messages[131], expected 129, is %d", - check_msg->signed_messages[131]); - ck_assert_msg( - check_msg->signed_messages[132] == 151, - "incorrect value for signed_messages[132], expected 151, is %d", - check_msg->signed_messages[132]); - ck_assert_msg( - check_msg->signed_messages[133] == 68, - "incorrect value for signed_messages[133], expected 68, is %d", - check_msg->signed_messages[133]); - ck_assert_msg( - check_msg->signed_messages[134] == 166, - "incorrect value for signed_messages[134], expected 166, is %d", - check_msg->signed_messages[134]); - ck_assert_msg( - check_msg->signed_messages[135] == 51, - "incorrect value for signed_messages[135], expected 51, is %d", - check_msg->signed_messages[135]); - ck_assert_msg( - check_msg->signed_messages[136] == 70, - "incorrect value for signed_messages[136], expected 70, is %d", - check_msg->signed_messages[136]); - ck_assert_msg( - check_msg->signed_messages[137] == 45, - "incorrect value for signed_messages[137], expected 45, is %d", - check_msg->signed_messages[137]); - ck_assert_msg( - check_msg->signed_messages[138] == 56, - "incorrect value for signed_messages[138], expected 56, is %d", - check_msg->signed_messages[138]); - ck_assert_msg( - check_msg->signed_messages[139] == 79, - "incorrect value for signed_messages[139], expected 79, is %d", - check_msg->signed_messages[139]); - ck_assert_msg( - check_msg->signed_messages[140] == 149, - "incorrect value for signed_messages[140], expected 149, is %d", - check_msg->signed_messages[140]); - ck_assert_msg( - check_msg->signed_messages[141] == 99, - "incorrect value for signed_messages[141], expected 99, is %d", - check_msg->signed_messages[141]); - ck_assert_msg( - check_msg->signed_messages[142] == 42, - "incorrect value for signed_messages[142], expected 42, is %d", - check_msg->signed_messages[142]); - ck_assert_msg( - check_msg->signed_messages[143] == 101, - "incorrect value for signed_messages[143], expected 101, is %d", - check_msg->signed_messages[143]); - ck_assert_msg( - check_msg->signed_messages[144] == 152, - "incorrect value for signed_messages[144], expected 152, is %d", - check_msg->signed_messages[144]); - ck_assert_msg( - check_msg->signed_messages[145] == 39, - "incorrect value for signed_messages[145], expected 39, is %d", - check_msg->signed_messages[145]); - ck_assert_msg( - check_msg->signed_messages[146] == 89, - "incorrect value for signed_messages[146], expected 89, is %d", - check_msg->signed_messages[146]); - ck_assert_msg( - check_msg->signed_messages[147] == 180, - "incorrect value for signed_messages[147], expected 180, is %d", - check_msg->signed_messages[147]); - ck_assert_msg( - check_msg->signed_messages[148] == 64, - "incorrect value for signed_messages[148], expected 64, is %d", - check_msg->signed_messages[148]); - ck_assert_msg( - check_msg->signed_messages[149] == 49, - "incorrect value for signed_messages[149], expected 49, is %d", - check_msg->signed_messages[149]); - ck_assert_msg(check_msg->signed_messages[150] == 6, - "incorrect value for signed_messages[150], expected 6, is %d", - check_msg->signed_messages[150]); - ck_assert_msg( - check_msg->signed_messages[151] == 80, - "incorrect value for signed_messages[151], expected 80, is %d", - check_msg->signed_messages[151]); - ck_assert_msg( - check_msg->signed_messages[152] == 172, - "incorrect value for signed_messages[152], expected 172, is %d", - check_msg->signed_messages[152]); - ck_assert_msg( - check_msg->signed_messages[153] == 32, - "incorrect value for signed_messages[153], expected 32, is %d", - check_msg->signed_messages[153]); - ck_assert_msg( - check_msg->signed_messages[154] == 109, - "incorrect value for signed_messages[154], expected 109, is %d", - check_msg->signed_messages[154]); - ck_assert_msg(check_msg->signed_messages[155] == 2, - "incorrect value for signed_messages[155], expected 2, is %d", - check_msg->signed_messages[155]); - ck_assert_msg( - check_msg->signed_messages[156] == 119, - "incorrect value for signed_messages[156], expected 119, is %d", - check_msg->signed_messages[156]); - ck_assert_msg( - check_msg->signed_messages[157] == 93, - "incorrect value for signed_messages[157], expected 93, is %d", - check_msg->signed_messages[157]); - ck_assert_msg( - check_msg->signed_messages[158] == 176, - "incorrect value for signed_messages[158], expected 176, is %d", - check_msg->signed_messages[158]); - ck_assert_msg(check_msg->signed_messages[159] == 0, - "incorrect value for signed_messages[159], expected 0, is %d", - check_msg->signed_messages[159]); - ck_assert_msg( - check_msg->signed_messages[160] == 33, - "incorrect value for signed_messages[160], expected 33, is %d", - check_msg->signed_messages[160]); - ck_assert_msg( - check_msg->signed_messages[161] == 57, - "incorrect value for signed_messages[161], expected 57, is %d", - check_msg->signed_messages[161]); - ck_assert_msg( - check_msg->signed_messages[162] == 34, - "incorrect value for signed_messages[162], expected 34, is %d", - check_msg->signed_messages[162]); - ck_assert_msg( - check_msg->signed_messages[163] == 18, - "incorrect value for signed_messages[163], expected 18, is %d", - check_msg->signed_messages[163]); - ck_assert_msg( - check_msg->signed_messages[164] == 85, - "incorrect value for signed_messages[164], expected 85, is %d", - check_msg->signed_messages[164]); - ck_assert_msg( - check_msg->signed_messages[165] == 121, - "incorrect value for signed_messages[165], expected 121, is %d", - check_msg->signed_messages[165]); - ck_assert_msg( - check_msg->signed_messages[166] == 137, - "incorrect value for signed_messages[166], expected 137, is %d", - check_msg->signed_messages[166]); - ck_assert_msg( - check_msg->signed_messages[167] == 83, - "incorrect value for signed_messages[167], expected 83, is %d", - check_msg->signed_messages[167]); - ck_assert_msg( - check_msg->signed_messages[168] == 111, - "incorrect value for signed_messages[168], expected 111, is %d", - check_msg->signed_messages[168]); - ck_assert_msg( - check_msg->signed_messages[169] == 59, - "incorrect value for signed_messages[169], expected 59, is %d", - check_msg->signed_messages[169]); - ck_assert_msg(check_msg->signed_messages[170] == 7, - "incorrect value for signed_messages[170], expected 7, is %d", - check_msg->signed_messages[170]); - ck_assert_msg( - check_msg->signed_messages[171] == 77, - "incorrect value for signed_messages[171], expected 77, is %d", - check_msg->signed_messages[171]); - ck_assert_msg(check_msg->signed_messages[172] == 4, - "incorrect value for signed_messages[172], expected 4, is %d", - check_msg->signed_messages[172]); - ck_assert_msg( - check_msg->signed_messages[173] == 117, - "incorrect value for signed_messages[173], expected 117, is %d", - check_msg->signed_messages[173]); - ck_assert_msg( - check_msg->signed_messages[174] == 159, - "incorrect value for signed_messages[174], expected 159, is %d", - check_msg->signed_messages[174]); - ck_assert_msg( - check_msg->signed_messages[175] == 148, - "incorrect value for signed_messages[175], expected 148, is %d", - check_msg->signed_messages[175]); - ck_assert_msg( - check_msg->signed_messages[176] == 35, - "incorrect value for signed_messages[176], expected 35, is %d", - check_msg->signed_messages[176]); - ck_assert_msg( - check_msg->signed_messages[177] == 61, - "incorrect value for signed_messages[177], expected 61, is %d", - check_msg->signed_messages[177]); - ck_assert_msg( - check_msg->signed_messages[178] == 41, - "incorrect value for signed_messages[178], expected 41, is %d", - check_msg->signed_messages[178]); - ck_assert_msg( - check_msg->signed_messages[179] == 67, - "incorrect value for signed_messages[179], expected 67, is %d", - check_msg->signed_messages[179]); - ck_assert_msg( - check_msg->signed_messages[180] == 46, - "incorrect value for signed_messages[180], expected 46, is %d", - check_msg->signed_messages[180]); - ck_assert_msg( - check_msg->signed_messages[181] == 127, - "incorrect value for signed_messages[181], expected 127, is %d", - check_msg->signed_messages[181]); - ck_assert_msg( - check_msg->signed_messages[182] == 75, - "incorrect value for signed_messages[182], expected 75, is %d", - check_msg->signed_messages[182]); - ck_assert_msg( - check_msg->signed_messages[183] == 174, - "incorrect value for signed_messages[183], expected 174, is %d", - check_msg->signed_messages[183]); ck_assert_msg(check_msg->stream_counter == 1, "incorrect value for stream_counter, expected 1, is %d", check_msg->stream_counter); diff --git a/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignatureDep.c b/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignatureDep.c new file mode 100644 index 0000000000..e52f29dc80 --- /dev/null +++ b/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignatureDep.c @@ -0,0 +1,2376 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include // for debugging +#include // for malloc + +static struct { + u32 n_callbacks_logged; + u16 sender_id; + u8 len; + u8 msg[SBP_MAX_PAYLOAD_LEN]; + void *context; +} last_msg; + +static struct { + u32 n_callbacks_logged; + u16 sender_id; + u16 msg_type; + u8 msg_len; + u8 msg[SBP_MAX_PAYLOAD_LEN]; + u16 frame_len; + u8 frame[SBP_MAX_FRAME_LEN]; + void *context; +} last_frame; + +static u32 dummy_wr = 0; +static u32 dummy_rd = 0; +static u8 dummy_buff[1024]; +static void *last_io_context; + +static int DUMMY_MEMORY_FOR_CALLBACKS = 0xdeadbeef; +static int DUMMY_MEMORY_FOR_IO = 0xdead0000; + +static void dummy_reset() { + dummy_rd = dummy_wr = 0; + memset(dummy_buff, 0, sizeof(dummy_buff)); +} + +static s32 dummy_write(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(dummy_buff + dummy_wr, buff, real_n); + dummy_wr += real_n; + return real_n; +} + +static s32 dummy_read(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(buff, dummy_buff + dummy_rd, real_n); + dummy_rd += real_n; + return real_n; +} + +static void logging_reset() { + memset(&last_msg, 0, sizeof(last_msg)); + memset(&last_frame, 0, sizeof(last_frame)); +} + +static void msg_callback(u16 sender_id, u8 len, u8 msg[], void *context) { + last_msg.n_callbacks_logged++; + last_msg.sender_id = sender_id; + last_msg.len = len; + last_msg.context = context; + memcpy(last_msg.msg, msg, len); +} + +static void frame_callback(u16 sender_id, u16 msg_type, u8 msg_len, u8 msg[], + u16 frame_len, u8 frame[], void *context) { + last_frame.n_callbacks_logged++; + last_frame.sender_id = sender_id; + last_frame.msg_type = msg_type; + last_frame.msg_len = msg_len; + memcpy(last_frame.msg, msg, msg_len); + last_frame.frame_len = frame_len; + memcpy(last_frame.frame, frame, frame_len); + last_frame.context = context; +} + +START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep) { + static sbp_msg_callbacks_node_t n; + static sbp_msg_callbacks_node_t n2; + + // State of the SBP message parser. + // Must be statically allocated. + sbp_state_t sbp_state; + + // + // Run tests: + // + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message + // types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_payload_callback_register(&sbp_state, 0xC06, &msg_callback, + &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_frame_callback_register(&sbp_state, 0xC06, &frame_callback, + &DUMMY_MEMORY_FOR_CALLBACKS, &n2); + + u8 encoded_frame[] = { + 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, + 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, + 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, + 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, + 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, + 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, 130, + 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, + 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, + 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, + 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, + 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, + 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, + 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, + 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, + 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, + 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, + 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, + 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, + 148, 35, 61, 41, 67, 46, 127, 75, 174, 97, 172, + }; + + dummy_reset(); + + u8 test_msg_storage[SBP_MAX_PAYLOAD_LEN]; + memset(test_msg_storage, 0, sizeof(test_msg_storage)); + u8 test_msg_len = 0; + msg_ecdsa_signature_dep_t *test_msg = + (msg_ecdsa_signature_dep_t *)test_msg_storage; + test_msg_len = sizeof(*test_msg); + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->certificate_id[0]); + } + test_msg->certificate_id[0] = 1; + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->certificate_id[0]); + } + test_msg->certificate_id[1] = 2; + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->certificate_id[0]); + } + test_msg->certificate_id[2] = 3; + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->certificate_id[0]); + } + test_msg->certificate_id[3] = 4; + test_msg->flags = 0; + test_msg->on_demand_counter = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[0] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[1] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[2] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[3] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[4] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[5] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[6] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[7] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[8] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[9] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[10] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[11] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[12] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[13] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[14] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[15] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[16] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[17] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[18] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[19] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[20] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[21] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[22] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[23] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[24] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[25] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[26] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[27] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[28] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[29] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[30] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[31] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[32] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[33] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[34] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[35] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[36] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[37] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[38] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[39] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[40] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[41] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[42] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[43] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[44] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[45] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[46] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[47] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[48] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[49] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[50] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[51] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[52] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[53] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[54] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[55] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[56] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[57] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[58] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[59] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[60] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[61] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[62] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signature[0]); + } + test_msg->signature[63] = 7; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[0] = 10; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[1] = 21; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[2] = 23; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[3] = 63; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[4] = 140; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[5] = 37; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[6] = 130; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[7] = 106; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[8] = 28; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[9] = 40; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[10] = 165; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[11] = 179; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[12] = 73; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[13] = 178; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[14] = 60; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[15] = 126; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[16] = 114; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[17] = 78; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[18] = 113; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[19] = 27; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[20] = 95; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[21] = 3; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[22] = 62; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[23] = 104; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[24] = 145; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[25] = 96; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[26] = 19; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[27] = 92; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[28] = 123; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[29] = 14; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[30] = 90; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[31] = 153; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[32] = 183; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[33] = 9; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[34] = 72; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[35] = 81; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[36] = 118; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[37] = 112; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[38] = 124; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[39] = 16; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[40] = 182; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[41] = 76; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[42] = 146; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[43] = 115; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[44] = 58; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[45] = 144; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[46] = 17; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[47] = 105; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[48] = 66; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[49] = 31; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[50] = 135; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[51] = 54; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[52] = 100; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[53] = 84; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[54] = 181; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[55] = 103; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[56] = 11; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[57] = 88; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[58] = 133; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[59] = 155; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[60] = 167; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[61] = 173; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[62] = 143; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[63] = 86; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[64] = 158; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[65] = 20; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[66] = 168; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[67] = 132; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[68] = 141; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[69] = 102; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[70] = 50; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[71] = 48; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[72] = 71; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[73] = 147; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[74] = 53; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[75] = 87; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[76] = 1; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[77] = 108; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[78] = 138; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[79] = 36; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[80] = 134; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[81] = 139; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[82] = 163; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[83] = 82; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[84] = 43; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[85] = 52; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[86] = 150; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[87] = 12; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[88] = 30; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[89] = 110; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[90] = 156; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[91] = 107; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[92] = 120; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[93] = 91; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[94] = 122; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[95] = 69; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[96] = 164; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[97] = 170; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[98] = 116; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[99] = 25; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[100] = 94; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[101] = 5; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[102] = 22; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[103] = 24; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[104] = 162; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[105] = 175; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[106] = 38; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[107] = 157; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[108] = 98; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[109] = 44; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[110] = 160; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[111] = 47; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[112] = 97; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[113] = 142; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[114] = 8; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[115] = 74; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[116] = 13; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[117] = 177; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[118] = 15; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[119] = 128; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[120] = 26; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[121] = 131; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[122] = 154; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[123] = 65; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[124] = 169; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[125] = 55; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[126] = 136; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[127] = 125; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[128] = 171; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[129] = 161; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[130] = 29; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[131] = 129; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[132] = 151; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[133] = 68; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[134] = 166; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[135] = 51; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[136] = 70; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[137] = 45; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[138] = 56; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[139] = 79; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[140] = 149; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[141] = 99; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[142] = 42; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[143] = 101; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[144] = 152; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[145] = 39; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[146] = 89; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[147] = 180; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[148] = 64; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[149] = 49; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[150] = 6; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[151] = 80; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[152] = 172; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[153] = 32; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[154] = 109; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[155] = 2; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[156] = 119; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[157] = 93; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[158] = 176; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[159] = 0; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[160] = 33; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[161] = 57; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[162] = 34; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[163] = 18; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[164] = 85; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[165] = 121; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[166] = 137; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[167] = 83; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[168] = 111; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[169] = 59; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[170] = 7; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[171] = 77; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[172] = 4; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[173] = 117; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[174] = 159; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[175] = 148; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[176] = 35; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[177] = 61; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[178] = 41; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[179] = 67; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[180] = 46; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[181] = 127; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[182] = 75; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len += sizeof(test_msg->signed_messages[0]); + } + test_msg->signed_messages[183] = 174; + test_msg->stream_counter = 1; + sbp_payload_send(&sbp_state, 0xC06, 66, test_msg_len, test_msg_storage, + &dummy_write); + + ck_assert_msg( + test_msg_len == sizeof(encoded_frame) - 8, + "Test message has not been generated correctly, or the encoded frame " + "from the spec is badly defined. Check your test spec"); + + ck_assert_msg(dummy_wr == sizeof(encoded_frame), + "not enough data was written to dummy_buff"); + ck_assert_msg(memcmp(dummy_buff, encoded_frame, sizeof(encoded_frame)) == 0, + "frame was not encoded properly"); + + while (dummy_rd < dummy_wr) { + ck_assert_msg(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + ck_assert_msg(last_msg.n_callbacks_logged == 1, + "msg_callback: one callback should have been logged"); + ck_assert_msg(last_msg.sender_id == 66, + "msg_callback: sender_id decoded incorrectly"); + ck_assert_msg(last_msg.len == sizeof(encoded_frame) - 8, + "msg_callback: len decoded incorrectly"); + ck_assert_msg( + memcmp(last_msg.msg, encoded_frame + 6, sizeof(encoded_frame) - 8) == 0, + "msg_callback: test data decoded incorrectly"); + ck_assert_msg(last_msg.context == &DUMMY_MEMORY_FOR_CALLBACKS, + "frame_callback: context pointer incorrectly passed"); + + ck_assert_msg(last_frame.n_callbacks_logged == 1, + "frame_callback: one callback should have been logged"); + ck_assert_msg(last_frame.sender_id == 66, + "frame_callback: sender_id decoded incorrectly"); + ck_assert_msg(last_frame.msg_type == 0xC06, + "frame_callback: msg_type decoded incorrectly"); + ck_assert_msg(last_frame.msg_len == sizeof(encoded_frame) - 8, + "frame_callback: msg_len decoded incorrectly"); + ck_assert_msg(memcmp(last_frame.msg, encoded_frame + 6, + sizeof(encoded_frame) - 8) == 0, + "frame_callback: test data decoded incorrectly"); + ck_assert_msg(last_frame.frame_len == sizeof(encoded_frame), + "frame_callback: frame_len decoded incorrectly"); + ck_assert_msg( + memcmp(last_frame.frame, encoded_frame, sizeof(encoded_frame)) == 0, + "frame_callback: frame decoded incorrectly"); + ck_assert_msg(last_frame.context == &DUMMY_MEMORY_FOR_CALLBACKS, + "frame_callback: context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload + // starts + msg_ecdsa_signature_dep_t *check_msg = + (msg_ecdsa_signature_dep_t *)((void *)last_msg.msg); + // Run tests against fields + ck_assert_msg(check_msg != 0, "stub to prevent warnings if msg isn't used"); + ck_assert_msg(check_msg->certificate_id[0] == 1, + "incorrect value for certificate_id[0], expected 1, is %d", + check_msg->certificate_id[0]); + ck_assert_msg(check_msg->certificate_id[1] == 2, + "incorrect value for certificate_id[1], expected 2, is %d", + check_msg->certificate_id[1]); + ck_assert_msg(check_msg->certificate_id[2] == 3, + "incorrect value for certificate_id[2], expected 3, is %d", + check_msg->certificate_id[2]); + ck_assert_msg(check_msg->certificate_id[3] == 4, + "incorrect value for certificate_id[3], expected 4, is %d", + check_msg->certificate_id[3]); + ck_assert_msg(check_msg->flags == 0, + "incorrect value for flags, expected 0, is %d", + check_msg->flags); + ck_assert_msg(check_msg->on_demand_counter == 2, + "incorrect value for on_demand_counter, expected 2, is %d", + check_msg->on_demand_counter); + ck_assert_msg(check_msg->signature[0] == 0, + "incorrect value for signature[0], expected 0, is %d", + check_msg->signature[0]); + ck_assert_msg(check_msg->signature[1] == 1, + "incorrect value for signature[1], expected 1, is %d", + check_msg->signature[1]); + ck_assert_msg(check_msg->signature[2] == 2, + "incorrect value for signature[2], expected 2, is %d", + check_msg->signature[2]); + ck_assert_msg(check_msg->signature[3] == 3, + "incorrect value for signature[3], expected 3, is %d", + check_msg->signature[3]); + ck_assert_msg(check_msg->signature[4] == 4, + "incorrect value for signature[4], expected 4, is %d", + check_msg->signature[4]); + ck_assert_msg(check_msg->signature[5] == 5, + "incorrect value for signature[5], expected 5, is %d", + check_msg->signature[5]); + ck_assert_msg(check_msg->signature[6] == 6, + "incorrect value for signature[6], expected 6, is %d", + check_msg->signature[6]); + ck_assert_msg(check_msg->signature[7] == 7, + "incorrect value for signature[7], expected 7, is %d", + check_msg->signature[7]); + ck_assert_msg(check_msg->signature[8] == 0, + "incorrect value for signature[8], expected 0, is %d", + check_msg->signature[8]); + ck_assert_msg(check_msg->signature[9] == 1, + "incorrect value for signature[9], expected 1, is %d", + check_msg->signature[9]); + ck_assert_msg(check_msg->signature[10] == 2, + "incorrect value for signature[10], expected 2, is %d", + check_msg->signature[10]); + ck_assert_msg(check_msg->signature[11] == 3, + "incorrect value for signature[11], expected 3, is %d", + check_msg->signature[11]); + ck_assert_msg(check_msg->signature[12] == 4, + "incorrect value for signature[12], expected 4, is %d", + check_msg->signature[12]); + ck_assert_msg(check_msg->signature[13] == 5, + "incorrect value for signature[13], expected 5, is %d", + check_msg->signature[13]); + ck_assert_msg(check_msg->signature[14] == 6, + "incorrect value for signature[14], expected 6, is %d", + check_msg->signature[14]); + ck_assert_msg(check_msg->signature[15] == 7, + "incorrect value for signature[15], expected 7, is %d", + check_msg->signature[15]); + ck_assert_msg(check_msg->signature[16] == 0, + "incorrect value for signature[16], expected 0, is %d", + check_msg->signature[16]); + ck_assert_msg(check_msg->signature[17] == 1, + "incorrect value for signature[17], expected 1, is %d", + check_msg->signature[17]); + ck_assert_msg(check_msg->signature[18] == 2, + "incorrect value for signature[18], expected 2, is %d", + check_msg->signature[18]); + ck_assert_msg(check_msg->signature[19] == 3, + "incorrect value for signature[19], expected 3, is %d", + check_msg->signature[19]); + ck_assert_msg(check_msg->signature[20] == 4, + "incorrect value for signature[20], expected 4, is %d", + check_msg->signature[20]); + ck_assert_msg(check_msg->signature[21] == 5, + "incorrect value for signature[21], expected 5, is %d", + check_msg->signature[21]); + ck_assert_msg(check_msg->signature[22] == 6, + "incorrect value for signature[22], expected 6, is %d", + check_msg->signature[22]); + ck_assert_msg(check_msg->signature[23] == 7, + "incorrect value for signature[23], expected 7, is %d", + check_msg->signature[23]); + ck_assert_msg(check_msg->signature[24] == 0, + "incorrect value for signature[24], expected 0, is %d", + check_msg->signature[24]); + ck_assert_msg(check_msg->signature[25] == 1, + "incorrect value for signature[25], expected 1, is %d", + check_msg->signature[25]); + ck_assert_msg(check_msg->signature[26] == 2, + "incorrect value for signature[26], expected 2, is %d", + check_msg->signature[26]); + ck_assert_msg(check_msg->signature[27] == 3, + "incorrect value for signature[27], expected 3, is %d", + check_msg->signature[27]); + ck_assert_msg(check_msg->signature[28] == 4, + "incorrect value for signature[28], expected 4, is %d", + check_msg->signature[28]); + ck_assert_msg(check_msg->signature[29] == 5, + "incorrect value for signature[29], expected 5, is %d", + check_msg->signature[29]); + ck_assert_msg(check_msg->signature[30] == 6, + "incorrect value for signature[30], expected 6, is %d", + check_msg->signature[30]); + ck_assert_msg(check_msg->signature[31] == 7, + "incorrect value for signature[31], expected 7, is %d", + check_msg->signature[31]); + ck_assert_msg(check_msg->signature[32] == 0, + "incorrect value for signature[32], expected 0, is %d", + check_msg->signature[32]); + ck_assert_msg(check_msg->signature[33] == 1, + "incorrect value for signature[33], expected 1, is %d", + check_msg->signature[33]); + ck_assert_msg(check_msg->signature[34] == 2, + "incorrect value for signature[34], expected 2, is %d", + check_msg->signature[34]); + ck_assert_msg(check_msg->signature[35] == 3, + "incorrect value for signature[35], expected 3, is %d", + check_msg->signature[35]); + ck_assert_msg(check_msg->signature[36] == 4, + "incorrect value for signature[36], expected 4, is %d", + check_msg->signature[36]); + ck_assert_msg(check_msg->signature[37] == 5, + "incorrect value for signature[37], expected 5, is %d", + check_msg->signature[37]); + ck_assert_msg(check_msg->signature[38] == 6, + "incorrect value for signature[38], expected 6, is %d", + check_msg->signature[38]); + ck_assert_msg(check_msg->signature[39] == 7, + "incorrect value for signature[39], expected 7, is %d", + check_msg->signature[39]); + ck_assert_msg(check_msg->signature[40] == 0, + "incorrect value for signature[40], expected 0, is %d", + check_msg->signature[40]); + ck_assert_msg(check_msg->signature[41] == 1, + "incorrect value for signature[41], expected 1, is %d", + check_msg->signature[41]); + ck_assert_msg(check_msg->signature[42] == 2, + "incorrect value for signature[42], expected 2, is %d", + check_msg->signature[42]); + ck_assert_msg(check_msg->signature[43] == 3, + "incorrect value for signature[43], expected 3, is %d", + check_msg->signature[43]); + ck_assert_msg(check_msg->signature[44] == 4, + "incorrect value for signature[44], expected 4, is %d", + check_msg->signature[44]); + ck_assert_msg(check_msg->signature[45] == 5, + "incorrect value for signature[45], expected 5, is %d", + check_msg->signature[45]); + ck_assert_msg(check_msg->signature[46] == 6, + "incorrect value for signature[46], expected 6, is %d", + check_msg->signature[46]); + ck_assert_msg(check_msg->signature[47] == 7, + "incorrect value for signature[47], expected 7, is %d", + check_msg->signature[47]); + ck_assert_msg(check_msg->signature[48] == 0, + "incorrect value for signature[48], expected 0, is %d", + check_msg->signature[48]); + ck_assert_msg(check_msg->signature[49] == 1, + "incorrect value for signature[49], expected 1, is %d", + check_msg->signature[49]); + ck_assert_msg(check_msg->signature[50] == 2, + "incorrect value for signature[50], expected 2, is %d", + check_msg->signature[50]); + ck_assert_msg(check_msg->signature[51] == 3, + "incorrect value for signature[51], expected 3, is %d", + check_msg->signature[51]); + ck_assert_msg(check_msg->signature[52] == 4, + "incorrect value for signature[52], expected 4, is %d", + check_msg->signature[52]); + ck_assert_msg(check_msg->signature[53] == 5, + "incorrect value for signature[53], expected 5, is %d", + check_msg->signature[53]); + ck_assert_msg(check_msg->signature[54] == 6, + "incorrect value for signature[54], expected 6, is %d", + check_msg->signature[54]); + ck_assert_msg(check_msg->signature[55] == 7, + "incorrect value for signature[55], expected 7, is %d", + check_msg->signature[55]); + ck_assert_msg(check_msg->signature[56] == 0, + "incorrect value for signature[56], expected 0, is %d", + check_msg->signature[56]); + ck_assert_msg(check_msg->signature[57] == 1, + "incorrect value for signature[57], expected 1, is %d", + check_msg->signature[57]); + ck_assert_msg(check_msg->signature[58] == 2, + "incorrect value for signature[58], expected 2, is %d", + check_msg->signature[58]); + ck_assert_msg(check_msg->signature[59] == 3, + "incorrect value for signature[59], expected 3, is %d", + check_msg->signature[59]); + ck_assert_msg(check_msg->signature[60] == 4, + "incorrect value for signature[60], expected 4, is %d", + check_msg->signature[60]); + ck_assert_msg(check_msg->signature[61] == 5, + "incorrect value for signature[61], expected 5, is %d", + check_msg->signature[61]); + ck_assert_msg(check_msg->signature[62] == 6, + "incorrect value for signature[62], expected 6, is %d", + check_msg->signature[62]); + ck_assert_msg(check_msg->signature[63] == 7, + "incorrect value for signature[63], expected 7, is %d", + check_msg->signature[63]); + ck_assert_msg(check_msg->signed_messages[0] == 10, + "incorrect value for signed_messages[0], expected 10, is %d", + check_msg->signed_messages[0]); + ck_assert_msg(check_msg->signed_messages[1] == 21, + "incorrect value for signed_messages[1], expected 21, is %d", + check_msg->signed_messages[1]); + ck_assert_msg(check_msg->signed_messages[2] == 23, + "incorrect value for signed_messages[2], expected 23, is %d", + check_msg->signed_messages[2]); + ck_assert_msg(check_msg->signed_messages[3] == 63, + "incorrect value for signed_messages[3], expected 63, is %d", + check_msg->signed_messages[3]); + ck_assert_msg(check_msg->signed_messages[4] == 140, + "incorrect value for signed_messages[4], expected 140, is %d", + check_msg->signed_messages[4]); + ck_assert_msg(check_msg->signed_messages[5] == 37, + "incorrect value for signed_messages[5], expected 37, is %d", + check_msg->signed_messages[5]); + ck_assert_msg(check_msg->signed_messages[6] == 130, + "incorrect value for signed_messages[6], expected 130, is %d", + check_msg->signed_messages[6]); + ck_assert_msg(check_msg->signed_messages[7] == 106, + "incorrect value for signed_messages[7], expected 106, is %d", + check_msg->signed_messages[7]); + ck_assert_msg(check_msg->signed_messages[8] == 28, + "incorrect value for signed_messages[8], expected 28, is %d", + check_msg->signed_messages[8]); + ck_assert_msg(check_msg->signed_messages[9] == 40, + "incorrect value for signed_messages[9], expected 40, is %d", + check_msg->signed_messages[9]); + ck_assert_msg( + check_msg->signed_messages[10] == 165, + "incorrect value for signed_messages[10], expected 165, is %d", + check_msg->signed_messages[10]); + ck_assert_msg( + check_msg->signed_messages[11] == 179, + "incorrect value for signed_messages[11], expected 179, is %d", + check_msg->signed_messages[11]); + ck_assert_msg(check_msg->signed_messages[12] == 73, + "incorrect value for signed_messages[12], expected 73, is %d", + check_msg->signed_messages[12]); + ck_assert_msg( + check_msg->signed_messages[13] == 178, + "incorrect value for signed_messages[13], expected 178, is %d", + check_msg->signed_messages[13]); + ck_assert_msg(check_msg->signed_messages[14] == 60, + "incorrect value for signed_messages[14], expected 60, is %d", + check_msg->signed_messages[14]); + ck_assert_msg( + check_msg->signed_messages[15] == 126, + "incorrect value for signed_messages[15], expected 126, is %d", + check_msg->signed_messages[15]); + ck_assert_msg( + check_msg->signed_messages[16] == 114, + "incorrect value for signed_messages[16], expected 114, is %d", + check_msg->signed_messages[16]); + ck_assert_msg(check_msg->signed_messages[17] == 78, + "incorrect value for signed_messages[17], expected 78, is %d", + check_msg->signed_messages[17]); + ck_assert_msg( + check_msg->signed_messages[18] == 113, + "incorrect value for signed_messages[18], expected 113, is %d", + check_msg->signed_messages[18]); + ck_assert_msg(check_msg->signed_messages[19] == 27, + "incorrect value for signed_messages[19], expected 27, is %d", + check_msg->signed_messages[19]); + ck_assert_msg(check_msg->signed_messages[20] == 95, + "incorrect value for signed_messages[20], expected 95, is %d", + check_msg->signed_messages[20]); + ck_assert_msg(check_msg->signed_messages[21] == 3, + "incorrect value for signed_messages[21], expected 3, is %d", + check_msg->signed_messages[21]); + ck_assert_msg(check_msg->signed_messages[22] == 62, + "incorrect value for signed_messages[22], expected 62, is %d", + check_msg->signed_messages[22]); + ck_assert_msg( + check_msg->signed_messages[23] == 104, + "incorrect value for signed_messages[23], expected 104, is %d", + check_msg->signed_messages[23]); + ck_assert_msg( + check_msg->signed_messages[24] == 145, + "incorrect value for signed_messages[24], expected 145, is %d", + check_msg->signed_messages[24]); + ck_assert_msg(check_msg->signed_messages[25] == 96, + "incorrect value for signed_messages[25], expected 96, is %d", + check_msg->signed_messages[25]); + ck_assert_msg(check_msg->signed_messages[26] == 19, + "incorrect value for signed_messages[26], expected 19, is %d", + check_msg->signed_messages[26]); + ck_assert_msg(check_msg->signed_messages[27] == 92, + "incorrect value for signed_messages[27], expected 92, is %d", + check_msg->signed_messages[27]); + ck_assert_msg( + check_msg->signed_messages[28] == 123, + "incorrect value for signed_messages[28], expected 123, is %d", + check_msg->signed_messages[28]); + ck_assert_msg(check_msg->signed_messages[29] == 14, + "incorrect value for signed_messages[29], expected 14, is %d", + check_msg->signed_messages[29]); + ck_assert_msg(check_msg->signed_messages[30] == 90, + "incorrect value for signed_messages[30], expected 90, is %d", + check_msg->signed_messages[30]); + ck_assert_msg( + check_msg->signed_messages[31] == 153, + "incorrect value for signed_messages[31], expected 153, is %d", + check_msg->signed_messages[31]); + ck_assert_msg( + check_msg->signed_messages[32] == 183, + "incorrect value for signed_messages[32], expected 183, is %d", + check_msg->signed_messages[32]); + ck_assert_msg(check_msg->signed_messages[33] == 9, + "incorrect value for signed_messages[33], expected 9, is %d", + check_msg->signed_messages[33]); + ck_assert_msg(check_msg->signed_messages[34] == 72, + "incorrect value for signed_messages[34], expected 72, is %d", + check_msg->signed_messages[34]); + ck_assert_msg(check_msg->signed_messages[35] == 81, + "incorrect value for signed_messages[35], expected 81, is %d", + check_msg->signed_messages[35]); + ck_assert_msg( + check_msg->signed_messages[36] == 118, + "incorrect value for signed_messages[36], expected 118, is %d", + check_msg->signed_messages[36]); + ck_assert_msg( + check_msg->signed_messages[37] == 112, + "incorrect value for signed_messages[37], expected 112, is %d", + check_msg->signed_messages[37]); + ck_assert_msg( + check_msg->signed_messages[38] == 124, + "incorrect value for signed_messages[38], expected 124, is %d", + check_msg->signed_messages[38]); + ck_assert_msg(check_msg->signed_messages[39] == 16, + "incorrect value for signed_messages[39], expected 16, is %d", + check_msg->signed_messages[39]); + ck_assert_msg( + check_msg->signed_messages[40] == 182, + "incorrect value for signed_messages[40], expected 182, is %d", + check_msg->signed_messages[40]); + ck_assert_msg(check_msg->signed_messages[41] == 76, + "incorrect value for signed_messages[41], expected 76, is %d", + check_msg->signed_messages[41]); + ck_assert_msg( + check_msg->signed_messages[42] == 146, + "incorrect value for signed_messages[42], expected 146, is %d", + check_msg->signed_messages[42]); + ck_assert_msg( + check_msg->signed_messages[43] == 115, + "incorrect value for signed_messages[43], expected 115, is %d", + check_msg->signed_messages[43]); + ck_assert_msg(check_msg->signed_messages[44] == 58, + "incorrect value for signed_messages[44], expected 58, is %d", + check_msg->signed_messages[44]); + ck_assert_msg( + check_msg->signed_messages[45] == 144, + "incorrect value for signed_messages[45], expected 144, is %d", + check_msg->signed_messages[45]); + ck_assert_msg(check_msg->signed_messages[46] == 17, + "incorrect value for signed_messages[46], expected 17, is %d", + check_msg->signed_messages[46]); + ck_assert_msg( + check_msg->signed_messages[47] == 105, + "incorrect value for signed_messages[47], expected 105, is %d", + check_msg->signed_messages[47]); + ck_assert_msg(check_msg->signed_messages[48] == 66, + "incorrect value for signed_messages[48], expected 66, is %d", + check_msg->signed_messages[48]); + ck_assert_msg(check_msg->signed_messages[49] == 31, + "incorrect value for signed_messages[49], expected 31, is %d", + check_msg->signed_messages[49]); + ck_assert_msg( + check_msg->signed_messages[50] == 135, + "incorrect value for signed_messages[50], expected 135, is %d", + check_msg->signed_messages[50]); + ck_assert_msg(check_msg->signed_messages[51] == 54, + "incorrect value for signed_messages[51], expected 54, is %d", + check_msg->signed_messages[51]); + ck_assert_msg( + check_msg->signed_messages[52] == 100, + "incorrect value for signed_messages[52], expected 100, is %d", + check_msg->signed_messages[52]); + ck_assert_msg(check_msg->signed_messages[53] == 84, + "incorrect value for signed_messages[53], expected 84, is %d", + check_msg->signed_messages[53]); + ck_assert_msg( + check_msg->signed_messages[54] == 181, + "incorrect value for signed_messages[54], expected 181, is %d", + check_msg->signed_messages[54]); + ck_assert_msg( + check_msg->signed_messages[55] == 103, + "incorrect value for signed_messages[55], expected 103, is %d", + check_msg->signed_messages[55]); + ck_assert_msg(check_msg->signed_messages[56] == 11, + "incorrect value for signed_messages[56], expected 11, is %d", + check_msg->signed_messages[56]); + ck_assert_msg(check_msg->signed_messages[57] == 88, + "incorrect value for signed_messages[57], expected 88, is %d", + check_msg->signed_messages[57]); + ck_assert_msg( + check_msg->signed_messages[58] == 133, + "incorrect value for signed_messages[58], expected 133, is %d", + check_msg->signed_messages[58]); + ck_assert_msg( + check_msg->signed_messages[59] == 155, + "incorrect value for signed_messages[59], expected 155, is %d", + check_msg->signed_messages[59]); + ck_assert_msg( + check_msg->signed_messages[60] == 167, + "incorrect value for signed_messages[60], expected 167, is %d", + check_msg->signed_messages[60]); + ck_assert_msg( + check_msg->signed_messages[61] == 173, + "incorrect value for signed_messages[61], expected 173, is %d", + check_msg->signed_messages[61]); + ck_assert_msg( + check_msg->signed_messages[62] == 143, + "incorrect value for signed_messages[62], expected 143, is %d", + check_msg->signed_messages[62]); + ck_assert_msg(check_msg->signed_messages[63] == 86, + "incorrect value for signed_messages[63], expected 86, is %d", + check_msg->signed_messages[63]); + ck_assert_msg( + check_msg->signed_messages[64] == 158, + "incorrect value for signed_messages[64], expected 158, is %d", + check_msg->signed_messages[64]); + ck_assert_msg(check_msg->signed_messages[65] == 20, + "incorrect value for signed_messages[65], expected 20, is %d", + check_msg->signed_messages[65]); + ck_assert_msg( + check_msg->signed_messages[66] == 168, + "incorrect value for signed_messages[66], expected 168, is %d", + check_msg->signed_messages[66]); + ck_assert_msg( + check_msg->signed_messages[67] == 132, + "incorrect value for signed_messages[67], expected 132, is %d", + check_msg->signed_messages[67]); + ck_assert_msg( + check_msg->signed_messages[68] == 141, + "incorrect value for signed_messages[68], expected 141, is %d", + check_msg->signed_messages[68]); + ck_assert_msg( + check_msg->signed_messages[69] == 102, + "incorrect value for signed_messages[69], expected 102, is %d", + check_msg->signed_messages[69]); + ck_assert_msg(check_msg->signed_messages[70] == 50, + "incorrect value for signed_messages[70], expected 50, is %d", + check_msg->signed_messages[70]); + ck_assert_msg(check_msg->signed_messages[71] == 48, + "incorrect value for signed_messages[71], expected 48, is %d", + check_msg->signed_messages[71]); + ck_assert_msg(check_msg->signed_messages[72] == 71, + "incorrect value for signed_messages[72], expected 71, is %d", + check_msg->signed_messages[72]); + ck_assert_msg( + check_msg->signed_messages[73] == 147, + "incorrect value for signed_messages[73], expected 147, is %d", + check_msg->signed_messages[73]); + ck_assert_msg(check_msg->signed_messages[74] == 53, + "incorrect value for signed_messages[74], expected 53, is %d", + check_msg->signed_messages[74]); + ck_assert_msg(check_msg->signed_messages[75] == 87, + "incorrect value for signed_messages[75], expected 87, is %d", + check_msg->signed_messages[75]); + ck_assert_msg(check_msg->signed_messages[76] == 1, + "incorrect value for signed_messages[76], expected 1, is %d", + check_msg->signed_messages[76]); + ck_assert_msg( + check_msg->signed_messages[77] == 108, + "incorrect value for signed_messages[77], expected 108, is %d", + check_msg->signed_messages[77]); + ck_assert_msg( + check_msg->signed_messages[78] == 138, + "incorrect value for signed_messages[78], expected 138, is %d", + check_msg->signed_messages[78]); + ck_assert_msg(check_msg->signed_messages[79] == 36, + "incorrect value for signed_messages[79], expected 36, is %d", + check_msg->signed_messages[79]); + ck_assert_msg( + check_msg->signed_messages[80] == 134, + "incorrect value for signed_messages[80], expected 134, is %d", + check_msg->signed_messages[80]); + ck_assert_msg( + check_msg->signed_messages[81] == 139, + "incorrect value for signed_messages[81], expected 139, is %d", + check_msg->signed_messages[81]); + ck_assert_msg( + check_msg->signed_messages[82] == 163, + "incorrect value for signed_messages[82], expected 163, is %d", + check_msg->signed_messages[82]); + ck_assert_msg(check_msg->signed_messages[83] == 82, + "incorrect value for signed_messages[83], expected 82, is %d", + check_msg->signed_messages[83]); + ck_assert_msg(check_msg->signed_messages[84] == 43, + "incorrect value for signed_messages[84], expected 43, is %d", + check_msg->signed_messages[84]); + ck_assert_msg(check_msg->signed_messages[85] == 52, + "incorrect value for signed_messages[85], expected 52, is %d", + check_msg->signed_messages[85]); + ck_assert_msg( + check_msg->signed_messages[86] == 150, + "incorrect value for signed_messages[86], expected 150, is %d", + check_msg->signed_messages[86]); + ck_assert_msg(check_msg->signed_messages[87] == 12, + "incorrect value for signed_messages[87], expected 12, is %d", + check_msg->signed_messages[87]); + ck_assert_msg(check_msg->signed_messages[88] == 30, + "incorrect value for signed_messages[88], expected 30, is %d", + check_msg->signed_messages[88]); + ck_assert_msg( + check_msg->signed_messages[89] == 110, + "incorrect value for signed_messages[89], expected 110, is %d", + check_msg->signed_messages[89]); + ck_assert_msg( + check_msg->signed_messages[90] == 156, + "incorrect value for signed_messages[90], expected 156, is %d", + check_msg->signed_messages[90]); + ck_assert_msg( + check_msg->signed_messages[91] == 107, + "incorrect value for signed_messages[91], expected 107, is %d", + check_msg->signed_messages[91]); + ck_assert_msg( + check_msg->signed_messages[92] == 120, + "incorrect value for signed_messages[92], expected 120, is %d", + check_msg->signed_messages[92]); + ck_assert_msg(check_msg->signed_messages[93] == 91, + "incorrect value for signed_messages[93], expected 91, is %d", + check_msg->signed_messages[93]); + ck_assert_msg( + check_msg->signed_messages[94] == 122, + "incorrect value for signed_messages[94], expected 122, is %d", + check_msg->signed_messages[94]); + ck_assert_msg(check_msg->signed_messages[95] == 69, + "incorrect value for signed_messages[95], expected 69, is %d", + check_msg->signed_messages[95]); + ck_assert_msg( + check_msg->signed_messages[96] == 164, + "incorrect value for signed_messages[96], expected 164, is %d", + check_msg->signed_messages[96]); + ck_assert_msg( + check_msg->signed_messages[97] == 170, + "incorrect value for signed_messages[97], expected 170, is %d", + check_msg->signed_messages[97]); + ck_assert_msg( + check_msg->signed_messages[98] == 116, + "incorrect value for signed_messages[98], expected 116, is %d", + check_msg->signed_messages[98]); + ck_assert_msg(check_msg->signed_messages[99] == 25, + "incorrect value for signed_messages[99], expected 25, is %d", + check_msg->signed_messages[99]); + ck_assert_msg( + check_msg->signed_messages[100] == 94, + "incorrect value for signed_messages[100], expected 94, is %d", + check_msg->signed_messages[100]); + ck_assert_msg(check_msg->signed_messages[101] == 5, + "incorrect value for signed_messages[101], expected 5, is %d", + check_msg->signed_messages[101]); + ck_assert_msg( + check_msg->signed_messages[102] == 22, + "incorrect value for signed_messages[102], expected 22, is %d", + check_msg->signed_messages[102]); + ck_assert_msg( + check_msg->signed_messages[103] == 24, + "incorrect value for signed_messages[103], expected 24, is %d", + check_msg->signed_messages[103]); + ck_assert_msg( + check_msg->signed_messages[104] == 162, + "incorrect value for signed_messages[104], expected 162, is %d", + check_msg->signed_messages[104]); + ck_assert_msg( + check_msg->signed_messages[105] == 175, + "incorrect value for signed_messages[105], expected 175, is %d", + check_msg->signed_messages[105]); + ck_assert_msg( + check_msg->signed_messages[106] == 38, + "incorrect value for signed_messages[106], expected 38, is %d", + check_msg->signed_messages[106]); + ck_assert_msg( + check_msg->signed_messages[107] == 157, + "incorrect value for signed_messages[107], expected 157, is %d", + check_msg->signed_messages[107]); + ck_assert_msg( + check_msg->signed_messages[108] == 98, + "incorrect value for signed_messages[108], expected 98, is %d", + check_msg->signed_messages[108]); + ck_assert_msg( + check_msg->signed_messages[109] == 44, + "incorrect value for signed_messages[109], expected 44, is %d", + check_msg->signed_messages[109]); + ck_assert_msg( + check_msg->signed_messages[110] == 160, + "incorrect value for signed_messages[110], expected 160, is %d", + check_msg->signed_messages[110]); + ck_assert_msg( + check_msg->signed_messages[111] == 47, + "incorrect value for signed_messages[111], expected 47, is %d", + check_msg->signed_messages[111]); + ck_assert_msg( + check_msg->signed_messages[112] == 97, + "incorrect value for signed_messages[112], expected 97, is %d", + check_msg->signed_messages[112]); + ck_assert_msg( + check_msg->signed_messages[113] == 142, + "incorrect value for signed_messages[113], expected 142, is %d", + check_msg->signed_messages[113]); + ck_assert_msg(check_msg->signed_messages[114] == 8, + "incorrect value for signed_messages[114], expected 8, is %d", + check_msg->signed_messages[114]); + ck_assert_msg( + check_msg->signed_messages[115] == 74, + "incorrect value for signed_messages[115], expected 74, is %d", + check_msg->signed_messages[115]); + ck_assert_msg( + check_msg->signed_messages[116] == 13, + "incorrect value for signed_messages[116], expected 13, is %d", + check_msg->signed_messages[116]); + ck_assert_msg( + check_msg->signed_messages[117] == 177, + "incorrect value for signed_messages[117], expected 177, is %d", + check_msg->signed_messages[117]); + ck_assert_msg( + check_msg->signed_messages[118] == 15, + "incorrect value for signed_messages[118], expected 15, is %d", + check_msg->signed_messages[118]); + ck_assert_msg( + check_msg->signed_messages[119] == 128, + "incorrect value for signed_messages[119], expected 128, is %d", + check_msg->signed_messages[119]); + ck_assert_msg( + check_msg->signed_messages[120] == 26, + "incorrect value for signed_messages[120], expected 26, is %d", + check_msg->signed_messages[120]); + ck_assert_msg( + check_msg->signed_messages[121] == 131, + "incorrect value for signed_messages[121], expected 131, is %d", + check_msg->signed_messages[121]); + ck_assert_msg( + check_msg->signed_messages[122] == 154, + "incorrect value for signed_messages[122], expected 154, is %d", + check_msg->signed_messages[122]); + ck_assert_msg( + check_msg->signed_messages[123] == 65, + "incorrect value for signed_messages[123], expected 65, is %d", + check_msg->signed_messages[123]); + ck_assert_msg( + check_msg->signed_messages[124] == 169, + "incorrect value for signed_messages[124], expected 169, is %d", + check_msg->signed_messages[124]); + ck_assert_msg( + check_msg->signed_messages[125] == 55, + "incorrect value for signed_messages[125], expected 55, is %d", + check_msg->signed_messages[125]); + ck_assert_msg( + check_msg->signed_messages[126] == 136, + "incorrect value for signed_messages[126], expected 136, is %d", + check_msg->signed_messages[126]); + ck_assert_msg( + check_msg->signed_messages[127] == 125, + "incorrect value for signed_messages[127], expected 125, is %d", + check_msg->signed_messages[127]); + ck_assert_msg( + check_msg->signed_messages[128] == 171, + "incorrect value for signed_messages[128], expected 171, is %d", + check_msg->signed_messages[128]); + ck_assert_msg( + check_msg->signed_messages[129] == 161, + "incorrect value for signed_messages[129], expected 161, is %d", + check_msg->signed_messages[129]); + ck_assert_msg( + check_msg->signed_messages[130] == 29, + "incorrect value for signed_messages[130], expected 29, is %d", + check_msg->signed_messages[130]); + ck_assert_msg( + check_msg->signed_messages[131] == 129, + "incorrect value for signed_messages[131], expected 129, is %d", + check_msg->signed_messages[131]); + ck_assert_msg( + check_msg->signed_messages[132] == 151, + "incorrect value for signed_messages[132], expected 151, is %d", + check_msg->signed_messages[132]); + ck_assert_msg( + check_msg->signed_messages[133] == 68, + "incorrect value for signed_messages[133], expected 68, is %d", + check_msg->signed_messages[133]); + ck_assert_msg( + check_msg->signed_messages[134] == 166, + "incorrect value for signed_messages[134], expected 166, is %d", + check_msg->signed_messages[134]); + ck_assert_msg( + check_msg->signed_messages[135] == 51, + "incorrect value for signed_messages[135], expected 51, is %d", + check_msg->signed_messages[135]); + ck_assert_msg( + check_msg->signed_messages[136] == 70, + "incorrect value for signed_messages[136], expected 70, is %d", + check_msg->signed_messages[136]); + ck_assert_msg( + check_msg->signed_messages[137] == 45, + "incorrect value for signed_messages[137], expected 45, is %d", + check_msg->signed_messages[137]); + ck_assert_msg( + check_msg->signed_messages[138] == 56, + "incorrect value for signed_messages[138], expected 56, is %d", + check_msg->signed_messages[138]); + ck_assert_msg( + check_msg->signed_messages[139] == 79, + "incorrect value for signed_messages[139], expected 79, is %d", + check_msg->signed_messages[139]); + ck_assert_msg( + check_msg->signed_messages[140] == 149, + "incorrect value for signed_messages[140], expected 149, is %d", + check_msg->signed_messages[140]); + ck_assert_msg( + check_msg->signed_messages[141] == 99, + "incorrect value for signed_messages[141], expected 99, is %d", + check_msg->signed_messages[141]); + ck_assert_msg( + check_msg->signed_messages[142] == 42, + "incorrect value for signed_messages[142], expected 42, is %d", + check_msg->signed_messages[142]); + ck_assert_msg( + check_msg->signed_messages[143] == 101, + "incorrect value for signed_messages[143], expected 101, is %d", + check_msg->signed_messages[143]); + ck_assert_msg( + check_msg->signed_messages[144] == 152, + "incorrect value for signed_messages[144], expected 152, is %d", + check_msg->signed_messages[144]); + ck_assert_msg( + check_msg->signed_messages[145] == 39, + "incorrect value for signed_messages[145], expected 39, is %d", + check_msg->signed_messages[145]); + ck_assert_msg( + check_msg->signed_messages[146] == 89, + "incorrect value for signed_messages[146], expected 89, is %d", + check_msg->signed_messages[146]); + ck_assert_msg( + check_msg->signed_messages[147] == 180, + "incorrect value for signed_messages[147], expected 180, is %d", + check_msg->signed_messages[147]); + ck_assert_msg( + check_msg->signed_messages[148] == 64, + "incorrect value for signed_messages[148], expected 64, is %d", + check_msg->signed_messages[148]); + ck_assert_msg( + check_msg->signed_messages[149] == 49, + "incorrect value for signed_messages[149], expected 49, is %d", + check_msg->signed_messages[149]); + ck_assert_msg(check_msg->signed_messages[150] == 6, + "incorrect value for signed_messages[150], expected 6, is %d", + check_msg->signed_messages[150]); + ck_assert_msg( + check_msg->signed_messages[151] == 80, + "incorrect value for signed_messages[151], expected 80, is %d", + check_msg->signed_messages[151]); + ck_assert_msg( + check_msg->signed_messages[152] == 172, + "incorrect value for signed_messages[152], expected 172, is %d", + check_msg->signed_messages[152]); + ck_assert_msg( + check_msg->signed_messages[153] == 32, + "incorrect value for signed_messages[153], expected 32, is %d", + check_msg->signed_messages[153]); + ck_assert_msg( + check_msg->signed_messages[154] == 109, + "incorrect value for signed_messages[154], expected 109, is %d", + check_msg->signed_messages[154]); + ck_assert_msg(check_msg->signed_messages[155] == 2, + "incorrect value for signed_messages[155], expected 2, is %d", + check_msg->signed_messages[155]); + ck_assert_msg( + check_msg->signed_messages[156] == 119, + "incorrect value for signed_messages[156], expected 119, is %d", + check_msg->signed_messages[156]); + ck_assert_msg( + check_msg->signed_messages[157] == 93, + "incorrect value for signed_messages[157], expected 93, is %d", + check_msg->signed_messages[157]); + ck_assert_msg( + check_msg->signed_messages[158] == 176, + "incorrect value for signed_messages[158], expected 176, is %d", + check_msg->signed_messages[158]); + ck_assert_msg(check_msg->signed_messages[159] == 0, + "incorrect value for signed_messages[159], expected 0, is %d", + check_msg->signed_messages[159]); + ck_assert_msg( + check_msg->signed_messages[160] == 33, + "incorrect value for signed_messages[160], expected 33, is %d", + check_msg->signed_messages[160]); + ck_assert_msg( + check_msg->signed_messages[161] == 57, + "incorrect value for signed_messages[161], expected 57, is %d", + check_msg->signed_messages[161]); + ck_assert_msg( + check_msg->signed_messages[162] == 34, + "incorrect value for signed_messages[162], expected 34, is %d", + check_msg->signed_messages[162]); + ck_assert_msg( + check_msg->signed_messages[163] == 18, + "incorrect value for signed_messages[163], expected 18, is %d", + check_msg->signed_messages[163]); + ck_assert_msg( + check_msg->signed_messages[164] == 85, + "incorrect value for signed_messages[164], expected 85, is %d", + check_msg->signed_messages[164]); + ck_assert_msg( + check_msg->signed_messages[165] == 121, + "incorrect value for signed_messages[165], expected 121, is %d", + check_msg->signed_messages[165]); + ck_assert_msg( + check_msg->signed_messages[166] == 137, + "incorrect value for signed_messages[166], expected 137, is %d", + check_msg->signed_messages[166]); + ck_assert_msg( + check_msg->signed_messages[167] == 83, + "incorrect value for signed_messages[167], expected 83, is %d", + check_msg->signed_messages[167]); + ck_assert_msg( + check_msg->signed_messages[168] == 111, + "incorrect value for signed_messages[168], expected 111, is %d", + check_msg->signed_messages[168]); + ck_assert_msg( + check_msg->signed_messages[169] == 59, + "incorrect value for signed_messages[169], expected 59, is %d", + check_msg->signed_messages[169]); + ck_assert_msg(check_msg->signed_messages[170] == 7, + "incorrect value for signed_messages[170], expected 7, is %d", + check_msg->signed_messages[170]); + ck_assert_msg( + check_msg->signed_messages[171] == 77, + "incorrect value for signed_messages[171], expected 77, is %d", + check_msg->signed_messages[171]); + ck_assert_msg(check_msg->signed_messages[172] == 4, + "incorrect value for signed_messages[172], expected 4, is %d", + check_msg->signed_messages[172]); + ck_assert_msg( + check_msg->signed_messages[173] == 117, + "incorrect value for signed_messages[173], expected 117, is %d", + check_msg->signed_messages[173]); + ck_assert_msg( + check_msg->signed_messages[174] == 159, + "incorrect value for signed_messages[174], expected 159, is %d", + check_msg->signed_messages[174]); + ck_assert_msg( + check_msg->signed_messages[175] == 148, + "incorrect value for signed_messages[175], expected 148, is %d", + check_msg->signed_messages[175]); + ck_assert_msg( + check_msg->signed_messages[176] == 35, + "incorrect value for signed_messages[176], expected 35, is %d", + check_msg->signed_messages[176]); + ck_assert_msg( + check_msg->signed_messages[177] == 61, + "incorrect value for signed_messages[177], expected 61, is %d", + check_msg->signed_messages[177]); + ck_assert_msg( + check_msg->signed_messages[178] == 41, + "incorrect value for signed_messages[178], expected 41, is %d", + check_msg->signed_messages[178]); + ck_assert_msg( + check_msg->signed_messages[179] == 67, + "incorrect value for signed_messages[179], expected 67, is %d", + check_msg->signed_messages[179]); + ck_assert_msg( + check_msg->signed_messages[180] == 46, + "incorrect value for signed_messages[180], expected 46, is %d", + check_msg->signed_messages[180]); + ck_assert_msg( + check_msg->signed_messages[181] == 127, + "incorrect value for signed_messages[181], expected 127, is %d", + check_msg->signed_messages[181]); + ck_assert_msg( + check_msg->signed_messages[182] == 75, + "incorrect value for signed_messages[182], expected 75, is %d", + check_msg->signed_messages[182]); + ck_assert_msg( + check_msg->signed_messages[183] == 174, + "incorrect value for signed_messages[183], expected 174, is %d", + check_msg->signed_messages[183]); + ck_assert_msg(check_msg->stream_counter == 1, + "incorrect value for stream_counter, expected 1, is %d", + check_msg->stream_counter); + } +} +END_TEST + +Suite *legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep_suite(void) { + Suite *s = suite_create( + "SBP generated test suite: " + "legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep"); + TCase *tc_acq = tcase_create( + "Automated_Suite_legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep"); + tcase_add_test(tc_acq, + test_legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep); + suite_add_tcase(s, tc_acq); + return s; +} \ No newline at end of file diff --git a/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc b/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc index 04cc574b87..d31c3a4987 100644 --- a/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc +++ b/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc @@ -78,24 +78,12 @@ class Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0 TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { uint8_t encoded_frame[] = { - 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, - 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, - 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, - 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, - 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, - 6, 7, 10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, - 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, - 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, - 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, - 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, - 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, - 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, - 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, - 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, - 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, - 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, - 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, - 41, 67, 46, 127, 75, 174, 97, 172, + 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, }; uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; @@ -127,6 +115,7 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { } test_msg->certificate_id[3] = 4; test_msg->flags = 0; + test_msg->n_signature_bytes = 73; test_msg->on_demand_counter = 2; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays @@ -172,1386 +161,345 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[8] = 0; + test_msg->signature[8] = 8; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[9] = 1; + test_msg->signature[9] = 9; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[10] = 2; + test_msg->signature[10] = 10; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[11] = 3; + test_msg->signature[11] = 11; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[12] = 4; + test_msg->signature[12] = 12; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[13] = 5; + test_msg->signature[13] = 13; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[14] = 6; + test_msg->signature[14] = 14; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[15] = 7; + test_msg->signature[15] = 15; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[16] = 0; + test_msg->signature[16] = 16; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[17] = 1; + test_msg->signature[17] = 17; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[18] = 2; + test_msg->signature[18] = 18; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[19] = 3; + test_msg->signature[19] = 19; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[20] = 4; + test_msg->signature[20] = 20; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[21] = 5; + test_msg->signature[21] = 21; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[22] = 6; + test_msg->signature[22] = 22; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[23] = 7; + test_msg->signature[23] = 23; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[24] = 0; + test_msg->signature[24] = 24; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[25] = 1; + test_msg->signature[25] = 25; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[26] = 2; + test_msg->signature[26] = 26; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[27] = 3; + test_msg->signature[27] = 27; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[28] = 4; + test_msg->signature[28] = 28; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[29] = 5; + test_msg->signature[29] = 29; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[30] = 6; + test_msg->signature[30] = 30; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[31] = 7; + test_msg->signature[31] = 31; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[32] = 0; + test_msg->signature[32] = 32; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[33] = 1; + test_msg->signature[33] = 33; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[34] = 2; + test_msg->signature[34] = 34; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[35] = 3; + test_msg->signature[35] = 35; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[36] = 4; + test_msg->signature[36] = 36; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[37] = 5; + test_msg->signature[37] = 37; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[38] = 6; + test_msg->signature[38] = 38; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[39] = 7; + test_msg->signature[39] = 39; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[40] = 0; + test_msg->signature[40] = 40; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[41] = 1; + test_msg->signature[41] = 41; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[42] = 2; + test_msg->signature[42] = 42; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[43] = 3; + test_msg->signature[43] = 43; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[44] = 4; + test_msg->signature[44] = 44; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[45] = 5; + test_msg->signature[45] = 45; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[46] = 6; + test_msg->signature[46] = 46; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[47] = 7; + test_msg->signature[47] = 47; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[48] = 0; + test_msg->signature[48] = 48; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[49] = 1; + test_msg->signature[49] = 49; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[50] = 2; + test_msg->signature[50] = 50; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[51] = 3; + test_msg->signature[51] = 51; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[52] = 4; + test_msg->signature[52] = 52; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[53] = 5; + test_msg->signature[53] = 53; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[54] = 6; + test_msg->signature[54] = 54; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[55] = 7; + test_msg->signature[55] = 55; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[56] = 0; + test_msg->signature[56] = 56; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[57] = 1; + test_msg->signature[57] = 57; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[58] = 2; + test_msg->signature[58] = 58; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[59] = 3; + test_msg->signature[59] = 59; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[60] = 4; + test_msg->signature[60] = 60; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[61] = 5; + test_msg->signature[61] = 61; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[62] = 6; + test_msg->signature[62] = 62; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signature[63] = 7; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[0] = 10; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[1] = 21; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[2] = 23; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[3] = 63; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[4] = 140; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[5] = 37; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[6] = 130; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[7] = 106; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[8] = 28; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[9] = 40; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[10] = 165; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[11] = 179; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[12] = 73; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[13] = 178; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[14] = 60; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[15] = 126; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[16] = 114; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[17] = 78; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[18] = 113; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[19] = 27; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[20] = 95; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[21] = 3; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[22] = 62; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[23] = 104; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[24] = 145; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[25] = 96; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[26] = 19; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[27] = 92; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[28] = 123; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[29] = 14; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[30] = 90; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[31] = 153; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[32] = 183; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[33] = 9; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[34] = 72; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[35] = 81; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[36] = 118; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[37] = 112; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[38] = 124; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[39] = 16; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[40] = 182; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[41] = 76; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[42] = 146; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[43] = 115; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[44] = 58; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[45] = 144; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[46] = 17; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[47] = 105; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[48] = 66; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[49] = 31; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[50] = 135; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[51] = 54; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[52] = 100; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[53] = 84; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[54] = 181; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[55] = 103; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[56] = 11; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[57] = 88; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[58] = 133; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[59] = 155; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[60] = 167; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[61] = 173; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[62] = 143; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[63] = 86; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[64] = 158; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[65] = 20; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[66] = 168; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[67] = 132; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[68] = 141; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[69] = 102; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[70] = 50; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[71] = 48; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[72] = 71; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[73] = 147; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[74] = 53; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[75] = 87; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[76] = 1; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[77] = 108; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[78] = 138; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[79] = 36; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[80] = 134; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[81] = 139; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[82] = 163; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[83] = 82; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[84] = 43; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[85] = 52; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[86] = 150; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[87] = 12; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[88] = 30; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[89] = 110; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[90] = 156; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[91] = 107; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[92] = 120; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[93] = 91; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[94] = 122; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[95] = 69; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[96] = 164; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[97] = 170; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[98] = 116; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[99] = 25; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[100] = 94; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[101] = 5; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[102] = 22; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[103] = 24; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[104] = 162; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[105] = 175; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[106] = 38; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[107] = 157; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[108] = 98; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[109] = 44; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[110] = 160; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[111] = 47; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[112] = 97; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[113] = 142; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[114] = 8; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[115] = 74; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[116] = 13; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[117] = 177; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[118] = 15; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[119] = 128; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[120] = 26; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[121] = 131; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[122] = 154; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[123] = 65; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[124] = 169; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[125] = 55; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[126] = 136; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[127] = 125; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[128] = 171; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[129] = 161; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[130] = 29; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[131] = 129; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[132] = 151; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[133] = 68; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[134] = 166; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[135] = 51; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[136] = 70; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[137] = 45; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[138] = 56; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[139] = 79; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[140] = 149; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[141] = 99; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[142] = 42; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[143] = 101; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[144] = 152; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[145] = 39; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[146] = 89; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[147] = 180; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[148] = 64; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[149] = 49; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[150] = 6; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[151] = 80; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[152] = 172; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[153] = 32; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[154] = 109; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[155] = 2; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[156] = 119; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[157] = 93; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[158] = 176; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[159] = 0; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[160] = 33; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[161] = 57; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[162] = 34; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[163] = 18; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[164] = 85; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[165] = 121; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[166] = 137; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[167] = 83; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[168] = 111; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[169] = 59; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[170] = 7; - if (sizeof(test_msg->signed_messages) == 0) { - // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); - } - test_msg->signed_messages[171] = 77; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[63] = 63; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[172] = 4; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[64] = 64; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[173] = 117; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[65] = 65; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[174] = 159; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[66] = 66; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[175] = 148; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[67] = 67; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[176] = 35; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[68] = 68; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[177] = 61; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[69] = 69; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[178] = 41; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[70] = 70; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[179] = 67; - if (sizeof(test_msg->signed_messages) == 0) { + test_msg->signature[71] = 71; + if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays - test_msg_len = - (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } - test_msg->signed_messages[180] = 46; + test_msg->signature[72] = 72; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); } - test_msg->signed_messages[181] = 127; + test_msg->signed_messages[0] = 10; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); } - test_msg->signed_messages[182] = 75; + test_msg->signed_messages[1] = 21; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); } - test_msg->signed_messages[183] = 174; + test_msg->signed_messages[2] = 23; test_msg->stream_counter = 1; EXPECT_EQ(send_message(0xC06, 66, test_msg_len, test_msg_storage), SBP_OK); @@ -1580,6 +528,9 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { << last_msg_->certificate_id[3]; EXPECT_EQ(last_msg_->flags, 0) << "incorrect value for flags, expected 0, is " << last_msg_->flags; + EXPECT_EQ(last_msg_->n_signature_bytes, 73) + << "incorrect value for n_signature_bytes, expected 73, is " + << last_msg_->n_signature_bytes; EXPECT_EQ(last_msg_->on_demand_counter, 2) << "incorrect value for on_demand_counter, expected 2, is " << last_msg_->on_demand_counter; @@ -1607,174 +558,201 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_->signature[7], 7) << "incorrect value for signature[7], expected 7, is " << last_msg_->signature[7]; - EXPECT_EQ(last_msg_->signature[8], 0) - << "incorrect value for signature[8], expected 0, is " + EXPECT_EQ(last_msg_->signature[8], 8) + << "incorrect value for signature[8], expected 8, is " << last_msg_->signature[8]; - EXPECT_EQ(last_msg_->signature[9], 1) - << "incorrect value for signature[9], expected 1, is " + EXPECT_EQ(last_msg_->signature[9], 9) + << "incorrect value for signature[9], expected 9, is " << last_msg_->signature[9]; - EXPECT_EQ(last_msg_->signature[10], 2) - << "incorrect value for signature[10], expected 2, is " + EXPECT_EQ(last_msg_->signature[10], 10) + << "incorrect value for signature[10], expected 10, is " << last_msg_->signature[10]; - EXPECT_EQ(last_msg_->signature[11], 3) - << "incorrect value for signature[11], expected 3, is " + EXPECT_EQ(last_msg_->signature[11], 11) + << "incorrect value for signature[11], expected 11, is " << last_msg_->signature[11]; - EXPECT_EQ(last_msg_->signature[12], 4) - << "incorrect value for signature[12], expected 4, is " + EXPECT_EQ(last_msg_->signature[12], 12) + << "incorrect value for signature[12], expected 12, is " << last_msg_->signature[12]; - EXPECT_EQ(last_msg_->signature[13], 5) - << "incorrect value for signature[13], expected 5, is " + EXPECT_EQ(last_msg_->signature[13], 13) + << "incorrect value for signature[13], expected 13, is " << last_msg_->signature[13]; - EXPECT_EQ(last_msg_->signature[14], 6) - << "incorrect value for signature[14], expected 6, is " + EXPECT_EQ(last_msg_->signature[14], 14) + << "incorrect value for signature[14], expected 14, is " << last_msg_->signature[14]; - EXPECT_EQ(last_msg_->signature[15], 7) - << "incorrect value for signature[15], expected 7, is " + EXPECT_EQ(last_msg_->signature[15], 15) + << "incorrect value for signature[15], expected 15, is " << last_msg_->signature[15]; - EXPECT_EQ(last_msg_->signature[16], 0) - << "incorrect value for signature[16], expected 0, is " + EXPECT_EQ(last_msg_->signature[16], 16) + << "incorrect value for signature[16], expected 16, is " << last_msg_->signature[16]; - EXPECT_EQ(last_msg_->signature[17], 1) - << "incorrect value for signature[17], expected 1, is " + EXPECT_EQ(last_msg_->signature[17], 17) + << "incorrect value for signature[17], expected 17, is " << last_msg_->signature[17]; - EXPECT_EQ(last_msg_->signature[18], 2) - << "incorrect value for signature[18], expected 2, is " + EXPECT_EQ(last_msg_->signature[18], 18) + << "incorrect value for signature[18], expected 18, is " << last_msg_->signature[18]; - EXPECT_EQ(last_msg_->signature[19], 3) - << "incorrect value for signature[19], expected 3, is " + EXPECT_EQ(last_msg_->signature[19], 19) + << "incorrect value for signature[19], expected 19, is " << last_msg_->signature[19]; - EXPECT_EQ(last_msg_->signature[20], 4) - << "incorrect value for signature[20], expected 4, is " + EXPECT_EQ(last_msg_->signature[20], 20) + << "incorrect value for signature[20], expected 20, is " << last_msg_->signature[20]; - EXPECT_EQ(last_msg_->signature[21], 5) - << "incorrect value for signature[21], expected 5, is " + EXPECT_EQ(last_msg_->signature[21], 21) + << "incorrect value for signature[21], expected 21, is " << last_msg_->signature[21]; - EXPECT_EQ(last_msg_->signature[22], 6) - << "incorrect value for signature[22], expected 6, is " + EXPECT_EQ(last_msg_->signature[22], 22) + << "incorrect value for signature[22], expected 22, is " << last_msg_->signature[22]; - EXPECT_EQ(last_msg_->signature[23], 7) - << "incorrect value for signature[23], expected 7, is " + EXPECT_EQ(last_msg_->signature[23], 23) + << "incorrect value for signature[23], expected 23, is " << last_msg_->signature[23]; - EXPECT_EQ(last_msg_->signature[24], 0) - << "incorrect value for signature[24], expected 0, is " + EXPECT_EQ(last_msg_->signature[24], 24) + << "incorrect value for signature[24], expected 24, is " << last_msg_->signature[24]; - EXPECT_EQ(last_msg_->signature[25], 1) - << "incorrect value for signature[25], expected 1, is " + EXPECT_EQ(last_msg_->signature[25], 25) + << "incorrect value for signature[25], expected 25, is " << last_msg_->signature[25]; - EXPECT_EQ(last_msg_->signature[26], 2) - << "incorrect value for signature[26], expected 2, is " + EXPECT_EQ(last_msg_->signature[26], 26) + << "incorrect value for signature[26], expected 26, is " << last_msg_->signature[26]; - EXPECT_EQ(last_msg_->signature[27], 3) - << "incorrect value for signature[27], expected 3, is " + EXPECT_EQ(last_msg_->signature[27], 27) + << "incorrect value for signature[27], expected 27, is " << last_msg_->signature[27]; - EXPECT_EQ(last_msg_->signature[28], 4) - << "incorrect value for signature[28], expected 4, is " + EXPECT_EQ(last_msg_->signature[28], 28) + << "incorrect value for signature[28], expected 28, is " << last_msg_->signature[28]; - EXPECT_EQ(last_msg_->signature[29], 5) - << "incorrect value for signature[29], expected 5, is " + EXPECT_EQ(last_msg_->signature[29], 29) + << "incorrect value for signature[29], expected 29, is " << last_msg_->signature[29]; - EXPECT_EQ(last_msg_->signature[30], 6) - << "incorrect value for signature[30], expected 6, is " + EXPECT_EQ(last_msg_->signature[30], 30) + << "incorrect value for signature[30], expected 30, is " << last_msg_->signature[30]; - EXPECT_EQ(last_msg_->signature[31], 7) - << "incorrect value for signature[31], expected 7, is " + EXPECT_EQ(last_msg_->signature[31], 31) + << "incorrect value for signature[31], expected 31, is " << last_msg_->signature[31]; - EXPECT_EQ(last_msg_->signature[32], 0) - << "incorrect value for signature[32], expected 0, is " + EXPECT_EQ(last_msg_->signature[32], 32) + << "incorrect value for signature[32], expected 32, is " << last_msg_->signature[32]; - EXPECT_EQ(last_msg_->signature[33], 1) - << "incorrect value for signature[33], expected 1, is " + EXPECT_EQ(last_msg_->signature[33], 33) + << "incorrect value for signature[33], expected 33, is " << last_msg_->signature[33]; - EXPECT_EQ(last_msg_->signature[34], 2) - << "incorrect value for signature[34], expected 2, is " + EXPECT_EQ(last_msg_->signature[34], 34) + << "incorrect value for signature[34], expected 34, is " << last_msg_->signature[34]; - EXPECT_EQ(last_msg_->signature[35], 3) - << "incorrect value for signature[35], expected 3, is " + EXPECT_EQ(last_msg_->signature[35], 35) + << "incorrect value for signature[35], expected 35, is " << last_msg_->signature[35]; - EXPECT_EQ(last_msg_->signature[36], 4) - << "incorrect value for signature[36], expected 4, is " + EXPECT_EQ(last_msg_->signature[36], 36) + << "incorrect value for signature[36], expected 36, is " << last_msg_->signature[36]; - EXPECT_EQ(last_msg_->signature[37], 5) - << "incorrect value for signature[37], expected 5, is " + EXPECT_EQ(last_msg_->signature[37], 37) + << "incorrect value for signature[37], expected 37, is " << last_msg_->signature[37]; - EXPECT_EQ(last_msg_->signature[38], 6) - << "incorrect value for signature[38], expected 6, is " + EXPECT_EQ(last_msg_->signature[38], 38) + << "incorrect value for signature[38], expected 38, is " << last_msg_->signature[38]; - EXPECT_EQ(last_msg_->signature[39], 7) - << "incorrect value for signature[39], expected 7, is " + EXPECT_EQ(last_msg_->signature[39], 39) + << "incorrect value for signature[39], expected 39, is " << last_msg_->signature[39]; - EXPECT_EQ(last_msg_->signature[40], 0) - << "incorrect value for signature[40], expected 0, is " + EXPECT_EQ(last_msg_->signature[40], 40) + << "incorrect value for signature[40], expected 40, is " << last_msg_->signature[40]; - EXPECT_EQ(last_msg_->signature[41], 1) - << "incorrect value for signature[41], expected 1, is " + EXPECT_EQ(last_msg_->signature[41], 41) + << "incorrect value for signature[41], expected 41, is " << last_msg_->signature[41]; - EXPECT_EQ(last_msg_->signature[42], 2) - << "incorrect value for signature[42], expected 2, is " + EXPECT_EQ(last_msg_->signature[42], 42) + << "incorrect value for signature[42], expected 42, is " << last_msg_->signature[42]; - EXPECT_EQ(last_msg_->signature[43], 3) - << "incorrect value for signature[43], expected 3, is " + EXPECT_EQ(last_msg_->signature[43], 43) + << "incorrect value for signature[43], expected 43, is " << last_msg_->signature[43]; - EXPECT_EQ(last_msg_->signature[44], 4) - << "incorrect value for signature[44], expected 4, is " + EXPECT_EQ(last_msg_->signature[44], 44) + << "incorrect value for signature[44], expected 44, is " << last_msg_->signature[44]; - EXPECT_EQ(last_msg_->signature[45], 5) - << "incorrect value for signature[45], expected 5, is " + EXPECT_EQ(last_msg_->signature[45], 45) + << "incorrect value for signature[45], expected 45, is " << last_msg_->signature[45]; - EXPECT_EQ(last_msg_->signature[46], 6) - << "incorrect value for signature[46], expected 6, is " + EXPECT_EQ(last_msg_->signature[46], 46) + << "incorrect value for signature[46], expected 46, is " << last_msg_->signature[46]; - EXPECT_EQ(last_msg_->signature[47], 7) - << "incorrect value for signature[47], expected 7, is " + EXPECT_EQ(last_msg_->signature[47], 47) + << "incorrect value for signature[47], expected 47, is " << last_msg_->signature[47]; - EXPECT_EQ(last_msg_->signature[48], 0) - << "incorrect value for signature[48], expected 0, is " + EXPECT_EQ(last_msg_->signature[48], 48) + << "incorrect value for signature[48], expected 48, is " << last_msg_->signature[48]; - EXPECT_EQ(last_msg_->signature[49], 1) - << "incorrect value for signature[49], expected 1, is " + EXPECT_EQ(last_msg_->signature[49], 49) + << "incorrect value for signature[49], expected 49, is " << last_msg_->signature[49]; - EXPECT_EQ(last_msg_->signature[50], 2) - << "incorrect value for signature[50], expected 2, is " + EXPECT_EQ(last_msg_->signature[50], 50) + << "incorrect value for signature[50], expected 50, is " << last_msg_->signature[50]; - EXPECT_EQ(last_msg_->signature[51], 3) - << "incorrect value for signature[51], expected 3, is " + EXPECT_EQ(last_msg_->signature[51], 51) + << "incorrect value for signature[51], expected 51, is " << last_msg_->signature[51]; - EXPECT_EQ(last_msg_->signature[52], 4) - << "incorrect value for signature[52], expected 4, is " + EXPECT_EQ(last_msg_->signature[52], 52) + << "incorrect value for signature[52], expected 52, is " << last_msg_->signature[52]; - EXPECT_EQ(last_msg_->signature[53], 5) - << "incorrect value for signature[53], expected 5, is " + EXPECT_EQ(last_msg_->signature[53], 53) + << "incorrect value for signature[53], expected 53, is " << last_msg_->signature[53]; - EXPECT_EQ(last_msg_->signature[54], 6) - << "incorrect value for signature[54], expected 6, is " + EXPECT_EQ(last_msg_->signature[54], 54) + << "incorrect value for signature[54], expected 54, is " << last_msg_->signature[54]; - EXPECT_EQ(last_msg_->signature[55], 7) - << "incorrect value for signature[55], expected 7, is " + EXPECT_EQ(last_msg_->signature[55], 55) + << "incorrect value for signature[55], expected 55, is " << last_msg_->signature[55]; - EXPECT_EQ(last_msg_->signature[56], 0) - << "incorrect value for signature[56], expected 0, is " + EXPECT_EQ(last_msg_->signature[56], 56) + << "incorrect value for signature[56], expected 56, is " << last_msg_->signature[56]; - EXPECT_EQ(last_msg_->signature[57], 1) - << "incorrect value for signature[57], expected 1, is " + EXPECT_EQ(last_msg_->signature[57], 57) + << "incorrect value for signature[57], expected 57, is " << last_msg_->signature[57]; - EXPECT_EQ(last_msg_->signature[58], 2) - << "incorrect value for signature[58], expected 2, is " + EXPECT_EQ(last_msg_->signature[58], 58) + << "incorrect value for signature[58], expected 58, is " << last_msg_->signature[58]; - EXPECT_EQ(last_msg_->signature[59], 3) - << "incorrect value for signature[59], expected 3, is " + EXPECT_EQ(last_msg_->signature[59], 59) + << "incorrect value for signature[59], expected 59, is " << last_msg_->signature[59]; - EXPECT_EQ(last_msg_->signature[60], 4) - << "incorrect value for signature[60], expected 4, is " + EXPECT_EQ(last_msg_->signature[60], 60) + << "incorrect value for signature[60], expected 60, is " << last_msg_->signature[60]; - EXPECT_EQ(last_msg_->signature[61], 5) - << "incorrect value for signature[61], expected 5, is " + EXPECT_EQ(last_msg_->signature[61], 61) + << "incorrect value for signature[61], expected 61, is " << last_msg_->signature[61]; - EXPECT_EQ(last_msg_->signature[62], 6) - << "incorrect value for signature[62], expected 6, is " + EXPECT_EQ(last_msg_->signature[62], 62) + << "incorrect value for signature[62], expected 62, is " << last_msg_->signature[62]; - EXPECT_EQ(last_msg_->signature[63], 7) - << "incorrect value for signature[63], expected 7, is " + EXPECT_EQ(last_msg_->signature[63], 63) + << "incorrect value for signature[63], expected 63, is " << last_msg_->signature[63]; + EXPECT_EQ(last_msg_->signature[64], 64) + << "incorrect value for signature[64], expected 64, is " + << last_msg_->signature[64]; + EXPECT_EQ(last_msg_->signature[65], 65) + << "incorrect value for signature[65], expected 65, is " + << last_msg_->signature[65]; + EXPECT_EQ(last_msg_->signature[66], 66) + << "incorrect value for signature[66], expected 66, is " + << last_msg_->signature[66]; + EXPECT_EQ(last_msg_->signature[67], 67) + << "incorrect value for signature[67], expected 67, is " + << last_msg_->signature[67]; + EXPECT_EQ(last_msg_->signature[68], 68) + << "incorrect value for signature[68], expected 68, is " + << last_msg_->signature[68]; + EXPECT_EQ(last_msg_->signature[69], 69) + << "incorrect value for signature[69], expected 69, is " + << last_msg_->signature[69]; + EXPECT_EQ(last_msg_->signature[70], 70) + << "incorrect value for signature[70], expected 70, is " + << last_msg_->signature[70]; + EXPECT_EQ(last_msg_->signature[71], 71) + << "incorrect value for signature[71], expected 71, is " + << last_msg_->signature[71]; + EXPECT_EQ(last_msg_->signature[72], 72) + << "incorrect value for signature[72], expected 72, is " + << last_msg_->signature[72]; EXPECT_EQ(last_msg_->signed_messages[0], 10) << "incorrect value for signed_messages[0], expected 10, is " << last_msg_->signed_messages[0]; @@ -1784,549 +762,6 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_->signed_messages[2], 23) << "incorrect value for signed_messages[2], expected 23, is " << last_msg_->signed_messages[2]; - EXPECT_EQ(last_msg_->signed_messages[3], 63) - << "incorrect value for signed_messages[3], expected 63, is " - << last_msg_->signed_messages[3]; - EXPECT_EQ(last_msg_->signed_messages[4], 140) - << "incorrect value for signed_messages[4], expected 140, is " - << last_msg_->signed_messages[4]; - EXPECT_EQ(last_msg_->signed_messages[5], 37) - << "incorrect value for signed_messages[5], expected 37, is " - << last_msg_->signed_messages[5]; - EXPECT_EQ(last_msg_->signed_messages[6], 130) - << "incorrect value for signed_messages[6], expected 130, is " - << last_msg_->signed_messages[6]; - EXPECT_EQ(last_msg_->signed_messages[7], 106) - << "incorrect value for signed_messages[7], expected 106, is " - << last_msg_->signed_messages[7]; - EXPECT_EQ(last_msg_->signed_messages[8], 28) - << "incorrect value for signed_messages[8], expected 28, is " - << last_msg_->signed_messages[8]; - EXPECT_EQ(last_msg_->signed_messages[9], 40) - << "incorrect value for signed_messages[9], expected 40, is " - << last_msg_->signed_messages[9]; - EXPECT_EQ(last_msg_->signed_messages[10], 165) - << "incorrect value for signed_messages[10], expected 165, is " - << last_msg_->signed_messages[10]; - EXPECT_EQ(last_msg_->signed_messages[11], 179) - << "incorrect value for signed_messages[11], expected 179, is " - << last_msg_->signed_messages[11]; - EXPECT_EQ(last_msg_->signed_messages[12], 73) - << "incorrect value for signed_messages[12], expected 73, is " - << last_msg_->signed_messages[12]; - EXPECT_EQ(last_msg_->signed_messages[13], 178) - << "incorrect value for signed_messages[13], expected 178, is " - << last_msg_->signed_messages[13]; - EXPECT_EQ(last_msg_->signed_messages[14], 60) - << "incorrect value for signed_messages[14], expected 60, is " - << last_msg_->signed_messages[14]; - EXPECT_EQ(last_msg_->signed_messages[15], 126) - << "incorrect value for signed_messages[15], expected 126, is " - << last_msg_->signed_messages[15]; - EXPECT_EQ(last_msg_->signed_messages[16], 114) - << "incorrect value for signed_messages[16], expected 114, is " - << last_msg_->signed_messages[16]; - EXPECT_EQ(last_msg_->signed_messages[17], 78) - << "incorrect value for signed_messages[17], expected 78, is " - << last_msg_->signed_messages[17]; - EXPECT_EQ(last_msg_->signed_messages[18], 113) - << "incorrect value for signed_messages[18], expected 113, is " - << last_msg_->signed_messages[18]; - EXPECT_EQ(last_msg_->signed_messages[19], 27) - << "incorrect value for signed_messages[19], expected 27, is " - << last_msg_->signed_messages[19]; - EXPECT_EQ(last_msg_->signed_messages[20], 95) - << "incorrect value for signed_messages[20], expected 95, is " - << last_msg_->signed_messages[20]; - EXPECT_EQ(last_msg_->signed_messages[21], 3) - << "incorrect value for signed_messages[21], expected 3, is " - << last_msg_->signed_messages[21]; - EXPECT_EQ(last_msg_->signed_messages[22], 62) - << "incorrect value for signed_messages[22], expected 62, is " - << last_msg_->signed_messages[22]; - EXPECT_EQ(last_msg_->signed_messages[23], 104) - << "incorrect value for signed_messages[23], expected 104, is " - << last_msg_->signed_messages[23]; - EXPECT_EQ(last_msg_->signed_messages[24], 145) - << "incorrect value for signed_messages[24], expected 145, is " - << last_msg_->signed_messages[24]; - EXPECT_EQ(last_msg_->signed_messages[25], 96) - << "incorrect value for signed_messages[25], expected 96, is " - << last_msg_->signed_messages[25]; - EXPECT_EQ(last_msg_->signed_messages[26], 19) - << "incorrect value for signed_messages[26], expected 19, is " - << last_msg_->signed_messages[26]; - EXPECT_EQ(last_msg_->signed_messages[27], 92) - << "incorrect value for signed_messages[27], expected 92, is " - << last_msg_->signed_messages[27]; - EXPECT_EQ(last_msg_->signed_messages[28], 123) - << "incorrect value for signed_messages[28], expected 123, is " - << last_msg_->signed_messages[28]; - EXPECT_EQ(last_msg_->signed_messages[29], 14) - << "incorrect value for signed_messages[29], expected 14, is " - << last_msg_->signed_messages[29]; - EXPECT_EQ(last_msg_->signed_messages[30], 90) - << "incorrect value for signed_messages[30], expected 90, is " - << last_msg_->signed_messages[30]; - EXPECT_EQ(last_msg_->signed_messages[31], 153) - << "incorrect value for signed_messages[31], expected 153, is " - << last_msg_->signed_messages[31]; - EXPECT_EQ(last_msg_->signed_messages[32], 183) - << "incorrect value for signed_messages[32], expected 183, is " - << last_msg_->signed_messages[32]; - EXPECT_EQ(last_msg_->signed_messages[33], 9) - << "incorrect value for signed_messages[33], expected 9, is " - << last_msg_->signed_messages[33]; - EXPECT_EQ(last_msg_->signed_messages[34], 72) - << "incorrect value for signed_messages[34], expected 72, is " - << last_msg_->signed_messages[34]; - EXPECT_EQ(last_msg_->signed_messages[35], 81) - << "incorrect value for signed_messages[35], expected 81, is " - << last_msg_->signed_messages[35]; - EXPECT_EQ(last_msg_->signed_messages[36], 118) - << "incorrect value for signed_messages[36], expected 118, is " - << last_msg_->signed_messages[36]; - EXPECT_EQ(last_msg_->signed_messages[37], 112) - << "incorrect value for signed_messages[37], expected 112, is " - << last_msg_->signed_messages[37]; - EXPECT_EQ(last_msg_->signed_messages[38], 124) - << "incorrect value for signed_messages[38], expected 124, is " - << last_msg_->signed_messages[38]; - EXPECT_EQ(last_msg_->signed_messages[39], 16) - << "incorrect value for signed_messages[39], expected 16, is " - << last_msg_->signed_messages[39]; - EXPECT_EQ(last_msg_->signed_messages[40], 182) - << "incorrect value for signed_messages[40], expected 182, is " - << last_msg_->signed_messages[40]; - EXPECT_EQ(last_msg_->signed_messages[41], 76) - << "incorrect value for signed_messages[41], expected 76, is " - << last_msg_->signed_messages[41]; - EXPECT_EQ(last_msg_->signed_messages[42], 146) - << "incorrect value for signed_messages[42], expected 146, is " - << last_msg_->signed_messages[42]; - EXPECT_EQ(last_msg_->signed_messages[43], 115) - << "incorrect value for signed_messages[43], expected 115, is " - << last_msg_->signed_messages[43]; - EXPECT_EQ(last_msg_->signed_messages[44], 58) - << "incorrect value for signed_messages[44], expected 58, is " - << last_msg_->signed_messages[44]; - EXPECT_EQ(last_msg_->signed_messages[45], 144) - << "incorrect value for signed_messages[45], expected 144, is " - << last_msg_->signed_messages[45]; - EXPECT_EQ(last_msg_->signed_messages[46], 17) - << "incorrect value for signed_messages[46], expected 17, is " - << last_msg_->signed_messages[46]; - EXPECT_EQ(last_msg_->signed_messages[47], 105) - << "incorrect value for signed_messages[47], expected 105, is " - << last_msg_->signed_messages[47]; - EXPECT_EQ(last_msg_->signed_messages[48], 66) - << "incorrect value for signed_messages[48], expected 66, is " - << last_msg_->signed_messages[48]; - EXPECT_EQ(last_msg_->signed_messages[49], 31) - << "incorrect value for signed_messages[49], expected 31, is " - << last_msg_->signed_messages[49]; - EXPECT_EQ(last_msg_->signed_messages[50], 135) - << "incorrect value for signed_messages[50], expected 135, is " - << last_msg_->signed_messages[50]; - EXPECT_EQ(last_msg_->signed_messages[51], 54) - << "incorrect value for signed_messages[51], expected 54, is " - << last_msg_->signed_messages[51]; - EXPECT_EQ(last_msg_->signed_messages[52], 100) - << "incorrect value for signed_messages[52], expected 100, is " - << last_msg_->signed_messages[52]; - EXPECT_EQ(last_msg_->signed_messages[53], 84) - << "incorrect value for signed_messages[53], expected 84, is " - << last_msg_->signed_messages[53]; - EXPECT_EQ(last_msg_->signed_messages[54], 181) - << "incorrect value for signed_messages[54], expected 181, is " - << last_msg_->signed_messages[54]; - EXPECT_EQ(last_msg_->signed_messages[55], 103) - << "incorrect value for signed_messages[55], expected 103, is " - << last_msg_->signed_messages[55]; - EXPECT_EQ(last_msg_->signed_messages[56], 11) - << "incorrect value for signed_messages[56], expected 11, is " - << last_msg_->signed_messages[56]; - EXPECT_EQ(last_msg_->signed_messages[57], 88) - << "incorrect value for signed_messages[57], expected 88, is " - << last_msg_->signed_messages[57]; - EXPECT_EQ(last_msg_->signed_messages[58], 133) - << "incorrect value for signed_messages[58], expected 133, is " - << last_msg_->signed_messages[58]; - EXPECT_EQ(last_msg_->signed_messages[59], 155) - << "incorrect value for signed_messages[59], expected 155, is " - << last_msg_->signed_messages[59]; - EXPECT_EQ(last_msg_->signed_messages[60], 167) - << "incorrect value for signed_messages[60], expected 167, is " - << last_msg_->signed_messages[60]; - EXPECT_EQ(last_msg_->signed_messages[61], 173) - << "incorrect value for signed_messages[61], expected 173, is " - << last_msg_->signed_messages[61]; - EXPECT_EQ(last_msg_->signed_messages[62], 143) - << "incorrect value for signed_messages[62], expected 143, is " - << last_msg_->signed_messages[62]; - EXPECT_EQ(last_msg_->signed_messages[63], 86) - << "incorrect value for signed_messages[63], expected 86, is " - << last_msg_->signed_messages[63]; - EXPECT_EQ(last_msg_->signed_messages[64], 158) - << "incorrect value for signed_messages[64], expected 158, is " - << last_msg_->signed_messages[64]; - EXPECT_EQ(last_msg_->signed_messages[65], 20) - << "incorrect value for signed_messages[65], expected 20, is " - << last_msg_->signed_messages[65]; - EXPECT_EQ(last_msg_->signed_messages[66], 168) - << "incorrect value for signed_messages[66], expected 168, is " - << last_msg_->signed_messages[66]; - EXPECT_EQ(last_msg_->signed_messages[67], 132) - << "incorrect value for signed_messages[67], expected 132, is " - << last_msg_->signed_messages[67]; - EXPECT_EQ(last_msg_->signed_messages[68], 141) - << "incorrect value for signed_messages[68], expected 141, is " - << last_msg_->signed_messages[68]; - EXPECT_EQ(last_msg_->signed_messages[69], 102) - << "incorrect value for signed_messages[69], expected 102, is " - << last_msg_->signed_messages[69]; - EXPECT_EQ(last_msg_->signed_messages[70], 50) - << "incorrect value for signed_messages[70], expected 50, is " - << last_msg_->signed_messages[70]; - EXPECT_EQ(last_msg_->signed_messages[71], 48) - << "incorrect value for signed_messages[71], expected 48, is " - << last_msg_->signed_messages[71]; - EXPECT_EQ(last_msg_->signed_messages[72], 71) - << "incorrect value for signed_messages[72], expected 71, is " - << last_msg_->signed_messages[72]; - EXPECT_EQ(last_msg_->signed_messages[73], 147) - << "incorrect value for signed_messages[73], expected 147, is " - << last_msg_->signed_messages[73]; - EXPECT_EQ(last_msg_->signed_messages[74], 53) - << "incorrect value for signed_messages[74], expected 53, is " - << last_msg_->signed_messages[74]; - EXPECT_EQ(last_msg_->signed_messages[75], 87) - << "incorrect value for signed_messages[75], expected 87, is " - << last_msg_->signed_messages[75]; - EXPECT_EQ(last_msg_->signed_messages[76], 1) - << "incorrect value for signed_messages[76], expected 1, is " - << last_msg_->signed_messages[76]; - EXPECT_EQ(last_msg_->signed_messages[77], 108) - << "incorrect value for signed_messages[77], expected 108, is " - << last_msg_->signed_messages[77]; - EXPECT_EQ(last_msg_->signed_messages[78], 138) - << "incorrect value for signed_messages[78], expected 138, is " - << last_msg_->signed_messages[78]; - EXPECT_EQ(last_msg_->signed_messages[79], 36) - << "incorrect value for signed_messages[79], expected 36, is " - << last_msg_->signed_messages[79]; - EXPECT_EQ(last_msg_->signed_messages[80], 134) - << "incorrect value for signed_messages[80], expected 134, is " - << last_msg_->signed_messages[80]; - EXPECT_EQ(last_msg_->signed_messages[81], 139) - << "incorrect value for signed_messages[81], expected 139, is " - << last_msg_->signed_messages[81]; - EXPECT_EQ(last_msg_->signed_messages[82], 163) - << "incorrect value for signed_messages[82], expected 163, is " - << last_msg_->signed_messages[82]; - EXPECT_EQ(last_msg_->signed_messages[83], 82) - << "incorrect value for signed_messages[83], expected 82, is " - << last_msg_->signed_messages[83]; - EXPECT_EQ(last_msg_->signed_messages[84], 43) - << "incorrect value for signed_messages[84], expected 43, is " - << last_msg_->signed_messages[84]; - EXPECT_EQ(last_msg_->signed_messages[85], 52) - << "incorrect value for signed_messages[85], expected 52, is " - << last_msg_->signed_messages[85]; - EXPECT_EQ(last_msg_->signed_messages[86], 150) - << "incorrect value for signed_messages[86], expected 150, is " - << last_msg_->signed_messages[86]; - EXPECT_EQ(last_msg_->signed_messages[87], 12) - << "incorrect value for signed_messages[87], expected 12, is " - << last_msg_->signed_messages[87]; - EXPECT_EQ(last_msg_->signed_messages[88], 30) - << "incorrect value for signed_messages[88], expected 30, is " - << last_msg_->signed_messages[88]; - EXPECT_EQ(last_msg_->signed_messages[89], 110) - << "incorrect value for signed_messages[89], expected 110, is " - << last_msg_->signed_messages[89]; - EXPECT_EQ(last_msg_->signed_messages[90], 156) - << "incorrect value for signed_messages[90], expected 156, is " - << last_msg_->signed_messages[90]; - EXPECT_EQ(last_msg_->signed_messages[91], 107) - << "incorrect value for signed_messages[91], expected 107, is " - << last_msg_->signed_messages[91]; - EXPECT_EQ(last_msg_->signed_messages[92], 120) - << "incorrect value for signed_messages[92], expected 120, is " - << last_msg_->signed_messages[92]; - EXPECT_EQ(last_msg_->signed_messages[93], 91) - << "incorrect value for signed_messages[93], expected 91, is " - << last_msg_->signed_messages[93]; - EXPECT_EQ(last_msg_->signed_messages[94], 122) - << "incorrect value for signed_messages[94], expected 122, is " - << last_msg_->signed_messages[94]; - EXPECT_EQ(last_msg_->signed_messages[95], 69) - << "incorrect value for signed_messages[95], expected 69, is " - << last_msg_->signed_messages[95]; - EXPECT_EQ(last_msg_->signed_messages[96], 164) - << "incorrect value for signed_messages[96], expected 164, is " - << last_msg_->signed_messages[96]; - EXPECT_EQ(last_msg_->signed_messages[97], 170) - << "incorrect value for signed_messages[97], expected 170, is " - << last_msg_->signed_messages[97]; - EXPECT_EQ(last_msg_->signed_messages[98], 116) - << "incorrect value for signed_messages[98], expected 116, is " - << last_msg_->signed_messages[98]; - EXPECT_EQ(last_msg_->signed_messages[99], 25) - << "incorrect value for signed_messages[99], expected 25, is " - << last_msg_->signed_messages[99]; - EXPECT_EQ(last_msg_->signed_messages[100], 94) - << "incorrect value for signed_messages[100], expected 94, is " - << last_msg_->signed_messages[100]; - EXPECT_EQ(last_msg_->signed_messages[101], 5) - << "incorrect value for signed_messages[101], expected 5, is " - << last_msg_->signed_messages[101]; - EXPECT_EQ(last_msg_->signed_messages[102], 22) - << "incorrect value for signed_messages[102], expected 22, is " - << last_msg_->signed_messages[102]; - EXPECT_EQ(last_msg_->signed_messages[103], 24) - << "incorrect value for signed_messages[103], expected 24, is " - << last_msg_->signed_messages[103]; - EXPECT_EQ(last_msg_->signed_messages[104], 162) - << "incorrect value for signed_messages[104], expected 162, is " - << last_msg_->signed_messages[104]; - EXPECT_EQ(last_msg_->signed_messages[105], 175) - << "incorrect value for signed_messages[105], expected 175, is " - << last_msg_->signed_messages[105]; - EXPECT_EQ(last_msg_->signed_messages[106], 38) - << "incorrect value for signed_messages[106], expected 38, is " - << last_msg_->signed_messages[106]; - EXPECT_EQ(last_msg_->signed_messages[107], 157) - << "incorrect value for signed_messages[107], expected 157, is " - << last_msg_->signed_messages[107]; - EXPECT_EQ(last_msg_->signed_messages[108], 98) - << "incorrect value for signed_messages[108], expected 98, is " - << last_msg_->signed_messages[108]; - EXPECT_EQ(last_msg_->signed_messages[109], 44) - << "incorrect value for signed_messages[109], expected 44, is " - << last_msg_->signed_messages[109]; - EXPECT_EQ(last_msg_->signed_messages[110], 160) - << "incorrect value for signed_messages[110], expected 160, is " - << last_msg_->signed_messages[110]; - EXPECT_EQ(last_msg_->signed_messages[111], 47) - << "incorrect value for signed_messages[111], expected 47, is " - << last_msg_->signed_messages[111]; - EXPECT_EQ(last_msg_->signed_messages[112], 97) - << "incorrect value for signed_messages[112], expected 97, is " - << last_msg_->signed_messages[112]; - EXPECT_EQ(last_msg_->signed_messages[113], 142) - << "incorrect value for signed_messages[113], expected 142, is " - << last_msg_->signed_messages[113]; - EXPECT_EQ(last_msg_->signed_messages[114], 8) - << "incorrect value for signed_messages[114], expected 8, is " - << last_msg_->signed_messages[114]; - EXPECT_EQ(last_msg_->signed_messages[115], 74) - << "incorrect value for signed_messages[115], expected 74, is " - << last_msg_->signed_messages[115]; - EXPECT_EQ(last_msg_->signed_messages[116], 13) - << "incorrect value for signed_messages[116], expected 13, is " - << last_msg_->signed_messages[116]; - EXPECT_EQ(last_msg_->signed_messages[117], 177) - << "incorrect value for signed_messages[117], expected 177, is " - << last_msg_->signed_messages[117]; - EXPECT_EQ(last_msg_->signed_messages[118], 15) - << "incorrect value for signed_messages[118], expected 15, is " - << last_msg_->signed_messages[118]; - EXPECT_EQ(last_msg_->signed_messages[119], 128) - << "incorrect value for signed_messages[119], expected 128, is " - << last_msg_->signed_messages[119]; - EXPECT_EQ(last_msg_->signed_messages[120], 26) - << "incorrect value for signed_messages[120], expected 26, is " - << last_msg_->signed_messages[120]; - EXPECT_EQ(last_msg_->signed_messages[121], 131) - << "incorrect value for signed_messages[121], expected 131, is " - << last_msg_->signed_messages[121]; - EXPECT_EQ(last_msg_->signed_messages[122], 154) - << "incorrect value for signed_messages[122], expected 154, is " - << last_msg_->signed_messages[122]; - EXPECT_EQ(last_msg_->signed_messages[123], 65) - << "incorrect value for signed_messages[123], expected 65, is " - << last_msg_->signed_messages[123]; - EXPECT_EQ(last_msg_->signed_messages[124], 169) - << "incorrect value for signed_messages[124], expected 169, is " - << last_msg_->signed_messages[124]; - EXPECT_EQ(last_msg_->signed_messages[125], 55) - << "incorrect value for signed_messages[125], expected 55, is " - << last_msg_->signed_messages[125]; - EXPECT_EQ(last_msg_->signed_messages[126], 136) - << "incorrect value for signed_messages[126], expected 136, is " - << last_msg_->signed_messages[126]; - EXPECT_EQ(last_msg_->signed_messages[127], 125) - << "incorrect value for signed_messages[127], expected 125, is " - << last_msg_->signed_messages[127]; - EXPECT_EQ(last_msg_->signed_messages[128], 171) - << "incorrect value for signed_messages[128], expected 171, is " - << last_msg_->signed_messages[128]; - EXPECT_EQ(last_msg_->signed_messages[129], 161) - << "incorrect value for signed_messages[129], expected 161, is " - << last_msg_->signed_messages[129]; - EXPECT_EQ(last_msg_->signed_messages[130], 29) - << "incorrect value for signed_messages[130], expected 29, is " - << last_msg_->signed_messages[130]; - EXPECT_EQ(last_msg_->signed_messages[131], 129) - << "incorrect value for signed_messages[131], expected 129, is " - << last_msg_->signed_messages[131]; - EXPECT_EQ(last_msg_->signed_messages[132], 151) - << "incorrect value for signed_messages[132], expected 151, is " - << last_msg_->signed_messages[132]; - EXPECT_EQ(last_msg_->signed_messages[133], 68) - << "incorrect value for signed_messages[133], expected 68, is " - << last_msg_->signed_messages[133]; - EXPECT_EQ(last_msg_->signed_messages[134], 166) - << "incorrect value for signed_messages[134], expected 166, is " - << last_msg_->signed_messages[134]; - EXPECT_EQ(last_msg_->signed_messages[135], 51) - << "incorrect value for signed_messages[135], expected 51, is " - << last_msg_->signed_messages[135]; - EXPECT_EQ(last_msg_->signed_messages[136], 70) - << "incorrect value for signed_messages[136], expected 70, is " - << last_msg_->signed_messages[136]; - EXPECT_EQ(last_msg_->signed_messages[137], 45) - << "incorrect value for signed_messages[137], expected 45, is " - << last_msg_->signed_messages[137]; - EXPECT_EQ(last_msg_->signed_messages[138], 56) - << "incorrect value for signed_messages[138], expected 56, is " - << last_msg_->signed_messages[138]; - EXPECT_EQ(last_msg_->signed_messages[139], 79) - << "incorrect value for signed_messages[139], expected 79, is " - << last_msg_->signed_messages[139]; - EXPECT_EQ(last_msg_->signed_messages[140], 149) - << "incorrect value for signed_messages[140], expected 149, is " - << last_msg_->signed_messages[140]; - EXPECT_EQ(last_msg_->signed_messages[141], 99) - << "incorrect value for signed_messages[141], expected 99, is " - << last_msg_->signed_messages[141]; - EXPECT_EQ(last_msg_->signed_messages[142], 42) - << "incorrect value for signed_messages[142], expected 42, is " - << last_msg_->signed_messages[142]; - EXPECT_EQ(last_msg_->signed_messages[143], 101) - << "incorrect value for signed_messages[143], expected 101, is " - << last_msg_->signed_messages[143]; - EXPECT_EQ(last_msg_->signed_messages[144], 152) - << "incorrect value for signed_messages[144], expected 152, is " - << last_msg_->signed_messages[144]; - EXPECT_EQ(last_msg_->signed_messages[145], 39) - << "incorrect value for signed_messages[145], expected 39, is " - << last_msg_->signed_messages[145]; - EXPECT_EQ(last_msg_->signed_messages[146], 89) - << "incorrect value for signed_messages[146], expected 89, is " - << last_msg_->signed_messages[146]; - EXPECT_EQ(last_msg_->signed_messages[147], 180) - << "incorrect value for signed_messages[147], expected 180, is " - << last_msg_->signed_messages[147]; - EXPECT_EQ(last_msg_->signed_messages[148], 64) - << "incorrect value for signed_messages[148], expected 64, is " - << last_msg_->signed_messages[148]; - EXPECT_EQ(last_msg_->signed_messages[149], 49) - << "incorrect value for signed_messages[149], expected 49, is " - << last_msg_->signed_messages[149]; - EXPECT_EQ(last_msg_->signed_messages[150], 6) - << "incorrect value for signed_messages[150], expected 6, is " - << last_msg_->signed_messages[150]; - EXPECT_EQ(last_msg_->signed_messages[151], 80) - << "incorrect value for signed_messages[151], expected 80, is " - << last_msg_->signed_messages[151]; - EXPECT_EQ(last_msg_->signed_messages[152], 172) - << "incorrect value for signed_messages[152], expected 172, is " - << last_msg_->signed_messages[152]; - EXPECT_EQ(last_msg_->signed_messages[153], 32) - << "incorrect value for signed_messages[153], expected 32, is " - << last_msg_->signed_messages[153]; - EXPECT_EQ(last_msg_->signed_messages[154], 109) - << "incorrect value for signed_messages[154], expected 109, is " - << last_msg_->signed_messages[154]; - EXPECT_EQ(last_msg_->signed_messages[155], 2) - << "incorrect value for signed_messages[155], expected 2, is " - << last_msg_->signed_messages[155]; - EXPECT_EQ(last_msg_->signed_messages[156], 119) - << "incorrect value for signed_messages[156], expected 119, is " - << last_msg_->signed_messages[156]; - EXPECT_EQ(last_msg_->signed_messages[157], 93) - << "incorrect value for signed_messages[157], expected 93, is " - << last_msg_->signed_messages[157]; - EXPECT_EQ(last_msg_->signed_messages[158], 176) - << "incorrect value for signed_messages[158], expected 176, is " - << last_msg_->signed_messages[158]; - EXPECT_EQ(last_msg_->signed_messages[159], 0) - << "incorrect value for signed_messages[159], expected 0, is " - << last_msg_->signed_messages[159]; - EXPECT_EQ(last_msg_->signed_messages[160], 33) - << "incorrect value for signed_messages[160], expected 33, is " - << last_msg_->signed_messages[160]; - EXPECT_EQ(last_msg_->signed_messages[161], 57) - << "incorrect value for signed_messages[161], expected 57, is " - << last_msg_->signed_messages[161]; - EXPECT_EQ(last_msg_->signed_messages[162], 34) - << "incorrect value for signed_messages[162], expected 34, is " - << last_msg_->signed_messages[162]; - EXPECT_EQ(last_msg_->signed_messages[163], 18) - << "incorrect value for signed_messages[163], expected 18, is " - << last_msg_->signed_messages[163]; - EXPECT_EQ(last_msg_->signed_messages[164], 85) - << "incorrect value for signed_messages[164], expected 85, is " - << last_msg_->signed_messages[164]; - EXPECT_EQ(last_msg_->signed_messages[165], 121) - << "incorrect value for signed_messages[165], expected 121, is " - << last_msg_->signed_messages[165]; - EXPECT_EQ(last_msg_->signed_messages[166], 137) - << "incorrect value for signed_messages[166], expected 137, is " - << last_msg_->signed_messages[166]; - EXPECT_EQ(last_msg_->signed_messages[167], 83) - << "incorrect value for signed_messages[167], expected 83, is " - << last_msg_->signed_messages[167]; - EXPECT_EQ(last_msg_->signed_messages[168], 111) - << "incorrect value for signed_messages[168], expected 111, is " - << last_msg_->signed_messages[168]; - EXPECT_EQ(last_msg_->signed_messages[169], 59) - << "incorrect value for signed_messages[169], expected 59, is " - << last_msg_->signed_messages[169]; - EXPECT_EQ(last_msg_->signed_messages[170], 7) - << "incorrect value for signed_messages[170], expected 7, is " - << last_msg_->signed_messages[170]; - EXPECT_EQ(last_msg_->signed_messages[171], 77) - << "incorrect value for signed_messages[171], expected 77, is " - << last_msg_->signed_messages[171]; - EXPECT_EQ(last_msg_->signed_messages[172], 4) - << "incorrect value for signed_messages[172], expected 4, is " - << last_msg_->signed_messages[172]; - EXPECT_EQ(last_msg_->signed_messages[173], 117) - << "incorrect value for signed_messages[173], expected 117, is " - << last_msg_->signed_messages[173]; - EXPECT_EQ(last_msg_->signed_messages[174], 159) - << "incorrect value for signed_messages[174], expected 159, is " - << last_msg_->signed_messages[174]; - EXPECT_EQ(last_msg_->signed_messages[175], 148) - << "incorrect value for signed_messages[175], expected 148, is " - << last_msg_->signed_messages[175]; - EXPECT_EQ(last_msg_->signed_messages[176], 35) - << "incorrect value for signed_messages[176], expected 35, is " - << last_msg_->signed_messages[176]; - EXPECT_EQ(last_msg_->signed_messages[177], 61) - << "incorrect value for signed_messages[177], expected 61, is " - << last_msg_->signed_messages[177]; - EXPECT_EQ(last_msg_->signed_messages[178], 41) - << "incorrect value for signed_messages[178], expected 41, is " - << last_msg_->signed_messages[178]; - EXPECT_EQ(last_msg_->signed_messages[179], 67) - << "incorrect value for signed_messages[179], expected 67, is " - << last_msg_->signed_messages[179]; - EXPECT_EQ(last_msg_->signed_messages[180], 46) - << "incorrect value for signed_messages[180], expected 46, is " - << last_msg_->signed_messages[180]; - EXPECT_EQ(last_msg_->signed_messages[181], 127) - << "incorrect value for signed_messages[181], expected 127, is " - << last_msg_->signed_messages[181]; - EXPECT_EQ(last_msg_->signed_messages[182], 75) - << "incorrect value for signed_messages[182], expected 75, is " - << last_msg_->signed_messages[182]; - EXPECT_EQ(last_msg_->signed_messages[183], 174) - << "incorrect value for signed_messages[183], expected 174, is " - << last_msg_->signed_messages[183]; EXPECT_EQ(last_msg_->stream_counter, 1) << "incorrect value for stream_counter, expected 1, is " << last_msg_->stream_counter; diff --git a/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc b/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc new file mode 100644 index 0000000000..1a3cc43ff2 --- /dev/null +++ b/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignatureDep.cc @@ -0,0 +1,2335 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include +class Test_legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep0 + : public ::testing::Test, + public sbp::State, + public sbp::IReader, + public sbp::IWriter, + sbp::PayloadHandler { + public: + Test_legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep0() + : ::testing::Test(), + sbp::State(), + sbp::IReader(), + sbp::IWriter(), + sbp::PayloadHandler(this), + last_msg_storage_(), + last_msg_( + reinterpret_cast(last_msg_storage_)), + last_msg_len_(), + last_sender_id_(), + n_callbacks_logged_(), + dummy_wr_(), + dummy_rd_(), + dummy_buff_() { + set_reader(this); + set_writer(this); + } + + s32 read(uint8_t *buf, const uint32_t n) override { + uint32_t real_n = n; + memcpy(buf, dummy_buff_ + dummy_rd_, real_n); + dummy_rd_ += real_n; + return (s32)real_n; + } + + s32 write(const uint8_t *buf, uint32_t n) override { + uint32_t real_n = n; + memcpy(dummy_buff_ + dummy_wr_, buf, real_n); + dummy_wr_ += real_n; + return (s32)real_n; + } + + protected: + void handle_sbp_msg(uint16_t sender_id, uint8_t message_length, + const msg_ecdsa_signature_dep_t &msg) override { + memcpy(last_msg_storage_, &msg, message_length); + last_msg_len_ = message_length; + last_sender_id_ = sender_id; + n_callbacks_logged_++; + } + + uint8_t last_msg_storage_[SBP_MAX_PAYLOAD_LEN]; + msg_ecdsa_signature_dep_t *last_msg_; + uint8_t last_msg_len_; + uint16_t last_sender_id_; + size_t n_callbacks_logged_; + uint32_t dummy_wr_; + uint32_t dummy_rd_; + uint8_t dummy_buff_[1024]; +}; + +TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignatureDep0, Test) { + uint8_t encoded_frame[] = { + 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, + 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, + 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, + 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, + 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, + 6, 7, 10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, + 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, + 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, + 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, + 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, + 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, + 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, + 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, + 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, + 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, + 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, + 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, + 41, 67, 46, 127, 75, 174, 97, 172, + }; + + uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; + uint8_t test_msg_len = 0; + msg_ecdsa_signature_dep_t *test_msg = + (msg_ecdsa_signature_dep_t *)test_msg_storage; + test_msg_len = (uint8_t)sizeof(*test_msg); + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->certificate_id[0])); + } + test_msg->certificate_id[0] = 1; + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->certificate_id[0])); + } + test_msg->certificate_id[1] = 2; + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->certificate_id[0])); + } + test_msg->certificate_id[2] = 3; + if (sizeof(test_msg->certificate_id) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->certificate_id[0])); + } + test_msg->certificate_id[3] = 4; + test_msg->flags = 0; + test_msg->on_demand_counter = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[0] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[1] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[2] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[3] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[4] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[5] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[6] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[7] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[8] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[9] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[10] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[11] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[12] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[13] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[14] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[15] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[16] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[17] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[18] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[19] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[20] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[21] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[22] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[23] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[24] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[25] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[26] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[27] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[28] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[29] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[30] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[31] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[32] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[33] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[34] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[35] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[36] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[37] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[38] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[39] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[40] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[41] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[42] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[43] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[44] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[45] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[46] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[47] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[48] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[49] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[50] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[51] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[52] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[53] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[54] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[55] = 7; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[56] = 0; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[57] = 1; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[58] = 2; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[59] = 3; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[60] = 4; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[61] = 5; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[62] = 6; + if (sizeof(test_msg->signature) == 0) { + // Cope with variable length arrays + test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); + } + test_msg->signature[63] = 7; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[0] = 10; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[1] = 21; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[2] = 23; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[3] = 63; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[4] = 140; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[5] = 37; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[6] = 130; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[7] = 106; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[8] = 28; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[9] = 40; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[10] = 165; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[11] = 179; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[12] = 73; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[13] = 178; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[14] = 60; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[15] = 126; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[16] = 114; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[17] = 78; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[18] = 113; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[19] = 27; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[20] = 95; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[21] = 3; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[22] = 62; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[23] = 104; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[24] = 145; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[25] = 96; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[26] = 19; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[27] = 92; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[28] = 123; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[29] = 14; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[30] = 90; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[31] = 153; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[32] = 183; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[33] = 9; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[34] = 72; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[35] = 81; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[36] = 118; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[37] = 112; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[38] = 124; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[39] = 16; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[40] = 182; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[41] = 76; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[42] = 146; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[43] = 115; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[44] = 58; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[45] = 144; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[46] = 17; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[47] = 105; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[48] = 66; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[49] = 31; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[50] = 135; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[51] = 54; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[52] = 100; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[53] = 84; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[54] = 181; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[55] = 103; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[56] = 11; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[57] = 88; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[58] = 133; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[59] = 155; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[60] = 167; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[61] = 173; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[62] = 143; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[63] = 86; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[64] = 158; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[65] = 20; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[66] = 168; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[67] = 132; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[68] = 141; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[69] = 102; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[70] = 50; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[71] = 48; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[72] = 71; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[73] = 147; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[74] = 53; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[75] = 87; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[76] = 1; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[77] = 108; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[78] = 138; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[79] = 36; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[80] = 134; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[81] = 139; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[82] = 163; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[83] = 82; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[84] = 43; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[85] = 52; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[86] = 150; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[87] = 12; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[88] = 30; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[89] = 110; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[90] = 156; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[91] = 107; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[92] = 120; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[93] = 91; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[94] = 122; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[95] = 69; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[96] = 164; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[97] = 170; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[98] = 116; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[99] = 25; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[100] = 94; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[101] = 5; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[102] = 22; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[103] = 24; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[104] = 162; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[105] = 175; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[106] = 38; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[107] = 157; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[108] = 98; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[109] = 44; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[110] = 160; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[111] = 47; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[112] = 97; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[113] = 142; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[114] = 8; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[115] = 74; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[116] = 13; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[117] = 177; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[118] = 15; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[119] = 128; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[120] = 26; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[121] = 131; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[122] = 154; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[123] = 65; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[124] = 169; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[125] = 55; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[126] = 136; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[127] = 125; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[128] = 171; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[129] = 161; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[130] = 29; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[131] = 129; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[132] = 151; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[133] = 68; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[134] = 166; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[135] = 51; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[136] = 70; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[137] = 45; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[138] = 56; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[139] = 79; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[140] = 149; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[141] = 99; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[142] = 42; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[143] = 101; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[144] = 152; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[145] = 39; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[146] = 89; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[147] = 180; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[148] = 64; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[149] = 49; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[150] = 6; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[151] = 80; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[152] = 172; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[153] = 32; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[154] = 109; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[155] = 2; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[156] = 119; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[157] = 93; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[158] = 176; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[159] = 0; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[160] = 33; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[161] = 57; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[162] = 34; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[163] = 18; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[164] = 85; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[165] = 121; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[166] = 137; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[167] = 83; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[168] = 111; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[169] = 59; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[170] = 7; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[171] = 77; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[172] = 4; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[173] = 117; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[174] = 159; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[175] = 148; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[176] = 35; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[177] = 61; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[178] = 41; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[179] = 67; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[180] = 46; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[181] = 127; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[182] = 75; + if (sizeof(test_msg->signed_messages) == 0) { + // Cope with variable length arrays + test_msg_len = + (uint8_t)(test_msg_len + sizeof(test_msg->signed_messages[0])); + } + test_msg->signed_messages[183] = 174; + test_msg->stream_counter = 1; + + EXPECT_EQ(send_message(0xC06, 66, test_msg_len, test_msg_storage), SBP_OK); + + EXPECT_EQ(dummy_wr_, sizeof(encoded_frame)); + EXPECT_EQ(memcmp(dummy_buff_, encoded_frame, sizeof(encoded_frame)), 0); + + while (dummy_rd_ < dummy_wr_) { + process(); + } + + EXPECT_EQ(n_callbacks_logged_, 1); + EXPECT_EQ(last_sender_id_, 66); + EXPECT_EQ(last_msg_len_, test_msg_len); + EXPECT_EQ(last_msg_->certificate_id[0], 1) + << "incorrect value for certificate_id[0], expected 1, is " + << last_msg_->certificate_id[0]; + EXPECT_EQ(last_msg_->certificate_id[1], 2) + << "incorrect value for certificate_id[1], expected 2, is " + << last_msg_->certificate_id[1]; + EXPECT_EQ(last_msg_->certificate_id[2], 3) + << "incorrect value for certificate_id[2], expected 3, is " + << last_msg_->certificate_id[2]; + EXPECT_EQ(last_msg_->certificate_id[3], 4) + << "incorrect value for certificate_id[3], expected 4, is " + << last_msg_->certificate_id[3]; + EXPECT_EQ(last_msg_->flags, 0) + << "incorrect value for flags, expected 0, is " << last_msg_->flags; + EXPECT_EQ(last_msg_->on_demand_counter, 2) + << "incorrect value for on_demand_counter, expected 2, is " + << last_msg_->on_demand_counter; + EXPECT_EQ(last_msg_->signature[0], 0) + << "incorrect value for signature[0], expected 0, is " + << last_msg_->signature[0]; + EXPECT_EQ(last_msg_->signature[1], 1) + << "incorrect value for signature[1], expected 1, is " + << last_msg_->signature[1]; + EXPECT_EQ(last_msg_->signature[2], 2) + << "incorrect value for signature[2], expected 2, is " + << last_msg_->signature[2]; + EXPECT_EQ(last_msg_->signature[3], 3) + << "incorrect value for signature[3], expected 3, is " + << last_msg_->signature[3]; + EXPECT_EQ(last_msg_->signature[4], 4) + << "incorrect value for signature[4], expected 4, is " + << last_msg_->signature[4]; + EXPECT_EQ(last_msg_->signature[5], 5) + << "incorrect value for signature[5], expected 5, is " + << last_msg_->signature[5]; + EXPECT_EQ(last_msg_->signature[6], 6) + << "incorrect value for signature[6], expected 6, is " + << last_msg_->signature[6]; + EXPECT_EQ(last_msg_->signature[7], 7) + << "incorrect value for signature[7], expected 7, is " + << last_msg_->signature[7]; + EXPECT_EQ(last_msg_->signature[8], 0) + << "incorrect value for signature[8], expected 0, is " + << last_msg_->signature[8]; + EXPECT_EQ(last_msg_->signature[9], 1) + << "incorrect value for signature[9], expected 1, is " + << last_msg_->signature[9]; + EXPECT_EQ(last_msg_->signature[10], 2) + << "incorrect value for signature[10], expected 2, is " + << last_msg_->signature[10]; + EXPECT_EQ(last_msg_->signature[11], 3) + << "incorrect value for signature[11], expected 3, is " + << last_msg_->signature[11]; + EXPECT_EQ(last_msg_->signature[12], 4) + << "incorrect value for signature[12], expected 4, is " + << last_msg_->signature[12]; + EXPECT_EQ(last_msg_->signature[13], 5) + << "incorrect value for signature[13], expected 5, is " + << last_msg_->signature[13]; + EXPECT_EQ(last_msg_->signature[14], 6) + << "incorrect value for signature[14], expected 6, is " + << last_msg_->signature[14]; + EXPECT_EQ(last_msg_->signature[15], 7) + << "incorrect value for signature[15], expected 7, is " + << last_msg_->signature[15]; + EXPECT_EQ(last_msg_->signature[16], 0) + << "incorrect value for signature[16], expected 0, is " + << last_msg_->signature[16]; + EXPECT_EQ(last_msg_->signature[17], 1) + << "incorrect value for signature[17], expected 1, is " + << last_msg_->signature[17]; + EXPECT_EQ(last_msg_->signature[18], 2) + << "incorrect value for signature[18], expected 2, is " + << last_msg_->signature[18]; + EXPECT_EQ(last_msg_->signature[19], 3) + << "incorrect value for signature[19], expected 3, is " + << last_msg_->signature[19]; + EXPECT_EQ(last_msg_->signature[20], 4) + << "incorrect value for signature[20], expected 4, is " + << last_msg_->signature[20]; + EXPECT_EQ(last_msg_->signature[21], 5) + << "incorrect value for signature[21], expected 5, is " + << last_msg_->signature[21]; + EXPECT_EQ(last_msg_->signature[22], 6) + << "incorrect value for signature[22], expected 6, is " + << last_msg_->signature[22]; + EXPECT_EQ(last_msg_->signature[23], 7) + << "incorrect value for signature[23], expected 7, is " + << last_msg_->signature[23]; + EXPECT_EQ(last_msg_->signature[24], 0) + << "incorrect value for signature[24], expected 0, is " + << last_msg_->signature[24]; + EXPECT_EQ(last_msg_->signature[25], 1) + << "incorrect value for signature[25], expected 1, is " + << last_msg_->signature[25]; + EXPECT_EQ(last_msg_->signature[26], 2) + << "incorrect value for signature[26], expected 2, is " + << last_msg_->signature[26]; + EXPECT_EQ(last_msg_->signature[27], 3) + << "incorrect value for signature[27], expected 3, is " + << last_msg_->signature[27]; + EXPECT_EQ(last_msg_->signature[28], 4) + << "incorrect value for signature[28], expected 4, is " + << last_msg_->signature[28]; + EXPECT_EQ(last_msg_->signature[29], 5) + << "incorrect value for signature[29], expected 5, is " + << last_msg_->signature[29]; + EXPECT_EQ(last_msg_->signature[30], 6) + << "incorrect value for signature[30], expected 6, is " + << last_msg_->signature[30]; + EXPECT_EQ(last_msg_->signature[31], 7) + << "incorrect value for signature[31], expected 7, is " + << last_msg_->signature[31]; + EXPECT_EQ(last_msg_->signature[32], 0) + << "incorrect value for signature[32], expected 0, is " + << last_msg_->signature[32]; + EXPECT_EQ(last_msg_->signature[33], 1) + << "incorrect value for signature[33], expected 1, is " + << last_msg_->signature[33]; + EXPECT_EQ(last_msg_->signature[34], 2) + << "incorrect value for signature[34], expected 2, is " + << last_msg_->signature[34]; + EXPECT_EQ(last_msg_->signature[35], 3) + << "incorrect value for signature[35], expected 3, is " + << last_msg_->signature[35]; + EXPECT_EQ(last_msg_->signature[36], 4) + << "incorrect value for signature[36], expected 4, is " + << last_msg_->signature[36]; + EXPECT_EQ(last_msg_->signature[37], 5) + << "incorrect value for signature[37], expected 5, is " + << last_msg_->signature[37]; + EXPECT_EQ(last_msg_->signature[38], 6) + << "incorrect value for signature[38], expected 6, is " + << last_msg_->signature[38]; + EXPECT_EQ(last_msg_->signature[39], 7) + << "incorrect value for signature[39], expected 7, is " + << last_msg_->signature[39]; + EXPECT_EQ(last_msg_->signature[40], 0) + << "incorrect value for signature[40], expected 0, is " + << last_msg_->signature[40]; + EXPECT_EQ(last_msg_->signature[41], 1) + << "incorrect value for signature[41], expected 1, is " + << last_msg_->signature[41]; + EXPECT_EQ(last_msg_->signature[42], 2) + << "incorrect value for signature[42], expected 2, is " + << last_msg_->signature[42]; + EXPECT_EQ(last_msg_->signature[43], 3) + << "incorrect value for signature[43], expected 3, is " + << last_msg_->signature[43]; + EXPECT_EQ(last_msg_->signature[44], 4) + << "incorrect value for signature[44], expected 4, is " + << last_msg_->signature[44]; + EXPECT_EQ(last_msg_->signature[45], 5) + << "incorrect value for signature[45], expected 5, is " + << last_msg_->signature[45]; + EXPECT_EQ(last_msg_->signature[46], 6) + << "incorrect value for signature[46], expected 6, is " + << last_msg_->signature[46]; + EXPECT_EQ(last_msg_->signature[47], 7) + << "incorrect value for signature[47], expected 7, is " + << last_msg_->signature[47]; + EXPECT_EQ(last_msg_->signature[48], 0) + << "incorrect value for signature[48], expected 0, is " + << last_msg_->signature[48]; + EXPECT_EQ(last_msg_->signature[49], 1) + << "incorrect value for signature[49], expected 1, is " + << last_msg_->signature[49]; + EXPECT_EQ(last_msg_->signature[50], 2) + << "incorrect value for signature[50], expected 2, is " + << last_msg_->signature[50]; + EXPECT_EQ(last_msg_->signature[51], 3) + << "incorrect value for signature[51], expected 3, is " + << last_msg_->signature[51]; + EXPECT_EQ(last_msg_->signature[52], 4) + << "incorrect value for signature[52], expected 4, is " + << last_msg_->signature[52]; + EXPECT_EQ(last_msg_->signature[53], 5) + << "incorrect value for signature[53], expected 5, is " + << last_msg_->signature[53]; + EXPECT_EQ(last_msg_->signature[54], 6) + << "incorrect value for signature[54], expected 6, is " + << last_msg_->signature[54]; + EXPECT_EQ(last_msg_->signature[55], 7) + << "incorrect value for signature[55], expected 7, is " + << last_msg_->signature[55]; + EXPECT_EQ(last_msg_->signature[56], 0) + << "incorrect value for signature[56], expected 0, is " + << last_msg_->signature[56]; + EXPECT_EQ(last_msg_->signature[57], 1) + << "incorrect value for signature[57], expected 1, is " + << last_msg_->signature[57]; + EXPECT_EQ(last_msg_->signature[58], 2) + << "incorrect value for signature[58], expected 2, is " + << last_msg_->signature[58]; + EXPECT_EQ(last_msg_->signature[59], 3) + << "incorrect value for signature[59], expected 3, is " + << last_msg_->signature[59]; + EXPECT_EQ(last_msg_->signature[60], 4) + << "incorrect value for signature[60], expected 4, is " + << last_msg_->signature[60]; + EXPECT_EQ(last_msg_->signature[61], 5) + << "incorrect value for signature[61], expected 5, is " + << last_msg_->signature[61]; + EXPECT_EQ(last_msg_->signature[62], 6) + << "incorrect value for signature[62], expected 6, is " + << last_msg_->signature[62]; + EXPECT_EQ(last_msg_->signature[63], 7) + << "incorrect value for signature[63], expected 7, is " + << last_msg_->signature[63]; + EXPECT_EQ(last_msg_->signed_messages[0], 10) + << "incorrect value for signed_messages[0], expected 10, is " + << last_msg_->signed_messages[0]; + EXPECT_EQ(last_msg_->signed_messages[1], 21) + << "incorrect value for signed_messages[1], expected 21, is " + << last_msg_->signed_messages[1]; + EXPECT_EQ(last_msg_->signed_messages[2], 23) + << "incorrect value for signed_messages[2], expected 23, is " + << last_msg_->signed_messages[2]; + EXPECT_EQ(last_msg_->signed_messages[3], 63) + << "incorrect value for signed_messages[3], expected 63, is " + << last_msg_->signed_messages[3]; + EXPECT_EQ(last_msg_->signed_messages[4], 140) + << "incorrect value for signed_messages[4], expected 140, is " + << last_msg_->signed_messages[4]; + EXPECT_EQ(last_msg_->signed_messages[5], 37) + << "incorrect value for signed_messages[5], expected 37, is " + << last_msg_->signed_messages[5]; + EXPECT_EQ(last_msg_->signed_messages[6], 130) + << "incorrect value for signed_messages[6], expected 130, is " + << last_msg_->signed_messages[6]; + EXPECT_EQ(last_msg_->signed_messages[7], 106) + << "incorrect value for signed_messages[7], expected 106, is " + << last_msg_->signed_messages[7]; + EXPECT_EQ(last_msg_->signed_messages[8], 28) + << "incorrect value for signed_messages[8], expected 28, is " + << last_msg_->signed_messages[8]; + EXPECT_EQ(last_msg_->signed_messages[9], 40) + << "incorrect value for signed_messages[9], expected 40, is " + << last_msg_->signed_messages[9]; + EXPECT_EQ(last_msg_->signed_messages[10], 165) + << "incorrect value for signed_messages[10], expected 165, is " + << last_msg_->signed_messages[10]; + EXPECT_EQ(last_msg_->signed_messages[11], 179) + << "incorrect value for signed_messages[11], expected 179, is " + << last_msg_->signed_messages[11]; + EXPECT_EQ(last_msg_->signed_messages[12], 73) + << "incorrect value for signed_messages[12], expected 73, is " + << last_msg_->signed_messages[12]; + EXPECT_EQ(last_msg_->signed_messages[13], 178) + << "incorrect value for signed_messages[13], expected 178, is " + << last_msg_->signed_messages[13]; + EXPECT_EQ(last_msg_->signed_messages[14], 60) + << "incorrect value for signed_messages[14], expected 60, is " + << last_msg_->signed_messages[14]; + EXPECT_EQ(last_msg_->signed_messages[15], 126) + << "incorrect value for signed_messages[15], expected 126, is " + << last_msg_->signed_messages[15]; + EXPECT_EQ(last_msg_->signed_messages[16], 114) + << "incorrect value for signed_messages[16], expected 114, is " + << last_msg_->signed_messages[16]; + EXPECT_EQ(last_msg_->signed_messages[17], 78) + << "incorrect value for signed_messages[17], expected 78, is " + << last_msg_->signed_messages[17]; + EXPECT_EQ(last_msg_->signed_messages[18], 113) + << "incorrect value for signed_messages[18], expected 113, is " + << last_msg_->signed_messages[18]; + EXPECT_EQ(last_msg_->signed_messages[19], 27) + << "incorrect value for signed_messages[19], expected 27, is " + << last_msg_->signed_messages[19]; + EXPECT_EQ(last_msg_->signed_messages[20], 95) + << "incorrect value for signed_messages[20], expected 95, is " + << last_msg_->signed_messages[20]; + EXPECT_EQ(last_msg_->signed_messages[21], 3) + << "incorrect value for signed_messages[21], expected 3, is " + << last_msg_->signed_messages[21]; + EXPECT_EQ(last_msg_->signed_messages[22], 62) + << "incorrect value for signed_messages[22], expected 62, is " + << last_msg_->signed_messages[22]; + EXPECT_EQ(last_msg_->signed_messages[23], 104) + << "incorrect value for signed_messages[23], expected 104, is " + << last_msg_->signed_messages[23]; + EXPECT_EQ(last_msg_->signed_messages[24], 145) + << "incorrect value for signed_messages[24], expected 145, is " + << last_msg_->signed_messages[24]; + EXPECT_EQ(last_msg_->signed_messages[25], 96) + << "incorrect value for signed_messages[25], expected 96, is " + << last_msg_->signed_messages[25]; + EXPECT_EQ(last_msg_->signed_messages[26], 19) + << "incorrect value for signed_messages[26], expected 19, is " + << last_msg_->signed_messages[26]; + EXPECT_EQ(last_msg_->signed_messages[27], 92) + << "incorrect value for signed_messages[27], expected 92, is " + << last_msg_->signed_messages[27]; + EXPECT_EQ(last_msg_->signed_messages[28], 123) + << "incorrect value for signed_messages[28], expected 123, is " + << last_msg_->signed_messages[28]; + EXPECT_EQ(last_msg_->signed_messages[29], 14) + << "incorrect value for signed_messages[29], expected 14, is " + << last_msg_->signed_messages[29]; + EXPECT_EQ(last_msg_->signed_messages[30], 90) + << "incorrect value for signed_messages[30], expected 90, is " + << last_msg_->signed_messages[30]; + EXPECT_EQ(last_msg_->signed_messages[31], 153) + << "incorrect value for signed_messages[31], expected 153, is " + << last_msg_->signed_messages[31]; + EXPECT_EQ(last_msg_->signed_messages[32], 183) + << "incorrect value for signed_messages[32], expected 183, is " + << last_msg_->signed_messages[32]; + EXPECT_EQ(last_msg_->signed_messages[33], 9) + << "incorrect value for signed_messages[33], expected 9, is " + << last_msg_->signed_messages[33]; + EXPECT_EQ(last_msg_->signed_messages[34], 72) + << "incorrect value for signed_messages[34], expected 72, is " + << last_msg_->signed_messages[34]; + EXPECT_EQ(last_msg_->signed_messages[35], 81) + << "incorrect value for signed_messages[35], expected 81, is " + << last_msg_->signed_messages[35]; + EXPECT_EQ(last_msg_->signed_messages[36], 118) + << "incorrect value for signed_messages[36], expected 118, is " + << last_msg_->signed_messages[36]; + EXPECT_EQ(last_msg_->signed_messages[37], 112) + << "incorrect value for signed_messages[37], expected 112, is " + << last_msg_->signed_messages[37]; + EXPECT_EQ(last_msg_->signed_messages[38], 124) + << "incorrect value for signed_messages[38], expected 124, is " + << last_msg_->signed_messages[38]; + EXPECT_EQ(last_msg_->signed_messages[39], 16) + << "incorrect value for signed_messages[39], expected 16, is " + << last_msg_->signed_messages[39]; + EXPECT_EQ(last_msg_->signed_messages[40], 182) + << "incorrect value for signed_messages[40], expected 182, is " + << last_msg_->signed_messages[40]; + EXPECT_EQ(last_msg_->signed_messages[41], 76) + << "incorrect value for signed_messages[41], expected 76, is " + << last_msg_->signed_messages[41]; + EXPECT_EQ(last_msg_->signed_messages[42], 146) + << "incorrect value for signed_messages[42], expected 146, is " + << last_msg_->signed_messages[42]; + EXPECT_EQ(last_msg_->signed_messages[43], 115) + << "incorrect value for signed_messages[43], expected 115, is " + << last_msg_->signed_messages[43]; + EXPECT_EQ(last_msg_->signed_messages[44], 58) + << "incorrect value for signed_messages[44], expected 58, is " + << last_msg_->signed_messages[44]; + EXPECT_EQ(last_msg_->signed_messages[45], 144) + << "incorrect value for signed_messages[45], expected 144, is " + << last_msg_->signed_messages[45]; + EXPECT_EQ(last_msg_->signed_messages[46], 17) + << "incorrect value for signed_messages[46], expected 17, is " + << last_msg_->signed_messages[46]; + EXPECT_EQ(last_msg_->signed_messages[47], 105) + << "incorrect value for signed_messages[47], expected 105, is " + << last_msg_->signed_messages[47]; + EXPECT_EQ(last_msg_->signed_messages[48], 66) + << "incorrect value for signed_messages[48], expected 66, is " + << last_msg_->signed_messages[48]; + EXPECT_EQ(last_msg_->signed_messages[49], 31) + << "incorrect value for signed_messages[49], expected 31, is " + << last_msg_->signed_messages[49]; + EXPECT_EQ(last_msg_->signed_messages[50], 135) + << "incorrect value for signed_messages[50], expected 135, is " + << last_msg_->signed_messages[50]; + EXPECT_EQ(last_msg_->signed_messages[51], 54) + << "incorrect value for signed_messages[51], expected 54, is " + << last_msg_->signed_messages[51]; + EXPECT_EQ(last_msg_->signed_messages[52], 100) + << "incorrect value for signed_messages[52], expected 100, is " + << last_msg_->signed_messages[52]; + EXPECT_EQ(last_msg_->signed_messages[53], 84) + << "incorrect value for signed_messages[53], expected 84, is " + << last_msg_->signed_messages[53]; + EXPECT_EQ(last_msg_->signed_messages[54], 181) + << "incorrect value for signed_messages[54], expected 181, is " + << last_msg_->signed_messages[54]; + EXPECT_EQ(last_msg_->signed_messages[55], 103) + << "incorrect value for signed_messages[55], expected 103, is " + << last_msg_->signed_messages[55]; + EXPECT_EQ(last_msg_->signed_messages[56], 11) + << "incorrect value for signed_messages[56], expected 11, is " + << last_msg_->signed_messages[56]; + EXPECT_EQ(last_msg_->signed_messages[57], 88) + << "incorrect value for signed_messages[57], expected 88, is " + << last_msg_->signed_messages[57]; + EXPECT_EQ(last_msg_->signed_messages[58], 133) + << "incorrect value for signed_messages[58], expected 133, is " + << last_msg_->signed_messages[58]; + EXPECT_EQ(last_msg_->signed_messages[59], 155) + << "incorrect value for signed_messages[59], expected 155, is " + << last_msg_->signed_messages[59]; + EXPECT_EQ(last_msg_->signed_messages[60], 167) + << "incorrect value for signed_messages[60], expected 167, is " + << last_msg_->signed_messages[60]; + EXPECT_EQ(last_msg_->signed_messages[61], 173) + << "incorrect value for signed_messages[61], expected 173, is " + << last_msg_->signed_messages[61]; + EXPECT_EQ(last_msg_->signed_messages[62], 143) + << "incorrect value for signed_messages[62], expected 143, is " + << last_msg_->signed_messages[62]; + EXPECT_EQ(last_msg_->signed_messages[63], 86) + << "incorrect value for signed_messages[63], expected 86, is " + << last_msg_->signed_messages[63]; + EXPECT_EQ(last_msg_->signed_messages[64], 158) + << "incorrect value for signed_messages[64], expected 158, is " + << last_msg_->signed_messages[64]; + EXPECT_EQ(last_msg_->signed_messages[65], 20) + << "incorrect value for signed_messages[65], expected 20, is " + << last_msg_->signed_messages[65]; + EXPECT_EQ(last_msg_->signed_messages[66], 168) + << "incorrect value for signed_messages[66], expected 168, is " + << last_msg_->signed_messages[66]; + EXPECT_EQ(last_msg_->signed_messages[67], 132) + << "incorrect value for signed_messages[67], expected 132, is " + << last_msg_->signed_messages[67]; + EXPECT_EQ(last_msg_->signed_messages[68], 141) + << "incorrect value for signed_messages[68], expected 141, is " + << last_msg_->signed_messages[68]; + EXPECT_EQ(last_msg_->signed_messages[69], 102) + << "incorrect value for signed_messages[69], expected 102, is " + << last_msg_->signed_messages[69]; + EXPECT_EQ(last_msg_->signed_messages[70], 50) + << "incorrect value for signed_messages[70], expected 50, is " + << last_msg_->signed_messages[70]; + EXPECT_EQ(last_msg_->signed_messages[71], 48) + << "incorrect value for signed_messages[71], expected 48, is " + << last_msg_->signed_messages[71]; + EXPECT_EQ(last_msg_->signed_messages[72], 71) + << "incorrect value for signed_messages[72], expected 71, is " + << last_msg_->signed_messages[72]; + EXPECT_EQ(last_msg_->signed_messages[73], 147) + << "incorrect value for signed_messages[73], expected 147, is " + << last_msg_->signed_messages[73]; + EXPECT_EQ(last_msg_->signed_messages[74], 53) + << "incorrect value for signed_messages[74], expected 53, is " + << last_msg_->signed_messages[74]; + EXPECT_EQ(last_msg_->signed_messages[75], 87) + << "incorrect value for signed_messages[75], expected 87, is " + << last_msg_->signed_messages[75]; + EXPECT_EQ(last_msg_->signed_messages[76], 1) + << "incorrect value for signed_messages[76], expected 1, is " + << last_msg_->signed_messages[76]; + EXPECT_EQ(last_msg_->signed_messages[77], 108) + << "incorrect value for signed_messages[77], expected 108, is " + << last_msg_->signed_messages[77]; + EXPECT_EQ(last_msg_->signed_messages[78], 138) + << "incorrect value for signed_messages[78], expected 138, is " + << last_msg_->signed_messages[78]; + EXPECT_EQ(last_msg_->signed_messages[79], 36) + << "incorrect value for signed_messages[79], expected 36, is " + << last_msg_->signed_messages[79]; + EXPECT_EQ(last_msg_->signed_messages[80], 134) + << "incorrect value for signed_messages[80], expected 134, is " + << last_msg_->signed_messages[80]; + EXPECT_EQ(last_msg_->signed_messages[81], 139) + << "incorrect value for signed_messages[81], expected 139, is " + << last_msg_->signed_messages[81]; + EXPECT_EQ(last_msg_->signed_messages[82], 163) + << "incorrect value for signed_messages[82], expected 163, is " + << last_msg_->signed_messages[82]; + EXPECT_EQ(last_msg_->signed_messages[83], 82) + << "incorrect value for signed_messages[83], expected 82, is " + << last_msg_->signed_messages[83]; + EXPECT_EQ(last_msg_->signed_messages[84], 43) + << "incorrect value for signed_messages[84], expected 43, is " + << last_msg_->signed_messages[84]; + EXPECT_EQ(last_msg_->signed_messages[85], 52) + << "incorrect value for signed_messages[85], expected 52, is " + << last_msg_->signed_messages[85]; + EXPECT_EQ(last_msg_->signed_messages[86], 150) + << "incorrect value for signed_messages[86], expected 150, is " + << last_msg_->signed_messages[86]; + EXPECT_EQ(last_msg_->signed_messages[87], 12) + << "incorrect value for signed_messages[87], expected 12, is " + << last_msg_->signed_messages[87]; + EXPECT_EQ(last_msg_->signed_messages[88], 30) + << "incorrect value for signed_messages[88], expected 30, is " + << last_msg_->signed_messages[88]; + EXPECT_EQ(last_msg_->signed_messages[89], 110) + << "incorrect value for signed_messages[89], expected 110, is " + << last_msg_->signed_messages[89]; + EXPECT_EQ(last_msg_->signed_messages[90], 156) + << "incorrect value for signed_messages[90], expected 156, is " + << last_msg_->signed_messages[90]; + EXPECT_EQ(last_msg_->signed_messages[91], 107) + << "incorrect value for signed_messages[91], expected 107, is " + << last_msg_->signed_messages[91]; + EXPECT_EQ(last_msg_->signed_messages[92], 120) + << "incorrect value for signed_messages[92], expected 120, is " + << last_msg_->signed_messages[92]; + EXPECT_EQ(last_msg_->signed_messages[93], 91) + << "incorrect value for signed_messages[93], expected 91, is " + << last_msg_->signed_messages[93]; + EXPECT_EQ(last_msg_->signed_messages[94], 122) + << "incorrect value for signed_messages[94], expected 122, is " + << last_msg_->signed_messages[94]; + EXPECT_EQ(last_msg_->signed_messages[95], 69) + << "incorrect value for signed_messages[95], expected 69, is " + << last_msg_->signed_messages[95]; + EXPECT_EQ(last_msg_->signed_messages[96], 164) + << "incorrect value for signed_messages[96], expected 164, is " + << last_msg_->signed_messages[96]; + EXPECT_EQ(last_msg_->signed_messages[97], 170) + << "incorrect value for signed_messages[97], expected 170, is " + << last_msg_->signed_messages[97]; + EXPECT_EQ(last_msg_->signed_messages[98], 116) + << "incorrect value for signed_messages[98], expected 116, is " + << last_msg_->signed_messages[98]; + EXPECT_EQ(last_msg_->signed_messages[99], 25) + << "incorrect value for signed_messages[99], expected 25, is " + << last_msg_->signed_messages[99]; + EXPECT_EQ(last_msg_->signed_messages[100], 94) + << "incorrect value for signed_messages[100], expected 94, is " + << last_msg_->signed_messages[100]; + EXPECT_EQ(last_msg_->signed_messages[101], 5) + << "incorrect value for signed_messages[101], expected 5, is " + << last_msg_->signed_messages[101]; + EXPECT_EQ(last_msg_->signed_messages[102], 22) + << "incorrect value for signed_messages[102], expected 22, is " + << last_msg_->signed_messages[102]; + EXPECT_EQ(last_msg_->signed_messages[103], 24) + << "incorrect value for signed_messages[103], expected 24, is " + << last_msg_->signed_messages[103]; + EXPECT_EQ(last_msg_->signed_messages[104], 162) + << "incorrect value for signed_messages[104], expected 162, is " + << last_msg_->signed_messages[104]; + EXPECT_EQ(last_msg_->signed_messages[105], 175) + << "incorrect value for signed_messages[105], expected 175, is " + << last_msg_->signed_messages[105]; + EXPECT_EQ(last_msg_->signed_messages[106], 38) + << "incorrect value for signed_messages[106], expected 38, is " + << last_msg_->signed_messages[106]; + EXPECT_EQ(last_msg_->signed_messages[107], 157) + << "incorrect value for signed_messages[107], expected 157, is " + << last_msg_->signed_messages[107]; + EXPECT_EQ(last_msg_->signed_messages[108], 98) + << "incorrect value for signed_messages[108], expected 98, is " + << last_msg_->signed_messages[108]; + EXPECT_EQ(last_msg_->signed_messages[109], 44) + << "incorrect value for signed_messages[109], expected 44, is " + << last_msg_->signed_messages[109]; + EXPECT_EQ(last_msg_->signed_messages[110], 160) + << "incorrect value for signed_messages[110], expected 160, is " + << last_msg_->signed_messages[110]; + EXPECT_EQ(last_msg_->signed_messages[111], 47) + << "incorrect value for signed_messages[111], expected 47, is " + << last_msg_->signed_messages[111]; + EXPECT_EQ(last_msg_->signed_messages[112], 97) + << "incorrect value for signed_messages[112], expected 97, is " + << last_msg_->signed_messages[112]; + EXPECT_EQ(last_msg_->signed_messages[113], 142) + << "incorrect value for signed_messages[113], expected 142, is " + << last_msg_->signed_messages[113]; + EXPECT_EQ(last_msg_->signed_messages[114], 8) + << "incorrect value for signed_messages[114], expected 8, is " + << last_msg_->signed_messages[114]; + EXPECT_EQ(last_msg_->signed_messages[115], 74) + << "incorrect value for signed_messages[115], expected 74, is " + << last_msg_->signed_messages[115]; + EXPECT_EQ(last_msg_->signed_messages[116], 13) + << "incorrect value for signed_messages[116], expected 13, is " + << last_msg_->signed_messages[116]; + EXPECT_EQ(last_msg_->signed_messages[117], 177) + << "incorrect value for signed_messages[117], expected 177, is " + << last_msg_->signed_messages[117]; + EXPECT_EQ(last_msg_->signed_messages[118], 15) + << "incorrect value for signed_messages[118], expected 15, is " + << last_msg_->signed_messages[118]; + EXPECT_EQ(last_msg_->signed_messages[119], 128) + << "incorrect value for signed_messages[119], expected 128, is " + << last_msg_->signed_messages[119]; + EXPECT_EQ(last_msg_->signed_messages[120], 26) + << "incorrect value for signed_messages[120], expected 26, is " + << last_msg_->signed_messages[120]; + EXPECT_EQ(last_msg_->signed_messages[121], 131) + << "incorrect value for signed_messages[121], expected 131, is " + << last_msg_->signed_messages[121]; + EXPECT_EQ(last_msg_->signed_messages[122], 154) + << "incorrect value for signed_messages[122], expected 154, is " + << last_msg_->signed_messages[122]; + EXPECT_EQ(last_msg_->signed_messages[123], 65) + << "incorrect value for signed_messages[123], expected 65, is " + << last_msg_->signed_messages[123]; + EXPECT_EQ(last_msg_->signed_messages[124], 169) + << "incorrect value for signed_messages[124], expected 169, is " + << last_msg_->signed_messages[124]; + EXPECT_EQ(last_msg_->signed_messages[125], 55) + << "incorrect value for signed_messages[125], expected 55, is " + << last_msg_->signed_messages[125]; + EXPECT_EQ(last_msg_->signed_messages[126], 136) + << "incorrect value for signed_messages[126], expected 136, is " + << last_msg_->signed_messages[126]; + EXPECT_EQ(last_msg_->signed_messages[127], 125) + << "incorrect value for signed_messages[127], expected 125, is " + << last_msg_->signed_messages[127]; + EXPECT_EQ(last_msg_->signed_messages[128], 171) + << "incorrect value for signed_messages[128], expected 171, is " + << last_msg_->signed_messages[128]; + EXPECT_EQ(last_msg_->signed_messages[129], 161) + << "incorrect value for signed_messages[129], expected 161, is " + << last_msg_->signed_messages[129]; + EXPECT_EQ(last_msg_->signed_messages[130], 29) + << "incorrect value for signed_messages[130], expected 29, is " + << last_msg_->signed_messages[130]; + EXPECT_EQ(last_msg_->signed_messages[131], 129) + << "incorrect value for signed_messages[131], expected 129, is " + << last_msg_->signed_messages[131]; + EXPECT_EQ(last_msg_->signed_messages[132], 151) + << "incorrect value for signed_messages[132], expected 151, is " + << last_msg_->signed_messages[132]; + EXPECT_EQ(last_msg_->signed_messages[133], 68) + << "incorrect value for signed_messages[133], expected 68, is " + << last_msg_->signed_messages[133]; + EXPECT_EQ(last_msg_->signed_messages[134], 166) + << "incorrect value for signed_messages[134], expected 166, is " + << last_msg_->signed_messages[134]; + EXPECT_EQ(last_msg_->signed_messages[135], 51) + << "incorrect value for signed_messages[135], expected 51, is " + << last_msg_->signed_messages[135]; + EXPECT_EQ(last_msg_->signed_messages[136], 70) + << "incorrect value for signed_messages[136], expected 70, is " + << last_msg_->signed_messages[136]; + EXPECT_EQ(last_msg_->signed_messages[137], 45) + << "incorrect value for signed_messages[137], expected 45, is " + << last_msg_->signed_messages[137]; + EXPECT_EQ(last_msg_->signed_messages[138], 56) + << "incorrect value for signed_messages[138], expected 56, is " + << last_msg_->signed_messages[138]; + EXPECT_EQ(last_msg_->signed_messages[139], 79) + << "incorrect value for signed_messages[139], expected 79, is " + << last_msg_->signed_messages[139]; + EXPECT_EQ(last_msg_->signed_messages[140], 149) + << "incorrect value for signed_messages[140], expected 149, is " + << last_msg_->signed_messages[140]; + EXPECT_EQ(last_msg_->signed_messages[141], 99) + << "incorrect value for signed_messages[141], expected 99, is " + << last_msg_->signed_messages[141]; + EXPECT_EQ(last_msg_->signed_messages[142], 42) + << "incorrect value for signed_messages[142], expected 42, is " + << last_msg_->signed_messages[142]; + EXPECT_EQ(last_msg_->signed_messages[143], 101) + << "incorrect value for signed_messages[143], expected 101, is " + << last_msg_->signed_messages[143]; + EXPECT_EQ(last_msg_->signed_messages[144], 152) + << "incorrect value for signed_messages[144], expected 152, is " + << last_msg_->signed_messages[144]; + EXPECT_EQ(last_msg_->signed_messages[145], 39) + << "incorrect value for signed_messages[145], expected 39, is " + << last_msg_->signed_messages[145]; + EXPECT_EQ(last_msg_->signed_messages[146], 89) + << "incorrect value for signed_messages[146], expected 89, is " + << last_msg_->signed_messages[146]; + EXPECT_EQ(last_msg_->signed_messages[147], 180) + << "incorrect value for signed_messages[147], expected 180, is " + << last_msg_->signed_messages[147]; + EXPECT_EQ(last_msg_->signed_messages[148], 64) + << "incorrect value for signed_messages[148], expected 64, is " + << last_msg_->signed_messages[148]; + EXPECT_EQ(last_msg_->signed_messages[149], 49) + << "incorrect value for signed_messages[149], expected 49, is " + << last_msg_->signed_messages[149]; + EXPECT_EQ(last_msg_->signed_messages[150], 6) + << "incorrect value for signed_messages[150], expected 6, is " + << last_msg_->signed_messages[150]; + EXPECT_EQ(last_msg_->signed_messages[151], 80) + << "incorrect value for signed_messages[151], expected 80, is " + << last_msg_->signed_messages[151]; + EXPECT_EQ(last_msg_->signed_messages[152], 172) + << "incorrect value for signed_messages[152], expected 172, is " + << last_msg_->signed_messages[152]; + EXPECT_EQ(last_msg_->signed_messages[153], 32) + << "incorrect value for signed_messages[153], expected 32, is " + << last_msg_->signed_messages[153]; + EXPECT_EQ(last_msg_->signed_messages[154], 109) + << "incorrect value for signed_messages[154], expected 109, is " + << last_msg_->signed_messages[154]; + EXPECT_EQ(last_msg_->signed_messages[155], 2) + << "incorrect value for signed_messages[155], expected 2, is " + << last_msg_->signed_messages[155]; + EXPECT_EQ(last_msg_->signed_messages[156], 119) + << "incorrect value for signed_messages[156], expected 119, is " + << last_msg_->signed_messages[156]; + EXPECT_EQ(last_msg_->signed_messages[157], 93) + << "incorrect value for signed_messages[157], expected 93, is " + << last_msg_->signed_messages[157]; + EXPECT_EQ(last_msg_->signed_messages[158], 176) + << "incorrect value for signed_messages[158], expected 176, is " + << last_msg_->signed_messages[158]; + EXPECT_EQ(last_msg_->signed_messages[159], 0) + << "incorrect value for signed_messages[159], expected 0, is " + << last_msg_->signed_messages[159]; + EXPECT_EQ(last_msg_->signed_messages[160], 33) + << "incorrect value for signed_messages[160], expected 33, is " + << last_msg_->signed_messages[160]; + EXPECT_EQ(last_msg_->signed_messages[161], 57) + << "incorrect value for signed_messages[161], expected 57, is " + << last_msg_->signed_messages[161]; + EXPECT_EQ(last_msg_->signed_messages[162], 34) + << "incorrect value for signed_messages[162], expected 34, is " + << last_msg_->signed_messages[162]; + EXPECT_EQ(last_msg_->signed_messages[163], 18) + << "incorrect value for signed_messages[163], expected 18, is " + << last_msg_->signed_messages[163]; + EXPECT_EQ(last_msg_->signed_messages[164], 85) + << "incorrect value for signed_messages[164], expected 85, is " + << last_msg_->signed_messages[164]; + EXPECT_EQ(last_msg_->signed_messages[165], 121) + << "incorrect value for signed_messages[165], expected 121, is " + << last_msg_->signed_messages[165]; + EXPECT_EQ(last_msg_->signed_messages[166], 137) + << "incorrect value for signed_messages[166], expected 137, is " + << last_msg_->signed_messages[166]; + EXPECT_EQ(last_msg_->signed_messages[167], 83) + << "incorrect value for signed_messages[167], expected 83, is " + << last_msg_->signed_messages[167]; + EXPECT_EQ(last_msg_->signed_messages[168], 111) + << "incorrect value for signed_messages[168], expected 111, is " + << last_msg_->signed_messages[168]; + EXPECT_EQ(last_msg_->signed_messages[169], 59) + << "incorrect value for signed_messages[169], expected 59, is " + << last_msg_->signed_messages[169]; + EXPECT_EQ(last_msg_->signed_messages[170], 7) + << "incorrect value for signed_messages[170], expected 7, is " + << last_msg_->signed_messages[170]; + EXPECT_EQ(last_msg_->signed_messages[171], 77) + << "incorrect value for signed_messages[171], expected 77, is " + << last_msg_->signed_messages[171]; + EXPECT_EQ(last_msg_->signed_messages[172], 4) + << "incorrect value for signed_messages[172], expected 4, is " + << last_msg_->signed_messages[172]; + EXPECT_EQ(last_msg_->signed_messages[173], 117) + << "incorrect value for signed_messages[173], expected 117, is " + << last_msg_->signed_messages[173]; + EXPECT_EQ(last_msg_->signed_messages[174], 159) + << "incorrect value for signed_messages[174], expected 159, is " + << last_msg_->signed_messages[174]; + EXPECT_EQ(last_msg_->signed_messages[175], 148) + << "incorrect value for signed_messages[175], expected 148, is " + << last_msg_->signed_messages[175]; + EXPECT_EQ(last_msg_->signed_messages[176], 35) + << "incorrect value for signed_messages[176], expected 35, is " + << last_msg_->signed_messages[176]; + EXPECT_EQ(last_msg_->signed_messages[177], 61) + << "incorrect value for signed_messages[177], expected 61, is " + << last_msg_->signed_messages[177]; + EXPECT_EQ(last_msg_->signed_messages[178], 41) + << "incorrect value for signed_messages[178], expected 41, is " + << last_msg_->signed_messages[178]; + EXPECT_EQ(last_msg_->signed_messages[179], 67) + << "incorrect value for signed_messages[179], expected 67, is " + << last_msg_->signed_messages[179]; + EXPECT_EQ(last_msg_->signed_messages[180], 46) + << "incorrect value for signed_messages[180], expected 46, is " + << last_msg_->signed_messages[180]; + EXPECT_EQ(last_msg_->signed_messages[181], 127) + << "incorrect value for signed_messages[181], expected 127, is " + << last_msg_->signed_messages[181]; + EXPECT_EQ(last_msg_->signed_messages[182], 75) + << "incorrect value for signed_messages[182], expected 75, is " + << last_msg_->signed_messages[182]; + EXPECT_EQ(last_msg_->signed_messages[183], 174) + << "incorrect value for signed_messages[183], expected 174, is " + << last_msg_->signed_messages[183]; + EXPECT_EQ(last_msg_->stream_counter, 1) + << "incorrect value for stream_counter, expected 1, is " + << last_msg_->stream_counter; +} diff --git a/haskell/src/SwiftNav/SBP/Msg.hs b/haskell/src/SwiftNav/SBP/Msg.hs index dd6f5a4477..4e87b7e08d 100644 --- a/haskell/src/SwiftNav/SBP/Msg.hs +++ b/haskell/src/SwiftNav/SBP/Msg.hs @@ -99,6 +99,7 @@ data SBPMsg = | SBPMsgDopsDepA MsgDopsDepA Msg | SBPMsgEcdsaCertificate MsgEcdsaCertificate Msg | SBPMsgEcdsaSignature MsgEcdsaSignature Msg + | SBPMsgEcdsaSignatureDep MsgEcdsaSignatureDep Msg | SBPMsgEd25519CertificateDep MsgEd25519CertificateDep Msg | SBPMsgEd25519SignatureDepA MsgEd25519SignatureDepA Msg | SBPMsgEd25519SignatureDepB MsgEd25519SignatureDepB Msg @@ -342,6 +343,7 @@ instance Binary SBPMsg where | _msgSBPType == msgDopsDepA = SBPMsgDopsDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEcdsaCertificate = SBPMsgEcdsaCertificate (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEcdsaSignature = SBPMsgEcdsaSignature (decode (fromStrict (unBytes _msgSBPPayload))) m + | _msgSBPType == msgEcdsaSignatureDep = SBPMsgEcdsaSignatureDep (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEd25519CertificateDep = SBPMsgEd25519CertificateDep (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEd25519SignatureDepA = SBPMsgEd25519SignatureDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEd25519SignatureDepB = SBPMsgEd25519SignatureDepB (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -577,6 +579,7 @@ instance Binary SBPMsg where encoder (SBPMsgDopsDepA _ m) = put m encoder (SBPMsgEcdsaCertificate _ m) = put m encoder (SBPMsgEcdsaSignature _ m) = put m + encoder (SBPMsgEcdsaSignatureDep _ m) = put m encoder (SBPMsgEd25519CertificateDep _ m) = put m encoder (SBPMsgEd25519SignatureDepA _ m) = put m encoder (SBPMsgEd25519SignatureDepB _ m) = put m @@ -816,6 +819,7 @@ instance FromJSON SBPMsg where | msgType == msgDopsDepA = SBPMsgDopsDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEcdsaCertificate = SBPMsgEcdsaCertificate <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEcdsaSignature = SBPMsgEcdsaSignature <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj + | msgType == msgEcdsaSignatureDep = SBPMsgEcdsaSignatureDep <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEd25519CertificateDep = SBPMsgEd25519CertificateDep <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEd25519SignatureDepA = SBPMsgEd25519SignatureDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEd25519SignatureDepB = SBPMsgEd25519SignatureDepB <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -1056,6 +1060,7 @@ instance ToJSON SBPMsg where toJSON (SBPMsgDopsDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEcdsaCertificate n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEcdsaSignature n m) = toJSON n <<>> toJSON m + toJSON (SBPMsgEcdsaSignatureDep n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEd25519CertificateDep n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEd25519SignatureDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEd25519SignatureDepB n m) = toJSON n <<>> toJSON m @@ -1290,6 +1295,7 @@ instance HasMsg SBPMsg where msg f (SBPMsgDopsDepA n m) = SBPMsgDopsDepA n <$> f m msg f (SBPMsgEcdsaCertificate n m) = SBPMsgEcdsaCertificate n <$> f m msg f (SBPMsgEcdsaSignature n m) = SBPMsgEcdsaSignature n <$> f m + msg f (SBPMsgEcdsaSignatureDep n m) = SBPMsgEcdsaSignatureDep n <$> f m msg f (SBPMsgEd25519CertificateDep n m) = SBPMsgEd25519CertificateDep n <$> f m msg f (SBPMsgEd25519SignatureDepA n m) = SBPMsgEd25519SignatureDepA n <$> f m msg f (SBPMsgEd25519SignatureDepB n m) = SBPMsgEd25519SignatureDepB n <$> f m diff --git a/haskell/src/SwiftNav/SBP/Signing.hs b/haskell/src/SwiftNav/SBP/Signing.hs index 8d961a1708..98392b6151 100644 --- a/haskell/src/SwiftNav/SBP/Signing.hs +++ b/haskell/src/SwiftNav/SBP/Signing.hs @@ -155,9 +155,9 @@ $(makeJSON "_msgCertificateChain_" ''MsgCertificateChain) $(makeLenses ''MsgCertificateChain) msgEcdsaSignature :: Word16 -msgEcdsaSignature = 0x0C06 +msgEcdsaSignature = 0x0C07 --- | SBP class for message MSG_ECDSA_SIGNATURE (0x0C06). +-- | SBP class for message MSG_ECDSA_SIGNATURE (0x0C07). -- -- An ECDSA-256 signature using SHA-256 as the message digest algorithm. data MsgEcdsaSignature = MsgEcdsaSignature @@ -176,8 +176,11 @@ data MsgEcdsaSignature = MsgEcdsaSignature -- counter may not initially be zero. , _msgEcdsaSignature_certificate_id :: ![Word8] -- ^ The last 4 bytes of the certificate's SHA-1 fingerprint + , _msgEcdsaSignature_n_signature_bytes :: !Word8 + -- ^ Number of bytes to use of the signature field. , _msgEcdsaSignature_signature :: ![Word8] - -- ^ ECDSA signature for the messages using SHA-256 as the digest algorithm. + -- ^ DER encoded ECDSA signature for the messages using SHA-256 as the + -- digest algorithm. , _msgEcdsaSignature_signed_messages :: ![Word8] -- ^ CRCs of the messages covered by this signature. For Skylark, which -- delivers SBP messages wrapped in Swift's proprietary RTCM message, @@ -192,7 +195,8 @@ instance Binary MsgEcdsaSignature where _msgEcdsaSignature_stream_counter <- getWord8 _msgEcdsaSignature_on_demand_counter <- getWord8 _msgEcdsaSignature_certificate_id <- replicateM 4 getWord8 - _msgEcdsaSignature_signature <- replicateM 64 getWord8 + _msgEcdsaSignature_n_signature_bytes <- getWord8 + _msgEcdsaSignature_signature <- replicateM 72 getWord8 _msgEcdsaSignature_signed_messages <- whileM (not <$> isEmpty) getWord8 pure MsgEcdsaSignature {..} @@ -201,6 +205,7 @@ instance Binary MsgEcdsaSignature where putWord8 _msgEcdsaSignature_stream_counter putWord8 _msgEcdsaSignature_on_demand_counter mapM_ putWord8 _msgEcdsaSignature_certificate_id + putWord8 _msgEcdsaSignature_n_signature_bytes mapM_ putWord8 _msgEcdsaSignature_signature mapM_ putWord8 _msgEcdsaSignature_signed_messages @@ -208,6 +213,60 @@ $(makeSBP 'msgEcdsaSignature ''MsgEcdsaSignature) $(makeJSON "_msgEcdsaSignature_" ''MsgEcdsaSignature) $(makeLenses ''MsgEcdsaSignature) +msgEcdsaSignatureDep :: Word16 +msgEcdsaSignatureDep = 0x0C06 + +-- | SBP class for message MSG_ECDSA_SIGNATURE_DEP (0x0C06). +-- +-- An ECDSA-256 signature using SHA-256 as the message digest algorithm. +data MsgEcdsaSignatureDep = MsgEcdsaSignatureDep + { _msgEcdsaSignatureDep_flags :: !Word8 + -- ^ Describes the format of the `signed\_messages` field below. + , _msgEcdsaSignatureDep_stream_counter :: !Word8 + -- ^ Signature message counter. Zero indexed and incremented with each + -- signature message. The counter will not increment if this message was + -- in response to an on demand request. The counter will roll over after + -- 256 messages. Upon connection, the value of the counter may not + -- initially be zero. + , _msgEcdsaSignatureDep_on_demand_counter :: !Word8 + -- ^ On demand message counter. Zero indexed and incremented with each + -- signature message sent in response to an on demand message. The counter + -- will roll over after 256 messages. Upon connection, the value of the + -- counter may not initially be zero. + , _msgEcdsaSignatureDep_certificate_id :: ![Word8] + -- ^ The last 4 bytes of the certificate's SHA-1 fingerprint + , _msgEcdsaSignatureDep_signature :: ![Word8] + -- ^ ECDSA signature for the messages using SHA-256 as the digest algorithm. + , _msgEcdsaSignatureDep_signed_messages :: ![Word8] + -- ^ CRCs of the messages covered by this signature. For Skylark, which + -- delivers SBP messages wrapped in Swift's proprietary RTCM message, + -- these are the 24-bit CRCs from the RTCM message framing. For SBP only + -- streams, this will be 16-bit CRCs from the SBP framing. See the + -- `flags` field to determine the type of CRCs covered. + } deriving ( Show, Read, Eq ) + +instance Binary MsgEcdsaSignatureDep where + get = do + _msgEcdsaSignatureDep_flags <- getWord8 + _msgEcdsaSignatureDep_stream_counter <- getWord8 + _msgEcdsaSignatureDep_on_demand_counter <- getWord8 + _msgEcdsaSignatureDep_certificate_id <- replicateM 4 getWord8 + _msgEcdsaSignatureDep_signature <- replicateM 64 getWord8 + _msgEcdsaSignatureDep_signed_messages <- whileM (not <$> isEmpty) getWord8 + pure MsgEcdsaSignatureDep {..} + + put MsgEcdsaSignatureDep {..} = do + putWord8 _msgEcdsaSignatureDep_flags + putWord8 _msgEcdsaSignatureDep_stream_counter + putWord8 _msgEcdsaSignatureDep_on_demand_counter + mapM_ putWord8 _msgEcdsaSignatureDep_certificate_id + mapM_ putWord8 _msgEcdsaSignatureDep_signature + mapM_ putWord8 _msgEcdsaSignatureDep_signed_messages + +$(makeSBP 'msgEcdsaSignatureDep ''MsgEcdsaSignatureDep) +$(makeJSON "_msgEcdsaSignatureDep_" ''MsgEcdsaSignatureDep) +$(makeLenses ''MsgEcdsaSignatureDep) + msgEd25519CertificateDep :: Word16 msgEd25519CertificateDep = 0x0C02 diff --git a/java/src/com/swiftnav/sbp/client/MessageTable.java b/java/src/com/swiftnav/sbp/client/MessageTable.java index 67a1b31352..500aa8cd7e 100644 --- a/java/src/com/swiftnav/sbp/client/MessageTable.java +++ b/java/src/com/swiftnav/sbp/client/MessageTable.java @@ -192,6 +192,7 @@ import com.swiftnav.sbp.signing.MsgCertificateChain; import com.swiftnav.sbp.signing.MsgEcdsaCertificate; import com.swiftnav.sbp.signing.MsgEcdsaSignature; +import com.swiftnav.sbp.signing.MsgEcdsaSignatureDep; import com.swiftnav.sbp.signing.MsgEd25519CertificateDep; import com.swiftnav.sbp.signing.MsgEd25519SignatureDepA; import com.swiftnav.sbp.signing.MsgEd25519SignatureDepB; @@ -605,6 +606,8 @@ static SBPMessage dispatch(SBPMessage msg) throws SBPBinaryException { return new MsgCertificateChain(msg); case MsgEcdsaSignature.TYPE: return new MsgEcdsaSignature(msg); + case MsgEcdsaSignatureDep.TYPE: + return new MsgEcdsaSignatureDep(msg); case MsgEd25519CertificateDep.TYPE: return new MsgEd25519CertificateDep(msg); case MsgEd25519SignatureDepA.TYPE: diff --git a/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java b/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java index 31c54c4c42..f4d500ae62 100644 --- a/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java +++ b/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java @@ -20,7 +20,7 @@ import org.json.JSONObject; /** - * SBP class for message MSG_ECDSA_SIGNATURE (0x0C06). + * SBP class for message MSG_ECDSA_SIGNATURE (0x0C07). * *

You can have MSG_ECDSA_SIGNATURE inherent its fields directly from an inherited SBP object, or * construct it inline using a dict of its fields. @@ -28,7 +28,7 @@ *

An ECDSA-256 signature using SHA-256 as the message digest algorithm. */ public class MsgEcdsaSignature extends SBPMessage { - public static final int TYPE = 0x0C06; + public static final int TYPE = 0x0C07; /** Describes the format of the `signed\_messages` field below. */ public int flags; @@ -51,7 +51,10 @@ public class MsgEcdsaSignature extends SBPMessage { /** The last 4 bytes of the certificate's SHA-1 fingerprint */ public int[] certificate_id; - /** ECDSA signature for the messages using SHA-256 as the digest algorithm. */ + /** Number of bytes to use of the signature field. */ + public int n_signature_bytes; + + /** DER encoded ECDSA signature for the messages using SHA-256 as the digest algorithm. */ public int[] signature; /** @@ -74,7 +77,7 @@ public MsgEcdsaSignature(SBPMessage msg) throws SBPBinaryException { super(msg); if (msg.type != TYPE) throw new SBPBinaryException( - "Type mismatch for MsgEcdsaSignature, expected 3078, actual " + msg.type); + "Type mismatch for MsgEcdsaSignature, expected 3079, actual " + msg.type); } @Override @@ -84,7 +87,8 @@ protected void parse(Parser parser) throws SBPBinaryException { stream_counter = parser.getU8(); on_demand_counter = parser.getU8(); certificate_id = parser.getArrayofU8(4); - signature = parser.getArrayofU8(64); + n_signature_bytes = parser.getU8(); + signature = parser.getArrayofU8(72); signed_messages = parser.getArrayofU8(); } @@ -94,7 +98,8 @@ protected void build(Builder builder) { builder.putU8(stream_counter); builder.putU8(on_demand_counter); builder.putArrayofU8(certificate_id, 4); - builder.putArrayofU8(signature, 64); + builder.putU8(n_signature_bytes); + builder.putArrayofU8(signature, 72); builder.putArrayofU8(signed_messages); } @@ -105,6 +110,7 @@ public JSONObject toJSON() { obj.put("stream_counter", stream_counter); obj.put("on_demand_counter", on_demand_counter); obj.put("certificate_id", new JSONArray(certificate_id)); + obj.put("n_signature_bytes", n_signature_bytes); obj.put("signature", new JSONArray(signature)); obj.put("signed_messages", new JSONArray(signed_messages)); return obj; diff --git a/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignatureDep.java b/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignatureDep.java new file mode 100644 index 0000000000..e9deb9c9e3 --- /dev/null +++ b/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignatureDep.java @@ -0,0 +1,117 @@ +/* Copyright (C) 2015-2022 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ +package com.swiftnav.sbp.signing; + +// This file was auto-generated from yaml/swiftnav/sbp/signing.yaml by generate.py. +// Do not modify by hand! + + +import com.swiftnav.sbp.SBPBinaryException; +import com.swiftnav.sbp.SBPMessage; +import org.json.JSONArray; +import org.json.JSONObject; + +/** + * SBP class for message MSG_ECDSA_SIGNATURE_DEP (0x0C06). + * + *

You can have MSG_ECDSA_SIGNATURE_DEP inherent its fields directly from an inherited SBP + * object, or construct it inline using a dict of its fields. + * + *

An ECDSA-256 signature using SHA-256 as the message digest algorithm. + */ +public class MsgEcdsaSignatureDep extends SBPMessage { + public static final int TYPE = 0x0C06; + + /** Describes the format of the `signed\_messages` field below. */ + public int flags; + + /** + * Signature message counter. Zero indexed and incremented with each signature message. The + * counter will not increment if this message was in response to an on demand request. The + * counter will roll over after 256 messages. Upon connection, the value of the counter may not + * initially be zero. + */ + public int stream_counter; + + /** + * On demand message counter. Zero indexed and incremented with each signature message sent in + * response to an on demand message. The counter will roll over after 256 messages. Upon + * connection, the value of the counter may not initially be zero. + */ + public int on_demand_counter; + + /** The last 4 bytes of the certificate's SHA-1 fingerprint */ + public int[] certificate_id; + + /** ECDSA signature for the messages using SHA-256 as the digest algorithm. */ + public int[] signature; + + /** + * CRCs of the messages covered by this signature. For Skylark, which delivers SBP messages + * wrapped in Swift's proprietary RTCM message, these are the 24-bit CRCs from the RTCM message + * framing. For SBP only streams, this will be 16-bit CRCs from the SBP framing. See the `flags` + * field to determine the type of CRCs covered. + */ + public int[] signed_messages; + + public MsgEcdsaSignatureDep(int sender) { + super(sender, TYPE); + } + + public MsgEcdsaSignatureDep() { + super(TYPE); + } + + public MsgEcdsaSignatureDep(SBPMessage msg) throws SBPBinaryException { + super(msg); + if (msg.type != TYPE) + throw new SBPBinaryException( + "Type mismatch for MsgEcdsaSignatureDep, expected 3078, actual " + msg.type); + } + + @Override + protected void parse(Parser parser) throws SBPBinaryException { + /* Parse fields from binary */ + flags = parser.getU8(); + stream_counter = parser.getU8(); + on_demand_counter = parser.getU8(); + certificate_id = parser.getArrayofU8(4); + signature = parser.getArrayofU8(64); + signed_messages = parser.getArrayofU8(); + } + + @Override + protected void build(Builder builder) { + builder.putU8(flags); + builder.putU8(stream_counter); + builder.putU8(on_demand_counter); + builder.putArrayofU8(certificate_id, 4); + builder.putArrayofU8(signature, 64); + builder.putArrayofU8(signed_messages); + } + + @Override + public JSONObject toJSON() { + JSONObject obj = super.toJSON(); + obj.put("flags", flags); + obj.put("stream_counter", stream_counter); + obj.put("on_demand_counter", on_demand_counter); + obj.put("certificate_id", new JSONArray(certificate_id)); + obj.put("signature", new JSONArray(signature)); + obj.put("signed_messages", new JSONArray(signed_messages)); + return obj; + } + + @Override + public String getFriendlyName() { + return "ECDSA SIGNATURE DEP"; + } +} diff --git a/java/test/auto_check_sbp_signing_MsgEcdsaSignatureDepTest.java b/java/test/auto_check_sbp_signing_MsgEcdsaSignatureDepTest.java new file mode 100644 index 0000000000..f057f7be02 --- /dev/null +++ b/java/test/auto_check_sbp_signing_MsgEcdsaSignatureDepTest.java @@ -0,0 +1,2848 @@ +/* Copyright (C) 2015-2022 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ +package com.swiftnav.sbp.test; + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml by generate.py. Do not modify +// by hand! + + +import com.swiftnav.sbp.SBPMessage; +import com.swiftnav.sbp.signing.MsgEcdsaSignatureDep; +import java.math.BigInteger; +import org.json.JSONObject; +import org.junit.Test; + +public class auto_check_sbp_signing_MsgEcdsaSignatureDepTest { + + public static boolean debug = false; + private static final double DELTA = 1e-15; + + @Test + public void test1() throws Throwable { + if (debug) + System.out.format("%n%s%n", "auto_check_sbp_signing_MsgEcdsaSignatureDepTest.test1"); + byte[] payload = + new byte[] { + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 0, + (byte) 1, + (byte) 2, + (byte) 3, + (byte) 4, + (byte) 5, + (byte) 6, + (byte) 7, + (byte) 10, + (byte) 21, + (byte) 23, + (byte) 63, + (byte) 140, + (byte) 37, + (byte) 130, + (byte) 106, + (byte) 28, + (byte) 40, + (byte) 165, + (byte) 179, + (byte) 73, + (byte) 178, + (byte) 60, + (byte) 126, + (byte) 114, + (byte) 78, + (byte) 113, + (byte) 27, + (byte) 95, + (byte) 3, + (byte) 62, + (byte) 104, + (byte) 145, + (byte) 96, + (byte) 19, + (byte) 92, + (byte) 123, + (byte) 14, + (byte) 90, + (byte) 153, + (byte) 183, + (byte) 9, + (byte) 72, + (byte) 81, + (byte) 118, + (byte) 112, + (byte) 124, + (byte) 16, + (byte) 182, + (byte) 76, + (byte) 146, + (byte) 115, + (byte) 58, + (byte) 144, + (byte) 17, + (byte) 105, + (byte) 66, + (byte) 31, + (byte) 135, + (byte) 54, + (byte) 100, + (byte) 84, + (byte) 181, + (byte) 103, + (byte) 11, + (byte) 88, + (byte) 133, + (byte) 155, + (byte) 167, + (byte) 173, + (byte) 143, + (byte) 86, + (byte) 158, + (byte) 20, + (byte) 168, + (byte) 132, + (byte) 141, + (byte) 102, + (byte) 50, + (byte) 48, + (byte) 71, + (byte) 147, + (byte) 53, + (byte) 87, + (byte) 1, + (byte) 108, + (byte) 138, + (byte) 36, + (byte) 134, + (byte) 139, + (byte) 163, + (byte) 82, + (byte) 43, + (byte) 52, + (byte) 150, + (byte) 12, + (byte) 30, + (byte) 110, + (byte) 156, + (byte) 107, + (byte) 120, + (byte) 91, + (byte) 122, + (byte) 69, + (byte) 164, + (byte) 170, + (byte) 116, + (byte) 25, + (byte) 94, + (byte) 5, + (byte) 22, + (byte) 24, + (byte) 162, + (byte) 175, + (byte) 38, + (byte) 157, + (byte) 98, + (byte) 44, + (byte) 160, + (byte) 47, + (byte) 97, + (byte) 142, + (byte) 8, + (byte) 74, + (byte) 13, + (byte) 177, + (byte) 15, + (byte) 128, + (byte) 26, + (byte) 131, + (byte) 154, + (byte) 65, + (byte) 169, + (byte) 55, + (byte) 136, + (byte) 125, + (byte) 171, + (byte) 161, + (byte) 29, + (byte) 129, + (byte) 151, + (byte) 68, + (byte) 166, + (byte) 51, + (byte) 70, + (byte) 45, + (byte) 56, + (byte) 79, + (byte) 149, + (byte) 99, + (byte) 42, + (byte) 101, + (byte) 152, + (byte) 39, + (byte) 89, + (byte) 180, + (byte) 64, + (byte) 49, + (byte) 6, + (byte) 80, + (byte) 172, + (byte) 32, + (byte) 109, + (byte) 2, + (byte) 119, + (byte) 93, + (byte) 176, + (byte) 0, + (byte) 33, + (byte) 57, + (byte) 34, + (byte) 18, + (byte) 85, + (byte) 121, + (byte) 137, + (byte) 83, + (byte) 111, + (byte) 59, + (byte) 7, + (byte) 77, + (byte) 4, + (byte) 117, + (byte) 159, + (byte) 148, + (byte) 35, + (byte) 61, + (byte) 41, + (byte) 67, + (byte) 46, + (byte) 127, + (byte) 75, + (byte) 174, + }; + SBPMessage sbp = new SBPMessage(0x42, 0xC06, payload); + MsgEcdsaSignatureDep msg = new MsgEcdsaSignatureDep(sbp); + JSONObject json = msg.toJSON(); + Number value; + Number expected; + value = msg.certificate_id[0]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.certificate_id[0] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.certificate_id[1]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.certificate_id[1] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.certificate_id[2]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.certificate_id[2] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.certificate_id[3]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.certificate_id[3] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.flags; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.flags + "' != '" + 0 + "'", value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.on_demand_counter; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.on_demand_counter + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[0]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[0] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[1]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[1] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[2]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[2] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[3]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[3] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[4]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[4] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[5]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[5] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[6]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[6] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[7]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[7] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[8]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[8] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[9]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[9] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[10]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[10] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[11]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[11] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[12]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[12] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[13]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[13] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[14]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[14] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[15]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[15] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[16]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[16] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[17]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[17] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[18]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[18] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[19]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[19] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[20]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[20] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[21]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[21] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[22]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[22] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[23]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[23] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[24]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[24] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[25]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[25] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[26]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[26] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[27]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[27] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[28]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[28] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[29]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[29] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[30]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[30] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[31]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[31] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[32]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[32] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[33]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[33] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[34]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[34] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[35]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[35] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[36]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[36] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[37]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[37] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[38]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[38] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[39]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[39] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[40]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[40] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[41]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[41] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[42]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[42] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[43]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[43] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[44]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[44] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[45]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[45] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[46]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[46] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[47]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[47] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[48]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[48] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[49]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[49] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[50]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[50] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[51]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[51] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[52]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[52] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[53]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[53] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[54]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[54] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[55]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[55] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[56]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[56] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[57]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[57] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[58]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[58] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[59]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[59] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[60]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[60] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[61]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[61] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[62]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[62] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signature[63]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signature[63] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[0]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[0] + "' != '" + 10 + "'", + value.equals(BigInteger.valueOf(10L))); + } else { + value = value.longValue(); + expected = 10L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[1]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[1] + "' != '" + 21 + "'", + value.equals(BigInteger.valueOf(21L))); + } else { + value = value.longValue(); + expected = 21L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[2]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[2] + "' != '" + 23 + "'", + value.equals(BigInteger.valueOf(23L))); + } else { + value = value.longValue(); + expected = 23L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[3]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[3] + "' != '" + 63 + "'", + value.equals(BigInteger.valueOf(63L))); + } else { + value = value.longValue(); + expected = 63L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[4]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[4] + "' != '" + 140 + "'", + value.equals(BigInteger.valueOf(140L))); + } else { + value = value.longValue(); + expected = 140L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[5]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[5] + "' != '" + 37 + "'", + value.equals(BigInteger.valueOf(37L))); + } else { + value = value.longValue(); + expected = 37L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[6]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[6] + "' != '" + 130 + "'", + value.equals(BigInteger.valueOf(130L))); + } else { + value = value.longValue(); + expected = 130L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[7]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[7] + "' != '" + 106 + "'", + value.equals(BigInteger.valueOf(106L))); + } else { + value = value.longValue(); + expected = 106L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[8]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[8] + "' != '" + 28 + "'", + value.equals(BigInteger.valueOf(28L))); + } else { + value = value.longValue(); + expected = 28L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[9]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[9] + "' != '" + 40 + "'", + value.equals(BigInteger.valueOf(40L))); + } else { + value = value.longValue(); + expected = 40L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[10]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[10] + "' != '" + 165 + "'", + value.equals(BigInteger.valueOf(165L))); + } else { + value = value.longValue(); + expected = 165L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[11]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[11] + "' != '" + 179 + "'", + value.equals(BigInteger.valueOf(179L))); + } else { + value = value.longValue(); + expected = 179L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[12]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[12] + "' != '" + 73 + "'", + value.equals(BigInteger.valueOf(73L))); + } else { + value = value.longValue(); + expected = 73L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[13]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[13] + "' != '" + 178 + "'", + value.equals(BigInteger.valueOf(178L))); + } else { + value = value.longValue(); + expected = 178L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[14]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[14] + "' != '" + 60 + "'", + value.equals(BigInteger.valueOf(60L))); + } else { + value = value.longValue(); + expected = 60L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[15]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[15] + "' != '" + 126 + "'", + value.equals(BigInteger.valueOf(126L))); + } else { + value = value.longValue(); + expected = 126L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[16]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[16] + "' != '" + 114 + "'", + value.equals(BigInteger.valueOf(114L))); + } else { + value = value.longValue(); + expected = 114L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[17]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[17] + "' != '" + 78 + "'", + value.equals(BigInteger.valueOf(78L))); + } else { + value = value.longValue(); + expected = 78L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[18]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[18] + "' != '" + 113 + "'", + value.equals(BigInteger.valueOf(113L))); + } else { + value = value.longValue(); + expected = 113L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[19]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[19] + "' != '" + 27 + "'", + value.equals(BigInteger.valueOf(27L))); + } else { + value = value.longValue(); + expected = 27L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[20]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[20] + "' != '" + 95 + "'", + value.equals(BigInteger.valueOf(95L))); + } else { + value = value.longValue(); + expected = 95L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[21]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[21] + "' != '" + 3 + "'", + value.equals(BigInteger.valueOf(3L))); + } else { + value = value.longValue(); + expected = 3L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[22]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[22] + "' != '" + 62 + "'", + value.equals(BigInteger.valueOf(62L))); + } else { + value = value.longValue(); + expected = 62L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[23]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[23] + "' != '" + 104 + "'", + value.equals(BigInteger.valueOf(104L))); + } else { + value = value.longValue(); + expected = 104L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[24]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[24] + "' != '" + 145 + "'", + value.equals(BigInteger.valueOf(145L))); + } else { + value = value.longValue(); + expected = 145L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[25]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[25] + "' != '" + 96 + "'", + value.equals(BigInteger.valueOf(96L))); + } else { + value = value.longValue(); + expected = 96L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[26]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[26] + "' != '" + 19 + "'", + value.equals(BigInteger.valueOf(19L))); + } else { + value = value.longValue(); + expected = 19L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[27]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[27] + "' != '" + 92 + "'", + value.equals(BigInteger.valueOf(92L))); + } else { + value = value.longValue(); + expected = 92L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[28]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[28] + "' != '" + 123 + "'", + value.equals(BigInteger.valueOf(123L))); + } else { + value = value.longValue(); + expected = 123L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[29]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[29] + "' != '" + 14 + "'", + value.equals(BigInteger.valueOf(14L))); + } else { + value = value.longValue(); + expected = 14L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[30]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[30] + "' != '" + 90 + "'", + value.equals(BigInteger.valueOf(90L))); + } else { + value = value.longValue(); + expected = 90L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[31]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[31] + "' != '" + 153 + "'", + value.equals(BigInteger.valueOf(153L))); + } else { + value = value.longValue(); + expected = 153L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[32]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[32] + "' != '" + 183 + "'", + value.equals(BigInteger.valueOf(183L))); + } else { + value = value.longValue(); + expected = 183L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[33]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[33] + "' != '" + 9 + "'", + value.equals(BigInteger.valueOf(9L))); + } else { + value = value.longValue(); + expected = 9L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[34]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[34] + "' != '" + 72 + "'", + value.equals(BigInteger.valueOf(72L))); + } else { + value = value.longValue(); + expected = 72L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[35]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[35] + "' != '" + 81 + "'", + value.equals(BigInteger.valueOf(81L))); + } else { + value = value.longValue(); + expected = 81L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[36]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[36] + "' != '" + 118 + "'", + value.equals(BigInteger.valueOf(118L))); + } else { + value = value.longValue(); + expected = 118L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[37]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[37] + "' != '" + 112 + "'", + value.equals(BigInteger.valueOf(112L))); + } else { + value = value.longValue(); + expected = 112L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[38]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[38] + "' != '" + 124 + "'", + value.equals(BigInteger.valueOf(124L))); + } else { + value = value.longValue(); + expected = 124L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[39]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[39] + "' != '" + 16 + "'", + value.equals(BigInteger.valueOf(16L))); + } else { + value = value.longValue(); + expected = 16L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[40]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[40] + "' != '" + 182 + "'", + value.equals(BigInteger.valueOf(182L))); + } else { + value = value.longValue(); + expected = 182L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[41]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[41] + "' != '" + 76 + "'", + value.equals(BigInteger.valueOf(76L))); + } else { + value = value.longValue(); + expected = 76L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[42]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[42] + "' != '" + 146 + "'", + value.equals(BigInteger.valueOf(146L))); + } else { + value = value.longValue(); + expected = 146L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[43]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[43] + "' != '" + 115 + "'", + value.equals(BigInteger.valueOf(115L))); + } else { + value = value.longValue(); + expected = 115L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[44]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[44] + "' != '" + 58 + "'", + value.equals(BigInteger.valueOf(58L))); + } else { + value = value.longValue(); + expected = 58L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[45]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[45] + "' != '" + 144 + "'", + value.equals(BigInteger.valueOf(144L))); + } else { + value = value.longValue(); + expected = 144L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[46]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[46] + "' != '" + 17 + "'", + value.equals(BigInteger.valueOf(17L))); + } else { + value = value.longValue(); + expected = 17L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[47]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[47] + "' != '" + 105 + "'", + value.equals(BigInteger.valueOf(105L))); + } else { + value = value.longValue(); + expected = 105L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[48]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[48] + "' != '" + 66 + "'", + value.equals(BigInteger.valueOf(66L))); + } else { + value = value.longValue(); + expected = 66L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[49]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[49] + "' != '" + 31 + "'", + value.equals(BigInteger.valueOf(31L))); + } else { + value = value.longValue(); + expected = 31L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[50]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[50] + "' != '" + 135 + "'", + value.equals(BigInteger.valueOf(135L))); + } else { + value = value.longValue(); + expected = 135L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[51]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[51] + "' != '" + 54 + "'", + value.equals(BigInteger.valueOf(54L))); + } else { + value = value.longValue(); + expected = 54L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[52]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[52] + "' != '" + 100 + "'", + value.equals(BigInteger.valueOf(100L))); + } else { + value = value.longValue(); + expected = 100L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[53]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[53] + "' != '" + 84 + "'", + value.equals(BigInteger.valueOf(84L))); + } else { + value = value.longValue(); + expected = 84L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[54]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[54] + "' != '" + 181 + "'", + value.equals(BigInteger.valueOf(181L))); + } else { + value = value.longValue(); + expected = 181L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[55]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[55] + "' != '" + 103 + "'", + value.equals(BigInteger.valueOf(103L))); + } else { + value = value.longValue(); + expected = 103L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[56]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[56] + "' != '" + 11 + "'", + value.equals(BigInteger.valueOf(11L))); + } else { + value = value.longValue(); + expected = 11L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[57]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[57] + "' != '" + 88 + "'", + value.equals(BigInteger.valueOf(88L))); + } else { + value = value.longValue(); + expected = 88L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[58]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[58] + "' != '" + 133 + "'", + value.equals(BigInteger.valueOf(133L))); + } else { + value = value.longValue(); + expected = 133L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[59]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[59] + "' != '" + 155 + "'", + value.equals(BigInteger.valueOf(155L))); + } else { + value = value.longValue(); + expected = 155L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[60]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[60] + "' != '" + 167 + "'", + value.equals(BigInteger.valueOf(167L))); + } else { + value = value.longValue(); + expected = 167L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[61]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[61] + "' != '" + 173 + "'", + value.equals(BigInteger.valueOf(173L))); + } else { + value = value.longValue(); + expected = 173L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[62]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[62] + "' != '" + 143 + "'", + value.equals(BigInteger.valueOf(143L))); + } else { + value = value.longValue(); + expected = 143L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[63]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[63] + "' != '" + 86 + "'", + value.equals(BigInteger.valueOf(86L))); + } else { + value = value.longValue(); + expected = 86L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[64]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[64] + "' != '" + 158 + "'", + value.equals(BigInteger.valueOf(158L))); + } else { + value = value.longValue(); + expected = 158L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[65]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[65] + "' != '" + 20 + "'", + value.equals(BigInteger.valueOf(20L))); + } else { + value = value.longValue(); + expected = 20L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[66]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[66] + "' != '" + 168 + "'", + value.equals(BigInteger.valueOf(168L))); + } else { + value = value.longValue(); + expected = 168L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[67]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[67] + "' != '" + 132 + "'", + value.equals(BigInteger.valueOf(132L))); + } else { + value = value.longValue(); + expected = 132L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[68]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[68] + "' != '" + 141 + "'", + value.equals(BigInteger.valueOf(141L))); + } else { + value = value.longValue(); + expected = 141L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[69]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[69] + "' != '" + 102 + "'", + value.equals(BigInteger.valueOf(102L))); + } else { + value = value.longValue(); + expected = 102L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[70]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[70] + "' != '" + 50 + "'", + value.equals(BigInteger.valueOf(50L))); + } else { + value = value.longValue(); + expected = 50L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[71]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[71] + "' != '" + 48 + "'", + value.equals(BigInteger.valueOf(48L))); + } else { + value = value.longValue(); + expected = 48L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[72]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[72] + "' != '" + 71 + "'", + value.equals(BigInteger.valueOf(71L))); + } else { + value = value.longValue(); + expected = 71L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[73]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[73] + "' != '" + 147 + "'", + value.equals(BigInteger.valueOf(147L))); + } else { + value = value.longValue(); + expected = 147L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[74]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[74] + "' != '" + 53 + "'", + value.equals(BigInteger.valueOf(53L))); + } else { + value = value.longValue(); + expected = 53L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[75]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[75] + "' != '" + 87 + "'", + value.equals(BigInteger.valueOf(87L))); + } else { + value = value.longValue(); + expected = 87L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[76]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[76] + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[77]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[77] + "' != '" + 108 + "'", + value.equals(BigInteger.valueOf(108L))); + } else { + value = value.longValue(); + expected = 108L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[78]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[78] + "' != '" + 138 + "'", + value.equals(BigInteger.valueOf(138L))); + } else { + value = value.longValue(); + expected = 138L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[79]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[79] + "' != '" + 36 + "'", + value.equals(BigInteger.valueOf(36L))); + } else { + value = value.longValue(); + expected = 36L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[80]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[80] + "' != '" + 134 + "'", + value.equals(BigInteger.valueOf(134L))); + } else { + value = value.longValue(); + expected = 134L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[81]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[81] + "' != '" + 139 + "'", + value.equals(BigInteger.valueOf(139L))); + } else { + value = value.longValue(); + expected = 139L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[82]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[82] + "' != '" + 163 + "'", + value.equals(BigInteger.valueOf(163L))); + } else { + value = value.longValue(); + expected = 163L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[83]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[83] + "' != '" + 82 + "'", + value.equals(BigInteger.valueOf(82L))); + } else { + value = value.longValue(); + expected = 82L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[84]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[84] + "' != '" + 43 + "'", + value.equals(BigInteger.valueOf(43L))); + } else { + value = value.longValue(); + expected = 43L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[85]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[85] + "' != '" + 52 + "'", + value.equals(BigInteger.valueOf(52L))); + } else { + value = value.longValue(); + expected = 52L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[86]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[86] + "' != '" + 150 + "'", + value.equals(BigInteger.valueOf(150L))); + } else { + value = value.longValue(); + expected = 150L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[87]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[87] + "' != '" + 12 + "'", + value.equals(BigInteger.valueOf(12L))); + } else { + value = value.longValue(); + expected = 12L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[88]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[88] + "' != '" + 30 + "'", + value.equals(BigInteger.valueOf(30L))); + } else { + value = value.longValue(); + expected = 30L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[89]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[89] + "' != '" + 110 + "'", + value.equals(BigInteger.valueOf(110L))); + } else { + value = value.longValue(); + expected = 110L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[90]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[90] + "' != '" + 156 + "'", + value.equals(BigInteger.valueOf(156L))); + } else { + value = value.longValue(); + expected = 156L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[91]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[91] + "' != '" + 107 + "'", + value.equals(BigInteger.valueOf(107L))); + } else { + value = value.longValue(); + expected = 107L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[92]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[92] + "' != '" + 120 + "'", + value.equals(BigInteger.valueOf(120L))); + } else { + value = value.longValue(); + expected = 120L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[93]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[93] + "' != '" + 91 + "'", + value.equals(BigInteger.valueOf(91L))); + } else { + value = value.longValue(); + expected = 91L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[94]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[94] + "' != '" + 122 + "'", + value.equals(BigInteger.valueOf(122L))); + } else { + value = value.longValue(); + expected = 122L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[95]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[95] + "' != '" + 69 + "'", + value.equals(BigInteger.valueOf(69L))); + } else { + value = value.longValue(); + expected = 69L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[96]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[96] + "' != '" + 164 + "'", + value.equals(BigInteger.valueOf(164L))); + } else { + value = value.longValue(); + expected = 164L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[97]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[97] + "' != '" + 170 + "'", + value.equals(BigInteger.valueOf(170L))); + } else { + value = value.longValue(); + expected = 170L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[98]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[98] + "' != '" + 116 + "'", + value.equals(BigInteger.valueOf(116L))); + } else { + value = value.longValue(); + expected = 116L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[99]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[99] + "' != '" + 25 + "'", + value.equals(BigInteger.valueOf(25L))); + } else { + value = value.longValue(); + expected = 25L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[100]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[100] + "' != '" + 94 + "'", + value.equals(BigInteger.valueOf(94L))); + } else { + value = value.longValue(); + expected = 94L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[101]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[101] + "' != '" + 5 + "'", + value.equals(BigInteger.valueOf(5L))); + } else { + value = value.longValue(); + expected = 5L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[102]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[102] + "' != '" + 22 + "'", + value.equals(BigInteger.valueOf(22L))); + } else { + value = value.longValue(); + expected = 22L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[103]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[103] + "' != '" + 24 + "'", + value.equals(BigInteger.valueOf(24L))); + } else { + value = value.longValue(); + expected = 24L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[104]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[104] + "' != '" + 162 + "'", + value.equals(BigInteger.valueOf(162L))); + } else { + value = value.longValue(); + expected = 162L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[105]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[105] + "' != '" + 175 + "'", + value.equals(BigInteger.valueOf(175L))); + } else { + value = value.longValue(); + expected = 175L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[106]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[106] + "' != '" + 38 + "'", + value.equals(BigInteger.valueOf(38L))); + } else { + value = value.longValue(); + expected = 38L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[107]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[107] + "' != '" + 157 + "'", + value.equals(BigInteger.valueOf(157L))); + } else { + value = value.longValue(); + expected = 157L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[108]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[108] + "' != '" + 98 + "'", + value.equals(BigInteger.valueOf(98L))); + } else { + value = value.longValue(); + expected = 98L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[109]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[109] + "' != '" + 44 + "'", + value.equals(BigInteger.valueOf(44L))); + } else { + value = value.longValue(); + expected = 44L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[110]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[110] + "' != '" + 160 + "'", + value.equals(BigInteger.valueOf(160L))); + } else { + value = value.longValue(); + expected = 160L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[111]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[111] + "' != '" + 47 + "'", + value.equals(BigInteger.valueOf(47L))); + } else { + value = value.longValue(); + expected = 47L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[112]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[112] + "' != '" + 97 + "'", + value.equals(BigInteger.valueOf(97L))); + } else { + value = value.longValue(); + expected = 97L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[113]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[113] + "' != '" + 142 + "'", + value.equals(BigInteger.valueOf(142L))); + } else { + value = value.longValue(); + expected = 142L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[114]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[114] + "' != '" + 8 + "'", + value.equals(BigInteger.valueOf(8L))); + } else { + value = value.longValue(); + expected = 8L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[115]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[115] + "' != '" + 74 + "'", + value.equals(BigInteger.valueOf(74L))); + } else { + value = value.longValue(); + expected = 74L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[116]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[116] + "' != '" + 13 + "'", + value.equals(BigInteger.valueOf(13L))); + } else { + value = value.longValue(); + expected = 13L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[117]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[117] + "' != '" + 177 + "'", + value.equals(BigInteger.valueOf(177L))); + } else { + value = value.longValue(); + expected = 177L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[118]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[118] + "' != '" + 15 + "'", + value.equals(BigInteger.valueOf(15L))); + } else { + value = value.longValue(); + expected = 15L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[119]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[119] + "' != '" + 128 + "'", + value.equals(BigInteger.valueOf(128L))); + } else { + value = value.longValue(); + expected = 128L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[120]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[120] + "' != '" + 26 + "'", + value.equals(BigInteger.valueOf(26L))); + } else { + value = value.longValue(); + expected = 26L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[121]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[121] + "' != '" + 131 + "'", + value.equals(BigInteger.valueOf(131L))); + } else { + value = value.longValue(); + expected = 131L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[122]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[122] + "' != '" + 154 + "'", + value.equals(BigInteger.valueOf(154L))); + } else { + value = value.longValue(); + expected = 154L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[123]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[123] + "' != '" + 65 + "'", + value.equals(BigInteger.valueOf(65L))); + } else { + value = value.longValue(); + expected = 65L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[124]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[124] + "' != '" + 169 + "'", + value.equals(BigInteger.valueOf(169L))); + } else { + value = value.longValue(); + expected = 169L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[125]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[125] + "' != '" + 55 + "'", + value.equals(BigInteger.valueOf(55L))); + } else { + value = value.longValue(); + expected = 55L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[126]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[126] + "' != '" + 136 + "'", + value.equals(BigInteger.valueOf(136L))); + } else { + value = value.longValue(); + expected = 136L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[127]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[127] + "' != '" + 125 + "'", + value.equals(BigInteger.valueOf(125L))); + } else { + value = value.longValue(); + expected = 125L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[128]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[128] + "' != '" + 171 + "'", + value.equals(BigInteger.valueOf(171L))); + } else { + value = value.longValue(); + expected = 171L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[129]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[129] + "' != '" + 161 + "'", + value.equals(BigInteger.valueOf(161L))); + } else { + value = value.longValue(); + expected = 161L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[130]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[130] + "' != '" + 29 + "'", + value.equals(BigInteger.valueOf(29L))); + } else { + value = value.longValue(); + expected = 29L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[131]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[131] + "' != '" + 129 + "'", + value.equals(BigInteger.valueOf(129L))); + } else { + value = value.longValue(); + expected = 129L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[132]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[132] + "' != '" + 151 + "'", + value.equals(BigInteger.valueOf(151L))); + } else { + value = value.longValue(); + expected = 151L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[133]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[133] + "' != '" + 68 + "'", + value.equals(BigInteger.valueOf(68L))); + } else { + value = value.longValue(); + expected = 68L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[134]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[134] + "' != '" + 166 + "'", + value.equals(BigInteger.valueOf(166L))); + } else { + value = value.longValue(); + expected = 166L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[135]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[135] + "' != '" + 51 + "'", + value.equals(BigInteger.valueOf(51L))); + } else { + value = value.longValue(); + expected = 51L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[136]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[136] + "' != '" + 70 + "'", + value.equals(BigInteger.valueOf(70L))); + } else { + value = value.longValue(); + expected = 70L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[137]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[137] + "' != '" + 45 + "'", + value.equals(BigInteger.valueOf(45L))); + } else { + value = value.longValue(); + expected = 45L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[138]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[138] + "' != '" + 56 + "'", + value.equals(BigInteger.valueOf(56L))); + } else { + value = value.longValue(); + expected = 56L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[139]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[139] + "' != '" + 79 + "'", + value.equals(BigInteger.valueOf(79L))); + } else { + value = value.longValue(); + expected = 79L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[140]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[140] + "' != '" + 149 + "'", + value.equals(BigInteger.valueOf(149L))); + } else { + value = value.longValue(); + expected = 149L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[141]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[141] + "' != '" + 99 + "'", + value.equals(BigInteger.valueOf(99L))); + } else { + value = value.longValue(); + expected = 99L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[142]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[142] + "' != '" + 42 + "'", + value.equals(BigInteger.valueOf(42L))); + } else { + value = value.longValue(); + expected = 42L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[143]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[143] + "' != '" + 101 + "'", + value.equals(BigInteger.valueOf(101L))); + } else { + value = value.longValue(); + expected = 101L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[144]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[144] + "' != '" + 152 + "'", + value.equals(BigInteger.valueOf(152L))); + } else { + value = value.longValue(); + expected = 152L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[145]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[145] + "' != '" + 39 + "'", + value.equals(BigInteger.valueOf(39L))); + } else { + value = value.longValue(); + expected = 39L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[146]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[146] + "' != '" + 89 + "'", + value.equals(BigInteger.valueOf(89L))); + } else { + value = value.longValue(); + expected = 89L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[147]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[147] + "' != '" + 180 + "'", + value.equals(BigInteger.valueOf(180L))); + } else { + value = value.longValue(); + expected = 180L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[148]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[148] + "' != '" + 64 + "'", + value.equals(BigInteger.valueOf(64L))); + } else { + value = value.longValue(); + expected = 64L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[149]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[149] + "' != '" + 49 + "'", + value.equals(BigInteger.valueOf(49L))); + } else { + value = value.longValue(); + expected = 49L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[150]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[150] + "' != '" + 6 + "'", + value.equals(BigInteger.valueOf(6L))); + } else { + value = value.longValue(); + expected = 6L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[151]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[151] + "' != '" + 80 + "'", + value.equals(BigInteger.valueOf(80L))); + } else { + value = value.longValue(); + expected = 80L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[152]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[152] + "' != '" + 172 + "'", + value.equals(BigInteger.valueOf(172L))); + } else { + value = value.longValue(); + expected = 172L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[153]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[153] + "' != '" + 32 + "'", + value.equals(BigInteger.valueOf(32L))); + } else { + value = value.longValue(); + expected = 32L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[154]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[154] + "' != '" + 109 + "'", + value.equals(BigInteger.valueOf(109L))); + } else { + value = value.longValue(); + expected = 109L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[155]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[155] + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[156]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[156] + "' != '" + 119 + "'", + value.equals(BigInteger.valueOf(119L))); + } else { + value = value.longValue(); + expected = 119L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[157]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[157] + "' != '" + 93 + "'", + value.equals(BigInteger.valueOf(93L))); + } else { + value = value.longValue(); + expected = 93L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[158]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[158] + "' != '" + 176 + "'", + value.equals(BigInteger.valueOf(176L))); + } else { + value = value.longValue(); + expected = 176L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[159]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[159] + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[160]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[160] + "' != '" + 33 + "'", + value.equals(BigInteger.valueOf(33L))); + } else { + value = value.longValue(); + expected = 33L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[161]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[161] + "' != '" + 57 + "'", + value.equals(BigInteger.valueOf(57L))); + } else { + value = value.longValue(); + expected = 57L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[162]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[162] + "' != '" + 34 + "'", + value.equals(BigInteger.valueOf(34L))); + } else { + value = value.longValue(); + expected = 34L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[163]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[163] + "' != '" + 18 + "'", + value.equals(BigInteger.valueOf(18L))); + } else { + value = value.longValue(); + expected = 18L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[164]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[164] + "' != '" + 85 + "'", + value.equals(BigInteger.valueOf(85L))); + } else { + value = value.longValue(); + expected = 85L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[165]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[165] + "' != '" + 121 + "'", + value.equals(BigInteger.valueOf(121L))); + } else { + value = value.longValue(); + expected = 121L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[166]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[166] + "' != '" + 137 + "'", + value.equals(BigInteger.valueOf(137L))); + } else { + value = value.longValue(); + expected = 137L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[167]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[167] + "' != '" + 83 + "'", + value.equals(BigInteger.valueOf(83L))); + } else { + value = value.longValue(); + expected = 83L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[168]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[168] + "' != '" + 111 + "'", + value.equals(BigInteger.valueOf(111L))); + } else { + value = value.longValue(); + expected = 111L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[169]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[169] + "' != '" + 59 + "'", + value.equals(BigInteger.valueOf(59L))); + } else { + value = value.longValue(); + expected = 59L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[170]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[170] + "' != '" + 7 + "'", + value.equals(BigInteger.valueOf(7L))); + } else { + value = value.longValue(); + expected = 7L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[171]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[171] + "' != '" + 77 + "'", + value.equals(BigInteger.valueOf(77L))); + } else { + value = value.longValue(); + expected = 77L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[172]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[172] + "' != '" + 4 + "'", + value.equals(BigInteger.valueOf(4L))); + } else { + value = value.longValue(); + expected = 4L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[173]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[173] + "' != '" + 117 + "'", + value.equals(BigInteger.valueOf(117L))); + } else { + value = value.longValue(); + expected = 117L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[174]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[174] + "' != '" + 159 + "'", + value.equals(BigInteger.valueOf(159L))); + } else { + value = value.longValue(); + expected = 159L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[175]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[175] + "' != '" + 148 + "'", + value.equals(BigInteger.valueOf(148L))); + } else { + value = value.longValue(); + expected = 148L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[176]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[176] + "' != '" + 35 + "'", + value.equals(BigInteger.valueOf(35L))); + } else { + value = value.longValue(); + expected = 35L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[177]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[177] + "' != '" + 61 + "'", + value.equals(BigInteger.valueOf(61L))); + } else { + value = value.longValue(); + expected = 61L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[178]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[178] + "' != '" + 41 + "'", + value.equals(BigInteger.valueOf(41L))); + } else { + value = value.longValue(); + expected = 41L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[179]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[179] + "' != '" + 67 + "'", + value.equals(BigInteger.valueOf(67L))); + } else { + value = value.longValue(); + expected = 67L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[180]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[180] + "' != '" + 46 + "'", + value.equals(BigInteger.valueOf(46L))); + } else { + value = value.longValue(); + expected = 46L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[181]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[181] + "' != '" + 127 + "'", + value.equals(BigInteger.valueOf(127L))); + } else { + value = value.longValue(); + expected = 127L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[182]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[182] + "' != '" + 75 + "'", + value.equals(BigInteger.valueOf(75L))); + } else { + value = value.longValue(); + expected = 75L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.signed_messages[183]; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.signed_messages[183] + "' != '" + 174 + "'", + value.equals(BigInteger.valueOf(174L))); + } else { + value = value.longValue(); + expected = 174L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.stream_counter; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.stream_counter + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + + org.junit.Assert.assertNotEquals("", msg.getFriendlyName()); + } +} diff --git a/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java b/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java index 17ce0d997f..a2c85a9a37 100644 --- a/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java +++ b/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java @@ -32,261 +32,18 @@ public void test1() throws Throwable { System.out.format("%n%s%n", "auto_check_sbp_signing_MsgEcdsaSignatureTest.test1"); byte[] payload = new byte[] { - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 0, - (byte) 1, - (byte) 2, - (byte) 3, - (byte) 4, - (byte) 5, - (byte) 6, - (byte) 7, - (byte) 10, - (byte) 21, - (byte) 23, - (byte) 63, - (byte) 140, - (byte) 37, - (byte) 130, - (byte) 106, - (byte) 28, - (byte) 40, - (byte) 165, - (byte) 179, - (byte) 73, - (byte) 178, - (byte) 60, - (byte) 126, - (byte) 114, - (byte) 78, - (byte) 113, - (byte) 27, - (byte) 95, - (byte) 3, - (byte) 62, - (byte) 104, - (byte) 145, - (byte) 96, - (byte) 19, - (byte) 92, - (byte) 123, - (byte) 14, - (byte) 90, - (byte) 153, - (byte) 183, - (byte) 9, - (byte) 72, - (byte) 81, - (byte) 118, - (byte) 112, - (byte) 124, - (byte) 16, - (byte) 182, - (byte) 76, - (byte) 146, - (byte) 115, - (byte) 58, - (byte) 144, - (byte) 17, - (byte) 105, - (byte) 66, - (byte) 31, - (byte) 135, - (byte) 54, - (byte) 100, - (byte) 84, - (byte) 181, - (byte) 103, - (byte) 11, - (byte) 88, - (byte) 133, - (byte) 155, - (byte) 167, - (byte) 173, - (byte) 143, - (byte) 86, - (byte) 158, - (byte) 20, - (byte) 168, - (byte) 132, - (byte) 141, - (byte) 102, - (byte) 50, - (byte) 48, - (byte) 71, - (byte) 147, - (byte) 53, - (byte) 87, - (byte) 1, - (byte) 108, - (byte) 138, - (byte) 36, - (byte) 134, - (byte) 139, - (byte) 163, - (byte) 82, - (byte) 43, - (byte) 52, - (byte) 150, - (byte) 12, - (byte) 30, - (byte) 110, - (byte) 156, - (byte) 107, - (byte) 120, - (byte) 91, - (byte) 122, - (byte) 69, - (byte) 164, - (byte) 170, - (byte) 116, - (byte) 25, - (byte) 94, - (byte) 5, - (byte) 22, - (byte) 24, - (byte) 162, - (byte) 175, - (byte) 38, - (byte) 157, - (byte) 98, - (byte) 44, - (byte) 160, - (byte) 47, - (byte) 97, - (byte) 142, - (byte) 8, - (byte) 74, - (byte) 13, - (byte) 177, - (byte) 15, - (byte) 128, - (byte) 26, - (byte) 131, - (byte) 154, - (byte) 65, - (byte) 169, - (byte) 55, - (byte) 136, - (byte) 125, - (byte) 171, - (byte) 161, - (byte) 29, - (byte) 129, - (byte) 151, - (byte) 68, - (byte) 166, - (byte) 51, - (byte) 70, - (byte) 45, - (byte) 56, - (byte) 79, - (byte) 149, - (byte) 99, - (byte) 42, - (byte) 101, - (byte) 152, - (byte) 39, - (byte) 89, - (byte) 180, - (byte) 64, - (byte) 49, - (byte) 6, - (byte) 80, - (byte) 172, - (byte) 32, - (byte) 109, - (byte) 2, - (byte) 119, - (byte) 93, - (byte) 176, - (byte) 0, - (byte) 33, - (byte) 57, - (byte) 34, - (byte) 18, - (byte) 85, - (byte) 121, - (byte) 137, - (byte) 83, - (byte) 111, - (byte) 59, - (byte) 7, - (byte) 77, - (byte) 4, - (byte) 117, - (byte) 159, - (byte) 148, - (byte) 35, - (byte) 61, - (byte) 41, - (byte) 67, - (byte) 46, - (byte) 127, - (byte) 75, - (byte) 174, + (byte) 0, (byte) 1, (byte) 2, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 73, + (byte) 0, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 6, (byte) 7, + (byte) 8, (byte) 9, (byte) 10, (byte) 11, (byte) 12, (byte) 13, (byte) 14, + (byte) 15, (byte) 16, (byte) 17, (byte) 18, (byte) 19, (byte) 20, (byte) 21, + (byte) 22, (byte) 23, (byte) 24, (byte) 25, (byte) 26, (byte) 27, (byte) 28, + (byte) 29, (byte) 30, (byte) 31, (byte) 32, (byte) 33, (byte) 34, (byte) 35, + (byte) 36, (byte) 37, (byte) 38, (byte) 39, (byte) 40, (byte) 41, (byte) 42, + (byte) 43, (byte) 44, (byte) 45, (byte) 46, (byte) 47, (byte) 48, (byte) 49, + (byte) 50, (byte) 51, (byte) 52, (byte) 53, (byte) 54, (byte) 55, (byte) 56, + (byte) 57, (byte) 58, (byte) 59, (byte) 60, (byte) 61, (byte) 62, (byte) 63, + (byte) 64, (byte) 65, (byte) 66, (byte) 67, (byte) 68, (byte) 69, (byte) 70, + (byte) 71, (byte) 72, (byte) 10, (byte) 21, (byte) 23, }; SBPMessage sbp = new SBPMessage(0x42, 0xC06, payload); MsgEcdsaSignature msg = new MsgEcdsaSignature(sbp); @@ -342,6 +99,16 @@ public void test1() throws Throwable { expected = 0L; org.junit.Assert.assertEquals(value, expected); } + value = msg.n_signature_bytes; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.n_signature_bytes + "' != '" + 73 + "'", + value.equals(BigInteger.valueOf(73L))); + } else { + value = value.longValue(); + expected = 73L; + org.junit.Assert.assertEquals(value, expected); + } value = msg.on_demand_counter; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( @@ -435,2401 +202,681 @@ public void test1() throws Throwable { value = msg.signature[8]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[8] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); + "'" + msg.signature[8] + "' != '" + 8 + "'", + value.equals(BigInteger.valueOf(8L))); } else { value = value.longValue(); - expected = 0L; + expected = 8L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[9]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[9] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); + "'" + msg.signature[9] + "' != '" + 9 + "'", + value.equals(BigInteger.valueOf(9L))); } else { value = value.longValue(); - expected = 1L; + expected = 9L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[10]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[10] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); + "'" + msg.signature[10] + "' != '" + 10 + "'", + value.equals(BigInteger.valueOf(10L))); } else { value = value.longValue(); - expected = 2L; + expected = 10L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[11]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[11] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); + "'" + msg.signature[11] + "' != '" + 11 + "'", + value.equals(BigInteger.valueOf(11L))); } else { value = value.longValue(); - expected = 3L; + expected = 11L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[12]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[12] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); + "'" + msg.signature[12] + "' != '" + 12 + "'", + value.equals(BigInteger.valueOf(12L))); } else { value = value.longValue(); - expected = 4L; + expected = 12L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[13]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[13] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); + "'" + msg.signature[13] + "' != '" + 13 + "'", + value.equals(BigInteger.valueOf(13L))); } else { value = value.longValue(); - expected = 5L; + expected = 13L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[14]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[14] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); + "'" + msg.signature[14] + "' != '" + 14 + "'", + value.equals(BigInteger.valueOf(14L))); } else { value = value.longValue(); - expected = 6L; + expected = 14L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[15]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[15] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); + "'" + msg.signature[15] + "' != '" + 15 + "'", + value.equals(BigInteger.valueOf(15L))); } else { value = value.longValue(); - expected = 7L; + expected = 15L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[16]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[16] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); + "'" + msg.signature[16] + "' != '" + 16 + "'", + value.equals(BigInteger.valueOf(16L))); } else { value = value.longValue(); - expected = 0L; + expected = 16L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[17]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[17] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); + "'" + msg.signature[17] + "' != '" + 17 + "'", + value.equals(BigInteger.valueOf(17L))); } else { value = value.longValue(); - expected = 1L; + expected = 17L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[18]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[18] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); + "'" + msg.signature[18] + "' != '" + 18 + "'", + value.equals(BigInteger.valueOf(18L))); } else { value = value.longValue(); - expected = 2L; + expected = 18L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[19]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[19] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); + "'" + msg.signature[19] + "' != '" + 19 + "'", + value.equals(BigInteger.valueOf(19L))); } else { value = value.longValue(); - expected = 3L; + expected = 19L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[20]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[20] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); + "'" + msg.signature[20] + "' != '" + 20 + "'", + value.equals(BigInteger.valueOf(20L))); } else { value = value.longValue(); - expected = 4L; + expected = 20L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[21]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[21] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); + "'" + msg.signature[21] + "' != '" + 21 + "'", + value.equals(BigInteger.valueOf(21L))); } else { value = value.longValue(); - expected = 5L; + expected = 21L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[22]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[22] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); + "'" + msg.signature[22] + "' != '" + 22 + "'", + value.equals(BigInteger.valueOf(22L))); } else { value = value.longValue(); - expected = 6L; + expected = 22L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[23]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[23] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); + "'" + msg.signature[23] + "' != '" + 23 + "'", + value.equals(BigInteger.valueOf(23L))); } else { value = value.longValue(); - expected = 7L; + expected = 23L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[24]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[24] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); + "'" + msg.signature[24] + "' != '" + 24 + "'", + value.equals(BigInteger.valueOf(24L))); } else { value = value.longValue(); - expected = 0L; + expected = 24L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[25]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[25] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); + "'" + msg.signature[25] + "' != '" + 25 + "'", + value.equals(BigInteger.valueOf(25L))); } else { value = value.longValue(); - expected = 1L; + expected = 25L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[26]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[26] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); + "'" + msg.signature[26] + "' != '" + 26 + "'", + value.equals(BigInteger.valueOf(26L))); } else { value = value.longValue(); - expected = 2L; + expected = 26L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[27]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[27] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); + "'" + msg.signature[27] + "' != '" + 27 + "'", + value.equals(BigInteger.valueOf(27L))); } else { value = value.longValue(); - expected = 3L; + expected = 27L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[28]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[28] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); + "'" + msg.signature[28] + "' != '" + 28 + "'", + value.equals(BigInteger.valueOf(28L))); } else { value = value.longValue(); - expected = 4L; + expected = 28L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[29]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[29] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); + "'" + msg.signature[29] + "' != '" + 29 + "'", + value.equals(BigInteger.valueOf(29L))); } else { value = value.longValue(); - expected = 5L; + expected = 29L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[30]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[30] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); + "'" + msg.signature[30] + "' != '" + 30 + "'", + value.equals(BigInteger.valueOf(30L))); } else { value = value.longValue(); - expected = 6L; + expected = 30L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[31]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[31] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); + "'" + msg.signature[31] + "' != '" + 31 + "'", + value.equals(BigInteger.valueOf(31L))); } else { value = value.longValue(); - expected = 7L; + expected = 31L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[32]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[32] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); + "'" + msg.signature[32] + "' != '" + 32 + "'", + value.equals(BigInteger.valueOf(32L))); } else { value = value.longValue(); - expected = 0L; + expected = 32L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[33]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[33] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); + "'" + msg.signature[33] + "' != '" + 33 + "'", + value.equals(BigInteger.valueOf(33L))); } else { value = value.longValue(); - expected = 1L; + expected = 33L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[34]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[34] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); + "'" + msg.signature[34] + "' != '" + 34 + "'", + value.equals(BigInteger.valueOf(34L))); } else { value = value.longValue(); - expected = 2L; + expected = 34L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[35]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[35] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); + "'" + msg.signature[35] + "' != '" + 35 + "'", + value.equals(BigInteger.valueOf(35L))); } else { value = value.longValue(); - expected = 3L; + expected = 35L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[36]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[36] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); + "'" + msg.signature[36] + "' != '" + 36 + "'", + value.equals(BigInteger.valueOf(36L))); } else { value = value.longValue(); - expected = 4L; + expected = 36L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[37]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[37] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); + "'" + msg.signature[37] + "' != '" + 37 + "'", + value.equals(BigInteger.valueOf(37L))); } else { value = value.longValue(); - expected = 5L; + expected = 37L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[38]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[38] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); + "'" + msg.signature[38] + "' != '" + 38 + "'", + value.equals(BigInteger.valueOf(38L))); } else { value = value.longValue(); - expected = 6L; + expected = 38L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[39]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[39] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); + "'" + msg.signature[39] + "' != '" + 39 + "'", + value.equals(BigInteger.valueOf(39L))); } else { value = value.longValue(); - expected = 7L; + expected = 39L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[40]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[40] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); + "'" + msg.signature[40] + "' != '" + 40 + "'", + value.equals(BigInteger.valueOf(40L))); } else { value = value.longValue(); - expected = 0L; + expected = 40L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[41]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[41] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); + "'" + msg.signature[41] + "' != '" + 41 + "'", + value.equals(BigInteger.valueOf(41L))); } else { value = value.longValue(); - expected = 1L; + expected = 41L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[42]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[42] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); + "'" + msg.signature[42] + "' != '" + 42 + "'", + value.equals(BigInteger.valueOf(42L))); } else { value = value.longValue(); - expected = 2L; + expected = 42L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[43]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[43] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); + "'" + msg.signature[43] + "' != '" + 43 + "'", + value.equals(BigInteger.valueOf(43L))); } else { value = value.longValue(); - expected = 3L; + expected = 43L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[44]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[44] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); + "'" + msg.signature[44] + "' != '" + 44 + "'", + value.equals(BigInteger.valueOf(44L))); } else { value = value.longValue(); - expected = 4L; + expected = 44L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[45]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[45] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); + "'" + msg.signature[45] + "' != '" + 45 + "'", + value.equals(BigInteger.valueOf(45L))); } else { value = value.longValue(); - expected = 5L; + expected = 45L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[46]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[46] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); + "'" + msg.signature[46] + "' != '" + 46 + "'", + value.equals(BigInteger.valueOf(46L))); } else { value = value.longValue(); - expected = 6L; + expected = 46L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[47]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[47] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); + "'" + msg.signature[47] + "' != '" + 47 + "'", + value.equals(BigInteger.valueOf(47L))); } else { value = value.longValue(); - expected = 7L; + expected = 47L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[48]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[48] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); + "'" + msg.signature[48] + "' != '" + 48 + "'", + value.equals(BigInteger.valueOf(48L))); } else { value = value.longValue(); - expected = 0L; + expected = 48L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[49]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[49] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); + "'" + msg.signature[49] + "' != '" + 49 + "'", + value.equals(BigInteger.valueOf(49L))); } else { value = value.longValue(); - expected = 1L; + expected = 49L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[50]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[50] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); + "'" + msg.signature[50] + "' != '" + 50 + "'", + value.equals(BigInteger.valueOf(50L))); } else { value = value.longValue(); - expected = 2L; + expected = 50L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[51]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[51] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); + "'" + msg.signature[51] + "' != '" + 51 + "'", + value.equals(BigInteger.valueOf(51L))); } else { value = value.longValue(); - expected = 3L; + expected = 51L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[52]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[52] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); + "'" + msg.signature[52] + "' != '" + 52 + "'", + value.equals(BigInteger.valueOf(52L))); } else { value = value.longValue(); - expected = 4L; + expected = 52L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[53]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[53] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); + "'" + msg.signature[53] + "' != '" + 53 + "'", + value.equals(BigInteger.valueOf(53L))); } else { value = value.longValue(); - expected = 5L; + expected = 53L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[54]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[54] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); + "'" + msg.signature[54] + "' != '" + 54 + "'", + value.equals(BigInteger.valueOf(54L))); } else { value = value.longValue(); - expected = 6L; + expected = 54L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[55]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[55] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); + "'" + msg.signature[55] + "' != '" + 55 + "'", + value.equals(BigInteger.valueOf(55L))); } else { value = value.longValue(); - expected = 7L; + expected = 55L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[56]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[56] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); + "'" + msg.signature[56] + "' != '" + 56 + "'", + value.equals(BigInteger.valueOf(56L))); } else { value = value.longValue(); - expected = 0L; + expected = 56L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[57]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[57] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); + "'" + msg.signature[57] + "' != '" + 57 + "'", + value.equals(BigInteger.valueOf(57L))); } else { value = value.longValue(); - expected = 1L; + expected = 57L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[58]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[58] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); + "'" + msg.signature[58] + "' != '" + 58 + "'", + value.equals(BigInteger.valueOf(58L))); } else { value = value.longValue(); - expected = 2L; + expected = 58L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[59]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[59] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); + "'" + msg.signature[59] + "' != '" + 59 + "'", + value.equals(BigInteger.valueOf(59L))); } else { value = value.longValue(); - expected = 3L; + expected = 59L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[60]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[60] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); + "'" + msg.signature[60] + "' != '" + 60 + "'", + value.equals(BigInteger.valueOf(60L))); } else { value = value.longValue(); - expected = 4L; + expected = 60L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[61]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[61] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); + "'" + msg.signature[61] + "' != '" + 61 + "'", + value.equals(BigInteger.valueOf(61L))); } else { value = value.longValue(); - expected = 5L; + expected = 61L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[62]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[62] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); + "'" + msg.signature[62] + "' != '" + 62 + "'", + value.equals(BigInteger.valueOf(62L))); } else { value = value.longValue(); - expected = 6L; + expected = 62L; org.junit.Assert.assertEquals(value, expected); } value = msg.signature[63]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signature[63] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); + "'" + msg.signature[63] + "' != '" + 63 + "'", + value.equals(BigInteger.valueOf(63L))); } else { value = value.longValue(); - expected = 7L; + expected = 63L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[0]; + value = msg.signature[64]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[0] + "' != '" + 10 + "'", - value.equals(BigInteger.valueOf(10L))); + "'" + msg.signature[64] + "' != '" + 64 + "'", + value.equals(BigInteger.valueOf(64L))); } else { value = value.longValue(); - expected = 10L; + expected = 64L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[1]; + value = msg.signature[65]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[1] + "' != '" + 21 + "'", - value.equals(BigInteger.valueOf(21L))); + "'" + msg.signature[65] + "' != '" + 65 + "'", + value.equals(BigInteger.valueOf(65L))); } else { value = value.longValue(); - expected = 21L; + expected = 65L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[2]; + value = msg.signature[66]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[2] + "' != '" + 23 + "'", - value.equals(BigInteger.valueOf(23L))); + "'" + msg.signature[66] + "' != '" + 66 + "'", + value.equals(BigInteger.valueOf(66L))); } else { value = value.longValue(); - expected = 23L; + expected = 66L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[3]; + value = msg.signature[67]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[3] + "' != '" + 63 + "'", - value.equals(BigInteger.valueOf(63L))); + "'" + msg.signature[67] + "' != '" + 67 + "'", + value.equals(BigInteger.valueOf(67L))); } else { value = value.longValue(); - expected = 63L; + expected = 67L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[4]; + value = msg.signature[68]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[4] + "' != '" + 140 + "'", - value.equals(BigInteger.valueOf(140L))); + "'" + msg.signature[68] + "' != '" + 68 + "'", + value.equals(BigInteger.valueOf(68L))); } else { value = value.longValue(); - expected = 140L; + expected = 68L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[5]; + value = msg.signature[69]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[5] + "' != '" + 37 + "'", - value.equals(BigInteger.valueOf(37L))); - } else { - value = value.longValue(); - expected = 37L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[6]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[6] + "' != '" + 130 + "'", - value.equals(BigInteger.valueOf(130L))); - } else { - value = value.longValue(); - expected = 130L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[7]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[7] + "' != '" + 106 + "'", - value.equals(BigInteger.valueOf(106L))); - } else { - value = value.longValue(); - expected = 106L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[8]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[8] + "' != '" + 28 + "'", - value.equals(BigInteger.valueOf(28L))); - } else { - value = value.longValue(); - expected = 28L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[9]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[9] + "' != '" + 40 + "'", - value.equals(BigInteger.valueOf(40L))); - } else { - value = value.longValue(); - expected = 40L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[10]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[10] + "' != '" + 165 + "'", - value.equals(BigInteger.valueOf(165L))); - } else { - value = value.longValue(); - expected = 165L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[11]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[11] + "' != '" + 179 + "'", - value.equals(BigInteger.valueOf(179L))); - } else { - value = value.longValue(); - expected = 179L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[12]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[12] + "' != '" + 73 + "'", - value.equals(BigInteger.valueOf(73L))); - } else { - value = value.longValue(); - expected = 73L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[13]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[13] + "' != '" + 178 + "'", - value.equals(BigInteger.valueOf(178L))); - } else { - value = value.longValue(); - expected = 178L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[14]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[14] + "' != '" + 60 + "'", - value.equals(BigInteger.valueOf(60L))); - } else { - value = value.longValue(); - expected = 60L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[15]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[15] + "' != '" + 126 + "'", - value.equals(BigInteger.valueOf(126L))); - } else { - value = value.longValue(); - expected = 126L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[16]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[16] + "' != '" + 114 + "'", - value.equals(BigInteger.valueOf(114L))); - } else { - value = value.longValue(); - expected = 114L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[17]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[17] + "' != '" + 78 + "'", - value.equals(BigInteger.valueOf(78L))); - } else { - value = value.longValue(); - expected = 78L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[18]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[18] + "' != '" + 113 + "'", - value.equals(BigInteger.valueOf(113L))); - } else { - value = value.longValue(); - expected = 113L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[19]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[19] + "' != '" + 27 + "'", - value.equals(BigInteger.valueOf(27L))); - } else { - value = value.longValue(); - expected = 27L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[20]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[20] + "' != '" + 95 + "'", - value.equals(BigInteger.valueOf(95L))); - } else { - value = value.longValue(); - expected = 95L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[21]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[21] + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); - } else { - value = value.longValue(); - expected = 3L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[22]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[22] + "' != '" + 62 + "'", - value.equals(BigInteger.valueOf(62L))); - } else { - value = value.longValue(); - expected = 62L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[23]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[23] + "' != '" + 104 + "'", - value.equals(BigInteger.valueOf(104L))); - } else { - value = value.longValue(); - expected = 104L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[24]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[24] + "' != '" + 145 + "'", - value.equals(BigInteger.valueOf(145L))); - } else { - value = value.longValue(); - expected = 145L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[25]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[25] + "' != '" + 96 + "'", - value.equals(BigInteger.valueOf(96L))); - } else { - value = value.longValue(); - expected = 96L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[26]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[26] + "' != '" + 19 + "'", - value.equals(BigInteger.valueOf(19L))); - } else { - value = value.longValue(); - expected = 19L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[27]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[27] + "' != '" + 92 + "'", - value.equals(BigInteger.valueOf(92L))); - } else { - value = value.longValue(); - expected = 92L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[28]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[28] + "' != '" + 123 + "'", - value.equals(BigInteger.valueOf(123L))); - } else { - value = value.longValue(); - expected = 123L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[29]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[29] + "' != '" + 14 + "'", - value.equals(BigInteger.valueOf(14L))); - } else { - value = value.longValue(); - expected = 14L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[30]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[30] + "' != '" + 90 + "'", - value.equals(BigInteger.valueOf(90L))); - } else { - value = value.longValue(); - expected = 90L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[31]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[31] + "' != '" + 153 + "'", - value.equals(BigInteger.valueOf(153L))); + "'" + msg.signature[69] + "' != '" + 69 + "'", + value.equals(BigInteger.valueOf(69L))); } else { value = value.longValue(); - expected = 153L; + expected = 69L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[32]; + value = msg.signature[70]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[32] + "' != '" + 183 + "'", - value.equals(BigInteger.valueOf(183L))); + "'" + msg.signature[70] + "' != '" + 70 + "'", + value.equals(BigInteger.valueOf(70L))); } else { value = value.longValue(); - expected = 183L; + expected = 70L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[33]; + value = msg.signature[71]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[33] + "' != '" + 9 + "'", - value.equals(BigInteger.valueOf(9L))); + "'" + msg.signature[71] + "' != '" + 71 + "'", + value.equals(BigInteger.valueOf(71L))); } else { value = value.longValue(); - expected = 9L; + expected = 71L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[34]; + value = msg.signature[72]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[34] + "' != '" + 72 + "'", + "'" + msg.signature[72] + "' != '" + 72 + "'", value.equals(BigInteger.valueOf(72L))); } else { value = value.longValue(); expected = 72L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[35]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[35] + "' != '" + 81 + "'", - value.equals(BigInteger.valueOf(81L))); - } else { - value = value.longValue(); - expected = 81L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[36]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[36] + "' != '" + 118 + "'", - value.equals(BigInteger.valueOf(118L))); - } else { - value = value.longValue(); - expected = 118L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[37]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[37] + "' != '" + 112 + "'", - value.equals(BigInteger.valueOf(112L))); - } else { - value = value.longValue(); - expected = 112L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[38]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[38] + "' != '" + 124 + "'", - value.equals(BigInteger.valueOf(124L))); - } else { - value = value.longValue(); - expected = 124L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[39]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[39] + "' != '" + 16 + "'", - value.equals(BigInteger.valueOf(16L))); - } else { - value = value.longValue(); - expected = 16L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[40]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[40] + "' != '" + 182 + "'", - value.equals(BigInteger.valueOf(182L))); - } else { - value = value.longValue(); - expected = 182L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[41]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[41] + "' != '" + 76 + "'", - value.equals(BigInteger.valueOf(76L))); - } else { - value = value.longValue(); - expected = 76L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[42]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[42] + "' != '" + 146 + "'", - value.equals(BigInteger.valueOf(146L))); - } else { - value = value.longValue(); - expected = 146L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[43]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[43] + "' != '" + 115 + "'", - value.equals(BigInteger.valueOf(115L))); - } else { - value = value.longValue(); - expected = 115L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[44]; + value = msg.signed_messages[0]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[44] + "' != '" + 58 + "'", - value.equals(BigInteger.valueOf(58L))); + "'" + msg.signed_messages[0] + "' != '" + 10 + "'", + value.equals(BigInteger.valueOf(10L))); } else { value = value.longValue(); - expected = 58L; + expected = 10L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[45]; + value = msg.signed_messages[1]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[45] + "' != '" + 144 + "'", - value.equals(BigInteger.valueOf(144L))); + "'" + msg.signed_messages[1] + "' != '" + 21 + "'", + value.equals(BigInteger.valueOf(21L))); } else { value = value.longValue(); - expected = 144L; + expected = 21L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signed_messages[46]; + value = msg.signed_messages[2]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.signed_messages[46] + "' != '" + 17 + "'", - value.equals(BigInteger.valueOf(17L))); + "'" + msg.signed_messages[2] + "' != '" + 23 + "'", + value.equals(BigInteger.valueOf(23L))); } else { value = value.longValue(); - expected = 17L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[47]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[47] + "' != '" + 105 + "'", - value.equals(BigInteger.valueOf(105L))); - } else { - value = value.longValue(); - expected = 105L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[48]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[48] + "' != '" + 66 + "'", - value.equals(BigInteger.valueOf(66L))); - } else { - value = value.longValue(); - expected = 66L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[49]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[49] + "' != '" + 31 + "'", - value.equals(BigInteger.valueOf(31L))); - } else { - value = value.longValue(); - expected = 31L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[50]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[50] + "' != '" + 135 + "'", - value.equals(BigInteger.valueOf(135L))); - } else { - value = value.longValue(); - expected = 135L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[51]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[51] + "' != '" + 54 + "'", - value.equals(BigInteger.valueOf(54L))); - } else { - value = value.longValue(); - expected = 54L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[52]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[52] + "' != '" + 100 + "'", - value.equals(BigInteger.valueOf(100L))); - } else { - value = value.longValue(); - expected = 100L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[53]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[53] + "' != '" + 84 + "'", - value.equals(BigInteger.valueOf(84L))); - } else { - value = value.longValue(); - expected = 84L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[54]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[54] + "' != '" + 181 + "'", - value.equals(BigInteger.valueOf(181L))); - } else { - value = value.longValue(); - expected = 181L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[55]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[55] + "' != '" + 103 + "'", - value.equals(BigInteger.valueOf(103L))); - } else { - value = value.longValue(); - expected = 103L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[56]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[56] + "' != '" + 11 + "'", - value.equals(BigInteger.valueOf(11L))); - } else { - value = value.longValue(); - expected = 11L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[57]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[57] + "' != '" + 88 + "'", - value.equals(BigInteger.valueOf(88L))); - } else { - value = value.longValue(); - expected = 88L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[58]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[58] + "' != '" + 133 + "'", - value.equals(BigInteger.valueOf(133L))); - } else { - value = value.longValue(); - expected = 133L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[59]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[59] + "' != '" + 155 + "'", - value.equals(BigInteger.valueOf(155L))); - } else { - value = value.longValue(); - expected = 155L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[60]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[60] + "' != '" + 167 + "'", - value.equals(BigInteger.valueOf(167L))); - } else { - value = value.longValue(); - expected = 167L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[61]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[61] + "' != '" + 173 + "'", - value.equals(BigInteger.valueOf(173L))); - } else { - value = value.longValue(); - expected = 173L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[62]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[62] + "' != '" + 143 + "'", - value.equals(BigInteger.valueOf(143L))); - } else { - value = value.longValue(); - expected = 143L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[63]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[63] + "' != '" + 86 + "'", - value.equals(BigInteger.valueOf(86L))); - } else { - value = value.longValue(); - expected = 86L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[64]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[64] + "' != '" + 158 + "'", - value.equals(BigInteger.valueOf(158L))); - } else { - value = value.longValue(); - expected = 158L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[65]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[65] + "' != '" + 20 + "'", - value.equals(BigInteger.valueOf(20L))); - } else { - value = value.longValue(); - expected = 20L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[66]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[66] + "' != '" + 168 + "'", - value.equals(BigInteger.valueOf(168L))); - } else { - value = value.longValue(); - expected = 168L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[67]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[67] + "' != '" + 132 + "'", - value.equals(BigInteger.valueOf(132L))); - } else { - value = value.longValue(); - expected = 132L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[68]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[68] + "' != '" + 141 + "'", - value.equals(BigInteger.valueOf(141L))); - } else { - value = value.longValue(); - expected = 141L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[69]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[69] + "' != '" + 102 + "'", - value.equals(BigInteger.valueOf(102L))); - } else { - value = value.longValue(); - expected = 102L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[70]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[70] + "' != '" + 50 + "'", - value.equals(BigInteger.valueOf(50L))); - } else { - value = value.longValue(); - expected = 50L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[71]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[71] + "' != '" + 48 + "'", - value.equals(BigInteger.valueOf(48L))); - } else { - value = value.longValue(); - expected = 48L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[72]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[72] + "' != '" + 71 + "'", - value.equals(BigInteger.valueOf(71L))); - } else { - value = value.longValue(); - expected = 71L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[73]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[73] + "' != '" + 147 + "'", - value.equals(BigInteger.valueOf(147L))); - } else { - value = value.longValue(); - expected = 147L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[74]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[74] + "' != '" + 53 + "'", - value.equals(BigInteger.valueOf(53L))); - } else { - value = value.longValue(); - expected = 53L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[75]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[75] + "' != '" + 87 + "'", - value.equals(BigInteger.valueOf(87L))); - } else { - value = value.longValue(); - expected = 87L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[76]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[76] + "' != '" + 1 + "'", - value.equals(BigInteger.valueOf(1L))); - } else { - value = value.longValue(); - expected = 1L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[77]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[77] + "' != '" + 108 + "'", - value.equals(BigInteger.valueOf(108L))); - } else { - value = value.longValue(); - expected = 108L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[78]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[78] + "' != '" + 138 + "'", - value.equals(BigInteger.valueOf(138L))); - } else { - value = value.longValue(); - expected = 138L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[79]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[79] + "' != '" + 36 + "'", - value.equals(BigInteger.valueOf(36L))); - } else { - value = value.longValue(); - expected = 36L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[80]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[80] + "' != '" + 134 + "'", - value.equals(BigInteger.valueOf(134L))); - } else { - value = value.longValue(); - expected = 134L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[81]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[81] + "' != '" + 139 + "'", - value.equals(BigInteger.valueOf(139L))); - } else { - value = value.longValue(); - expected = 139L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[82]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[82] + "' != '" + 163 + "'", - value.equals(BigInteger.valueOf(163L))); - } else { - value = value.longValue(); - expected = 163L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[83]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[83] + "' != '" + 82 + "'", - value.equals(BigInteger.valueOf(82L))); - } else { - value = value.longValue(); - expected = 82L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[84]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[84] + "' != '" + 43 + "'", - value.equals(BigInteger.valueOf(43L))); - } else { - value = value.longValue(); - expected = 43L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[85]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[85] + "' != '" + 52 + "'", - value.equals(BigInteger.valueOf(52L))); - } else { - value = value.longValue(); - expected = 52L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[86]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[86] + "' != '" + 150 + "'", - value.equals(BigInteger.valueOf(150L))); - } else { - value = value.longValue(); - expected = 150L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[87]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[87] + "' != '" + 12 + "'", - value.equals(BigInteger.valueOf(12L))); - } else { - value = value.longValue(); - expected = 12L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[88]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[88] + "' != '" + 30 + "'", - value.equals(BigInteger.valueOf(30L))); - } else { - value = value.longValue(); - expected = 30L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[89]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[89] + "' != '" + 110 + "'", - value.equals(BigInteger.valueOf(110L))); - } else { - value = value.longValue(); - expected = 110L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[90]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[90] + "' != '" + 156 + "'", - value.equals(BigInteger.valueOf(156L))); - } else { - value = value.longValue(); - expected = 156L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[91]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[91] + "' != '" + 107 + "'", - value.equals(BigInteger.valueOf(107L))); - } else { - value = value.longValue(); - expected = 107L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[92]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[92] + "' != '" + 120 + "'", - value.equals(BigInteger.valueOf(120L))); - } else { - value = value.longValue(); - expected = 120L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[93]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[93] + "' != '" + 91 + "'", - value.equals(BigInteger.valueOf(91L))); - } else { - value = value.longValue(); - expected = 91L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[94]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[94] + "' != '" + 122 + "'", - value.equals(BigInteger.valueOf(122L))); - } else { - value = value.longValue(); - expected = 122L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[95]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[95] + "' != '" + 69 + "'", - value.equals(BigInteger.valueOf(69L))); - } else { - value = value.longValue(); - expected = 69L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[96]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[96] + "' != '" + 164 + "'", - value.equals(BigInteger.valueOf(164L))); - } else { - value = value.longValue(); - expected = 164L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[97]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[97] + "' != '" + 170 + "'", - value.equals(BigInteger.valueOf(170L))); - } else { - value = value.longValue(); - expected = 170L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[98]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[98] + "' != '" + 116 + "'", - value.equals(BigInteger.valueOf(116L))); - } else { - value = value.longValue(); - expected = 116L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[99]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[99] + "' != '" + 25 + "'", - value.equals(BigInteger.valueOf(25L))); - } else { - value = value.longValue(); - expected = 25L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[100]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[100] + "' != '" + 94 + "'", - value.equals(BigInteger.valueOf(94L))); - } else { - value = value.longValue(); - expected = 94L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[101]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[101] + "' != '" + 5 + "'", - value.equals(BigInteger.valueOf(5L))); - } else { - value = value.longValue(); - expected = 5L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[102]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[102] + "' != '" + 22 + "'", - value.equals(BigInteger.valueOf(22L))); - } else { - value = value.longValue(); - expected = 22L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[103]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[103] + "' != '" + 24 + "'", - value.equals(BigInteger.valueOf(24L))); - } else { - value = value.longValue(); - expected = 24L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[104]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[104] + "' != '" + 162 + "'", - value.equals(BigInteger.valueOf(162L))); - } else { - value = value.longValue(); - expected = 162L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[105]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[105] + "' != '" + 175 + "'", - value.equals(BigInteger.valueOf(175L))); - } else { - value = value.longValue(); - expected = 175L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[106]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[106] + "' != '" + 38 + "'", - value.equals(BigInteger.valueOf(38L))); - } else { - value = value.longValue(); - expected = 38L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[107]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[107] + "' != '" + 157 + "'", - value.equals(BigInteger.valueOf(157L))); - } else { - value = value.longValue(); - expected = 157L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[108]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[108] + "' != '" + 98 + "'", - value.equals(BigInteger.valueOf(98L))); - } else { - value = value.longValue(); - expected = 98L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[109]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[109] + "' != '" + 44 + "'", - value.equals(BigInteger.valueOf(44L))); - } else { - value = value.longValue(); - expected = 44L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[110]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[110] + "' != '" + 160 + "'", - value.equals(BigInteger.valueOf(160L))); - } else { - value = value.longValue(); - expected = 160L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[111]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[111] + "' != '" + 47 + "'", - value.equals(BigInteger.valueOf(47L))); - } else { - value = value.longValue(); - expected = 47L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[112]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[112] + "' != '" + 97 + "'", - value.equals(BigInteger.valueOf(97L))); - } else { - value = value.longValue(); - expected = 97L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[113]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[113] + "' != '" + 142 + "'", - value.equals(BigInteger.valueOf(142L))); - } else { - value = value.longValue(); - expected = 142L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[114]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[114] + "' != '" + 8 + "'", - value.equals(BigInteger.valueOf(8L))); - } else { - value = value.longValue(); - expected = 8L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[115]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[115] + "' != '" + 74 + "'", - value.equals(BigInteger.valueOf(74L))); - } else { - value = value.longValue(); - expected = 74L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[116]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[116] + "' != '" + 13 + "'", - value.equals(BigInteger.valueOf(13L))); - } else { - value = value.longValue(); - expected = 13L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[117]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[117] + "' != '" + 177 + "'", - value.equals(BigInteger.valueOf(177L))); - } else { - value = value.longValue(); - expected = 177L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[118]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[118] + "' != '" + 15 + "'", - value.equals(BigInteger.valueOf(15L))); - } else { - value = value.longValue(); - expected = 15L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[119]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[119] + "' != '" + 128 + "'", - value.equals(BigInteger.valueOf(128L))); - } else { - value = value.longValue(); - expected = 128L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[120]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[120] + "' != '" + 26 + "'", - value.equals(BigInteger.valueOf(26L))); - } else { - value = value.longValue(); - expected = 26L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[121]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[121] + "' != '" + 131 + "'", - value.equals(BigInteger.valueOf(131L))); - } else { - value = value.longValue(); - expected = 131L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[122]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[122] + "' != '" + 154 + "'", - value.equals(BigInteger.valueOf(154L))); - } else { - value = value.longValue(); - expected = 154L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[123]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[123] + "' != '" + 65 + "'", - value.equals(BigInteger.valueOf(65L))); - } else { - value = value.longValue(); - expected = 65L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[124]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[124] + "' != '" + 169 + "'", - value.equals(BigInteger.valueOf(169L))); - } else { - value = value.longValue(); - expected = 169L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[125]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[125] + "' != '" + 55 + "'", - value.equals(BigInteger.valueOf(55L))); - } else { - value = value.longValue(); - expected = 55L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[126]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[126] + "' != '" + 136 + "'", - value.equals(BigInteger.valueOf(136L))); - } else { - value = value.longValue(); - expected = 136L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[127]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[127] + "' != '" + 125 + "'", - value.equals(BigInteger.valueOf(125L))); - } else { - value = value.longValue(); - expected = 125L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[128]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[128] + "' != '" + 171 + "'", - value.equals(BigInteger.valueOf(171L))); - } else { - value = value.longValue(); - expected = 171L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[129]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[129] + "' != '" + 161 + "'", - value.equals(BigInteger.valueOf(161L))); - } else { - value = value.longValue(); - expected = 161L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[130]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[130] + "' != '" + 29 + "'", - value.equals(BigInteger.valueOf(29L))); - } else { - value = value.longValue(); - expected = 29L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[131]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[131] + "' != '" + 129 + "'", - value.equals(BigInteger.valueOf(129L))); - } else { - value = value.longValue(); - expected = 129L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[132]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[132] + "' != '" + 151 + "'", - value.equals(BigInteger.valueOf(151L))); - } else { - value = value.longValue(); - expected = 151L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[133]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[133] + "' != '" + 68 + "'", - value.equals(BigInteger.valueOf(68L))); - } else { - value = value.longValue(); - expected = 68L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[134]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[134] + "' != '" + 166 + "'", - value.equals(BigInteger.valueOf(166L))); - } else { - value = value.longValue(); - expected = 166L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[135]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[135] + "' != '" + 51 + "'", - value.equals(BigInteger.valueOf(51L))); - } else { - value = value.longValue(); - expected = 51L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[136]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[136] + "' != '" + 70 + "'", - value.equals(BigInteger.valueOf(70L))); - } else { - value = value.longValue(); - expected = 70L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[137]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[137] + "' != '" + 45 + "'", - value.equals(BigInteger.valueOf(45L))); - } else { - value = value.longValue(); - expected = 45L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[138]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[138] + "' != '" + 56 + "'", - value.equals(BigInteger.valueOf(56L))); - } else { - value = value.longValue(); - expected = 56L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[139]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[139] + "' != '" + 79 + "'", - value.equals(BigInteger.valueOf(79L))); - } else { - value = value.longValue(); - expected = 79L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[140]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[140] + "' != '" + 149 + "'", - value.equals(BigInteger.valueOf(149L))); - } else { - value = value.longValue(); - expected = 149L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[141]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[141] + "' != '" + 99 + "'", - value.equals(BigInteger.valueOf(99L))); - } else { - value = value.longValue(); - expected = 99L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[142]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[142] + "' != '" + 42 + "'", - value.equals(BigInteger.valueOf(42L))); - } else { - value = value.longValue(); - expected = 42L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[143]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[143] + "' != '" + 101 + "'", - value.equals(BigInteger.valueOf(101L))); - } else { - value = value.longValue(); - expected = 101L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[144]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[144] + "' != '" + 152 + "'", - value.equals(BigInteger.valueOf(152L))); - } else { - value = value.longValue(); - expected = 152L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[145]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[145] + "' != '" + 39 + "'", - value.equals(BigInteger.valueOf(39L))); - } else { - value = value.longValue(); - expected = 39L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[146]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[146] + "' != '" + 89 + "'", - value.equals(BigInteger.valueOf(89L))); - } else { - value = value.longValue(); - expected = 89L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[147]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[147] + "' != '" + 180 + "'", - value.equals(BigInteger.valueOf(180L))); - } else { - value = value.longValue(); - expected = 180L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[148]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[148] + "' != '" + 64 + "'", - value.equals(BigInteger.valueOf(64L))); - } else { - value = value.longValue(); - expected = 64L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[149]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[149] + "' != '" + 49 + "'", - value.equals(BigInteger.valueOf(49L))); - } else { - value = value.longValue(); - expected = 49L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[150]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[150] + "' != '" + 6 + "'", - value.equals(BigInteger.valueOf(6L))); - } else { - value = value.longValue(); - expected = 6L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[151]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[151] + "' != '" + 80 + "'", - value.equals(BigInteger.valueOf(80L))); - } else { - value = value.longValue(); - expected = 80L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[152]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[152] + "' != '" + 172 + "'", - value.equals(BigInteger.valueOf(172L))); - } else { - value = value.longValue(); - expected = 172L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[153]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[153] + "' != '" + 32 + "'", - value.equals(BigInteger.valueOf(32L))); - } else { - value = value.longValue(); - expected = 32L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[154]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[154] + "' != '" + 109 + "'", - value.equals(BigInteger.valueOf(109L))); - } else { - value = value.longValue(); - expected = 109L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[155]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[155] + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); - } else { - value = value.longValue(); - expected = 2L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[156]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[156] + "' != '" + 119 + "'", - value.equals(BigInteger.valueOf(119L))); - } else { - value = value.longValue(); - expected = 119L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[157]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[157] + "' != '" + 93 + "'", - value.equals(BigInteger.valueOf(93L))); - } else { - value = value.longValue(); - expected = 93L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[158]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[158] + "' != '" + 176 + "'", - value.equals(BigInteger.valueOf(176L))); - } else { - value = value.longValue(); - expected = 176L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[159]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[159] + "' != '" + 0 + "'", - value.equals(BigInteger.valueOf(0L))); - } else { - value = value.longValue(); - expected = 0L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[160]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[160] + "' != '" + 33 + "'", - value.equals(BigInteger.valueOf(33L))); - } else { - value = value.longValue(); - expected = 33L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[161]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[161] + "' != '" + 57 + "'", - value.equals(BigInteger.valueOf(57L))); - } else { - value = value.longValue(); - expected = 57L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[162]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[162] + "' != '" + 34 + "'", - value.equals(BigInteger.valueOf(34L))); - } else { - value = value.longValue(); - expected = 34L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[163]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[163] + "' != '" + 18 + "'", - value.equals(BigInteger.valueOf(18L))); - } else { - value = value.longValue(); - expected = 18L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[164]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[164] + "' != '" + 85 + "'", - value.equals(BigInteger.valueOf(85L))); - } else { - value = value.longValue(); - expected = 85L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[165]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[165] + "' != '" + 121 + "'", - value.equals(BigInteger.valueOf(121L))); - } else { - value = value.longValue(); - expected = 121L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[166]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[166] + "' != '" + 137 + "'", - value.equals(BigInteger.valueOf(137L))); - } else { - value = value.longValue(); - expected = 137L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[167]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[167] + "' != '" + 83 + "'", - value.equals(BigInteger.valueOf(83L))); - } else { - value = value.longValue(); - expected = 83L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[168]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[168] + "' != '" + 111 + "'", - value.equals(BigInteger.valueOf(111L))); - } else { - value = value.longValue(); - expected = 111L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[169]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[169] + "' != '" + 59 + "'", - value.equals(BigInteger.valueOf(59L))); - } else { - value = value.longValue(); - expected = 59L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[170]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[170] + "' != '" + 7 + "'", - value.equals(BigInteger.valueOf(7L))); - } else { - value = value.longValue(); - expected = 7L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[171]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[171] + "' != '" + 77 + "'", - value.equals(BigInteger.valueOf(77L))); - } else { - value = value.longValue(); - expected = 77L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[172]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[172] + "' != '" + 4 + "'", - value.equals(BigInteger.valueOf(4L))); - } else { - value = value.longValue(); - expected = 4L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[173]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[173] + "' != '" + 117 + "'", - value.equals(BigInteger.valueOf(117L))); - } else { - value = value.longValue(); - expected = 117L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[174]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[174] + "' != '" + 159 + "'", - value.equals(BigInteger.valueOf(159L))); - } else { - value = value.longValue(); - expected = 159L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[175]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[175] + "' != '" + 148 + "'", - value.equals(BigInteger.valueOf(148L))); - } else { - value = value.longValue(); - expected = 148L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[176]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[176] + "' != '" + 35 + "'", - value.equals(BigInteger.valueOf(35L))); - } else { - value = value.longValue(); - expected = 35L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[177]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[177] + "' != '" + 61 + "'", - value.equals(BigInteger.valueOf(61L))); - } else { - value = value.longValue(); - expected = 61L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[178]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[178] + "' != '" + 41 + "'", - value.equals(BigInteger.valueOf(41L))); - } else { - value = value.longValue(); - expected = 41L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[179]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[179] + "' != '" + 67 + "'", - value.equals(BigInteger.valueOf(67L))); - } else { - value = value.longValue(); - expected = 67L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[180]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[180] + "' != '" + 46 + "'", - value.equals(BigInteger.valueOf(46L))); - } else { - value = value.longValue(); - expected = 46L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[181]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[181] + "' != '" + 127 + "'", - value.equals(BigInteger.valueOf(127L))); - } else { - value = value.longValue(); - expected = 127L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[182]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[182] + "' != '" + 75 + "'", - value.equals(BigInteger.valueOf(75L))); - } else { - value = value.longValue(); - expected = 75L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.signed_messages[183]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signed_messages[183] + "' != '" + 174 + "'", - value.equals(BigInteger.valueOf(174L))); - } else { - value = value.longValue(); - expected = 174L; + expected = 23L; org.junit.Assert.assertEquals(value, expected); } value = msg.stream_counter; diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index 89427eaafd..908caa2f78 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -1,15 +1,15 @@ -!function(e){var t={};function p(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,p),o.l=!0,o.exports}p.m=e,p.c=t,p.d=function(e,t,r){p.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,t){if(1&t&&(e=p(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(p.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)p.d(r,o,function(t){return e[t]}.bind(null,o));return r},p.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(t,"a",t),t},p.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},p.p="",p(p.s=24)}([function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="GnssSignal",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="GnssSignal",i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("sat").uint8("code"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sat","writeUInt8",1]),i.prototype.fieldSpec.push(["code","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="SvId",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="SvId",s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("satId").uint8("constellation"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["satId","writeUInt8",1]),s.prototype.fieldSpec.push(["constellation","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="GnssSignalDep",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="GnssSignalDep",n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("sat").uint8("code").uint8("reserved"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sat","writeUInt16LE",2]),n.prototype.fieldSpec.push(["code","writeUInt8",1]),n.prototype.fieldSpec.push(["reserved","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="GPSTimeDep",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="GPSTimeDep",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").uint16("wn"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["wn","writeUInt16LE",2]);let l=function(e,t){return r.call(this,e),this.messageType="GPSTimeSec",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="GPSTimeSec",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").uint16("wn"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["wn","writeUInt16LE",2]);let c=function(e,t){return r.call(this,e),this.messageType="GPSTime",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="GPSTime",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").int32("ns_residual").uint16("wn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),c.prototype.fieldSpec.push(["wn","writeUInt16LE",2]);let u=function(e,t){return r.call(this,e),this.messageType="CarrierPhase",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="CarrierPhase",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["i","writeInt32LE",4]),u.prototype.fieldSpec.push(["f","writeUInt8",1]),e.exports={GnssSignal:i,SvId:s,GnssSignalDep:n,GPSTimeDep:a,GPSTimeSec:l,GPSTime:c,CarrierPhase:u}},function(e,t,p){t.UINT32=p(44),t.UINT64=p(45)},function(e,t,p){(function(t){var r=p(43),o=(p(3),p(1).UINT64),i=function(e,p,r,o){var i=new t(e);return i[p](r,o||0),i};function s(e){return this.messageType="raw",this.sbp=e||{},this.fields={},this}o.prototype.toJSON=function(){return this.toString()},s.prototype.fieldSpec=[],s.prototype.payloadToBuffer=function(e,p){var i=[];for(var s in e=e||this.fieldSpec,p=p||this.fields,e){var n=e[s],a=n[0],l=n[1],c=function(e){return"function"==typeof e?e.apply(this):e}.bind(this);if("string"==typeof l&&0===l.indexOf("write")){var u=c(n[2]);if("writeUInt64LE"===l){r(p[a]instanceof o,"uint64 type must be represented by cuint.UINT64");var y=p[a].clone().shiftRight(32).and(new o(4294967295,0)).toNumber(),h=p[a].clone().and(new o(4294967295,0)).toNumber();let e=new t(8);e.writeUInt32LE(h),e.writeUInt32LE(y,4),i.push(e)}else{let e=new t(u);e[l](p[a],0),i.push(e)}}else if("string"===l){let e=new t(p[a].length);e.write(p[a],0,"utf8"),i.push(e)}else if("array"===l){var f=n[2];for(var d in p[a]){var _=p[a][d];if(Array.isArray(f))i=i.concat(this.payloadToBuffer(f,_));else{let e=new t(c(n[3]));e[f](_,0),i.push(e)}}}else i=i.concat(this.payloadToBuffer(l,p[a]))}return t.concat(i)},s.prototype.getLengthBuffer=function(){return i(1,"writeUInt8",this.length||this.sbp.length,0)},s.prototype.getSenderBuffer=function(){return i(2,"writeUInt16LE",this.sender||this.sbp.sender,0)},s.prototype.getPreambleBuffer=function(){return i(1,"writeUInt8",this.preamble||this.sbp.preamble,0)},s.prototype.getMsgTypeBuffer=function(){return i(2,"writeUInt16LE",this.msg_type||this.sbp.msg_type,0)},s.prototype.toBuffer=function(){var e=this.payloadToBuffer(),p=i(2,"writeUInt16LE",this.crc||this.sbp.crc,0),r=[this.getPreambleBuffer(),this.getMsgTypeBuffer(),this.getSenderBuffer(),this.getLengthBuffer()];return t.concat(r.concat(e).concat(p))},s.prototype.toJSON=function(){var e={};return Object.keys(this.sbp).forEach(function(p){this.sbp[p]instanceof t?e[p]=this.sbp[p].toString("base64"):e[p]=this.sbp[p]}.bind(this)),Object.keys(this.fields).forEach(function(t){e[t]=this.fields[t]}.bind(this)),e},s.prototype.toBase64=function(){return this.toBuffer().toString("base64")},e.exports=s}).call(this,p(8).Buffer)},function(e,t,p){(function(t){for(var p=4294967296,r=[],o=0;o<256;o++)r[o]=(o>15?"":"0")+o.toString(16);var i=e.exports=function(e,p){e instanceof t?(this.buffer=e,this.offset=p||0):"[object Uint8Array]"==Object.prototype.toString.call(e)?(this.buffer=new t(e),this.offset=p||0):(this.buffer=this.buffer||new t(8),this.offset=0,this.setValue.apply(this,arguments))};i.MAX_INT=Math.pow(2,53),i.MIN_INT=-Math.pow(2,53),i.prototype={constructor:i,_2scomp:function(){for(var e=this.buffer,t=this.offset,p=1,r=t+7;r>=t;r--){var o=(255^e[r])+p;e[r]=255&o,p=o>>8}},setValue:function(e,t){var r=!1;if(1==arguments.length)if("number"==typeof e){if(r=e<0,t=(e=Math.abs(e))%p,(e/=p)>p)throw new RangeError(e+" is outside Int64 range");e|=0}else{if("string"!=typeof e)throw new Error(e+" must be a Number or String");t=(e=(e+"").replace(/^0x/,"")).substr(-8),e=e.length>8?e.substr(0,e.length-8):"",e=parseInt(e,16),t=parseInt(t,16)}for(var o=this.buffer,i=this.offset,s=7;s>=0;s--)o[i+s]=255&t,t=4==s?e:t>>>8;r&&this._2scomp()},toNumber:function(e){for(var t=this.buffer,p=this.offset,r=128&t[p],o=0,s=1,n=7,a=1;n>=0;n--,a*=256){var l=t[p+n];r&&(s=(l=(255^l)+s)>>8,l&=255),o+=l*a}return!e&&o>=i.MAX_INT?r?-1/0:1/0:r?-o:o},valueOf:function(){return this.toNumber(!1)},toString:function(e){return this.valueOf().toString(e||10)},toOctetString:function(e){for(var t=new Array(8),p=this.buffer,o=this.offset,i=0;i<8;i++)t[i]=r[p[o+i]];return t.join(e||"")},toBuffer:function(e){if(e&&0===this.offset)return this.buffer;var p=new t(8);return this.buffer.copy(p,0,this.offset,this.offset+8),p},copy:function(e,t){this.buffer.copy(e,t||0,this.offset,this.offset+8)},compare:function(e){if((128&this.buffer[this.offset])!=(128&e.buffer[e.offset]))return e.buffer[e.offset]-this.buffer[this.offset];for(var t=0;t<8;t++)if(this.buffer[this.offset+t]!==e.buffer[e.offset+t])return this.buffer[this.offset+t]-e.buffer[e.offset+t];return 0},equals:function(e){return 0===this.compare(e)},inspect:function(){return"[Int64 value:"+this+" octets:"+this.toOctetString(" ")+"]"}}}).call(this,p(8).Buffer)},function(e,t,p){(function(t){var r=p(17).Parser;r.prototype.uint64=function(e,t){return this.setNextParser("uint64",e,Object.assign({},t,{formatter:function(e){var t=p(1).UINT64,r=buffer.readUInt32LE(offset);offset+=4;var o=buffer.readUInt32LE(offset);return offset+=4,new t(r,o)}}))},r.prototype.compile=function(){var e=this.getCode();this.compiled=function(r,o,i){return"undefined"!=typeof window&&void 0===window.Buffer&&(window.Buffer=t),new Function("buffer","callback","constructorFn","require",e).call(this,r,o,i,(function(e){if("cuint"===e)return p(1);throw new Error("Unknown module required: "+e)}))}},e.exports=r}).call(this,p(8).Buffer)},function(e,t){var p;p=function(){return this}();try{p=p||new Function("return this")()}catch(e){"object"==typeof window&&(p=window)}e.exports=p},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var p=function(){};p.prototype=t.prototype,e.prototype=new p,e.prototype.constructor=e}},function(e,t,p){"use strict";var r=p(11),o=Object.keys||function(e){var t=[];for(var p in e)t.push(p);return t};e.exports=u;var i=p(10);i.inherits=p(6);var s=p(19),n=p(15);i.inherits(u,s);for(var a=o(n.prototype),l=0;l15?"":"0")+o.toString(16);var i=e.exports=function(e,p){e instanceof t?(this.buffer=e,this.offset=p||0):"[object Uint8Array]"==Object.prototype.toString.call(e)?(this.buffer=new t(e),this.offset=p||0):(this.buffer=this.buffer||new t(8),this.offset=0,this.setValue.apply(this,arguments))};i.MAX_INT=Math.pow(2,53),i.MIN_INT=-Math.pow(2,53),i.prototype={constructor:i,_2scomp:function(){for(var e=this.buffer,t=this.offset,p=1,r=t+7;r>=t;r--){var o=(255^e[r])+p;e[r]=255&o,p=o>>8}},setValue:function(e,t){var r=!1;if(1==arguments.length)if("number"==typeof e){if(r=e<0,t=(e=Math.abs(e))%p,(e/=p)>p)throw new RangeError(e+" is outside Int64 range");e|=0}else{if("string"!=typeof e)throw new Error(e+" must be a Number or String");t=(e=(e+"").replace(/^0x/,"")).substr(-8),e=e.length>8?e.substr(0,e.length-8):"",e=parseInt(e,16),t=parseInt(t,16)}for(var o=this.buffer,i=this.offset,s=7;s>=0;s--)o[i+s]=255&t,t=4==s?e:t>>>8;r&&this._2scomp()},toNumber:function(e){for(var t=this.buffer,p=this.offset,r=128&t[p],o=0,s=1,n=7,a=1;n>=0;n--,a*=256){var l=t[p+n];r&&(s=(l=(255^l)+s)>>8,l&=255),o+=l*a}return!e&&o>=i.MAX_INT?r?-1/0:1/0:r?-o:o},valueOf:function(){return this.toNumber(!1)},toString:function(e){return this.valueOf().toString(e||10)},toOctetString:function(e){for(var t=new Array(8),p=this.buffer,o=this.offset,i=0;i<8;i++)t[i]=r[p[o+i]];return t.join(e||"")},toBuffer:function(e){if(e&&0===this.offset)return this.buffer;var p=new t(8);return this.buffer.copy(p,0,this.offset,this.offset+8),p},copy:function(e,t){this.buffer.copy(e,t||0,this.offset,this.offset+8)},compare:function(e){if((128&this.buffer[this.offset])!=(128&e.buffer[e.offset]))return e.buffer[e.offset]-this.buffer[this.offset];for(var t=0;t<8;t++)if(this.buffer[this.offset+t]!==e.buffer[e.offset+t])return this.buffer[this.offset+t]-e.buffer[e.offset+t];return 0},equals:function(e){return 0===this.compare(e)},inspect:function(){return"[Int64 value:"+this+" octets:"+this.toOctetString(" ")+"]"}}}).call(this,p(8).Buffer)},function(e,t,p){(function(t){var r=p(17).Parser;r.prototype.uint64=function(e,t){return this.setNextParser("uint64",e,Object.assign({},t,{formatter:function(e){var t=p(1).UINT64,r=buffer.readUInt32LE(offset);offset+=4;var o=buffer.readUInt32LE(offset);return offset+=4,new t(r,o)}}))},r.prototype.compile=function(){var e=this.getCode();this.compiled=function(r,o,i){return"undefined"!=typeof window&&void 0===window.Buffer&&(window.Buffer=t),new Function("buffer","callback","constructorFn","require",e).call(this,r,o,i,(function(e){if("cuint"===e)return p(1);throw new Error("Unknown module required: "+e)}))}},e.exports=r}).call(this,p(8).Buffer)},function(e,t){var p;p=function(){return this}();try{p=p||new Function("return this")()}catch(e){"object"==typeof window&&(p=window)}e.exports=p},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var p=function(){};p.prototype=t.prototype,e.prototype=new p,e.prototype.constructor=e}},function(e,t,p){"use strict";var r=p(11),o=Object.keys||function(e){var t=[];for(var p in e)t.push(p);return t};e.exports=u;var i=p(10);i.inherits=p(6);var s=p(19),n=p(15);i.inherits(u,s);for(var a=o(n.prototype),l=0;l * @license MIT */ -var r=p(25),o=p(26),i=p(16);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function n(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function f(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var p=e.length;if(0===p)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return p;case"utf8":case"utf-8":case void 0:return k(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*p;case"hex":return p>>>1;case"base64":return B(e).length;default:if(r)return k(e).length;t=(""+t).toLowerCase(),r=!0}}function d(e,t,p){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===p||p>this.length)&&(p=this.length),p<=0)return"";if((p>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,p);case"utf8":case"utf-8":return v(this,t,p);case"ascii":return U(this,t,p);case"latin1":case"binary":return M(this,t,p);case"base64":return T(this,t,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,p);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function _(e,t,p){var r=e[t];e[t]=e[p],e[p]=r}function S(e,t,p,r,o){if(0===e.length)return-1;if("string"==typeof p?(r=p,p=0):p>2147483647?p=2147483647:p<-2147483648&&(p=-2147483648),p=+p,isNaN(p)&&(p=o?0:e.length-1),p<0&&(p=e.length+p),p>=e.length){if(o)return-1;p=e.length-1}else if(p<0){if(!o)return-1;p=0}if("string"==typeof t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:g(e,t,p,r,o);if("number"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,p):Uint8Array.prototype.lastIndexOf.call(e,t,p):g(e,[t],p,r,o);throw new TypeError("val must be string, number or Buffer")}function g(e,t,p,r,o){var i,s=1,n=e.length,a=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,n/=2,a/=2,p/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var c=-1;for(i=p;in&&(p=n-a),i=p;i>=0;i--){for(var u=!0,y=0;yo&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var s=0;s>8,o=p%256,i.push(o),i.push(r);return i}(t,e.length-p),e,p,r)}function T(e,t,p){return 0===t&&p===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,p))}function v(e,t,p){p=Math.min(e.length,p);for(var r=[],o=t;o239?4:l>223?3:l>191?2:1;if(o+u<=p)switch(u){case 1:l<128&&(c=l);break;case 2:128==(192&(i=e[o+1]))&&(a=(31&l)<<6|63&i)>127&&(c=a);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(a=(15&l)<<12|(63&i)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:i=e[o+1],s=e[o+2],n=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&n)&&(a=(15&l)<<18|(63&i)<<12|(63&s)<<6|63&n)>65535&&a<1114112&&(c=a)}null===c?(c=65533,u=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),o+=u}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var p="",r=0;for(;r0&&(e=this.toString("hex",0,p).match(/.{2}/g).join(" "),this.length>p&&(e+=" ... ")),""},a.prototype.compare=function(e,t,p,r,o){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===p&&(p=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||p>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=p)return 0;if(r>=o)return-1;if(t>=p)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(p>>>=0)-(t>>>=0),n=Math.min(i,s),l=this.slice(r,o),c=e.slice(t,p),u=0;uo)&&(p=o),e.length>0&&(p<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return w(this,e,t,p);case"utf8":case"utf-8":return E(this,e,t,p);case"ascii":return m(this,e,t,p);case"latin1":case"binary":return b(this,e,t,p);case"base64":return I(this,e,t,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,t,p);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function U(e,t,p){var r="";p=Math.min(e.length,p);for(var o=t;or)&&(p=r);for(var o="",i=t;ip)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,p,r,o,i){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function C(e,t,p,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-p,2);o>>8*(r?o:1-o)}function R(e,t,p,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-p,4);o>>8*(r?o:3-o)&255}function P(e,t,p,r,o,i){if(p+r>e.length)throw new RangeError("Index out of range");if(p<0)throw new RangeError("Index out of range")}function N(e,t,p,r,i){return i||P(e,0,p,4),o.write(e,t,p,r,23,4),p+4}function j(e,t,p,r,i){return i||P(e,0,p,8),o.write(e,t,p,r,52,8),p+8}a.prototype.slice=function(e,t){var p,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},a.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,p){e|=0,t|=0,p||G(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,p){e|=0,t|=0,p||G(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var p=this[e]|this[e+1]<<8;return 32768&p?4294901760|p:p},a.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var p=this[e+1]|this[e]<<8;return 32768&p?4294901760|p:p},a.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,p,r){(e=+e,t|=0,p|=0,r)||A(this,e,t,p,Math.pow(2,8*p)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+p},a.prototype.writeUInt8=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):C(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):C(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,p,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*p-1);A(this,e,t,p,o-1,-o)}var i=0,s=1,n=0;for(this[t]=255&e;++i>0)-n&255;return t+p},a.prototype.writeIntBE=function(e,t,p,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*p-1);A(this,e,t,p,o-1,-o)}var i=p-1,s=1,n=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===n&&0!==this[t+i+1]&&(n=1),this[t+i]=(e/s>>0)-n&255;return t+p},a.prototype.writeInt8=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):C(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):C(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,p){return N(this,e,t,!0,p)},a.prototype.writeFloatBE=function(e,t,p){return N(this,e,t,!1,p)},a.prototype.writeDoubleLE=function(e,t,p){return j(this,e,t,!0,p)},a.prototype.writeDoubleBE=function(e,t,p){return j(this,e,t,!1,p)},a.prototype.copy=function(e,t,p,r){if(p||(p=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+p];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,p=void 0===p?this.length:p>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&p<57344){if(!o){if(p>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=p;continue}if(p<56320){(t-=3)>-1&&i.push(239,191,189),o=p;continue}p=65536+(o-55296<<10|p-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,p<128){if((t-=1)<0)break;i.push(p)}else if(p<2048){if((t-=2)<0)break;i.push(p>>6|192,63&p|128)}else if(p<65536){if((t-=3)<0)break;i.push(p>>12|224,p>>6&63|128,63&p|128)}else{if(!(p<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(p>>18|240,p>>12&63|128,p>>6&63|128,63&p|128)}}return i}function B(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(x,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,p,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+p]=e[o];return o}}).call(this,p(5))},function(e,t){var p,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function n(e){if(p===setTimeout)return setTimeout(e,0);if((p===i||!p)&&setTimeout)return p=setTimeout,setTimeout(e,0);try{return p(e,0)}catch(t){try{return p.call(null,e,0)}catch(t){return p.call(this,e,0)}}}!function(){try{p="function"==typeof setTimeout?setTimeout:i}catch(e){p=i}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var a,l=[],c=!1,u=-1;function y(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&h())}function h(){if(!c){var e=n(y);c=!0;for(var t=l.length;t;){for(a=l,l=[];++u1)for(var p=1;p0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},p.prototype.on=p.prototype.addListener,p.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var p=!1;function o(){this.removeListener(e,o),p||(p=!0,t.apply(this,arguments))}return o.listener=t,this.on(e,o),this},p.prototype.removeListener=function(e,t){var p,i,s,n;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(s=(p=this._events[e]).length,i=-1,p===t||r(p.listener)&&p.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(p)){for(n=s;n-- >0;)if(p[n]===t||p[n].listener&&p[n].listener===t){i=n;break}if(i<0)return this;1===p.length?(p.length=0,delete this._events[e]):p.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},p.prototype.removeAllListeners=function(e){var t,p;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(p=this._events[e]))this.removeListener(e,p);else if(p)for(;p.length;)this.removeListener(e,p[p.length-1]);return delete this._events[e],this},p.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},p.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},p.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,p){(t=e.exports=p(19)).Stream=t,t.Readable=t,t.Writable=p(15),t.Duplex=p(7),t.Transform=p(23),t.PassThrough=p(38)},function(e,t,p){"use strict";(function(t,r,o){var i=p(11);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,p){var r=e.entry;e.entry=null;for(;r;){var o=r.callback;t.pendingcb--,o(p),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=g;var n,a=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:i.nextTick;g.WritableState=S;var l=p(10);l.inherits=p(6);var c={deprecate:p(37)},u=p(20),y=p(12).Buffer,h=o.Uint8Array||function(){};var f,d=p(21);function _(){}function S(e,t){n=n||p(7),e=e||{};var r=t instanceof n;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var o=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:r&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===e.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var p=e._writableState,r=p.sync,o=p.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(p),t)!function(e,t,p,r,o){--t.pendingcb,p?(i.nextTick(o,r),i.nextTick(L,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),L(e,t))}(e,p,r,t,o);else{var s=b(p);s||p.corked||p.bufferProcessing||!p.bufferedRequest||m(e,p),r?a(E,e,p,s,o):E(e,p,s,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function g(e){if(n=n||p(7),!(f.call(g,this)||this instanceof n))return new g(e);this._writableState=new S(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function w(e,t,p,r,o,i,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,p?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function E(e,t,p,r){p||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),L(e,t)}function m(e,t){t.bufferProcessing=!0;var p=t.bufferedRequest;if(e._writev&&p&&p.next){var r=t.bufferedRequestCount,o=new Array(r),i=t.corkedRequestsFree;i.entry=p;for(var n=0,a=!0;p;)o[n]=p,p.isBuf||(a=!1),p=p.next,n+=1;o.allBuffers=a,w(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;p;){var l=p.chunk,c=p.encoding,u=p.callback;if(w(e,t,!1,t.objectMode?1:l.length,l,c,u),p=p.next,t.bufferedRequestCount--,t.writing)break}null===p&&(t.lastBufferedRequest=null)}t.bufferedRequest=p,t.bufferProcessing=!1}function b(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function I(e,t){e._final((function(p){t.pendingcb--,p&&e.emit("error",p),t.prefinished=!0,e.emit("prefinish"),L(e,t)}))}function L(e,t){var p=b(t);return p&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,i.nextTick(I,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),p}l.inherits(g,u),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(e){return!!f.call(this,e)||this===g&&(e&&e._writableState instanceof S)}})):f=function(e){return e instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(e,t,p){var r,o=this._writableState,s=!1,n=!o.objectMode&&(r=e,y.isBuffer(r)||r instanceof h);return n&&!y.isBuffer(e)&&(e=function(e){return y.from(e)}(e)),"function"==typeof t&&(p=t,t=null),n?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof p&&(p=_),o.ended?function(e,t){var p=new Error("write after end");e.emit("error",p),i.nextTick(t,p)}(this,p):(n||function(e,t,p,r){var o=!0,s=!1;return null===p?s=new TypeError("May not write null values to stream"):"string"==typeof p||void 0===p||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),i.nextTick(r,s),o=!1),o}(this,o,e,p))&&(o.pendingcb++,s=function(e,t,p,r,o,i){if(!p){var s=function(e,t,p){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=y.from(t,p));return t}(t,r,o);r!==s&&(p=!0,o="buffer",r=s)}var n=t.objectMode?1:r.length;t.length+=n;var a=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(e,t,p){p(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(e,t,p){var r=this._writableState;"function"==typeof e?(p=e,e=null,t=null):"function"==typeof t&&(p=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,p){t.ending=!0,L(e,t),p&&(t.finished?i.nextTick(p):e.once("finish",p));t.ended=!0,e.writable=!1}(this,r,p)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),g.prototype.destroy=d.destroy,g.prototype._undestroy=d.undestroy,g.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,p(9),p(35).setImmediate,p(5))},function(e,t){var p={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==p.call(e)}},function(e,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var r=p(28),o={},i={uint8:1,uint16le:2,uint16be:2,uint32le:4,uint32be:4,int8:1,int16le:2,int16be:2,int32le:4,int32be:4,int64be:8,int64le:8,uint64be:8,uint64le:8,floatle:4,floatbe:4,doublele:8,doublebe:8},s={uint8:"Uint8",uint16le:"Uint16",uint16be:"Uint16",uint32le:"Uint32",uint32be:"Uint32",int8:"Int8",int16le:"Int16",int16be:"Int16",int32le:"Int32",int32be:"Int32",int64be:"BigInt64",int64le:"BigInt64",uint64be:"BigUint64",uint64le:"BigUint64",floatle:"Float32",floatbe:"Float32",doublele:"Float64",doublebe:"Float64"},n={uint8:!1,uint16le:!0,uint16be:!1,uint32le:!0,uint32be:!1,int8:!1,int16le:!0,int16be:!1,int32le:!0,int32be:!1,int64be:!1,int64le:!0,uint64be:!1,uint64le:!0,floatle:!0,floatbe:!1,doublele:!0,doublebe:!1},a=function(){function e(){this.varName="",this.type="",this.options={},this.next=null,this.head=null,this.compiled=null,this.endian="be",this.constructorFn=null,this.alias=null}return e.start=function(){return new e},e.prototype.primitiveGenerateN=function(e,t){var p=s[e],r=n[e];t.pushCode(t.generateVariable(this.varName)+" = dataView.get"+p+"(offset, "+r+");"),t.pushCode("offset += "+i[e]+";")},e.prototype.primitiveN=function(e,t,p){return this.setNextParser(e,t,p)},e.prototype.useThisEndian=function(e){return e+this.endian.toLowerCase()},e.prototype.uint8=function(e,t){return this.primitiveN("uint8",e,t)},e.prototype.uint16=function(e,t){return this.primitiveN(this.useThisEndian("uint16"),e,t)},e.prototype.uint16le=function(e,t){return this.primitiveN("uint16le",e,t)},e.prototype.uint16be=function(e,t){return this.primitiveN("uint16be",e,t)},e.prototype.uint32=function(e,t){return this.primitiveN(this.useThisEndian("uint32"),e,t)},e.prototype.uint32le=function(e,t){return this.primitiveN("uint32le",e,t)},e.prototype.uint32be=function(e,t){return this.primitiveN("uint32be",e,t)},e.prototype.int8=function(e,t){return this.primitiveN("int8",e,t)},e.prototype.int16=function(e,t){return this.primitiveN(this.useThisEndian("int16"),e,t)},e.prototype.int16le=function(e,t){return this.primitiveN("int16le",e,t)},e.prototype.int16be=function(e,t){return this.primitiveN("int16be",e,t)},e.prototype.int32=function(e,t){return this.primitiveN(this.useThisEndian("int32"),e,t)},e.prototype.int32le=function(e,t){return this.primitiveN("int32le",e,t)},e.prototype.int32be=function(e,t){return this.primitiveN("int32be",e,t)},e.prototype.bigIntVersionCheck=function(){if(!DataView.prototype.getBigInt64)throw new Error("BigInt64 is unsupported in this runtime")},e.prototype.int64=function(e,t){return this.bigIntVersionCheck(),this.primitiveN(this.useThisEndian("int64"),e,t)},e.prototype.int64be=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("int64be",e,t)},e.prototype.int64le=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("int64le",e,t)},e.prototype.uint64=function(e,t){return this.bigIntVersionCheck(),this.primitiveN(this.useThisEndian("uint64"),e,t)},e.prototype.uint64be=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("uint64be",e,t)},e.prototype.uint64le=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("uint64le",e,t)},e.prototype.floatle=function(e,t){return this.primitiveN("floatle",e,t)},e.prototype.floatbe=function(e,t){return this.primitiveN("floatbe",e,t)},e.prototype.doublele=function(e,t){return this.primitiveN("doublele",e,t)},e.prototype.doublebe=function(e,t){return this.primitiveN("doublebe",e,t)},e.prototype.bitN=function(e,t,p){return p||(p={}),p.length=e,this.setNextParser("bit",t,p)},e.prototype.bit1=function(e,t){return this.bitN(1,e,t)},e.prototype.bit2=function(e,t){return this.bitN(2,e,t)},e.prototype.bit3=function(e,t){return this.bitN(3,e,t)},e.prototype.bit4=function(e,t){return this.bitN(4,e,t)},e.prototype.bit5=function(e,t){return this.bitN(5,e,t)},e.prototype.bit6=function(e,t){return this.bitN(6,e,t)},e.prototype.bit7=function(e,t){return this.bitN(7,e,t)},e.prototype.bit8=function(e,t){return this.bitN(8,e,t)},e.prototype.bit9=function(e,t){return this.bitN(9,e,t)},e.prototype.bit10=function(e,t){return this.bitN(10,e,t)},e.prototype.bit11=function(e,t){return this.bitN(11,e,t)},e.prototype.bit12=function(e,t){return this.bitN(12,e,t)},e.prototype.bit13=function(e,t){return this.bitN(13,e,t)},e.prototype.bit14=function(e,t){return this.bitN(14,e,t)},e.prototype.bit15=function(e,t){return this.bitN(15,e,t)},e.prototype.bit16=function(e,t){return this.bitN(16,e,t)},e.prototype.bit17=function(e,t){return this.bitN(17,e,t)},e.prototype.bit18=function(e,t){return this.bitN(18,e,t)},e.prototype.bit19=function(e,t){return this.bitN(19,e,t)},e.prototype.bit20=function(e,t){return this.bitN(20,e,t)},e.prototype.bit21=function(e,t){return this.bitN(21,e,t)},e.prototype.bit22=function(e,t){return this.bitN(22,e,t)},e.prototype.bit23=function(e,t){return this.bitN(23,e,t)},e.prototype.bit24=function(e,t){return this.bitN(24,e,t)},e.prototype.bit25=function(e,t){return this.bitN(25,e,t)},e.prototype.bit26=function(e,t){return this.bitN(26,e,t)},e.prototype.bit27=function(e,t){return this.bitN(27,e,t)},e.prototype.bit28=function(e,t){return this.bitN(28,e,t)},e.prototype.bit29=function(e,t){return this.bitN(29,e,t)},e.prototype.bit30=function(e,t){return this.bitN(30,e,t)},e.prototype.bit31=function(e,t){return this.bitN(31,e,t)},e.prototype.bit32=function(e,t){return this.bitN(32,e,t)},e.prototype.namely=function(e){return o[e]=this,this.alias=e,this},e.prototype.skip=function(e,t){return this.seek(e,t)},e.prototype.seek=function(e,t){if(t&&t.assert)throw new Error("assert option on seek is not allowed.");return this.setNextParser("seek","",{length:e})},e.prototype.string=function(e,t){if(!t.zeroTerminated&&!t.length&&!t.greedy)throw new Error("Neither length, zeroTerminated, nor greedy is defined for string.");if((t.zeroTerminated||t.length)&&t.greedy)throw new Error("greedy is mutually exclusive with length and zeroTerminated for string.");if(t.stripNull&&!t.length&&!t.greedy)throw new Error("Length or greedy must be defined if stripNull is defined.");return t.encoding=t.encoding||"utf8",this.setNextParser("string",e,t)},e.prototype.buffer=function(e,t){if(!t.length&&!t.readUntil)throw new Error("Length nor readUntil is defined in buffer parser");return this.setNextParser("buffer",e,t)},e.prototype.array=function(e,t){if(!t.readUntil&&!t.length&&!t.lengthInBytes)throw new Error("Length option of array is not defined.");if(!t.type)throw new Error("Type option of array is not defined.");if("string"==typeof t.type&&!o[t.type]&&Object.keys(i).indexOf(t.type)<0)throw new Error('Specified primitive type "'+t.type+'" is not supported.');return this.setNextParser("array",e,t)},e.prototype.choice=function(e,t){if("object"!=typeof t&&"object"==typeof e&&(t=e,e=null),!t.tag)throw new Error("Tag option of array is not defined.");if(!t.choices)throw new Error("Choices option of array is not defined.");return Object.keys(t.choices).forEach((function(p){var r=parseInt(p,10),s=t.choices[r];if(isNaN(r))throw new Error("Key of choices must be a number.");if(!s)throw new Error("Choice Case "+p+" of "+e+" is not valid.");if("string"==typeof s&&!o[s]&&Object.keys(i).indexOf(s)<0)throw new Error('Specified primitive type "'+s+'" is not supported.')})),this.setNextParser("choice",e,t)},e.prototype.nest=function(t,p){if("object"!=typeof p&&"object"==typeof t&&(p=t,t=null),!p.type)throw new Error("Type option of nest is not defined.");if(!(p.type instanceof e||o[p.type]))throw new Error("Type option of nest must be a Parser object.");if(!(p.type instanceof e||t))throw new Error("options.type must be a object if variable name is omitted.");return this.setNextParser("nest",t,p)},e.prototype.pointer=function(t,p){if(!p.offset)throw new Error("Offset option of pointer is not defined.");if(!p.type)throw new Error("Type option of pointer is not defined.");if("string"==typeof p.type){if(Object.keys(i).indexOf(p.type)<0&&!o[p.type])throw new Error('Specified type "'+p.type+'" is not supported.')}else if(!(p.type instanceof e))throw new Error("Type option of pointer must be a string or a Parser object.");return this.setNextParser("pointer",t,p)},e.prototype.saveOffset=function(e,t){return this.setNextParser("saveOffset",e,t)},e.prototype.endianess=function(e){switch(e.toLowerCase()){case"little":this.endian="le";break;case"big":this.endian="be";break;default:throw new Error("Invalid endianess: "+e)}return this},e.prototype.create=function(e){if(!(e instanceof Function))throw new Error("Constructor must be a Function object.");return this.constructorFn=e,this},e.prototype.getContext=function(e){var t=new r.Context(e);return t.pushCode("var dataView = new DataView(buffer.buffer, buffer.byteOffset, buffer.length);"),this.alias?(this.addAliasedCode(t),t.pushCode("return ___parser_"+this.alias+"(0).result;")):this.addRawCode(t),t},e.prototype.getCode=function(){return this.getContext().code},e.prototype.addRawCode=function(e){e.pushCode("var offset = 0;"),this.constructorFn?e.pushCode("var vars = new constructorFn();"):e.pushCode("var vars = {};"),this.generate(e),this.resolveReferences(e),e.pushCode("return vars;")},e.prototype.addAliasedCode=function(e){return e.pushCode("function ___parser_"+this.alias+"(offset) {"),this.constructorFn?e.pushCode("var vars = new constructorFn();"):e.pushCode("var vars = {};"),this.generate(e),e.markResolved(this.alias),this.resolveReferences(e),e.pushCode("return { offset: offset, result: vars };"),e.pushCode("}"),e},e.prototype.resolveReferences=function(e){var t=e.getUnresolvedReferences();e.markRequested(t),t.forEach((function(t){o[t].addAliasedCode(e)}))},e.prototype.compile=function(){var e=this.getContext("imports");this.compiled=new Function("imports","TextDecoder","return function (buffer, constructorFn) { "+e.code+" };")(e.imports,"undefined"==typeof TextDecoder?p(18).TextDecoder:TextDecoder)},e.prototype.sizeOf=function(){var t=NaN;if(Object.keys(i).indexOf(this.type)>=0)t=i[this.type];else if("string"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("buffer"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("array"===this.type&&"number"==typeof this.options.length){var p=NaN;"string"==typeof this.options.type?p=i[this.options.type]:this.options.type instanceof e&&(p=this.options.type.sizeOf()),t=this.options.length*p}else"seek"===this.type?t=this.options.length:"nest"===this.type?t=this.options.type.sizeOf():this.type||(t=0);return this.next&&(t+=this.next.sizeOf()),t},e.prototype.parse=function(e){return this.compiled||this.compile(),this.compiled(e,this.constructorFn)},e.prototype.setNextParser=function(t,p,r){var o=new e;return o.type=t,o.varName=p,o.options=r||o.options,o.endian=this.endian,this.head?this.head.next=o:this.next=o,this.head=o,this},e.prototype.generate=function(e){if(this.type){switch(this.type){case"uint8":case"uint16le":case"uint16be":case"uint32le":case"uint32be":case"int8":case"int16le":case"int16be":case"int32le":case"int32be":case"int64be":case"int64le":case"uint64be":case"uint64le":case"floatle":case"floatbe":case"doublele":case"doublebe":this.primitiveGenerateN(this.type,e);break;case"bit":this.generateBit(e);break;case"string":this.generateString(e);break;case"buffer":this.generateBuffer(e);break;case"seek":this.generateSeek(e);break;case"nest":this.generateNest(e);break;case"array":this.generateArray(e);break;case"choice":this.generateChoice(e);break;case"pointer":this.generatePointer(e);break;case"saveOffset":this.generateSaveOffset(e)}this.generateAssert(e)}var t=e.generateVariable(this.varName);return this.options.formatter&&this.generateFormatter(e,t,this.options.formatter),this.generateNext(e)},e.prototype.generateAssert=function(e){if(this.options.assert){var t=e.generateVariable(this.varName);switch(typeof this.options.assert){case"function":var p=e.addImport(this.options.assert);e.pushCode("if (!"+p+".call(vars, "+t+")) {");break;case"number":e.pushCode("if ("+this.options.assert+" !== "+t+") {");break;case"string":e.pushCode('if ("'+this.options.assert+'" !== '+t+") {");break;default:throw new Error("Assert option supports only strings, numbers and assert functions.")}e.generateError('"Assert error: '+t+' is " + '+this.options.assert),e.pushCode("}")}},e.prototype.generateNext=function(e){return this.next&&(e=this.next.generate(e)),e},e.prototype.generateBit=function(e){var t=JSON.parse(JSON.stringify(this));if(t.varName=e.generateVariable(t.varName),e.bitFields.push(t),!this.next||this.next&&["bit","nest"].indexOf(this.next.type)<0){var p=0;e.bitFields.forEach((function(e){return p+=e.options.length}));var r=e.generateTmpVariable();if(p<=8)e.pushCode("var "+r+" = dataView.getUint8(offset);"),p=8;else if(p<=16)e.pushCode("var "+r+" = dataView.getUint16(offset);"),p=16;else if(p<=24){var o=e.generateTmpVariable(),i=e.generateTmpVariable();e.pushCode("var "+o+" = dataView.getUint16(offset);"),e.pushCode("var "+i+" = dataView.getUint8(offset + 2);"),e.pushCode("var "+r+" = ("+o+" << 8) | "+i+";"),p=24}else{if(!(p<=32))throw new Error("Currently, bit field sequence longer than 4-bytes is not supported.");e.pushCode("var "+r+" = dataView.getUint32(offset);"),p=32}e.pushCode("offset += "+p/8+";");var s=0,n="be"===this.endian;e.bitFields.forEach((function(t){var o=t.options.length,i=n?p-s-o:s,a=(1<> "+i+" & "+a+";"),s+=o})),e.bitFields=[]}},e.prototype.generateSeek=function(e){var t=e.generateOption(this.options.length);e.pushCode("offset += "+t+";")},e.prototype.generateString=function(e){var t=e.generateVariable(this.varName),p=e.generateTmpVariable(),r=this.options.encoding,o="hex"===r.toLowerCase(),i='b => b.toString(16).padStart(2, "0")';if(this.options.length&&this.options.zeroTerminated){var s=this.options.length;e.pushCode("var "+p+" = offset;"),e.pushCode("while(dataView.getUint8(offset++) !== 0 && offset - "+p+" < "+s+");");var n="offset - "+p+" < "+s+" ? offset - 1 : offset";e.pushCode(o?t+" = Array.from(buffer.subarray("+p+", "+n+"), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray("+p+", "+n+"));")}else if(this.options.length){s=e.generateOption(this.options.length);e.pushCode(o?t+" = Array.from(buffer.subarray(offset, offset + "+s+"), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray(offset, offset + "+s+"));"),e.pushCode("offset += "+s+";")}else this.options.zeroTerminated?(e.pushCode("var "+p+" = offset;"),e.pushCode("while(dataView.getUint8(offset++) !== 0);"),e.pushCode(o?t+" = Array.from(buffer.subarray("+p+", offset - 1)), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray("+p+", offset - 1));")):this.options.greedy&&(e.pushCode("var "+p+" = offset;"),e.pushCode("while(buffer.length > offset++);"),e.pushCode(o?t+" = Array.from(buffer.subarray("+p+", offset)), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray("+p+", offset));"));this.options.stripNull&&e.pushCode(t+" = "+t+".replace(/\\x00+$/g, '')")},e.prototype.generateBuffer=function(e){var t=e.generateVariable(this.varName);if("function"==typeof this.options.readUntil){var p=this.options.readUntil,r=e.generateTmpVariable(),o=e.generateTmpVariable();e.pushCode("var "+r+" = offset;"),e.pushCode("var "+o+" = 0;"),e.pushCode("while (offset < buffer.length) {"),e.pushCode(o+" = dataView.getUint8(offset);");var i=e.addImport(p);e.pushCode("if ("+i+".call(this, "+o+", buffer.subarray(offset))) break;"),e.pushCode("offset += 1;"),e.pushCode("}"),e.pushCode(t+" = buffer.subarray("+r+", offset);")}else if("eof"===this.options.readUntil)e.pushCode(t+" = buffer.subarray(offset);");else{var s=e.generateOption(this.options.length);e.pushCode(t+" = buffer.subarray(offset, offset + "+s+");"),e.pushCode("offset += "+s+";")}this.options.clone&&e.pushCode(t+" = buffer.constructor.from("+t+");")},e.prototype.generateArray=function(t){var p=t.generateOption(this.options.length),r=t.generateOption(this.options.lengthInBytes),a=this.options.type,l=t.generateTmpVariable(),c=t.generateVariable(this.varName),u=t.generateTmpVariable(),y=this.options.key,h="string"==typeof y;if(h?t.pushCode(c+" = {};"):t.pushCode(c+" = [];"),"function"==typeof this.options.readUntil?t.pushCode("do {"):"eof"===this.options.readUntil?t.pushCode("for (var "+l+" = 0; offset < buffer.length; "+l+"++) {"):void 0!==r?t.pushCode("for (var "+l+" = offset + "+r+"; offset < "+l+"; ) {"):t.pushCode("for (var "+l+" = "+p+"; "+l+" > 0; "+l+"--) {"),"string"==typeof a)if(o[a]){var f=t.generateTmpVariable();t.pushCode("var "+f+" = ___parser_"+a+"(offset);"),t.pushCode("var "+u+" = "+f+".result; offset = "+f+".offset;"),a!==this.alias&&t.addReference(a)}else{var d=s[a],_=n[a];t.pushCode("var "+u+" = dataView.get"+d+"(offset, "+_+");"),t.pushCode("offset += "+i[a]+";")}else a instanceof e&&(t.pushCode("var "+u+" = {};"),t.pushScope(u),a.generate(t),t.popScope());if(h?t.pushCode(c+"["+u+"."+y+"] = "+u+";"):t.pushCode(c+".push("+u+");"),t.pushCode("}"),"function"==typeof this.options.readUntil){var S=this.options.readUntil,g=t.addImport(S);t.pushCode("while (!"+g+".call(this, "+u+", buffer.subarray(offset)));")}},e.prototype.generateChoiceCase=function(t,p,r){if("string"==typeof r){var a=t.generateVariable(this.varName);if(o[r]){var l=t.generateTmpVariable();t.pushCode("var "+l+" = ___parser_"+r+"(offset);"),t.pushCode(a+" = "+l+".result; offset = "+l+".offset;"),r!==this.alias&&t.addReference(r)}else{var c=s[r],u=n[r];t.pushCode(a+" = dataView.get"+c+"(offset, "+u+");"),t.pushCode("offset += "+i[r])}}else r instanceof e&&(t.pushPath(p),r.generate(t),t.popPath(p))},e.prototype.generateChoice=function(e){var t=this,p=e.generateOption(this.options.tag);this.varName&&e.pushCode(e.generateVariable(this.varName)+" = {};"),e.pushCode("switch("+p+") {"),Object.keys(this.options.choices).forEach((function(p){var r=t.options.choices[parseInt(p,10)];e.pushCode("case "+p+":"),t.generateChoiceCase(e,t.varName,r),e.pushCode("break;")})),e.pushCode("default:"),this.options.defaultChoice?this.generateChoiceCase(e,this.varName,this.options.defaultChoice):e.generateError('"Met undefined tag value " + '+p+' + " at choice"'),e.pushCode("}")},e.prototype.generateNest=function(t){var p=t.generateVariable(this.varName);if(this.options.type instanceof e)this.varName&&t.pushCode(p+" = {};"),t.pushPath(this.varName),this.options.type.generate(t),t.popPath(this.varName);else if(o[this.options.type]){var r=t.generateTmpVariable();t.pushCode("var "+r+" = ___parser_"+this.options.type+"(offset);"),t.pushCode(p+" = "+r+".result; offset = "+r+".offset;"),this.options.type!==this.alias&&t.addReference(this.options.type)}},e.prototype.generateFormatter=function(e,t,p){if("function"==typeof p){var r=e.addImport(p);e.pushCode(t+" = "+r+".call(this, "+t+");")}},e.prototype.generatePointer=function(t){var p=this.options.type,r=t.generateOption(this.options.offset),a=t.generateTmpVariable(),l=t.generateVariable(this.varName);if(t.pushCode("var "+a+" = offset;"),t.pushCode("offset = "+r+";"),this.options.type instanceof e)t.pushCode(l+" = {};"),t.pushPath(this.varName),this.options.type.generate(t),t.popPath(this.varName);else if(o[this.options.type]){var c=t.generateTmpVariable();t.pushCode("var "+c+" = ___parser_"+this.options.type+"(offset);"),t.pushCode(l+" = "+c+".result; offset = "+c+".offset;"),this.options.type!==this.alias&&t.addReference(this.options.type)}else if(Object.keys(i).indexOf(this.options.type)>=0){var u=s[p],y=n[p];t.pushCode(l+" = dataView.get"+u+"(offset, "+y+");"),t.pushCode("offset += "+i[p]+";")}t.pushCode("offset = "+a+";")},e.prototype.generateSaveOffset=function(e){var t=e.generateVariable(this.varName);e.pushCode(t+" = offset")},e}();t.Parser=a},function(e,t,p){(function(e,r){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],p=0;p=i)return e;switch(e){case"%s":return String(r[p++]);case"%d":return Number(r[p++]);case"%j":try{return JSON.stringify(r[p++])}catch(e){return"[Circular]"}default:return e}})),a=r[p];p=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(p)?r.showHidden=p:p&&t._extend(r,p),g(r.showHidden)&&(r.showHidden=!1),g(r.depth)&&(r.depth=2),g(r.colors)&&(r.colors=!1),g(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),c(r,e,r.depth)}function a(e,t){var p=n.styles[t];return p?"["+n.colors[p][0]+"m"+e+"["+n.colors[p][1]+"m":e}function l(e,t){return e}function c(e,p,r){if(e.customInspect&&p&&I(p.inspect)&&p.inspect!==t.inspect&&(!p.constructor||p.constructor.prototype!==p)){var o=p.inspect(r,e);return S(o)||(o=c(e,o,r)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var p="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(p,"string")}if(_(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,p);if(i)return i;var s=Object.keys(p),n=function(e){var t={};return e.forEach((function(e,p){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(p)),b(p)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(p);if(0===s.length){if(I(p)){var a=p.name?": "+p.name:"";return e.stylize("[Function"+a+"]","special")}if(w(p))return e.stylize(RegExp.prototype.toString.call(p),"regexp");if(m(p))return e.stylize(Date.prototype.toString.call(p),"date");if(b(p))return u(p)}var l,E="",L=!1,T=["{","}"];(h(p)&&(L=!0,T=["[","]"]),I(p))&&(E=" [Function"+(p.name?": "+p.name:"")+"]");return w(p)&&(E=" "+RegExp.prototype.toString.call(p)),m(p)&&(E=" "+Date.prototype.toUTCString.call(p)),b(p)&&(E=" "+u(p)),0!==s.length||L&&0!=p.length?r<0?w(p)?e.stylize(RegExp.prototype.toString.call(p),"regexp"):e.stylize("[Object]","special"):(e.seen.push(p),l=L?function(e,t,p,r,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return p[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+p[1];return p[0]+t+" "+e.join(", ")+" "+p[1]}(l,E,T)):T[0]+E+T[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,p,r,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),M(r,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(p)?c(e,a.value,null):c(e,a.value,p-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function h(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function I(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function T(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=r.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var p=r.pid;s[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,p,r)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=f,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=I,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=p(29);var v=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function U(){var e=new Date,t=[T(e.getHours()),T(e.getMinutes()),T(e.getSeconds())].join(":");return[e.getDate(),v[e.getMonth()],t].join(" ")}function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",U(),t.format.apply(t,arguments))},t.inherits=p(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var p=Object.keys(t),r=p.length;r--;)e[p[r]]=t[p[r]];return e}}).call(this,p(5),p(9))},function(e,t,p){"use strict";(function(t,r){var o=p(11);e.exports=w;var i,s=p(16);w.ReadableState=g;p(13).EventEmitter;var n=function(e,t){return e.listeners(t).length},a=p(20),l=p(12).Buffer,c=t.Uint8Array||function(){};var u=p(10);u.inherits=p(6);var y=p(32),h=void 0;h=y&&y.debuglog?y.debuglog("stream"):function(){};var f,d=p(33),_=p(21);u.inherits(w,a);var S=["error","close","destroy","pause","resume"];function g(e,t){e=e||{};var r=t instanceof(i=i||p(7));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var o=e.highWaterMark,s=e.readableHighWaterMark,n=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:r&&(s||0===s)?s:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=p(22).StringDecoder),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function w(e){if(i=i||p(7),!(this instanceof w))return new w(e);this._readableState=new g(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function E(e,t,p,r,o){var i,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var p=t.decoder.end();p&&p.length&&(t.buffer.push(p),t.length+=t.objectMode?1:p.length)}t.ended=!0,I(e)}(e,s)):(o||(i=function(e,t){var p;r=t,l.isBuffer(r)||r instanceof c||"string"==typeof t||void 0===t||e.objectMode||(p=new TypeError("Invalid non-string/buffer chunk"));var r;return p}(s,t)),i?e.emit("error",i):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):m(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!p?(t=s.decoder.write(t),s.objectMode||0!==t.length?m(e,s,t,!1):T(e,s)):m(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function I(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?o.nextTick(L,e):L(e))}function L(e){h("emit readable"),e.emit("readable"),D(e)}function T(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(v,e,t))}function v(e,t){for(var p=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(p=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):p=function(e,t,p){var r;ei.length?i.length:e;if(s===i.length?o+=i:o+=i.slice(0,e),0===(e-=s)){s===i.length?(++r,p.next?t.head=p.next:t.head=t.tail=null):(t.head=p,p.data=i.slice(s));break}++r}return t.length-=r,o}(e,t):function(e,t){var p=l.allocUnsafe(e),r=t.head,o=1;r.data.copy(p),e-=r.data.length;for(;r=r.next;){var i=r.data,s=e>i.length?i.length:e;if(i.copy(p,p.length-e,0,s),0===(e-=s)){s===i.length?(++o,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=i.slice(s));break}++o}return t.length-=o,p}(e,t);return r}(e,t.buffer,t.decoder),p);var p}function G(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,o.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function C(e,t){for(var p=0,r=e.length;p=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?G(this):I(this),null;if(0===(e=b(e,t))&&t.ended)return 0===t.length&&G(this),null;var r,o=t.needReadable;return h("need readable",o),(0===t.length||t.length-e0?O(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),p!==e&&t.ended&&G(this)),null!==r&&this.emit("data",r),r},w.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(e,t){var p=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,h("pipe count=%d opts=%j",i.pipesCount,t);var a=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?c:w;function l(t,r){h("onunpipe"),t===p&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",S),e.removeListener("finish",g),e.removeListener("drain",u),e.removeListener("error",_),e.removeListener("unpipe",l),p.removeListener("end",c),p.removeListener("end",w),p.removeListener("data",d),y=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function c(){h("onend"),e.end()}i.endEmitted?o.nextTick(a):p.once("end",a),e.on("unpipe",l);var u=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&n(e,"data")&&(t.flowing=!0,D(e))}}(p);e.on("drain",u);var y=!1;var f=!1;function d(t){h("ondata"),f=!1,!1!==e.write(t)||f||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==C(i.pipes,e))&&!y&&(h("false write response, pause",p._readableState.awaitDrain),p._readableState.awaitDrain++,f=!0),p.pause())}function _(t){h("onerror",t),w(),e.removeListener("error",_),0===n(e,"error")&&e.emit("error",t)}function S(){e.removeListener("finish",g),w()}function g(){h("onfinish"),e.removeListener("close",S),w()}function w(){h("unpipe"),p.unpipe(e)}return p.on("data",d),function(e,t,p){if("function"==typeof e.prependListener)return e.prependListener(t,p);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(p):e._events[t]=[p,e._events[t]]:e.on(t,p)}(e,"error",_),e.once("close",S),e.once("finish",g),e.emit("pipe",p),i.flowing||(h("pipe resume"),p.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,p={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,p)),this;if(!e){var r=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function n(e){var t=this.lastTotal-this.lastNeed,p=function(e,t,p){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==p?p:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var p=e.toString("utf16le",t);if(p){var r=p.charCodeAt(p.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],p.slice(0,-1)}return p}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var p=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,p)}return t}function c(e,t){var p=(e.length-t)%3;return 0===p?e.toString("base64",t):(this.lastNeed=3-p,this.lastTotal=3,1===p?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-p))}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function y(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,p;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";p=this.lastNeed,this.lastNeed=0}else p=0;return p=0)return o>0&&(e.lastNeed=o-1),o;if(--r=0)return o>0&&(e.lastNeed=o-2),o;if(--r=0)return o>0&&(2===o?o=0:e.lastNeed=o-3),o;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=p;var r=e.length-(p-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,p){"use strict";e.exports=s;var r=p(7),o=p(10);function i(e,t){var p=this._transformState;p.transforming=!1;var r=p.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));p.writechunk=null,p.writecb=null,null!=t&&this.push(t),r(e);var o=this._readableState;o.reading=!1,(o.needReadable||o.length>8&255^255&p],t&=65535;return t}r.exports={preambleByte:85,crc16:S,sbpIdTable:h,sbpMessageTypesTable:f,decode:function(e){var t=d.parse(e),p=h[t.msg_type];return void 0===p?(console.log("Unknown message type: ",t.msg_type),new s(t)):new p(t)},dispatch:function(t,p,o){var i,s,n=new e(0);if(void 0===o&&"function"==typeof p?i=p:(i=o,s=p),s&&!Array.isArray(s)&&-1===["function","number"].indexOf(typeof s))throw l("dispatch: messageWhitelist must be function, number, or array");var a=function(p){t.pause();try{if((n=e.concat([n,p])).length<2)return;var o=function(){var e,t,p,o,i,a,l;for(l=0;ln.length)throw new c;e=n.slice(l+1,l+6),p=n.readUInt16LE(l+1),_=n.readUInt16LE(l+3),o=n.readUInt8(l+5);var y=s&&Array.isArray(s)&&-1!==s.indexOf(p),h=s&&"number"==typeof s&&s&p,f=s&&"function"==typeof s&&s(p);if(s&&!(y||h||f))return n=n.slice(l+6+o+2),null;if(l+8+o>n.length)throw new c;a=S(n.slice(l+6,l+6+o),S(e)),i=n.readUInt16LE(l+6+o);var d=n.slice(l,l+6+o+2);if(i===a)return n=n.slice(l+6+o+2),[r.exports.decode(d),d];throw n=n.slice(l+1),new u}();if(null===o)return;var l=o[0],y=o[1];i(null,l,y)}catch(e){if(!(e instanceof c||e instanceof u))throw e}finally{t.resume(),n.length>0&&setTimeout((function(){a(new e(0))}),0)}};t.on("data",a)}},function(e){var p={function:!0,object:!0},i=p[typeof window]&&window||this,s=p[typeof t]&&t&&!t.nodeType&&t,n=p[typeof r]&&r&&!r.nodeType&&r,a=s&&n&&"object"==typeof o&&o;!a||a.global!==a&&a.window!==a&&a.self!==a||(i=a),i.SBP=e}(r.exports)}).call(this,p(8).Buffer,p(27)(e),p(5))},function(e,t,p){"use strict";t.byteLength=function(e){var t=l(e),p=t[0],r=t[1];return 3*(p+r)/4-r},t.toByteArray=function(e){for(var t,p=l(e),r=p[0],s=p[1],n=new i(function(e,t,p){return 3*(t+p)/4-p}(0,r,s)),a=0,c=s>0?r-4:r,u=0;u>16&255,n[a++]=t>>8&255,n[a++]=255&t;2===s&&(t=o[e.charCodeAt(u)]<<2|o[e.charCodeAt(u+1)]>>4,n[a++]=255&t);1===s&&(t=o[e.charCodeAt(u)]<<10|o[e.charCodeAt(u+1)]<<4|o[e.charCodeAt(u+2)]>>2,n[a++]=t>>8&255,n[a++]=255&t);return n},t.fromByteArray=function(e){for(var t,p=e.length,o=p%3,i=[],s=0,n=p-o;sn?n:s+16383));1===o?(t=e[p-1],i.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[p-2]<<8)+e[p-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return i.join("")};for(var r=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,a=s.length;n0)throw new Error("Invalid string. Length must be a multiple of 4");var p=e.indexOf("=");return-1===p&&(p=t),[p,p===t?0:4-p%4]}function c(e,t,p){for(var o,i,s=[],n=t;n>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return s.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,p,r,o){var i,s,n=8*o-r-1,a=(1<>1,c=-7,u=p?o-1:0,y=p?-1:1,h=e[t+u];for(u+=y,i=h&(1<<-c)-1,h>>=-c,c+=n;c>0;i=256*i+e[t+u],u+=y,c-=8);for(s=i&(1<<-c)-1,i>>=-c,c+=r;c>0;s=256*s+e[t+u],u+=y,c-=8);if(0===i)i=1-l;else{if(i===a)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,r),i-=l}return(h?-1:1)*s*Math.pow(2,i-r)},t.write=function(e,t,p,r,o,i){var s,n,a,l=8*i-o-1,c=(1<>1,y=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,f=r?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(n=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-s))<1&&(s--,a*=2),(t+=s+u>=1?y/a:y*Math.pow(2,1-u))*a>=2&&(s++,a/=2),s+u>=c?(n=0,s=c):s+u>=1?(n=(t*a-1)*Math.pow(2,o),s+=u):(n=t*Math.pow(2,u-1)*Math.pow(2,o),s=0));o>=8;e[p+h]=255&n,h+=f,n/=256,o-=8);for(s=s<0;e[p+h]=255&s,h+=f,s/=256,l-=8);e[p+h-f]|=128*d}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Context=void 0;var r=function(){function e(e){this.code="",this.scopes=[["vars"]],this.bitFields=[],this.tmpVariableCount=0,this.references={},this.imports=[],this.reverseImports=new Map,this.importPath=e}return e.prototype.generateVariable=function(e){var t=[],p=this.scopes[this.scopes.length-1];return t.push.apply(t,p),e&&t.push(e),t.join(".")},e.prototype.generateOption=function(e){switch(typeof e){case"number":return e.toString();case"string":return this.generateVariable(e);case"function":return this.addImport(e)+".call("+this.generateVariable()+", vars)"}},e.prototype.generateError=function(e){this.pushCode("throw new Error("+e+");")},e.prototype.generateTmpVariable=function(){return"$tmp"+this.tmpVariableCount++},e.prototype.pushCode=function(e){this.code+=e+"\n"},e.prototype.pushPath=function(e){e&&this.scopes[this.scopes.length-1].push(e)},e.prototype.popPath=function(e){e&&this.scopes[this.scopes.length-1].pop()},e.prototype.pushScope=function(e){this.scopes.push([e])},e.prototype.popScope=function(){this.scopes.pop()},e.prototype.addImport=function(e){if(!this.importPath)return"("+e+")";var t=this.reverseImports.get(e);return t||(t=this.imports.push(e)-1,this.reverseImports.set(e,t)),this.importPath+"["+t+"]"},e.prototype.addReference=function(e){this.references[e]||(this.references[e]={resolved:!1,requested:!1})},e.prototype.markResolved=function(e){this.references[e].resolved=!0},e.prototype.markRequested=function(e){var t=this;e.forEach((function(e){t.references[e].requested=!0}))},e.prototype.getUnresolvedReferences=function(){var e=this.references;return Object.keys(this.references).filter((function(t){return!e[t].resolved&&!e[t].requested}))},e}();t.Context=r},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,p){(function(e){function p(e,t){for(var p=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),p++):p&&(e.splice(r,1),p--)}if(t)for(;p--;p)e.unshift("..");return e}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,o=function(e){return r.exec(e).slice(1)};function i(e,t){if(e.filter)return e.filter(t);for(var p=[],r=0;r=-1&&!r;o--){var s=o>=0?arguments[o]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,r="/"===s.charAt(0))}return(r?"/":"")+(t=p(i(t.split("/"),(function(e){return!!e})),!r).join("/"))||"."},t.normalize=function(e){var r=t.isAbsolute(e),o="/"===s(e,-1);return(e=p(i(e.split("/"),(function(e){return!!e})),!r).join("/"))||r||(e="."),e&&o&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,p){function r(e){for(var t=0;t=0&&""===e[p];p--);return t>p?[]:e.slice(t,p-t+1)}e=t.resolve(e).substr(1),p=t.resolve(p).substr(1);for(var o=r(e.split("/")),i=r(p.split("/")),s=Math.min(o.length,i.length),n=s,a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,p=""+t.data;t=t.next;)p+=e+t.data;return p},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t=r.allocUnsafe(e>>>0),p=this.head,o=0;p;)i(p.data,t,o),o+=p.data.length,p=p.next;return t},e}(),o&&o.inspect&&o.inspect.custom&&(e.exports.prototype[o.inspect.custom]=function(){var e=o.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,p){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},p(36),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,p(5))},function(e,t,p){(function(e,t){!function(e,p){"use strict";if(!e.setImmediate){var r,o,i,s,n,a=1,l={},c=!1,u=e.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(e);y=y&&y.setTimeout?y:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){f(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,p=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=p,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){f(e.data)},r=function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,r=function(e){var t=u.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(f,0,e)}:(s="setImmediate$"+Math.random()+"$",n=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&f(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),r=function(t){e.postMessage(s+t,"*")}),y.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),p=0;p=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function h(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var p=e.length;if(0===p)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return p;case"utf8":case"utf-8":case void 0:return k(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*p;case"hex":return p>>>1;case"base64":return B(e).length;default:if(r)return k(e).length;t=(""+t).toLowerCase(),r=!0}}function d(e,t,p){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===p||p>this.length)&&(p=this.length),p<=0)return"";if((p>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,p);case"utf8":case"utf-8":return v(this,t,p);case"ascii":return U(this,t,p);case"latin1":case"binary":return M(this,t,p);case"base64":return T(this,t,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,p);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function _(e,t,p){var r=e[t];e[t]=e[p],e[p]=r}function S(e,t,p,r,o){if(0===e.length)return-1;if("string"==typeof p?(r=p,p=0):p>2147483647?p=2147483647:p<-2147483648&&(p=-2147483648),p=+p,isNaN(p)&&(p=o?0:e.length-1),p<0&&(p=e.length+p),p>=e.length){if(o)return-1;p=e.length-1}else if(p<0){if(!o)return-1;p=0}if("string"==typeof t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:g(e,t,p,r,o);if("number"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,p):Uint8Array.prototype.lastIndexOf.call(e,t,p):g(e,[t],p,r,o);throw new TypeError("val must be string, number or Buffer")}function g(e,t,p,r,o){var i,s=1,n=e.length,a=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,n/=2,a/=2,p/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var c=-1;for(i=p;in&&(p=n-a),i=p;i>=0;i--){for(var u=!0,y=0;yo&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var s=0;s>8,o=p%256,i.push(o),i.push(r);return i}(t,e.length-p),e,p,r)}function T(e,t,p){return 0===t&&p===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,p))}function v(e,t,p){p=Math.min(e.length,p);for(var r=[],o=t;o239?4:l>223?3:l>191?2:1;if(o+u<=p)switch(u){case 1:l<128&&(c=l);break;case 2:128==(192&(i=e[o+1]))&&(a=(31&l)<<6|63&i)>127&&(c=a);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(a=(15&l)<<12|(63&i)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:i=e[o+1],s=e[o+2],n=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&n)&&(a=(15&l)<<18|(63&i)<<12|(63&s)<<6|63&n)>65535&&a<1114112&&(c=a)}null===c?(c=65533,u=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),o+=u}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var p="",r=0;for(;r0&&(e=this.toString("hex",0,p).match(/.{2}/g).join(" "),this.length>p&&(e+=" ... ")),""},a.prototype.compare=function(e,t,p,r,o){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===p&&(p=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||p>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=p)return 0;if(r>=o)return-1;if(t>=p)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(p>>>=0)-(t>>>=0),n=Math.min(i,s),l=this.slice(r,o),c=e.slice(t,p),u=0;uo)&&(p=o),e.length>0&&(p<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return w(this,e,t,p);case"utf8":case"utf-8":return E(this,e,t,p);case"ascii":return m(this,e,t,p);case"latin1":case"binary":return b(this,e,t,p);case"base64":return I(this,e,t,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,t,p);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function U(e,t,p){var r="";p=Math.min(e.length,p);for(var o=t;or)&&(p=r);for(var o="",i=t;ip)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,p,r,o,i){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function C(e,t,p,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-p,2);o>>8*(r?o:1-o)}function R(e,t,p,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-p,4);o>>8*(r?o:3-o)&255}function P(e,t,p,r,o,i){if(p+r>e.length)throw new RangeError("Index out of range");if(p<0)throw new RangeError("Index out of range")}function N(e,t,p,r,i){return i||P(e,0,p,4),o.write(e,t,p,r,23,4),p+4}function j(e,t,p,r,i){return i||P(e,0,p,8),o.write(e,t,p,r,52,8),p+8}a.prototype.slice=function(e,t){var p,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},a.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,p){e|=0,t|=0,p||G(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,p){e|=0,t|=0,p||G(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var p=this[e]|this[e+1]<<8;return 32768&p?4294901760|p:p},a.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var p=this[e+1]|this[e]<<8;return 32768&p?4294901760|p:p},a.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,p,r){(e=+e,t|=0,p|=0,r)||A(this,e,t,p,Math.pow(2,8*p)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+p},a.prototype.writeUInt8=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):C(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):C(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,p,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*p-1);A(this,e,t,p,o-1,-o)}var i=0,s=1,n=0;for(this[t]=255&e;++i>0)-n&255;return t+p},a.prototype.writeIntBE=function(e,t,p,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*p-1);A(this,e,t,p,o-1,-o)}var i=p-1,s=1,n=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===n&&0!==this[t+i+1]&&(n=1),this[t+i]=(e/s>>0)-n&255;return t+p},a.prototype.writeInt8=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):C(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):C(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,p){return e=+e,t|=0,p||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,p){return N(this,e,t,!0,p)},a.prototype.writeFloatBE=function(e,t,p){return N(this,e,t,!1,p)},a.prototype.writeDoubleLE=function(e,t,p){return j(this,e,t,!0,p)},a.prototype.writeDoubleBE=function(e,t,p){return j(this,e,t,!1,p)},a.prototype.copy=function(e,t,p,r){if(p||(p=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+p];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,p=void 0===p?this.length:p>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&p<57344){if(!o){if(p>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=p;continue}if(p<56320){(t-=3)>-1&&i.push(239,191,189),o=p;continue}p=65536+(o-55296<<10|p-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,p<128){if((t-=1)<0)break;i.push(p)}else if(p<2048){if((t-=2)<0)break;i.push(p>>6|192,63&p|128)}else if(p<65536){if((t-=3)<0)break;i.push(p>>12|224,p>>6&63|128,63&p|128)}else{if(!(p<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(p>>18|240,p>>12&63|128,p>>6&63|128,63&p|128)}}return i}function B(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(x,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,p,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+p]=e[o];return o}}).call(this,p(5))},function(e,t){var p,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function n(e){if(p===setTimeout)return setTimeout(e,0);if((p===i||!p)&&setTimeout)return p=setTimeout,setTimeout(e,0);try{return p(e,0)}catch(t){try{return p.call(null,e,0)}catch(t){return p.call(this,e,0)}}}!function(){try{p="function"==typeof setTimeout?setTimeout:i}catch(e){p=i}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var a,l=[],c=!1,u=-1;function y(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&f())}function f(){if(!c){var e=n(y);c=!0;for(var t=l.length;t;){for(a=l,l=[];++u1)for(var p=1;p0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},p.prototype.on=p.prototype.addListener,p.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var p=!1;function o(){this.removeListener(e,o),p||(p=!0,t.apply(this,arguments))}return o.listener=t,this.on(e,o),this},p.prototype.removeListener=function(e,t){var p,i,s,n;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(s=(p=this._events[e]).length,i=-1,p===t||r(p.listener)&&p.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(p)){for(n=s;n-- >0;)if(p[n]===t||p[n].listener&&p[n].listener===t){i=n;break}if(i<0)return this;1===p.length?(p.length=0,delete this._events[e]):p.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},p.prototype.removeAllListeners=function(e){var t,p;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(p=this._events[e]))this.removeListener(e,p);else if(p)for(;p.length;)this.removeListener(e,p[p.length-1]);return delete this._events[e],this},p.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},p.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},p.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,p){(t=e.exports=p(19)).Stream=t,t.Readable=t,t.Writable=p(15),t.Duplex=p(7),t.Transform=p(23),t.PassThrough=p(38)},function(e,t,p){"use strict";(function(t,r,o){var i=p(11);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,p){var r=e.entry;e.entry=null;for(;r;){var o=r.callback;t.pendingcb--,o(p),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=g;var n,a=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:i.nextTick;g.WritableState=S;var l=p(10);l.inherits=p(6);var c={deprecate:p(37)},u=p(20),y=p(12).Buffer,f=o.Uint8Array||function(){};var h,d=p(21);function _(){}function S(e,t){n=n||p(7),e=e||{};var r=t instanceof n;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var o=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:r&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===e.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var p=e._writableState,r=p.sync,o=p.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(p),t)!function(e,t,p,r,o){--t.pendingcb,p?(i.nextTick(o,r),i.nextTick(L,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),L(e,t))}(e,p,r,t,o);else{var s=b(p);s||p.corked||p.bufferProcessing||!p.bufferedRequest||m(e,p),r?a(E,e,p,s,o):E(e,p,s,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function g(e){if(n=n||p(7),!(h.call(g,this)||this instanceof n))return new g(e);this._writableState=new S(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function w(e,t,p,r,o,i,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,p?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function E(e,t,p,r){p||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),L(e,t)}function m(e,t){t.bufferProcessing=!0;var p=t.bufferedRequest;if(e._writev&&p&&p.next){var r=t.bufferedRequestCount,o=new Array(r),i=t.corkedRequestsFree;i.entry=p;for(var n=0,a=!0;p;)o[n]=p,p.isBuf||(a=!1),p=p.next,n+=1;o.allBuffers=a,w(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;p;){var l=p.chunk,c=p.encoding,u=p.callback;if(w(e,t,!1,t.objectMode?1:l.length,l,c,u),p=p.next,t.bufferedRequestCount--,t.writing)break}null===p&&(t.lastBufferedRequest=null)}t.bufferedRequest=p,t.bufferProcessing=!1}function b(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function I(e,t){e._final((function(p){t.pendingcb--,p&&e.emit("error",p),t.prefinished=!0,e.emit("prefinish"),L(e,t)}))}function L(e,t){var p=b(t);return p&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,i.nextTick(I,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),p}l.inherits(g,u),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(h=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(e){return!!h.call(this,e)||this===g&&(e&&e._writableState instanceof S)}})):h=function(e){return e instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(e,t,p){var r,o=this._writableState,s=!1,n=!o.objectMode&&(r=e,y.isBuffer(r)||r instanceof f);return n&&!y.isBuffer(e)&&(e=function(e){return y.from(e)}(e)),"function"==typeof t&&(p=t,t=null),n?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof p&&(p=_),o.ended?function(e,t){var p=new Error("write after end");e.emit("error",p),i.nextTick(t,p)}(this,p):(n||function(e,t,p,r){var o=!0,s=!1;return null===p?s=new TypeError("May not write null values to stream"):"string"==typeof p||void 0===p||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),i.nextTick(r,s),o=!1),o}(this,o,e,p))&&(o.pendingcb++,s=function(e,t,p,r,o,i){if(!p){var s=function(e,t,p){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=y.from(t,p));return t}(t,r,o);r!==s&&(p=!0,o="buffer",r=s)}var n=t.objectMode?1:r.length;t.length+=n;var a=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(e,t,p){p(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(e,t,p){var r=this._writableState;"function"==typeof e?(p=e,e=null,t=null):"function"==typeof t&&(p=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,p){t.ending=!0,L(e,t),p&&(t.finished?i.nextTick(p):e.once("finish",p));t.ended=!0,e.writable=!1}(this,r,p)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),g.prototype.destroy=d.destroy,g.prototype._undestroy=d.undestroy,g.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,p(9),p(35).setImmediate,p(5))},function(e,t){var p={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==p.call(e)}},function(e,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var r=p(28),o={},i={uint8:1,uint16le:2,uint16be:2,uint32le:4,uint32be:4,int8:1,int16le:2,int16be:2,int32le:4,int32be:4,int64be:8,int64le:8,uint64be:8,uint64le:8,floatle:4,floatbe:4,doublele:8,doublebe:8},s={uint8:"Uint8",uint16le:"Uint16",uint16be:"Uint16",uint32le:"Uint32",uint32be:"Uint32",int8:"Int8",int16le:"Int16",int16be:"Int16",int32le:"Int32",int32be:"Int32",int64be:"BigInt64",int64le:"BigInt64",uint64be:"BigUint64",uint64le:"BigUint64",floatle:"Float32",floatbe:"Float32",doublele:"Float64",doublebe:"Float64"},n={uint8:!1,uint16le:!0,uint16be:!1,uint32le:!0,uint32be:!1,int8:!1,int16le:!0,int16be:!1,int32le:!0,int32be:!1,int64be:!1,int64le:!0,uint64be:!1,uint64le:!0,floatle:!0,floatbe:!1,doublele:!0,doublebe:!1},a=function(){function e(){this.varName="",this.type="",this.options={},this.next=null,this.head=null,this.compiled=null,this.endian="be",this.constructorFn=null,this.alias=null}return e.start=function(){return new e},e.prototype.primitiveGenerateN=function(e,t){var p=s[e],r=n[e];t.pushCode(t.generateVariable(this.varName)+" = dataView.get"+p+"(offset, "+r+");"),t.pushCode("offset += "+i[e]+";")},e.prototype.primitiveN=function(e,t,p){return this.setNextParser(e,t,p)},e.prototype.useThisEndian=function(e){return e+this.endian.toLowerCase()},e.prototype.uint8=function(e,t){return this.primitiveN("uint8",e,t)},e.prototype.uint16=function(e,t){return this.primitiveN(this.useThisEndian("uint16"),e,t)},e.prototype.uint16le=function(e,t){return this.primitiveN("uint16le",e,t)},e.prototype.uint16be=function(e,t){return this.primitiveN("uint16be",e,t)},e.prototype.uint32=function(e,t){return this.primitiveN(this.useThisEndian("uint32"),e,t)},e.prototype.uint32le=function(e,t){return this.primitiveN("uint32le",e,t)},e.prototype.uint32be=function(e,t){return this.primitiveN("uint32be",e,t)},e.prototype.int8=function(e,t){return this.primitiveN("int8",e,t)},e.prototype.int16=function(e,t){return this.primitiveN(this.useThisEndian("int16"),e,t)},e.prototype.int16le=function(e,t){return this.primitiveN("int16le",e,t)},e.prototype.int16be=function(e,t){return this.primitiveN("int16be",e,t)},e.prototype.int32=function(e,t){return this.primitiveN(this.useThisEndian("int32"),e,t)},e.prototype.int32le=function(e,t){return this.primitiveN("int32le",e,t)},e.prototype.int32be=function(e,t){return this.primitiveN("int32be",e,t)},e.prototype.bigIntVersionCheck=function(){if(!DataView.prototype.getBigInt64)throw new Error("BigInt64 is unsupported in this runtime")},e.prototype.int64=function(e,t){return this.bigIntVersionCheck(),this.primitiveN(this.useThisEndian("int64"),e,t)},e.prototype.int64be=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("int64be",e,t)},e.prototype.int64le=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("int64le",e,t)},e.prototype.uint64=function(e,t){return this.bigIntVersionCheck(),this.primitiveN(this.useThisEndian("uint64"),e,t)},e.prototype.uint64be=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("uint64be",e,t)},e.prototype.uint64le=function(e,t){return this.bigIntVersionCheck(),this.primitiveN("uint64le",e,t)},e.prototype.floatle=function(e,t){return this.primitiveN("floatle",e,t)},e.prototype.floatbe=function(e,t){return this.primitiveN("floatbe",e,t)},e.prototype.doublele=function(e,t){return this.primitiveN("doublele",e,t)},e.prototype.doublebe=function(e,t){return this.primitiveN("doublebe",e,t)},e.prototype.bitN=function(e,t,p){return p||(p={}),p.length=e,this.setNextParser("bit",t,p)},e.prototype.bit1=function(e,t){return this.bitN(1,e,t)},e.prototype.bit2=function(e,t){return this.bitN(2,e,t)},e.prototype.bit3=function(e,t){return this.bitN(3,e,t)},e.prototype.bit4=function(e,t){return this.bitN(4,e,t)},e.prototype.bit5=function(e,t){return this.bitN(5,e,t)},e.prototype.bit6=function(e,t){return this.bitN(6,e,t)},e.prototype.bit7=function(e,t){return this.bitN(7,e,t)},e.prototype.bit8=function(e,t){return this.bitN(8,e,t)},e.prototype.bit9=function(e,t){return this.bitN(9,e,t)},e.prototype.bit10=function(e,t){return this.bitN(10,e,t)},e.prototype.bit11=function(e,t){return this.bitN(11,e,t)},e.prototype.bit12=function(e,t){return this.bitN(12,e,t)},e.prototype.bit13=function(e,t){return this.bitN(13,e,t)},e.prototype.bit14=function(e,t){return this.bitN(14,e,t)},e.prototype.bit15=function(e,t){return this.bitN(15,e,t)},e.prototype.bit16=function(e,t){return this.bitN(16,e,t)},e.prototype.bit17=function(e,t){return this.bitN(17,e,t)},e.prototype.bit18=function(e,t){return this.bitN(18,e,t)},e.prototype.bit19=function(e,t){return this.bitN(19,e,t)},e.prototype.bit20=function(e,t){return this.bitN(20,e,t)},e.prototype.bit21=function(e,t){return this.bitN(21,e,t)},e.prototype.bit22=function(e,t){return this.bitN(22,e,t)},e.prototype.bit23=function(e,t){return this.bitN(23,e,t)},e.prototype.bit24=function(e,t){return this.bitN(24,e,t)},e.prototype.bit25=function(e,t){return this.bitN(25,e,t)},e.prototype.bit26=function(e,t){return this.bitN(26,e,t)},e.prototype.bit27=function(e,t){return this.bitN(27,e,t)},e.prototype.bit28=function(e,t){return this.bitN(28,e,t)},e.prototype.bit29=function(e,t){return this.bitN(29,e,t)},e.prototype.bit30=function(e,t){return this.bitN(30,e,t)},e.prototype.bit31=function(e,t){return this.bitN(31,e,t)},e.prototype.bit32=function(e,t){return this.bitN(32,e,t)},e.prototype.namely=function(e){return o[e]=this,this.alias=e,this},e.prototype.skip=function(e,t){return this.seek(e,t)},e.prototype.seek=function(e,t){if(t&&t.assert)throw new Error("assert option on seek is not allowed.");return this.setNextParser("seek","",{length:e})},e.prototype.string=function(e,t){if(!t.zeroTerminated&&!t.length&&!t.greedy)throw new Error("Neither length, zeroTerminated, nor greedy is defined for string.");if((t.zeroTerminated||t.length)&&t.greedy)throw new Error("greedy is mutually exclusive with length and zeroTerminated for string.");if(t.stripNull&&!t.length&&!t.greedy)throw new Error("Length or greedy must be defined if stripNull is defined.");return t.encoding=t.encoding||"utf8",this.setNextParser("string",e,t)},e.prototype.buffer=function(e,t){if(!t.length&&!t.readUntil)throw new Error("Length nor readUntil is defined in buffer parser");return this.setNextParser("buffer",e,t)},e.prototype.array=function(e,t){if(!t.readUntil&&!t.length&&!t.lengthInBytes)throw new Error("Length option of array is not defined.");if(!t.type)throw new Error("Type option of array is not defined.");if("string"==typeof t.type&&!o[t.type]&&Object.keys(i).indexOf(t.type)<0)throw new Error('Specified primitive type "'+t.type+'" is not supported.');return this.setNextParser("array",e,t)},e.prototype.choice=function(e,t){if("object"!=typeof t&&"object"==typeof e&&(t=e,e=null),!t.tag)throw new Error("Tag option of array is not defined.");if(!t.choices)throw new Error("Choices option of array is not defined.");return Object.keys(t.choices).forEach((function(p){var r=parseInt(p,10),s=t.choices[r];if(isNaN(r))throw new Error("Key of choices must be a number.");if(!s)throw new Error("Choice Case "+p+" of "+e+" is not valid.");if("string"==typeof s&&!o[s]&&Object.keys(i).indexOf(s)<0)throw new Error('Specified primitive type "'+s+'" is not supported.')})),this.setNextParser("choice",e,t)},e.prototype.nest=function(t,p){if("object"!=typeof p&&"object"==typeof t&&(p=t,t=null),!p.type)throw new Error("Type option of nest is not defined.");if(!(p.type instanceof e||o[p.type]))throw new Error("Type option of nest must be a Parser object.");if(!(p.type instanceof e||t))throw new Error("options.type must be a object if variable name is omitted.");return this.setNextParser("nest",t,p)},e.prototype.pointer=function(t,p){if(!p.offset)throw new Error("Offset option of pointer is not defined.");if(!p.type)throw new Error("Type option of pointer is not defined.");if("string"==typeof p.type){if(Object.keys(i).indexOf(p.type)<0&&!o[p.type])throw new Error('Specified type "'+p.type+'" is not supported.')}else if(!(p.type instanceof e))throw new Error("Type option of pointer must be a string or a Parser object.");return this.setNextParser("pointer",t,p)},e.prototype.saveOffset=function(e,t){return this.setNextParser("saveOffset",e,t)},e.prototype.endianess=function(e){switch(e.toLowerCase()){case"little":this.endian="le";break;case"big":this.endian="be";break;default:throw new Error("Invalid endianess: "+e)}return this},e.prototype.create=function(e){if(!(e instanceof Function))throw new Error("Constructor must be a Function object.");return this.constructorFn=e,this},e.prototype.getContext=function(e){var t=new r.Context(e);return t.pushCode("var dataView = new DataView(buffer.buffer, buffer.byteOffset, buffer.length);"),this.alias?(this.addAliasedCode(t),t.pushCode("return ___parser_"+this.alias+"(0).result;")):this.addRawCode(t),t},e.prototype.getCode=function(){return this.getContext().code},e.prototype.addRawCode=function(e){e.pushCode("var offset = 0;"),this.constructorFn?e.pushCode("var vars = new constructorFn();"):e.pushCode("var vars = {};"),this.generate(e),this.resolveReferences(e),e.pushCode("return vars;")},e.prototype.addAliasedCode=function(e){return e.pushCode("function ___parser_"+this.alias+"(offset) {"),this.constructorFn?e.pushCode("var vars = new constructorFn();"):e.pushCode("var vars = {};"),this.generate(e),e.markResolved(this.alias),this.resolveReferences(e),e.pushCode("return { offset: offset, result: vars };"),e.pushCode("}"),e},e.prototype.resolveReferences=function(e){var t=e.getUnresolvedReferences();e.markRequested(t),t.forEach((function(t){o[t].addAliasedCode(e)}))},e.prototype.compile=function(){var e=this.getContext("imports");this.compiled=new Function("imports","TextDecoder","return function (buffer, constructorFn) { "+e.code+" };")(e.imports,"undefined"==typeof TextDecoder?p(18).TextDecoder:TextDecoder)},e.prototype.sizeOf=function(){var t=NaN;if(Object.keys(i).indexOf(this.type)>=0)t=i[this.type];else if("string"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("buffer"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("array"===this.type&&"number"==typeof this.options.length){var p=NaN;"string"==typeof this.options.type?p=i[this.options.type]:this.options.type instanceof e&&(p=this.options.type.sizeOf()),t=this.options.length*p}else"seek"===this.type?t=this.options.length:"nest"===this.type?t=this.options.type.sizeOf():this.type||(t=0);return this.next&&(t+=this.next.sizeOf()),t},e.prototype.parse=function(e){return this.compiled||this.compile(),this.compiled(e,this.constructorFn)},e.prototype.setNextParser=function(t,p,r){var o=new e;return o.type=t,o.varName=p,o.options=r||o.options,o.endian=this.endian,this.head?this.head.next=o:this.next=o,this.head=o,this},e.prototype.generate=function(e){if(this.type){switch(this.type){case"uint8":case"uint16le":case"uint16be":case"uint32le":case"uint32be":case"int8":case"int16le":case"int16be":case"int32le":case"int32be":case"int64be":case"int64le":case"uint64be":case"uint64le":case"floatle":case"floatbe":case"doublele":case"doublebe":this.primitiveGenerateN(this.type,e);break;case"bit":this.generateBit(e);break;case"string":this.generateString(e);break;case"buffer":this.generateBuffer(e);break;case"seek":this.generateSeek(e);break;case"nest":this.generateNest(e);break;case"array":this.generateArray(e);break;case"choice":this.generateChoice(e);break;case"pointer":this.generatePointer(e);break;case"saveOffset":this.generateSaveOffset(e)}this.generateAssert(e)}var t=e.generateVariable(this.varName);return this.options.formatter&&this.generateFormatter(e,t,this.options.formatter),this.generateNext(e)},e.prototype.generateAssert=function(e){if(this.options.assert){var t=e.generateVariable(this.varName);switch(typeof this.options.assert){case"function":var p=e.addImport(this.options.assert);e.pushCode("if (!"+p+".call(vars, "+t+")) {");break;case"number":e.pushCode("if ("+this.options.assert+" !== "+t+") {");break;case"string":e.pushCode('if ("'+this.options.assert+'" !== '+t+") {");break;default:throw new Error("Assert option supports only strings, numbers and assert functions.")}e.generateError('"Assert error: '+t+' is " + '+this.options.assert),e.pushCode("}")}},e.prototype.generateNext=function(e){return this.next&&(e=this.next.generate(e)),e},e.prototype.generateBit=function(e){var t=JSON.parse(JSON.stringify(this));if(t.varName=e.generateVariable(t.varName),e.bitFields.push(t),!this.next||this.next&&["bit","nest"].indexOf(this.next.type)<0){var p=0;e.bitFields.forEach((function(e){return p+=e.options.length}));var r=e.generateTmpVariable();if(p<=8)e.pushCode("var "+r+" = dataView.getUint8(offset);"),p=8;else if(p<=16)e.pushCode("var "+r+" = dataView.getUint16(offset);"),p=16;else if(p<=24){var o=e.generateTmpVariable(),i=e.generateTmpVariable();e.pushCode("var "+o+" = dataView.getUint16(offset);"),e.pushCode("var "+i+" = dataView.getUint8(offset + 2);"),e.pushCode("var "+r+" = ("+o+" << 8) | "+i+";"),p=24}else{if(!(p<=32))throw new Error("Currently, bit field sequence longer than 4-bytes is not supported.");e.pushCode("var "+r+" = dataView.getUint32(offset);"),p=32}e.pushCode("offset += "+p/8+";");var s=0,n="be"===this.endian;e.bitFields.forEach((function(t){var o=t.options.length,i=n?p-s-o:s,a=(1<> "+i+" & "+a+";"),s+=o})),e.bitFields=[]}},e.prototype.generateSeek=function(e){var t=e.generateOption(this.options.length);e.pushCode("offset += "+t+";")},e.prototype.generateString=function(e){var t=e.generateVariable(this.varName),p=e.generateTmpVariable(),r=this.options.encoding,o="hex"===r.toLowerCase(),i='b => b.toString(16).padStart(2, "0")';if(this.options.length&&this.options.zeroTerminated){var s=this.options.length;e.pushCode("var "+p+" = offset;"),e.pushCode("while(dataView.getUint8(offset++) !== 0 && offset - "+p+" < "+s+");");var n="offset - "+p+" < "+s+" ? offset - 1 : offset";e.pushCode(o?t+" = Array.from(buffer.subarray("+p+", "+n+"), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray("+p+", "+n+"));")}else if(this.options.length){s=e.generateOption(this.options.length);e.pushCode(o?t+" = Array.from(buffer.subarray(offset, offset + "+s+"), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray(offset, offset + "+s+"));"),e.pushCode("offset += "+s+";")}else this.options.zeroTerminated?(e.pushCode("var "+p+" = offset;"),e.pushCode("while(dataView.getUint8(offset++) !== 0);"),e.pushCode(o?t+" = Array.from(buffer.subarray("+p+", offset - 1)), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray("+p+", offset - 1));")):this.options.greedy&&(e.pushCode("var "+p+" = offset;"),e.pushCode("while(buffer.length > offset++);"),e.pushCode(o?t+" = Array.from(buffer.subarray("+p+", offset)), "+i+").join('');":t+" = new TextDecoder('"+r+"').decode(buffer.subarray("+p+", offset));"));this.options.stripNull&&e.pushCode(t+" = "+t+".replace(/\\x00+$/g, '')")},e.prototype.generateBuffer=function(e){var t=e.generateVariable(this.varName);if("function"==typeof this.options.readUntil){var p=this.options.readUntil,r=e.generateTmpVariable(),o=e.generateTmpVariable();e.pushCode("var "+r+" = offset;"),e.pushCode("var "+o+" = 0;"),e.pushCode("while (offset < buffer.length) {"),e.pushCode(o+" = dataView.getUint8(offset);");var i=e.addImport(p);e.pushCode("if ("+i+".call(this, "+o+", buffer.subarray(offset))) break;"),e.pushCode("offset += 1;"),e.pushCode("}"),e.pushCode(t+" = buffer.subarray("+r+", offset);")}else if("eof"===this.options.readUntil)e.pushCode(t+" = buffer.subarray(offset);");else{var s=e.generateOption(this.options.length);e.pushCode(t+" = buffer.subarray(offset, offset + "+s+");"),e.pushCode("offset += "+s+";")}this.options.clone&&e.pushCode(t+" = buffer.constructor.from("+t+");")},e.prototype.generateArray=function(t){var p=t.generateOption(this.options.length),r=t.generateOption(this.options.lengthInBytes),a=this.options.type,l=t.generateTmpVariable(),c=t.generateVariable(this.varName),u=t.generateTmpVariable(),y=this.options.key,f="string"==typeof y;if(f?t.pushCode(c+" = {};"):t.pushCode(c+" = [];"),"function"==typeof this.options.readUntil?t.pushCode("do {"):"eof"===this.options.readUntil?t.pushCode("for (var "+l+" = 0; offset < buffer.length; "+l+"++) {"):void 0!==r?t.pushCode("for (var "+l+" = offset + "+r+"; offset < "+l+"; ) {"):t.pushCode("for (var "+l+" = "+p+"; "+l+" > 0; "+l+"--) {"),"string"==typeof a)if(o[a]){var h=t.generateTmpVariable();t.pushCode("var "+h+" = ___parser_"+a+"(offset);"),t.pushCode("var "+u+" = "+h+".result; offset = "+h+".offset;"),a!==this.alias&&t.addReference(a)}else{var d=s[a],_=n[a];t.pushCode("var "+u+" = dataView.get"+d+"(offset, "+_+");"),t.pushCode("offset += "+i[a]+";")}else a instanceof e&&(t.pushCode("var "+u+" = {};"),t.pushScope(u),a.generate(t),t.popScope());if(f?t.pushCode(c+"["+u+"."+y+"] = "+u+";"):t.pushCode(c+".push("+u+");"),t.pushCode("}"),"function"==typeof this.options.readUntil){var S=this.options.readUntil,g=t.addImport(S);t.pushCode("while (!"+g+".call(this, "+u+", buffer.subarray(offset)));")}},e.prototype.generateChoiceCase=function(t,p,r){if("string"==typeof r){var a=t.generateVariable(this.varName);if(o[r]){var l=t.generateTmpVariable();t.pushCode("var "+l+" = ___parser_"+r+"(offset);"),t.pushCode(a+" = "+l+".result; offset = "+l+".offset;"),r!==this.alias&&t.addReference(r)}else{var c=s[r],u=n[r];t.pushCode(a+" = dataView.get"+c+"(offset, "+u+");"),t.pushCode("offset += "+i[r])}}else r instanceof e&&(t.pushPath(p),r.generate(t),t.popPath(p))},e.prototype.generateChoice=function(e){var t=this,p=e.generateOption(this.options.tag);this.varName&&e.pushCode(e.generateVariable(this.varName)+" = {};"),e.pushCode("switch("+p+") {"),Object.keys(this.options.choices).forEach((function(p){var r=t.options.choices[parseInt(p,10)];e.pushCode("case "+p+":"),t.generateChoiceCase(e,t.varName,r),e.pushCode("break;")})),e.pushCode("default:"),this.options.defaultChoice?this.generateChoiceCase(e,this.varName,this.options.defaultChoice):e.generateError('"Met undefined tag value " + '+p+' + " at choice"'),e.pushCode("}")},e.prototype.generateNest=function(t){var p=t.generateVariable(this.varName);if(this.options.type instanceof e)this.varName&&t.pushCode(p+" = {};"),t.pushPath(this.varName),this.options.type.generate(t),t.popPath(this.varName);else if(o[this.options.type]){var r=t.generateTmpVariable();t.pushCode("var "+r+" = ___parser_"+this.options.type+"(offset);"),t.pushCode(p+" = "+r+".result; offset = "+r+".offset;"),this.options.type!==this.alias&&t.addReference(this.options.type)}},e.prototype.generateFormatter=function(e,t,p){if("function"==typeof p){var r=e.addImport(p);e.pushCode(t+" = "+r+".call(this, "+t+");")}},e.prototype.generatePointer=function(t){var p=this.options.type,r=t.generateOption(this.options.offset),a=t.generateTmpVariable(),l=t.generateVariable(this.varName);if(t.pushCode("var "+a+" = offset;"),t.pushCode("offset = "+r+";"),this.options.type instanceof e)t.pushCode(l+" = {};"),t.pushPath(this.varName),this.options.type.generate(t),t.popPath(this.varName);else if(o[this.options.type]){var c=t.generateTmpVariable();t.pushCode("var "+c+" = ___parser_"+this.options.type+"(offset);"),t.pushCode(l+" = "+c+".result; offset = "+c+".offset;"),this.options.type!==this.alias&&t.addReference(this.options.type)}else if(Object.keys(i).indexOf(this.options.type)>=0){var u=s[p],y=n[p];t.pushCode(l+" = dataView.get"+u+"(offset, "+y+");"),t.pushCode("offset += "+i[p]+";")}t.pushCode("offset = "+a+";")},e.prototype.generateSaveOffset=function(e){var t=e.generateVariable(this.varName);e.pushCode(t+" = offset")},e}();t.Parser=a},function(e,t,p){(function(e,r){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],p=0;p=i)return e;switch(e){case"%s":return String(r[p++]);case"%d":return Number(r[p++]);case"%j":try{return JSON.stringify(r[p++])}catch(e){return"[Circular]"}default:return e}})),a=r[p];p=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),h(p)?r.showHidden=p:p&&t._extend(r,p),g(r.showHidden)&&(r.showHidden=!1),g(r.depth)&&(r.depth=2),g(r.colors)&&(r.colors=!1),g(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),c(r,e,r.depth)}function a(e,t){var p=n.styles[t];return p?"["+n.colors[p][0]+"m"+e+"["+n.colors[p][1]+"m":e}function l(e,t){return e}function c(e,p,r){if(e.customInspect&&p&&I(p.inspect)&&p.inspect!==t.inspect&&(!p.constructor||p.constructor.prototype!==p)){var o=p.inspect(r,e);return S(o)||(o=c(e,o,r)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var p="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(p,"string")}if(_(t))return e.stylize(""+t,"number");if(h(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,p);if(i)return i;var s=Object.keys(p),n=function(e){var t={};return e.forEach((function(e,p){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(p)),b(p)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(p);if(0===s.length){if(I(p)){var a=p.name?": "+p.name:"";return e.stylize("[Function"+a+"]","special")}if(w(p))return e.stylize(RegExp.prototype.toString.call(p),"regexp");if(m(p))return e.stylize(Date.prototype.toString.call(p),"date");if(b(p))return u(p)}var l,E="",L=!1,T=["{","}"];(f(p)&&(L=!0,T=["[","]"]),I(p))&&(E=" [Function"+(p.name?": "+p.name:"")+"]");return w(p)&&(E=" "+RegExp.prototype.toString.call(p)),m(p)&&(E=" "+Date.prototype.toUTCString.call(p)),b(p)&&(E=" "+u(p)),0!==s.length||L&&0!=p.length?r<0?w(p)?e.stylize(RegExp.prototype.toString.call(p),"regexp"):e.stylize("[Object]","special"):(e.seen.push(p),l=L?function(e,t,p,r,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return p[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+p[1];return p[0]+t+" "+e.join(", ")+" "+p[1]}(l,E,T)):T[0]+E+T[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,p,r,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),M(r,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(p)?c(e,a.value,null):c(e,a.value,p-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function f(e){return Array.isArray(e)}function h(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function I(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function T(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=r.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var p=r.pid;s[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,p,r)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=f,t.isBoolean=h,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=I,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=p(29);var v=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function U(){var e=new Date,t=[T(e.getHours()),T(e.getMinutes()),T(e.getSeconds())].join(":");return[e.getDate(),v[e.getMonth()],t].join(" ")}function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",U(),t.format.apply(t,arguments))},t.inherits=p(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var p=Object.keys(t),r=p.length;r--;)e[p[r]]=t[p[r]];return e}}).call(this,p(5),p(9))},function(e,t,p){"use strict";(function(t,r){var o=p(11);e.exports=w;var i,s=p(16);w.ReadableState=g;p(13).EventEmitter;var n=function(e,t){return e.listeners(t).length},a=p(20),l=p(12).Buffer,c=t.Uint8Array||function(){};var u=p(10);u.inherits=p(6);var y=p(32),f=void 0;f=y&&y.debuglog?y.debuglog("stream"):function(){};var h,d=p(33),_=p(21);u.inherits(w,a);var S=["error","close","destroy","pause","resume"];function g(e,t){e=e||{};var r=t instanceof(i=i||p(7));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var o=e.highWaterMark,s=e.readableHighWaterMark,n=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:r&&(s||0===s)?s:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(h||(h=p(22).StringDecoder),this.decoder=new h(e.encoding),this.encoding=e.encoding)}function w(e){if(i=i||p(7),!(this instanceof w))return new w(e);this._readableState=new g(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function E(e,t,p,r,o){var i,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var p=t.decoder.end();p&&p.length&&(t.buffer.push(p),t.length+=t.objectMode?1:p.length)}t.ended=!0,I(e)}(e,s)):(o||(i=function(e,t){var p;r=t,l.isBuffer(r)||r instanceof c||"string"==typeof t||void 0===t||e.objectMode||(p=new TypeError("Invalid non-string/buffer chunk"));var r;return p}(s,t)),i?e.emit("error",i):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):m(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!p?(t=s.decoder.write(t),s.objectMode||0!==t.length?m(e,s,t,!1):T(e,s)):m(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function I(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(f("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?o.nextTick(L,e):L(e))}function L(e){f("emit readable"),e.emit("readable"),D(e)}function T(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(v,e,t))}function v(e,t){for(var p=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(p=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):p=function(e,t,p){var r;ei.length?i.length:e;if(s===i.length?o+=i:o+=i.slice(0,e),0===(e-=s)){s===i.length?(++r,p.next?t.head=p.next:t.head=t.tail=null):(t.head=p,p.data=i.slice(s));break}++r}return t.length-=r,o}(e,t):function(e,t){var p=l.allocUnsafe(e),r=t.head,o=1;r.data.copy(p),e-=r.data.length;for(;r=r.next;){var i=r.data,s=e>i.length?i.length:e;if(i.copy(p,p.length-e,0,s),0===(e-=s)){s===i.length?(++o,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=i.slice(s));break}++o}return t.length-=o,p}(e,t);return r}(e,t.buffer,t.decoder),p);var p}function G(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,o.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function C(e,t){for(var p=0,r=e.length;p=t.highWaterMark||t.ended))return f("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?G(this):I(this),null;if(0===(e=b(e,t))&&t.ended)return 0===t.length&&G(this),null;var r,o=t.needReadable;return f("need readable",o),(0===t.length||t.length-e0?O(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),p!==e&&t.ended&&G(this)),null!==r&&this.emit("data",r),r},w.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(e,t){var p=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,t);var a=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?c:w;function l(t,r){f("onunpipe"),t===p&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f("cleanup"),e.removeListener("close",S),e.removeListener("finish",g),e.removeListener("drain",u),e.removeListener("error",_),e.removeListener("unpipe",l),p.removeListener("end",c),p.removeListener("end",w),p.removeListener("data",d),y=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function c(){f("onend"),e.end()}i.endEmitted?o.nextTick(a):p.once("end",a),e.on("unpipe",l);var u=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&n(e,"data")&&(t.flowing=!0,D(e))}}(p);e.on("drain",u);var y=!1;var h=!1;function d(t){f("ondata"),h=!1,!1!==e.write(t)||h||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==C(i.pipes,e))&&!y&&(f("false write response, pause",p._readableState.awaitDrain),p._readableState.awaitDrain++,h=!0),p.pause())}function _(t){f("onerror",t),w(),e.removeListener("error",_),0===n(e,"error")&&e.emit("error",t)}function S(){e.removeListener("finish",g),w()}function g(){f("onfinish"),e.removeListener("close",S),w()}function w(){f("unpipe"),p.unpipe(e)}return p.on("data",d),function(e,t,p){if("function"==typeof e.prependListener)return e.prependListener(t,p);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(p):e._events[t]=[p,e._events[t]]:e.on(t,p)}(e,"error",_),e.once("close",S),e.once("finish",g),e.emit("pipe",p),i.flowing||(f("pipe resume"),p.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,p={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,p)),this;if(!e){var r=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function n(e){var t=this.lastTotal-this.lastNeed,p=function(e,t,p){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==p?p:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var p=e.toString("utf16le",t);if(p){var r=p.charCodeAt(p.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],p.slice(0,-1)}return p}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var p=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,p)}return t}function c(e,t){var p=(e.length-t)%3;return 0===p?e.toString("base64",t):(this.lastNeed=3-p,this.lastTotal=3,1===p?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-p))}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function y(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,p;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";p=this.lastNeed,this.lastNeed=0}else p=0;return p=0)return o>0&&(e.lastNeed=o-1),o;if(--r=0)return o>0&&(e.lastNeed=o-2),o;if(--r=0)return o>0&&(2===o?o=0:e.lastNeed=o-3),o;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=p;var r=e.length-(p-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,p){"use strict";e.exports=s;var r=p(7),o=p(10);function i(e,t){var p=this._transformState;p.transforming=!1;var r=p.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));p.writechunk=null,p.writecb=null,null!=t&&this.push(t),r(e);var o=this._readableState;o.reading=!1,(o.needReadable||o.length>8&255^255&p],t&=65535;return t}r.exports={preambleByte:85,crc16:S,sbpIdTable:f,sbpMessageTypesTable:h,decode:function(e){var t=d.parse(e),p=f[t.msg_type];return void 0===p?(console.log("Unknown message type: ",t.msg_type),new s(t)):new p(t)},dispatch:function(t,p,o){var i,s,n=new e(0);if(void 0===o&&"function"==typeof p?i=p:(i=o,s=p),s&&!Array.isArray(s)&&-1===["function","number"].indexOf(typeof s))throw l("dispatch: messageWhitelist must be function, number, or array");var a=function(p){t.pause();try{if((n=e.concat([n,p])).length<2)return;var o=function(){var e,t,p,o,i,a,l;for(l=0;ln.length)throw new c;e=n.slice(l+1,l+6),p=n.readUInt16LE(l+1),_=n.readUInt16LE(l+3),o=n.readUInt8(l+5);var y=s&&Array.isArray(s)&&-1!==s.indexOf(p),f=s&&"number"==typeof s&&s&p,h=s&&"function"==typeof s&&s(p);if(s&&!(y||f||h))return n=n.slice(l+6+o+2),null;if(l+8+o>n.length)throw new c;a=S(n.slice(l+6,l+6+o),S(e)),i=n.readUInt16LE(l+6+o);var d=n.slice(l,l+6+o+2);if(i===a)return n=n.slice(l+6+o+2),[r.exports.decode(d),d];throw n=n.slice(l+1),new u}();if(null===o)return;var l=o[0],y=o[1];i(null,l,y)}catch(e){if(!(e instanceof c||e instanceof u))throw e}finally{t.resume(),n.length>0&&setTimeout((function(){a(new e(0))}),0)}};t.on("data",a)}},function(e){var p={function:!0,object:!0},i=p[typeof window]&&window||this,s=p[typeof t]&&t&&!t.nodeType&&t,n=p[typeof r]&&r&&!r.nodeType&&r,a=s&&n&&"object"==typeof o&&o;!a||a.global!==a&&a.window!==a&&a.self!==a||(i=a),i.SBP=e}(r.exports)}).call(this,p(8).Buffer,p(27)(e),p(5))},function(e,t,p){"use strict";t.byteLength=function(e){var t=l(e),p=t[0],r=t[1];return 3*(p+r)/4-r},t.toByteArray=function(e){for(var t,p=l(e),r=p[0],s=p[1],n=new i(function(e,t,p){return 3*(t+p)/4-p}(0,r,s)),a=0,c=s>0?r-4:r,u=0;u>16&255,n[a++]=t>>8&255,n[a++]=255&t;2===s&&(t=o[e.charCodeAt(u)]<<2|o[e.charCodeAt(u+1)]>>4,n[a++]=255&t);1===s&&(t=o[e.charCodeAt(u)]<<10|o[e.charCodeAt(u+1)]<<4|o[e.charCodeAt(u+2)]>>2,n[a++]=t>>8&255,n[a++]=255&t);return n},t.fromByteArray=function(e){for(var t,p=e.length,o=p%3,i=[],s=0,n=p-o;sn?n:s+16383));1===o?(t=e[p-1],i.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[p-2]<<8)+e[p-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return i.join("")};for(var r=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,a=s.length;n0)throw new Error("Invalid string. Length must be a multiple of 4");var p=e.indexOf("=");return-1===p&&(p=t),[p,p===t?0:4-p%4]}function c(e,t,p){for(var o,i,s=[],n=t;n>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return s.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,p,r,o){var i,s,n=8*o-r-1,a=(1<>1,c=-7,u=p?o-1:0,y=p?-1:1,f=e[t+u];for(u+=y,i=f&(1<<-c)-1,f>>=-c,c+=n;c>0;i=256*i+e[t+u],u+=y,c-=8);for(s=i&(1<<-c)-1,i>>=-c,c+=r;c>0;s=256*s+e[t+u],u+=y,c-=8);if(0===i)i=1-l;else{if(i===a)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,r),i-=l}return(f?-1:1)*s*Math.pow(2,i-r)},t.write=function(e,t,p,r,o,i){var s,n,a,l=8*i-o-1,c=(1<>1,y=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:i-1,h=r?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(n=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-s))<1&&(s--,a*=2),(t+=s+u>=1?y/a:y*Math.pow(2,1-u))*a>=2&&(s++,a/=2),s+u>=c?(n=0,s=c):s+u>=1?(n=(t*a-1)*Math.pow(2,o),s+=u):(n=t*Math.pow(2,u-1)*Math.pow(2,o),s=0));o>=8;e[p+f]=255&n,f+=h,n/=256,o-=8);for(s=s<0;e[p+f]=255&s,f+=h,s/=256,l-=8);e[p+f-h]|=128*d}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Context=void 0;var r=function(){function e(e){this.code="",this.scopes=[["vars"]],this.bitFields=[],this.tmpVariableCount=0,this.references={},this.imports=[],this.reverseImports=new Map,this.importPath=e}return e.prototype.generateVariable=function(e){var t=[],p=this.scopes[this.scopes.length-1];return t.push.apply(t,p),e&&t.push(e),t.join(".")},e.prototype.generateOption=function(e){switch(typeof e){case"number":return e.toString();case"string":return this.generateVariable(e);case"function":return this.addImport(e)+".call("+this.generateVariable()+", vars)"}},e.prototype.generateError=function(e){this.pushCode("throw new Error("+e+");")},e.prototype.generateTmpVariable=function(){return"$tmp"+this.tmpVariableCount++},e.prototype.pushCode=function(e){this.code+=e+"\n"},e.prototype.pushPath=function(e){e&&this.scopes[this.scopes.length-1].push(e)},e.prototype.popPath=function(e){e&&this.scopes[this.scopes.length-1].pop()},e.prototype.pushScope=function(e){this.scopes.push([e])},e.prototype.popScope=function(){this.scopes.pop()},e.prototype.addImport=function(e){if(!this.importPath)return"("+e+")";var t=this.reverseImports.get(e);return t||(t=this.imports.push(e)-1,this.reverseImports.set(e,t)),this.importPath+"["+t+"]"},e.prototype.addReference=function(e){this.references[e]||(this.references[e]={resolved:!1,requested:!1})},e.prototype.markResolved=function(e){this.references[e].resolved=!0},e.prototype.markRequested=function(e){var t=this;e.forEach((function(e){t.references[e].requested=!0}))},e.prototype.getUnresolvedReferences=function(){var e=this.references;return Object.keys(this.references).filter((function(t){return!e[t].resolved&&!e[t].requested}))},e}();t.Context=r},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,p){(function(e){function p(e,t){for(var p=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),p++):p&&(e.splice(r,1),p--)}if(t)for(;p--;p)e.unshift("..");return e}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,o=function(e){return r.exec(e).slice(1)};function i(e,t){if(e.filter)return e.filter(t);for(var p=[],r=0;r=-1&&!r;o--){var s=o>=0?arguments[o]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,r="/"===s.charAt(0))}return(r?"/":"")+(t=p(i(t.split("/"),(function(e){return!!e})),!r).join("/"))||"."},t.normalize=function(e){var r=t.isAbsolute(e),o="/"===s(e,-1);return(e=p(i(e.split("/"),(function(e){return!!e})),!r).join("/"))||r||(e="."),e&&o&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,p){function r(e){for(var t=0;t=0&&""===e[p];p--);return t>p?[]:e.slice(t,p-t+1)}e=t.resolve(e).substr(1),p=t.resolve(p).substr(1);for(var o=r(e.split("/")),i=r(p.split("/")),s=Math.min(o.length,i.length),n=s,a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,p=""+t.data;t=t.next;)p+=e+t.data;return p},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t=r.allocUnsafe(e>>>0),p=this.head,o=0;p;)i(p.data,t,o),o+=p.data.length,p=p.next;return t},e}(),o&&o.inspect&&o.inspect.custom&&(e.exports.prototype[o.inspect.custom]=function(){var e=o.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,p){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},p(36),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,p(5))},function(e,t,p){(function(e,t){!function(e,p){"use strict";if(!e.setImmediate){var r,o,i,s,n,a=1,l={},c=!1,u=e.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(e);y=y&&y.setTimeout?y:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,p=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=p,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,r=function(e){var t=u.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(s="setImmediate$"+Math.random()+"$",n=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&h(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),r=function(t){e.postMessage(s+t,"*")}),y.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),p=0;p * @license MIT */ -function r(e,t){if(e===t)return 0;for(var p=e.length,r=t.length,o=0,i=Math.min(p,r);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],p,r))return!1;return!0}(e,t,p,s))}return p?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,p,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof p&&(r=p,p=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(p&&p.name?" ("+p.name+").":".")+(r?" "+r:"."),e&&!o&&_(o,p,"Missing expected exception"+r);var s="string"==typeof r,n=!e&&o&&!p;if((!e&&i.isError(o)&&s&&E(o,p)||n)&&_(o,p,"Got unwanted exception"+r),e&&o&&p&&!E(o,p)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return f(d(e.actual),128)+" "+e.operator+" "+f(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var p=new Error;if(p.stack){var r=p.stack,o=h(t),i=r.indexOf("\n"+o);if(i>=0){var s=r.indexOf("\n",i+1);r=r.substring(s+1)}this.stack=r}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,p){e!=t&&_(e,t,p,"==",u.equal)},u.notEqual=function(e,t,p){e==t&&_(e,t,p,"!=",u.notEqual)},u.deepEqual=function(e,t,p){g(e,t,!1)||_(e,t,p,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,p){g(e,t,!0)||_(e,t,p,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,p){g(e,t,!1)&&_(e,t,p,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,p,r){g(t,p,!0)&&_(t,p,r,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,p){e!==t&&_(e,t,p,"===",u.strictEqual)},u.notStrictEqual=function(e,t,p){e===t&&_(e,t,p,"!==",u.notStrictEqual)},u.throws=function(e,t,p){m(!0,e,t,p)},u.doesNotThrow=function(e,t,p){m(!1,e,t,p)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var p in e)s.call(e,p)&&t.push(p);return t}}).call(this,p(5))},function(e,t,p){var r;!function(p){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var p=parseInt(e,t||10);return this._low=65535&p,this._high=p>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,p=t>>>16;return p+=this._high+e._high,this._low=65535&t,this._high=65535&p,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,p,r=this._high,o=this._low,i=e._high,s=e._low;return t=(p=o*s)>>>16,t+=r*s,t&=65535,t+=o*i,this._low=65535&p,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._low=0,this._high=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){var r;!function(p){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,p,r){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,p,r)}function n(e,t,p,r){return void 0===p?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|p,this._a48=0|r,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var p=o[t]||new s(Math.pow(t,5)),r=0,i=e.length;r=0&&(p.div(t),r[o]=p.remainder.toNumber().toString(e),p.gt(t));o--);return r[o-1]=p.toNumber().toString(e),r.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,p=t>>>16,r=(p+=this._a16+e._a16)>>>16,o=(r+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&p,this._a32=65535&r,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,p=this._a16,r=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=p*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=p*s)>>>16,c&=65535,u+=(c+=r*i)>>>16,u+=t*e._a48,u&=65535,u+=p*n,u&=65535,u+=r*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p<>>32-e,i=r<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p>>>e|r<<32-e,i=r>>>e|p<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(r=function(){return s}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=(p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_SV_PROFILE",h.prototype.msg_type=46,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",f.prototype.msg_type=30,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:h,MsgAcqSvProfile:h,30:f,MsgAcqSvProfileDep:f}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];let l=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",h.prototype.msg_type=4098,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),h.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:h,MsgFileioConfigResp:h}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",h.prototype.msg_type=229,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",f.prototype.msg_type=243,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:h,MsgStmUniqueIdResp:h,243:f,MsgM25FlashWriteStatus:f}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal,p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),s=p(0).SvId,n=function(e,t){return r.call(this,e),this.messageType="IntegritySSRHeader",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="IntegritySSRHeader",n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),n.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),n.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),n.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),n.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["chain_id","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_HIGH_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_HIGH_LEVEL",a.prototype.msg_type=3001,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).nest("corr_time",{type:i.prototype.parser}).uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id").uint8("use_gps_sat").uint8("use_gal_sat").uint8("use_bds_sat").array("reserved",{length:6,type:"uint8"}).uint8("use_tropo_grid_points").uint8("use_iono_grid_points").uint8("use_iono_tile_sat_los").uint8("use_iono_grid_point_sat_los"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["corr_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),a.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gps_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gal_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_bds_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},6]),a.prototype.fieldSpec.push(["use_tropo_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_tile_sat_los","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_point_sat_los","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_SATELLITES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_SATELLITES",l.prototype.msg_type=3005,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint8("chain_id").uint8("const_id").uint8("n_faulty_sats").array("faulty_sats",{type:"uint8",length:"n_faulty_sats"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),l.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),l.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),l.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),l.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),l.prototype.fieldSpec.push(["const_id","writeUInt8",1]),l.prototype.fieldSpec.push(["n_faulty_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["faulty_sats","array","writeUInt8",function(){return 1},"n_faulty_sats"]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",c.prototype.msg_type=3011,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),c.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",u.prototype.msg_type=3015,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),u.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",y.prototype.msg_type=3021,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),y.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",h.prototype.msg_type=3025,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint16("grid_point_id").uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),h.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),h.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_ACKNOWLEDGE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_ACKNOWLEDGE",f.prototype.msg_type=3026,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("request_id").uint32("area_id").uint8("response_code").uint16("correction_mask_on_demand").uint16("correction_mask_stream").uint8("solution_id"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["request_id","writeUInt8",1]),f.prototype.fieldSpec.push(["area_id","writeUInt32LE",4]),f.prototype.fieldSpec.push(["response_code","writeUInt8",1]),f.prototype.fieldSpec.push(["correction_mask_on_demand","writeUInt16LE",2]),f.prototype.fieldSpec.push(["correction_mask_stream","writeUInt16LE",2]),f.prototype.fieldSpec.push(["solution_id","writeUInt8",1]),e.exports={IntegritySSRHeader:n,3001:a,MsgSsrFlagHighLevel:a,3005:l,MsgSsrFlagSatellites:l,3011:c,MsgSsrFlagTropoGridPoints:c,3015:u,MsgSsrFlagIonoGridPoints:u,3021:y,MsgSsrFlagIonoTileSatLos:y,3025:h,MsgSsrFlagIonoGridPointSatLos:h,3026:f,MsgAcknowledge:f}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE_DEP_A",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE_DEP_A",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE_DEP_A",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE",h.prototype.msg_type=32520,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["index","writeUInt8",1]),h.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),h.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),h.prototype.fieldSpec.push(["time","writeUInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["tname","string",15]),h.prototype.fieldSpec.push(["cmdline","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE",f.prototype.msg_type=32521,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["index","writeUInt8",1]),f.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),f.prototype.fieldSpec.push(["pmem","writeUInt8",1]),f.prototype.fieldSpec.push(["time","writeUInt32LE",4]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["tname","string",15]),f.prototype.fieldSpec.push(["cmdline","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE",d.prototype.msg_type=32522,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count").uint32("time").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),d.prototype.fieldSpec.push(["pmem","writeUInt8",1]),d.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),d.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]),d.prototype.fieldSpec.push(["time","writeUInt32LE",4]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={32512:i,MsgLinuxCpuStateDepA:i,32513:s,MsgLinuxMemStateDepA:s,32514:n,MsgLinuxSysStateDepA:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y,32520:h,MsgLinuxCpuState:h,32521:f,MsgLinuxMemState:f,32522:d,MsgLinuxSysState:d}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").array("fwd_payload",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_GNSS",s.prototype.msg_type=260,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME",n.prototype.msg_type=259,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt8",1]),n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["year","writeUInt16LE",2]),n.prototype.fieldSpec.push(["month","writeUInt8",1]),n.prototype.fieldSpec.push(["day","writeUInt8",1]),n.prototype.fieldSpec.push(["hours","writeUInt8",1]),n.prototype.fieldSpec.push(["minutes","writeUInt8",1]),n.prototype.fieldSpec.push(["seconds","writeUInt8",1]),n.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME_GNSS",a.prototype.msg_type=261,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]),a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["year","writeUInt16LE",2]),a.prototype.fieldSpec.push(["month","writeUInt8",1]),a.prototype.fieldSpec.push(["day","writeUInt8",1]),a.prototype.fieldSpec.push(["hours","writeUInt8",1]),a.prototype.fieldSpec.push(["minutes","writeUInt8",1]),a.prototype.fieldSpec.push(["seconds","writeUInt8",1]),a.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_DOPS",l.prototype.msg_type=520,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF",c.prototype.msg_type=521,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["x","writeDoubleLE",8]),c.prototype.fieldSpec.push(["y","writeDoubleLE",8]),c.prototype.fieldSpec.push(["z","writeDoubleLE",8]),c.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV",u.prototype.msg_type=532,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["x","writeDoubleLE",8]),u.prototype.fieldSpec.push(["y","writeDoubleLE",8]),u.prototype.fieldSpec.push(["z","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH",y.prototype.msg_type=522,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),y.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),y.prototype.fieldSpec.push(["height","writeDoubleLE",8]),y.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV",h.prototype.msg_type=529,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),h.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),h.prototype.fieldSpec.push(["height","writeDoubleLE",8]),h.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);let f=function(e,t){return r.call(this,e),this.messageType="EstimatedHorizontalErrorEllipse",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="EstimatedHorizontalErrorEllipse",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").floatle("semi_major").floatle("semi_minor").floatle("orientation"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["semi_major","writeFloatLE",4]),f.prototype.fieldSpec.push(["semi_minor","writeFloatLE",4]),f.prototype.fieldSpec.push(["orientation","writeFloatLE",4]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_ACC",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_ACC",d.prototype.msg_type=536,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").doublele("orthometric_height").floatle("h_accuracy").floatle("v_accuracy").floatle("ct_accuracy").floatle("at_accuracy").nest("h_ellipse",{type:f.prototype.parser}).uint8("confidence_and_geoid").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),d.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),d.prototype.fieldSpec.push(["height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["orthometric_height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["h_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["v_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["ct_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["at_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["h_ellipse",f.prototype.fieldSpec]),d.prototype.fieldSpec.push(["confidence_and_geoid","writeUInt8",1]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF",_.prototype.msg_type=523,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["x","writeInt32LE",4]),_.prototype.fieldSpec.push(["y","writeInt32LE",4]),_.prototype.fieldSpec.push(["z","writeInt32LE",4]),_.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED",S.prototype.msg_type=524,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["n","writeInt32LE",4]),S.prototype.fieldSpec.push(["e","writeInt32LE",4]),S.prototype.fieldSpec.push(["d","writeInt32LE",4]),S.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF",g.prototype.msg_type=525,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeInt32LE",4]),g.prototype.fieldSpec.push(["y","writeInt32LE",4]),g.prototype.fieldSpec.push(["z","writeInt32LE",4]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV",w.prototype.msg_type=533,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeInt32LE",4]),w.prototype.fieldSpec.push(["y","writeInt32LE",4]),w.prototype.fieldSpec.push(["z","writeInt32LE",4]),w.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED",E.prototype.msg_type=526,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["n","writeInt32LE",4]),E.prototype.fieldSpec.push(["e","writeInt32LE",4]),E.prototype.fieldSpec.push(["d","writeInt32LE",4]),E.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV",m.prototype.msg_type=530,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["n","writeInt32LE",4]),m.prototype.fieldSpec.push(["e","writeInt32LE",4]),m.prototype.fieldSpec.push(["d","writeInt32LE",4]),m.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_GNSS",b.prototype.msg_type=553,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeDoubleLE",8]),b.prototype.fieldSpec.push(["y","writeDoubleLE",8]),b.prototype.fieldSpec.push(["z","writeDoubleLE",8]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",I.prototype.msg_type=564,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["x","writeDoubleLE",8]),I.prototype.fieldSpec.push(["y","writeDoubleLE",8]),I.prototype.fieldSpec.push(["z","writeDoubleLE",8]),I.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_GNSS",L.prototype.msg_type=554,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),L.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),L.prototype.fieldSpec.push(["height","writeDoubleLE",8]),L.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV_GNSS",T.prototype.msg_type=561,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),T.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),T.prototype.fieldSpec.push(["height","writeDoubleLE",8]),T.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_GNSS",v.prototype.msg_type=557,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["x","writeInt32LE",4]),v.prototype.fieldSpec.push(["y","writeInt32LE",4]),v.prototype.fieldSpec.push(["z","writeInt32LE",4]),v.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",U.prototype.msg_type=565,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["x","writeInt32LE",4]),U.prototype.fieldSpec.push(["y","writeInt32LE",4]),U.prototype.fieldSpec.push(["z","writeInt32LE",4]),U.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_GNSS",M.prototype.msg_type=558,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["n","writeInt32LE",4]),M.prototype.fieldSpec.push(["e","writeInt32LE",4]),M.prototype.fieldSpec.push(["d","writeInt32LE",4]),M.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),M.prototype.fieldSpec.push(["flags","writeUInt8",1]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV_GNSS",D.prototype.msg_type=562,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["n","writeInt32LE",4]),D.prototype.fieldSpec.push(["e","writeInt32LE",4]),D.prototype.fieldSpec.push(["d","writeInt32LE",4]),D.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),D.prototype.fieldSpec.push(["flags","writeUInt8",1]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_VEL_BODY",O.prototype.msg_type=531,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeInt32LE",4]),O.prototype.fieldSpec.push(["y","writeInt32LE",4]),O.prototype.fieldSpec.push(["z","writeInt32LE",4]),O.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_COG",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_VEL_COG",G.prototype.msg_type=540,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").uint32("cog").uint32("sog").int32("v_up").uint32("cog_accuracy").uint32("sog_accuracy").uint32("v_up_accuracy").uint16("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["cog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up","writeInt32LE",4]),G.prototype.fieldSpec.push(["cog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["flags","writeUInt16LE",2]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_AGE_CORRECTIONS",A.prototype.msg_type=528,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["age","writeUInt16LE",2]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_DEP_A",C.prototype.msg_type=256,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_DOPS_DEP_A",R.prototype.msg_type=518,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_DEP_A",P.prototype.msg_type=512,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["x","writeDoubleLE",8]),P.prototype.fieldSpec.push(["y","writeDoubleLE",8]),P.prototype.fieldSpec.push(["z","writeDoubleLE",8]),P.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_DEP_A",N.prototype.msg_type=513,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),N.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),N.prototype.fieldSpec.push(["height","writeDoubleLE",8]),N.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",j.prototype.msg_type=514,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["x","writeInt32LE",4]),j.prototype.fieldSpec.push(["y","writeInt32LE",4]),j.prototype.fieldSpec.push(["z","writeInt32LE",4]),j.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),j.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED_DEP_A",x.prototype.msg_type=515,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),x.prototype.fieldSpec.push(["n","writeInt32LE",4]),x.prototype.fieldSpec.push(["e","writeInt32LE",4]),x.prototype.fieldSpec.push(["d","writeInt32LE",4]),x.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),x.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",F.prototype.msg_type=516,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["x","writeInt32LE",4]),F.prototype.fieldSpec.push(["y","writeInt32LE",4]),F.prototype.fieldSpec.push(["z","writeInt32LE",4]),F.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.prototype.fieldSpec.push(["flags","writeUInt8",1]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",k.prototype.msg_type=517,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["n","writeInt32LE",4]),k.prototype.fieldSpec.push(["e","writeInt32LE",4]),k.prototype.fieldSpec.push(["d","writeInt32LE",4]),k.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",B.prototype.msg_type=519,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),B.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),B.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),B.prototype.fieldSpec.push(["flags","writeUInt8",1]);let q=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL_DEP_A",q.prototype.msg_type=534,q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),q.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),q.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),q.prototype.fieldSpec.push(["height","writeDoubleLE",8]),q.prototype.fieldSpec.push(["flags","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL",z.prototype.msg_type=535,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("tow").int16("wn").uint16("hpl").uint16("vpl").uint16("atpl").uint16("ctpl").uint16("hvpl").uint16("vvpl").uint16("hopl").uint16("popl").uint16("ropl").doublele("lat").doublele("lon").doublele("height").int32("v_x").int32("v_y").int32("v_z").int32("roll").int32("pitch").int32("heading").uint32("flags"),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),z.prototype.fieldSpec.push(["wn","writeInt16LE",2]),z.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["atpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ctpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hopl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["popl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ropl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),z.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),z.prototype.fieldSpec.push(["height","writeDoubleLE",8]),z.prototype.fieldSpec.push(["v_x","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_y","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_z","writeInt32LE",4]),z.prototype.fieldSpec.push(["roll","writeInt32LE",4]),z.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),z.prototype.fieldSpec.push(["heading","writeInt32LE",4]),z.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let H=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_LEAP_SECOND",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="MSG_UTC_LEAP_SECOND",H.prototype.msg_type=570,H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").int16("reserved_0").int16("reserved_1").int8("reserved_2").int8("count_before").uint16("reserved_3").uint16("reserved_4").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["reserved_0","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_1","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_2","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["reserved_3","writeUInt16LE",2]),H.prototype.fieldSpec.push(["reserved_4","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_wn","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_dn","writeUInt8",1]),H.prototype.fieldSpec.push(["count_after","writeInt8",1]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_REFERENCE_FRAME_PARAM",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_REFERENCE_FRAME_PARAM",V.prototype.msg_type=580,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").uint8("ssr_iod").string("sn",{length:32}).string("tn",{length:32}).uint8("sin").uint16("utn").uint16("re_t0").int32("delta_X0").int32("delta_Y0").int32("delta_Z0").int32("theta_01").int32("theta_02").int32("theta_03").int32("scale").int32("dot_delta_X0").int32("dot_delta_Y0").int32("dot_delta_Z0").int32("dot_theta_01").int32("dot_theta_02").int32("dot_theta_03").int16("dot_scale"),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",32]),V.prototype.fieldSpec.push(["tn","string",32]),V.prototype.fieldSpec.push(["sin","writeUInt8",1]),V.prototype.fieldSpec.push(["utn","writeUInt16LE",2]),V.prototype.fieldSpec.push(["re_t0","writeUInt16LE",2]),V.prototype.fieldSpec.push(["delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["scale","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_scale","writeInt16LE",2]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_POSE_RELATIVE",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_POSE_RELATIVE",Y.prototype.msg_type=581,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").uint32("tow").uint8("sensor_id").uint32("timestamp_1").uint32("timestamp_2").array("trans",{length:3,type:"int32le"}).int32("w").int32("x").int32("y").int32("z").floatle("cov_r_x_x").floatle("cov_r_x_y").floatle("cov_r_x_z").floatle("cov_r_y_y").floatle("cov_r_y_z").floatle("cov_r_z_z").floatle("cov_c_x_x").floatle("cov_c_x_y").floatle("cov_c_x_z").floatle("cov_c_y_y").floatle("cov_c_y_z").floatle("cov_c_z_z").uint8("flags"),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["sensor_id","writeUInt8",1]),Y.prototype.fieldSpec.push(["timestamp_1","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["timestamp_2","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["trans","array","writeInt32LE",function(){return 4},3]),Y.prototype.fieldSpec.push(["w","writeInt32LE",4]),Y.prototype.fieldSpec.push(["x","writeInt32LE",4]),Y.prototype.fieldSpec.push(["y","writeInt32LE",4]),Y.prototype.fieldSpec.push(["z","writeInt32LE",4]),Y.prototype.fieldSpec.push(["cov_r_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,260:s,MsgGpsTimeGnss:s,259:n,MsgUtcTime:n,261:a,MsgUtcTimeGnss:a,520:l,MsgDops:l,521:c,MsgPosEcef:c,532:u,MsgPosEcefCov:u,522:y,MsgPosLlh:y,529:h,MsgPosLlhCov:h,EstimatedHorizontalErrorEllipse:f,536:d,MsgPosLlhAcc:d,523:_,MsgBaselineEcef:_,524:S,MsgBaselineNed:S,525:g,MsgVelEcef:g,533:w,MsgVelEcefCov:w,526:E,MsgVelNed:E,530:m,MsgVelNedCov:m,553:b,MsgPosEcefGnss:b,564:I,MsgPosEcefCovGnss:I,554:L,MsgPosLlhGnss:L,561:T,MsgPosLlhCovGnss:T,557:v,MsgVelEcefGnss:v,565:U,MsgVelEcefCovGnss:U,558:M,MsgVelNedGnss:M,562:D,MsgVelNedCovGnss:D,531:O,MsgVelBody:O,540:G,MsgVelCog:G,528:A,MsgAgeCorrections:A,256:C,MsgGpsTimeDepA:C,518:R,MsgDopsDepA:R,512:P,MsgPosEcefDepA:P,513:N,MsgPosLlhDepA:N,514:j,MsgBaselineEcefDepA:j,515:x,MsgBaselineNedDepA:x,516:F,MsgVelEcefDepA:F,517:k,MsgVelNedDepA:k,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V,581:Y,MsgPoseRelative:Y}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=p(0).GPSTimeSec,u=(p(0).SvId,function(e,t){return r.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(r.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:a.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:s.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),h.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let f=function(e,t){return r.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:s.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),f.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);let g=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let E=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS",I.prototype.msg_type=138,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeFloatLE",4]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_BDS",T.prototype.msg_type=137,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),T.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeFloatLE",4]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt8",1]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",v.prototype.msg_type=149,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint16("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),v.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL",U.prototype.msg_type=141,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),U.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),U.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),U.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),U.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["w","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af2","writeFloatLE",4]),U.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),U.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),U.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["source","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",M.prototype.msg_type=130,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),M.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",C.prototype.msg_type=135,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",R.prototype.msg_type=136,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]),R.prototype.fieldSpec.push(["iod","writeUInt8",1]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:n.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:n.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let k=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);let q=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]);let H=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_B",Y.prototype.msg_type=67,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);let W=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_C",W.prototype.msg_type=73,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);let Q=function(e,t){return r.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(r.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);let K=function(e,t){return r.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(r.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);let X=function(e,t){return r.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(r.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);let J=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(r.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);let Z=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",Z.prototype.msg_type=146,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["prn","writeUInt8",1]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);let $=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",$.prototype.msg_type=147,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).nest("sid",{type:n.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);let ee=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);let te=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",c.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let pe=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContentDep",pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["toa",c.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),pe.prototype.fieldSpec.push(["valid","writeUInt8",1]),pe.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let re=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GPS_DEP",re.prototype.msg_type=112,re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("common",{type:pe.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["common",pe.prototype.fieldSpec]),re.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),re.prototype.fieldSpec.push(["w","writeDoubleLE",8]),re.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);let oe=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);let ie=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:pe.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",pe.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);let se=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);let ne=function(e,t){return r.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(r.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);let ae=function(e,t){return r.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(r.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);let le=function(e,t){return r.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(r.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);let ce=function(e,t){return r.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(r.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:h,PackedOsrContent:f,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:I,MsgEphemerisGps:I,142:L,MsgEphemerisQzss:L,137:T,MsgEphemerisBds:T,149:v,MsgEphemerisGalDepA:v,141:U,MsgEphemerisGal:U,130:M,MsgEphemerisSbasDepA:M,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:C,MsgEphemerisGloDepC:C,136:R,MsgEphemerisGloDepD:R,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:Y,MsgObsDepB:Y,73:W,MsgObsDepC:W,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:Z,MsgGroupDelayDepA:Z,147:$,MsgGroupDelayDepB:$,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:pe,112:re,MsgAlmanacGpsDep:re,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=p(0).GPSTime,a=p(0).GPSTimeDep,l=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];let c=function(e,t){return r.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];let u=function(e,t){return r.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];let f=function(e,t){return r.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];let d=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];let S=function(e,t){return r.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);let g=function(e,t){return r.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);let E=function(e,t){return r.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_IAR_STATE",I.prototype.msg_type=25,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("num_hyps"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE_DEP",T.prototype.msg_type=27,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["mask","writeUInt8",1]),T.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_DEVICE_MONITOR",v.prototype.msg_type=181,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),v.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_REQ",U.prototype.msg_type=184,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["command","string",null]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_RESP",M.prototype.msg_type=185,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["code","writeInt32LE",4]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];let G=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let A=function(e,t){return r.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",C.prototype.msg_type=189,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_CELL_MODEM_STATUS",R.prototype.msg_type=190,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),R.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),R.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:h,MsgCwResults:h,193:f,MsgCwStart:f,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:I,MsgIarState:I,43:L,MsgMaskSatellite:L,27:T,MsgMaskSatelliteDep:T,181:v,MsgDeviceMonitor:v,184:U,MsgCommandReq:U,185:M,MsgCommandResp:M,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:C,MsgNetworkBandwidthUsage:C,190:R,MsgCellModemStatus:R,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_REGISTER",h.prototype.msg_type=174,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["setting","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",f.prototype.msg_type=431,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","writeUInt8",1]),f.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:h,MsgSettingsRegister:h,431:f,MsgSettingsRegisterResp:f}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="UtcTime",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="UtcTime",i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["year","writeUInt16LE",2]),i.prototype.fieldSpec.push(["month","writeUInt8",1]),i.prototype.fieldSpec.push(["day","writeUInt8",1]),i.prototype.fieldSpec.push(["hours","writeUInt8",1]),i.prototype.fieldSpec.push(["minutes","writeUInt8",1]),i.prototype.fieldSpec.push(["seconds","writeUInt8",1]),i.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ECDSA_CERTIFICATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_ECDSA_CERTIFICATE",s.prototype.msg_type=3076,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("n_msg").array("certificate_id",{length:4,type:"uint8"}).uint8("flags").array("certificate_bytes",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["n_msg","writeUInt8",1]),s.prototype.fieldSpec.push(["certificate_id","array","writeUInt8",function(){return 1},4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["certificate_bytes","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_CERTIFICATE_CHAIN",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_CERTIFICATE_CHAIN",n.prototype.msg_type=3077,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").array("root_certificate",{length:20,type:"uint8"}).array("intermediate_certificate",{length:20,type:"uint8"}).array("corrections_certificate",{length:20,type:"uint8"}).nest("expiration",{type:i.prototype.parser}).array("signature",{length:64,type:"uint8"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["root_certificate","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["intermediate_certificate","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["corrections_certificate","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["expiration",i.prototype.fieldSpec]),n.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ECDSA_SIGNATURE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_ECDSA_SIGNATURE",a.prototype.msg_type=3078,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags").uint8("stream_counter").uint8("on_demand_counter").array("certificate_id",{length:4,type:"uint8"}).array("signature",{length:64,type:"uint8"}).array("signed_messages",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]),a.prototype.fieldSpec.push(["stream_counter","writeUInt8",1]),a.prototype.fieldSpec.push(["on_demand_counter","writeUInt8",1]),a.prototype.fieldSpec.push(["certificate_id","array","writeUInt8",function(){return 1},4]),a.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),a.prototype.fieldSpec.push(["signed_messages","array","writeUInt8",function(){return 1},null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_CERTIFICATE_DEP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_CERTIFICATE_DEP",l.prototype.msg_type=3074,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("n_msg").array("fingerprint",{length:20,type:"uint8"}).array("certificate_bytes",{type:"uint8",readUntil:"eof"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["n_msg","writeUInt8",1]),l.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),l.prototype.fieldSpec.push(["certificate_bytes","array","writeUInt8",function(){return 1},null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE_DEP_A",c.prototype.msg_type=3073,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),c.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),c.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE_DEP_B",u.prototype.msg_type=3075,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("stream_counter").uint8("on_demand_counter").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["stream_counter","writeUInt8",1]),u.prototype.fieldSpec.push(["on_demand_counter","writeUInt8",1]),u.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),u.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),u.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]),e.exports={UtcTime:i,3076:s,MsgEcdsaCertificate:s,3077:n,MsgCertificateChain:n,3078:a,MsgEcdsaSignature:a,3074:l,MsgEd25519CertificateDep:l,3073:c,MsgEd25519SignatureDepA:c,3075:u,MsgEd25519SignatureDepB:u}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="SolutionInputType",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="SolutionInputType",i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("sensor_type").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META_DEP_A",s.prototype.msg_type=65295,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("pdop").uint16("hdop").uint16("vdop").uint8("n_sats").uint16("age_corrections").uint8("alignment_status").uint32("last_used_gnss_pos_tow").uint32("last_used_gnss_vel_tow").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),s.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),s.prototype.fieldSpec.push(["alignment_status","writeUInt8",1]),s.prototype.fieldSpec.push(["last_used_gnss_pos_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["last_used_gnss_vel_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META",n.prototype.msg_type=65294,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("pdop").uint16("hdop").uint16("vdop").uint16("age_corrections").uint32("age_gnss").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_gnss","writeUInt32LE",4]),n.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let a=function(e,t){return r.call(this,e),this.messageType="GNSSInputType",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="GNSSInputType",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="IMUInputType",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="IMUInputType",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="OdoInputType",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="OdoInputType",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={SolutionInputType:i,65295:s,MsgSolnMetaDepA:s,65294:n,MsgSolnMeta:n,GNSSInputType:a,IMUInputType:l,OdoInputType:c}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),n=p(0).SvId,a=function(e,t){return r.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);let l=function(e,t){return r.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);let c=function(e,t){return r.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),c.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),u.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);let h=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="TroposphericDelayCorrectionNoStd",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]);let f=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="TroposphericDelayCorrection",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]),f.prototype.fieldSpec.push(["stddev","writeUInt8",1]);let d=function(e,t){return r.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);let _=function(e,t){return r.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",S.prototype.msg_type=1501,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),S.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),S.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),S.prototype.fieldSpec.push(["radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["along","writeInt32LE",4]),S.prototype.fieldSpec.push(["cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["c0","writeInt32LE",4]),S.prototype.fieldSpec.push(["c1","writeInt32LE",4]),S.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_BIASES",g.prototype.msg_type=1505,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),g.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),g.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_SSR_PHASE_BIASES",w.prototype.msg_type=1510,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),w.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),w.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),w.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),w.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),w.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),w.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP",E.prototype.msg_type=1531,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let m=function(e,t){return r.call(this,e),this.messageType="BoundsHeader",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="BoundsHeader",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("sol_id"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),m.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["sol_id","writeUInt8",1]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION",b.prototype.msg_type=1533,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("n_sats").array("stec_sat_list",{type:y.prototype.parser,length:"n_sats"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),b.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),b.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",I.prototype.msg_type=1532,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["index","writeUInt16LE",2]),I.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),I.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let L=function(e,t){return r.call(this,e),this.messageType="STECSatElementIntegrity",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="STECSatElementIntegrity",L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("stec_residual",{type:_.prototype.parser}).uint8("stec_bound_mu").uint8("stec_bound_sig").uint8("stec_bound_mu_dot").uint8("stec_bound_sig_dot"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["stec_residual",_.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_bound_mu","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_mu_dot","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig_dot","writeUInt8",1]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",T.prototype.msg_type=1534,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("tropo_qi").uint16("grid_point_id").nest("tropo_delay_correction",{type:f.prototype.parser}).uint8("tropo_v_hydro_bound_mu").uint8("tropo_v_hydro_bound_sig").uint8("tropo_v_wet_bound_mu").uint8("tropo_v_wet_bound_sig").uint8("n_sats").array("stec_sat_list",{type:L.prototype.parser,length:"n_sats"}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),T.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),T.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_qi","writeUInt8",1]),T.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["stec_sat_list","array",L.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP_A",v.prototype.msg_type=1526,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),v.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),v.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),v.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP_B",U.prototype.msg_type=1527,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),U.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),U.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),U.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),U.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",M.prototype.msg_type=1528,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("update_interval").uint8("sol_id").uint8("iod_atmo").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),M.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),M.prototype.fieldSpec.push(["sol_id","writeUInt8",1]),M.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),M.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),M.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),M.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),M.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),M.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),M.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),M.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),M.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),M.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let D=function(e,t){return r.call(this,e),this.messageType="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("sat_info").uint16("svn").array("pco",{length:3,type:"int16le"}).array("pcv",{length:21,type:"int8"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),D.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),D.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),D.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),D.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC_DEP",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC_DEP",O.prototype.msg_type=1540,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").array("apc",{type:D.prototype.parser,readUntil:"eof"}),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["apc","array",D.prototype.fieldSpec,function(){return this.fields.array.length},null]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",G.prototype.msg_type=1541,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("update_interval").uint8("sol_id").uint8("iod_ssr").array("apc",{type:D.prototype.parser,readUntil:"eof"}),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["sol_id","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),G.prototype.fieldSpec.push(["apc","array",D.prototype.fieldSpec,function(){return this.fields.array.length},null]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",A.prototype.msg_type=1500,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),A.prototype.fieldSpec.push(["iod","writeUInt8",1]),A.prototype.fieldSpec.push(["radial","writeInt32LE",4]),A.prototype.fieldSpec.push(["along","writeInt32LE",4]),A.prototype.fieldSpec.push(["cross","writeInt32LE",4]),A.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),A.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),A.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),A.prototype.fieldSpec.push(["c0","writeInt32LE",4]),A.prototype.fieldSpec.push(["c1","writeInt32LE",4]),A.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let C=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),C.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),C.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),R.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),R.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),R.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),R.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),R.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let P=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),P.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),P.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),P.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),P.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),P.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",N.prototype.msg_type=1515,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",j.prototype.msg_type=1520,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:R.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",R.prototype.fieldSpec]),j.prototype.fieldSpec.push(["index","writeUInt16LE",2]),j.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),j.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",x.prototype.msg_type=1530,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").nest("header",{type:R.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["header",R.prototype.fieldSpec]),x.prototype.fieldSpec.push(["index","writeUInt16LE",2]),x.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),x.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",F.prototype.msg_type=1525,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("header",{type:P.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["header",P.prototype.fieldSpec]),F.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let k=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("orb_radial_bound_mu").uint8("orb_along_bound_mu").uint8("orb_cross_bound_mu").uint8("orb_radial_bound_sig").uint8("orb_along_bound_sig").uint8("orb_cross_bound_sig").uint8("clock_bound_mu").uint8("clock_bound_sig"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",B.prototype.msg_type=1502,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats").array("orbit_clock_bounds",{type:k.prototype.parser,length:"n_sats"}),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),B.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),B.prototype.fieldSpec.push(["const_id","writeUInt8",1]),B.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),B.prototype.fieldSpec.push(["orbit_clock_bounds","array",k.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let q=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("signal_id").uint8("code_bias_bound_mu").uint8("code_bias_bound_sig").uint8("phase_bias_bound_mu").uint8("phase_bias_bound_sig"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),q.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),q.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),q.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),q.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),q.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",z.prototype.msg_type=1516,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats_signals").array("satellites_signals",{type:q.prototype.parser,length:"n_sats_signals"}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),z.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),z.prototype.fieldSpec.push(["const_id","writeUInt8",1]),z.prototype.fieldSpec.push(["n_sats_signals","writeUInt8",1]),z.prototype.fieldSpec.push(["satellites_signals","array",q.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let H=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint8("orb_radial_bound_mu_dot").uint8("orb_along_bound_mu_dot").uint8("orb_cross_bound_mu_dot").uint8("orb_radial_bound_sig_dot").uint8("orb_along_bound_sig_dot").uint8("orb_cross_bound_sig_dot").uint8("clock_bound_mu_dot").uint8("clock_bound_sig_dot"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",V.prototype.msg_type=1503,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint64("sat_bitmask").nest("orbit_clock_bounds_degradation",{type:H.prototype.parser}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),V.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),V.prototype.fieldSpec.push(["const_id","writeUInt8",1]),V.prototype.fieldSpec.push(["sat_bitmask","writeUInt64LE",8]),V.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",H.prototype.fieldSpec]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,1501:S,MsgSsrOrbitClock:S,1505:g,MsgSsrCodeBiases:g,1510:w,MsgSsrPhaseBiases:w,1531:E,MsgSsrStecCorrectionDep:E,BoundsHeader:m,1533:b,MsgSsrStecCorrection:b,1532:I,MsgSsrGriddedCorrection:I,STECSatElementIntegrity:L,1534:T,MsgSsrGriddedCorrectionBounds:T,1526:v,MsgSsrTileDefinitionDepA:v,1527:U,MsgSsrTileDefinitionDepB:U,1528:M,MsgSsrTileDefinition:M,SatelliteAPC:D,1540:O,MsgSsrSatelliteApcDep:O,1541:G,MsgSsrSatelliteApc:G,1500:A,MsgSsrOrbitClockDepA:A,STECHeaderDepA:C,GriddedCorrectionHeaderDepA:R,GridDefinitionHeaderDepA:P,1515:N,MsgSsrStecCorrectionDepA:N,1520:j,MsgSsrGriddedCorrectionNoStdDepA:j,1530:x,MsgSsrGriddedCorrectionDepA:x,1525:F,MsgSsrGridDefinitionDepA:F,OrbitClockBound:k,1502:B,MsgSsrOrbitClockBounds:B,CodePhaseBiasesSatSig:q,1516:z,MsgSsrCodePhaseBiasesBounds:z,OrbitClockBoundDegradation:H,1503:V,MsgSsrOrbitClockBoundsDegradation:V}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let a=function(e,t){return r.call(this,e),this.messageType="SubSystemReport",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="SubSystemReport",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint16("component").uint8("generic").uint8("specific"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["component","writeUInt16LE",2]),a.prototype.fieldSpec.push(["generic","writeUInt8",1]),a.prototype.fieldSpec.push(["specific","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_REPORT",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_REPORT",l.prototype.msg_type=65534,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("sequence").uint32("uptime").array("status",{type:a.prototype.parser,readUntil:"eof"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),l.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),l.prototype.fieldSpec.push(["status","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let c=function(e,t){return r.call(this,e),this.messageType="StatusJournalItem",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="StatusJournalItem",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("uptime").nest("report",{type:a.prototype.parser}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["report",a.prototype.fieldSpec]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_JOURNAL",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_JOURNAL",u.prototype.msg_type=65533,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("total_status_reports").uint8("sequence_descriptor").array("journal",{type:c.prototype.parser,readUntil:"eof"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),u.prototype.fieldSpec.push(["total_status_reports","writeUInt32LE",4]),u.prototype.fieldSpec.push(["sequence_descriptor","writeUInt8",1]),u.prototype.fieldSpec.push(["journal","array",c.prototype.fieldSpec,function(){return this.fields.array.length},null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_INS_STATUS",y.prototype.msg_type=65283,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY",h.prototype.msg_type=65284,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["id","writeUInt8",1]),h.prototype.fieldSpec.push(["telemetry","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",f.prototype.msg_type=65285,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["id","writeUInt8",1]),f.prototype.fieldSpec.push(["telemetry_labels","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_INS_UPDATES",d.prototype.msg_type=65286,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),d.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),d.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),d.prototype.fieldSpec.push(["speed","writeUInt8",1]),d.prototype.fieldSpec.push(["nhc","writeUInt8",1]),d.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_GNSS_TIME_OFFSET",_.prototype.msg_type=65287,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),_.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),_.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_PPS_TIME",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_PPS_TIME",S.prototype.msg_type=65288,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time","writeUInt64LE",8]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SENSOR_AID_EVENT",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SENSOR_AID_EVENT",g.prototype.msg_type=65289,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("time").uint8("sensor_type").uint16("sensor_id").uint8("sensor_state").uint8("n_available_meas").uint8("n_attempted_meas").uint8("n_accepted_meas").uint32("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time","writeUInt32LE",4]),g.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),g.prototype.fieldSpec.push(["sensor_id","writeUInt16LE",2]),g.prototype.fieldSpec.push(["sensor_state","writeUInt8",1]),g.prototype.fieldSpec.push(["n_available_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_attempted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_accepted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_META",w.prototype.msg_type=65290,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("group_id").uint8("flags").uint8("n_group_msgs").array("group_msgs",{type:"uint16le",length:"n_group_msgs"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["group_id","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]),w.prototype.fieldSpec.push(["n_group_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},"n_group_msgs"]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,SubSystemReport:a,65534:l,MsgStatusReport:l,StatusJournalItem:c,65533:u,MsgStatusJournal:u,65283:y,MsgInsStatus:y,65284:h,MsgCsacTelemetry:h,65285:f,MsgCsacTelemetryLabels:f,65286:d,MsgInsUpdates:d,65287:_,MsgGnssTimeOffset:_,65288:S,MsgPpsTime:S,65289:g,MsgSensorAidEvent:g,65290:w,MsgGroupMeta:w}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:a.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE",h.prototype.msg_type=65,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let f=function(e,t){return r.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:s.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",s.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);let _=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);let g=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:n.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let m=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);let I=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="TrackingChannelStateDepB",I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:n.prototype.parser}).floatle("cn0"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["state","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),I.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:I.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",I.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:h,MsgTrackingState:h,MeasurementState:f,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:I,19:L,MsgTrackingStateDepB:L}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="TelemetrySV",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.prototype)).messageType="TelemetrySV",s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("az").int8("el").uint8("availability_flags").int16("pseudorange_residual").int16("phase_residual").uint8("outlier_flags").uint8("ephemeris_flags").uint8("correction_flags").nest("sid",{type:i.prototype.parser}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["az","writeUInt8",1]),s.prototype.fieldSpec.push(["el","writeInt8",1]),s.prototype.fieldSpec.push(["availability_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["pseudorange_residual","writeInt16LE",2]),s.prototype.fieldSpec.push(["phase_residual","writeInt16LE",2]),s.prototype.fieldSpec.push(["outlier_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["ephemeris_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["correction_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_TEL_SV",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_TEL_SV",n.prototype.msg_type=288,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").uint8("n_obs").uint8("origin_flags").array("sv_tel",{type:s.prototype.parser,readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["n_obs","writeUInt8",1]),n.prototype.fieldSpec.push(["origin_flags","writeUInt8",1]),n.prototype.fieldSpec.push(["sv_tel","array",s.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={TelemetrySV:s,288:n,MsgTelSv:n}}]); \ No newline at end of file +function r(e,t){if(e===t)return 0;for(var p=e.length,r=t.length,o=0,i=Math.min(p,r);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],p,r))return!1;return!0}(e,t,p,s))}return p?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,p,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof p&&(r=p,p=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(p&&p.name?" ("+p.name+").":".")+(r?" "+r:"."),e&&!o&&_(o,p,"Missing expected exception"+r);var s="string"==typeof r,n=!e&&o&&!p;if((!e&&i.isError(o)&&s&&E(o,p)||n)&&_(o,p,"Got unwanted exception"+r),e&&o&&p&&!E(o,p)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return h(d(e.actual),128)+" "+e.operator+" "+h(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var p=new Error;if(p.stack){var r=p.stack,o=f(t),i=r.indexOf("\n"+o);if(i>=0){var s=r.indexOf("\n",i+1);r=r.substring(s+1)}this.stack=r}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,p){e!=t&&_(e,t,p,"==",u.equal)},u.notEqual=function(e,t,p){e==t&&_(e,t,p,"!=",u.notEqual)},u.deepEqual=function(e,t,p){g(e,t,!1)||_(e,t,p,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,p){g(e,t,!0)||_(e,t,p,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,p){g(e,t,!1)&&_(e,t,p,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,p,r){g(t,p,!0)&&_(t,p,r,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,p){e!==t&&_(e,t,p,"===",u.strictEqual)},u.notStrictEqual=function(e,t,p){e===t&&_(e,t,p,"!==",u.notStrictEqual)},u.throws=function(e,t,p){m(!0,e,t,p)},u.doesNotThrow=function(e,t,p){m(!1,e,t,p)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var p in e)s.call(e,p)&&t.push(p);return t}}).call(this,p(5))},function(e,t,p){var r;!function(p){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var p=parseInt(e,t||10);return this._low=65535&p,this._high=p>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,p=t>>>16;return p+=this._high+e._high,this._low=65535&t,this._high=65535&p,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,p,r=this._high,o=this._low,i=e._high,s=e._low;return t=(p=o*s)>>>16,t+=r*s,t&=65535,t+=o*i,this._low=65535&p,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._low=0,this._high=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){var r;!function(p){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,p,r){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,p,r)}function n(e,t,p,r){return void 0===p?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|p,this._a48=0|r,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var p=o[t]||new s(Math.pow(t,5)),r=0,i=e.length;r=0&&(p.div(t),r[o]=p.remainder.toNumber().toString(e),p.gt(t));o--);return r[o-1]=p.toNumber().toString(e),r.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,p=t>>>16,r=(p+=this._a16+e._a16)>>>16,o=(r+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&p,this._a32=65535&r,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,p=this._a16,r=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=p*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=p*s)>>>16,c&=65535,u+=(c+=r*i)>>>16,u+=t*e._a48,u&=65535,u+=p*n,u&=65535,u+=r*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p<>>32-e,i=r<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p>>>e|r<<32-e,i=r>>>e|p<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(r=function(){return s}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=(p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_SV_PROFILE",f.prototype.msg_type=46,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",h.prototype.msg_type=30,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:f,MsgAcqSvProfile:f,30:h,MsgAcqSvProfileDep:h}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];let l=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",f.prototype.msg_type=4098,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),f.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),f.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),f.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:f,MsgFileioConfigResp:f}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let f=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",f.prototype.msg_type=229,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",h.prototype.msg_type=243,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:f,MsgStmUniqueIdResp:f,243:h,MsgM25FlashWriteStatus:h}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal,p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),s=p(0).SvId,n=function(e,t){return r.call(this,e),this.messageType="IntegritySSRHeader",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="IntegritySSRHeader",n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),n.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),n.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),n.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),n.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["chain_id","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_HIGH_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_HIGH_LEVEL",a.prototype.msg_type=3001,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).nest("corr_time",{type:i.prototype.parser}).uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id").uint8("use_gps_sat").uint8("use_gal_sat").uint8("use_bds_sat").array("reserved",{length:6,type:"uint8"}).uint8("use_tropo_grid_points").uint8("use_iono_grid_points").uint8("use_iono_tile_sat_los").uint8("use_iono_grid_point_sat_los"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["corr_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),a.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gps_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gal_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_bds_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},6]),a.prototype.fieldSpec.push(["use_tropo_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_tile_sat_los","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_point_sat_los","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_SATELLITES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_SATELLITES",l.prototype.msg_type=3005,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint8("chain_id").uint8("const_id").uint8("n_faulty_sats").array("faulty_sats",{type:"uint8",length:"n_faulty_sats"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),l.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),l.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),l.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),l.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),l.prototype.fieldSpec.push(["const_id","writeUInt8",1]),l.prototype.fieldSpec.push(["n_faulty_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["faulty_sats","array","writeUInt8",function(){return 1},"n_faulty_sats"]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",c.prototype.msg_type=3011,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),c.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",u.prototype.msg_type=3015,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),u.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",y.prototype.msg_type=3021,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),y.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",f.prototype.msg_type=3025,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint16("grid_point_id").uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),f.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),f.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),f.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_ACKNOWLEDGE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_ACKNOWLEDGE",h.prototype.msg_type=3026,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("request_id").uint32("area_id").uint8("response_code").uint16("correction_mask_on_demand").uint16("correction_mask_stream").uint8("solution_id"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["request_id","writeUInt8",1]),h.prototype.fieldSpec.push(["area_id","writeUInt32LE",4]),h.prototype.fieldSpec.push(["response_code","writeUInt8",1]),h.prototype.fieldSpec.push(["correction_mask_on_demand","writeUInt16LE",2]),h.prototype.fieldSpec.push(["correction_mask_stream","writeUInt16LE",2]),h.prototype.fieldSpec.push(["solution_id","writeUInt8",1]),e.exports={IntegritySSRHeader:n,3001:a,MsgSsrFlagHighLevel:a,3005:l,MsgSsrFlagSatellites:l,3011:c,MsgSsrFlagTropoGridPoints:c,3015:u,MsgSsrFlagIonoGridPoints:u,3021:y,MsgSsrFlagIonoTileSatLos:y,3025:f,MsgSsrFlagIonoGridPointSatLos:f,3026:h,MsgAcknowledge:h}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE_DEP_A",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE_DEP_A",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE_DEP_A",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE",f.prototype.msg_type=32520,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["index","writeUInt8",1]),f.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),f.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),f.prototype.fieldSpec.push(["time","writeUInt32LE",4]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["tname","string",15]),f.prototype.fieldSpec.push(["cmdline","string",null]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE",h.prototype.msg_type=32521,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["index","writeUInt8",1]),h.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),h.prototype.fieldSpec.push(["pmem","writeUInt8",1]),h.prototype.fieldSpec.push(["time","writeUInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["tname","string",15]),h.prototype.fieldSpec.push(["cmdline","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE",d.prototype.msg_type=32522,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count").uint32("time").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),d.prototype.fieldSpec.push(["pmem","writeUInt8",1]),d.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),d.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]),d.prototype.fieldSpec.push(["time","writeUInt32LE",4]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={32512:i,MsgLinuxCpuStateDepA:i,32513:s,MsgLinuxMemStateDepA:s,32514:n,MsgLinuxSysStateDepA:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y,32520:f,MsgLinuxCpuState:f,32521:h,MsgLinuxMemState:h,32522:d,MsgLinuxSysState:d}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").array("fwd_payload",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_GNSS",s.prototype.msg_type=260,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME",n.prototype.msg_type=259,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt8",1]),n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["year","writeUInt16LE",2]),n.prototype.fieldSpec.push(["month","writeUInt8",1]),n.prototype.fieldSpec.push(["day","writeUInt8",1]),n.prototype.fieldSpec.push(["hours","writeUInt8",1]),n.prototype.fieldSpec.push(["minutes","writeUInt8",1]),n.prototype.fieldSpec.push(["seconds","writeUInt8",1]),n.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME_GNSS",a.prototype.msg_type=261,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]),a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["year","writeUInt16LE",2]),a.prototype.fieldSpec.push(["month","writeUInt8",1]),a.prototype.fieldSpec.push(["day","writeUInt8",1]),a.prototype.fieldSpec.push(["hours","writeUInt8",1]),a.prototype.fieldSpec.push(["minutes","writeUInt8",1]),a.prototype.fieldSpec.push(["seconds","writeUInt8",1]),a.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_DOPS",l.prototype.msg_type=520,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF",c.prototype.msg_type=521,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["x","writeDoubleLE",8]),c.prototype.fieldSpec.push(["y","writeDoubleLE",8]),c.prototype.fieldSpec.push(["z","writeDoubleLE",8]),c.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV",u.prototype.msg_type=532,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["x","writeDoubleLE",8]),u.prototype.fieldSpec.push(["y","writeDoubleLE",8]),u.prototype.fieldSpec.push(["z","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH",y.prototype.msg_type=522,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),y.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),y.prototype.fieldSpec.push(["height","writeDoubleLE",8]),y.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV",f.prototype.msg_type=529,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),f.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),f.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),f.prototype.fieldSpec.push(["height","writeDoubleLE",8]),f.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),f.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),f.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),f.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),f.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),f.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),f.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="EstimatedHorizontalErrorEllipse",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="EstimatedHorizontalErrorEllipse",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").floatle("semi_major").floatle("semi_minor").floatle("orientation"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["semi_major","writeFloatLE",4]),h.prototype.fieldSpec.push(["semi_minor","writeFloatLE",4]),h.prototype.fieldSpec.push(["orientation","writeFloatLE",4]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_ACC",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_ACC",d.prototype.msg_type=536,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").doublele("orthometric_height").floatle("h_accuracy").floatle("v_accuracy").floatle("ct_accuracy").floatle("at_accuracy").nest("h_ellipse",{type:h.prototype.parser}).uint8("confidence_and_geoid").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),d.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),d.prototype.fieldSpec.push(["height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["orthometric_height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["h_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["v_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["ct_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["at_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["h_ellipse",h.prototype.fieldSpec]),d.prototype.fieldSpec.push(["confidence_and_geoid","writeUInt8",1]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF",_.prototype.msg_type=523,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["x","writeInt32LE",4]),_.prototype.fieldSpec.push(["y","writeInt32LE",4]),_.prototype.fieldSpec.push(["z","writeInt32LE",4]),_.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED",S.prototype.msg_type=524,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["n","writeInt32LE",4]),S.prototype.fieldSpec.push(["e","writeInt32LE",4]),S.prototype.fieldSpec.push(["d","writeInt32LE",4]),S.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF",g.prototype.msg_type=525,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeInt32LE",4]),g.prototype.fieldSpec.push(["y","writeInt32LE",4]),g.prototype.fieldSpec.push(["z","writeInt32LE",4]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV",w.prototype.msg_type=533,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeInt32LE",4]),w.prototype.fieldSpec.push(["y","writeInt32LE",4]),w.prototype.fieldSpec.push(["z","writeInt32LE",4]),w.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED",E.prototype.msg_type=526,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["n","writeInt32LE",4]),E.prototype.fieldSpec.push(["e","writeInt32LE",4]),E.prototype.fieldSpec.push(["d","writeInt32LE",4]),E.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV",m.prototype.msg_type=530,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["n","writeInt32LE",4]),m.prototype.fieldSpec.push(["e","writeInt32LE",4]),m.prototype.fieldSpec.push(["d","writeInt32LE",4]),m.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_GNSS",b.prototype.msg_type=553,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeDoubleLE",8]),b.prototype.fieldSpec.push(["y","writeDoubleLE",8]),b.prototype.fieldSpec.push(["z","writeDoubleLE",8]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",I.prototype.msg_type=564,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["x","writeDoubleLE",8]),I.prototype.fieldSpec.push(["y","writeDoubleLE",8]),I.prototype.fieldSpec.push(["z","writeDoubleLE",8]),I.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_GNSS",L.prototype.msg_type=554,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),L.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),L.prototype.fieldSpec.push(["height","writeDoubleLE",8]),L.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV_GNSS",T.prototype.msg_type=561,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),T.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),T.prototype.fieldSpec.push(["height","writeDoubleLE",8]),T.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_GNSS",v.prototype.msg_type=557,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["x","writeInt32LE",4]),v.prototype.fieldSpec.push(["y","writeInt32LE",4]),v.prototype.fieldSpec.push(["z","writeInt32LE",4]),v.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",U.prototype.msg_type=565,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["x","writeInt32LE",4]),U.prototype.fieldSpec.push(["y","writeInt32LE",4]),U.prototype.fieldSpec.push(["z","writeInt32LE",4]),U.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_GNSS",M.prototype.msg_type=558,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["n","writeInt32LE",4]),M.prototype.fieldSpec.push(["e","writeInt32LE",4]),M.prototype.fieldSpec.push(["d","writeInt32LE",4]),M.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),M.prototype.fieldSpec.push(["flags","writeUInt8",1]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV_GNSS",D.prototype.msg_type=562,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["n","writeInt32LE",4]),D.prototype.fieldSpec.push(["e","writeInt32LE",4]),D.prototype.fieldSpec.push(["d","writeInt32LE",4]),D.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),D.prototype.fieldSpec.push(["flags","writeUInt8",1]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_VEL_BODY",O.prototype.msg_type=531,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeInt32LE",4]),O.prototype.fieldSpec.push(["y","writeInt32LE",4]),O.prototype.fieldSpec.push(["z","writeInt32LE",4]),O.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_COG",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_VEL_COG",G.prototype.msg_type=540,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").uint32("cog").uint32("sog").int32("v_up").uint32("cog_accuracy").uint32("sog_accuracy").uint32("v_up_accuracy").uint16("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["cog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up","writeInt32LE",4]),G.prototype.fieldSpec.push(["cog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["flags","writeUInt16LE",2]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_AGE_CORRECTIONS",A.prototype.msg_type=528,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["age","writeUInt16LE",2]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_DEP_A",C.prototype.msg_type=256,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_DOPS_DEP_A",R.prototype.msg_type=518,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_DEP_A",P.prototype.msg_type=512,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["x","writeDoubleLE",8]),P.prototype.fieldSpec.push(["y","writeDoubleLE",8]),P.prototype.fieldSpec.push(["z","writeDoubleLE",8]),P.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_DEP_A",N.prototype.msg_type=513,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),N.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),N.prototype.fieldSpec.push(["height","writeDoubleLE",8]),N.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",j.prototype.msg_type=514,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["x","writeInt32LE",4]),j.prototype.fieldSpec.push(["y","writeInt32LE",4]),j.prototype.fieldSpec.push(["z","writeInt32LE",4]),j.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),j.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED_DEP_A",x.prototype.msg_type=515,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),x.prototype.fieldSpec.push(["n","writeInt32LE",4]),x.prototype.fieldSpec.push(["e","writeInt32LE",4]),x.prototype.fieldSpec.push(["d","writeInt32LE",4]),x.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),x.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",F.prototype.msg_type=516,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["x","writeInt32LE",4]),F.prototype.fieldSpec.push(["y","writeInt32LE",4]),F.prototype.fieldSpec.push(["z","writeInt32LE",4]),F.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.prototype.fieldSpec.push(["flags","writeUInt8",1]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",k.prototype.msg_type=517,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["n","writeInt32LE",4]),k.prototype.fieldSpec.push(["e","writeInt32LE",4]),k.prototype.fieldSpec.push(["d","writeInt32LE",4]),k.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",B.prototype.msg_type=519,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),B.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),B.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),B.prototype.fieldSpec.push(["flags","writeUInt8",1]);let q=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL_DEP_A",q.prototype.msg_type=534,q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),q.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),q.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),q.prototype.fieldSpec.push(["height","writeDoubleLE",8]),q.prototype.fieldSpec.push(["flags","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL",z.prototype.msg_type=535,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("tow").int16("wn").uint16("hpl").uint16("vpl").uint16("atpl").uint16("ctpl").uint16("hvpl").uint16("vvpl").uint16("hopl").uint16("popl").uint16("ropl").doublele("lat").doublele("lon").doublele("height").int32("v_x").int32("v_y").int32("v_z").int32("roll").int32("pitch").int32("heading").uint32("flags"),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),z.prototype.fieldSpec.push(["wn","writeInt16LE",2]),z.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["atpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ctpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hopl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["popl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ropl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),z.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),z.prototype.fieldSpec.push(["height","writeDoubleLE",8]),z.prototype.fieldSpec.push(["v_x","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_y","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_z","writeInt32LE",4]),z.prototype.fieldSpec.push(["roll","writeInt32LE",4]),z.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),z.prototype.fieldSpec.push(["heading","writeInt32LE",4]),z.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let H=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_LEAP_SECOND",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="MSG_UTC_LEAP_SECOND",H.prototype.msg_type=570,H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").int16("reserved_0").int16("reserved_1").int8("reserved_2").int8("count_before").uint16("reserved_3").uint16("reserved_4").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["reserved_0","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_1","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_2","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["reserved_3","writeUInt16LE",2]),H.prototype.fieldSpec.push(["reserved_4","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_wn","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_dn","writeUInt8",1]),H.prototype.fieldSpec.push(["count_after","writeInt8",1]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_REFERENCE_FRAME_PARAM",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_REFERENCE_FRAME_PARAM",V.prototype.msg_type=580,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").uint8("ssr_iod").string("sn",{length:32}).string("tn",{length:32}).uint8("sin").uint16("utn").uint16("re_t0").int32("delta_X0").int32("delta_Y0").int32("delta_Z0").int32("theta_01").int32("theta_02").int32("theta_03").int32("scale").int32("dot_delta_X0").int32("dot_delta_Y0").int32("dot_delta_Z0").int32("dot_theta_01").int32("dot_theta_02").int32("dot_theta_03").int16("dot_scale"),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",32]),V.prototype.fieldSpec.push(["tn","string",32]),V.prototype.fieldSpec.push(["sin","writeUInt8",1]),V.prototype.fieldSpec.push(["utn","writeUInt16LE",2]),V.prototype.fieldSpec.push(["re_t0","writeUInt16LE",2]),V.prototype.fieldSpec.push(["delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["scale","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_scale","writeInt16LE",2]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_POSE_RELATIVE",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_POSE_RELATIVE",Y.prototype.msg_type=581,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").uint32("tow").uint8("sensor_id").uint32("timestamp_1").uint32("timestamp_2").array("trans",{length:3,type:"int32le"}).int32("w").int32("x").int32("y").int32("z").floatle("cov_r_x_x").floatle("cov_r_x_y").floatle("cov_r_x_z").floatle("cov_r_y_y").floatle("cov_r_y_z").floatle("cov_r_z_z").floatle("cov_c_x_x").floatle("cov_c_x_y").floatle("cov_c_x_z").floatle("cov_c_y_y").floatle("cov_c_y_z").floatle("cov_c_z_z").uint8("flags"),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["sensor_id","writeUInt8",1]),Y.prototype.fieldSpec.push(["timestamp_1","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["timestamp_2","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["trans","array","writeInt32LE",function(){return 4},3]),Y.prototype.fieldSpec.push(["w","writeInt32LE",4]),Y.prototype.fieldSpec.push(["x","writeInt32LE",4]),Y.prototype.fieldSpec.push(["y","writeInt32LE",4]),Y.prototype.fieldSpec.push(["z","writeInt32LE",4]),Y.prototype.fieldSpec.push(["cov_r_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,260:s,MsgGpsTimeGnss:s,259:n,MsgUtcTime:n,261:a,MsgUtcTimeGnss:a,520:l,MsgDops:l,521:c,MsgPosEcef:c,532:u,MsgPosEcefCov:u,522:y,MsgPosLlh:y,529:f,MsgPosLlhCov:f,EstimatedHorizontalErrorEllipse:h,536:d,MsgPosLlhAcc:d,523:_,MsgBaselineEcef:_,524:S,MsgBaselineNed:S,525:g,MsgVelEcef:g,533:w,MsgVelEcefCov:w,526:E,MsgVelNed:E,530:m,MsgVelNedCov:m,553:b,MsgPosEcefGnss:b,564:I,MsgPosEcefCovGnss:I,554:L,MsgPosLlhGnss:L,561:T,MsgPosLlhCovGnss:T,557:v,MsgVelEcefGnss:v,565:U,MsgVelEcefCovGnss:U,558:M,MsgVelNedGnss:M,562:D,MsgVelNedCovGnss:D,531:O,MsgVelBody:O,540:G,MsgVelCog:G,528:A,MsgAgeCorrections:A,256:C,MsgGpsTimeDepA:C,518:R,MsgDopsDepA:R,512:P,MsgPosEcefDepA:P,513:N,MsgPosLlhDepA:N,514:j,MsgBaselineEcefDepA:j,515:x,MsgBaselineNedDepA:x,516:F,MsgVelEcefDepA:F,517:k,MsgVelNedDepA:k,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V,581:Y,MsgPoseRelative:Y}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=p(0).GPSTimeSec,u=(p(0).SvId,function(e,t){return r.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(r.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:a.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);let f=function(e,t){return r.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="PackedObsContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:s.prototype.parser}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let h=function(e,t){return r.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="PackedOsrContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:s.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),h.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),h.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),h.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);let g=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let E=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS",I.prototype.msg_type=138,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeFloatLE",4]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_BDS",T.prototype.msg_type=137,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),T.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeFloatLE",4]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt8",1]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",v.prototype.msg_type=149,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint16("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),v.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL",U.prototype.msg_type=141,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:c.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),U.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),U.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),U.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),U.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["w","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af2","writeFloatLE",4]),U.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),U.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),U.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["source","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",M.prototype.msg_type=130,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),M.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",C.prototype.msg_type=135,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",R.prototype.msg_type=136,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]),R.prototype.fieldSpec.push(["iod","writeUInt8",1]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:n.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:n.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let k=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);let q=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]);let H=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_B",Y.prototype.msg_type=67,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);let W=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_C",W.prototype.msg_type=73,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);let Q=function(e,t){return r.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(r.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);let K=function(e,t){return r.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(r.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);let X=function(e,t){return r.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(r.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);let J=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(r.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);let Z=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",Z.prototype.msg_type=146,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["prn","writeUInt8",1]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);let $=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",$.prototype.msg_type=147,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).nest("sid",{type:n.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);let ee=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);let te=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",c.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let pe=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContentDep",pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["toa",c.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),pe.prototype.fieldSpec.push(["valid","writeUInt8",1]),pe.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let re=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GPS_DEP",re.prototype.msg_type=112,re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("common",{type:pe.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["common",pe.prototype.fieldSpec]),re.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),re.prototype.fieldSpec.push(["w","writeDoubleLE",8]),re.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);let oe=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);let ie=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:pe.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",pe.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);let se=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);let ne=function(e,t){return r.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(r.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);let ae=function(e,t){return r.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(r.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);let le=function(e,t){return r.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(r.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);let ce=function(e,t){return r.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(r.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:f,PackedOsrContent:h,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:I,MsgEphemerisGps:I,142:L,MsgEphemerisQzss:L,137:T,MsgEphemerisBds:T,149:v,MsgEphemerisGalDepA:v,141:U,MsgEphemerisGal:U,130:M,MsgEphemerisSbasDepA:M,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:C,MsgEphemerisGloDepC:C,136:R,MsgEphemerisGloDepD:R,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:Y,MsgObsDepB:Y,73:W,MsgObsDepC:W,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:Z,MsgGroupDelayDepA:Z,147:$,MsgGroupDelayDepB:$,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:pe,112:re,MsgAlmanacGpsDep:re,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=p(0).GPSTime,a=p(0).GPSTimeDep,l=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];let c=function(e,t){return r.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];let u=function(e,t){return r.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let f=function(e,t){return r.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CW_RESULTS",f.prototype.msg_type=192,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CW_START",h.prototype.msg_type=193,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];let d=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];let S=function(e,t){return r.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);let g=function(e,t){return r.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);let E=function(e,t){return r.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_IAR_STATE",I.prototype.msg_type=25,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("num_hyps"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE_DEP",T.prototype.msg_type=27,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["mask","writeUInt8",1]),T.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_DEVICE_MONITOR",v.prototype.msg_type=181,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),v.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_REQ",U.prototype.msg_type=184,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["command","string",null]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_RESP",M.prototype.msg_type=185,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["code","writeInt32LE",4]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];let G=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let A=function(e,t){return r.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",C.prototype.msg_type=189,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_CELL_MODEM_STATUS",R.prototype.msg_type=190,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),R.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),R.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:f,MsgCwResults:f,193:h,MsgCwStart:h,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:I,MsgIarState:I,43:L,MsgMaskSatellite:L,27:T,MsgMaskSatelliteDep:T,181:v,MsgDeviceMonitor:v,184:U,MsgCommandReq:U,185:M,MsgCommandResp:M,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:C,MsgNetworkBandwidthUsage:C,190:R,MsgCellModemStatus:R,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let f=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_REGISTER",f.prototype.msg_type=174,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["setting","string",null]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",h.prototype.msg_type=431,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["status","writeUInt8",1]),h.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:f,MsgSettingsRegister:f,431:h,MsgSettingsRegisterResp:h}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="UtcTime",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="UtcTime",i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["year","writeUInt16LE",2]),i.prototype.fieldSpec.push(["month","writeUInt8",1]),i.prototype.fieldSpec.push(["day","writeUInt8",1]),i.prototype.fieldSpec.push(["hours","writeUInt8",1]),i.prototype.fieldSpec.push(["minutes","writeUInt8",1]),i.prototype.fieldSpec.push(["seconds","writeUInt8",1]),i.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ECDSA_CERTIFICATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_ECDSA_CERTIFICATE",s.prototype.msg_type=3076,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("n_msg").array("certificate_id",{length:4,type:"uint8"}).uint8("flags").array("certificate_bytes",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["n_msg","writeUInt8",1]),s.prototype.fieldSpec.push(["certificate_id","array","writeUInt8",function(){return 1},4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["certificate_bytes","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_CERTIFICATE_CHAIN",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_CERTIFICATE_CHAIN",n.prototype.msg_type=3077,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").array("root_certificate",{length:20,type:"uint8"}).array("intermediate_certificate",{length:20,type:"uint8"}).array("corrections_certificate",{length:20,type:"uint8"}).nest("expiration",{type:i.prototype.parser}).array("signature",{length:64,type:"uint8"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["root_certificate","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["intermediate_certificate","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["corrections_certificate","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["expiration",i.prototype.fieldSpec]),n.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ECDSA_SIGNATURE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_ECDSA_SIGNATURE",a.prototype.msg_type=3079,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags").uint8("stream_counter").uint8("on_demand_counter").array("certificate_id",{length:4,type:"uint8"}).uint8("n_signature_bytes").array("signature",{length:72,type:"uint8"}).array("signed_messages",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]),a.prototype.fieldSpec.push(["stream_counter","writeUInt8",1]),a.prototype.fieldSpec.push(["on_demand_counter","writeUInt8",1]),a.prototype.fieldSpec.push(["certificate_id","array","writeUInt8",function(){return 1},4]),a.prototype.fieldSpec.push(["n_signature_bytes","writeUInt8",1]),a.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},72]),a.prototype.fieldSpec.push(["signed_messages","array","writeUInt8",function(){return 1},null]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_ECDSA_SIGNATURE_DEP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_ECDSA_SIGNATURE_DEP",l.prototype.msg_type=3078,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("flags").uint8("stream_counter").uint8("on_demand_counter").array("certificate_id",{length:4,type:"uint8"}).array("signature",{length:64,type:"uint8"}).array("signed_messages",{type:"uint8",readUntil:"eof"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["flags","writeUInt8",1]),l.prototype.fieldSpec.push(["stream_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["on_demand_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["certificate_id","array","writeUInt8",function(){return 1},4]),l.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),l.prototype.fieldSpec.push(["signed_messages","array","writeUInt8",function(){return 1},null]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_CERTIFICATE_DEP",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_CERTIFICATE_DEP",c.prototype.msg_type=3074,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("n_msg").array("fingerprint",{length:20,type:"uint8"}).array("certificate_bytes",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["n_msg","writeUInt8",1]),c.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),c.prototype.fieldSpec.push(["certificate_bytes","array","writeUInt8",function(){return 1},null]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE_DEP_A",u.prototype.msg_type=3073,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),u.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),u.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE_DEP_B",y.prototype.msg_type=3075,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("stream_counter").uint8("on_demand_counter").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["stream_counter","writeUInt8",1]),y.prototype.fieldSpec.push(["on_demand_counter","writeUInt8",1]),y.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),y.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),y.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]),e.exports={UtcTime:i,3076:s,MsgEcdsaCertificate:s,3077:n,MsgCertificateChain:n,3079:a,MsgEcdsaSignature:a,3078:l,MsgEcdsaSignatureDep:l,3074:c,MsgEd25519CertificateDep:c,3073:u,MsgEd25519SignatureDepA:u,3075:y,MsgEd25519SignatureDepB:y}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="SolutionInputType",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="SolutionInputType",i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("sensor_type").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META_DEP_A",s.prototype.msg_type=65295,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("pdop").uint16("hdop").uint16("vdop").uint8("n_sats").uint16("age_corrections").uint8("alignment_status").uint32("last_used_gnss_pos_tow").uint32("last_used_gnss_vel_tow").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),s.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),s.prototype.fieldSpec.push(["alignment_status","writeUInt8",1]),s.prototype.fieldSpec.push(["last_used_gnss_pos_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["last_used_gnss_vel_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META",n.prototype.msg_type=65294,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("pdop").uint16("hdop").uint16("vdop").uint16("age_corrections").uint32("age_gnss").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_gnss","writeUInt32LE",4]),n.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let a=function(e,t){return r.call(this,e),this.messageType="GNSSInputType",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="GNSSInputType",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="IMUInputType",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="IMUInputType",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="OdoInputType",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="OdoInputType",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={SolutionInputType:i,65295:s,MsgSolnMetaDepA:s,65294:n,MsgSolnMeta:n,GNSSInputType:a,IMUInputType:l,OdoInputType:c}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),n=p(0).SvId,a=function(e,t){return r.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);let l=function(e,t){return r.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);let c=function(e,t){return r.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),c.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),u.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);let f=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="TroposphericDelayCorrectionNoStd",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="TroposphericDelayCorrection",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]),h.prototype.fieldSpec.push(["stddev","writeUInt8",1]);let d=function(e,t){return r.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);let _=function(e,t){return r.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",S.prototype.msg_type=1501,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),S.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),S.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),S.prototype.fieldSpec.push(["radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["along","writeInt32LE",4]),S.prototype.fieldSpec.push(["cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["c0","writeInt32LE",4]),S.prototype.fieldSpec.push(["c1","writeInt32LE",4]),S.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_BIASES",g.prototype.msg_type=1505,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),g.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),g.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_SSR_PHASE_BIASES",w.prototype.msg_type=1510,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),w.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),w.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),w.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),w.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),w.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),w.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP",E.prototype.msg_type=1531,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let m=function(e,t){return r.call(this,e),this.messageType="BoundsHeader",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="BoundsHeader",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("sol_id"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),m.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["sol_id","writeUInt8",1]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION",b.prototype.msg_type=1533,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("n_sats").array("stec_sat_list",{type:y.prototype.parser,length:"n_sats"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),b.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),b.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",I.prototype.msg_type=1532,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["index","writeUInt16LE",2]),I.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),I.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let L=function(e,t){return r.call(this,e),this.messageType="STECSatElementIntegrity",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="STECSatElementIntegrity",L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("stec_residual",{type:_.prototype.parser}).uint8("stec_bound_mu").uint8("stec_bound_sig").uint8("stec_bound_mu_dot").uint8("stec_bound_sig_dot"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["stec_residual",_.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_bound_mu","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_mu_dot","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig_dot","writeUInt8",1]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",T.prototype.msg_type=1534,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("tropo_qi").uint16("grid_point_id").nest("tropo_delay_correction",{type:h.prototype.parser}).uint8("tropo_v_hydro_bound_mu").uint8("tropo_v_hydro_bound_sig").uint8("tropo_v_wet_bound_mu").uint8("tropo_v_wet_bound_sig").uint8("n_sats").array("stec_sat_list",{type:L.prototype.parser,length:"n_sats"}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),T.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),T.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_qi","writeUInt8",1]),T.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["stec_sat_list","array",L.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP_A",v.prototype.msg_type=1526,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),v.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),v.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),v.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP_B",U.prototype.msg_type=1527,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),U.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),U.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),U.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),U.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",M.prototype.msg_type=1528,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("update_interval").uint8("sol_id").uint8("iod_atmo").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),M.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),M.prototype.fieldSpec.push(["sol_id","writeUInt8",1]),M.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),M.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),M.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),M.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),M.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),M.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),M.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),M.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),M.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),M.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let D=function(e,t){return r.call(this,e),this.messageType="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("sat_info").uint16("svn").array("pco",{length:3,type:"int16le"}).array("pcv",{length:21,type:"int8"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),D.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),D.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),D.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),D.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC_DEP",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC_DEP",O.prototype.msg_type=1540,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").array("apc",{type:D.prototype.parser,readUntil:"eof"}),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["apc","array",D.prototype.fieldSpec,function(){return this.fields.array.length},null]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",G.prototype.msg_type=1541,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("update_interval").uint8("sol_id").uint8("iod_ssr").array("apc",{type:D.prototype.parser,readUntil:"eof"}),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["sol_id","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),G.prototype.fieldSpec.push(["apc","array",D.prototype.fieldSpec,function(){return this.fields.array.length},null]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",A.prototype.msg_type=1500,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),A.prototype.fieldSpec.push(["iod","writeUInt8",1]),A.prototype.fieldSpec.push(["radial","writeInt32LE",4]),A.prototype.fieldSpec.push(["along","writeInt32LE",4]),A.prototype.fieldSpec.push(["cross","writeInt32LE",4]),A.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),A.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),A.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),A.prototype.fieldSpec.push(["c0","writeInt32LE",4]),A.prototype.fieldSpec.push(["c1","writeInt32LE",4]),A.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let C=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),C.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),C.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),R.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),R.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),R.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),R.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),R.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let P=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),P.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),P.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),P.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),P.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),P.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",N.prototype.msg_type=1515,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",j.prototype.msg_type=1520,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:R.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",R.prototype.fieldSpec]),j.prototype.fieldSpec.push(["index","writeUInt16LE",2]),j.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),j.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",x.prototype.msg_type=1530,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").nest("header",{type:R.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["header",R.prototype.fieldSpec]),x.prototype.fieldSpec.push(["index","writeUInt16LE",2]),x.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),x.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",F.prototype.msg_type=1525,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("header",{type:P.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["header",P.prototype.fieldSpec]),F.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let k=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("orb_radial_bound_mu").uint8("orb_along_bound_mu").uint8("orb_cross_bound_mu").uint8("orb_radial_bound_sig").uint8("orb_along_bound_sig").uint8("orb_cross_bound_sig").uint8("clock_bound_mu").uint8("clock_bound_sig"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",B.prototype.msg_type=1502,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats").array("orbit_clock_bounds",{type:k.prototype.parser,length:"n_sats"}),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),B.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),B.prototype.fieldSpec.push(["const_id","writeUInt8",1]),B.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),B.prototype.fieldSpec.push(["orbit_clock_bounds","array",k.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let q=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("signal_id").uint8("code_bias_bound_mu").uint8("code_bias_bound_sig").uint8("phase_bias_bound_mu").uint8("phase_bias_bound_sig"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),q.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),q.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),q.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),q.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),q.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",z.prototype.msg_type=1516,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats_signals").array("satellites_signals",{type:q.prototype.parser,length:"n_sats_signals"}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),z.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),z.prototype.fieldSpec.push(["const_id","writeUInt8",1]),z.prototype.fieldSpec.push(["n_sats_signals","writeUInt8",1]),z.prototype.fieldSpec.push(["satellites_signals","array",q.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let H=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint8("orb_radial_bound_mu_dot").uint8("orb_along_bound_mu_dot").uint8("orb_cross_bound_mu_dot").uint8("orb_radial_bound_sig_dot").uint8("orb_along_bound_sig_dot").uint8("orb_cross_bound_sig_dot").uint8("clock_bound_mu_dot").uint8("clock_bound_sig_dot"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),H.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",V.prototype.msg_type=1503,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint64("sat_bitmask").nest("orbit_clock_bounds_degradation",{type:H.prototype.parser}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),V.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),V.prototype.fieldSpec.push(["const_id","writeUInt8",1]),V.prototype.fieldSpec.push(["sat_bitmask","writeUInt64LE",8]),V.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",H.prototype.fieldSpec]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:f,TroposphericDelayCorrection:h,STECResidualNoStd:d,STECResidual:_,1501:S,MsgSsrOrbitClock:S,1505:g,MsgSsrCodeBiases:g,1510:w,MsgSsrPhaseBiases:w,1531:E,MsgSsrStecCorrectionDep:E,BoundsHeader:m,1533:b,MsgSsrStecCorrection:b,1532:I,MsgSsrGriddedCorrection:I,STECSatElementIntegrity:L,1534:T,MsgSsrGriddedCorrectionBounds:T,1526:v,MsgSsrTileDefinitionDepA:v,1527:U,MsgSsrTileDefinitionDepB:U,1528:M,MsgSsrTileDefinition:M,SatelliteAPC:D,1540:O,MsgSsrSatelliteApcDep:O,1541:G,MsgSsrSatelliteApc:G,1500:A,MsgSsrOrbitClockDepA:A,STECHeaderDepA:C,GriddedCorrectionHeaderDepA:R,GridDefinitionHeaderDepA:P,1515:N,MsgSsrStecCorrectionDepA:N,1520:j,MsgSsrGriddedCorrectionNoStdDepA:j,1530:x,MsgSsrGriddedCorrectionDepA:x,1525:F,MsgSsrGridDefinitionDepA:F,OrbitClockBound:k,1502:B,MsgSsrOrbitClockBounds:B,CodePhaseBiasesSatSig:q,1516:z,MsgSsrCodePhaseBiasesBounds:z,OrbitClockBoundDegradation:H,1503:V,MsgSsrOrbitClockBoundsDegradation:V}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let a=function(e,t){return r.call(this,e),this.messageType="SubSystemReport",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="SubSystemReport",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint16("component").uint8("generic").uint8("specific"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["component","writeUInt16LE",2]),a.prototype.fieldSpec.push(["generic","writeUInt8",1]),a.prototype.fieldSpec.push(["specific","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_REPORT",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_REPORT",l.prototype.msg_type=65534,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("sequence").uint32("uptime").array("status",{type:a.prototype.parser,readUntil:"eof"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),l.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),l.prototype.fieldSpec.push(["status","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let c=function(e,t){return r.call(this,e),this.messageType="StatusJournalItem",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="StatusJournalItem",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("uptime").nest("report",{type:a.prototype.parser}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["report",a.prototype.fieldSpec]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_JOURNAL",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_JOURNAL",u.prototype.msg_type=65533,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("total_status_reports").uint8("sequence_descriptor").array("journal",{type:c.prototype.parser,readUntil:"eof"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),u.prototype.fieldSpec.push(["total_status_reports","writeUInt32LE",4]),u.prototype.fieldSpec.push(["sequence_descriptor","writeUInt8",1]),u.prototype.fieldSpec.push(["journal","array",c.prototype.fieldSpec,function(){return this.fields.array.length},null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_INS_STATUS",y.prototype.msg_type=65283,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY",f.prototype.msg_type=65284,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["id","writeUInt8",1]),f.prototype.fieldSpec.push(["telemetry","string",null]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",h.prototype.msg_type=65285,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["id","writeUInt8",1]),h.prototype.fieldSpec.push(["telemetry_labels","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_INS_UPDATES",d.prototype.msg_type=65286,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),d.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),d.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),d.prototype.fieldSpec.push(["speed","writeUInt8",1]),d.prototype.fieldSpec.push(["nhc","writeUInt8",1]),d.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_GNSS_TIME_OFFSET",_.prototype.msg_type=65287,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),_.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),_.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_PPS_TIME",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_PPS_TIME",S.prototype.msg_type=65288,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time","writeUInt64LE",8]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SENSOR_AID_EVENT",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SENSOR_AID_EVENT",g.prototype.msg_type=65289,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("time").uint8("sensor_type").uint16("sensor_id").uint8("sensor_state").uint8("n_available_meas").uint8("n_attempted_meas").uint8("n_accepted_meas").uint32("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time","writeUInt32LE",4]),g.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),g.prototype.fieldSpec.push(["sensor_id","writeUInt16LE",2]),g.prototype.fieldSpec.push(["sensor_state","writeUInt8",1]),g.prototype.fieldSpec.push(["n_available_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_attempted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_accepted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_META",w.prototype.msg_type=65290,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("group_id").uint8("flags").uint8("n_group_msgs").array("group_msgs",{type:"uint16le",length:"n_group_msgs"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["group_id","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]),w.prototype.fieldSpec.push(["n_group_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},"n_group_msgs"]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,SubSystemReport:a,65534:l,MsgStatusReport:l,StatusJournalItem:c,65533:u,MsgStatusJournal:u,65283:y,MsgInsStatus:y,65284:f,MsgCsacTelemetry:f,65285:h,MsgCsacTelemetryLabels:h,65286:d,MsgInsUpdates:d,65287:_,MsgGnssTimeOffset:_,65288:S,MsgPpsTime:S,65289:g,MsgSensorAidEvent:g,65290:w,MsgGroupMeta:w}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:a.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE",f.prototype.msg_type=65,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let h=function(e,t){return r.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MeasurementState",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").nest("mesid",{type:s.prototype.parser}).uint8("cn0"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["mesid",s.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);let _=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);let g=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:n.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let m=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);let I=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="TrackingChannelStateDepB",I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:n.prototype.parser}).floatle("cn0"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["state","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),I.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:I.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",I.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:f,MsgTrackingState:f,MeasurementState:h,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:I,19:L,MsgTrackingStateDepB:L}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="TelemetrySV",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.prototype)).messageType="TelemetrySV",s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("az").int8("el").uint8("availability_flags").int16("pseudorange_residual").int16("phase_residual").uint8("outlier_flags").uint8("ephemeris_flags").uint8("correction_flags").nest("sid",{type:i.prototype.parser}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["az","writeUInt8",1]),s.prototype.fieldSpec.push(["el","writeInt8",1]),s.prototype.fieldSpec.push(["availability_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["pseudorange_residual","writeInt16LE",2]),s.prototype.fieldSpec.push(["phase_residual","writeInt16LE",2]),s.prototype.fieldSpec.push(["outlier_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["ephemeris_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["correction_flags","writeUInt8",1]),s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_TEL_SV",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_TEL_SV",n.prototype.msg_type=288,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").uint8("n_obs").uint8("origin_flags").array("sv_tel",{type:s.prototype.parser,readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["n_obs","writeUInt8",1]),n.prototype.fieldSpec.push(["origin_flags","writeUInt8",1]),n.prototype.fieldSpec.push(["sv_tel","array",s.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={TelemetrySV:s,288:n,MsgTelSv:n}}]); \ No newline at end of file diff --git a/javascript/sbp/signing.js b/javascript/sbp/signing.js index 9839283226..5b95a874fc 100644 --- a/javascript/sbp/signing.js +++ b/javascript/sbp/signing.js @@ -148,7 +148,7 @@ MsgCertificateChain.prototype.fieldSpec.push(['expiration', UtcTime.prototype.fi MsgCertificateChain.prototype.fieldSpec.push(['signature', 'array', 'writeUInt8', function () { return 1; }, 64]); /** - * SBP class for message MSG_ECDSA_SIGNATURE (0x0C06). + * SBP class for message MSG_ECDSA_SIGNATURE (0x0C07). * * An ECDSA-256 signature using SHA-256 as the message digest algorithm. * @@ -163,7 +163,9 @@ MsgCertificateChain.prototype.fieldSpec.push(['signature', 'array', 'writeUInt8' * after 256 messages. Upon connection, the value of the counter may not initially * be zero. * @field certificate_id array The last 4 bytes of the certificate's SHA-1 fingerprint - * @field signature array ECDSA signature for the messages using SHA-256 as the digest algorithm. + * @field n_signature_bytes number (unsigned 8-bit int, 1 byte) Number of bytes to use of the signature field. + * @field signature array DER encoded ECDSA signature for the messages using SHA-256 as the digest + * algorithm. * @field signed_messages array CRCs of the messages covered by this signature. For Skylark, which delivers SBP * messages wrapped in Swift's proprietary RTCM message, these are the 24-bit CRCs * from the RTCM message framing. For SBP only streams, this will be 16-bit CRCs @@ -181,7 +183,7 @@ let MsgEcdsaSignature = function (sbp, fields) { }; MsgEcdsaSignature.prototype = Object.create(SBP.prototype); MsgEcdsaSignature.prototype.messageType = "MSG_ECDSA_SIGNATURE"; -MsgEcdsaSignature.prototype.msg_type = 0x0C06; +MsgEcdsaSignature.prototype.msg_type = 0x0C07; MsgEcdsaSignature.prototype.constructor = MsgEcdsaSignature; MsgEcdsaSignature.prototype.parser = new Parser() .endianess('little') @@ -189,16 +191,70 @@ MsgEcdsaSignature.prototype.parser = new Parser() .uint8('stream_counter') .uint8('on_demand_counter') .array('certificate_id', { length: 4, type: 'uint8' }) - .array('signature', { length: 64, type: 'uint8' }) + .uint8('n_signature_bytes') + .array('signature', { length: 72, type: 'uint8' }) .array('signed_messages', { type: 'uint8', readUntil: 'eof' }); MsgEcdsaSignature.prototype.fieldSpec = []; MsgEcdsaSignature.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); MsgEcdsaSignature.prototype.fieldSpec.push(['stream_counter', 'writeUInt8', 1]); MsgEcdsaSignature.prototype.fieldSpec.push(['on_demand_counter', 'writeUInt8', 1]); MsgEcdsaSignature.prototype.fieldSpec.push(['certificate_id', 'array', 'writeUInt8', function () { return 1; }, 4]); -MsgEcdsaSignature.prototype.fieldSpec.push(['signature', 'array', 'writeUInt8', function () { return 1; }, 64]); +MsgEcdsaSignature.prototype.fieldSpec.push(['n_signature_bytes', 'writeUInt8', 1]); +MsgEcdsaSignature.prototype.fieldSpec.push(['signature', 'array', 'writeUInt8', function () { return 1; }, 72]); MsgEcdsaSignature.prototype.fieldSpec.push(['signed_messages', 'array', 'writeUInt8', function () { return 1; }, null]); +/** + * SBP class for message MSG_ECDSA_SIGNATURE_DEP (0x0C06). + * + * An ECDSA-256 signature using SHA-256 as the message digest algorithm. + * + * Fields in the SBP payload (`sbp.payload`): + * @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the `signed\_messages` field below. + * @field stream_counter number (unsigned 8-bit int, 1 byte) Signature message counter. Zero indexed and incremented with each signature + * message. The counter will not increment if this message was in response to an + * on demand request. The counter will roll over after 256 messages. Upon + * connection, the value of the counter may not initially be zero. + * @field on_demand_counter number (unsigned 8-bit int, 1 byte) On demand message counter. Zero indexed and incremented with each signature + * message sent in response to an on demand message. The counter will roll over + * after 256 messages. Upon connection, the value of the counter may not initially + * be zero. + * @field certificate_id array The last 4 bytes of the certificate's SHA-1 fingerprint + * @field signature array ECDSA signature for the messages using SHA-256 as the digest algorithm. + * @field signed_messages array CRCs of the messages covered by this signature. For Skylark, which delivers SBP + * messages wrapped in Swift's proprietary RTCM message, these are the 24-bit CRCs + * from the RTCM message framing. For SBP only streams, this will be 16-bit CRCs + * from the SBP framing. See the `flags` field to determine the type of CRCs + * covered. + * + * @param sbp An SBP object with a payload to be decoded. + */ +let MsgEcdsaSignatureDep = function (sbp, fields) { + SBP.call(this, sbp); + this.messageType = "MSG_ECDSA_SIGNATURE_DEP"; + this.fields = (fields || this.parser.parse(sbp.payload)); + + return this; +}; +MsgEcdsaSignatureDep.prototype = Object.create(SBP.prototype); +MsgEcdsaSignatureDep.prototype.messageType = "MSG_ECDSA_SIGNATURE_DEP"; +MsgEcdsaSignatureDep.prototype.msg_type = 0x0C06; +MsgEcdsaSignatureDep.prototype.constructor = MsgEcdsaSignatureDep; +MsgEcdsaSignatureDep.prototype.parser = new Parser() + .endianess('little') + .uint8('flags') + .uint8('stream_counter') + .uint8('on_demand_counter') + .array('certificate_id', { length: 4, type: 'uint8' }) + .array('signature', { length: 64, type: 'uint8' }) + .array('signed_messages', { type: 'uint8', readUntil: 'eof' }); +MsgEcdsaSignatureDep.prototype.fieldSpec = []; +MsgEcdsaSignatureDep.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); +MsgEcdsaSignatureDep.prototype.fieldSpec.push(['stream_counter', 'writeUInt8', 1]); +MsgEcdsaSignatureDep.prototype.fieldSpec.push(['on_demand_counter', 'writeUInt8', 1]); +MsgEcdsaSignatureDep.prototype.fieldSpec.push(['certificate_id', 'array', 'writeUInt8', function () { return 1; }, 4]); +MsgEcdsaSignatureDep.prototype.fieldSpec.push(['signature', 'array', 'writeUInt8', function () { return 1; }, 64]); +MsgEcdsaSignatureDep.prototype.fieldSpec.push(['signed_messages', 'array', 'writeUInt8', function () { return 1; }, null]); + /** * SBP class for message MSG_ED25519_CERTIFICATE_DEP (0x0C02). * @@ -314,8 +370,10 @@ module.exports = { MsgEcdsaCertificate: MsgEcdsaCertificate, 0x0C05: MsgCertificateChain, MsgCertificateChain: MsgCertificateChain, - 0x0C06: MsgEcdsaSignature, + 0x0C07: MsgEcdsaSignature, MsgEcdsaSignature: MsgEcdsaSignature, + 0x0C06: MsgEcdsaSignatureDep, + MsgEcdsaSignatureDep: MsgEcdsaSignatureDep, 0x0C02: MsgEd25519CertificateDep, MsgEd25519CertificateDep: MsgEd25519CertificateDep, 0x0C01: MsgEd25519SignatureDepA, diff --git a/jsonschema/MsgEcdsaSignature.json b/jsonschema/MsgEcdsaSignature.json index d1b9883b94..8bc1056a5d 100644 --- a/jsonschema/MsgEcdsaSignature.json +++ b/jsonschema/MsgEcdsaSignature.json @@ -20,6 +20,7 @@ "stream_counter": {"type": "integer"}, "on_demand_counter": {"type": "integer"}, "certificate_id": {"type": "array", "items": {"type": "integer"}}, + "n_signature_bytes": {"type": "integer"}, "signature": {"type": "array", "items": {"type": "integer"}}, "signed_messages": {"type": "array", "items": {"type": "integer"}} }, @@ -28,6 +29,7 @@ "stream_counter", "on_demand_counter", "certificate_id", + "n_signature_bytes", "signature", "signed_messages" ] diff --git a/proto/signing.proto b/proto/signing.proto index 08bb9d4a3f..a0299e4206 100644 --- a/proto/signing.proto +++ b/proto/signing.proto @@ -66,6 +66,7 @@ message MsgEcdsaSignature { uint32 stream_counter = 2; uint32 on_demand_counter = 3; repeated uint32 certificate_id = 4; - repeated uint32 signature = 5; - repeated uint32 signed_messages = 6; + uint32 n_signature_bytes = 5; + repeated uint32 signature = 6; + repeated uint32 signed_messages = 7; } \ No newline at end of file diff --git a/python/sbp/signing.py b/python/sbp/signing.py index 8298fa0ae4..1dcf34e267 100644 --- a/python/sbp/signing.py +++ b/python/sbp/signing.py @@ -316,9 +316,9 @@ def to_json_dict(self): d.update(j) return d -SBP_MSG_ECDSA_SIGNATURE = 0x0C06 +SBP_MSG_ECDSA_SIGNATURE = 0x0C07 class MsgEcdsaSignature(SBP): - """SBP class for message MSG_ECDSA_SIGNATURE (0x0C06). + """SBP class for message MSG_ECDSA_SIGNATURE (0x0C07). You can have MSG_ECDSA_SIGNATURE inherit its fields directly from an inherited SBP object, or construct it inline using a dict @@ -346,8 +346,11 @@ class MsgEcdsaSignature(SBP): counter may not initially be zero. certificate_id : array The last 4 bytes of the certificate's SHA-1 fingerprint + n_signature_bytes : int + Number of bytes to use of the signature field. signature : array - ECDSA signature for the messages using SHA-256 as the digest algorithm. + DER encoded ECDSA signature for the messages using SHA-256 as the digest + algorithm. signed_messages : array CRCs of the messages covered by this signature. For Skylark, which delivers SBP messages wrapped in Swift's proprietary RTCM message, these @@ -363,13 +366,15 @@ class MsgEcdsaSignature(SBP): 'stream_counter' / construct.Int8ul, 'on_demand_counter' / construct.Int8ul, 'certificate_id' / construct.Array(4, construct.Int8ul), - 'signature' / construct.Array(64, construct.Int8ul), + 'n_signature_bytes' / construct.Int8ul, + 'signature' / construct.Array(72, construct.Int8ul), 'signed_messages' / construct.GreedyRange(construct.Int8ul),) __slots__ = [ 'flags', 'stream_counter', 'on_demand_counter', 'certificate_id', + 'n_signature_bytes', 'signature', 'signed_messages', ] @@ -388,6 +393,7 @@ def __init__(self, sbp=None, **kwargs): self.stream_counter = kwargs.pop('stream_counter') self.on_demand_counter = kwargs.pop('on_demand_counter') self.certificate_id = kwargs.pop('certificate_id') + self.n_signature_bytes = kwargs.pop('n_signature_bytes') self.signature = kwargs.pop('signature') self.signed_messages = kwargs.pop('signed_messages') @@ -447,6 +453,137 @@ def to_json_dict(self): d.update(j) return d +SBP_MSG_ECDSA_SIGNATURE_DEP = 0x0C06 +class MsgEcdsaSignatureDep(SBP): + """SBP class for message MSG_ECDSA_SIGNATURE_DEP (0x0C06). + + You can have MSG_ECDSA_SIGNATURE_DEP inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + An ECDSA-256 signature using SHA-256 as the message digest algorithm. + + Parameters + ---------- + sbp : SBP + SBP parent object to inherit from. + flags : int + Describes the format of the `signed\_messages` field below. + stream_counter : int + Signature message counter. Zero indexed and incremented with each + signature message. The counter will not increment if this message was in + response to an on demand request. The counter will roll over after 256 + messages. Upon connection, the value of the counter may not initially be + zero. + on_demand_counter : int + On demand message counter. Zero indexed and incremented with each + signature message sent in response to an on demand message. The counter + will roll over after 256 messages. Upon connection, the value of the + counter may not initially be zero. + certificate_id : array + The last 4 bytes of the certificate's SHA-1 fingerprint + signature : array + ECDSA signature for the messages using SHA-256 as the digest algorithm. + signed_messages : array + CRCs of the messages covered by this signature. For Skylark, which + delivers SBP messages wrapped in Swift's proprietary RTCM message, these + are the 24-bit CRCs from the RTCM message framing. For SBP only streams, + this will be 16-bit CRCs from the SBP framing. See the `flags` field to + determine the type of CRCs covered. + sender : int + Optional sender ID, defaults to SENDER_ID (see sbp/msg.py). + + """ + _parser = construct.Struct( + 'flags' / construct.Int8ul, + 'stream_counter' / construct.Int8ul, + 'on_demand_counter' / construct.Int8ul, + 'certificate_id' / construct.Array(4, construct.Int8ul), + 'signature' / construct.Array(64, construct.Int8ul), + 'signed_messages' / construct.GreedyRange(construct.Int8ul),) + __slots__ = [ + 'flags', + 'stream_counter', + 'on_demand_counter', + 'certificate_id', + 'signature', + 'signed_messages', + ] + + def __init__(self, sbp=None, **kwargs): + if sbp: + super( MsgEcdsaSignatureDep, + self).__init__(sbp.msg_type, sbp.sender, sbp.length, + sbp.payload, sbp.crc) + self.from_binary(sbp.payload) + else: + super( MsgEcdsaSignatureDep, self).__init__() + self.msg_type = SBP_MSG_ECDSA_SIGNATURE_DEP + self.sender = kwargs.pop('sender', SENDER_ID) + self.flags = kwargs.pop('flags') + self.stream_counter = kwargs.pop('stream_counter') + self.on_demand_counter = kwargs.pop('on_demand_counter') + self.certificate_id = kwargs.pop('certificate_id') + self.signature = kwargs.pop('signature') + self.signed_messages = kwargs.pop('signed_messages') + + def __repr__(self): + return fmt_repr(self) + + @staticmethod + def from_json(s): + """Given a JSON-encoded string s, build a message object. + + """ + d = json.loads(s) + return MsgEcdsaSignatureDep.from_json_dict(d) + + @staticmethod + def from_json_dict(d): + sbp = SBP.from_json_dict(d) + return MsgEcdsaSignatureDep(sbp, **d) + + + def from_binary(self, d): + """Given a binary payload d, update the appropriate payload fields of + the message. + + """ + p = MsgEcdsaSignatureDep._parser.parse(d) + for n in self.__class__.__slots__: + setattr(self, n, getattr(p, n)) + + def to_binary(self): + """Produce a framed/packed SBP message. + + """ + c = containerize(exclude_fields(self)) + self.payload = MsgEcdsaSignatureDep._parser.build(c) + return self.pack() + + def friendly_name(self): + """Produces friendly human-readable name for this message + + """ + return "ECDSA SIGNATURE DEP" + + def into_buffer(self, buf, offset): + """Produce a framed/packed SBP message into the provided buffer and offset. + + """ + self.payload = containerize(exclude_fields(self)) + self.parser = MsgEcdsaSignatureDep._parser + self.stream_payload.reset(buf, offset) + return self.pack_into(buf, offset, self._build_payload) + + def to_json_dict(self): + self.to_binary() + d = super( MsgEcdsaSignatureDep, self).to_json_dict() + j = walk_json_dict(exclude_fields(self)) + d.update(j) + return d + SBP_MSG_ED25519_CERTIFICATE_DEP = 0x0C02 class MsgEd25519CertificateDep(SBP): """SBP class for message MSG_ED25519_CERTIFICATE_DEP (0x0C02). @@ -782,7 +919,8 @@ def to_json_dict(self): msg_classes = { 0x0C04: MsgEcdsaCertificate, 0x0C05: MsgCertificateChain, - 0x0C06: MsgEcdsaSignature, + 0x0C07: MsgEcdsaSignature, + 0x0C06: MsgEcdsaSignatureDep, 0x0C02: MsgEd25519CertificateDep, 0x0C01: MsgEd25519SignatureDepA, 0x0C03: MsgEd25519SignatureDepB, diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index 53ff6f0b7a..29c360d11f 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -214,6 +214,7 @@ use self::settings::msg_settings_write_resp::MsgSettingsWriteResp; use self::signing::msg_certificate_chain::MsgCertificateChain; use self::signing::msg_ecdsa_certificate::MsgEcdsaCertificate; use self::signing::msg_ecdsa_signature::MsgEcdsaSignature; +use self::signing::msg_ecdsa_signature_dep::MsgEcdsaSignatureDep; use self::signing::msg_ed25519_certificate_dep::MsgEd25519CertificateDep; use self::signing::msg_ed25519_signature_dep_a::MsgEd25519SignatureDepA; use self::signing::msg_ed25519_signature_dep_b::MsgEd25519SignatureDepB; @@ -767,6 +768,8 @@ pub enum Sbp { /// The certificate chain MsgCertificateChain(MsgCertificateChain), /// An ECDSA signature + MsgEcdsaSignatureDep(MsgEcdsaSignatureDep), + /// An ECDSA signature MsgEcdsaSignature(MsgEcdsaSignature), /// Request advice on the optimal configuration for FileIO MsgFileioConfigReq(MsgFileioConfigReq), @@ -1472,6 +1475,9 @@ impl<'de> serde::Deserialize<'de> for Sbp { Some(MsgCertificateChain::MESSAGE_TYPE) => { serde_json::from_value::(value).map(Sbp::MsgCertificateChain) } + Some(MsgEcdsaSignatureDep::MESSAGE_TYPE) => { + serde_json::from_value::(value).map(Sbp::MsgEcdsaSignatureDep) + } Some(MsgEcdsaSignature::MESSAGE_TYPE) => { serde_json::from_value::(value).map(Sbp::MsgEcdsaSignature) } @@ -2603,6 +2609,11 @@ impl Sbp { msg.set_sender_id(sender_id); Ok(Sbp::MsgCertificateChain(msg)) } + MsgEcdsaSignatureDep::MESSAGE_TYPE => { + let mut msg = MsgEcdsaSignatureDep::parse(&mut payload)?; + msg.set_sender_id(sender_id); + Ok(Sbp::MsgEcdsaSignatureDep(msg)) + } MsgEcdsaSignature::MESSAGE_TYPE => { let mut msg = MsgEcdsaSignature::parse(&mut payload)?; msg.set_sender_id(sender_id); @@ -2965,6 +2976,7 @@ impl SbpMessage for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => msg.message_name(), Sbp::MsgEcdsaCertificate(msg) => msg.message_name(), Sbp::MsgCertificateChain(msg) => msg.message_name(), + Sbp::MsgEcdsaSignatureDep(msg) => msg.message_name(), Sbp::MsgEcdsaSignature(msg) => msg.message_name(), Sbp::MsgFileioConfigReq(msg) => msg.message_name(), Sbp::MsgFileioConfigResp(msg) => msg.message_name(), @@ -3201,6 +3213,7 @@ impl SbpMessage for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => msg.message_type(), Sbp::MsgEcdsaCertificate(msg) => msg.message_type(), Sbp::MsgCertificateChain(msg) => msg.message_type(), + Sbp::MsgEcdsaSignatureDep(msg) => msg.message_type(), Sbp::MsgEcdsaSignature(msg) => msg.message_type(), Sbp::MsgFileioConfigReq(msg) => msg.message_type(), Sbp::MsgFileioConfigResp(msg) => msg.message_type(), @@ -3437,6 +3450,7 @@ impl SbpMessage for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => msg.sender_id(), Sbp::MsgEcdsaCertificate(msg) => msg.sender_id(), Sbp::MsgCertificateChain(msg) => msg.sender_id(), + Sbp::MsgEcdsaSignatureDep(msg) => msg.sender_id(), Sbp::MsgEcdsaSignature(msg) => msg.sender_id(), Sbp::MsgFileioConfigReq(msg) => msg.sender_id(), Sbp::MsgFileioConfigResp(msg) => msg.sender_id(), @@ -3673,6 +3687,7 @@ impl SbpMessage for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => msg.set_sender_id(new_id), Sbp::MsgEcdsaCertificate(msg) => msg.set_sender_id(new_id), Sbp::MsgCertificateChain(msg) => msg.set_sender_id(new_id), + Sbp::MsgEcdsaSignatureDep(msg) => msg.set_sender_id(new_id), Sbp::MsgEcdsaSignature(msg) => msg.set_sender_id(new_id), Sbp::MsgFileioConfigReq(msg) => msg.set_sender_id(new_id), Sbp::MsgFileioConfigResp(msg) => msg.set_sender_id(new_id), @@ -3909,6 +3924,7 @@ impl SbpMessage for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => msg.encoded_len(), Sbp::MsgEcdsaCertificate(msg) => msg.encoded_len(), Sbp::MsgCertificateChain(msg) => msg.encoded_len(), + Sbp::MsgEcdsaSignatureDep(msg) => msg.encoded_len(), Sbp::MsgEcdsaSignature(msg) => msg.encoded_len(), Sbp::MsgFileioConfigReq(msg) => msg.encoded_len(), Sbp::MsgFileioConfigResp(msg) => msg.encoded_len(), @@ -4148,6 +4164,7 @@ impl SbpMessage for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => msg.gps_time(), Sbp::MsgEcdsaCertificate(msg) => msg.gps_time(), Sbp::MsgCertificateChain(msg) => msg.gps_time(), + Sbp::MsgEcdsaSignatureDep(msg) => msg.gps_time(), Sbp::MsgEcdsaSignature(msg) => msg.gps_time(), Sbp::MsgFileioConfigReq(msg) => msg.gps_time(), Sbp::MsgFileioConfigResp(msg) => msg.gps_time(), @@ -4384,6 +4401,7 @@ impl SbpMessage for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => msg.friendly_name(), Sbp::MsgEcdsaCertificate(msg) => msg.friendly_name(), Sbp::MsgCertificateChain(msg) => msg.friendly_name(), + Sbp::MsgEcdsaSignatureDep(msg) => msg.friendly_name(), Sbp::MsgEcdsaSignature(msg) => msg.friendly_name(), Sbp::MsgFileioConfigReq(msg) => msg.friendly_name(), Sbp::MsgFileioConfigResp(msg) => msg.friendly_name(), @@ -4628,6 +4646,7 @@ impl WireFormat for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => WireFormat::write(msg, buf), Sbp::MsgEcdsaCertificate(msg) => WireFormat::write(msg, buf), Sbp::MsgCertificateChain(msg) => WireFormat::write(msg, buf), + Sbp::MsgEcdsaSignatureDep(msg) => WireFormat::write(msg, buf), Sbp::MsgEcdsaSignature(msg) => WireFormat::write(msg, buf), Sbp::MsgFileioConfigReq(msg) => WireFormat::write(msg, buf), Sbp::MsgFileioConfigResp(msg) => WireFormat::write(msg, buf), @@ -4864,6 +4883,7 @@ impl WireFormat for Sbp { Sbp::MsgEd25519SignatureDepB(msg) => WireFormat::len(msg), Sbp::MsgEcdsaCertificate(msg) => WireFormat::len(msg), Sbp::MsgCertificateChain(msg) => WireFormat::len(msg), + Sbp::MsgEcdsaSignatureDep(msg) => WireFormat::len(msg), Sbp::MsgEcdsaSignature(msg) => WireFormat::len(msg), Sbp::MsgFileioConfigReq(msg) => WireFormat::len(msg), Sbp::MsgFileioConfigResp(msg) => WireFormat::len(msg), @@ -6099,6 +6119,12 @@ impl From for Sbp { } } +impl From for Sbp { + fn from(msg: MsgEcdsaSignatureDep) -> Self { + Sbp::MsgEcdsaSignatureDep(msg) + } +} + impl From for Sbp { fn from(msg: MsgEcdsaSignature) -> Self { Sbp::MsgEcdsaSignature(msg) diff --git a/rust/sbp/src/messages/signing.rs b/rust/sbp/src/messages/signing.rs index 6b5db27ad4..1be2b0d46b 100644 --- a/rust/sbp/src/messages/signing.rs +++ b/rust/sbp/src/messages/signing.rs @@ -16,6 +16,7 @@ pub use msg_certificate_chain::MsgCertificateChain; pub use msg_ecdsa_certificate::MsgEcdsaCertificate; pub use msg_ecdsa_signature::MsgEcdsaSignature; +pub use msg_ecdsa_signature_dep::MsgEcdsaSignatureDep; pub use msg_ed25519_certificate_dep::MsgEd25519CertificateDep; pub use msg_ed25519_signature_dep_a::MsgEd25519SignatureDepA; pub use msg_ed25519_signature_dep_b::MsgEd25519SignatureDepB; @@ -316,9 +317,13 @@ pub mod msg_ecdsa_signature { /// The last 4 bytes of the certificate's SHA-1 fingerprint #[cfg_attr(feature = "serde", serde(rename = "certificate_id"))] pub certificate_id: [u8; 4], - /// ECDSA signature for the messages using SHA-256 as the digest algorithm. + /// Number of bytes to use of the signature field. + #[cfg_attr(feature = "serde", serde(rename = "n_signature_bytes"))] + pub n_signature_bytes: u8, + /// DER encoded ECDSA signature for the messages using SHA-256 as the digest + /// algorithm. #[cfg_attr(feature = "serde", serde(with = "BigArray", rename = "signature"))] - pub signature: [u8; 64], + pub signature: [u8; 72], /// CRCs of the messages covered by this signature. For Skylark, which /// delivers SBP messages wrapped in Swift's proprietary RTCM message, these /// are the 24-bit CRCs from the RTCM message framing. For SBP only streams, @@ -345,7 +350,7 @@ pub mod msg_ecdsa_signature { } impl ConcreteMessage for MsgEcdsaSignature { - const MESSAGE_TYPE: u16 = 3078; + const MESSAGE_TYPE: u16 = 3079; const MESSAGE_NAME: &'static str = "MSG_ECDSA_SIGNATURE"; } @@ -388,13 +393,15 @@ pub mod msg_ecdsa_signature { + ::MIN_LEN + ::MIN_LEN + <[u8; 4] as WireFormat>::MIN_LEN - + <[u8; 64] as WireFormat>::MIN_LEN + + ::MIN_LEN + + <[u8; 72] as WireFormat>::MIN_LEN + as WireFormat>::MIN_LEN; fn len(&self) -> usize { WireFormat::len(&self.flags) + WireFormat::len(&self.stream_counter) + WireFormat::len(&self.on_demand_counter) + WireFormat::len(&self.certificate_id) + + WireFormat::len(&self.n_signature_bytes) + WireFormat::len(&self.signature) + WireFormat::len(&self.signed_messages) } @@ -403,11 +410,183 @@ pub mod msg_ecdsa_signature { WireFormat::write(&self.stream_counter, buf); WireFormat::write(&self.on_demand_counter, buf); WireFormat::write(&self.certificate_id, buf); + WireFormat::write(&self.n_signature_bytes, buf); WireFormat::write(&self.signature, buf); WireFormat::write(&self.signed_messages, buf); } fn parse_unchecked(buf: &mut B) -> Self { MsgEcdsaSignature { + sender_id: None, + flags: WireFormat::parse_unchecked(buf), + stream_counter: WireFormat::parse_unchecked(buf), + on_demand_counter: WireFormat::parse_unchecked(buf), + certificate_id: WireFormat::parse_unchecked(buf), + n_signature_bytes: WireFormat::parse_unchecked(buf), + signature: WireFormat::parse_unchecked(buf), + signed_messages: WireFormat::parse_unchecked(buf), + } + } + } + + /// CRC type + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum CrcType { + /// 24-bit CRCs from RTCM framing + _24BitCrcsFromRtcmFraming = 0, + + /// 16-bit CRCs from SBP framing + _16BitCrcsFromSbpFraming = 1, + } + + impl std::fmt::Display for CrcType { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + CrcType::_24BitCrcsFromRtcmFraming => f.write_str("24-bit CRCs from RTCM framing"), + CrcType::_16BitCrcsFromSbpFraming => f.write_str("16-bit CRCs from SBP framing"), + } + } + } + + impl TryFrom for CrcType { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(CrcType::_24BitCrcsFromRtcmFraming), + 1 => Ok(CrcType::_16BitCrcsFromSbpFraming), + i => Err(i), + } + } + } +} + +pub mod msg_ecdsa_signature_dep { + #![allow(unused_imports)] + + use super::*; + use crate::messages::lib::*; + + /// An ECDSA signature + /// + /// An ECDSA-256 signature using SHA-256 as the message digest algorithm. + /// + #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Debug, PartialEq, Clone)] + pub struct MsgEcdsaSignatureDep { + /// The message sender_id + #[cfg_attr(feature = "serde", serde(skip_serializing, alias = "sender"))] + pub sender_id: Option, + /// Describes the format of the `signed\_messages` field below. + #[cfg_attr(feature = "serde", serde(rename = "flags"))] + pub flags: u8, + /// Signature message counter. Zero indexed and incremented with each + /// signature message. The counter will not increment if this message was + /// in response to an on demand request. The counter will roll over after + /// 256 messages. Upon connection, the value of the counter may not + /// initially be zero. + #[cfg_attr(feature = "serde", serde(rename = "stream_counter"))] + pub stream_counter: u8, + /// On demand message counter. Zero indexed and incremented with each + /// signature message sent in response to an on demand message. The counter + /// will roll over after 256 messages. Upon connection, the value of the + /// counter may not initially be zero. + #[cfg_attr(feature = "serde", serde(rename = "on_demand_counter"))] + pub on_demand_counter: u8, + /// The last 4 bytes of the certificate's SHA-1 fingerprint + #[cfg_attr(feature = "serde", serde(rename = "certificate_id"))] + pub certificate_id: [u8; 4], + /// ECDSA signature for the messages using SHA-256 as the digest algorithm. + #[cfg_attr(feature = "serde", serde(with = "BigArray", rename = "signature"))] + pub signature: [u8; 64], + /// CRCs of the messages covered by this signature. For Skylark, which + /// delivers SBP messages wrapped in Swift's proprietary RTCM message, these + /// are the 24-bit CRCs from the RTCM message framing. For SBP only streams, + /// this will be 16-bit CRCs from the SBP framing. See the `flags` field to + /// determine the type of CRCs covered. + #[cfg_attr(feature = "serde", serde(rename = "signed_messages"))] + pub signed_messages: Vec, + } + + impl MsgEcdsaSignatureDep { + /// Gets the [CrcType][self::CrcType] stored in the `flags` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `CrcType` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `CrcType` were added. + pub fn crc_type(&self) -> Result { + get_bit_range!(self.flags, u8, u8, 1, 0).try_into() + } + + /// Set the bitrange corresponding to the [CrcType][CrcType] of the `flags` bitfield. + pub fn set_crc_type(&mut self, crc_type: CrcType) { + set_bit_range!(&mut self.flags, crc_type, u8, u8, 1, 0); + } + } + + impl ConcreteMessage for MsgEcdsaSignatureDep { + const MESSAGE_TYPE: u16 = 3078; + const MESSAGE_NAME: &'static str = "MSG_ECDSA_SIGNATURE_DEP"; + } + + impl SbpMessage for MsgEcdsaSignatureDep { + fn message_name(&self) -> &'static str { + ::MESSAGE_NAME + } + fn message_type(&self) -> u16 { + ::MESSAGE_TYPE + } + fn sender_id(&self) -> Option { + self.sender_id + } + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } + fn encoded_len(&self) -> usize { + WireFormat::len(self) + crate::HEADER_LEN + crate::CRC_LEN + } + } + + impl FriendlyName for MsgEcdsaSignatureDep { + fn friendly_name() -> &'static str { + "ECDSA SIGNATURE DEP" + } + } + + impl TryFrom for MsgEcdsaSignatureDep { + type Error = TryFromSbpError; + fn try_from(msg: Sbp) -> Result { + match msg { + Sbp::MsgEcdsaSignatureDep(m) => Ok(m), + _ => Err(TryFromSbpError(msg)), + } + } + } + + impl WireFormat for MsgEcdsaSignatureDep { + const MIN_LEN: usize = ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + <[u8; 4] as WireFormat>::MIN_LEN + + <[u8; 64] as WireFormat>::MIN_LEN + + as WireFormat>::MIN_LEN; + fn len(&self) -> usize { + WireFormat::len(&self.flags) + + WireFormat::len(&self.stream_counter) + + WireFormat::len(&self.on_demand_counter) + + WireFormat::len(&self.certificate_id) + + WireFormat::len(&self.signature) + + WireFormat::len(&self.signed_messages) + } + fn write(&self, buf: &mut B) { + WireFormat::write(&self.flags, buf); + WireFormat::write(&self.stream_counter, buf); + WireFormat::write(&self.on_demand_counter, buf); + WireFormat::write(&self.certificate_id, buf); + WireFormat::write(&self.signature, buf); + WireFormat::write(&self.signed_messages, buf); + } + fn parse_unchecked(buf: &mut B) -> Self { + MsgEcdsaSignatureDep { sender_id: None, flags: WireFormat::parse_unchecked(buf), stream_counter: WireFormat::parse_unchecked(buf), diff --git a/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs b/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs index 81aff31fc4..14112163e5 100644 --- a/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs +++ b/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs @@ -22,19 +22,11 @@ use crate::*; fn test_auto_check_sbp_signing_msg_ecdsa_signature() { { let mut payload = Cursor::new(vec![ - 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, - 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, - 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, - 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, - 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, - 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, - 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, - 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, - 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, - 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, - 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, - 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, - 174, 97, 172, + 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, + 195, ]); // Test the round trip payload parsing @@ -82,6 +74,11 @@ fn test_auto_check_sbp_signing_msg_ecdsa_signature() { "incorrect value for flags, expected 0, is {}", msg.flags ); + assert_eq!( + msg.n_signature_bytes, 73, + "incorrect value for n_signature_bytes, expected 73, is {}", + msg.n_signature_bytes + ); assert_eq!( msg.on_demand_counter, 2, "incorrect value for on_demand_counter, expected 2, is {}", @@ -128,1296 +125,924 @@ fn test_auto_check_sbp_signing_msg_ecdsa_signature() { msg.signature[7] ); assert_eq!( - msg.signature[8], 0, - "incorrect value for signature[8], expected 0, is {}", + msg.signature[8], 8, + "incorrect value for signature[8], expected 8, is {}", msg.signature[8] ); assert_eq!( - msg.signature[9], 1, - "incorrect value for signature[9], expected 1, is {}", + msg.signature[9], 9, + "incorrect value for signature[9], expected 9, is {}", msg.signature[9] ); assert_eq!( - msg.signature[10], 2, - "incorrect value for signature[10], expected 2, is {}", + msg.signature[10], 10, + "incorrect value for signature[10], expected 10, is {}", msg.signature[10] ); assert_eq!( - msg.signature[11], 3, - "incorrect value for signature[11], expected 3, is {}", + msg.signature[11], 11, + "incorrect value for signature[11], expected 11, is {}", msg.signature[11] ); assert_eq!( - msg.signature[12], 4, - "incorrect value for signature[12], expected 4, is {}", + msg.signature[12], 12, + "incorrect value for signature[12], expected 12, is {}", msg.signature[12] ); assert_eq!( - msg.signature[13], 5, - "incorrect value for signature[13], expected 5, is {}", + msg.signature[13], 13, + "incorrect value for signature[13], expected 13, is {}", msg.signature[13] ); assert_eq!( - msg.signature[14], 6, - "incorrect value for signature[14], expected 6, is {}", + msg.signature[14], 14, + "incorrect value for signature[14], expected 14, is {}", msg.signature[14] ); assert_eq!( - msg.signature[15], 7, - "incorrect value for signature[15], expected 7, is {}", + msg.signature[15], 15, + "incorrect value for signature[15], expected 15, is {}", msg.signature[15] ); assert_eq!( - msg.signature[16], 0, - "incorrect value for signature[16], expected 0, is {}", + msg.signature[16], 16, + "incorrect value for signature[16], expected 16, is {}", msg.signature[16] ); assert_eq!( - msg.signature[17], 1, - "incorrect value for signature[17], expected 1, is {}", + msg.signature[17], 17, + "incorrect value for signature[17], expected 17, is {}", msg.signature[17] ); assert_eq!( - msg.signature[18], 2, - "incorrect value for signature[18], expected 2, is {}", + msg.signature[18], 18, + "incorrect value for signature[18], expected 18, is {}", msg.signature[18] ); assert_eq!( - msg.signature[19], 3, - "incorrect value for signature[19], expected 3, is {}", + msg.signature[19], 19, + "incorrect value for signature[19], expected 19, is {}", msg.signature[19] ); assert_eq!( - msg.signature[20], 4, - "incorrect value for signature[20], expected 4, is {}", + msg.signature[20], 20, + "incorrect value for signature[20], expected 20, is {}", msg.signature[20] ); assert_eq!( - msg.signature[21], 5, - "incorrect value for signature[21], expected 5, is {}", + msg.signature[21], 21, + "incorrect value for signature[21], expected 21, is {}", msg.signature[21] ); assert_eq!( - msg.signature[22], 6, - "incorrect value for signature[22], expected 6, is {}", + msg.signature[22], 22, + "incorrect value for signature[22], expected 22, is {}", msg.signature[22] ); assert_eq!( - msg.signature[23], 7, - "incorrect value for signature[23], expected 7, is {}", + msg.signature[23], 23, + "incorrect value for signature[23], expected 23, is {}", msg.signature[23] ); assert_eq!( - msg.signature[24], 0, - "incorrect value for signature[24], expected 0, is {}", + msg.signature[24], 24, + "incorrect value for signature[24], expected 24, is {}", msg.signature[24] ); assert_eq!( - msg.signature[25], 1, - "incorrect value for signature[25], expected 1, is {}", + msg.signature[25], 25, + "incorrect value for signature[25], expected 25, is {}", msg.signature[25] ); assert_eq!( - msg.signature[26], 2, - "incorrect value for signature[26], expected 2, is {}", + msg.signature[26], 26, + "incorrect value for signature[26], expected 26, is {}", msg.signature[26] ); assert_eq!( - msg.signature[27], 3, - "incorrect value for signature[27], expected 3, is {}", + msg.signature[27], 27, + "incorrect value for signature[27], expected 27, is {}", msg.signature[27] ); assert_eq!( - msg.signature[28], 4, - "incorrect value for signature[28], expected 4, is {}", + msg.signature[28], 28, + "incorrect value for signature[28], expected 28, is {}", msg.signature[28] ); assert_eq!( - msg.signature[29], 5, - "incorrect value for signature[29], expected 5, is {}", + msg.signature[29], 29, + "incorrect value for signature[29], expected 29, is {}", msg.signature[29] ); assert_eq!( - msg.signature[30], 6, - "incorrect value for signature[30], expected 6, is {}", + msg.signature[30], 30, + "incorrect value for signature[30], expected 30, is {}", msg.signature[30] ); assert_eq!( - msg.signature[31], 7, - "incorrect value for signature[31], expected 7, is {}", + msg.signature[31], 31, + "incorrect value for signature[31], expected 31, is {}", msg.signature[31] ); assert_eq!( - msg.signature[32], 0, - "incorrect value for signature[32], expected 0, is {}", + msg.signature[32], 32, + "incorrect value for signature[32], expected 32, is {}", msg.signature[32] ); assert_eq!( - msg.signature[33], 1, - "incorrect value for signature[33], expected 1, is {}", + msg.signature[33], 33, + "incorrect value for signature[33], expected 33, is {}", msg.signature[33] ); assert_eq!( - msg.signature[34], 2, - "incorrect value for signature[34], expected 2, is {}", + msg.signature[34], 34, + "incorrect value for signature[34], expected 34, is {}", msg.signature[34] ); assert_eq!( - msg.signature[35], 3, - "incorrect value for signature[35], expected 3, is {}", + msg.signature[35], 35, + "incorrect value for signature[35], expected 35, is {}", msg.signature[35] ); assert_eq!( - msg.signature[36], 4, - "incorrect value for signature[36], expected 4, is {}", + msg.signature[36], 36, + "incorrect value for signature[36], expected 36, is {}", msg.signature[36] ); assert_eq!( - msg.signature[37], 5, - "incorrect value for signature[37], expected 5, is {}", + msg.signature[37], 37, + "incorrect value for signature[37], expected 37, is {}", msg.signature[37] ); assert_eq!( - msg.signature[38], 6, - "incorrect value for signature[38], expected 6, is {}", + msg.signature[38], 38, + "incorrect value for signature[38], expected 38, is {}", msg.signature[38] ); assert_eq!( - msg.signature[39], 7, - "incorrect value for signature[39], expected 7, is {}", + msg.signature[39], 39, + "incorrect value for signature[39], expected 39, is {}", msg.signature[39] ); assert_eq!( - msg.signature[40], 0, - "incorrect value for signature[40], expected 0, is {}", + msg.signature[40], 40, + "incorrect value for signature[40], expected 40, is {}", msg.signature[40] ); assert_eq!( - msg.signature[41], 1, - "incorrect value for signature[41], expected 1, is {}", + msg.signature[41], 41, + "incorrect value for signature[41], expected 41, is {}", msg.signature[41] ); assert_eq!( - msg.signature[42], 2, - "incorrect value for signature[42], expected 2, is {}", + msg.signature[42], 42, + "incorrect value for signature[42], expected 42, is {}", msg.signature[42] ); assert_eq!( - msg.signature[43], 3, - "incorrect value for signature[43], expected 3, is {}", + msg.signature[43], 43, + "incorrect value for signature[43], expected 43, is {}", msg.signature[43] ); assert_eq!( - msg.signature[44], 4, - "incorrect value for signature[44], expected 4, is {}", + msg.signature[44], 44, + "incorrect value for signature[44], expected 44, is {}", msg.signature[44] ); assert_eq!( - msg.signature[45], 5, - "incorrect value for signature[45], expected 5, is {}", + msg.signature[45], 45, + "incorrect value for signature[45], expected 45, is {}", msg.signature[45] ); assert_eq!( - msg.signature[46], 6, - "incorrect value for signature[46], expected 6, is {}", + msg.signature[46], 46, + "incorrect value for signature[46], expected 46, is {}", msg.signature[46] ); assert_eq!( - msg.signature[47], 7, - "incorrect value for signature[47], expected 7, is {}", + msg.signature[47], 47, + "incorrect value for signature[47], expected 47, is {}", msg.signature[47] ); assert_eq!( - msg.signature[48], 0, - "incorrect value for signature[48], expected 0, is {}", + msg.signature[48], 48, + "incorrect value for signature[48], expected 48, is {}", msg.signature[48] ); assert_eq!( - msg.signature[49], 1, - "incorrect value for signature[49], expected 1, is {}", + msg.signature[49], 49, + "incorrect value for signature[49], expected 49, is {}", msg.signature[49] ); assert_eq!( - msg.signature[50], 2, - "incorrect value for signature[50], expected 2, is {}", + msg.signature[50], 50, + "incorrect value for signature[50], expected 50, is {}", msg.signature[50] ); assert_eq!( - msg.signature[51], 3, - "incorrect value for signature[51], expected 3, is {}", + msg.signature[51], 51, + "incorrect value for signature[51], expected 51, is {}", msg.signature[51] ); assert_eq!( - msg.signature[52], 4, - "incorrect value for signature[52], expected 4, is {}", + msg.signature[52], 52, + "incorrect value for signature[52], expected 52, is {}", msg.signature[52] ); assert_eq!( - msg.signature[53], 5, - "incorrect value for signature[53], expected 5, is {}", + msg.signature[53], 53, + "incorrect value for signature[53], expected 53, is {}", msg.signature[53] ); assert_eq!( - msg.signature[54], 6, - "incorrect value for signature[54], expected 6, is {}", + msg.signature[54], 54, + "incorrect value for signature[54], expected 54, is {}", msg.signature[54] ); assert_eq!( - msg.signature[55], 7, - "incorrect value for signature[55], expected 7, is {}", + msg.signature[55], 55, + "incorrect value for signature[55], expected 55, is {}", msg.signature[55] ); assert_eq!( - msg.signature[56], 0, - "incorrect value for signature[56], expected 0, is {}", + msg.signature[56], 56, + "incorrect value for signature[56], expected 56, is {}", msg.signature[56] ); assert_eq!( - msg.signature[57], 1, - "incorrect value for signature[57], expected 1, is {}", + msg.signature[57], 57, + "incorrect value for signature[57], expected 57, is {}", msg.signature[57] ); assert_eq!( - msg.signature[58], 2, - "incorrect value for signature[58], expected 2, is {}", + msg.signature[58], 58, + "incorrect value for signature[58], expected 58, is {}", msg.signature[58] ); assert_eq!( - msg.signature[59], 3, - "incorrect value for signature[59], expected 3, is {}", + msg.signature[59], 59, + "incorrect value for signature[59], expected 59, is {}", msg.signature[59] ); assert_eq!( - msg.signature[60], 4, - "incorrect value for signature[60], expected 4, is {}", + msg.signature[60], 60, + "incorrect value for signature[60], expected 60, is {}", msg.signature[60] ); assert_eq!( - msg.signature[61], 5, - "incorrect value for signature[61], expected 5, is {}", + msg.signature[61], 61, + "incorrect value for signature[61], expected 61, is {}", msg.signature[61] ); assert_eq!( - msg.signature[62], 6, - "incorrect value for signature[62], expected 6, is {}", + msg.signature[62], 62, + "incorrect value for signature[62], expected 62, is {}", msg.signature[62] ); assert_eq!( - msg.signature[63], 7, - "incorrect value for signature[63], expected 7, is {}", + msg.signature[63], 63, + "incorrect value for signature[63], expected 63, is {}", msg.signature[63] ); assert_eq!( - msg.signed_messages[0], 10, - "incorrect value for signed_messages[0], expected 10, is {}", - msg.signed_messages[0] + msg.signature[64], 64, + "incorrect value for signature[64], expected 64, is {}", + msg.signature[64] ); assert_eq!( - msg.signed_messages[1], 21, - "incorrect value for signed_messages[1], expected 21, is {}", - msg.signed_messages[1] + msg.signature[65], 65, + "incorrect value for signature[65], expected 65, is {}", + msg.signature[65] ); assert_eq!( - msg.signed_messages[2], 23, - "incorrect value for signed_messages[2], expected 23, is {}", - msg.signed_messages[2] + msg.signature[66], 66, + "incorrect value for signature[66], expected 66, is {}", + msg.signature[66] ); assert_eq!( - msg.signed_messages[3], 63, - "incorrect value for signed_messages[3], expected 63, is {}", - msg.signed_messages[3] + msg.signature[67], 67, + "incorrect value for signature[67], expected 67, is {}", + msg.signature[67] ); assert_eq!( - msg.signed_messages[4], 140, - "incorrect value for signed_messages[4], expected 140, is {}", - msg.signed_messages[4] + msg.signature[68], 68, + "incorrect value for signature[68], expected 68, is {}", + msg.signature[68] ); assert_eq!( - msg.signed_messages[5], 37, - "incorrect value for signed_messages[5], expected 37, is {}", - msg.signed_messages[5] + msg.signature[69], 69, + "incorrect value for signature[69], expected 69, is {}", + msg.signature[69] ); assert_eq!( - msg.signed_messages[6], 130, - "incorrect value for signed_messages[6], expected 130, is {}", - msg.signed_messages[6] + msg.signature[70], 70, + "incorrect value for signature[70], expected 70, is {}", + msg.signature[70] ); assert_eq!( - msg.signed_messages[7], 106, - "incorrect value for signed_messages[7], expected 106, is {}", - msg.signed_messages[7] + msg.signature[71], 71, + "incorrect value for signature[71], expected 71, is {}", + msg.signature[71] ); assert_eq!( - msg.signed_messages[8], 28, - "incorrect value for signed_messages[8], expected 28, is {}", - msg.signed_messages[8] + msg.signature[72], 72, + "incorrect value for signature[72], expected 72, is {}", + msg.signature[72] ); assert_eq!( - msg.signed_messages[9], 40, - "incorrect value for signed_messages[9], expected 40, is {}", - msg.signed_messages[9] + msg.signed_messages[0], 10, + "incorrect value for signed_messages[0], expected 10, is {}", + msg.signed_messages[0] ); assert_eq!( - msg.signed_messages[10], 165, - "incorrect value for signed_messages[10], expected 165, is {}", - msg.signed_messages[10] + msg.signed_messages[1], 21, + "incorrect value for signed_messages[1], expected 21, is {}", + msg.signed_messages[1] ); assert_eq!( - msg.signed_messages[11], 179, - "incorrect value for signed_messages[11], expected 179, is {}", - msg.signed_messages[11] + msg.signed_messages[2], 23, + "incorrect value for signed_messages[2], expected 23, is {}", + msg.signed_messages[2] ); assert_eq!( - msg.signed_messages[12], 73, - "incorrect value for signed_messages[12], expected 73, is {}", - msg.signed_messages[12] + msg.stream_counter, 1, + "incorrect value for stream_counter, expected 1, is {}", + msg.stream_counter ); + } + _ => panic!("Invalid message type! Expected a MsgEcdsaSignature"), + }; + let frame = sbp::to_vec(&sbp_msg).unwrap(); + assert_eq!(frame, payload.into_inner()); + } +} + +/// Tests [`sbp::json::iter_messages`] for JSON payload -> SBP message +/// and [`sbp::json::iter_messages_from_fields`] for JSON fields -> SBP message. +/// +/// Asserts: +/// - SBP message constructed via payload is identical to from fields +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +#[cfg(feature = "json")] +fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { + { + let json_input = r#"{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 84, "payload": "AAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX", "crc": 50129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": [1, 2, 3, 4], "n_signature_bytes": 73, "signature": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "signed_messages": [10, 21, 23]}"#.as_bytes(); + + let sbp_msg = { + // JSON to SBP message from payload + let mut iter = json2sbp_iter_msg(json_input); + let from_payload = iter + .next() + .expect("no message found") + .expect("failed to parse message"); + + // JSON to SBP message from fields + let mut iter = iter_messages_from_fields(json_input); + let from_fields = iter + .next() + .expect("no message found") + .expect("failed to parse message"); + + assert_eq!(from_fields, from_payload); + from_fields + }; + match &sbp_msg { + sbp::messages::Sbp::MsgEcdsaSignature(msg) => { assert_eq!( - msg.signed_messages[13], 178, - "incorrect value for signed_messages[13], expected 178, is {}", - msg.signed_messages[13] + msg.message_type(), + 0xC06, + "Incorrect message type, expected 0xC06, is {}", + msg.message_type() ); + let sender_id = msg.sender_id().unwrap(); assert_eq!( - msg.signed_messages[14], 60, - "incorrect value for signed_messages[14], expected 60, is {}", - msg.signed_messages[14] + sender_id, 0x42, + "incorrect sender id, expected 0x42, is {sender_id}" ); assert_eq!( - msg.signed_messages[15], 126, - "incorrect value for signed_messages[15], expected 126, is {}", - msg.signed_messages[15] + msg.certificate_id[0], 1, + "incorrect value for certificate_id[0], expected 1, is {}", + msg.certificate_id[0] ); assert_eq!( - msg.signed_messages[16], 114, - "incorrect value for signed_messages[16], expected 114, is {}", - msg.signed_messages[16] + msg.certificate_id[1], 2, + "incorrect value for certificate_id[1], expected 2, is {}", + msg.certificate_id[1] ); assert_eq!( - msg.signed_messages[17], 78, - "incorrect value for signed_messages[17], expected 78, is {}", - msg.signed_messages[17] + msg.certificate_id[2], 3, + "incorrect value for certificate_id[2], expected 3, is {}", + msg.certificate_id[2] ); assert_eq!( - msg.signed_messages[18], 113, - "incorrect value for signed_messages[18], expected 113, is {}", - msg.signed_messages[18] + msg.certificate_id[3], 4, + "incorrect value for certificate_id[3], expected 4, is {}", + msg.certificate_id[3] ); assert_eq!( - msg.signed_messages[19], 27, - "incorrect value for signed_messages[19], expected 27, is {}", - msg.signed_messages[19] + msg.flags, 0, + "incorrect value for flags, expected 0, is {}", + msg.flags ); assert_eq!( - msg.signed_messages[20], 95, - "incorrect value for signed_messages[20], expected 95, is {}", - msg.signed_messages[20] + msg.n_signature_bytes, 73, + "incorrect value for n_signature_bytes, expected 73, is {}", + msg.n_signature_bytes ); assert_eq!( - msg.signed_messages[21], 3, - "incorrect value for signed_messages[21], expected 3, is {}", - msg.signed_messages[21] + msg.on_demand_counter, 2, + "incorrect value for on_demand_counter, expected 2, is {}", + msg.on_demand_counter ); assert_eq!( - msg.signed_messages[22], 62, - "incorrect value for signed_messages[22], expected 62, is {}", - msg.signed_messages[22] + msg.signature[0], 0, + "incorrect value for signature[0], expected 0, is {}", + msg.signature[0] ); assert_eq!( - msg.signed_messages[23], 104, - "incorrect value for signed_messages[23], expected 104, is {}", - msg.signed_messages[23] + msg.signature[1], 1, + "incorrect value for signature[1], expected 1, is {}", + msg.signature[1] ); assert_eq!( - msg.signed_messages[24], 145, - "incorrect value for signed_messages[24], expected 145, is {}", - msg.signed_messages[24] + msg.signature[2], 2, + "incorrect value for signature[2], expected 2, is {}", + msg.signature[2] ); assert_eq!( - msg.signed_messages[25], 96, - "incorrect value for signed_messages[25], expected 96, is {}", - msg.signed_messages[25] + msg.signature[3], 3, + "incorrect value for signature[3], expected 3, is {}", + msg.signature[3] ); assert_eq!( - msg.signed_messages[26], 19, - "incorrect value for signed_messages[26], expected 19, is {}", - msg.signed_messages[26] + msg.signature[4], 4, + "incorrect value for signature[4], expected 4, is {}", + msg.signature[4] ); assert_eq!( - msg.signed_messages[27], 92, - "incorrect value for signed_messages[27], expected 92, is {}", - msg.signed_messages[27] + msg.signature[5], 5, + "incorrect value for signature[5], expected 5, is {}", + msg.signature[5] ); assert_eq!( - msg.signed_messages[28], 123, - "incorrect value for signed_messages[28], expected 123, is {}", - msg.signed_messages[28] + msg.signature[6], 6, + "incorrect value for signature[6], expected 6, is {}", + msg.signature[6] ); assert_eq!( - msg.signed_messages[29], 14, - "incorrect value for signed_messages[29], expected 14, is {}", - msg.signed_messages[29] + msg.signature[7], 7, + "incorrect value for signature[7], expected 7, is {}", + msg.signature[7] ); assert_eq!( - msg.signed_messages[30], 90, - "incorrect value for signed_messages[30], expected 90, is {}", - msg.signed_messages[30] + msg.signature[8], 8, + "incorrect value for signature[8], expected 8, is {}", + msg.signature[8] ); assert_eq!( - msg.signed_messages[31], 153, - "incorrect value for signed_messages[31], expected 153, is {}", - msg.signed_messages[31] + msg.signature[9], 9, + "incorrect value for signature[9], expected 9, is {}", + msg.signature[9] ); assert_eq!( - msg.signed_messages[32], 183, - "incorrect value for signed_messages[32], expected 183, is {}", - msg.signed_messages[32] + msg.signature[10], 10, + "incorrect value for signature[10], expected 10, is {}", + msg.signature[10] ); assert_eq!( - msg.signed_messages[33], 9, - "incorrect value for signed_messages[33], expected 9, is {}", - msg.signed_messages[33] + msg.signature[11], 11, + "incorrect value for signature[11], expected 11, is {}", + msg.signature[11] ); assert_eq!( - msg.signed_messages[34], 72, - "incorrect value for signed_messages[34], expected 72, is {}", - msg.signed_messages[34] + msg.signature[12], 12, + "incorrect value for signature[12], expected 12, is {}", + msg.signature[12] ); assert_eq!( - msg.signed_messages[35], 81, - "incorrect value for signed_messages[35], expected 81, is {}", - msg.signed_messages[35] + msg.signature[13], 13, + "incorrect value for signature[13], expected 13, is {}", + msg.signature[13] ); assert_eq!( - msg.signed_messages[36], 118, - "incorrect value for signed_messages[36], expected 118, is {}", - msg.signed_messages[36] + msg.signature[14], 14, + "incorrect value for signature[14], expected 14, is {}", + msg.signature[14] ); assert_eq!( - msg.signed_messages[37], 112, - "incorrect value for signed_messages[37], expected 112, is {}", - msg.signed_messages[37] + msg.signature[15], 15, + "incorrect value for signature[15], expected 15, is {}", + msg.signature[15] ); assert_eq!( - msg.signed_messages[38], 124, - "incorrect value for signed_messages[38], expected 124, is {}", - msg.signed_messages[38] + msg.signature[16], 16, + "incorrect value for signature[16], expected 16, is {}", + msg.signature[16] ); assert_eq!( - msg.signed_messages[39], 16, - "incorrect value for signed_messages[39], expected 16, is {}", - msg.signed_messages[39] + msg.signature[17], 17, + "incorrect value for signature[17], expected 17, is {}", + msg.signature[17] ); assert_eq!( - msg.signed_messages[40], 182, - "incorrect value for signed_messages[40], expected 182, is {}", - msg.signed_messages[40] + msg.signature[18], 18, + "incorrect value for signature[18], expected 18, is {}", + msg.signature[18] ); assert_eq!( - msg.signed_messages[41], 76, - "incorrect value for signed_messages[41], expected 76, is {}", - msg.signed_messages[41] + msg.signature[19], 19, + "incorrect value for signature[19], expected 19, is {}", + msg.signature[19] ); assert_eq!( - msg.signed_messages[42], 146, - "incorrect value for signed_messages[42], expected 146, is {}", - msg.signed_messages[42] + msg.signature[20], 20, + "incorrect value for signature[20], expected 20, is {}", + msg.signature[20] ); assert_eq!( - msg.signed_messages[43], 115, - "incorrect value for signed_messages[43], expected 115, is {}", - msg.signed_messages[43] + msg.signature[21], 21, + "incorrect value for signature[21], expected 21, is {}", + msg.signature[21] ); assert_eq!( - msg.signed_messages[44], 58, - "incorrect value for signed_messages[44], expected 58, is {}", - msg.signed_messages[44] + msg.signature[22], 22, + "incorrect value for signature[22], expected 22, is {}", + msg.signature[22] ); assert_eq!( - msg.signed_messages[45], 144, - "incorrect value for signed_messages[45], expected 144, is {}", - msg.signed_messages[45] + msg.signature[23], 23, + "incorrect value for signature[23], expected 23, is {}", + msg.signature[23] ); assert_eq!( - msg.signed_messages[46], 17, - "incorrect value for signed_messages[46], expected 17, is {}", - msg.signed_messages[46] + msg.signature[24], 24, + "incorrect value for signature[24], expected 24, is {}", + msg.signature[24] ); assert_eq!( - msg.signed_messages[47], 105, - "incorrect value for signed_messages[47], expected 105, is {}", - msg.signed_messages[47] + msg.signature[25], 25, + "incorrect value for signature[25], expected 25, is {}", + msg.signature[25] ); assert_eq!( - msg.signed_messages[48], 66, - "incorrect value for signed_messages[48], expected 66, is {}", - msg.signed_messages[48] + msg.signature[26], 26, + "incorrect value for signature[26], expected 26, is {}", + msg.signature[26] ); assert_eq!( - msg.signed_messages[49], 31, - "incorrect value for signed_messages[49], expected 31, is {}", - msg.signed_messages[49] + msg.signature[27], 27, + "incorrect value for signature[27], expected 27, is {}", + msg.signature[27] ); assert_eq!( - msg.signed_messages[50], 135, - "incorrect value for signed_messages[50], expected 135, is {}", - msg.signed_messages[50] + msg.signature[28], 28, + "incorrect value for signature[28], expected 28, is {}", + msg.signature[28] ); assert_eq!( - msg.signed_messages[51], 54, - "incorrect value for signed_messages[51], expected 54, is {}", - msg.signed_messages[51] + msg.signature[29], 29, + "incorrect value for signature[29], expected 29, is {}", + msg.signature[29] ); assert_eq!( - msg.signed_messages[52], 100, - "incorrect value for signed_messages[52], expected 100, is {}", - msg.signed_messages[52] + msg.signature[30], 30, + "incorrect value for signature[30], expected 30, is {}", + msg.signature[30] ); assert_eq!( - msg.signed_messages[53], 84, - "incorrect value for signed_messages[53], expected 84, is {}", - msg.signed_messages[53] + msg.signature[31], 31, + "incorrect value for signature[31], expected 31, is {}", + msg.signature[31] ); assert_eq!( - msg.signed_messages[54], 181, - "incorrect value for signed_messages[54], expected 181, is {}", - msg.signed_messages[54] + msg.signature[32], 32, + "incorrect value for signature[32], expected 32, is {}", + msg.signature[32] ); assert_eq!( - msg.signed_messages[55], 103, - "incorrect value for signed_messages[55], expected 103, is {}", - msg.signed_messages[55] + msg.signature[33], 33, + "incorrect value for signature[33], expected 33, is {}", + msg.signature[33] ); assert_eq!( - msg.signed_messages[56], 11, - "incorrect value for signed_messages[56], expected 11, is {}", - msg.signed_messages[56] + msg.signature[34], 34, + "incorrect value for signature[34], expected 34, is {}", + msg.signature[34] ); assert_eq!( - msg.signed_messages[57], 88, - "incorrect value for signed_messages[57], expected 88, is {}", - msg.signed_messages[57] + msg.signature[35], 35, + "incorrect value for signature[35], expected 35, is {}", + msg.signature[35] ); assert_eq!( - msg.signed_messages[58], 133, - "incorrect value for signed_messages[58], expected 133, is {}", - msg.signed_messages[58] + msg.signature[36], 36, + "incorrect value for signature[36], expected 36, is {}", + msg.signature[36] ); assert_eq!( - msg.signed_messages[59], 155, - "incorrect value for signed_messages[59], expected 155, is {}", - msg.signed_messages[59] + msg.signature[37], 37, + "incorrect value for signature[37], expected 37, is {}", + msg.signature[37] ); assert_eq!( - msg.signed_messages[60], 167, - "incorrect value for signed_messages[60], expected 167, is {}", - msg.signed_messages[60] + msg.signature[38], 38, + "incorrect value for signature[38], expected 38, is {}", + msg.signature[38] ); assert_eq!( - msg.signed_messages[61], 173, - "incorrect value for signed_messages[61], expected 173, is {}", - msg.signed_messages[61] + msg.signature[39], 39, + "incorrect value for signature[39], expected 39, is {}", + msg.signature[39] ); assert_eq!( - msg.signed_messages[62], 143, - "incorrect value for signed_messages[62], expected 143, is {}", - msg.signed_messages[62] + msg.signature[40], 40, + "incorrect value for signature[40], expected 40, is {}", + msg.signature[40] ); assert_eq!( - msg.signed_messages[63], 86, - "incorrect value for signed_messages[63], expected 86, is {}", - msg.signed_messages[63] + msg.signature[41], 41, + "incorrect value for signature[41], expected 41, is {}", + msg.signature[41] ); assert_eq!( - msg.signed_messages[64], 158, - "incorrect value for signed_messages[64], expected 158, is {}", - msg.signed_messages[64] + msg.signature[42], 42, + "incorrect value for signature[42], expected 42, is {}", + msg.signature[42] ); assert_eq!( - msg.signed_messages[65], 20, - "incorrect value for signed_messages[65], expected 20, is {}", - msg.signed_messages[65] + msg.signature[43], 43, + "incorrect value for signature[43], expected 43, is {}", + msg.signature[43] ); assert_eq!( - msg.signed_messages[66], 168, - "incorrect value for signed_messages[66], expected 168, is {}", - msg.signed_messages[66] + msg.signature[44], 44, + "incorrect value for signature[44], expected 44, is {}", + msg.signature[44] ); assert_eq!( - msg.signed_messages[67], 132, - "incorrect value for signed_messages[67], expected 132, is {}", - msg.signed_messages[67] + msg.signature[45], 45, + "incorrect value for signature[45], expected 45, is {}", + msg.signature[45] ); assert_eq!( - msg.signed_messages[68], 141, - "incorrect value for signed_messages[68], expected 141, is {}", - msg.signed_messages[68] + msg.signature[46], 46, + "incorrect value for signature[46], expected 46, is {}", + msg.signature[46] ); assert_eq!( - msg.signed_messages[69], 102, - "incorrect value for signed_messages[69], expected 102, is {}", - msg.signed_messages[69] + msg.signature[47], 47, + "incorrect value for signature[47], expected 47, is {}", + msg.signature[47] ); assert_eq!( - msg.signed_messages[70], 50, - "incorrect value for signed_messages[70], expected 50, is {}", - msg.signed_messages[70] + msg.signature[48], 48, + "incorrect value for signature[48], expected 48, is {}", + msg.signature[48] ); assert_eq!( - msg.signed_messages[71], 48, - "incorrect value for signed_messages[71], expected 48, is {}", - msg.signed_messages[71] + msg.signature[49], 49, + "incorrect value for signature[49], expected 49, is {}", + msg.signature[49] ); assert_eq!( - msg.signed_messages[72], 71, - "incorrect value for signed_messages[72], expected 71, is {}", - msg.signed_messages[72] + msg.signature[50], 50, + "incorrect value for signature[50], expected 50, is {}", + msg.signature[50] ); assert_eq!( - msg.signed_messages[73], 147, - "incorrect value for signed_messages[73], expected 147, is {}", - msg.signed_messages[73] + msg.signature[51], 51, + "incorrect value for signature[51], expected 51, is {}", + msg.signature[51] ); assert_eq!( - msg.signed_messages[74], 53, - "incorrect value for signed_messages[74], expected 53, is {}", - msg.signed_messages[74] + msg.signature[52], 52, + "incorrect value for signature[52], expected 52, is {}", + msg.signature[52] ); assert_eq!( - msg.signed_messages[75], 87, - "incorrect value for signed_messages[75], expected 87, is {}", - msg.signed_messages[75] + msg.signature[53], 53, + "incorrect value for signature[53], expected 53, is {}", + msg.signature[53] ); assert_eq!( - msg.signed_messages[76], 1, - "incorrect value for signed_messages[76], expected 1, is {}", - msg.signed_messages[76] + msg.signature[54], 54, + "incorrect value for signature[54], expected 54, is {}", + msg.signature[54] ); assert_eq!( - msg.signed_messages[77], 108, - "incorrect value for signed_messages[77], expected 108, is {}", - msg.signed_messages[77] + msg.signature[55], 55, + "incorrect value for signature[55], expected 55, is {}", + msg.signature[55] ); assert_eq!( - msg.signed_messages[78], 138, - "incorrect value for signed_messages[78], expected 138, is {}", - msg.signed_messages[78] + msg.signature[56], 56, + "incorrect value for signature[56], expected 56, is {}", + msg.signature[56] ); assert_eq!( - msg.signed_messages[79], 36, - "incorrect value for signed_messages[79], expected 36, is {}", - msg.signed_messages[79] + msg.signature[57], 57, + "incorrect value for signature[57], expected 57, is {}", + msg.signature[57] ); assert_eq!( - msg.signed_messages[80], 134, - "incorrect value for signed_messages[80], expected 134, is {}", - msg.signed_messages[80] + msg.signature[58], 58, + "incorrect value for signature[58], expected 58, is {}", + msg.signature[58] ); assert_eq!( - msg.signed_messages[81], 139, - "incorrect value for signed_messages[81], expected 139, is {}", - msg.signed_messages[81] + msg.signature[59], 59, + "incorrect value for signature[59], expected 59, is {}", + msg.signature[59] ); assert_eq!( - msg.signed_messages[82], 163, - "incorrect value for signed_messages[82], expected 163, is {}", - msg.signed_messages[82] + msg.signature[60], 60, + "incorrect value for signature[60], expected 60, is {}", + msg.signature[60] ); assert_eq!( - msg.signed_messages[83], 82, - "incorrect value for signed_messages[83], expected 82, is {}", - msg.signed_messages[83] + msg.signature[61], 61, + "incorrect value for signature[61], expected 61, is {}", + msg.signature[61] ); assert_eq!( - msg.signed_messages[84], 43, - "incorrect value for signed_messages[84], expected 43, is {}", - msg.signed_messages[84] + msg.signature[62], 62, + "incorrect value for signature[62], expected 62, is {}", + msg.signature[62] ); assert_eq!( - msg.signed_messages[85], 52, - "incorrect value for signed_messages[85], expected 52, is {}", - msg.signed_messages[85] + msg.signature[63], 63, + "incorrect value for signature[63], expected 63, is {}", + msg.signature[63] ); assert_eq!( - msg.signed_messages[86], 150, - "incorrect value for signed_messages[86], expected 150, is {}", - msg.signed_messages[86] + msg.signature[64], 64, + "incorrect value for signature[64], expected 64, is {}", + msg.signature[64] ); assert_eq!( - msg.signed_messages[87], 12, - "incorrect value for signed_messages[87], expected 12, is {}", - msg.signed_messages[87] + msg.signature[65], 65, + "incorrect value for signature[65], expected 65, is {}", + msg.signature[65] ); assert_eq!( - msg.signed_messages[88], 30, - "incorrect value for signed_messages[88], expected 30, is {}", - msg.signed_messages[88] + msg.signature[66], 66, + "incorrect value for signature[66], expected 66, is {}", + msg.signature[66] ); assert_eq!( - msg.signed_messages[89], 110, - "incorrect value for signed_messages[89], expected 110, is {}", - msg.signed_messages[89] + msg.signature[67], 67, + "incorrect value for signature[67], expected 67, is {}", + msg.signature[67] ); assert_eq!( - msg.signed_messages[90], 156, - "incorrect value for signed_messages[90], expected 156, is {}", - msg.signed_messages[90] + msg.signature[68], 68, + "incorrect value for signature[68], expected 68, is {}", + msg.signature[68] ); assert_eq!( - msg.signed_messages[91], 107, - "incorrect value for signed_messages[91], expected 107, is {}", - msg.signed_messages[91] + msg.signature[69], 69, + "incorrect value for signature[69], expected 69, is {}", + msg.signature[69] ); assert_eq!( - msg.signed_messages[92], 120, - "incorrect value for signed_messages[92], expected 120, is {}", - msg.signed_messages[92] + msg.signature[70], 70, + "incorrect value for signature[70], expected 70, is {}", + msg.signature[70] ); assert_eq!( - msg.signed_messages[93], 91, - "incorrect value for signed_messages[93], expected 91, is {}", - msg.signed_messages[93] + msg.signature[71], 71, + "incorrect value for signature[71], expected 71, is {}", + msg.signature[71] ); assert_eq!( - msg.signed_messages[94], 122, - "incorrect value for signed_messages[94], expected 122, is {}", - msg.signed_messages[94] + msg.signature[72], 72, + "incorrect value for signature[72], expected 72, is {}", + msg.signature[72] ); assert_eq!( - msg.signed_messages[95], 69, - "incorrect value for signed_messages[95], expected 69, is {}", - msg.signed_messages[95] + msg.signed_messages[0], 10, + "incorrect value for signed_messages[0], expected 10, is {}", + msg.signed_messages[0] ); assert_eq!( - msg.signed_messages[96], 164, - "incorrect value for signed_messages[96], expected 164, is {}", - msg.signed_messages[96] + msg.signed_messages[1], 21, + "incorrect value for signed_messages[1], expected 21, is {}", + msg.signed_messages[1] ); assert_eq!( - msg.signed_messages[97], 170, - "incorrect value for signed_messages[97], expected 170, is {}", - msg.signed_messages[97] + msg.signed_messages[2], 23, + "incorrect value for signed_messages[2], expected 23, is {}", + msg.signed_messages[2] ); assert_eq!( - msg.signed_messages[98], 116, - "incorrect value for signed_messages[98], expected 116, is {}", - msg.signed_messages[98] + msg.stream_counter, 1, + "incorrect value for stream_counter, expected 1, is {}", + msg.stream_counter ); + } + _ => panic!("Invalid message type! Expected a MsgEcdsaSignature"), + }; + } +} + +/// Tests [`sbp::json::JsonEncoder`] for roundtrip SBP message -> JSON +/// +/// Assumes: +/// - [`self::test_auto_check_sbp_signing_msg_ecdsa_signature`] passes +/// +/// Asserts: +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +#[cfg(feature = "json")] +fn test_sbp2json_auto_check_sbp_signing_msg_ecdsa_signature() { + { + let mut payload = Cursor::new(vec![ + 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, + 195, + ]); + + // Construct sbp message + let sbp_msg = { + let mut msgs = iter_messages(&mut payload); + msgs.next() + .expect("no message found") + .expect("failed to parse message") + }; + + let mut json_buffer = vec![]; + // Populate json buffer, CompactFormatter + sbp::json::JsonEncoder::new(&mut json_buffer, sbp::json::CompactFormatter {}) + .send(&sbp_msg) + .unwrap(); + + // Reconstruct Sbp message from json fields, roundtrip + let sbp_msg = sbp::messages::Sbp::MsgEcdsaSignature( + serde_json::from_str( + std::str::from_utf8(json_buffer.as_slice()) + .unwrap() + .to_string() + .as_str(), + ) + .unwrap(), + ); + match &sbp_msg { + sbp::messages::Sbp::MsgEcdsaSignature(msg) => { assert_eq!( - msg.signed_messages[99], 25, - "incorrect value for signed_messages[99], expected 25, is {}", - msg.signed_messages[99] + msg.message_type(), + 0xC06, + "Incorrect message type, expected 0xC06, is {}", + msg.message_type() ); + let sender_id = msg.sender_id().unwrap(); assert_eq!( - msg.signed_messages[100], 94, - "incorrect value for signed_messages[100], expected 94, is {}", - msg.signed_messages[100] + sender_id, 0x42, + "incorrect sender id, expected 0x42, is {sender_id}" ); assert_eq!( - msg.signed_messages[101], 5, - "incorrect value for signed_messages[101], expected 5, is {}", - msg.signed_messages[101] + msg.certificate_id[0], 1, + "incorrect value for certificate_id[0], expected 1, is {}", + msg.certificate_id[0] ); assert_eq!( - msg.signed_messages[102], 22, - "incorrect value for signed_messages[102], expected 22, is {}", - msg.signed_messages[102] + msg.certificate_id[1], 2, + "incorrect value for certificate_id[1], expected 2, is {}", + msg.certificate_id[1] ); assert_eq!( - msg.signed_messages[103], 24, - "incorrect value for signed_messages[103], expected 24, is {}", - msg.signed_messages[103] + msg.certificate_id[2], 3, + "incorrect value for certificate_id[2], expected 3, is {}", + msg.certificate_id[2] ); assert_eq!( - msg.signed_messages[104], 162, - "incorrect value for signed_messages[104], expected 162, is {}", - msg.signed_messages[104] + msg.certificate_id[3], 4, + "incorrect value for certificate_id[3], expected 4, is {}", + msg.certificate_id[3] ); assert_eq!( - msg.signed_messages[105], 175, - "incorrect value for signed_messages[105], expected 175, is {}", - msg.signed_messages[105] + msg.flags, 0, + "incorrect value for flags, expected 0, is {}", + msg.flags ); assert_eq!( - msg.signed_messages[106], 38, - "incorrect value for signed_messages[106], expected 38, is {}", - msg.signed_messages[106] + msg.n_signature_bytes, 73, + "incorrect value for n_signature_bytes, expected 73, is {}", + msg.n_signature_bytes ); assert_eq!( - msg.signed_messages[107], 157, - "incorrect value for signed_messages[107], expected 157, is {}", - msg.signed_messages[107] + msg.on_demand_counter, 2, + "incorrect value for on_demand_counter, expected 2, is {}", + msg.on_demand_counter ); assert_eq!( - msg.signed_messages[108], 98, - "incorrect value for signed_messages[108], expected 98, is {}", - msg.signed_messages[108] - ); - assert_eq!( - msg.signed_messages[109], 44, - "incorrect value for signed_messages[109], expected 44, is {}", - msg.signed_messages[109] - ); - assert_eq!( - msg.signed_messages[110], 160, - "incorrect value for signed_messages[110], expected 160, is {}", - msg.signed_messages[110] - ); - assert_eq!( - msg.signed_messages[111], 47, - "incorrect value for signed_messages[111], expected 47, is {}", - msg.signed_messages[111] - ); - assert_eq!( - msg.signed_messages[112], 97, - "incorrect value for signed_messages[112], expected 97, is {}", - msg.signed_messages[112] - ); - assert_eq!( - msg.signed_messages[113], 142, - "incorrect value for signed_messages[113], expected 142, is {}", - msg.signed_messages[113] - ); - assert_eq!( - msg.signed_messages[114], 8, - "incorrect value for signed_messages[114], expected 8, is {}", - msg.signed_messages[114] - ); - assert_eq!( - msg.signed_messages[115], 74, - "incorrect value for signed_messages[115], expected 74, is {}", - msg.signed_messages[115] - ); - assert_eq!( - msg.signed_messages[116], 13, - "incorrect value for signed_messages[116], expected 13, is {}", - msg.signed_messages[116] - ); - assert_eq!( - msg.signed_messages[117], 177, - "incorrect value for signed_messages[117], expected 177, is {}", - msg.signed_messages[117] - ); - assert_eq!( - msg.signed_messages[118], 15, - "incorrect value for signed_messages[118], expected 15, is {}", - msg.signed_messages[118] - ); - assert_eq!( - msg.signed_messages[119], 128, - "incorrect value for signed_messages[119], expected 128, is {}", - msg.signed_messages[119] - ); - assert_eq!( - msg.signed_messages[120], 26, - "incorrect value for signed_messages[120], expected 26, is {}", - msg.signed_messages[120] - ); - assert_eq!( - msg.signed_messages[121], 131, - "incorrect value for signed_messages[121], expected 131, is {}", - msg.signed_messages[121] - ); - assert_eq!( - msg.signed_messages[122], 154, - "incorrect value for signed_messages[122], expected 154, is {}", - msg.signed_messages[122] - ); - assert_eq!( - msg.signed_messages[123], 65, - "incorrect value for signed_messages[123], expected 65, is {}", - msg.signed_messages[123] - ); - assert_eq!( - msg.signed_messages[124], 169, - "incorrect value for signed_messages[124], expected 169, is {}", - msg.signed_messages[124] - ); - assert_eq!( - msg.signed_messages[125], 55, - "incorrect value for signed_messages[125], expected 55, is {}", - msg.signed_messages[125] - ); - assert_eq!( - msg.signed_messages[126], 136, - "incorrect value for signed_messages[126], expected 136, is {}", - msg.signed_messages[126] - ); - assert_eq!( - msg.signed_messages[127], 125, - "incorrect value for signed_messages[127], expected 125, is {}", - msg.signed_messages[127] - ); - assert_eq!( - msg.signed_messages[128], 171, - "incorrect value for signed_messages[128], expected 171, is {}", - msg.signed_messages[128] - ); - assert_eq!( - msg.signed_messages[129], 161, - "incorrect value for signed_messages[129], expected 161, is {}", - msg.signed_messages[129] - ); - assert_eq!( - msg.signed_messages[130], 29, - "incorrect value for signed_messages[130], expected 29, is {}", - msg.signed_messages[130] - ); - assert_eq!( - msg.signed_messages[131], 129, - "incorrect value for signed_messages[131], expected 129, is {}", - msg.signed_messages[131] - ); - assert_eq!( - msg.signed_messages[132], 151, - "incorrect value for signed_messages[132], expected 151, is {}", - msg.signed_messages[132] - ); - assert_eq!( - msg.signed_messages[133], 68, - "incorrect value for signed_messages[133], expected 68, is {}", - msg.signed_messages[133] - ); - assert_eq!( - msg.signed_messages[134], 166, - "incorrect value for signed_messages[134], expected 166, is {}", - msg.signed_messages[134] - ); - assert_eq!( - msg.signed_messages[135], 51, - "incorrect value for signed_messages[135], expected 51, is {}", - msg.signed_messages[135] - ); - assert_eq!( - msg.signed_messages[136], 70, - "incorrect value for signed_messages[136], expected 70, is {}", - msg.signed_messages[136] - ); - assert_eq!( - msg.signed_messages[137], 45, - "incorrect value for signed_messages[137], expected 45, is {}", - msg.signed_messages[137] - ); - assert_eq!( - msg.signed_messages[138], 56, - "incorrect value for signed_messages[138], expected 56, is {}", - msg.signed_messages[138] - ); - assert_eq!( - msg.signed_messages[139], 79, - "incorrect value for signed_messages[139], expected 79, is {}", - msg.signed_messages[139] - ); - assert_eq!( - msg.signed_messages[140], 149, - "incorrect value for signed_messages[140], expected 149, is {}", - msg.signed_messages[140] - ); - assert_eq!( - msg.signed_messages[141], 99, - "incorrect value for signed_messages[141], expected 99, is {}", - msg.signed_messages[141] - ); - assert_eq!( - msg.signed_messages[142], 42, - "incorrect value for signed_messages[142], expected 42, is {}", - msg.signed_messages[142] - ); - assert_eq!( - msg.signed_messages[143], 101, - "incorrect value for signed_messages[143], expected 101, is {}", - msg.signed_messages[143] - ); - assert_eq!( - msg.signed_messages[144], 152, - "incorrect value for signed_messages[144], expected 152, is {}", - msg.signed_messages[144] - ); - assert_eq!( - msg.signed_messages[145], 39, - "incorrect value for signed_messages[145], expected 39, is {}", - msg.signed_messages[145] - ); - assert_eq!( - msg.signed_messages[146], 89, - "incorrect value for signed_messages[146], expected 89, is {}", - msg.signed_messages[146] - ); - assert_eq!( - msg.signed_messages[147], 180, - "incorrect value for signed_messages[147], expected 180, is {}", - msg.signed_messages[147] - ); - assert_eq!( - msg.signed_messages[148], 64, - "incorrect value for signed_messages[148], expected 64, is {}", - msg.signed_messages[148] - ); - assert_eq!( - msg.signed_messages[149], 49, - "incorrect value for signed_messages[149], expected 49, is {}", - msg.signed_messages[149] - ); - assert_eq!( - msg.signed_messages[150], 6, - "incorrect value for signed_messages[150], expected 6, is {}", - msg.signed_messages[150] - ); - assert_eq!( - msg.signed_messages[151], 80, - "incorrect value for signed_messages[151], expected 80, is {}", - msg.signed_messages[151] - ); - assert_eq!( - msg.signed_messages[152], 172, - "incorrect value for signed_messages[152], expected 172, is {}", - msg.signed_messages[152] - ); - assert_eq!( - msg.signed_messages[153], 32, - "incorrect value for signed_messages[153], expected 32, is {}", - msg.signed_messages[153] - ); - assert_eq!( - msg.signed_messages[154], 109, - "incorrect value for signed_messages[154], expected 109, is {}", - msg.signed_messages[154] - ); - assert_eq!( - msg.signed_messages[155], 2, - "incorrect value for signed_messages[155], expected 2, is {}", - msg.signed_messages[155] - ); - assert_eq!( - msg.signed_messages[156], 119, - "incorrect value for signed_messages[156], expected 119, is {}", - msg.signed_messages[156] - ); - assert_eq!( - msg.signed_messages[157], 93, - "incorrect value for signed_messages[157], expected 93, is {}", - msg.signed_messages[157] - ); - assert_eq!( - msg.signed_messages[158], 176, - "incorrect value for signed_messages[158], expected 176, is {}", - msg.signed_messages[158] - ); - assert_eq!( - msg.signed_messages[159], 0, - "incorrect value for signed_messages[159], expected 0, is {}", - msg.signed_messages[159] - ); - assert_eq!( - msg.signed_messages[160], 33, - "incorrect value for signed_messages[160], expected 33, is {}", - msg.signed_messages[160] - ); - assert_eq!( - msg.signed_messages[161], 57, - "incorrect value for signed_messages[161], expected 57, is {}", - msg.signed_messages[161] - ); - assert_eq!( - msg.signed_messages[162], 34, - "incorrect value for signed_messages[162], expected 34, is {}", - msg.signed_messages[162] - ); - assert_eq!( - msg.signed_messages[163], 18, - "incorrect value for signed_messages[163], expected 18, is {}", - msg.signed_messages[163] - ); - assert_eq!( - msg.signed_messages[164], 85, - "incorrect value for signed_messages[164], expected 85, is {}", - msg.signed_messages[164] - ); - assert_eq!( - msg.signed_messages[165], 121, - "incorrect value for signed_messages[165], expected 121, is {}", - msg.signed_messages[165] - ); - assert_eq!( - msg.signed_messages[166], 137, - "incorrect value for signed_messages[166], expected 137, is {}", - msg.signed_messages[166] - ); - assert_eq!( - msg.signed_messages[167], 83, - "incorrect value for signed_messages[167], expected 83, is {}", - msg.signed_messages[167] - ); - assert_eq!( - msg.signed_messages[168], 111, - "incorrect value for signed_messages[168], expected 111, is {}", - msg.signed_messages[168] - ); - assert_eq!( - msg.signed_messages[169], 59, - "incorrect value for signed_messages[169], expected 59, is {}", - msg.signed_messages[169] - ); - assert_eq!( - msg.signed_messages[170], 7, - "incorrect value for signed_messages[170], expected 7, is {}", - msg.signed_messages[170] - ); - assert_eq!( - msg.signed_messages[171], 77, - "incorrect value for signed_messages[171], expected 77, is {}", - msg.signed_messages[171] - ); - assert_eq!( - msg.signed_messages[172], 4, - "incorrect value for signed_messages[172], expected 4, is {}", - msg.signed_messages[172] - ); - assert_eq!( - msg.signed_messages[173], 117, - "incorrect value for signed_messages[173], expected 117, is {}", - msg.signed_messages[173] - ); - assert_eq!( - msg.signed_messages[174], 159, - "incorrect value for signed_messages[174], expected 159, is {}", - msg.signed_messages[174] - ); - assert_eq!( - msg.signed_messages[175], 148, - "incorrect value for signed_messages[175], expected 148, is {}", - msg.signed_messages[175] - ); - assert_eq!( - msg.signed_messages[176], 35, - "incorrect value for signed_messages[176], expected 35, is {}", - msg.signed_messages[176] - ); - assert_eq!( - msg.signed_messages[177], 61, - "incorrect value for signed_messages[177], expected 61, is {}", - msg.signed_messages[177] - ); - assert_eq!( - msg.signed_messages[178], 41, - "incorrect value for signed_messages[178], expected 41, is {}", - msg.signed_messages[178] - ); - assert_eq!( - msg.signed_messages[179], 67, - "incorrect value for signed_messages[179], expected 67, is {}", - msg.signed_messages[179] - ); - assert_eq!( - msg.signed_messages[180], 46, - "incorrect value for signed_messages[180], expected 46, is {}", - msg.signed_messages[180] - ); - assert_eq!( - msg.signed_messages[181], 127, - "incorrect value for signed_messages[181], expected 127, is {}", - msg.signed_messages[181] - ); - assert_eq!( - msg.signed_messages[182], 75, - "incorrect value for signed_messages[182], expected 75, is {}", - msg.signed_messages[182] - ); - assert_eq!( - msg.signed_messages[183], 174, - "incorrect value for signed_messages[183], expected 174, is {}", - msg.signed_messages[183] - ); - assert_eq!( - msg.stream_counter, 1, - "incorrect value for stream_counter, expected 1, is {}", - msg.stream_counter - ); - } - _ => panic!("Invalid message type! Expected a MsgEcdsaSignature"), - }; - let frame = sbp::to_vec(&sbp_msg).unwrap(); - assert_eq!(frame, payload.into_inner()); - } -} - -/// Tests [`sbp::json::iter_messages`] for JSON payload -> SBP message -/// and [`sbp::json::iter_messages_from_fields`] for JSON fields -> SBP message. -/// -/// Asserts: -/// - SBP message constructed via payload is identical to from fields -/// - SBP fields equates to that of the field -/// - Payload is identical -#[test] -#[cfg(feature = "json")] -fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { - { - let json_input = r#"{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 255, "payload": "AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu", "crc": 44129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": [1, 2, 3, 4], "signature": [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7], "signed_messages": [10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, 174]}"#.as_bytes(); - - let sbp_msg = { - // JSON to SBP message from payload - let mut iter = json2sbp_iter_msg(json_input); - let from_payload = iter - .next() - .expect("no message found") - .expect("failed to parse message"); - - // JSON to SBP message from fields - let mut iter = iter_messages_from_fields(json_input); - let from_fields = iter - .next() - .expect("no message found") - .expect("failed to parse message"); - - assert_eq!(from_fields, from_payload); - from_fields - }; - match &sbp_msg { - sbp::messages::Sbp::MsgEcdsaSignature(msg) => { - assert_eq!( - msg.message_type(), - 0xC06, - "Incorrect message type, expected 0xC06, is {}", - msg.message_type() - ); - let sender_id = msg.sender_id().unwrap(); - assert_eq!( - sender_id, 0x42, - "incorrect sender id, expected 0x42, is {sender_id}" - ); - assert_eq!( - msg.certificate_id[0], 1, - "incorrect value for certificate_id[0], expected 1, is {}", - msg.certificate_id[0] - ); - assert_eq!( - msg.certificate_id[1], 2, - "incorrect value for certificate_id[1], expected 2, is {}", - msg.certificate_id[1] - ); - assert_eq!( - msg.certificate_id[2], 3, - "incorrect value for certificate_id[2], expected 3, is {}", - msg.certificate_id[2] - ); - assert_eq!( - msg.certificate_id[3], 4, - "incorrect value for certificate_id[3], expected 4, is {}", - msg.certificate_id[3] - ); - assert_eq!( - msg.flags, 0, - "incorrect value for flags, expected 0, is {}", - msg.flags - ); - assert_eq!( - msg.on_demand_counter, 2, - "incorrect value for on_demand_counter, expected 2, is {}", - msg.on_demand_counter - ); - assert_eq!( - msg.signature[0], 0, - "incorrect value for signature[0], expected 0, is {}", - msg.signature[0] + msg.signature[0], 0, + "incorrect value for signature[0], expected 0, is {}", + msg.signature[0] ); assert_eq!( msg.signature[1], 1, @@ -1455,2550 +1080,344 @@ fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { msg.signature[7] ); assert_eq!( - msg.signature[8], 0, - "incorrect value for signature[8], expected 0, is {}", + msg.signature[8], 8, + "incorrect value for signature[8], expected 8, is {}", msg.signature[8] ); assert_eq!( - msg.signature[9], 1, - "incorrect value for signature[9], expected 1, is {}", + msg.signature[9], 9, + "incorrect value for signature[9], expected 9, is {}", msg.signature[9] ); assert_eq!( - msg.signature[10], 2, - "incorrect value for signature[10], expected 2, is {}", + msg.signature[10], 10, + "incorrect value for signature[10], expected 10, is {}", msg.signature[10] ); assert_eq!( - msg.signature[11], 3, - "incorrect value for signature[11], expected 3, is {}", + msg.signature[11], 11, + "incorrect value for signature[11], expected 11, is {}", msg.signature[11] ); assert_eq!( - msg.signature[12], 4, - "incorrect value for signature[12], expected 4, is {}", + msg.signature[12], 12, + "incorrect value for signature[12], expected 12, is {}", msg.signature[12] ); assert_eq!( - msg.signature[13], 5, - "incorrect value for signature[13], expected 5, is {}", + msg.signature[13], 13, + "incorrect value for signature[13], expected 13, is {}", msg.signature[13] ); assert_eq!( - msg.signature[14], 6, - "incorrect value for signature[14], expected 6, is {}", + msg.signature[14], 14, + "incorrect value for signature[14], expected 14, is {}", msg.signature[14] ); assert_eq!( - msg.signature[15], 7, - "incorrect value for signature[15], expected 7, is {}", + msg.signature[15], 15, + "incorrect value for signature[15], expected 15, is {}", msg.signature[15] ); assert_eq!( - msg.signature[16], 0, - "incorrect value for signature[16], expected 0, is {}", + msg.signature[16], 16, + "incorrect value for signature[16], expected 16, is {}", msg.signature[16] ); assert_eq!( - msg.signature[17], 1, - "incorrect value for signature[17], expected 1, is {}", + msg.signature[17], 17, + "incorrect value for signature[17], expected 17, is {}", msg.signature[17] ); assert_eq!( - msg.signature[18], 2, - "incorrect value for signature[18], expected 2, is {}", + msg.signature[18], 18, + "incorrect value for signature[18], expected 18, is {}", msg.signature[18] ); assert_eq!( - msg.signature[19], 3, - "incorrect value for signature[19], expected 3, is {}", + msg.signature[19], 19, + "incorrect value for signature[19], expected 19, is {}", msg.signature[19] ); assert_eq!( - msg.signature[20], 4, - "incorrect value for signature[20], expected 4, is {}", + msg.signature[20], 20, + "incorrect value for signature[20], expected 20, is {}", msg.signature[20] ); assert_eq!( - msg.signature[21], 5, - "incorrect value for signature[21], expected 5, is {}", + msg.signature[21], 21, + "incorrect value for signature[21], expected 21, is {}", msg.signature[21] ); assert_eq!( - msg.signature[22], 6, - "incorrect value for signature[22], expected 6, is {}", + msg.signature[22], 22, + "incorrect value for signature[22], expected 22, is {}", msg.signature[22] ); assert_eq!( - msg.signature[23], 7, - "incorrect value for signature[23], expected 7, is {}", + msg.signature[23], 23, + "incorrect value for signature[23], expected 23, is {}", msg.signature[23] ); assert_eq!( - msg.signature[24], 0, - "incorrect value for signature[24], expected 0, is {}", + msg.signature[24], 24, + "incorrect value for signature[24], expected 24, is {}", msg.signature[24] ); assert_eq!( - msg.signature[25], 1, - "incorrect value for signature[25], expected 1, is {}", + msg.signature[25], 25, + "incorrect value for signature[25], expected 25, is {}", msg.signature[25] ); assert_eq!( - msg.signature[26], 2, - "incorrect value for signature[26], expected 2, is {}", + msg.signature[26], 26, + "incorrect value for signature[26], expected 26, is {}", msg.signature[26] ); assert_eq!( - msg.signature[27], 3, - "incorrect value for signature[27], expected 3, is {}", + msg.signature[27], 27, + "incorrect value for signature[27], expected 27, is {}", msg.signature[27] ); assert_eq!( - msg.signature[28], 4, - "incorrect value for signature[28], expected 4, is {}", + msg.signature[28], 28, + "incorrect value for signature[28], expected 28, is {}", msg.signature[28] ); assert_eq!( - msg.signature[29], 5, - "incorrect value for signature[29], expected 5, is {}", + msg.signature[29], 29, + "incorrect value for signature[29], expected 29, is {}", msg.signature[29] ); assert_eq!( - msg.signature[30], 6, - "incorrect value for signature[30], expected 6, is {}", + msg.signature[30], 30, + "incorrect value for signature[30], expected 30, is {}", msg.signature[30] ); assert_eq!( - msg.signature[31], 7, - "incorrect value for signature[31], expected 7, is {}", + msg.signature[31], 31, + "incorrect value for signature[31], expected 31, is {}", msg.signature[31] ); assert_eq!( - msg.signature[32], 0, - "incorrect value for signature[32], expected 0, is {}", + msg.signature[32], 32, + "incorrect value for signature[32], expected 32, is {}", msg.signature[32] ); assert_eq!( - msg.signature[33], 1, - "incorrect value for signature[33], expected 1, is {}", + msg.signature[33], 33, + "incorrect value for signature[33], expected 33, is {}", msg.signature[33] ); assert_eq!( - msg.signature[34], 2, - "incorrect value for signature[34], expected 2, is {}", + msg.signature[34], 34, + "incorrect value for signature[34], expected 34, is {}", msg.signature[34] ); assert_eq!( - msg.signature[35], 3, - "incorrect value for signature[35], expected 3, is {}", + msg.signature[35], 35, + "incorrect value for signature[35], expected 35, is {}", msg.signature[35] ); assert_eq!( - msg.signature[36], 4, - "incorrect value for signature[36], expected 4, is {}", + msg.signature[36], 36, + "incorrect value for signature[36], expected 36, is {}", msg.signature[36] ); assert_eq!( - msg.signature[37], 5, - "incorrect value for signature[37], expected 5, is {}", + msg.signature[37], 37, + "incorrect value for signature[37], expected 37, is {}", msg.signature[37] ); assert_eq!( - msg.signature[38], 6, - "incorrect value for signature[38], expected 6, is {}", + msg.signature[38], 38, + "incorrect value for signature[38], expected 38, is {}", msg.signature[38] ); assert_eq!( - msg.signature[39], 7, - "incorrect value for signature[39], expected 7, is {}", + msg.signature[39], 39, + "incorrect value for signature[39], expected 39, is {}", msg.signature[39] ); assert_eq!( - msg.signature[40], 0, - "incorrect value for signature[40], expected 0, is {}", + msg.signature[40], 40, + "incorrect value for signature[40], expected 40, is {}", msg.signature[40] ); assert_eq!( - msg.signature[41], 1, - "incorrect value for signature[41], expected 1, is {}", + msg.signature[41], 41, + "incorrect value for signature[41], expected 41, is {}", msg.signature[41] ); assert_eq!( - msg.signature[42], 2, - "incorrect value for signature[42], expected 2, is {}", + msg.signature[42], 42, + "incorrect value for signature[42], expected 42, is {}", msg.signature[42] ); assert_eq!( - msg.signature[43], 3, - "incorrect value for signature[43], expected 3, is {}", + msg.signature[43], 43, + "incorrect value for signature[43], expected 43, is {}", msg.signature[43] ); assert_eq!( - msg.signature[44], 4, - "incorrect value for signature[44], expected 4, is {}", + msg.signature[44], 44, + "incorrect value for signature[44], expected 44, is {}", msg.signature[44] ); assert_eq!( - msg.signature[45], 5, - "incorrect value for signature[45], expected 5, is {}", + msg.signature[45], 45, + "incorrect value for signature[45], expected 45, is {}", msg.signature[45] ); assert_eq!( - msg.signature[46], 6, - "incorrect value for signature[46], expected 6, is {}", + msg.signature[46], 46, + "incorrect value for signature[46], expected 46, is {}", msg.signature[46] ); assert_eq!( - msg.signature[47], 7, - "incorrect value for signature[47], expected 7, is {}", + msg.signature[47], 47, + "incorrect value for signature[47], expected 47, is {}", msg.signature[47] ); assert_eq!( - msg.signature[48], 0, - "incorrect value for signature[48], expected 0, is {}", + msg.signature[48], 48, + "incorrect value for signature[48], expected 48, is {}", msg.signature[48] ); assert_eq!( - msg.signature[49], 1, - "incorrect value for signature[49], expected 1, is {}", + msg.signature[49], 49, + "incorrect value for signature[49], expected 49, is {}", msg.signature[49] ); assert_eq!( - msg.signature[50], 2, - "incorrect value for signature[50], expected 2, is {}", + msg.signature[50], 50, + "incorrect value for signature[50], expected 50, is {}", msg.signature[50] ); assert_eq!( - msg.signature[51], 3, - "incorrect value for signature[51], expected 3, is {}", + msg.signature[51], 51, + "incorrect value for signature[51], expected 51, is {}", msg.signature[51] ); assert_eq!( - msg.signature[52], 4, - "incorrect value for signature[52], expected 4, is {}", + msg.signature[52], 52, + "incorrect value for signature[52], expected 52, is {}", msg.signature[52] ); assert_eq!( - msg.signature[53], 5, - "incorrect value for signature[53], expected 5, is {}", + msg.signature[53], 53, + "incorrect value for signature[53], expected 53, is {}", msg.signature[53] ); assert_eq!( - msg.signature[54], 6, - "incorrect value for signature[54], expected 6, is {}", + msg.signature[54], 54, + "incorrect value for signature[54], expected 54, is {}", msg.signature[54] ); assert_eq!( - msg.signature[55], 7, - "incorrect value for signature[55], expected 7, is {}", + msg.signature[55], 55, + "incorrect value for signature[55], expected 55, is {}", msg.signature[55] ); assert_eq!( - msg.signature[56], 0, - "incorrect value for signature[56], expected 0, is {}", + msg.signature[56], 56, + "incorrect value for signature[56], expected 56, is {}", msg.signature[56] ); assert_eq!( - msg.signature[57], 1, - "incorrect value for signature[57], expected 1, is {}", + msg.signature[57], 57, + "incorrect value for signature[57], expected 57, is {}", msg.signature[57] ); assert_eq!( - msg.signature[58], 2, - "incorrect value for signature[58], expected 2, is {}", + msg.signature[58], 58, + "incorrect value for signature[58], expected 58, is {}", msg.signature[58] ); assert_eq!( - msg.signature[59], 3, - "incorrect value for signature[59], expected 3, is {}", + msg.signature[59], 59, + "incorrect value for signature[59], expected 59, is {}", msg.signature[59] ); assert_eq!( - msg.signature[60], 4, - "incorrect value for signature[60], expected 4, is {}", + msg.signature[60], 60, + "incorrect value for signature[60], expected 60, is {}", msg.signature[60] ); assert_eq!( - msg.signature[61], 5, - "incorrect value for signature[61], expected 5, is {}", + msg.signature[61], 61, + "incorrect value for signature[61], expected 61, is {}", msg.signature[61] ); assert_eq!( - msg.signature[62], 6, - "incorrect value for signature[62], expected 6, is {}", + msg.signature[62], 62, + "incorrect value for signature[62], expected 62, is {}", msg.signature[62] ); assert_eq!( - msg.signature[63], 7, - "incorrect value for signature[63], expected 7, is {}", + msg.signature[63], 63, + "incorrect value for signature[63], expected 63, is {}", msg.signature[63] ); assert_eq!( - msg.signed_messages[0], 10, - "incorrect value for signed_messages[0], expected 10, is {}", - msg.signed_messages[0] + msg.signature[64], 64, + "incorrect value for signature[64], expected 64, is {}", + msg.signature[64] ); assert_eq!( - msg.signed_messages[1], 21, - "incorrect value for signed_messages[1], expected 21, is {}", - msg.signed_messages[1] + msg.signature[65], 65, + "incorrect value for signature[65], expected 65, is {}", + msg.signature[65] ); assert_eq!( - msg.signed_messages[2], 23, - "incorrect value for signed_messages[2], expected 23, is {}", - msg.signed_messages[2] + msg.signature[66], 66, + "incorrect value for signature[66], expected 66, is {}", + msg.signature[66] ); assert_eq!( - msg.signed_messages[3], 63, - "incorrect value for signed_messages[3], expected 63, is {}", - msg.signed_messages[3] + msg.signature[67], 67, + "incorrect value for signature[67], expected 67, is {}", + msg.signature[67] ); assert_eq!( - msg.signed_messages[4], 140, - "incorrect value for signed_messages[4], expected 140, is {}", - msg.signed_messages[4] + msg.signature[68], 68, + "incorrect value for signature[68], expected 68, is {}", + msg.signature[68] ); assert_eq!( - msg.signed_messages[5], 37, - "incorrect value for signed_messages[5], expected 37, is {}", - msg.signed_messages[5] + msg.signature[69], 69, + "incorrect value for signature[69], expected 69, is {}", + msg.signature[69] ); assert_eq!( - msg.signed_messages[6], 130, - "incorrect value for signed_messages[6], expected 130, is {}", - msg.signed_messages[6] + msg.signature[70], 70, + "incorrect value for signature[70], expected 70, is {}", + msg.signature[70] ); assert_eq!( - msg.signed_messages[7], 106, - "incorrect value for signed_messages[7], expected 106, is {}", - msg.signed_messages[7] + msg.signature[71], 71, + "incorrect value for signature[71], expected 71, is {}", + msg.signature[71] ); assert_eq!( - msg.signed_messages[8], 28, - "incorrect value for signed_messages[8], expected 28, is {}", - msg.signed_messages[8] + msg.signature[72], 72, + "incorrect value for signature[72], expected 72, is {}", + msg.signature[72] ); assert_eq!( - msg.signed_messages[9], 40, - "incorrect value for signed_messages[9], expected 40, is {}", - msg.signed_messages[9] + msg.signed_messages[0], 10, + "incorrect value for signed_messages[0], expected 10, is {}", + msg.signed_messages[0] ); assert_eq!( - msg.signed_messages[10], 165, - "incorrect value for signed_messages[10], expected 165, is {}", - msg.signed_messages[10] + msg.signed_messages[1], 21, + "incorrect value for signed_messages[1], expected 21, is {}", + msg.signed_messages[1] ); assert_eq!( - msg.signed_messages[11], 179, - "incorrect value for signed_messages[11], expected 179, is {}", - msg.signed_messages[11] - ); - assert_eq!( - msg.signed_messages[12], 73, - "incorrect value for signed_messages[12], expected 73, is {}", - msg.signed_messages[12] - ); - assert_eq!( - msg.signed_messages[13], 178, - "incorrect value for signed_messages[13], expected 178, is {}", - msg.signed_messages[13] - ); - assert_eq!( - msg.signed_messages[14], 60, - "incorrect value for signed_messages[14], expected 60, is {}", - msg.signed_messages[14] - ); - assert_eq!( - msg.signed_messages[15], 126, - "incorrect value for signed_messages[15], expected 126, is {}", - msg.signed_messages[15] - ); - assert_eq!( - msg.signed_messages[16], 114, - "incorrect value for signed_messages[16], expected 114, is {}", - msg.signed_messages[16] - ); - assert_eq!( - msg.signed_messages[17], 78, - "incorrect value for signed_messages[17], expected 78, is {}", - msg.signed_messages[17] - ); - assert_eq!( - msg.signed_messages[18], 113, - "incorrect value for signed_messages[18], expected 113, is {}", - msg.signed_messages[18] - ); - assert_eq!( - msg.signed_messages[19], 27, - "incorrect value for signed_messages[19], expected 27, is {}", - msg.signed_messages[19] - ); - assert_eq!( - msg.signed_messages[20], 95, - "incorrect value for signed_messages[20], expected 95, is {}", - msg.signed_messages[20] - ); - assert_eq!( - msg.signed_messages[21], 3, - "incorrect value for signed_messages[21], expected 3, is {}", - msg.signed_messages[21] - ); - assert_eq!( - msg.signed_messages[22], 62, - "incorrect value for signed_messages[22], expected 62, is {}", - msg.signed_messages[22] - ); - assert_eq!( - msg.signed_messages[23], 104, - "incorrect value for signed_messages[23], expected 104, is {}", - msg.signed_messages[23] - ); - assert_eq!( - msg.signed_messages[24], 145, - "incorrect value for signed_messages[24], expected 145, is {}", - msg.signed_messages[24] - ); - assert_eq!( - msg.signed_messages[25], 96, - "incorrect value for signed_messages[25], expected 96, is {}", - msg.signed_messages[25] - ); - assert_eq!( - msg.signed_messages[26], 19, - "incorrect value for signed_messages[26], expected 19, is {}", - msg.signed_messages[26] - ); - assert_eq!( - msg.signed_messages[27], 92, - "incorrect value for signed_messages[27], expected 92, is {}", - msg.signed_messages[27] - ); - assert_eq!( - msg.signed_messages[28], 123, - "incorrect value for signed_messages[28], expected 123, is {}", - msg.signed_messages[28] - ); - assert_eq!( - msg.signed_messages[29], 14, - "incorrect value for signed_messages[29], expected 14, is {}", - msg.signed_messages[29] - ); - assert_eq!( - msg.signed_messages[30], 90, - "incorrect value for signed_messages[30], expected 90, is {}", - msg.signed_messages[30] - ); - assert_eq!( - msg.signed_messages[31], 153, - "incorrect value for signed_messages[31], expected 153, is {}", - msg.signed_messages[31] - ); - assert_eq!( - msg.signed_messages[32], 183, - "incorrect value for signed_messages[32], expected 183, is {}", - msg.signed_messages[32] - ); - assert_eq!( - msg.signed_messages[33], 9, - "incorrect value for signed_messages[33], expected 9, is {}", - msg.signed_messages[33] - ); - assert_eq!( - msg.signed_messages[34], 72, - "incorrect value for signed_messages[34], expected 72, is {}", - msg.signed_messages[34] - ); - assert_eq!( - msg.signed_messages[35], 81, - "incorrect value for signed_messages[35], expected 81, is {}", - msg.signed_messages[35] - ); - assert_eq!( - msg.signed_messages[36], 118, - "incorrect value for signed_messages[36], expected 118, is {}", - msg.signed_messages[36] - ); - assert_eq!( - msg.signed_messages[37], 112, - "incorrect value for signed_messages[37], expected 112, is {}", - msg.signed_messages[37] - ); - assert_eq!( - msg.signed_messages[38], 124, - "incorrect value for signed_messages[38], expected 124, is {}", - msg.signed_messages[38] - ); - assert_eq!( - msg.signed_messages[39], 16, - "incorrect value for signed_messages[39], expected 16, is {}", - msg.signed_messages[39] - ); - assert_eq!( - msg.signed_messages[40], 182, - "incorrect value for signed_messages[40], expected 182, is {}", - msg.signed_messages[40] - ); - assert_eq!( - msg.signed_messages[41], 76, - "incorrect value for signed_messages[41], expected 76, is {}", - msg.signed_messages[41] - ); - assert_eq!( - msg.signed_messages[42], 146, - "incorrect value for signed_messages[42], expected 146, is {}", - msg.signed_messages[42] - ); - assert_eq!( - msg.signed_messages[43], 115, - "incorrect value for signed_messages[43], expected 115, is {}", - msg.signed_messages[43] - ); - assert_eq!( - msg.signed_messages[44], 58, - "incorrect value for signed_messages[44], expected 58, is {}", - msg.signed_messages[44] - ); - assert_eq!( - msg.signed_messages[45], 144, - "incorrect value for signed_messages[45], expected 144, is {}", - msg.signed_messages[45] - ); - assert_eq!( - msg.signed_messages[46], 17, - "incorrect value for signed_messages[46], expected 17, is {}", - msg.signed_messages[46] - ); - assert_eq!( - msg.signed_messages[47], 105, - "incorrect value for signed_messages[47], expected 105, is {}", - msg.signed_messages[47] - ); - assert_eq!( - msg.signed_messages[48], 66, - "incorrect value for signed_messages[48], expected 66, is {}", - msg.signed_messages[48] - ); - assert_eq!( - msg.signed_messages[49], 31, - "incorrect value for signed_messages[49], expected 31, is {}", - msg.signed_messages[49] - ); - assert_eq!( - msg.signed_messages[50], 135, - "incorrect value for signed_messages[50], expected 135, is {}", - msg.signed_messages[50] - ); - assert_eq!( - msg.signed_messages[51], 54, - "incorrect value for signed_messages[51], expected 54, is {}", - msg.signed_messages[51] - ); - assert_eq!( - msg.signed_messages[52], 100, - "incorrect value for signed_messages[52], expected 100, is {}", - msg.signed_messages[52] - ); - assert_eq!( - msg.signed_messages[53], 84, - "incorrect value for signed_messages[53], expected 84, is {}", - msg.signed_messages[53] - ); - assert_eq!( - msg.signed_messages[54], 181, - "incorrect value for signed_messages[54], expected 181, is {}", - msg.signed_messages[54] - ); - assert_eq!( - msg.signed_messages[55], 103, - "incorrect value for signed_messages[55], expected 103, is {}", - msg.signed_messages[55] - ); - assert_eq!( - msg.signed_messages[56], 11, - "incorrect value for signed_messages[56], expected 11, is {}", - msg.signed_messages[56] - ); - assert_eq!( - msg.signed_messages[57], 88, - "incorrect value for signed_messages[57], expected 88, is {}", - msg.signed_messages[57] - ); - assert_eq!( - msg.signed_messages[58], 133, - "incorrect value for signed_messages[58], expected 133, is {}", - msg.signed_messages[58] - ); - assert_eq!( - msg.signed_messages[59], 155, - "incorrect value for signed_messages[59], expected 155, is {}", - msg.signed_messages[59] - ); - assert_eq!( - msg.signed_messages[60], 167, - "incorrect value for signed_messages[60], expected 167, is {}", - msg.signed_messages[60] - ); - assert_eq!( - msg.signed_messages[61], 173, - "incorrect value for signed_messages[61], expected 173, is {}", - msg.signed_messages[61] - ); - assert_eq!( - msg.signed_messages[62], 143, - "incorrect value for signed_messages[62], expected 143, is {}", - msg.signed_messages[62] - ); - assert_eq!( - msg.signed_messages[63], 86, - "incorrect value for signed_messages[63], expected 86, is {}", - msg.signed_messages[63] - ); - assert_eq!( - msg.signed_messages[64], 158, - "incorrect value for signed_messages[64], expected 158, is {}", - msg.signed_messages[64] - ); - assert_eq!( - msg.signed_messages[65], 20, - "incorrect value for signed_messages[65], expected 20, is {}", - msg.signed_messages[65] - ); - assert_eq!( - msg.signed_messages[66], 168, - "incorrect value for signed_messages[66], expected 168, is {}", - msg.signed_messages[66] - ); - assert_eq!( - msg.signed_messages[67], 132, - "incorrect value for signed_messages[67], expected 132, is {}", - msg.signed_messages[67] - ); - assert_eq!( - msg.signed_messages[68], 141, - "incorrect value for signed_messages[68], expected 141, is {}", - msg.signed_messages[68] - ); - assert_eq!( - msg.signed_messages[69], 102, - "incorrect value for signed_messages[69], expected 102, is {}", - msg.signed_messages[69] - ); - assert_eq!( - msg.signed_messages[70], 50, - "incorrect value for signed_messages[70], expected 50, is {}", - msg.signed_messages[70] - ); - assert_eq!( - msg.signed_messages[71], 48, - "incorrect value for signed_messages[71], expected 48, is {}", - msg.signed_messages[71] - ); - assert_eq!( - msg.signed_messages[72], 71, - "incorrect value for signed_messages[72], expected 71, is {}", - msg.signed_messages[72] - ); - assert_eq!( - msg.signed_messages[73], 147, - "incorrect value for signed_messages[73], expected 147, is {}", - msg.signed_messages[73] - ); - assert_eq!( - msg.signed_messages[74], 53, - "incorrect value for signed_messages[74], expected 53, is {}", - msg.signed_messages[74] - ); - assert_eq!( - msg.signed_messages[75], 87, - "incorrect value for signed_messages[75], expected 87, is {}", - msg.signed_messages[75] - ); - assert_eq!( - msg.signed_messages[76], 1, - "incorrect value for signed_messages[76], expected 1, is {}", - msg.signed_messages[76] - ); - assert_eq!( - msg.signed_messages[77], 108, - "incorrect value for signed_messages[77], expected 108, is {}", - msg.signed_messages[77] - ); - assert_eq!( - msg.signed_messages[78], 138, - "incorrect value for signed_messages[78], expected 138, is {}", - msg.signed_messages[78] - ); - assert_eq!( - msg.signed_messages[79], 36, - "incorrect value for signed_messages[79], expected 36, is {}", - msg.signed_messages[79] - ); - assert_eq!( - msg.signed_messages[80], 134, - "incorrect value for signed_messages[80], expected 134, is {}", - msg.signed_messages[80] - ); - assert_eq!( - msg.signed_messages[81], 139, - "incorrect value for signed_messages[81], expected 139, is {}", - msg.signed_messages[81] - ); - assert_eq!( - msg.signed_messages[82], 163, - "incorrect value for signed_messages[82], expected 163, is {}", - msg.signed_messages[82] - ); - assert_eq!( - msg.signed_messages[83], 82, - "incorrect value for signed_messages[83], expected 82, is {}", - msg.signed_messages[83] - ); - assert_eq!( - msg.signed_messages[84], 43, - "incorrect value for signed_messages[84], expected 43, is {}", - msg.signed_messages[84] - ); - assert_eq!( - msg.signed_messages[85], 52, - "incorrect value for signed_messages[85], expected 52, is {}", - msg.signed_messages[85] - ); - assert_eq!( - msg.signed_messages[86], 150, - "incorrect value for signed_messages[86], expected 150, is {}", - msg.signed_messages[86] - ); - assert_eq!( - msg.signed_messages[87], 12, - "incorrect value for signed_messages[87], expected 12, is {}", - msg.signed_messages[87] - ); - assert_eq!( - msg.signed_messages[88], 30, - "incorrect value for signed_messages[88], expected 30, is {}", - msg.signed_messages[88] - ); - assert_eq!( - msg.signed_messages[89], 110, - "incorrect value for signed_messages[89], expected 110, is {}", - msg.signed_messages[89] - ); - assert_eq!( - msg.signed_messages[90], 156, - "incorrect value for signed_messages[90], expected 156, is {}", - msg.signed_messages[90] - ); - assert_eq!( - msg.signed_messages[91], 107, - "incorrect value for signed_messages[91], expected 107, is {}", - msg.signed_messages[91] - ); - assert_eq!( - msg.signed_messages[92], 120, - "incorrect value for signed_messages[92], expected 120, is {}", - msg.signed_messages[92] - ); - assert_eq!( - msg.signed_messages[93], 91, - "incorrect value for signed_messages[93], expected 91, is {}", - msg.signed_messages[93] - ); - assert_eq!( - msg.signed_messages[94], 122, - "incorrect value for signed_messages[94], expected 122, is {}", - msg.signed_messages[94] - ); - assert_eq!( - msg.signed_messages[95], 69, - "incorrect value for signed_messages[95], expected 69, is {}", - msg.signed_messages[95] - ); - assert_eq!( - msg.signed_messages[96], 164, - "incorrect value for signed_messages[96], expected 164, is {}", - msg.signed_messages[96] - ); - assert_eq!( - msg.signed_messages[97], 170, - "incorrect value for signed_messages[97], expected 170, is {}", - msg.signed_messages[97] - ); - assert_eq!( - msg.signed_messages[98], 116, - "incorrect value for signed_messages[98], expected 116, is {}", - msg.signed_messages[98] - ); - assert_eq!( - msg.signed_messages[99], 25, - "incorrect value for signed_messages[99], expected 25, is {}", - msg.signed_messages[99] - ); - assert_eq!( - msg.signed_messages[100], 94, - "incorrect value for signed_messages[100], expected 94, is {}", - msg.signed_messages[100] - ); - assert_eq!( - msg.signed_messages[101], 5, - "incorrect value for signed_messages[101], expected 5, is {}", - msg.signed_messages[101] - ); - assert_eq!( - msg.signed_messages[102], 22, - "incorrect value for signed_messages[102], expected 22, is {}", - msg.signed_messages[102] - ); - assert_eq!( - msg.signed_messages[103], 24, - "incorrect value for signed_messages[103], expected 24, is {}", - msg.signed_messages[103] - ); - assert_eq!( - msg.signed_messages[104], 162, - "incorrect value for signed_messages[104], expected 162, is {}", - msg.signed_messages[104] - ); - assert_eq!( - msg.signed_messages[105], 175, - "incorrect value for signed_messages[105], expected 175, is {}", - msg.signed_messages[105] - ); - assert_eq!( - msg.signed_messages[106], 38, - "incorrect value for signed_messages[106], expected 38, is {}", - msg.signed_messages[106] - ); - assert_eq!( - msg.signed_messages[107], 157, - "incorrect value for signed_messages[107], expected 157, is {}", - msg.signed_messages[107] - ); - assert_eq!( - msg.signed_messages[108], 98, - "incorrect value for signed_messages[108], expected 98, is {}", - msg.signed_messages[108] - ); - assert_eq!( - msg.signed_messages[109], 44, - "incorrect value for signed_messages[109], expected 44, is {}", - msg.signed_messages[109] - ); - assert_eq!( - msg.signed_messages[110], 160, - "incorrect value for signed_messages[110], expected 160, is {}", - msg.signed_messages[110] - ); - assert_eq!( - msg.signed_messages[111], 47, - "incorrect value for signed_messages[111], expected 47, is {}", - msg.signed_messages[111] - ); - assert_eq!( - msg.signed_messages[112], 97, - "incorrect value for signed_messages[112], expected 97, is {}", - msg.signed_messages[112] - ); - assert_eq!( - msg.signed_messages[113], 142, - "incorrect value for signed_messages[113], expected 142, is {}", - msg.signed_messages[113] - ); - assert_eq!( - msg.signed_messages[114], 8, - "incorrect value for signed_messages[114], expected 8, is {}", - msg.signed_messages[114] - ); - assert_eq!( - msg.signed_messages[115], 74, - "incorrect value for signed_messages[115], expected 74, is {}", - msg.signed_messages[115] - ); - assert_eq!( - msg.signed_messages[116], 13, - "incorrect value for signed_messages[116], expected 13, is {}", - msg.signed_messages[116] - ); - assert_eq!( - msg.signed_messages[117], 177, - "incorrect value for signed_messages[117], expected 177, is {}", - msg.signed_messages[117] - ); - assert_eq!( - msg.signed_messages[118], 15, - "incorrect value for signed_messages[118], expected 15, is {}", - msg.signed_messages[118] - ); - assert_eq!( - msg.signed_messages[119], 128, - "incorrect value for signed_messages[119], expected 128, is {}", - msg.signed_messages[119] - ); - assert_eq!( - msg.signed_messages[120], 26, - "incorrect value for signed_messages[120], expected 26, is {}", - msg.signed_messages[120] - ); - assert_eq!( - msg.signed_messages[121], 131, - "incorrect value for signed_messages[121], expected 131, is {}", - msg.signed_messages[121] - ); - assert_eq!( - msg.signed_messages[122], 154, - "incorrect value for signed_messages[122], expected 154, is {}", - msg.signed_messages[122] - ); - assert_eq!( - msg.signed_messages[123], 65, - "incorrect value for signed_messages[123], expected 65, is {}", - msg.signed_messages[123] - ); - assert_eq!( - msg.signed_messages[124], 169, - "incorrect value for signed_messages[124], expected 169, is {}", - msg.signed_messages[124] - ); - assert_eq!( - msg.signed_messages[125], 55, - "incorrect value for signed_messages[125], expected 55, is {}", - msg.signed_messages[125] - ); - assert_eq!( - msg.signed_messages[126], 136, - "incorrect value for signed_messages[126], expected 136, is {}", - msg.signed_messages[126] - ); - assert_eq!( - msg.signed_messages[127], 125, - "incorrect value for signed_messages[127], expected 125, is {}", - msg.signed_messages[127] - ); - assert_eq!( - msg.signed_messages[128], 171, - "incorrect value for signed_messages[128], expected 171, is {}", - msg.signed_messages[128] - ); - assert_eq!( - msg.signed_messages[129], 161, - "incorrect value for signed_messages[129], expected 161, is {}", - msg.signed_messages[129] - ); - assert_eq!( - msg.signed_messages[130], 29, - "incorrect value for signed_messages[130], expected 29, is {}", - msg.signed_messages[130] - ); - assert_eq!( - msg.signed_messages[131], 129, - "incorrect value for signed_messages[131], expected 129, is {}", - msg.signed_messages[131] - ); - assert_eq!( - msg.signed_messages[132], 151, - "incorrect value for signed_messages[132], expected 151, is {}", - msg.signed_messages[132] - ); - assert_eq!( - msg.signed_messages[133], 68, - "incorrect value for signed_messages[133], expected 68, is {}", - msg.signed_messages[133] - ); - assert_eq!( - msg.signed_messages[134], 166, - "incorrect value for signed_messages[134], expected 166, is {}", - msg.signed_messages[134] - ); - assert_eq!( - msg.signed_messages[135], 51, - "incorrect value for signed_messages[135], expected 51, is {}", - msg.signed_messages[135] - ); - assert_eq!( - msg.signed_messages[136], 70, - "incorrect value for signed_messages[136], expected 70, is {}", - msg.signed_messages[136] - ); - assert_eq!( - msg.signed_messages[137], 45, - "incorrect value for signed_messages[137], expected 45, is {}", - msg.signed_messages[137] - ); - assert_eq!( - msg.signed_messages[138], 56, - "incorrect value for signed_messages[138], expected 56, is {}", - msg.signed_messages[138] - ); - assert_eq!( - msg.signed_messages[139], 79, - "incorrect value for signed_messages[139], expected 79, is {}", - msg.signed_messages[139] - ); - assert_eq!( - msg.signed_messages[140], 149, - "incorrect value for signed_messages[140], expected 149, is {}", - msg.signed_messages[140] - ); - assert_eq!( - msg.signed_messages[141], 99, - "incorrect value for signed_messages[141], expected 99, is {}", - msg.signed_messages[141] - ); - assert_eq!( - msg.signed_messages[142], 42, - "incorrect value for signed_messages[142], expected 42, is {}", - msg.signed_messages[142] - ); - assert_eq!( - msg.signed_messages[143], 101, - "incorrect value for signed_messages[143], expected 101, is {}", - msg.signed_messages[143] - ); - assert_eq!( - msg.signed_messages[144], 152, - "incorrect value for signed_messages[144], expected 152, is {}", - msg.signed_messages[144] - ); - assert_eq!( - msg.signed_messages[145], 39, - "incorrect value for signed_messages[145], expected 39, is {}", - msg.signed_messages[145] - ); - assert_eq!( - msg.signed_messages[146], 89, - "incorrect value for signed_messages[146], expected 89, is {}", - msg.signed_messages[146] - ); - assert_eq!( - msg.signed_messages[147], 180, - "incorrect value for signed_messages[147], expected 180, is {}", - msg.signed_messages[147] - ); - assert_eq!( - msg.signed_messages[148], 64, - "incorrect value for signed_messages[148], expected 64, is {}", - msg.signed_messages[148] - ); - assert_eq!( - msg.signed_messages[149], 49, - "incorrect value for signed_messages[149], expected 49, is {}", - msg.signed_messages[149] - ); - assert_eq!( - msg.signed_messages[150], 6, - "incorrect value for signed_messages[150], expected 6, is {}", - msg.signed_messages[150] - ); - assert_eq!( - msg.signed_messages[151], 80, - "incorrect value for signed_messages[151], expected 80, is {}", - msg.signed_messages[151] - ); - assert_eq!( - msg.signed_messages[152], 172, - "incorrect value for signed_messages[152], expected 172, is {}", - msg.signed_messages[152] - ); - assert_eq!( - msg.signed_messages[153], 32, - "incorrect value for signed_messages[153], expected 32, is {}", - msg.signed_messages[153] - ); - assert_eq!( - msg.signed_messages[154], 109, - "incorrect value for signed_messages[154], expected 109, is {}", - msg.signed_messages[154] - ); - assert_eq!( - msg.signed_messages[155], 2, - "incorrect value for signed_messages[155], expected 2, is {}", - msg.signed_messages[155] - ); - assert_eq!( - msg.signed_messages[156], 119, - "incorrect value for signed_messages[156], expected 119, is {}", - msg.signed_messages[156] - ); - assert_eq!( - msg.signed_messages[157], 93, - "incorrect value for signed_messages[157], expected 93, is {}", - msg.signed_messages[157] - ); - assert_eq!( - msg.signed_messages[158], 176, - "incorrect value for signed_messages[158], expected 176, is {}", - msg.signed_messages[158] - ); - assert_eq!( - msg.signed_messages[159], 0, - "incorrect value for signed_messages[159], expected 0, is {}", - msg.signed_messages[159] - ); - assert_eq!( - msg.signed_messages[160], 33, - "incorrect value for signed_messages[160], expected 33, is {}", - msg.signed_messages[160] - ); - assert_eq!( - msg.signed_messages[161], 57, - "incorrect value for signed_messages[161], expected 57, is {}", - msg.signed_messages[161] - ); - assert_eq!( - msg.signed_messages[162], 34, - "incorrect value for signed_messages[162], expected 34, is {}", - msg.signed_messages[162] - ); - assert_eq!( - msg.signed_messages[163], 18, - "incorrect value for signed_messages[163], expected 18, is {}", - msg.signed_messages[163] - ); - assert_eq!( - msg.signed_messages[164], 85, - "incorrect value for signed_messages[164], expected 85, is {}", - msg.signed_messages[164] - ); - assert_eq!( - msg.signed_messages[165], 121, - "incorrect value for signed_messages[165], expected 121, is {}", - msg.signed_messages[165] - ); - assert_eq!( - msg.signed_messages[166], 137, - "incorrect value for signed_messages[166], expected 137, is {}", - msg.signed_messages[166] - ); - assert_eq!( - msg.signed_messages[167], 83, - "incorrect value for signed_messages[167], expected 83, is {}", - msg.signed_messages[167] - ); - assert_eq!( - msg.signed_messages[168], 111, - "incorrect value for signed_messages[168], expected 111, is {}", - msg.signed_messages[168] - ); - assert_eq!( - msg.signed_messages[169], 59, - "incorrect value for signed_messages[169], expected 59, is {}", - msg.signed_messages[169] - ); - assert_eq!( - msg.signed_messages[170], 7, - "incorrect value for signed_messages[170], expected 7, is {}", - msg.signed_messages[170] - ); - assert_eq!( - msg.signed_messages[171], 77, - "incorrect value for signed_messages[171], expected 77, is {}", - msg.signed_messages[171] - ); - assert_eq!( - msg.signed_messages[172], 4, - "incorrect value for signed_messages[172], expected 4, is {}", - msg.signed_messages[172] - ); - assert_eq!( - msg.signed_messages[173], 117, - "incorrect value for signed_messages[173], expected 117, is {}", - msg.signed_messages[173] - ); - assert_eq!( - msg.signed_messages[174], 159, - "incorrect value for signed_messages[174], expected 159, is {}", - msg.signed_messages[174] - ); - assert_eq!( - msg.signed_messages[175], 148, - "incorrect value for signed_messages[175], expected 148, is {}", - msg.signed_messages[175] - ); - assert_eq!( - msg.signed_messages[176], 35, - "incorrect value for signed_messages[176], expected 35, is {}", - msg.signed_messages[176] - ); - assert_eq!( - msg.signed_messages[177], 61, - "incorrect value for signed_messages[177], expected 61, is {}", - msg.signed_messages[177] - ); - assert_eq!( - msg.signed_messages[178], 41, - "incorrect value for signed_messages[178], expected 41, is {}", - msg.signed_messages[178] - ); - assert_eq!( - msg.signed_messages[179], 67, - "incorrect value for signed_messages[179], expected 67, is {}", - msg.signed_messages[179] - ); - assert_eq!( - msg.signed_messages[180], 46, - "incorrect value for signed_messages[180], expected 46, is {}", - msg.signed_messages[180] - ); - assert_eq!( - msg.signed_messages[181], 127, - "incorrect value for signed_messages[181], expected 127, is {}", - msg.signed_messages[181] - ); - assert_eq!( - msg.signed_messages[182], 75, - "incorrect value for signed_messages[182], expected 75, is {}", - msg.signed_messages[182] - ); - assert_eq!( - msg.signed_messages[183], 174, - "incorrect value for signed_messages[183], expected 174, is {}", - msg.signed_messages[183] - ); - assert_eq!( - msg.stream_counter, 1, - "incorrect value for stream_counter, expected 1, is {}", - msg.stream_counter - ); - } - _ => panic!("Invalid message type! Expected a MsgEcdsaSignature"), - }; - } -} - -/// Tests [`sbp::json::JsonEncoder`] for roundtrip SBP message -> JSON -/// -/// Assumes: -/// - [`self::test_auto_check_sbp_signing_msg_ecdsa_signature`] passes -/// -/// Asserts: -/// - SBP fields equates to that of the field -/// - Payload is identical -#[test] -#[cfg(feature = "json")] -fn test_sbp2json_auto_check_sbp_signing_msg_ecdsa_signature() { - { - let mut payload = Cursor::new(vec![ - 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, - 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, - 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, - 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, - 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, - 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, - 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, - 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, - 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, - 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, - 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, - 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, - 174, 97, 172, - ]); - - // Construct sbp message - let sbp_msg = { - let mut msgs = iter_messages(&mut payload); - msgs.next() - .expect("no message found") - .expect("failed to parse message") - }; - - let mut json_buffer = vec![]; - // Populate json buffer, CompactFormatter - sbp::json::JsonEncoder::new(&mut json_buffer, sbp::json::CompactFormatter {}) - .send(&sbp_msg) - .unwrap(); - - // Reconstruct Sbp message from json fields, roundtrip - let sbp_msg = sbp::messages::Sbp::MsgEcdsaSignature( - serde_json::from_str( - std::str::from_utf8(json_buffer.as_slice()) - .unwrap() - .to_string() - .as_str(), - ) - .unwrap(), - ); - match &sbp_msg { - sbp::messages::Sbp::MsgEcdsaSignature(msg) => { - assert_eq!( - msg.message_type(), - 0xC06, - "Incorrect message type, expected 0xC06, is {}", - msg.message_type() - ); - let sender_id = msg.sender_id().unwrap(); - assert_eq!( - sender_id, 0x42, - "incorrect sender id, expected 0x42, is {sender_id}" - ); - assert_eq!( - msg.certificate_id[0], 1, - "incorrect value for certificate_id[0], expected 1, is {}", - msg.certificate_id[0] - ); - assert_eq!( - msg.certificate_id[1], 2, - "incorrect value for certificate_id[1], expected 2, is {}", - msg.certificate_id[1] - ); - assert_eq!( - msg.certificate_id[2], 3, - "incorrect value for certificate_id[2], expected 3, is {}", - msg.certificate_id[2] - ); - assert_eq!( - msg.certificate_id[3], 4, - "incorrect value for certificate_id[3], expected 4, is {}", - msg.certificate_id[3] - ); - assert_eq!( - msg.flags, 0, - "incorrect value for flags, expected 0, is {}", - msg.flags - ); - assert_eq!( - msg.on_demand_counter, 2, - "incorrect value for on_demand_counter, expected 2, is {}", - msg.on_demand_counter - ); - assert_eq!( - msg.signature[0], 0, - "incorrect value for signature[0], expected 0, is {}", - msg.signature[0] - ); - assert_eq!( - msg.signature[1], 1, - "incorrect value for signature[1], expected 1, is {}", - msg.signature[1] - ); - assert_eq!( - msg.signature[2], 2, - "incorrect value for signature[2], expected 2, is {}", - msg.signature[2] - ); - assert_eq!( - msg.signature[3], 3, - "incorrect value for signature[3], expected 3, is {}", - msg.signature[3] - ); - assert_eq!( - msg.signature[4], 4, - "incorrect value for signature[4], expected 4, is {}", - msg.signature[4] - ); - assert_eq!( - msg.signature[5], 5, - "incorrect value for signature[5], expected 5, is {}", - msg.signature[5] - ); - assert_eq!( - msg.signature[6], 6, - "incorrect value for signature[6], expected 6, is {}", - msg.signature[6] - ); - assert_eq!( - msg.signature[7], 7, - "incorrect value for signature[7], expected 7, is {}", - msg.signature[7] - ); - assert_eq!( - msg.signature[8], 0, - "incorrect value for signature[8], expected 0, is {}", - msg.signature[8] - ); - assert_eq!( - msg.signature[9], 1, - "incorrect value for signature[9], expected 1, is {}", - msg.signature[9] - ); - assert_eq!( - msg.signature[10], 2, - "incorrect value for signature[10], expected 2, is {}", - msg.signature[10] - ); - assert_eq!( - msg.signature[11], 3, - "incorrect value for signature[11], expected 3, is {}", - msg.signature[11] - ); - assert_eq!( - msg.signature[12], 4, - "incorrect value for signature[12], expected 4, is {}", - msg.signature[12] - ); - assert_eq!( - msg.signature[13], 5, - "incorrect value for signature[13], expected 5, is {}", - msg.signature[13] - ); - assert_eq!( - msg.signature[14], 6, - "incorrect value for signature[14], expected 6, is {}", - msg.signature[14] - ); - assert_eq!( - msg.signature[15], 7, - "incorrect value for signature[15], expected 7, is {}", - msg.signature[15] - ); - assert_eq!( - msg.signature[16], 0, - "incorrect value for signature[16], expected 0, is {}", - msg.signature[16] - ); - assert_eq!( - msg.signature[17], 1, - "incorrect value for signature[17], expected 1, is {}", - msg.signature[17] - ); - assert_eq!( - msg.signature[18], 2, - "incorrect value for signature[18], expected 2, is {}", - msg.signature[18] - ); - assert_eq!( - msg.signature[19], 3, - "incorrect value for signature[19], expected 3, is {}", - msg.signature[19] - ); - assert_eq!( - msg.signature[20], 4, - "incorrect value for signature[20], expected 4, is {}", - msg.signature[20] - ); - assert_eq!( - msg.signature[21], 5, - "incorrect value for signature[21], expected 5, is {}", - msg.signature[21] - ); - assert_eq!( - msg.signature[22], 6, - "incorrect value for signature[22], expected 6, is {}", - msg.signature[22] - ); - assert_eq!( - msg.signature[23], 7, - "incorrect value for signature[23], expected 7, is {}", - msg.signature[23] - ); - assert_eq!( - msg.signature[24], 0, - "incorrect value for signature[24], expected 0, is {}", - msg.signature[24] - ); - assert_eq!( - msg.signature[25], 1, - "incorrect value for signature[25], expected 1, is {}", - msg.signature[25] - ); - assert_eq!( - msg.signature[26], 2, - "incorrect value for signature[26], expected 2, is {}", - msg.signature[26] - ); - assert_eq!( - msg.signature[27], 3, - "incorrect value for signature[27], expected 3, is {}", - msg.signature[27] - ); - assert_eq!( - msg.signature[28], 4, - "incorrect value for signature[28], expected 4, is {}", - msg.signature[28] - ); - assert_eq!( - msg.signature[29], 5, - "incorrect value for signature[29], expected 5, is {}", - msg.signature[29] - ); - assert_eq!( - msg.signature[30], 6, - "incorrect value for signature[30], expected 6, is {}", - msg.signature[30] - ); - assert_eq!( - msg.signature[31], 7, - "incorrect value for signature[31], expected 7, is {}", - msg.signature[31] - ); - assert_eq!( - msg.signature[32], 0, - "incorrect value for signature[32], expected 0, is {}", - msg.signature[32] - ); - assert_eq!( - msg.signature[33], 1, - "incorrect value for signature[33], expected 1, is {}", - msg.signature[33] - ); - assert_eq!( - msg.signature[34], 2, - "incorrect value for signature[34], expected 2, is {}", - msg.signature[34] - ); - assert_eq!( - msg.signature[35], 3, - "incorrect value for signature[35], expected 3, is {}", - msg.signature[35] - ); - assert_eq!( - msg.signature[36], 4, - "incorrect value for signature[36], expected 4, is {}", - msg.signature[36] - ); - assert_eq!( - msg.signature[37], 5, - "incorrect value for signature[37], expected 5, is {}", - msg.signature[37] - ); - assert_eq!( - msg.signature[38], 6, - "incorrect value for signature[38], expected 6, is {}", - msg.signature[38] - ); - assert_eq!( - msg.signature[39], 7, - "incorrect value for signature[39], expected 7, is {}", - msg.signature[39] - ); - assert_eq!( - msg.signature[40], 0, - "incorrect value for signature[40], expected 0, is {}", - msg.signature[40] - ); - assert_eq!( - msg.signature[41], 1, - "incorrect value for signature[41], expected 1, is {}", - msg.signature[41] - ); - assert_eq!( - msg.signature[42], 2, - "incorrect value for signature[42], expected 2, is {}", - msg.signature[42] - ); - assert_eq!( - msg.signature[43], 3, - "incorrect value for signature[43], expected 3, is {}", - msg.signature[43] - ); - assert_eq!( - msg.signature[44], 4, - "incorrect value for signature[44], expected 4, is {}", - msg.signature[44] - ); - assert_eq!( - msg.signature[45], 5, - "incorrect value for signature[45], expected 5, is {}", - msg.signature[45] - ); - assert_eq!( - msg.signature[46], 6, - "incorrect value for signature[46], expected 6, is {}", - msg.signature[46] - ); - assert_eq!( - msg.signature[47], 7, - "incorrect value for signature[47], expected 7, is {}", - msg.signature[47] - ); - assert_eq!( - msg.signature[48], 0, - "incorrect value for signature[48], expected 0, is {}", - msg.signature[48] - ); - assert_eq!( - msg.signature[49], 1, - "incorrect value for signature[49], expected 1, is {}", - msg.signature[49] - ); - assert_eq!( - msg.signature[50], 2, - "incorrect value for signature[50], expected 2, is {}", - msg.signature[50] - ); - assert_eq!( - msg.signature[51], 3, - "incorrect value for signature[51], expected 3, is {}", - msg.signature[51] - ); - assert_eq!( - msg.signature[52], 4, - "incorrect value for signature[52], expected 4, is {}", - msg.signature[52] - ); - assert_eq!( - msg.signature[53], 5, - "incorrect value for signature[53], expected 5, is {}", - msg.signature[53] - ); - assert_eq!( - msg.signature[54], 6, - "incorrect value for signature[54], expected 6, is {}", - msg.signature[54] - ); - assert_eq!( - msg.signature[55], 7, - "incorrect value for signature[55], expected 7, is {}", - msg.signature[55] - ); - assert_eq!( - msg.signature[56], 0, - "incorrect value for signature[56], expected 0, is {}", - msg.signature[56] - ); - assert_eq!( - msg.signature[57], 1, - "incorrect value for signature[57], expected 1, is {}", - msg.signature[57] - ); - assert_eq!( - msg.signature[58], 2, - "incorrect value for signature[58], expected 2, is {}", - msg.signature[58] - ); - assert_eq!( - msg.signature[59], 3, - "incorrect value for signature[59], expected 3, is {}", - msg.signature[59] - ); - assert_eq!( - msg.signature[60], 4, - "incorrect value for signature[60], expected 4, is {}", - msg.signature[60] - ); - assert_eq!( - msg.signature[61], 5, - "incorrect value for signature[61], expected 5, is {}", - msg.signature[61] - ); - assert_eq!( - msg.signature[62], 6, - "incorrect value for signature[62], expected 6, is {}", - msg.signature[62] - ); - assert_eq!( - msg.signature[63], 7, - "incorrect value for signature[63], expected 7, is {}", - msg.signature[63] - ); - assert_eq!( - msg.signed_messages[0], 10, - "incorrect value for signed_messages[0], expected 10, is {}", - msg.signed_messages[0] - ); - assert_eq!( - msg.signed_messages[1], 21, - "incorrect value for signed_messages[1], expected 21, is {}", - msg.signed_messages[1] - ); - assert_eq!( - msg.signed_messages[2], 23, - "incorrect value for signed_messages[2], expected 23, is {}", - msg.signed_messages[2] - ); - assert_eq!( - msg.signed_messages[3], 63, - "incorrect value for signed_messages[3], expected 63, is {}", - msg.signed_messages[3] - ); - assert_eq!( - msg.signed_messages[4], 140, - "incorrect value for signed_messages[4], expected 140, is {}", - msg.signed_messages[4] - ); - assert_eq!( - msg.signed_messages[5], 37, - "incorrect value for signed_messages[5], expected 37, is {}", - msg.signed_messages[5] - ); - assert_eq!( - msg.signed_messages[6], 130, - "incorrect value for signed_messages[6], expected 130, is {}", - msg.signed_messages[6] - ); - assert_eq!( - msg.signed_messages[7], 106, - "incorrect value for signed_messages[7], expected 106, is {}", - msg.signed_messages[7] - ); - assert_eq!( - msg.signed_messages[8], 28, - "incorrect value for signed_messages[8], expected 28, is {}", - msg.signed_messages[8] - ); - assert_eq!( - msg.signed_messages[9], 40, - "incorrect value for signed_messages[9], expected 40, is {}", - msg.signed_messages[9] - ); - assert_eq!( - msg.signed_messages[10], 165, - "incorrect value for signed_messages[10], expected 165, is {}", - msg.signed_messages[10] - ); - assert_eq!( - msg.signed_messages[11], 179, - "incorrect value for signed_messages[11], expected 179, is {}", - msg.signed_messages[11] - ); - assert_eq!( - msg.signed_messages[12], 73, - "incorrect value for signed_messages[12], expected 73, is {}", - msg.signed_messages[12] - ); - assert_eq!( - msg.signed_messages[13], 178, - "incorrect value for signed_messages[13], expected 178, is {}", - msg.signed_messages[13] - ); - assert_eq!( - msg.signed_messages[14], 60, - "incorrect value for signed_messages[14], expected 60, is {}", - msg.signed_messages[14] - ); - assert_eq!( - msg.signed_messages[15], 126, - "incorrect value for signed_messages[15], expected 126, is {}", - msg.signed_messages[15] - ); - assert_eq!( - msg.signed_messages[16], 114, - "incorrect value for signed_messages[16], expected 114, is {}", - msg.signed_messages[16] - ); - assert_eq!( - msg.signed_messages[17], 78, - "incorrect value for signed_messages[17], expected 78, is {}", - msg.signed_messages[17] - ); - assert_eq!( - msg.signed_messages[18], 113, - "incorrect value for signed_messages[18], expected 113, is {}", - msg.signed_messages[18] - ); - assert_eq!( - msg.signed_messages[19], 27, - "incorrect value for signed_messages[19], expected 27, is {}", - msg.signed_messages[19] - ); - assert_eq!( - msg.signed_messages[20], 95, - "incorrect value for signed_messages[20], expected 95, is {}", - msg.signed_messages[20] - ); - assert_eq!( - msg.signed_messages[21], 3, - "incorrect value for signed_messages[21], expected 3, is {}", - msg.signed_messages[21] - ); - assert_eq!( - msg.signed_messages[22], 62, - "incorrect value for signed_messages[22], expected 62, is {}", - msg.signed_messages[22] - ); - assert_eq!( - msg.signed_messages[23], 104, - "incorrect value for signed_messages[23], expected 104, is {}", - msg.signed_messages[23] - ); - assert_eq!( - msg.signed_messages[24], 145, - "incorrect value for signed_messages[24], expected 145, is {}", - msg.signed_messages[24] - ); - assert_eq!( - msg.signed_messages[25], 96, - "incorrect value for signed_messages[25], expected 96, is {}", - msg.signed_messages[25] - ); - assert_eq!( - msg.signed_messages[26], 19, - "incorrect value for signed_messages[26], expected 19, is {}", - msg.signed_messages[26] - ); - assert_eq!( - msg.signed_messages[27], 92, - "incorrect value for signed_messages[27], expected 92, is {}", - msg.signed_messages[27] - ); - assert_eq!( - msg.signed_messages[28], 123, - "incorrect value for signed_messages[28], expected 123, is {}", - msg.signed_messages[28] - ); - assert_eq!( - msg.signed_messages[29], 14, - "incorrect value for signed_messages[29], expected 14, is {}", - msg.signed_messages[29] - ); - assert_eq!( - msg.signed_messages[30], 90, - "incorrect value for signed_messages[30], expected 90, is {}", - msg.signed_messages[30] - ); - assert_eq!( - msg.signed_messages[31], 153, - "incorrect value for signed_messages[31], expected 153, is {}", - msg.signed_messages[31] - ); - assert_eq!( - msg.signed_messages[32], 183, - "incorrect value for signed_messages[32], expected 183, is {}", - msg.signed_messages[32] - ); - assert_eq!( - msg.signed_messages[33], 9, - "incorrect value for signed_messages[33], expected 9, is {}", - msg.signed_messages[33] - ); - assert_eq!( - msg.signed_messages[34], 72, - "incorrect value for signed_messages[34], expected 72, is {}", - msg.signed_messages[34] - ); - assert_eq!( - msg.signed_messages[35], 81, - "incorrect value for signed_messages[35], expected 81, is {}", - msg.signed_messages[35] - ); - assert_eq!( - msg.signed_messages[36], 118, - "incorrect value for signed_messages[36], expected 118, is {}", - msg.signed_messages[36] - ); - assert_eq!( - msg.signed_messages[37], 112, - "incorrect value for signed_messages[37], expected 112, is {}", - msg.signed_messages[37] - ); - assert_eq!( - msg.signed_messages[38], 124, - "incorrect value for signed_messages[38], expected 124, is {}", - msg.signed_messages[38] - ); - assert_eq!( - msg.signed_messages[39], 16, - "incorrect value for signed_messages[39], expected 16, is {}", - msg.signed_messages[39] - ); - assert_eq!( - msg.signed_messages[40], 182, - "incorrect value for signed_messages[40], expected 182, is {}", - msg.signed_messages[40] - ); - assert_eq!( - msg.signed_messages[41], 76, - "incorrect value for signed_messages[41], expected 76, is {}", - msg.signed_messages[41] - ); - assert_eq!( - msg.signed_messages[42], 146, - "incorrect value for signed_messages[42], expected 146, is {}", - msg.signed_messages[42] - ); - assert_eq!( - msg.signed_messages[43], 115, - "incorrect value for signed_messages[43], expected 115, is {}", - msg.signed_messages[43] - ); - assert_eq!( - msg.signed_messages[44], 58, - "incorrect value for signed_messages[44], expected 58, is {}", - msg.signed_messages[44] - ); - assert_eq!( - msg.signed_messages[45], 144, - "incorrect value for signed_messages[45], expected 144, is {}", - msg.signed_messages[45] - ); - assert_eq!( - msg.signed_messages[46], 17, - "incorrect value for signed_messages[46], expected 17, is {}", - msg.signed_messages[46] - ); - assert_eq!( - msg.signed_messages[47], 105, - "incorrect value for signed_messages[47], expected 105, is {}", - msg.signed_messages[47] - ); - assert_eq!( - msg.signed_messages[48], 66, - "incorrect value for signed_messages[48], expected 66, is {}", - msg.signed_messages[48] - ); - assert_eq!( - msg.signed_messages[49], 31, - "incorrect value for signed_messages[49], expected 31, is {}", - msg.signed_messages[49] - ); - assert_eq!( - msg.signed_messages[50], 135, - "incorrect value for signed_messages[50], expected 135, is {}", - msg.signed_messages[50] - ); - assert_eq!( - msg.signed_messages[51], 54, - "incorrect value for signed_messages[51], expected 54, is {}", - msg.signed_messages[51] - ); - assert_eq!( - msg.signed_messages[52], 100, - "incorrect value for signed_messages[52], expected 100, is {}", - msg.signed_messages[52] - ); - assert_eq!( - msg.signed_messages[53], 84, - "incorrect value for signed_messages[53], expected 84, is {}", - msg.signed_messages[53] - ); - assert_eq!( - msg.signed_messages[54], 181, - "incorrect value for signed_messages[54], expected 181, is {}", - msg.signed_messages[54] - ); - assert_eq!( - msg.signed_messages[55], 103, - "incorrect value for signed_messages[55], expected 103, is {}", - msg.signed_messages[55] - ); - assert_eq!( - msg.signed_messages[56], 11, - "incorrect value for signed_messages[56], expected 11, is {}", - msg.signed_messages[56] - ); - assert_eq!( - msg.signed_messages[57], 88, - "incorrect value for signed_messages[57], expected 88, is {}", - msg.signed_messages[57] - ); - assert_eq!( - msg.signed_messages[58], 133, - "incorrect value for signed_messages[58], expected 133, is {}", - msg.signed_messages[58] - ); - assert_eq!( - msg.signed_messages[59], 155, - "incorrect value for signed_messages[59], expected 155, is {}", - msg.signed_messages[59] - ); - assert_eq!( - msg.signed_messages[60], 167, - "incorrect value for signed_messages[60], expected 167, is {}", - msg.signed_messages[60] - ); - assert_eq!( - msg.signed_messages[61], 173, - "incorrect value for signed_messages[61], expected 173, is {}", - msg.signed_messages[61] - ); - assert_eq!( - msg.signed_messages[62], 143, - "incorrect value for signed_messages[62], expected 143, is {}", - msg.signed_messages[62] - ); - assert_eq!( - msg.signed_messages[63], 86, - "incorrect value for signed_messages[63], expected 86, is {}", - msg.signed_messages[63] - ); - assert_eq!( - msg.signed_messages[64], 158, - "incorrect value for signed_messages[64], expected 158, is {}", - msg.signed_messages[64] - ); - assert_eq!( - msg.signed_messages[65], 20, - "incorrect value for signed_messages[65], expected 20, is {}", - msg.signed_messages[65] - ); - assert_eq!( - msg.signed_messages[66], 168, - "incorrect value for signed_messages[66], expected 168, is {}", - msg.signed_messages[66] - ); - assert_eq!( - msg.signed_messages[67], 132, - "incorrect value for signed_messages[67], expected 132, is {}", - msg.signed_messages[67] - ); - assert_eq!( - msg.signed_messages[68], 141, - "incorrect value for signed_messages[68], expected 141, is {}", - msg.signed_messages[68] - ); - assert_eq!( - msg.signed_messages[69], 102, - "incorrect value for signed_messages[69], expected 102, is {}", - msg.signed_messages[69] - ); - assert_eq!( - msg.signed_messages[70], 50, - "incorrect value for signed_messages[70], expected 50, is {}", - msg.signed_messages[70] - ); - assert_eq!( - msg.signed_messages[71], 48, - "incorrect value for signed_messages[71], expected 48, is {}", - msg.signed_messages[71] - ); - assert_eq!( - msg.signed_messages[72], 71, - "incorrect value for signed_messages[72], expected 71, is {}", - msg.signed_messages[72] - ); - assert_eq!( - msg.signed_messages[73], 147, - "incorrect value for signed_messages[73], expected 147, is {}", - msg.signed_messages[73] - ); - assert_eq!( - msg.signed_messages[74], 53, - "incorrect value for signed_messages[74], expected 53, is {}", - msg.signed_messages[74] - ); - assert_eq!( - msg.signed_messages[75], 87, - "incorrect value for signed_messages[75], expected 87, is {}", - msg.signed_messages[75] - ); - assert_eq!( - msg.signed_messages[76], 1, - "incorrect value for signed_messages[76], expected 1, is {}", - msg.signed_messages[76] - ); - assert_eq!( - msg.signed_messages[77], 108, - "incorrect value for signed_messages[77], expected 108, is {}", - msg.signed_messages[77] - ); - assert_eq!( - msg.signed_messages[78], 138, - "incorrect value for signed_messages[78], expected 138, is {}", - msg.signed_messages[78] - ); - assert_eq!( - msg.signed_messages[79], 36, - "incorrect value for signed_messages[79], expected 36, is {}", - msg.signed_messages[79] - ); - assert_eq!( - msg.signed_messages[80], 134, - "incorrect value for signed_messages[80], expected 134, is {}", - msg.signed_messages[80] - ); - assert_eq!( - msg.signed_messages[81], 139, - "incorrect value for signed_messages[81], expected 139, is {}", - msg.signed_messages[81] - ); - assert_eq!( - msg.signed_messages[82], 163, - "incorrect value for signed_messages[82], expected 163, is {}", - msg.signed_messages[82] - ); - assert_eq!( - msg.signed_messages[83], 82, - "incorrect value for signed_messages[83], expected 82, is {}", - msg.signed_messages[83] - ); - assert_eq!( - msg.signed_messages[84], 43, - "incorrect value for signed_messages[84], expected 43, is {}", - msg.signed_messages[84] - ); - assert_eq!( - msg.signed_messages[85], 52, - "incorrect value for signed_messages[85], expected 52, is {}", - msg.signed_messages[85] - ); - assert_eq!( - msg.signed_messages[86], 150, - "incorrect value for signed_messages[86], expected 150, is {}", - msg.signed_messages[86] - ); - assert_eq!( - msg.signed_messages[87], 12, - "incorrect value for signed_messages[87], expected 12, is {}", - msg.signed_messages[87] - ); - assert_eq!( - msg.signed_messages[88], 30, - "incorrect value for signed_messages[88], expected 30, is {}", - msg.signed_messages[88] - ); - assert_eq!( - msg.signed_messages[89], 110, - "incorrect value for signed_messages[89], expected 110, is {}", - msg.signed_messages[89] - ); - assert_eq!( - msg.signed_messages[90], 156, - "incorrect value for signed_messages[90], expected 156, is {}", - msg.signed_messages[90] - ); - assert_eq!( - msg.signed_messages[91], 107, - "incorrect value for signed_messages[91], expected 107, is {}", - msg.signed_messages[91] - ); - assert_eq!( - msg.signed_messages[92], 120, - "incorrect value for signed_messages[92], expected 120, is {}", - msg.signed_messages[92] - ); - assert_eq!( - msg.signed_messages[93], 91, - "incorrect value for signed_messages[93], expected 91, is {}", - msg.signed_messages[93] - ); - assert_eq!( - msg.signed_messages[94], 122, - "incorrect value for signed_messages[94], expected 122, is {}", - msg.signed_messages[94] - ); - assert_eq!( - msg.signed_messages[95], 69, - "incorrect value for signed_messages[95], expected 69, is {}", - msg.signed_messages[95] - ); - assert_eq!( - msg.signed_messages[96], 164, - "incorrect value for signed_messages[96], expected 164, is {}", - msg.signed_messages[96] - ); - assert_eq!( - msg.signed_messages[97], 170, - "incorrect value for signed_messages[97], expected 170, is {}", - msg.signed_messages[97] - ); - assert_eq!( - msg.signed_messages[98], 116, - "incorrect value for signed_messages[98], expected 116, is {}", - msg.signed_messages[98] - ); - assert_eq!( - msg.signed_messages[99], 25, - "incorrect value for signed_messages[99], expected 25, is {}", - msg.signed_messages[99] - ); - assert_eq!( - msg.signed_messages[100], 94, - "incorrect value for signed_messages[100], expected 94, is {}", - msg.signed_messages[100] - ); - assert_eq!( - msg.signed_messages[101], 5, - "incorrect value for signed_messages[101], expected 5, is {}", - msg.signed_messages[101] - ); - assert_eq!( - msg.signed_messages[102], 22, - "incorrect value for signed_messages[102], expected 22, is {}", - msg.signed_messages[102] - ); - assert_eq!( - msg.signed_messages[103], 24, - "incorrect value for signed_messages[103], expected 24, is {}", - msg.signed_messages[103] - ); - assert_eq!( - msg.signed_messages[104], 162, - "incorrect value for signed_messages[104], expected 162, is {}", - msg.signed_messages[104] - ); - assert_eq!( - msg.signed_messages[105], 175, - "incorrect value for signed_messages[105], expected 175, is {}", - msg.signed_messages[105] - ); - assert_eq!( - msg.signed_messages[106], 38, - "incorrect value for signed_messages[106], expected 38, is {}", - msg.signed_messages[106] - ); - assert_eq!( - msg.signed_messages[107], 157, - "incorrect value for signed_messages[107], expected 157, is {}", - msg.signed_messages[107] - ); - assert_eq!( - msg.signed_messages[108], 98, - "incorrect value for signed_messages[108], expected 98, is {}", - msg.signed_messages[108] - ); - assert_eq!( - msg.signed_messages[109], 44, - "incorrect value for signed_messages[109], expected 44, is {}", - msg.signed_messages[109] - ); - assert_eq!( - msg.signed_messages[110], 160, - "incorrect value for signed_messages[110], expected 160, is {}", - msg.signed_messages[110] - ); - assert_eq!( - msg.signed_messages[111], 47, - "incorrect value for signed_messages[111], expected 47, is {}", - msg.signed_messages[111] - ); - assert_eq!( - msg.signed_messages[112], 97, - "incorrect value for signed_messages[112], expected 97, is {}", - msg.signed_messages[112] - ); - assert_eq!( - msg.signed_messages[113], 142, - "incorrect value for signed_messages[113], expected 142, is {}", - msg.signed_messages[113] - ); - assert_eq!( - msg.signed_messages[114], 8, - "incorrect value for signed_messages[114], expected 8, is {}", - msg.signed_messages[114] - ); - assert_eq!( - msg.signed_messages[115], 74, - "incorrect value for signed_messages[115], expected 74, is {}", - msg.signed_messages[115] - ); - assert_eq!( - msg.signed_messages[116], 13, - "incorrect value for signed_messages[116], expected 13, is {}", - msg.signed_messages[116] - ); - assert_eq!( - msg.signed_messages[117], 177, - "incorrect value for signed_messages[117], expected 177, is {}", - msg.signed_messages[117] - ); - assert_eq!( - msg.signed_messages[118], 15, - "incorrect value for signed_messages[118], expected 15, is {}", - msg.signed_messages[118] - ); - assert_eq!( - msg.signed_messages[119], 128, - "incorrect value for signed_messages[119], expected 128, is {}", - msg.signed_messages[119] - ); - assert_eq!( - msg.signed_messages[120], 26, - "incorrect value for signed_messages[120], expected 26, is {}", - msg.signed_messages[120] - ); - assert_eq!( - msg.signed_messages[121], 131, - "incorrect value for signed_messages[121], expected 131, is {}", - msg.signed_messages[121] - ); - assert_eq!( - msg.signed_messages[122], 154, - "incorrect value for signed_messages[122], expected 154, is {}", - msg.signed_messages[122] - ); - assert_eq!( - msg.signed_messages[123], 65, - "incorrect value for signed_messages[123], expected 65, is {}", - msg.signed_messages[123] - ); - assert_eq!( - msg.signed_messages[124], 169, - "incorrect value for signed_messages[124], expected 169, is {}", - msg.signed_messages[124] - ); - assert_eq!( - msg.signed_messages[125], 55, - "incorrect value for signed_messages[125], expected 55, is {}", - msg.signed_messages[125] - ); - assert_eq!( - msg.signed_messages[126], 136, - "incorrect value for signed_messages[126], expected 136, is {}", - msg.signed_messages[126] - ); - assert_eq!( - msg.signed_messages[127], 125, - "incorrect value for signed_messages[127], expected 125, is {}", - msg.signed_messages[127] - ); - assert_eq!( - msg.signed_messages[128], 171, - "incorrect value for signed_messages[128], expected 171, is {}", - msg.signed_messages[128] - ); - assert_eq!( - msg.signed_messages[129], 161, - "incorrect value for signed_messages[129], expected 161, is {}", - msg.signed_messages[129] - ); - assert_eq!( - msg.signed_messages[130], 29, - "incorrect value for signed_messages[130], expected 29, is {}", - msg.signed_messages[130] - ); - assert_eq!( - msg.signed_messages[131], 129, - "incorrect value for signed_messages[131], expected 129, is {}", - msg.signed_messages[131] - ); - assert_eq!( - msg.signed_messages[132], 151, - "incorrect value for signed_messages[132], expected 151, is {}", - msg.signed_messages[132] - ); - assert_eq!( - msg.signed_messages[133], 68, - "incorrect value for signed_messages[133], expected 68, is {}", - msg.signed_messages[133] - ); - assert_eq!( - msg.signed_messages[134], 166, - "incorrect value for signed_messages[134], expected 166, is {}", - msg.signed_messages[134] - ); - assert_eq!( - msg.signed_messages[135], 51, - "incorrect value for signed_messages[135], expected 51, is {}", - msg.signed_messages[135] - ); - assert_eq!( - msg.signed_messages[136], 70, - "incorrect value for signed_messages[136], expected 70, is {}", - msg.signed_messages[136] - ); - assert_eq!( - msg.signed_messages[137], 45, - "incorrect value for signed_messages[137], expected 45, is {}", - msg.signed_messages[137] - ); - assert_eq!( - msg.signed_messages[138], 56, - "incorrect value for signed_messages[138], expected 56, is {}", - msg.signed_messages[138] - ); - assert_eq!( - msg.signed_messages[139], 79, - "incorrect value for signed_messages[139], expected 79, is {}", - msg.signed_messages[139] - ); - assert_eq!( - msg.signed_messages[140], 149, - "incorrect value for signed_messages[140], expected 149, is {}", - msg.signed_messages[140] - ); - assert_eq!( - msg.signed_messages[141], 99, - "incorrect value for signed_messages[141], expected 99, is {}", - msg.signed_messages[141] - ); - assert_eq!( - msg.signed_messages[142], 42, - "incorrect value for signed_messages[142], expected 42, is {}", - msg.signed_messages[142] - ); - assert_eq!( - msg.signed_messages[143], 101, - "incorrect value for signed_messages[143], expected 101, is {}", - msg.signed_messages[143] - ); - assert_eq!( - msg.signed_messages[144], 152, - "incorrect value for signed_messages[144], expected 152, is {}", - msg.signed_messages[144] - ); - assert_eq!( - msg.signed_messages[145], 39, - "incorrect value for signed_messages[145], expected 39, is {}", - msg.signed_messages[145] - ); - assert_eq!( - msg.signed_messages[146], 89, - "incorrect value for signed_messages[146], expected 89, is {}", - msg.signed_messages[146] - ); - assert_eq!( - msg.signed_messages[147], 180, - "incorrect value for signed_messages[147], expected 180, is {}", - msg.signed_messages[147] - ); - assert_eq!( - msg.signed_messages[148], 64, - "incorrect value for signed_messages[148], expected 64, is {}", - msg.signed_messages[148] - ); - assert_eq!( - msg.signed_messages[149], 49, - "incorrect value for signed_messages[149], expected 49, is {}", - msg.signed_messages[149] - ); - assert_eq!( - msg.signed_messages[150], 6, - "incorrect value for signed_messages[150], expected 6, is {}", - msg.signed_messages[150] - ); - assert_eq!( - msg.signed_messages[151], 80, - "incorrect value for signed_messages[151], expected 80, is {}", - msg.signed_messages[151] - ); - assert_eq!( - msg.signed_messages[152], 172, - "incorrect value for signed_messages[152], expected 172, is {}", - msg.signed_messages[152] - ); - assert_eq!( - msg.signed_messages[153], 32, - "incorrect value for signed_messages[153], expected 32, is {}", - msg.signed_messages[153] - ); - assert_eq!( - msg.signed_messages[154], 109, - "incorrect value for signed_messages[154], expected 109, is {}", - msg.signed_messages[154] - ); - assert_eq!( - msg.signed_messages[155], 2, - "incorrect value for signed_messages[155], expected 2, is {}", - msg.signed_messages[155] - ); - assert_eq!( - msg.signed_messages[156], 119, - "incorrect value for signed_messages[156], expected 119, is {}", - msg.signed_messages[156] - ); - assert_eq!( - msg.signed_messages[157], 93, - "incorrect value for signed_messages[157], expected 93, is {}", - msg.signed_messages[157] - ); - assert_eq!( - msg.signed_messages[158], 176, - "incorrect value for signed_messages[158], expected 176, is {}", - msg.signed_messages[158] - ); - assert_eq!( - msg.signed_messages[159], 0, - "incorrect value for signed_messages[159], expected 0, is {}", - msg.signed_messages[159] - ); - assert_eq!( - msg.signed_messages[160], 33, - "incorrect value for signed_messages[160], expected 33, is {}", - msg.signed_messages[160] - ); - assert_eq!( - msg.signed_messages[161], 57, - "incorrect value for signed_messages[161], expected 57, is {}", - msg.signed_messages[161] - ); - assert_eq!( - msg.signed_messages[162], 34, - "incorrect value for signed_messages[162], expected 34, is {}", - msg.signed_messages[162] - ); - assert_eq!( - msg.signed_messages[163], 18, - "incorrect value for signed_messages[163], expected 18, is {}", - msg.signed_messages[163] - ); - assert_eq!( - msg.signed_messages[164], 85, - "incorrect value for signed_messages[164], expected 85, is {}", - msg.signed_messages[164] - ); - assert_eq!( - msg.signed_messages[165], 121, - "incorrect value for signed_messages[165], expected 121, is {}", - msg.signed_messages[165] - ); - assert_eq!( - msg.signed_messages[166], 137, - "incorrect value for signed_messages[166], expected 137, is {}", - msg.signed_messages[166] - ); - assert_eq!( - msg.signed_messages[167], 83, - "incorrect value for signed_messages[167], expected 83, is {}", - msg.signed_messages[167] - ); - assert_eq!( - msg.signed_messages[168], 111, - "incorrect value for signed_messages[168], expected 111, is {}", - msg.signed_messages[168] - ); - assert_eq!( - msg.signed_messages[169], 59, - "incorrect value for signed_messages[169], expected 59, is {}", - msg.signed_messages[169] - ); - assert_eq!( - msg.signed_messages[170], 7, - "incorrect value for signed_messages[170], expected 7, is {}", - msg.signed_messages[170] - ); - assert_eq!( - msg.signed_messages[171], 77, - "incorrect value for signed_messages[171], expected 77, is {}", - msg.signed_messages[171] - ); - assert_eq!( - msg.signed_messages[172], 4, - "incorrect value for signed_messages[172], expected 4, is {}", - msg.signed_messages[172] - ); - assert_eq!( - msg.signed_messages[173], 117, - "incorrect value for signed_messages[173], expected 117, is {}", - msg.signed_messages[173] - ); - assert_eq!( - msg.signed_messages[174], 159, - "incorrect value for signed_messages[174], expected 159, is {}", - msg.signed_messages[174] - ); - assert_eq!( - msg.signed_messages[175], 148, - "incorrect value for signed_messages[175], expected 148, is {}", - msg.signed_messages[175] - ); - assert_eq!( - msg.signed_messages[176], 35, - "incorrect value for signed_messages[176], expected 35, is {}", - msg.signed_messages[176] - ); - assert_eq!( - msg.signed_messages[177], 61, - "incorrect value for signed_messages[177], expected 61, is {}", - msg.signed_messages[177] - ); - assert_eq!( - msg.signed_messages[178], 41, - "incorrect value for signed_messages[178], expected 41, is {}", - msg.signed_messages[178] - ); - assert_eq!( - msg.signed_messages[179], 67, - "incorrect value for signed_messages[179], expected 67, is {}", - msg.signed_messages[179] - ); - assert_eq!( - msg.signed_messages[180], 46, - "incorrect value for signed_messages[180], expected 46, is {}", - msg.signed_messages[180] - ); - assert_eq!( - msg.signed_messages[181], 127, - "incorrect value for signed_messages[181], expected 127, is {}", - msg.signed_messages[181] - ); - assert_eq!( - msg.signed_messages[182], 75, - "incorrect value for signed_messages[182], expected 75, is {}", - msg.signed_messages[182] - ); - assert_eq!( - msg.signed_messages[183], 174, - "incorrect value for signed_messages[183], expected 174, is {}", - msg.signed_messages[183] + msg.signed_messages[2], 23, + "incorrect value for signed_messages[2], expected 23, is {}", + msg.signed_messages[2] ); assert_eq!( msg.stream_counter, 1, diff --git a/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature_dep.rs b/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature_dep.rs new file mode 100644 index 0000000000..79225fc719 --- /dev/null +++ b/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature_dep.rs @@ -0,0 +1,4016 @@ +// +// Copyright (C) 2019-2021 Swift Navigation Inc. +// Contact: https://support.swiftnav.com +// +// This source is subject to the license found in the file 'LICENSE' which must +// be be distributed together with this source. All other rights reserved. +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, +// EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml by generate.py. Do not modify by hand! + +use crate::*; + +/// Tests [`sbp::iter_messages`], from payload into SBP messages +/// +/// Asserts: +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +fn test_auto_check_sbp_signing_msg_ecdsa_signature_dep() { + { + let mut payload = Cursor::new(vec![ + 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, + 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, + 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, + 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, + 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, + 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, + 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, + 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, + 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, + 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, + 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, + 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, + 174, 97, 172, + ]); + + // Test the round trip payload parsing + let sbp_msg = { + let mut msgs = iter_messages(&mut payload); + msgs.next() + .expect("no message found") + .expect("failed to parse message") + }; + match &sbp_msg { + sbp::messages::Sbp::MsgEcdsaSignatureDep(msg) => { + assert_eq!( + msg.message_type(), + 0xC06, + "Incorrect message type, expected 0xC06, is {}", + msg.message_type() + ); + let sender_id = msg.sender_id().unwrap(); + assert_eq!( + sender_id, 0x42, + "incorrect sender id, expected 0x42, is {sender_id}" + ); + assert_eq!( + msg.certificate_id[0], 1, + "incorrect value for certificate_id[0], expected 1, is {}", + msg.certificate_id[0] + ); + assert_eq!( + msg.certificate_id[1], 2, + "incorrect value for certificate_id[1], expected 2, is {}", + msg.certificate_id[1] + ); + assert_eq!( + msg.certificate_id[2], 3, + "incorrect value for certificate_id[2], expected 3, is {}", + msg.certificate_id[2] + ); + assert_eq!( + msg.certificate_id[3], 4, + "incorrect value for certificate_id[3], expected 4, is {}", + msg.certificate_id[3] + ); + assert_eq!( + msg.flags, 0, + "incorrect value for flags, expected 0, is {}", + msg.flags + ); + assert_eq!( + msg.on_demand_counter, 2, + "incorrect value for on_demand_counter, expected 2, is {}", + msg.on_demand_counter + ); + assert_eq!( + msg.signature[0], 0, + "incorrect value for signature[0], expected 0, is {}", + msg.signature[0] + ); + assert_eq!( + msg.signature[1], 1, + "incorrect value for signature[1], expected 1, is {}", + msg.signature[1] + ); + assert_eq!( + msg.signature[2], 2, + "incorrect value for signature[2], expected 2, is {}", + msg.signature[2] + ); + assert_eq!( + msg.signature[3], 3, + "incorrect value for signature[3], expected 3, is {}", + msg.signature[3] + ); + assert_eq!( + msg.signature[4], 4, + "incorrect value for signature[4], expected 4, is {}", + msg.signature[4] + ); + assert_eq!( + msg.signature[5], 5, + "incorrect value for signature[5], expected 5, is {}", + msg.signature[5] + ); + assert_eq!( + msg.signature[6], 6, + "incorrect value for signature[6], expected 6, is {}", + msg.signature[6] + ); + assert_eq!( + msg.signature[7], 7, + "incorrect value for signature[7], expected 7, is {}", + msg.signature[7] + ); + assert_eq!( + msg.signature[8], 0, + "incorrect value for signature[8], expected 0, is {}", + msg.signature[8] + ); + assert_eq!( + msg.signature[9], 1, + "incorrect value for signature[9], expected 1, is {}", + msg.signature[9] + ); + assert_eq!( + msg.signature[10], 2, + "incorrect value for signature[10], expected 2, is {}", + msg.signature[10] + ); + assert_eq!( + msg.signature[11], 3, + "incorrect value for signature[11], expected 3, is {}", + msg.signature[11] + ); + assert_eq!( + msg.signature[12], 4, + "incorrect value for signature[12], expected 4, is {}", + msg.signature[12] + ); + assert_eq!( + msg.signature[13], 5, + "incorrect value for signature[13], expected 5, is {}", + msg.signature[13] + ); + assert_eq!( + msg.signature[14], 6, + "incorrect value for signature[14], expected 6, is {}", + msg.signature[14] + ); + assert_eq!( + msg.signature[15], 7, + "incorrect value for signature[15], expected 7, is {}", + msg.signature[15] + ); + assert_eq!( + msg.signature[16], 0, + "incorrect value for signature[16], expected 0, is {}", + msg.signature[16] + ); + assert_eq!( + msg.signature[17], 1, + "incorrect value for signature[17], expected 1, is {}", + msg.signature[17] + ); + assert_eq!( + msg.signature[18], 2, + "incorrect value for signature[18], expected 2, is {}", + msg.signature[18] + ); + assert_eq!( + msg.signature[19], 3, + "incorrect value for signature[19], expected 3, is {}", + msg.signature[19] + ); + assert_eq!( + msg.signature[20], 4, + "incorrect value for signature[20], expected 4, is {}", + msg.signature[20] + ); + assert_eq!( + msg.signature[21], 5, + "incorrect value for signature[21], expected 5, is {}", + msg.signature[21] + ); + assert_eq!( + msg.signature[22], 6, + "incorrect value for signature[22], expected 6, is {}", + msg.signature[22] + ); + assert_eq!( + msg.signature[23], 7, + "incorrect value for signature[23], expected 7, is {}", + msg.signature[23] + ); + assert_eq!( + msg.signature[24], 0, + "incorrect value for signature[24], expected 0, is {}", + msg.signature[24] + ); + assert_eq!( + msg.signature[25], 1, + "incorrect value for signature[25], expected 1, is {}", + msg.signature[25] + ); + assert_eq!( + msg.signature[26], 2, + "incorrect value for signature[26], expected 2, is {}", + msg.signature[26] + ); + assert_eq!( + msg.signature[27], 3, + "incorrect value for signature[27], expected 3, is {}", + msg.signature[27] + ); + assert_eq!( + msg.signature[28], 4, + "incorrect value for signature[28], expected 4, is {}", + msg.signature[28] + ); + assert_eq!( + msg.signature[29], 5, + "incorrect value for signature[29], expected 5, is {}", + msg.signature[29] + ); + assert_eq!( + msg.signature[30], 6, + "incorrect value for signature[30], expected 6, is {}", + msg.signature[30] + ); + assert_eq!( + msg.signature[31], 7, + "incorrect value for signature[31], expected 7, is {}", + msg.signature[31] + ); + assert_eq!( + msg.signature[32], 0, + "incorrect value for signature[32], expected 0, is {}", + msg.signature[32] + ); + assert_eq!( + msg.signature[33], 1, + "incorrect value for signature[33], expected 1, is {}", + msg.signature[33] + ); + assert_eq!( + msg.signature[34], 2, + "incorrect value for signature[34], expected 2, is {}", + msg.signature[34] + ); + assert_eq!( + msg.signature[35], 3, + "incorrect value for signature[35], expected 3, is {}", + msg.signature[35] + ); + assert_eq!( + msg.signature[36], 4, + "incorrect value for signature[36], expected 4, is {}", + msg.signature[36] + ); + assert_eq!( + msg.signature[37], 5, + "incorrect value for signature[37], expected 5, is {}", + msg.signature[37] + ); + assert_eq!( + msg.signature[38], 6, + "incorrect value for signature[38], expected 6, is {}", + msg.signature[38] + ); + assert_eq!( + msg.signature[39], 7, + "incorrect value for signature[39], expected 7, is {}", + msg.signature[39] + ); + assert_eq!( + msg.signature[40], 0, + "incorrect value for signature[40], expected 0, is {}", + msg.signature[40] + ); + assert_eq!( + msg.signature[41], 1, + "incorrect value for signature[41], expected 1, is {}", + msg.signature[41] + ); + assert_eq!( + msg.signature[42], 2, + "incorrect value for signature[42], expected 2, is {}", + msg.signature[42] + ); + assert_eq!( + msg.signature[43], 3, + "incorrect value for signature[43], expected 3, is {}", + msg.signature[43] + ); + assert_eq!( + msg.signature[44], 4, + "incorrect value for signature[44], expected 4, is {}", + msg.signature[44] + ); + assert_eq!( + msg.signature[45], 5, + "incorrect value for signature[45], expected 5, is {}", + msg.signature[45] + ); + assert_eq!( + msg.signature[46], 6, + "incorrect value for signature[46], expected 6, is {}", + msg.signature[46] + ); + assert_eq!( + msg.signature[47], 7, + "incorrect value for signature[47], expected 7, is {}", + msg.signature[47] + ); + assert_eq!( + msg.signature[48], 0, + "incorrect value for signature[48], expected 0, is {}", + msg.signature[48] + ); + assert_eq!( + msg.signature[49], 1, + "incorrect value for signature[49], expected 1, is {}", + msg.signature[49] + ); + assert_eq!( + msg.signature[50], 2, + "incorrect value for signature[50], expected 2, is {}", + msg.signature[50] + ); + assert_eq!( + msg.signature[51], 3, + "incorrect value for signature[51], expected 3, is {}", + msg.signature[51] + ); + assert_eq!( + msg.signature[52], 4, + "incorrect value for signature[52], expected 4, is {}", + msg.signature[52] + ); + assert_eq!( + msg.signature[53], 5, + "incorrect value for signature[53], expected 5, is {}", + msg.signature[53] + ); + assert_eq!( + msg.signature[54], 6, + "incorrect value for signature[54], expected 6, is {}", + msg.signature[54] + ); + assert_eq!( + msg.signature[55], 7, + "incorrect value for signature[55], expected 7, is {}", + msg.signature[55] + ); + assert_eq!( + msg.signature[56], 0, + "incorrect value for signature[56], expected 0, is {}", + msg.signature[56] + ); + assert_eq!( + msg.signature[57], 1, + "incorrect value for signature[57], expected 1, is {}", + msg.signature[57] + ); + assert_eq!( + msg.signature[58], 2, + "incorrect value for signature[58], expected 2, is {}", + msg.signature[58] + ); + assert_eq!( + msg.signature[59], 3, + "incorrect value for signature[59], expected 3, is {}", + msg.signature[59] + ); + assert_eq!( + msg.signature[60], 4, + "incorrect value for signature[60], expected 4, is {}", + msg.signature[60] + ); + assert_eq!( + msg.signature[61], 5, + "incorrect value for signature[61], expected 5, is {}", + msg.signature[61] + ); + assert_eq!( + msg.signature[62], 6, + "incorrect value for signature[62], expected 6, is {}", + msg.signature[62] + ); + assert_eq!( + msg.signature[63], 7, + "incorrect value for signature[63], expected 7, is {}", + msg.signature[63] + ); + assert_eq!( + msg.signed_messages[0], 10, + "incorrect value for signed_messages[0], expected 10, is {}", + msg.signed_messages[0] + ); + assert_eq!( + msg.signed_messages[1], 21, + "incorrect value for signed_messages[1], expected 21, is {}", + msg.signed_messages[1] + ); + assert_eq!( + msg.signed_messages[2], 23, + "incorrect value for signed_messages[2], expected 23, is {}", + msg.signed_messages[2] + ); + assert_eq!( + msg.signed_messages[3], 63, + "incorrect value for signed_messages[3], expected 63, is {}", + msg.signed_messages[3] + ); + assert_eq!( + msg.signed_messages[4], 140, + "incorrect value for signed_messages[4], expected 140, is {}", + msg.signed_messages[4] + ); + assert_eq!( + msg.signed_messages[5], 37, + "incorrect value for signed_messages[5], expected 37, is {}", + msg.signed_messages[5] + ); + assert_eq!( + msg.signed_messages[6], 130, + "incorrect value for signed_messages[6], expected 130, is {}", + msg.signed_messages[6] + ); + assert_eq!( + msg.signed_messages[7], 106, + "incorrect value for signed_messages[7], expected 106, is {}", + msg.signed_messages[7] + ); + assert_eq!( + msg.signed_messages[8], 28, + "incorrect value for signed_messages[8], expected 28, is {}", + msg.signed_messages[8] + ); + assert_eq!( + msg.signed_messages[9], 40, + "incorrect value for signed_messages[9], expected 40, is {}", + msg.signed_messages[9] + ); + assert_eq!( + msg.signed_messages[10], 165, + "incorrect value for signed_messages[10], expected 165, is {}", + msg.signed_messages[10] + ); + assert_eq!( + msg.signed_messages[11], 179, + "incorrect value for signed_messages[11], expected 179, is {}", + msg.signed_messages[11] + ); + assert_eq!( + msg.signed_messages[12], 73, + "incorrect value for signed_messages[12], expected 73, is {}", + msg.signed_messages[12] + ); + assert_eq!( + msg.signed_messages[13], 178, + "incorrect value for signed_messages[13], expected 178, is {}", + msg.signed_messages[13] + ); + assert_eq!( + msg.signed_messages[14], 60, + "incorrect value for signed_messages[14], expected 60, is {}", + msg.signed_messages[14] + ); + assert_eq!( + msg.signed_messages[15], 126, + "incorrect value for signed_messages[15], expected 126, is {}", + msg.signed_messages[15] + ); + assert_eq!( + msg.signed_messages[16], 114, + "incorrect value for signed_messages[16], expected 114, is {}", + msg.signed_messages[16] + ); + assert_eq!( + msg.signed_messages[17], 78, + "incorrect value for signed_messages[17], expected 78, is {}", + msg.signed_messages[17] + ); + assert_eq!( + msg.signed_messages[18], 113, + "incorrect value for signed_messages[18], expected 113, is {}", + msg.signed_messages[18] + ); + assert_eq!( + msg.signed_messages[19], 27, + "incorrect value for signed_messages[19], expected 27, is {}", + msg.signed_messages[19] + ); + assert_eq!( + msg.signed_messages[20], 95, + "incorrect value for signed_messages[20], expected 95, is {}", + msg.signed_messages[20] + ); + assert_eq!( + msg.signed_messages[21], 3, + "incorrect value for signed_messages[21], expected 3, is {}", + msg.signed_messages[21] + ); + assert_eq!( + msg.signed_messages[22], 62, + "incorrect value for signed_messages[22], expected 62, is {}", + msg.signed_messages[22] + ); + assert_eq!( + msg.signed_messages[23], 104, + "incorrect value for signed_messages[23], expected 104, is {}", + msg.signed_messages[23] + ); + assert_eq!( + msg.signed_messages[24], 145, + "incorrect value for signed_messages[24], expected 145, is {}", + msg.signed_messages[24] + ); + assert_eq!( + msg.signed_messages[25], 96, + "incorrect value for signed_messages[25], expected 96, is {}", + msg.signed_messages[25] + ); + assert_eq!( + msg.signed_messages[26], 19, + "incorrect value for signed_messages[26], expected 19, is {}", + msg.signed_messages[26] + ); + assert_eq!( + msg.signed_messages[27], 92, + "incorrect value for signed_messages[27], expected 92, is {}", + msg.signed_messages[27] + ); + assert_eq!( + msg.signed_messages[28], 123, + "incorrect value for signed_messages[28], expected 123, is {}", + msg.signed_messages[28] + ); + assert_eq!( + msg.signed_messages[29], 14, + "incorrect value for signed_messages[29], expected 14, is {}", + msg.signed_messages[29] + ); + assert_eq!( + msg.signed_messages[30], 90, + "incorrect value for signed_messages[30], expected 90, is {}", + msg.signed_messages[30] + ); + assert_eq!( + msg.signed_messages[31], 153, + "incorrect value for signed_messages[31], expected 153, is {}", + msg.signed_messages[31] + ); + assert_eq!( + msg.signed_messages[32], 183, + "incorrect value for signed_messages[32], expected 183, is {}", + msg.signed_messages[32] + ); + assert_eq!( + msg.signed_messages[33], 9, + "incorrect value for signed_messages[33], expected 9, is {}", + msg.signed_messages[33] + ); + assert_eq!( + msg.signed_messages[34], 72, + "incorrect value for signed_messages[34], expected 72, is {}", + msg.signed_messages[34] + ); + assert_eq!( + msg.signed_messages[35], 81, + "incorrect value for signed_messages[35], expected 81, is {}", + msg.signed_messages[35] + ); + assert_eq!( + msg.signed_messages[36], 118, + "incorrect value for signed_messages[36], expected 118, is {}", + msg.signed_messages[36] + ); + assert_eq!( + msg.signed_messages[37], 112, + "incorrect value for signed_messages[37], expected 112, is {}", + msg.signed_messages[37] + ); + assert_eq!( + msg.signed_messages[38], 124, + "incorrect value for signed_messages[38], expected 124, is {}", + msg.signed_messages[38] + ); + assert_eq!( + msg.signed_messages[39], 16, + "incorrect value for signed_messages[39], expected 16, is {}", + msg.signed_messages[39] + ); + assert_eq!( + msg.signed_messages[40], 182, + "incorrect value for signed_messages[40], expected 182, is {}", + msg.signed_messages[40] + ); + assert_eq!( + msg.signed_messages[41], 76, + "incorrect value for signed_messages[41], expected 76, is {}", + msg.signed_messages[41] + ); + assert_eq!( + msg.signed_messages[42], 146, + "incorrect value for signed_messages[42], expected 146, is {}", + msg.signed_messages[42] + ); + assert_eq!( + msg.signed_messages[43], 115, + "incorrect value for signed_messages[43], expected 115, is {}", + msg.signed_messages[43] + ); + assert_eq!( + msg.signed_messages[44], 58, + "incorrect value for signed_messages[44], expected 58, is {}", + msg.signed_messages[44] + ); + assert_eq!( + msg.signed_messages[45], 144, + "incorrect value for signed_messages[45], expected 144, is {}", + msg.signed_messages[45] + ); + assert_eq!( + msg.signed_messages[46], 17, + "incorrect value for signed_messages[46], expected 17, is {}", + msg.signed_messages[46] + ); + assert_eq!( + msg.signed_messages[47], 105, + "incorrect value for signed_messages[47], expected 105, is {}", + msg.signed_messages[47] + ); + assert_eq!( + msg.signed_messages[48], 66, + "incorrect value for signed_messages[48], expected 66, is {}", + msg.signed_messages[48] + ); + assert_eq!( + msg.signed_messages[49], 31, + "incorrect value for signed_messages[49], expected 31, is {}", + msg.signed_messages[49] + ); + assert_eq!( + msg.signed_messages[50], 135, + "incorrect value for signed_messages[50], expected 135, is {}", + msg.signed_messages[50] + ); + assert_eq!( + msg.signed_messages[51], 54, + "incorrect value for signed_messages[51], expected 54, is {}", + msg.signed_messages[51] + ); + assert_eq!( + msg.signed_messages[52], 100, + "incorrect value for signed_messages[52], expected 100, is {}", + msg.signed_messages[52] + ); + assert_eq!( + msg.signed_messages[53], 84, + "incorrect value for signed_messages[53], expected 84, is {}", + msg.signed_messages[53] + ); + assert_eq!( + msg.signed_messages[54], 181, + "incorrect value for signed_messages[54], expected 181, is {}", + msg.signed_messages[54] + ); + assert_eq!( + msg.signed_messages[55], 103, + "incorrect value for signed_messages[55], expected 103, is {}", + msg.signed_messages[55] + ); + assert_eq!( + msg.signed_messages[56], 11, + "incorrect value for signed_messages[56], expected 11, is {}", + msg.signed_messages[56] + ); + assert_eq!( + msg.signed_messages[57], 88, + "incorrect value for signed_messages[57], expected 88, is {}", + msg.signed_messages[57] + ); + assert_eq!( + msg.signed_messages[58], 133, + "incorrect value for signed_messages[58], expected 133, is {}", + msg.signed_messages[58] + ); + assert_eq!( + msg.signed_messages[59], 155, + "incorrect value for signed_messages[59], expected 155, is {}", + msg.signed_messages[59] + ); + assert_eq!( + msg.signed_messages[60], 167, + "incorrect value for signed_messages[60], expected 167, is {}", + msg.signed_messages[60] + ); + assert_eq!( + msg.signed_messages[61], 173, + "incorrect value for signed_messages[61], expected 173, is {}", + msg.signed_messages[61] + ); + assert_eq!( + msg.signed_messages[62], 143, + "incorrect value for signed_messages[62], expected 143, is {}", + msg.signed_messages[62] + ); + assert_eq!( + msg.signed_messages[63], 86, + "incorrect value for signed_messages[63], expected 86, is {}", + msg.signed_messages[63] + ); + assert_eq!( + msg.signed_messages[64], 158, + "incorrect value for signed_messages[64], expected 158, is {}", + msg.signed_messages[64] + ); + assert_eq!( + msg.signed_messages[65], 20, + "incorrect value for signed_messages[65], expected 20, is {}", + msg.signed_messages[65] + ); + assert_eq!( + msg.signed_messages[66], 168, + "incorrect value for signed_messages[66], expected 168, is {}", + msg.signed_messages[66] + ); + assert_eq!( + msg.signed_messages[67], 132, + "incorrect value for signed_messages[67], expected 132, is {}", + msg.signed_messages[67] + ); + assert_eq!( + msg.signed_messages[68], 141, + "incorrect value for signed_messages[68], expected 141, is {}", + msg.signed_messages[68] + ); + assert_eq!( + msg.signed_messages[69], 102, + "incorrect value for signed_messages[69], expected 102, is {}", + msg.signed_messages[69] + ); + assert_eq!( + msg.signed_messages[70], 50, + "incorrect value for signed_messages[70], expected 50, is {}", + msg.signed_messages[70] + ); + assert_eq!( + msg.signed_messages[71], 48, + "incorrect value for signed_messages[71], expected 48, is {}", + msg.signed_messages[71] + ); + assert_eq!( + msg.signed_messages[72], 71, + "incorrect value for signed_messages[72], expected 71, is {}", + msg.signed_messages[72] + ); + assert_eq!( + msg.signed_messages[73], 147, + "incorrect value for signed_messages[73], expected 147, is {}", + msg.signed_messages[73] + ); + assert_eq!( + msg.signed_messages[74], 53, + "incorrect value for signed_messages[74], expected 53, is {}", + msg.signed_messages[74] + ); + assert_eq!( + msg.signed_messages[75], 87, + "incorrect value for signed_messages[75], expected 87, is {}", + msg.signed_messages[75] + ); + assert_eq!( + msg.signed_messages[76], 1, + "incorrect value for signed_messages[76], expected 1, is {}", + msg.signed_messages[76] + ); + assert_eq!( + msg.signed_messages[77], 108, + "incorrect value for signed_messages[77], expected 108, is {}", + msg.signed_messages[77] + ); + assert_eq!( + msg.signed_messages[78], 138, + "incorrect value for signed_messages[78], expected 138, is {}", + msg.signed_messages[78] + ); + assert_eq!( + msg.signed_messages[79], 36, + "incorrect value for signed_messages[79], expected 36, is {}", + msg.signed_messages[79] + ); + assert_eq!( + msg.signed_messages[80], 134, + "incorrect value for signed_messages[80], expected 134, is {}", + msg.signed_messages[80] + ); + assert_eq!( + msg.signed_messages[81], 139, + "incorrect value for signed_messages[81], expected 139, is {}", + msg.signed_messages[81] + ); + assert_eq!( + msg.signed_messages[82], 163, + "incorrect value for signed_messages[82], expected 163, is {}", + msg.signed_messages[82] + ); + assert_eq!( + msg.signed_messages[83], 82, + "incorrect value for signed_messages[83], expected 82, is {}", + msg.signed_messages[83] + ); + assert_eq!( + msg.signed_messages[84], 43, + "incorrect value for signed_messages[84], expected 43, is {}", + msg.signed_messages[84] + ); + assert_eq!( + msg.signed_messages[85], 52, + "incorrect value for signed_messages[85], expected 52, is {}", + msg.signed_messages[85] + ); + assert_eq!( + msg.signed_messages[86], 150, + "incorrect value for signed_messages[86], expected 150, is {}", + msg.signed_messages[86] + ); + assert_eq!( + msg.signed_messages[87], 12, + "incorrect value for signed_messages[87], expected 12, is {}", + msg.signed_messages[87] + ); + assert_eq!( + msg.signed_messages[88], 30, + "incorrect value for signed_messages[88], expected 30, is {}", + msg.signed_messages[88] + ); + assert_eq!( + msg.signed_messages[89], 110, + "incorrect value for signed_messages[89], expected 110, is {}", + msg.signed_messages[89] + ); + assert_eq!( + msg.signed_messages[90], 156, + "incorrect value for signed_messages[90], expected 156, is {}", + msg.signed_messages[90] + ); + assert_eq!( + msg.signed_messages[91], 107, + "incorrect value for signed_messages[91], expected 107, is {}", + msg.signed_messages[91] + ); + assert_eq!( + msg.signed_messages[92], 120, + "incorrect value for signed_messages[92], expected 120, is {}", + msg.signed_messages[92] + ); + assert_eq!( + msg.signed_messages[93], 91, + "incorrect value for signed_messages[93], expected 91, is {}", + msg.signed_messages[93] + ); + assert_eq!( + msg.signed_messages[94], 122, + "incorrect value for signed_messages[94], expected 122, is {}", + msg.signed_messages[94] + ); + assert_eq!( + msg.signed_messages[95], 69, + "incorrect value for signed_messages[95], expected 69, is {}", + msg.signed_messages[95] + ); + assert_eq!( + msg.signed_messages[96], 164, + "incorrect value for signed_messages[96], expected 164, is {}", + msg.signed_messages[96] + ); + assert_eq!( + msg.signed_messages[97], 170, + "incorrect value for signed_messages[97], expected 170, is {}", + msg.signed_messages[97] + ); + assert_eq!( + msg.signed_messages[98], 116, + "incorrect value for signed_messages[98], expected 116, is {}", + msg.signed_messages[98] + ); + assert_eq!( + msg.signed_messages[99], 25, + "incorrect value for signed_messages[99], expected 25, is {}", + msg.signed_messages[99] + ); + assert_eq!( + msg.signed_messages[100], 94, + "incorrect value for signed_messages[100], expected 94, is {}", + msg.signed_messages[100] + ); + assert_eq!( + msg.signed_messages[101], 5, + "incorrect value for signed_messages[101], expected 5, is {}", + msg.signed_messages[101] + ); + assert_eq!( + msg.signed_messages[102], 22, + "incorrect value for signed_messages[102], expected 22, is {}", + msg.signed_messages[102] + ); + assert_eq!( + msg.signed_messages[103], 24, + "incorrect value for signed_messages[103], expected 24, is {}", + msg.signed_messages[103] + ); + assert_eq!( + msg.signed_messages[104], 162, + "incorrect value for signed_messages[104], expected 162, is {}", + msg.signed_messages[104] + ); + assert_eq!( + msg.signed_messages[105], 175, + "incorrect value for signed_messages[105], expected 175, is {}", + msg.signed_messages[105] + ); + assert_eq!( + msg.signed_messages[106], 38, + "incorrect value for signed_messages[106], expected 38, is {}", + msg.signed_messages[106] + ); + assert_eq!( + msg.signed_messages[107], 157, + "incorrect value for signed_messages[107], expected 157, is {}", + msg.signed_messages[107] + ); + assert_eq!( + msg.signed_messages[108], 98, + "incorrect value for signed_messages[108], expected 98, is {}", + msg.signed_messages[108] + ); + assert_eq!( + msg.signed_messages[109], 44, + "incorrect value for signed_messages[109], expected 44, is {}", + msg.signed_messages[109] + ); + assert_eq!( + msg.signed_messages[110], 160, + "incorrect value for signed_messages[110], expected 160, is {}", + msg.signed_messages[110] + ); + assert_eq!( + msg.signed_messages[111], 47, + "incorrect value for signed_messages[111], expected 47, is {}", + msg.signed_messages[111] + ); + assert_eq!( + msg.signed_messages[112], 97, + "incorrect value for signed_messages[112], expected 97, is {}", + msg.signed_messages[112] + ); + assert_eq!( + msg.signed_messages[113], 142, + "incorrect value for signed_messages[113], expected 142, is {}", + msg.signed_messages[113] + ); + assert_eq!( + msg.signed_messages[114], 8, + "incorrect value for signed_messages[114], expected 8, is {}", + msg.signed_messages[114] + ); + assert_eq!( + msg.signed_messages[115], 74, + "incorrect value for signed_messages[115], expected 74, is {}", + msg.signed_messages[115] + ); + assert_eq!( + msg.signed_messages[116], 13, + "incorrect value for signed_messages[116], expected 13, is {}", + msg.signed_messages[116] + ); + assert_eq!( + msg.signed_messages[117], 177, + "incorrect value for signed_messages[117], expected 177, is {}", + msg.signed_messages[117] + ); + assert_eq!( + msg.signed_messages[118], 15, + "incorrect value for signed_messages[118], expected 15, is {}", + msg.signed_messages[118] + ); + assert_eq!( + msg.signed_messages[119], 128, + "incorrect value for signed_messages[119], expected 128, is {}", + msg.signed_messages[119] + ); + assert_eq!( + msg.signed_messages[120], 26, + "incorrect value for signed_messages[120], expected 26, is {}", + msg.signed_messages[120] + ); + assert_eq!( + msg.signed_messages[121], 131, + "incorrect value for signed_messages[121], expected 131, is {}", + msg.signed_messages[121] + ); + assert_eq!( + msg.signed_messages[122], 154, + "incorrect value for signed_messages[122], expected 154, is {}", + msg.signed_messages[122] + ); + assert_eq!( + msg.signed_messages[123], 65, + "incorrect value for signed_messages[123], expected 65, is {}", + msg.signed_messages[123] + ); + assert_eq!( + msg.signed_messages[124], 169, + "incorrect value for signed_messages[124], expected 169, is {}", + msg.signed_messages[124] + ); + assert_eq!( + msg.signed_messages[125], 55, + "incorrect value for signed_messages[125], expected 55, is {}", + msg.signed_messages[125] + ); + assert_eq!( + msg.signed_messages[126], 136, + "incorrect value for signed_messages[126], expected 136, is {}", + msg.signed_messages[126] + ); + assert_eq!( + msg.signed_messages[127], 125, + "incorrect value for signed_messages[127], expected 125, is {}", + msg.signed_messages[127] + ); + assert_eq!( + msg.signed_messages[128], 171, + "incorrect value for signed_messages[128], expected 171, is {}", + msg.signed_messages[128] + ); + assert_eq!( + msg.signed_messages[129], 161, + "incorrect value for signed_messages[129], expected 161, is {}", + msg.signed_messages[129] + ); + assert_eq!( + msg.signed_messages[130], 29, + "incorrect value for signed_messages[130], expected 29, is {}", + msg.signed_messages[130] + ); + assert_eq!( + msg.signed_messages[131], 129, + "incorrect value for signed_messages[131], expected 129, is {}", + msg.signed_messages[131] + ); + assert_eq!( + msg.signed_messages[132], 151, + "incorrect value for signed_messages[132], expected 151, is {}", + msg.signed_messages[132] + ); + assert_eq!( + msg.signed_messages[133], 68, + "incorrect value for signed_messages[133], expected 68, is {}", + msg.signed_messages[133] + ); + assert_eq!( + msg.signed_messages[134], 166, + "incorrect value for signed_messages[134], expected 166, is {}", + msg.signed_messages[134] + ); + assert_eq!( + msg.signed_messages[135], 51, + "incorrect value for signed_messages[135], expected 51, is {}", + msg.signed_messages[135] + ); + assert_eq!( + msg.signed_messages[136], 70, + "incorrect value for signed_messages[136], expected 70, is {}", + msg.signed_messages[136] + ); + assert_eq!( + msg.signed_messages[137], 45, + "incorrect value for signed_messages[137], expected 45, is {}", + msg.signed_messages[137] + ); + assert_eq!( + msg.signed_messages[138], 56, + "incorrect value for signed_messages[138], expected 56, is {}", + msg.signed_messages[138] + ); + assert_eq!( + msg.signed_messages[139], 79, + "incorrect value for signed_messages[139], expected 79, is {}", + msg.signed_messages[139] + ); + assert_eq!( + msg.signed_messages[140], 149, + "incorrect value for signed_messages[140], expected 149, is {}", + msg.signed_messages[140] + ); + assert_eq!( + msg.signed_messages[141], 99, + "incorrect value for signed_messages[141], expected 99, is {}", + msg.signed_messages[141] + ); + assert_eq!( + msg.signed_messages[142], 42, + "incorrect value for signed_messages[142], expected 42, is {}", + msg.signed_messages[142] + ); + assert_eq!( + msg.signed_messages[143], 101, + "incorrect value for signed_messages[143], expected 101, is {}", + msg.signed_messages[143] + ); + assert_eq!( + msg.signed_messages[144], 152, + "incorrect value for signed_messages[144], expected 152, is {}", + msg.signed_messages[144] + ); + assert_eq!( + msg.signed_messages[145], 39, + "incorrect value for signed_messages[145], expected 39, is {}", + msg.signed_messages[145] + ); + assert_eq!( + msg.signed_messages[146], 89, + "incorrect value for signed_messages[146], expected 89, is {}", + msg.signed_messages[146] + ); + assert_eq!( + msg.signed_messages[147], 180, + "incorrect value for signed_messages[147], expected 180, is {}", + msg.signed_messages[147] + ); + assert_eq!( + msg.signed_messages[148], 64, + "incorrect value for signed_messages[148], expected 64, is {}", + msg.signed_messages[148] + ); + assert_eq!( + msg.signed_messages[149], 49, + "incorrect value for signed_messages[149], expected 49, is {}", + msg.signed_messages[149] + ); + assert_eq!( + msg.signed_messages[150], 6, + "incorrect value for signed_messages[150], expected 6, is {}", + msg.signed_messages[150] + ); + assert_eq!( + msg.signed_messages[151], 80, + "incorrect value for signed_messages[151], expected 80, is {}", + msg.signed_messages[151] + ); + assert_eq!( + msg.signed_messages[152], 172, + "incorrect value for signed_messages[152], expected 172, is {}", + msg.signed_messages[152] + ); + assert_eq!( + msg.signed_messages[153], 32, + "incorrect value for signed_messages[153], expected 32, is {}", + msg.signed_messages[153] + ); + assert_eq!( + msg.signed_messages[154], 109, + "incorrect value for signed_messages[154], expected 109, is {}", + msg.signed_messages[154] + ); + assert_eq!( + msg.signed_messages[155], 2, + "incorrect value for signed_messages[155], expected 2, is {}", + msg.signed_messages[155] + ); + assert_eq!( + msg.signed_messages[156], 119, + "incorrect value for signed_messages[156], expected 119, is {}", + msg.signed_messages[156] + ); + assert_eq!( + msg.signed_messages[157], 93, + "incorrect value for signed_messages[157], expected 93, is {}", + msg.signed_messages[157] + ); + assert_eq!( + msg.signed_messages[158], 176, + "incorrect value for signed_messages[158], expected 176, is {}", + msg.signed_messages[158] + ); + assert_eq!( + msg.signed_messages[159], 0, + "incorrect value for signed_messages[159], expected 0, is {}", + msg.signed_messages[159] + ); + assert_eq!( + msg.signed_messages[160], 33, + "incorrect value for signed_messages[160], expected 33, is {}", + msg.signed_messages[160] + ); + assert_eq!( + msg.signed_messages[161], 57, + "incorrect value for signed_messages[161], expected 57, is {}", + msg.signed_messages[161] + ); + assert_eq!( + msg.signed_messages[162], 34, + "incorrect value for signed_messages[162], expected 34, is {}", + msg.signed_messages[162] + ); + assert_eq!( + msg.signed_messages[163], 18, + "incorrect value for signed_messages[163], expected 18, is {}", + msg.signed_messages[163] + ); + assert_eq!( + msg.signed_messages[164], 85, + "incorrect value for signed_messages[164], expected 85, is {}", + msg.signed_messages[164] + ); + assert_eq!( + msg.signed_messages[165], 121, + "incorrect value for signed_messages[165], expected 121, is {}", + msg.signed_messages[165] + ); + assert_eq!( + msg.signed_messages[166], 137, + "incorrect value for signed_messages[166], expected 137, is {}", + msg.signed_messages[166] + ); + assert_eq!( + msg.signed_messages[167], 83, + "incorrect value for signed_messages[167], expected 83, is {}", + msg.signed_messages[167] + ); + assert_eq!( + msg.signed_messages[168], 111, + "incorrect value for signed_messages[168], expected 111, is {}", + msg.signed_messages[168] + ); + assert_eq!( + msg.signed_messages[169], 59, + "incorrect value for signed_messages[169], expected 59, is {}", + msg.signed_messages[169] + ); + assert_eq!( + msg.signed_messages[170], 7, + "incorrect value for signed_messages[170], expected 7, is {}", + msg.signed_messages[170] + ); + assert_eq!( + msg.signed_messages[171], 77, + "incorrect value for signed_messages[171], expected 77, is {}", + msg.signed_messages[171] + ); + assert_eq!( + msg.signed_messages[172], 4, + "incorrect value for signed_messages[172], expected 4, is {}", + msg.signed_messages[172] + ); + assert_eq!( + msg.signed_messages[173], 117, + "incorrect value for signed_messages[173], expected 117, is {}", + msg.signed_messages[173] + ); + assert_eq!( + msg.signed_messages[174], 159, + "incorrect value for signed_messages[174], expected 159, is {}", + msg.signed_messages[174] + ); + assert_eq!( + msg.signed_messages[175], 148, + "incorrect value for signed_messages[175], expected 148, is {}", + msg.signed_messages[175] + ); + assert_eq!( + msg.signed_messages[176], 35, + "incorrect value for signed_messages[176], expected 35, is {}", + msg.signed_messages[176] + ); + assert_eq!( + msg.signed_messages[177], 61, + "incorrect value for signed_messages[177], expected 61, is {}", + msg.signed_messages[177] + ); + assert_eq!( + msg.signed_messages[178], 41, + "incorrect value for signed_messages[178], expected 41, is {}", + msg.signed_messages[178] + ); + assert_eq!( + msg.signed_messages[179], 67, + "incorrect value for signed_messages[179], expected 67, is {}", + msg.signed_messages[179] + ); + assert_eq!( + msg.signed_messages[180], 46, + "incorrect value for signed_messages[180], expected 46, is {}", + msg.signed_messages[180] + ); + assert_eq!( + msg.signed_messages[181], 127, + "incorrect value for signed_messages[181], expected 127, is {}", + msg.signed_messages[181] + ); + assert_eq!( + msg.signed_messages[182], 75, + "incorrect value for signed_messages[182], expected 75, is {}", + msg.signed_messages[182] + ); + assert_eq!( + msg.signed_messages[183], 174, + "incorrect value for signed_messages[183], expected 174, is {}", + msg.signed_messages[183] + ); + assert_eq!( + msg.stream_counter, 1, + "incorrect value for stream_counter, expected 1, is {}", + msg.stream_counter + ); + } + _ => panic!("Invalid message type! Expected a MsgEcdsaSignatureDep"), + }; + let frame = sbp::to_vec(&sbp_msg).unwrap(); + assert_eq!(frame, payload.into_inner()); + } +} + +/// Tests [`sbp::json::iter_messages`] for JSON payload -> SBP message +/// and [`sbp::json::iter_messages_from_fields`] for JSON fields -> SBP message. +/// +/// Asserts: +/// - SBP message constructed via payload is identical to from fields +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +#[cfg(feature = "json")] +fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature_dep() { + { + let json_input = r#"{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 255, "payload": "AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu", "crc": 44129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": [1, 2, 3, 4], "signature": [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7], "signed_messages": [10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, 174]}"#.as_bytes(); + + let sbp_msg = { + // JSON to SBP message from payload + let mut iter = json2sbp_iter_msg(json_input); + let from_payload = iter + .next() + .expect("no message found") + .expect("failed to parse message"); + + // JSON to SBP message from fields + let mut iter = iter_messages_from_fields(json_input); + let from_fields = iter + .next() + .expect("no message found") + .expect("failed to parse message"); + + assert_eq!(from_fields, from_payload); + from_fields + }; + match &sbp_msg { + sbp::messages::Sbp::MsgEcdsaSignatureDep(msg) => { + assert_eq!( + msg.message_type(), + 0xC06, + "Incorrect message type, expected 0xC06, is {}", + msg.message_type() + ); + let sender_id = msg.sender_id().unwrap(); + assert_eq!( + sender_id, 0x42, + "incorrect sender id, expected 0x42, is {sender_id}" + ); + assert_eq!( + msg.certificate_id[0], 1, + "incorrect value for certificate_id[0], expected 1, is {}", + msg.certificate_id[0] + ); + assert_eq!( + msg.certificate_id[1], 2, + "incorrect value for certificate_id[1], expected 2, is {}", + msg.certificate_id[1] + ); + assert_eq!( + msg.certificate_id[2], 3, + "incorrect value for certificate_id[2], expected 3, is {}", + msg.certificate_id[2] + ); + assert_eq!( + msg.certificate_id[3], 4, + "incorrect value for certificate_id[3], expected 4, is {}", + msg.certificate_id[3] + ); + assert_eq!( + msg.flags, 0, + "incorrect value for flags, expected 0, is {}", + msg.flags + ); + assert_eq!( + msg.on_demand_counter, 2, + "incorrect value for on_demand_counter, expected 2, is {}", + msg.on_demand_counter + ); + assert_eq!( + msg.signature[0], 0, + "incorrect value for signature[0], expected 0, is {}", + msg.signature[0] + ); + assert_eq!( + msg.signature[1], 1, + "incorrect value for signature[1], expected 1, is {}", + msg.signature[1] + ); + assert_eq!( + msg.signature[2], 2, + "incorrect value for signature[2], expected 2, is {}", + msg.signature[2] + ); + assert_eq!( + msg.signature[3], 3, + "incorrect value for signature[3], expected 3, is {}", + msg.signature[3] + ); + assert_eq!( + msg.signature[4], 4, + "incorrect value for signature[4], expected 4, is {}", + msg.signature[4] + ); + assert_eq!( + msg.signature[5], 5, + "incorrect value for signature[5], expected 5, is {}", + msg.signature[5] + ); + assert_eq!( + msg.signature[6], 6, + "incorrect value for signature[6], expected 6, is {}", + msg.signature[6] + ); + assert_eq!( + msg.signature[7], 7, + "incorrect value for signature[7], expected 7, is {}", + msg.signature[7] + ); + assert_eq!( + msg.signature[8], 0, + "incorrect value for signature[8], expected 0, is {}", + msg.signature[8] + ); + assert_eq!( + msg.signature[9], 1, + "incorrect value for signature[9], expected 1, is {}", + msg.signature[9] + ); + assert_eq!( + msg.signature[10], 2, + "incorrect value for signature[10], expected 2, is {}", + msg.signature[10] + ); + assert_eq!( + msg.signature[11], 3, + "incorrect value for signature[11], expected 3, is {}", + msg.signature[11] + ); + assert_eq!( + msg.signature[12], 4, + "incorrect value for signature[12], expected 4, is {}", + msg.signature[12] + ); + assert_eq!( + msg.signature[13], 5, + "incorrect value for signature[13], expected 5, is {}", + msg.signature[13] + ); + assert_eq!( + msg.signature[14], 6, + "incorrect value for signature[14], expected 6, is {}", + msg.signature[14] + ); + assert_eq!( + msg.signature[15], 7, + "incorrect value for signature[15], expected 7, is {}", + msg.signature[15] + ); + assert_eq!( + msg.signature[16], 0, + "incorrect value for signature[16], expected 0, is {}", + msg.signature[16] + ); + assert_eq!( + msg.signature[17], 1, + "incorrect value for signature[17], expected 1, is {}", + msg.signature[17] + ); + assert_eq!( + msg.signature[18], 2, + "incorrect value for signature[18], expected 2, is {}", + msg.signature[18] + ); + assert_eq!( + msg.signature[19], 3, + "incorrect value for signature[19], expected 3, is {}", + msg.signature[19] + ); + assert_eq!( + msg.signature[20], 4, + "incorrect value for signature[20], expected 4, is {}", + msg.signature[20] + ); + assert_eq!( + msg.signature[21], 5, + "incorrect value for signature[21], expected 5, is {}", + msg.signature[21] + ); + assert_eq!( + msg.signature[22], 6, + "incorrect value for signature[22], expected 6, is {}", + msg.signature[22] + ); + assert_eq!( + msg.signature[23], 7, + "incorrect value for signature[23], expected 7, is {}", + msg.signature[23] + ); + assert_eq!( + msg.signature[24], 0, + "incorrect value for signature[24], expected 0, is {}", + msg.signature[24] + ); + assert_eq!( + msg.signature[25], 1, + "incorrect value for signature[25], expected 1, is {}", + msg.signature[25] + ); + assert_eq!( + msg.signature[26], 2, + "incorrect value for signature[26], expected 2, is {}", + msg.signature[26] + ); + assert_eq!( + msg.signature[27], 3, + "incorrect value for signature[27], expected 3, is {}", + msg.signature[27] + ); + assert_eq!( + msg.signature[28], 4, + "incorrect value for signature[28], expected 4, is {}", + msg.signature[28] + ); + assert_eq!( + msg.signature[29], 5, + "incorrect value for signature[29], expected 5, is {}", + msg.signature[29] + ); + assert_eq!( + msg.signature[30], 6, + "incorrect value for signature[30], expected 6, is {}", + msg.signature[30] + ); + assert_eq!( + msg.signature[31], 7, + "incorrect value for signature[31], expected 7, is {}", + msg.signature[31] + ); + assert_eq!( + msg.signature[32], 0, + "incorrect value for signature[32], expected 0, is {}", + msg.signature[32] + ); + assert_eq!( + msg.signature[33], 1, + "incorrect value for signature[33], expected 1, is {}", + msg.signature[33] + ); + assert_eq!( + msg.signature[34], 2, + "incorrect value for signature[34], expected 2, is {}", + msg.signature[34] + ); + assert_eq!( + msg.signature[35], 3, + "incorrect value for signature[35], expected 3, is {}", + msg.signature[35] + ); + assert_eq!( + msg.signature[36], 4, + "incorrect value for signature[36], expected 4, is {}", + msg.signature[36] + ); + assert_eq!( + msg.signature[37], 5, + "incorrect value for signature[37], expected 5, is {}", + msg.signature[37] + ); + assert_eq!( + msg.signature[38], 6, + "incorrect value for signature[38], expected 6, is {}", + msg.signature[38] + ); + assert_eq!( + msg.signature[39], 7, + "incorrect value for signature[39], expected 7, is {}", + msg.signature[39] + ); + assert_eq!( + msg.signature[40], 0, + "incorrect value for signature[40], expected 0, is {}", + msg.signature[40] + ); + assert_eq!( + msg.signature[41], 1, + "incorrect value for signature[41], expected 1, is {}", + msg.signature[41] + ); + assert_eq!( + msg.signature[42], 2, + "incorrect value for signature[42], expected 2, is {}", + msg.signature[42] + ); + assert_eq!( + msg.signature[43], 3, + "incorrect value for signature[43], expected 3, is {}", + msg.signature[43] + ); + assert_eq!( + msg.signature[44], 4, + "incorrect value for signature[44], expected 4, is {}", + msg.signature[44] + ); + assert_eq!( + msg.signature[45], 5, + "incorrect value for signature[45], expected 5, is {}", + msg.signature[45] + ); + assert_eq!( + msg.signature[46], 6, + "incorrect value for signature[46], expected 6, is {}", + msg.signature[46] + ); + assert_eq!( + msg.signature[47], 7, + "incorrect value for signature[47], expected 7, is {}", + msg.signature[47] + ); + assert_eq!( + msg.signature[48], 0, + "incorrect value for signature[48], expected 0, is {}", + msg.signature[48] + ); + assert_eq!( + msg.signature[49], 1, + "incorrect value for signature[49], expected 1, is {}", + msg.signature[49] + ); + assert_eq!( + msg.signature[50], 2, + "incorrect value for signature[50], expected 2, is {}", + msg.signature[50] + ); + assert_eq!( + msg.signature[51], 3, + "incorrect value for signature[51], expected 3, is {}", + msg.signature[51] + ); + assert_eq!( + msg.signature[52], 4, + "incorrect value for signature[52], expected 4, is {}", + msg.signature[52] + ); + assert_eq!( + msg.signature[53], 5, + "incorrect value for signature[53], expected 5, is {}", + msg.signature[53] + ); + assert_eq!( + msg.signature[54], 6, + "incorrect value for signature[54], expected 6, is {}", + msg.signature[54] + ); + assert_eq!( + msg.signature[55], 7, + "incorrect value for signature[55], expected 7, is {}", + msg.signature[55] + ); + assert_eq!( + msg.signature[56], 0, + "incorrect value for signature[56], expected 0, is {}", + msg.signature[56] + ); + assert_eq!( + msg.signature[57], 1, + "incorrect value for signature[57], expected 1, is {}", + msg.signature[57] + ); + assert_eq!( + msg.signature[58], 2, + "incorrect value for signature[58], expected 2, is {}", + msg.signature[58] + ); + assert_eq!( + msg.signature[59], 3, + "incorrect value for signature[59], expected 3, is {}", + msg.signature[59] + ); + assert_eq!( + msg.signature[60], 4, + "incorrect value for signature[60], expected 4, is {}", + msg.signature[60] + ); + assert_eq!( + msg.signature[61], 5, + "incorrect value for signature[61], expected 5, is {}", + msg.signature[61] + ); + assert_eq!( + msg.signature[62], 6, + "incorrect value for signature[62], expected 6, is {}", + msg.signature[62] + ); + assert_eq!( + msg.signature[63], 7, + "incorrect value for signature[63], expected 7, is {}", + msg.signature[63] + ); + assert_eq!( + msg.signed_messages[0], 10, + "incorrect value for signed_messages[0], expected 10, is {}", + msg.signed_messages[0] + ); + assert_eq!( + msg.signed_messages[1], 21, + "incorrect value for signed_messages[1], expected 21, is {}", + msg.signed_messages[1] + ); + assert_eq!( + msg.signed_messages[2], 23, + "incorrect value for signed_messages[2], expected 23, is {}", + msg.signed_messages[2] + ); + assert_eq!( + msg.signed_messages[3], 63, + "incorrect value for signed_messages[3], expected 63, is {}", + msg.signed_messages[3] + ); + assert_eq!( + msg.signed_messages[4], 140, + "incorrect value for signed_messages[4], expected 140, is {}", + msg.signed_messages[4] + ); + assert_eq!( + msg.signed_messages[5], 37, + "incorrect value for signed_messages[5], expected 37, is {}", + msg.signed_messages[5] + ); + assert_eq!( + msg.signed_messages[6], 130, + "incorrect value for signed_messages[6], expected 130, is {}", + msg.signed_messages[6] + ); + assert_eq!( + msg.signed_messages[7], 106, + "incorrect value for signed_messages[7], expected 106, is {}", + msg.signed_messages[7] + ); + assert_eq!( + msg.signed_messages[8], 28, + "incorrect value for signed_messages[8], expected 28, is {}", + msg.signed_messages[8] + ); + assert_eq!( + msg.signed_messages[9], 40, + "incorrect value for signed_messages[9], expected 40, is {}", + msg.signed_messages[9] + ); + assert_eq!( + msg.signed_messages[10], 165, + "incorrect value for signed_messages[10], expected 165, is {}", + msg.signed_messages[10] + ); + assert_eq!( + msg.signed_messages[11], 179, + "incorrect value for signed_messages[11], expected 179, is {}", + msg.signed_messages[11] + ); + assert_eq!( + msg.signed_messages[12], 73, + "incorrect value for signed_messages[12], expected 73, is {}", + msg.signed_messages[12] + ); + assert_eq!( + msg.signed_messages[13], 178, + "incorrect value for signed_messages[13], expected 178, is {}", + msg.signed_messages[13] + ); + assert_eq!( + msg.signed_messages[14], 60, + "incorrect value for signed_messages[14], expected 60, is {}", + msg.signed_messages[14] + ); + assert_eq!( + msg.signed_messages[15], 126, + "incorrect value for signed_messages[15], expected 126, is {}", + msg.signed_messages[15] + ); + assert_eq!( + msg.signed_messages[16], 114, + "incorrect value for signed_messages[16], expected 114, is {}", + msg.signed_messages[16] + ); + assert_eq!( + msg.signed_messages[17], 78, + "incorrect value for signed_messages[17], expected 78, is {}", + msg.signed_messages[17] + ); + assert_eq!( + msg.signed_messages[18], 113, + "incorrect value for signed_messages[18], expected 113, is {}", + msg.signed_messages[18] + ); + assert_eq!( + msg.signed_messages[19], 27, + "incorrect value for signed_messages[19], expected 27, is {}", + msg.signed_messages[19] + ); + assert_eq!( + msg.signed_messages[20], 95, + "incorrect value for signed_messages[20], expected 95, is {}", + msg.signed_messages[20] + ); + assert_eq!( + msg.signed_messages[21], 3, + "incorrect value for signed_messages[21], expected 3, is {}", + msg.signed_messages[21] + ); + assert_eq!( + msg.signed_messages[22], 62, + "incorrect value for signed_messages[22], expected 62, is {}", + msg.signed_messages[22] + ); + assert_eq!( + msg.signed_messages[23], 104, + "incorrect value for signed_messages[23], expected 104, is {}", + msg.signed_messages[23] + ); + assert_eq!( + msg.signed_messages[24], 145, + "incorrect value for signed_messages[24], expected 145, is {}", + msg.signed_messages[24] + ); + assert_eq!( + msg.signed_messages[25], 96, + "incorrect value for signed_messages[25], expected 96, is {}", + msg.signed_messages[25] + ); + assert_eq!( + msg.signed_messages[26], 19, + "incorrect value for signed_messages[26], expected 19, is {}", + msg.signed_messages[26] + ); + assert_eq!( + msg.signed_messages[27], 92, + "incorrect value for signed_messages[27], expected 92, is {}", + msg.signed_messages[27] + ); + assert_eq!( + msg.signed_messages[28], 123, + "incorrect value for signed_messages[28], expected 123, is {}", + msg.signed_messages[28] + ); + assert_eq!( + msg.signed_messages[29], 14, + "incorrect value for signed_messages[29], expected 14, is {}", + msg.signed_messages[29] + ); + assert_eq!( + msg.signed_messages[30], 90, + "incorrect value for signed_messages[30], expected 90, is {}", + msg.signed_messages[30] + ); + assert_eq!( + msg.signed_messages[31], 153, + "incorrect value for signed_messages[31], expected 153, is {}", + msg.signed_messages[31] + ); + assert_eq!( + msg.signed_messages[32], 183, + "incorrect value for signed_messages[32], expected 183, is {}", + msg.signed_messages[32] + ); + assert_eq!( + msg.signed_messages[33], 9, + "incorrect value for signed_messages[33], expected 9, is {}", + msg.signed_messages[33] + ); + assert_eq!( + msg.signed_messages[34], 72, + "incorrect value for signed_messages[34], expected 72, is {}", + msg.signed_messages[34] + ); + assert_eq!( + msg.signed_messages[35], 81, + "incorrect value for signed_messages[35], expected 81, is {}", + msg.signed_messages[35] + ); + assert_eq!( + msg.signed_messages[36], 118, + "incorrect value for signed_messages[36], expected 118, is {}", + msg.signed_messages[36] + ); + assert_eq!( + msg.signed_messages[37], 112, + "incorrect value for signed_messages[37], expected 112, is {}", + msg.signed_messages[37] + ); + assert_eq!( + msg.signed_messages[38], 124, + "incorrect value for signed_messages[38], expected 124, is {}", + msg.signed_messages[38] + ); + assert_eq!( + msg.signed_messages[39], 16, + "incorrect value for signed_messages[39], expected 16, is {}", + msg.signed_messages[39] + ); + assert_eq!( + msg.signed_messages[40], 182, + "incorrect value for signed_messages[40], expected 182, is {}", + msg.signed_messages[40] + ); + assert_eq!( + msg.signed_messages[41], 76, + "incorrect value for signed_messages[41], expected 76, is {}", + msg.signed_messages[41] + ); + assert_eq!( + msg.signed_messages[42], 146, + "incorrect value for signed_messages[42], expected 146, is {}", + msg.signed_messages[42] + ); + assert_eq!( + msg.signed_messages[43], 115, + "incorrect value for signed_messages[43], expected 115, is {}", + msg.signed_messages[43] + ); + assert_eq!( + msg.signed_messages[44], 58, + "incorrect value for signed_messages[44], expected 58, is {}", + msg.signed_messages[44] + ); + assert_eq!( + msg.signed_messages[45], 144, + "incorrect value for signed_messages[45], expected 144, is {}", + msg.signed_messages[45] + ); + assert_eq!( + msg.signed_messages[46], 17, + "incorrect value for signed_messages[46], expected 17, is {}", + msg.signed_messages[46] + ); + assert_eq!( + msg.signed_messages[47], 105, + "incorrect value for signed_messages[47], expected 105, is {}", + msg.signed_messages[47] + ); + assert_eq!( + msg.signed_messages[48], 66, + "incorrect value for signed_messages[48], expected 66, is {}", + msg.signed_messages[48] + ); + assert_eq!( + msg.signed_messages[49], 31, + "incorrect value for signed_messages[49], expected 31, is {}", + msg.signed_messages[49] + ); + assert_eq!( + msg.signed_messages[50], 135, + "incorrect value for signed_messages[50], expected 135, is {}", + msg.signed_messages[50] + ); + assert_eq!( + msg.signed_messages[51], 54, + "incorrect value for signed_messages[51], expected 54, is {}", + msg.signed_messages[51] + ); + assert_eq!( + msg.signed_messages[52], 100, + "incorrect value for signed_messages[52], expected 100, is {}", + msg.signed_messages[52] + ); + assert_eq!( + msg.signed_messages[53], 84, + "incorrect value for signed_messages[53], expected 84, is {}", + msg.signed_messages[53] + ); + assert_eq!( + msg.signed_messages[54], 181, + "incorrect value for signed_messages[54], expected 181, is {}", + msg.signed_messages[54] + ); + assert_eq!( + msg.signed_messages[55], 103, + "incorrect value for signed_messages[55], expected 103, is {}", + msg.signed_messages[55] + ); + assert_eq!( + msg.signed_messages[56], 11, + "incorrect value for signed_messages[56], expected 11, is {}", + msg.signed_messages[56] + ); + assert_eq!( + msg.signed_messages[57], 88, + "incorrect value for signed_messages[57], expected 88, is {}", + msg.signed_messages[57] + ); + assert_eq!( + msg.signed_messages[58], 133, + "incorrect value for signed_messages[58], expected 133, is {}", + msg.signed_messages[58] + ); + assert_eq!( + msg.signed_messages[59], 155, + "incorrect value for signed_messages[59], expected 155, is {}", + msg.signed_messages[59] + ); + assert_eq!( + msg.signed_messages[60], 167, + "incorrect value for signed_messages[60], expected 167, is {}", + msg.signed_messages[60] + ); + assert_eq!( + msg.signed_messages[61], 173, + "incorrect value for signed_messages[61], expected 173, is {}", + msg.signed_messages[61] + ); + assert_eq!( + msg.signed_messages[62], 143, + "incorrect value for signed_messages[62], expected 143, is {}", + msg.signed_messages[62] + ); + assert_eq!( + msg.signed_messages[63], 86, + "incorrect value for signed_messages[63], expected 86, is {}", + msg.signed_messages[63] + ); + assert_eq!( + msg.signed_messages[64], 158, + "incorrect value for signed_messages[64], expected 158, is {}", + msg.signed_messages[64] + ); + assert_eq!( + msg.signed_messages[65], 20, + "incorrect value for signed_messages[65], expected 20, is {}", + msg.signed_messages[65] + ); + assert_eq!( + msg.signed_messages[66], 168, + "incorrect value for signed_messages[66], expected 168, is {}", + msg.signed_messages[66] + ); + assert_eq!( + msg.signed_messages[67], 132, + "incorrect value for signed_messages[67], expected 132, is {}", + msg.signed_messages[67] + ); + assert_eq!( + msg.signed_messages[68], 141, + "incorrect value for signed_messages[68], expected 141, is {}", + msg.signed_messages[68] + ); + assert_eq!( + msg.signed_messages[69], 102, + "incorrect value for signed_messages[69], expected 102, is {}", + msg.signed_messages[69] + ); + assert_eq!( + msg.signed_messages[70], 50, + "incorrect value for signed_messages[70], expected 50, is {}", + msg.signed_messages[70] + ); + assert_eq!( + msg.signed_messages[71], 48, + "incorrect value for signed_messages[71], expected 48, is {}", + msg.signed_messages[71] + ); + assert_eq!( + msg.signed_messages[72], 71, + "incorrect value for signed_messages[72], expected 71, is {}", + msg.signed_messages[72] + ); + assert_eq!( + msg.signed_messages[73], 147, + "incorrect value for signed_messages[73], expected 147, is {}", + msg.signed_messages[73] + ); + assert_eq!( + msg.signed_messages[74], 53, + "incorrect value for signed_messages[74], expected 53, is {}", + msg.signed_messages[74] + ); + assert_eq!( + msg.signed_messages[75], 87, + "incorrect value for signed_messages[75], expected 87, is {}", + msg.signed_messages[75] + ); + assert_eq!( + msg.signed_messages[76], 1, + "incorrect value for signed_messages[76], expected 1, is {}", + msg.signed_messages[76] + ); + assert_eq!( + msg.signed_messages[77], 108, + "incorrect value for signed_messages[77], expected 108, is {}", + msg.signed_messages[77] + ); + assert_eq!( + msg.signed_messages[78], 138, + "incorrect value for signed_messages[78], expected 138, is {}", + msg.signed_messages[78] + ); + assert_eq!( + msg.signed_messages[79], 36, + "incorrect value for signed_messages[79], expected 36, is {}", + msg.signed_messages[79] + ); + assert_eq!( + msg.signed_messages[80], 134, + "incorrect value for signed_messages[80], expected 134, is {}", + msg.signed_messages[80] + ); + assert_eq!( + msg.signed_messages[81], 139, + "incorrect value for signed_messages[81], expected 139, is {}", + msg.signed_messages[81] + ); + assert_eq!( + msg.signed_messages[82], 163, + "incorrect value for signed_messages[82], expected 163, is {}", + msg.signed_messages[82] + ); + assert_eq!( + msg.signed_messages[83], 82, + "incorrect value for signed_messages[83], expected 82, is {}", + msg.signed_messages[83] + ); + assert_eq!( + msg.signed_messages[84], 43, + "incorrect value for signed_messages[84], expected 43, is {}", + msg.signed_messages[84] + ); + assert_eq!( + msg.signed_messages[85], 52, + "incorrect value for signed_messages[85], expected 52, is {}", + msg.signed_messages[85] + ); + assert_eq!( + msg.signed_messages[86], 150, + "incorrect value for signed_messages[86], expected 150, is {}", + msg.signed_messages[86] + ); + assert_eq!( + msg.signed_messages[87], 12, + "incorrect value for signed_messages[87], expected 12, is {}", + msg.signed_messages[87] + ); + assert_eq!( + msg.signed_messages[88], 30, + "incorrect value for signed_messages[88], expected 30, is {}", + msg.signed_messages[88] + ); + assert_eq!( + msg.signed_messages[89], 110, + "incorrect value for signed_messages[89], expected 110, is {}", + msg.signed_messages[89] + ); + assert_eq!( + msg.signed_messages[90], 156, + "incorrect value for signed_messages[90], expected 156, is {}", + msg.signed_messages[90] + ); + assert_eq!( + msg.signed_messages[91], 107, + "incorrect value for signed_messages[91], expected 107, is {}", + msg.signed_messages[91] + ); + assert_eq!( + msg.signed_messages[92], 120, + "incorrect value for signed_messages[92], expected 120, is {}", + msg.signed_messages[92] + ); + assert_eq!( + msg.signed_messages[93], 91, + "incorrect value for signed_messages[93], expected 91, is {}", + msg.signed_messages[93] + ); + assert_eq!( + msg.signed_messages[94], 122, + "incorrect value for signed_messages[94], expected 122, is {}", + msg.signed_messages[94] + ); + assert_eq!( + msg.signed_messages[95], 69, + "incorrect value for signed_messages[95], expected 69, is {}", + msg.signed_messages[95] + ); + assert_eq!( + msg.signed_messages[96], 164, + "incorrect value for signed_messages[96], expected 164, is {}", + msg.signed_messages[96] + ); + assert_eq!( + msg.signed_messages[97], 170, + "incorrect value for signed_messages[97], expected 170, is {}", + msg.signed_messages[97] + ); + assert_eq!( + msg.signed_messages[98], 116, + "incorrect value for signed_messages[98], expected 116, is {}", + msg.signed_messages[98] + ); + assert_eq!( + msg.signed_messages[99], 25, + "incorrect value for signed_messages[99], expected 25, is {}", + msg.signed_messages[99] + ); + assert_eq!( + msg.signed_messages[100], 94, + "incorrect value for signed_messages[100], expected 94, is {}", + msg.signed_messages[100] + ); + assert_eq!( + msg.signed_messages[101], 5, + "incorrect value for signed_messages[101], expected 5, is {}", + msg.signed_messages[101] + ); + assert_eq!( + msg.signed_messages[102], 22, + "incorrect value for signed_messages[102], expected 22, is {}", + msg.signed_messages[102] + ); + assert_eq!( + msg.signed_messages[103], 24, + "incorrect value for signed_messages[103], expected 24, is {}", + msg.signed_messages[103] + ); + assert_eq!( + msg.signed_messages[104], 162, + "incorrect value for signed_messages[104], expected 162, is {}", + msg.signed_messages[104] + ); + assert_eq!( + msg.signed_messages[105], 175, + "incorrect value for signed_messages[105], expected 175, is {}", + msg.signed_messages[105] + ); + assert_eq!( + msg.signed_messages[106], 38, + "incorrect value for signed_messages[106], expected 38, is {}", + msg.signed_messages[106] + ); + assert_eq!( + msg.signed_messages[107], 157, + "incorrect value for signed_messages[107], expected 157, is {}", + msg.signed_messages[107] + ); + assert_eq!( + msg.signed_messages[108], 98, + "incorrect value for signed_messages[108], expected 98, is {}", + msg.signed_messages[108] + ); + assert_eq!( + msg.signed_messages[109], 44, + "incorrect value for signed_messages[109], expected 44, is {}", + msg.signed_messages[109] + ); + assert_eq!( + msg.signed_messages[110], 160, + "incorrect value for signed_messages[110], expected 160, is {}", + msg.signed_messages[110] + ); + assert_eq!( + msg.signed_messages[111], 47, + "incorrect value for signed_messages[111], expected 47, is {}", + msg.signed_messages[111] + ); + assert_eq!( + msg.signed_messages[112], 97, + "incorrect value for signed_messages[112], expected 97, is {}", + msg.signed_messages[112] + ); + assert_eq!( + msg.signed_messages[113], 142, + "incorrect value for signed_messages[113], expected 142, is {}", + msg.signed_messages[113] + ); + assert_eq!( + msg.signed_messages[114], 8, + "incorrect value for signed_messages[114], expected 8, is {}", + msg.signed_messages[114] + ); + assert_eq!( + msg.signed_messages[115], 74, + "incorrect value for signed_messages[115], expected 74, is {}", + msg.signed_messages[115] + ); + assert_eq!( + msg.signed_messages[116], 13, + "incorrect value for signed_messages[116], expected 13, is {}", + msg.signed_messages[116] + ); + assert_eq!( + msg.signed_messages[117], 177, + "incorrect value for signed_messages[117], expected 177, is {}", + msg.signed_messages[117] + ); + assert_eq!( + msg.signed_messages[118], 15, + "incorrect value for signed_messages[118], expected 15, is {}", + msg.signed_messages[118] + ); + assert_eq!( + msg.signed_messages[119], 128, + "incorrect value for signed_messages[119], expected 128, is {}", + msg.signed_messages[119] + ); + assert_eq!( + msg.signed_messages[120], 26, + "incorrect value for signed_messages[120], expected 26, is {}", + msg.signed_messages[120] + ); + assert_eq!( + msg.signed_messages[121], 131, + "incorrect value for signed_messages[121], expected 131, is {}", + msg.signed_messages[121] + ); + assert_eq!( + msg.signed_messages[122], 154, + "incorrect value for signed_messages[122], expected 154, is {}", + msg.signed_messages[122] + ); + assert_eq!( + msg.signed_messages[123], 65, + "incorrect value for signed_messages[123], expected 65, is {}", + msg.signed_messages[123] + ); + assert_eq!( + msg.signed_messages[124], 169, + "incorrect value for signed_messages[124], expected 169, is {}", + msg.signed_messages[124] + ); + assert_eq!( + msg.signed_messages[125], 55, + "incorrect value for signed_messages[125], expected 55, is {}", + msg.signed_messages[125] + ); + assert_eq!( + msg.signed_messages[126], 136, + "incorrect value for signed_messages[126], expected 136, is {}", + msg.signed_messages[126] + ); + assert_eq!( + msg.signed_messages[127], 125, + "incorrect value for signed_messages[127], expected 125, is {}", + msg.signed_messages[127] + ); + assert_eq!( + msg.signed_messages[128], 171, + "incorrect value for signed_messages[128], expected 171, is {}", + msg.signed_messages[128] + ); + assert_eq!( + msg.signed_messages[129], 161, + "incorrect value for signed_messages[129], expected 161, is {}", + msg.signed_messages[129] + ); + assert_eq!( + msg.signed_messages[130], 29, + "incorrect value for signed_messages[130], expected 29, is {}", + msg.signed_messages[130] + ); + assert_eq!( + msg.signed_messages[131], 129, + "incorrect value for signed_messages[131], expected 129, is {}", + msg.signed_messages[131] + ); + assert_eq!( + msg.signed_messages[132], 151, + "incorrect value for signed_messages[132], expected 151, is {}", + msg.signed_messages[132] + ); + assert_eq!( + msg.signed_messages[133], 68, + "incorrect value for signed_messages[133], expected 68, is {}", + msg.signed_messages[133] + ); + assert_eq!( + msg.signed_messages[134], 166, + "incorrect value for signed_messages[134], expected 166, is {}", + msg.signed_messages[134] + ); + assert_eq!( + msg.signed_messages[135], 51, + "incorrect value for signed_messages[135], expected 51, is {}", + msg.signed_messages[135] + ); + assert_eq!( + msg.signed_messages[136], 70, + "incorrect value for signed_messages[136], expected 70, is {}", + msg.signed_messages[136] + ); + assert_eq!( + msg.signed_messages[137], 45, + "incorrect value for signed_messages[137], expected 45, is {}", + msg.signed_messages[137] + ); + assert_eq!( + msg.signed_messages[138], 56, + "incorrect value for signed_messages[138], expected 56, is {}", + msg.signed_messages[138] + ); + assert_eq!( + msg.signed_messages[139], 79, + "incorrect value for signed_messages[139], expected 79, is {}", + msg.signed_messages[139] + ); + assert_eq!( + msg.signed_messages[140], 149, + "incorrect value for signed_messages[140], expected 149, is {}", + msg.signed_messages[140] + ); + assert_eq!( + msg.signed_messages[141], 99, + "incorrect value for signed_messages[141], expected 99, is {}", + msg.signed_messages[141] + ); + assert_eq!( + msg.signed_messages[142], 42, + "incorrect value for signed_messages[142], expected 42, is {}", + msg.signed_messages[142] + ); + assert_eq!( + msg.signed_messages[143], 101, + "incorrect value for signed_messages[143], expected 101, is {}", + msg.signed_messages[143] + ); + assert_eq!( + msg.signed_messages[144], 152, + "incorrect value for signed_messages[144], expected 152, is {}", + msg.signed_messages[144] + ); + assert_eq!( + msg.signed_messages[145], 39, + "incorrect value for signed_messages[145], expected 39, is {}", + msg.signed_messages[145] + ); + assert_eq!( + msg.signed_messages[146], 89, + "incorrect value for signed_messages[146], expected 89, is {}", + msg.signed_messages[146] + ); + assert_eq!( + msg.signed_messages[147], 180, + "incorrect value for signed_messages[147], expected 180, is {}", + msg.signed_messages[147] + ); + assert_eq!( + msg.signed_messages[148], 64, + "incorrect value for signed_messages[148], expected 64, is {}", + msg.signed_messages[148] + ); + assert_eq!( + msg.signed_messages[149], 49, + "incorrect value for signed_messages[149], expected 49, is {}", + msg.signed_messages[149] + ); + assert_eq!( + msg.signed_messages[150], 6, + "incorrect value for signed_messages[150], expected 6, is {}", + msg.signed_messages[150] + ); + assert_eq!( + msg.signed_messages[151], 80, + "incorrect value for signed_messages[151], expected 80, is {}", + msg.signed_messages[151] + ); + assert_eq!( + msg.signed_messages[152], 172, + "incorrect value for signed_messages[152], expected 172, is {}", + msg.signed_messages[152] + ); + assert_eq!( + msg.signed_messages[153], 32, + "incorrect value for signed_messages[153], expected 32, is {}", + msg.signed_messages[153] + ); + assert_eq!( + msg.signed_messages[154], 109, + "incorrect value for signed_messages[154], expected 109, is {}", + msg.signed_messages[154] + ); + assert_eq!( + msg.signed_messages[155], 2, + "incorrect value for signed_messages[155], expected 2, is {}", + msg.signed_messages[155] + ); + assert_eq!( + msg.signed_messages[156], 119, + "incorrect value for signed_messages[156], expected 119, is {}", + msg.signed_messages[156] + ); + assert_eq!( + msg.signed_messages[157], 93, + "incorrect value for signed_messages[157], expected 93, is {}", + msg.signed_messages[157] + ); + assert_eq!( + msg.signed_messages[158], 176, + "incorrect value for signed_messages[158], expected 176, is {}", + msg.signed_messages[158] + ); + assert_eq!( + msg.signed_messages[159], 0, + "incorrect value for signed_messages[159], expected 0, is {}", + msg.signed_messages[159] + ); + assert_eq!( + msg.signed_messages[160], 33, + "incorrect value for signed_messages[160], expected 33, is {}", + msg.signed_messages[160] + ); + assert_eq!( + msg.signed_messages[161], 57, + "incorrect value for signed_messages[161], expected 57, is {}", + msg.signed_messages[161] + ); + assert_eq!( + msg.signed_messages[162], 34, + "incorrect value for signed_messages[162], expected 34, is {}", + msg.signed_messages[162] + ); + assert_eq!( + msg.signed_messages[163], 18, + "incorrect value for signed_messages[163], expected 18, is {}", + msg.signed_messages[163] + ); + assert_eq!( + msg.signed_messages[164], 85, + "incorrect value for signed_messages[164], expected 85, is {}", + msg.signed_messages[164] + ); + assert_eq!( + msg.signed_messages[165], 121, + "incorrect value for signed_messages[165], expected 121, is {}", + msg.signed_messages[165] + ); + assert_eq!( + msg.signed_messages[166], 137, + "incorrect value for signed_messages[166], expected 137, is {}", + msg.signed_messages[166] + ); + assert_eq!( + msg.signed_messages[167], 83, + "incorrect value for signed_messages[167], expected 83, is {}", + msg.signed_messages[167] + ); + assert_eq!( + msg.signed_messages[168], 111, + "incorrect value for signed_messages[168], expected 111, is {}", + msg.signed_messages[168] + ); + assert_eq!( + msg.signed_messages[169], 59, + "incorrect value for signed_messages[169], expected 59, is {}", + msg.signed_messages[169] + ); + assert_eq!( + msg.signed_messages[170], 7, + "incorrect value for signed_messages[170], expected 7, is {}", + msg.signed_messages[170] + ); + assert_eq!( + msg.signed_messages[171], 77, + "incorrect value for signed_messages[171], expected 77, is {}", + msg.signed_messages[171] + ); + assert_eq!( + msg.signed_messages[172], 4, + "incorrect value for signed_messages[172], expected 4, is {}", + msg.signed_messages[172] + ); + assert_eq!( + msg.signed_messages[173], 117, + "incorrect value for signed_messages[173], expected 117, is {}", + msg.signed_messages[173] + ); + assert_eq!( + msg.signed_messages[174], 159, + "incorrect value for signed_messages[174], expected 159, is {}", + msg.signed_messages[174] + ); + assert_eq!( + msg.signed_messages[175], 148, + "incorrect value for signed_messages[175], expected 148, is {}", + msg.signed_messages[175] + ); + assert_eq!( + msg.signed_messages[176], 35, + "incorrect value for signed_messages[176], expected 35, is {}", + msg.signed_messages[176] + ); + assert_eq!( + msg.signed_messages[177], 61, + "incorrect value for signed_messages[177], expected 61, is {}", + msg.signed_messages[177] + ); + assert_eq!( + msg.signed_messages[178], 41, + "incorrect value for signed_messages[178], expected 41, is {}", + msg.signed_messages[178] + ); + assert_eq!( + msg.signed_messages[179], 67, + "incorrect value for signed_messages[179], expected 67, is {}", + msg.signed_messages[179] + ); + assert_eq!( + msg.signed_messages[180], 46, + "incorrect value for signed_messages[180], expected 46, is {}", + msg.signed_messages[180] + ); + assert_eq!( + msg.signed_messages[181], 127, + "incorrect value for signed_messages[181], expected 127, is {}", + msg.signed_messages[181] + ); + assert_eq!( + msg.signed_messages[182], 75, + "incorrect value for signed_messages[182], expected 75, is {}", + msg.signed_messages[182] + ); + assert_eq!( + msg.signed_messages[183], 174, + "incorrect value for signed_messages[183], expected 174, is {}", + msg.signed_messages[183] + ); + assert_eq!( + msg.stream_counter, 1, + "incorrect value for stream_counter, expected 1, is {}", + msg.stream_counter + ); + } + _ => panic!("Invalid message type! Expected a MsgEcdsaSignatureDep"), + }; + } +} + +/// Tests [`sbp::json::JsonEncoder`] for roundtrip SBP message -> JSON +/// +/// Assumes: +/// - [`self::test_auto_check_sbp_signing_msg_ecdsa_signature_dep`] passes +/// +/// Asserts: +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +#[cfg(feature = "json")] +fn test_sbp2json_auto_check_sbp_signing_msg_ecdsa_signature_dep() { + { + let mut payload = Cursor::new(vec![ + 85, 6, 12, 66, 0, 255, 0, 1, 2, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, + 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, + 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 10, 21, 23, 63, 140, 37, + 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, + 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, + 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, + 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, + 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, + 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, + 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, + 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, + 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, + 174, 97, 172, + ]); + + // Construct sbp message + let sbp_msg = { + let mut msgs = iter_messages(&mut payload); + msgs.next() + .expect("no message found") + .expect("failed to parse message") + }; + + let mut json_buffer = vec![]; + // Populate json buffer, CompactFormatter + sbp::json::JsonEncoder::new(&mut json_buffer, sbp::json::CompactFormatter {}) + .send(&sbp_msg) + .unwrap(); + + // Reconstruct Sbp message from json fields, roundtrip + let sbp_msg = sbp::messages::Sbp::MsgEcdsaSignatureDep( + serde_json::from_str( + std::str::from_utf8(json_buffer.as_slice()) + .unwrap() + .to_string() + .as_str(), + ) + .unwrap(), + ); + match &sbp_msg { + sbp::messages::Sbp::MsgEcdsaSignatureDep(msg) => { + assert_eq!( + msg.message_type(), + 0xC06, + "Incorrect message type, expected 0xC06, is {}", + msg.message_type() + ); + let sender_id = msg.sender_id().unwrap(); + assert_eq!( + sender_id, 0x42, + "incorrect sender id, expected 0x42, is {sender_id}" + ); + assert_eq!( + msg.certificate_id[0], 1, + "incorrect value for certificate_id[0], expected 1, is {}", + msg.certificate_id[0] + ); + assert_eq!( + msg.certificate_id[1], 2, + "incorrect value for certificate_id[1], expected 2, is {}", + msg.certificate_id[1] + ); + assert_eq!( + msg.certificate_id[2], 3, + "incorrect value for certificate_id[2], expected 3, is {}", + msg.certificate_id[2] + ); + assert_eq!( + msg.certificate_id[3], 4, + "incorrect value for certificate_id[3], expected 4, is {}", + msg.certificate_id[3] + ); + assert_eq!( + msg.flags, 0, + "incorrect value for flags, expected 0, is {}", + msg.flags + ); + assert_eq!( + msg.on_demand_counter, 2, + "incorrect value for on_demand_counter, expected 2, is {}", + msg.on_demand_counter + ); + assert_eq!( + msg.signature[0], 0, + "incorrect value for signature[0], expected 0, is {}", + msg.signature[0] + ); + assert_eq!( + msg.signature[1], 1, + "incorrect value for signature[1], expected 1, is {}", + msg.signature[1] + ); + assert_eq!( + msg.signature[2], 2, + "incorrect value for signature[2], expected 2, is {}", + msg.signature[2] + ); + assert_eq!( + msg.signature[3], 3, + "incorrect value for signature[3], expected 3, is {}", + msg.signature[3] + ); + assert_eq!( + msg.signature[4], 4, + "incorrect value for signature[4], expected 4, is {}", + msg.signature[4] + ); + assert_eq!( + msg.signature[5], 5, + "incorrect value for signature[5], expected 5, is {}", + msg.signature[5] + ); + assert_eq!( + msg.signature[6], 6, + "incorrect value for signature[6], expected 6, is {}", + msg.signature[6] + ); + assert_eq!( + msg.signature[7], 7, + "incorrect value for signature[7], expected 7, is {}", + msg.signature[7] + ); + assert_eq!( + msg.signature[8], 0, + "incorrect value for signature[8], expected 0, is {}", + msg.signature[8] + ); + assert_eq!( + msg.signature[9], 1, + "incorrect value for signature[9], expected 1, is {}", + msg.signature[9] + ); + assert_eq!( + msg.signature[10], 2, + "incorrect value for signature[10], expected 2, is {}", + msg.signature[10] + ); + assert_eq!( + msg.signature[11], 3, + "incorrect value for signature[11], expected 3, is {}", + msg.signature[11] + ); + assert_eq!( + msg.signature[12], 4, + "incorrect value for signature[12], expected 4, is {}", + msg.signature[12] + ); + assert_eq!( + msg.signature[13], 5, + "incorrect value for signature[13], expected 5, is {}", + msg.signature[13] + ); + assert_eq!( + msg.signature[14], 6, + "incorrect value for signature[14], expected 6, is {}", + msg.signature[14] + ); + assert_eq!( + msg.signature[15], 7, + "incorrect value for signature[15], expected 7, is {}", + msg.signature[15] + ); + assert_eq!( + msg.signature[16], 0, + "incorrect value for signature[16], expected 0, is {}", + msg.signature[16] + ); + assert_eq!( + msg.signature[17], 1, + "incorrect value for signature[17], expected 1, is {}", + msg.signature[17] + ); + assert_eq!( + msg.signature[18], 2, + "incorrect value for signature[18], expected 2, is {}", + msg.signature[18] + ); + assert_eq!( + msg.signature[19], 3, + "incorrect value for signature[19], expected 3, is {}", + msg.signature[19] + ); + assert_eq!( + msg.signature[20], 4, + "incorrect value for signature[20], expected 4, is {}", + msg.signature[20] + ); + assert_eq!( + msg.signature[21], 5, + "incorrect value for signature[21], expected 5, is {}", + msg.signature[21] + ); + assert_eq!( + msg.signature[22], 6, + "incorrect value for signature[22], expected 6, is {}", + msg.signature[22] + ); + assert_eq!( + msg.signature[23], 7, + "incorrect value for signature[23], expected 7, is {}", + msg.signature[23] + ); + assert_eq!( + msg.signature[24], 0, + "incorrect value for signature[24], expected 0, is {}", + msg.signature[24] + ); + assert_eq!( + msg.signature[25], 1, + "incorrect value for signature[25], expected 1, is {}", + msg.signature[25] + ); + assert_eq!( + msg.signature[26], 2, + "incorrect value for signature[26], expected 2, is {}", + msg.signature[26] + ); + assert_eq!( + msg.signature[27], 3, + "incorrect value for signature[27], expected 3, is {}", + msg.signature[27] + ); + assert_eq!( + msg.signature[28], 4, + "incorrect value for signature[28], expected 4, is {}", + msg.signature[28] + ); + assert_eq!( + msg.signature[29], 5, + "incorrect value for signature[29], expected 5, is {}", + msg.signature[29] + ); + assert_eq!( + msg.signature[30], 6, + "incorrect value for signature[30], expected 6, is {}", + msg.signature[30] + ); + assert_eq!( + msg.signature[31], 7, + "incorrect value for signature[31], expected 7, is {}", + msg.signature[31] + ); + assert_eq!( + msg.signature[32], 0, + "incorrect value for signature[32], expected 0, is {}", + msg.signature[32] + ); + assert_eq!( + msg.signature[33], 1, + "incorrect value for signature[33], expected 1, is {}", + msg.signature[33] + ); + assert_eq!( + msg.signature[34], 2, + "incorrect value for signature[34], expected 2, is {}", + msg.signature[34] + ); + assert_eq!( + msg.signature[35], 3, + "incorrect value for signature[35], expected 3, is {}", + msg.signature[35] + ); + assert_eq!( + msg.signature[36], 4, + "incorrect value for signature[36], expected 4, is {}", + msg.signature[36] + ); + assert_eq!( + msg.signature[37], 5, + "incorrect value for signature[37], expected 5, is {}", + msg.signature[37] + ); + assert_eq!( + msg.signature[38], 6, + "incorrect value for signature[38], expected 6, is {}", + msg.signature[38] + ); + assert_eq!( + msg.signature[39], 7, + "incorrect value for signature[39], expected 7, is {}", + msg.signature[39] + ); + assert_eq!( + msg.signature[40], 0, + "incorrect value for signature[40], expected 0, is {}", + msg.signature[40] + ); + assert_eq!( + msg.signature[41], 1, + "incorrect value for signature[41], expected 1, is {}", + msg.signature[41] + ); + assert_eq!( + msg.signature[42], 2, + "incorrect value for signature[42], expected 2, is {}", + msg.signature[42] + ); + assert_eq!( + msg.signature[43], 3, + "incorrect value for signature[43], expected 3, is {}", + msg.signature[43] + ); + assert_eq!( + msg.signature[44], 4, + "incorrect value for signature[44], expected 4, is {}", + msg.signature[44] + ); + assert_eq!( + msg.signature[45], 5, + "incorrect value for signature[45], expected 5, is {}", + msg.signature[45] + ); + assert_eq!( + msg.signature[46], 6, + "incorrect value for signature[46], expected 6, is {}", + msg.signature[46] + ); + assert_eq!( + msg.signature[47], 7, + "incorrect value for signature[47], expected 7, is {}", + msg.signature[47] + ); + assert_eq!( + msg.signature[48], 0, + "incorrect value for signature[48], expected 0, is {}", + msg.signature[48] + ); + assert_eq!( + msg.signature[49], 1, + "incorrect value for signature[49], expected 1, is {}", + msg.signature[49] + ); + assert_eq!( + msg.signature[50], 2, + "incorrect value for signature[50], expected 2, is {}", + msg.signature[50] + ); + assert_eq!( + msg.signature[51], 3, + "incorrect value for signature[51], expected 3, is {}", + msg.signature[51] + ); + assert_eq!( + msg.signature[52], 4, + "incorrect value for signature[52], expected 4, is {}", + msg.signature[52] + ); + assert_eq!( + msg.signature[53], 5, + "incorrect value for signature[53], expected 5, is {}", + msg.signature[53] + ); + assert_eq!( + msg.signature[54], 6, + "incorrect value for signature[54], expected 6, is {}", + msg.signature[54] + ); + assert_eq!( + msg.signature[55], 7, + "incorrect value for signature[55], expected 7, is {}", + msg.signature[55] + ); + assert_eq!( + msg.signature[56], 0, + "incorrect value for signature[56], expected 0, is {}", + msg.signature[56] + ); + assert_eq!( + msg.signature[57], 1, + "incorrect value for signature[57], expected 1, is {}", + msg.signature[57] + ); + assert_eq!( + msg.signature[58], 2, + "incorrect value for signature[58], expected 2, is {}", + msg.signature[58] + ); + assert_eq!( + msg.signature[59], 3, + "incorrect value for signature[59], expected 3, is {}", + msg.signature[59] + ); + assert_eq!( + msg.signature[60], 4, + "incorrect value for signature[60], expected 4, is {}", + msg.signature[60] + ); + assert_eq!( + msg.signature[61], 5, + "incorrect value for signature[61], expected 5, is {}", + msg.signature[61] + ); + assert_eq!( + msg.signature[62], 6, + "incorrect value for signature[62], expected 6, is {}", + msg.signature[62] + ); + assert_eq!( + msg.signature[63], 7, + "incorrect value for signature[63], expected 7, is {}", + msg.signature[63] + ); + assert_eq!( + msg.signed_messages[0], 10, + "incorrect value for signed_messages[0], expected 10, is {}", + msg.signed_messages[0] + ); + assert_eq!( + msg.signed_messages[1], 21, + "incorrect value for signed_messages[1], expected 21, is {}", + msg.signed_messages[1] + ); + assert_eq!( + msg.signed_messages[2], 23, + "incorrect value for signed_messages[2], expected 23, is {}", + msg.signed_messages[2] + ); + assert_eq!( + msg.signed_messages[3], 63, + "incorrect value for signed_messages[3], expected 63, is {}", + msg.signed_messages[3] + ); + assert_eq!( + msg.signed_messages[4], 140, + "incorrect value for signed_messages[4], expected 140, is {}", + msg.signed_messages[4] + ); + assert_eq!( + msg.signed_messages[5], 37, + "incorrect value for signed_messages[5], expected 37, is {}", + msg.signed_messages[5] + ); + assert_eq!( + msg.signed_messages[6], 130, + "incorrect value for signed_messages[6], expected 130, is {}", + msg.signed_messages[6] + ); + assert_eq!( + msg.signed_messages[7], 106, + "incorrect value for signed_messages[7], expected 106, is {}", + msg.signed_messages[7] + ); + assert_eq!( + msg.signed_messages[8], 28, + "incorrect value for signed_messages[8], expected 28, is {}", + msg.signed_messages[8] + ); + assert_eq!( + msg.signed_messages[9], 40, + "incorrect value for signed_messages[9], expected 40, is {}", + msg.signed_messages[9] + ); + assert_eq!( + msg.signed_messages[10], 165, + "incorrect value for signed_messages[10], expected 165, is {}", + msg.signed_messages[10] + ); + assert_eq!( + msg.signed_messages[11], 179, + "incorrect value for signed_messages[11], expected 179, is {}", + msg.signed_messages[11] + ); + assert_eq!( + msg.signed_messages[12], 73, + "incorrect value for signed_messages[12], expected 73, is {}", + msg.signed_messages[12] + ); + assert_eq!( + msg.signed_messages[13], 178, + "incorrect value for signed_messages[13], expected 178, is {}", + msg.signed_messages[13] + ); + assert_eq!( + msg.signed_messages[14], 60, + "incorrect value for signed_messages[14], expected 60, is {}", + msg.signed_messages[14] + ); + assert_eq!( + msg.signed_messages[15], 126, + "incorrect value for signed_messages[15], expected 126, is {}", + msg.signed_messages[15] + ); + assert_eq!( + msg.signed_messages[16], 114, + "incorrect value for signed_messages[16], expected 114, is {}", + msg.signed_messages[16] + ); + assert_eq!( + msg.signed_messages[17], 78, + "incorrect value for signed_messages[17], expected 78, is {}", + msg.signed_messages[17] + ); + assert_eq!( + msg.signed_messages[18], 113, + "incorrect value for signed_messages[18], expected 113, is {}", + msg.signed_messages[18] + ); + assert_eq!( + msg.signed_messages[19], 27, + "incorrect value for signed_messages[19], expected 27, is {}", + msg.signed_messages[19] + ); + assert_eq!( + msg.signed_messages[20], 95, + "incorrect value for signed_messages[20], expected 95, is {}", + msg.signed_messages[20] + ); + assert_eq!( + msg.signed_messages[21], 3, + "incorrect value for signed_messages[21], expected 3, is {}", + msg.signed_messages[21] + ); + assert_eq!( + msg.signed_messages[22], 62, + "incorrect value for signed_messages[22], expected 62, is {}", + msg.signed_messages[22] + ); + assert_eq!( + msg.signed_messages[23], 104, + "incorrect value for signed_messages[23], expected 104, is {}", + msg.signed_messages[23] + ); + assert_eq!( + msg.signed_messages[24], 145, + "incorrect value for signed_messages[24], expected 145, is {}", + msg.signed_messages[24] + ); + assert_eq!( + msg.signed_messages[25], 96, + "incorrect value for signed_messages[25], expected 96, is {}", + msg.signed_messages[25] + ); + assert_eq!( + msg.signed_messages[26], 19, + "incorrect value for signed_messages[26], expected 19, is {}", + msg.signed_messages[26] + ); + assert_eq!( + msg.signed_messages[27], 92, + "incorrect value for signed_messages[27], expected 92, is {}", + msg.signed_messages[27] + ); + assert_eq!( + msg.signed_messages[28], 123, + "incorrect value for signed_messages[28], expected 123, is {}", + msg.signed_messages[28] + ); + assert_eq!( + msg.signed_messages[29], 14, + "incorrect value for signed_messages[29], expected 14, is {}", + msg.signed_messages[29] + ); + assert_eq!( + msg.signed_messages[30], 90, + "incorrect value for signed_messages[30], expected 90, is {}", + msg.signed_messages[30] + ); + assert_eq!( + msg.signed_messages[31], 153, + "incorrect value for signed_messages[31], expected 153, is {}", + msg.signed_messages[31] + ); + assert_eq!( + msg.signed_messages[32], 183, + "incorrect value for signed_messages[32], expected 183, is {}", + msg.signed_messages[32] + ); + assert_eq!( + msg.signed_messages[33], 9, + "incorrect value for signed_messages[33], expected 9, is {}", + msg.signed_messages[33] + ); + assert_eq!( + msg.signed_messages[34], 72, + "incorrect value for signed_messages[34], expected 72, is {}", + msg.signed_messages[34] + ); + assert_eq!( + msg.signed_messages[35], 81, + "incorrect value for signed_messages[35], expected 81, is {}", + msg.signed_messages[35] + ); + assert_eq!( + msg.signed_messages[36], 118, + "incorrect value for signed_messages[36], expected 118, is {}", + msg.signed_messages[36] + ); + assert_eq!( + msg.signed_messages[37], 112, + "incorrect value for signed_messages[37], expected 112, is {}", + msg.signed_messages[37] + ); + assert_eq!( + msg.signed_messages[38], 124, + "incorrect value for signed_messages[38], expected 124, is {}", + msg.signed_messages[38] + ); + assert_eq!( + msg.signed_messages[39], 16, + "incorrect value for signed_messages[39], expected 16, is {}", + msg.signed_messages[39] + ); + assert_eq!( + msg.signed_messages[40], 182, + "incorrect value for signed_messages[40], expected 182, is {}", + msg.signed_messages[40] + ); + assert_eq!( + msg.signed_messages[41], 76, + "incorrect value for signed_messages[41], expected 76, is {}", + msg.signed_messages[41] + ); + assert_eq!( + msg.signed_messages[42], 146, + "incorrect value for signed_messages[42], expected 146, is {}", + msg.signed_messages[42] + ); + assert_eq!( + msg.signed_messages[43], 115, + "incorrect value for signed_messages[43], expected 115, is {}", + msg.signed_messages[43] + ); + assert_eq!( + msg.signed_messages[44], 58, + "incorrect value for signed_messages[44], expected 58, is {}", + msg.signed_messages[44] + ); + assert_eq!( + msg.signed_messages[45], 144, + "incorrect value for signed_messages[45], expected 144, is {}", + msg.signed_messages[45] + ); + assert_eq!( + msg.signed_messages[46], 17, + "incorrect value for signed_messages[46], expected 17, is {}", + msg.signed_messages[46] + ); + assert_eq!( + msg.signed_messages[47], 105, + "incorrect value for signed_messages[47], expected 105, is {}", + msg.signed_messages[47] + ); + assert_eq!( + msg.signed_messages[48], 66, + "incorrect value for signed_messages[48], expected 66, is {}", + msg.signed_messages[48] + ); + assert_eq!( + msg.signed_messages[49], 31, + "incorrect value for signed_messages[49], expected 31, is {}", + msg.signed_messages[49] + ); + assert_eq!( + msg.signed_messages[50], 135, + "incorrect value for signed_messages[50], expected 135, is {}", + msg.signed_messages[50] + ); + assert_eq!( + msg.signed_messages[51], 54, + "incorrect value for signed_messages[51], expected 54, is {}", + msg.signed_messages[51] + ); + assert_eq!( + msg.signed_messages[52], 100, + "incorrect value for signed_messages[52], expected 100, is {}", + msg.signed_messages[52] + ); + assert_eq!( + msg.signed_messages[53], 84, + "incorrect value for signed_messages[53], expected 84, is {}", + msg.signed_messages[53] + ); + assert_eq!( + msg.signed_messages[54], 181, + "incorrect value for signed_messages[54], expected 181, is {}", + msg.signed_messages[54] + ); + assert_eq!( + msg.signed_messages[55], 103, + "incorrect value for signed_messages[55], expected 103, is {}", + msg.signed_messages[55] + ); + assert_eq!( + msg.signed_messages[56], 11, + "incorrect value for signed_messages[56], expected 11, is {}", + msg.signed_messages[56] + ); + assert_eq!( + msg.signed_messages[57], 88, + "incorrect value for signed_messages[57], expected 88, is {}", + msg.signed_messages[57] + ); + assert_eq!( + msg.signed_messages[58], 133, + "incorrect value for signed_messages[58], expected 133, is {}", + msg.signed_messages[58] + ); + assert_eq!( + msg.signed_messages[59], 155, + "incorrect value for signed_messages[59], expected 155, is {}", + msg.signed_messages[59] + ); + assert_eq!( + msg.signed_messages[60], 167, + "incorrect value for signed_messages[60], expected 167, is {}", + msg.signed_messages[60] + ); + assert_eq!( + msg.signed_messages[61], 173, + "incorrect value for signed_messages[61], expected 173, is {}", + msg.signed_messages[61] + ); + assert_eq!( + msg.signed_messages[62], 143, + "incorrect value for signed_messages[62], expected 143, is {}", + msg.signed_messages[62] + ); + assert_eq!( + msg.signed_messages[63], 86, + "incorrect value for signed_messages[63], expected 86, is {}", + msg.signed_messages[63] + ); + assert_eq!( + msg.signed_messages[64], 158, + "incorrect value for signed_messages[64], expected 158, is {}", + msg.signed_messages[64] + ); + assert_eq!( + msg.signed_messages[65], 20, + "incorrect value for signed_messages[65], expected 20, is {}", + msg.signed_messages[65] + ); + assert_eq!( + msg.signed_messages[66], 168, + "incorrect value for signed_messages[66], expected 168, is {}", + msg.signed_messages[66] + ); + assert_eq!( + msg.signed_messages[67], 132, + "incorrect value for signed_messages[67], expected 132, is {}", + msg.signed_messages[67] + ); + assert_eq!( + msg.signed_messages[68], 141, + "incorrect value for signed_messages[68], expected 141, is {}", + msg.signed_messages[68] + ); + assert_eq!( + msg.signed_messages[69], 102, + "incorrect value for signed_messages[69], expected 102, is {}", + msg.signed_messages[69] + ); + assert_eq!( + msg.signed_messages[70], 50, + "incorrect value for signed_messages[70], expected 50, is {}", + msg.signed_messages[70] + ); + assert_eq!( + msg.signed_messages[71], 48, + "incorrect value for signed_messages[71], expected 48, is {}", + msg.signed_messages[71] + ); + assert_eq!( + msg.signed_messages[72], 71, + "incorrect value for signed_messages[72], expected 71, is {}", + msg.signed_messages[72] + ); + assert_eq!( + msg.signed_messages[73], 147, + "incorrect value for signed_messages[73], expected 147, is {}", + msg.signed_messages[73] + ); + assert_eq!( + msg.signed_messages[74], 53, + "incorrect value for signed_messages[74], expected 53, is {}", + msg.signed_messages[74] + ); + assert_eq!( + msg.signed_messages[75], 87, + "incorrect value for signed_messages[75], expected 87, is {}", + msg.signed_messages[75] + ); + assert_eq!( + msg.signed_messages[76], 1, + "incorrect value for signed_messages[76], expected 1, is {}", + msg.signed_messages[76] + ); + assert_eq!( + msg.signed_messages[77], 108, + "incorrect value for signed_messages[77], expected 108, is {}", + msg.signed_messages[77] + ); + assert_eq!( + msg.signed_messages[78], 138, + "incorrect value for signed_messages[78], expected 138, is {}", + msg.signed_messages[78] + ); + assert_eq!( + msg.signed_messages[79], 36, + "incorrect value for signed_messages[79], expected 36, is {}", + msg.signed_messages[79] + ); + assert_eq!( + msg.signed_messages[80], 134, + "incorrect value for signed_messages[80], expected 134, is {}", + msg.signed_messages[80] + ); + assert_eq!( + msg.signed_messages[81], 139, + "incorrect value for signed_messages[81], expected 139, is {}", + msg.signed_messages[81] + ); + assert_eq!( + msg.signed_messages[82], 163, + "incorrect value for signed_messages[82], expected 163, is {}", + msg.signed_messages[82] + ); + assert_eq!( + msg.signed_messages[83], 82, + "incorrect value for signed_messages[83], expected 82, is {}", + msg.signed_messages[83] + ); + assert_eq!( + msg.signed_messages[84], 43, + "incorrect value for signed_messages[84], expected 43, is {}", + msg.signed_messages[84] + ); + assert_eq!( + msg.signed_messages[85], 52, + "incorrect value for signed_messages[85], expected 52, is {}", + msg.signed_messages[85] + ); + assert_eq!( + msg.signed_messages[86], 150, + "incorrect value for signed_messages[86], expected 150, is {}", + msg.signed_messages[86] + ); + assert_eq!( + msg.signed_messages[87], 12, + "incorrect value for signed_messages[87], expected 12, is {}", + msg.signed_messages[87] + ); + assert_eq!( + msg.signed_messages[88], 30, + "incorrect value for signed_messages[88], expected 30, is {}", + msg.signed_messages[88] + ); + assert_eq!( + msg.signed_messages[89], 110, + "incorrect value for signed_messages[89], expected 110, is {}", + msg.signed_messages[89] + ); + assert_eq!( + msg.signed_messages[90], 156, + "incorrect value for signed_messages[90], expected 156, is {}", + msg.signed_messages[90] + ); + assert_eq!( + msg.signed_messages[91], 107, + "incorrect value for signed_messages[91], expected 107, is {}", + msg.signed_messages[91] + ); + assert_eq!( + msg.signed_messages[92], 120, + "incorrect value for signed_messages[92], expected 120, is {}", + msg.signed_messages[92] + ); + assert_eq!( + msg.signed_messages[93], 91, + "incorrect value for signed_messages[93], expected 91, is {}", + msg.signed_messages[93] + ); + assert_eq!( + msg.signed_messages[94], 122, + "incorrect value for signed_messages[94], expected 122, is {}", + msg.signed_messages[94] + ); + assert_eq!( + msg.signed_messages[95], 69, + "incorrect value for signed_messages[95], expected 69, is {}", + msg.signed_messages[95] + ); + assert_eq!( + msg.signed_messages[96], 164, + "incorrect value for signed_messages[96], expected 164, is {}", + msg.signed_messages[96] + ); + assert_eq!( + msg.signed_messages[97], 170, + "incorrect value for signed_messages[97], expected 170, is {}", + msg.signed_messages[97] + ); + assert_eq!( + msg.signed_messages[98], 116, + "incorrect value for signed_messages[98], expected 116, is {}", + msg.signed_messages[98] + ); + assert_eq!( + msg.signed_messages[99], 25, + "incorrect value for signed_messages[99], expected 25, is {}", + msg.signed_messages[99] + ); + assert_eq!( + msg.signed_messages[100], 94, + "incorrect value for signed_messages[100], expected 94, is {}", + msg.signed_messages[100] + ); + assert_eq!( + msg.signed_messages[101], 5, + "incorrect value for signed_messages[101], expected 5, is {}", + msg.signed_messages[101] + ); + assert_eq!( + msg.signed_messages[102], 22, + "incorrect value for signed_messages[102], expected 22, is {}", + msg.signed_messages[102] + ); + assert_eq!( + msg.signed_messages[103], 24, + "incorrect value for signed_messages[103], expected 24, is {}", + msg.signed_messages[103] + ); + assert_eq!( + msg.signed_messages[104], 162, + "incorrect value for signed_messages[104], expected 162, is {}", + msg.signed_messages[104] + ); + assert_eq!( + msg.signed_messages[105], 175, + "incorrect value for signed_messages[105], expected 175, is {}", + msg.signed_messages[105] + ); + assert_eq!( + msg.signed_messages[106], 38, + "incorrect value for signed_messages[106], expected 38, is {}", + msg.signed_messages[106] + ); + assert_eq!( + msg.signed_messages[107], 157, + "incorrect value for signed_messages[107], expected 157, is {}", + msg.signed_messages[107] + ); + assert_eq!( + msg.signed_messages[108], 98, + "incorrect value for signed_messages[108], expected 98, is {}", + msg.signed_messages[108] + ); + assert_eq!( + msg.signed_messages[109], 44, + "incorrect value for signed_messages[109], expected 44, is {}", + msg.signed_messages[109] + ); + assert_eq!( + msg.signed_messages[110], 160, + "incorrect value for signed_messages[110], expected 160, is {}", + msg.signed_messages[110] + ); + assert_eq!( + msg.signed_messages[111], 47, + "incorrect value for signed_messages[111], expected 47, is {}", + msg.signed_messages[111] + ); + assert_eq!( + msg.signed_messages[112], 97, + "incorrect value for signed_messages[112], expected 97, is {}", + msg.signed_messages[112] + ); + assert_eq!( + msg.signed_messages[113], 142, + "incorrect value for signed_messages[113], expected 142, is {}", + msg.signed_messages[113] + ); + assert_eq!( + msg.signed_messages[114], 8, + "incorrect value for signed_messages[114], expected 8, is {}", + msg.signed_messages[114] + ); + assert_eq!( + msg.signed_messages[115], 74, + "incorrect value for signed_messages[115], expected 74, is {}", + msg.signed_messages[115] + ); + assert_eq!( + msg.signed_messages[116], 13, + "incorrect value for signed_messages[116], expected 13, is {}", + msg.signed_messages[116] + ); + assert_eq!( + msg.signed_messages[117], 177, + "incorrect value for signed_messages[117], expected 177, is {}", + msg.signed_messages[117] + ); + assert_eq!( + msg.signed_messages[118], 15, + "incorrect value for signed_messages[118], expected 15, is {}", + msg.signed_messages[118] + ); + assert_eq!( + msg.signed_messages[119], 128, + "incorrect value for signed_messages[119], expected 128, is {}", + msg.signed_messages[119] + ); + assert_eq!( + msg.signed_messages[120], 26, + "incorrect value for signed_messages[120], expected 26, is {}", + msg.signed_messages[120] + ); + assert_eq!( + msg.signed_messages[121], 131, + "incorrect value for signed_messages[121], expected 131, is {}", + msg.signed_messages[121] + ); + assert_eq!( + msg.signed_messages[122], 154, + "incorrect value for signed_messages[122], expected 154, is {}", + msg.signed_messages[122] + ); + assert_eq!( + msg.signed_messages[123], 65, + "incorrect value for signed_messages[123], expected 65, is {}", + msg.signed_messages[123] + ); + assert_eq!( + msg.signed_messages[124], 169, + "incorrect value for signed_messages[124], expected 169, is {}", + msg.signed_messages[124] + ); + assert_eq!( + msg.signed_messages[125], 55, + "incorrect value for signed_messages[125], expected 55, is {}", + msg.signed_messages[125] + ); + assert_eq!( + msg.signed_messages[126], 136, + "incorrect value for signed_messages[126], expected 136, is {}", + msg.signed_messages[126] + ); + assert_eq!( + msg.signed_messages[127], 125, + "incorrect value for signed_messages[127], expected 125, is {}", + msg.signed_messages[127] + ); + assert_eq!( + msg.signed_messages[128], 171, + "incorrect value for signed_messages[128], expected 171, is {}", + msg.signed_messages[128] + ); + assert_eq!( + msg.signed_messages[129], 161, + "incorrect value for signed_messages[129], expected 161, is {}", + msg.signed_messages[129] + ); + assert_eq!( + msg.signed_messages[130], 29, + "incorrect value for signed_messages[130], expected 29, is {}", + msg.signed_messages[130] + ); + assert_eq!( + msg.signed_messages[131], 129, + "incorrect value for signed_messages[131], expected 129, is {}", + msg.signed_messages[131] + ); + assert_eq!( + msg.signed_messages[132], 151, + "incorrect value for signed_messages[132], expected 151, is {}", + msg.signed_messages[132] + ); + assert_eq!( + msg.signed_messages[133], 68, + "incorrect value for signed_messages[133], expected 68, is {}", + msg.signed_messages[133] + ); + assert_eq!( + msg.signed_messages[134], 166, + "incorrect value for signed_messages[134], expected 166, is {}", + msg.signed_messages[134] + ); + assert_eq!( + msg.signed_messages[135], 51, + "incorrect value for signed_messages[135], expected 51, is {}", + msg.signed_messages[135] + ); + assert_eq!( + msg.signed_messages[136], 70, + "incorrect value for signed_messages[136], expected 70, is {}", + msg.signed_messages[136] + ); + assert_eq!( + msg.signed_messages[137], 45, + "incorrect value for signed_messages[137], expected 45, is {}", + msg.signed_messages[137] + ); + assert_eq!( + msg.signed_messages[138], 56, + "incorrect value for signed_messages[138], expected 56, is {}", + msg.signed_messages[138] + ); + assert_eq!( + msg.signed_messages[139], 79, + "incorrect value for signed_messages[139], expected 79, is {}", + msg.signed_messages[139] + ); + assert_eq!( + msg.signed_messages[140], 149, + "incorrect value for signed_messages[140], expected 149, is {}", + msg.signed_messages[140] + ); + assert_eq!( + msg.signed_messages[141], 99, + "incorrect value for signed_messages[141], expected 99, is {}", + msg.signed_messages[141] + ); + assert_eq!( + msg.signed_messages[142], 42, + "incorrect value for signed_messages[142], expected 42, is {}", + msg.signed_messages[142] + ); + assert_eq!( + msg.signed_messages[143], 101, + "incorrect value for signed_messages[143], expected 101, is {}", + msg.signed_messages[143] + ); + assert_eq!( + msg.signed_messages[144], 152, + "incorrect value for signed_messages[144], expected 152, is {}", + msg.signed_messages[144] + ); + assert_eq!( + msg.signed_messages[145], 39, + "incorrect value for signed_messages[145], expected 39, is {}", + msg.signed_messages[145] + ); + assert_eq!( + msg.signed_messages[146], 89, + "incorrect value for signed_messages[146], expected 89, is {}", + msg.signed_messages[146] + ); + assert_eq!( + msg.signed_messages[147], 180, + "incorrect value for signed_messages[147], expected 180, is {}", + msg.signed_messages[147] + ); + assert_eq!( + msg.signed_messages[148], 64, + "incorrect value for signed_messages[148], expected 64, is {}", + msg.signed_messages[148] + ); + assert_eq!( + msg.signed_messages[149], 49, + "incorrect value for signed_messages[149], expected 49, is {}", + msg.signed_messages[149] + ); + assert_eq!( + msg.signed_messages[150], 6, + "incorrect value for signed_messages[150], expected 6, is {}", + msg.signed_messages[150] + ); + assert_eq!( + msg.signed_messages[151], 80, + "incorrect value for signed_messages[151], expected 80, is {}", + msg.signed_messages[151] + ); + assert_eq!( + msg.signed_messages[152], 172, + "incorrect value for signed_messages[152], expected 172, is {}", + msg.signed_messages[152] + ); + assert_eq!( + msg.signed_messages[153], 32, + "incorrect value for signed_messages[153], expected 32, is {}", + msg.signed_messages[153] + ); + assert_eq!( + msg.signed_messages[154], 109, + "incorrect value for signed_messages[154], expected 109, is {}", + msg.signed_messages[154] + ); + assert_eq!( + msg.signed_messages[155], 2, + "incorrect value for signed_messages[155], expected 2, is {}", + msg.signed_messages[155] + ); + assert_eq!( + msg.signed_messages[156], 119, + "incorrect value for signed_messages[156], expected 119, is {}", + msg.signed_messages[156] + ); + assert_eq!( + msg.signed_messages[157], 93, + "incorrect value for signed_messages[157], expected 93, is {}", + msg.signed_messages[157] + ); + assert_eq!( + msg.signed_messages[158], 176, + "incorrect value for signed_messages[158], expected 176, is {}", + msg.signed_messages[158] + ); + assert_eq!( + msg.signed_messages[159], 0, + "incorrect value for signed_messages[159], expected 0, is {}", + msg.signed_messages[159] + ); + assert_eq!( + msg.signed_messages[160], 33, + "incorrect value for signed_messages[160], expected 33, is {}", + msg.signed_messages[160] + ); + assert_eq!( + msg.signed_messages[161], 57, + "incorrect value for signed_messages[161], expected 57, is {}", + msg.signed_messages[161] + ); + assert_eq!( + msg.signed_messages[162], 34, + "incorrect value for signed_messages[162], expected 34, is {}", + msg.signed_messages[162] + ); + assert_eq!( + msg.signed_messages[163], 18, + "incorrect value for signed_messages[163], expected 18, is {}", + msg.signed_messages[163] + ); + assert_eq!( + msg.signed_messages[164], 85, + "incorrect value for signed_messages[164], expected 85, is {}", + msg.signed_messages[164] + ); + assert_eq!( + msg.signed_messages[165], 121, + "incorrect value for signed_messages[165], expected 121, is {}", + msg.signed_messages[165] + ); + assert_eq!( + msg.signed_messages[166], 137, + "incorrect value for signed_messages[166], expected 137, is {}", + msg.signed_messages[166] + ); + assert_eq!( + msg.signed_messages[167], 83, + "incorrect value for signed_messages[167], expected 83, is {}", + msg.signed_messages[167] + ); + assert_eq!( + msg.signed_messages[168], 111, + "incorrect value for signed_messages[168], expected 111, is {}", + msg.signed_messages[168] + ); + assert_eq!( + msg.signed_messages[169], 59, + "incorrect value for signed_messages[169], expected 59, is {}", + msg.signed_messages[169] + ); + assert_eq!( + msg.signed_messages[170], 7, + "incorrect value for signed_messages[170], expected 7, is {}", + msg.signed_messages[170] + ); + assert_eq!( + msg.signed_messages[171], 77, + "incorrect value for signed_messages[171], expected 77, is {}", + msg.signed_messages[171] + ); + assert_eq!( + msg.signed_messages[172], 4, + "incorrect value for signed_messages[172], expected 4, is {}", + msg.signed_messages[172] + ); + assert_eq!( + msg.signed_messages[173], 117, + "incorrect value for signed_messages[173], expected 117, is {}", + msg.signed_messages[173] + ); + assert_eq!( + msg.signed_messages[174], 159, + "incorrect value for signed_messages[174], expected 159, is {}", + msg.signed_messages[174] + ); + assert_eq!( + msg.signed_messages[175], 148, + "incorrect value for signed_messages[175], expected 148, is {}", + msg.signed_messages[175] + ); + assert_eq!( + msg.signed_messages[176], 35, + "incorrect value for signed_messages[176], expected 35, is {}", + msg.signed_messages[176] + ); + assert_eq!( + msg.signed_messages[177], 61, + "incorrect value for signed_messages[177], expected 61, is {}", + msg.signed_messages[177] + ); + assert_eq!( + msg.signed_messages[178], 41, + "incorrect value for signed_messages[178], expected 41, is {}", + msg.signed_messages[178] + ); + assert_eq!( + msg.signed_messages[179], 67, + "incorrect value for signed_messages[179], expected 67, is {}", + msg.signed_messages[179] + ); + assert_eq!( + msg.signed_messages[180], 46, + "incorrect value for signed_messages[180], expected 46, is {}", + msg.signed_messages[180] + ); + assert_eq!( + msg.signed_messages[181], 127, + "incorrect value for signed_messages[181], expected 127, is {}", + msg.signed_messages[181] + ); + assert_eq!( + msg.signed_messages[182], 75, + "incorrect value for signed_messages[182], expected 75, is {}", + msg.signed_messages[182] + ); + assert_eq!( + msg.signed_messages[183], 174, + "incorrect value for signed_messages[183], expected 174, is {}", + msg.signed_messages[183] + ); + assert_eq!( + msg.stream_counter, 1, + "incorrect value for stream_counter, expected 1, is {}", + msg.stream_counter + ); + } + _ => panic!("Invalid message type! Expected a MsgEcdsaSignatureDep"), + }; + + // Check payload is still identical + let frame = sbp::to_vec(&sbp_msg).unwrap(); + assert_eq!(frame, payload.into_inner()); + } +} diff --git a/rust/sbp/tests/integration/main.rs b/rust/sbp/tests/integration/main.rs index f0c28c9ab3..76d771e5b1 100644 --- a/rust/sbp/tests/integration/main.rs +++ b/rust/sbp/tests/integration/main.rs @@ -97,6 +97,7 @@ mod auto_check_sbp_settings_msg_settings_read_by_index_resp; mod auto_check_sbp_signing_msg_certificate_chain; mod auto_check_sbp_signing_msg_ecdsa_certificate; mod auto_check_sbp_signing_msg_ecdsa_signature; +mod auto_check_sbp_signing_msg_ecdsa_signature_dep; mod auto_check_sbp_signing_msg_ed25519_certificate_dep; mod auto_check_sbp_signing_msg_ed25519_signature_dep_a; mod auto_check_sbp_signing_msg_ed25519_signature_dep_b; diff --git a/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml index 7df57fbc87..d2b3dc02a2 100644 --- a/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml +++ b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml @@ -1,10 +1,10 @@ description: Unit tests for swiftnav.sbp.signing MsgEcdsaSignature -generated_on: '2023-03-01 18:56:51.200360' +generated_on: '2023-03-16 18:58:06.801395' package: sbp.signing tests: - msg: c_decoded_fields: - n_signed_messages: 184 + n_signed_messages: 3 fields: certificate_id: - 1 @@ -12,6 +12,7 @@ tests: - 3 - 4 flags: 0 + n_signature_bytes: 73 on_demand_counter: 2 signature: - 0 @@ -22,273 +23,92 @@ tests: - 5 - 6 - 7 - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - signed_messages: + - 8 + - 9 - 10 - - 21 - - 23 - - 63 - - 140 - - 37 - - 130 - - 106 - - 28 - - 40 - - 165 - - 179 - - 73 - - 178 - - 60 - - 126 - - 114 - - 78 - - 113 - - 27 - - 95 - - 3 - - 62 - - 104 - - 145 - - 96 - - 19 - - 92 - - 123 + - 11 + - 12 + - 13 - 14 - - 90 - - 153 - - 183 - - 9 - - 72 - - 81 - - 118 - - 112 - - 124 + - 15 - 16 - - 182 - - 76 - - 146 - - 115 - - 58 - - 144 - 17 - - 105 - - 66 - - 31 - - 135 - - 54 - - 100 - - 84 - - 181 - - 103 - - 11 - - 88 - - 133 - - 155 - - 167 - - 173 - - 143 - - 86 - - 158 + - 18 + - 19 - 20 - - 168 - - 132 - - 141 - - 102 - - 50 - - 48 - - 71 - - 147 - - 53 - - 87 - - 1 - - 108 - - 138 - - 36 - - 134 - - 139 - - 163 - - 82 - - 43 - - 52 - - 150 - - 12 - - 30 - - 110 - - 156 - - 107 - - 120 - - 91 - - 122 - - 69 - - 164 - - 170 - - 116 - - 25 - - 94 - - 5 + - 21 - 22 + - 23 - 24 - - 162 - - 175 + - 25 + - 26 + - 27 + - 28 + - 29 + - 30 + - 31 + - 32 + - 33 + - 34 + - 35 + - 36 + - 37 - 38 - - 157 - - 98 + - 39 + - 40 + - 41 + - 42 + - 43 - 44 - - 160 + - 45 + - 46 - 47 - - 97 - - 142 - - 8 - - 74 - - 13 - - 177 - - 15 - - 128 - - 26 - - 131 - - 154 - - 65 - - 169 - - 55 - - 136 - - 125 - - 171 - - 161 - - 29 - - 129 - - 151 - - 68 - - 166 + - 48 + - 49 + - 50 - 51 - - 70 - - 45 + - 52 + - 53 + - 54 + - 55 - 56 - - 79 - - 149 - - 99 - - 42 - - 101 - - 152 - - 39 - - 89 - - 180 - - 64 - - 49 - - 6 - - 80 - - 172 - - 32 - - 109 - - 2 - - 119 - - 93 - - 176 - - 0 - - 33 - 57 - - 34 - - 18 - - 85 - - 121 - - 137 - - 83 - - 111 + - 58 - 59 - - 7 - - 77 - - 4 - - 117 - - 159 - - 148 - - 35 + - 60 - 61 - - 41 + - 62 + - 63 + - 64 + - 65 + - 66 - 67 - - 46 - - 127 - - 75 - - 174 + - 68 + - 69 + - 70 + - 71 + - 72 + signed_messages: + - 10 + - 21 + - 23 stream_counter: 1 module: sbp.signing name: MsgEcdsaSignature msg_type: '0xC06' - raw_json: '{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 255, "payload": - "AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu", - "crc": 44129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": - [1, 2, 3, 4], "signature": [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, - 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, - 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7], "signed_messages": - [10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, - 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, - 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, - 103, 11, 88, 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, - 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, - 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, 175, 38, 157, - 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, 65, 169, 55, - 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, - 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, - 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, - 75, 174]}' - raw_packet: VQYMQgD/AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uuYaw= + raw_json: '{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 84, "payload": + "AAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX", + "crc": 50129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": + [1, 2, 3, 4], "n_signature_bytes": 73, "signature": [0, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72], "signed_messages": [10, 21, 23]}' + raw_packet: VQYMQgBUAAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX0cM= sbp: - crc: '0xAC61' - length: 255 + crc: '0xC3D1' + length: 84 msg_type: '0xC06' - payload: AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu + payload: AAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX preamble: '0x55' sender: '0x42' diff --git a/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml new file mode 100644 index 0000000000..2a8a48205f --- /dev/null +++ b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignatureDep.yaml @@ -0,0 +1,294 @@ +description: Unit tests for swiftnav.sbp.signing MsgEcdsaSignatureDep +generated_on: '2023-03-01 18:56:51.200360' +package: sbp.signing +tests: +- msg: + c_decoded_fields: + n_signed_messages: 184 + fields: + certificate_id: + - 1 + - 2 + - 3 + - 4 + flags: 0 + on_demand_counter: 2 + signature: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + signed_messages: + - 10 + - 21 + - 23 + - 63 + - 140 + - 37 + - 130 + - 106 + - 28 + - 40 + - 165 + - 179 + - 73 + - 178 + - 60 + - 126 + - 114 + - 78 + - 113 + - 27 + - 95 + - 3 + - 62 + - 104 + - 145 + - 96 + - 19 + - 92 + - 123 + - 14 + - 90 + - 153 + - 183 + - 9 + - 72 + - 81 + - 118 + - 112 + - 124 + - 16 + - 182 + - 76 + - 146 + - 115 + - 58 + - 144 + - 17 + - 105 + - 66 + - 31 + - 135 + - 54 + - 100 + - 84 + - 181 + - 103 + - 11 + - 88 + - 133 + - 155 + - 167 + - 173 + - 143 + - 86 + - 158 + - 20 + - 168 + - 132 + - 141 + - 102 + - 50 + - 48 + - 71 + - 147 + - 53 + - 87 + - 1 + - 108 + - 138 + - 36 + - 134 + - 139 + - 163 + - 82 + - 43 + - 52 + - 150 + - 12 + - 30 + - 110 + - 156 + - 107 + - 120 + - 91 + - 122 + - 69 + - 164 + - 170 + - 116 + - 25 + - 94 + - 5 + - 22 + - 24 + - 162 + - 175 + - 38 + - 157 + - 98 + - 44 + - 160 + - 47 + - 97 + - 142 + - 8 + - 74 + - 13 + - 177 + - 15 + - 128 + - 26 + - 131 + - 154 + - 65 + - 169 + - 55 + - 136 + - 125 + - 171 + - 161 + - 29 + - 129 + - 151 + - 68 + - 166 + - 51 + - 70 + - 45 + - 56 + - 79 + - 149 + - 99 + - 42 + - 101 + - 152 + - 39 + - 89 + - 180 + - 64 + - 49 + - 6 + - 80 + - 172 + - 32 + - 109 + - 2 + - 119 + - 93 + - 176 + - 0 + - 33 + - 57 + - 34 + - 18 + - 85 + - 121 + - 137 + - 83 + - 111 + - 59 + - 7 + - 77 + - 4 + - 117 + - 159 + - 148 + - 35 + - 61 + - 41 + - 67 + - 46 + - 127 + - 75 + - 174 + stream_counter: 1 + module: sbp.signing + name: MsgEcdsaSignatureDep + msg_type: '0xC06' + raw_json: '{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 255, "payload": + "AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu", + "crc": 44129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": + [1, 2, 3, 4], "signature": [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, + 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, + 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7], "signed_messages": + [10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, + 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, + 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, + 103, 11, 88, 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, + 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, + 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, 175, 38, 157, + 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, 65, 169, 55, + 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, + 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, + 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, + 75, 174]}' + raw_packet: VQYMQgD/AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uuYaw= + sbp: + crc: '0xAC61' + length: 255 + msg_type: '0xC06' + payload: AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu + preamble: '0x55' + sender: '0x42' diff --git a/spec/yaml/swiftnav/sbp/signing.yaml b/spec/yaml/swiftnav/sbp/signing.yaml index 0747781990..c12ab15e5b 100644 --- a/spec/yaml/swiftnav/sbp/signing.yaml +++ b/spec/yaml/swiftnav/sbp/signing.yaml @@ -120,6 +120,63 @@ definitions: validated by fetching it from `http(s)://certs.swiftnav.com/chain`. - MSG_ECDSA_SIGNATURE: + id: 0x0C07 + short_desc: An ECDSA signature + desc: > + An ECDSA-256 signature using SHA-256 as the message digest algorithm. + fields: + - flags: + type: u8 + desc: Describes the format of the `signed\_messages` field below. + fields: + - 0-1: + desc: CRC type + values: + - 0: 24-bit CRCs from RTCM framing + - 1: 16-bit CRCs from SBP framing + - stream_counter: + type: u8 + desc: > + Signature message counter. Zero indexed and incremented with each + signature message. The counter will not increment if this message + was in response to an on demand request. The counter will roll + over after 256 messages. Upon connection, the value of the counter + may not initially be zero. + - on_demand_counter: + type: u8 + desc: > + On demand message counter. Zero indexed and incremented with each + signature message sent in response to an on demand message. The + counter will roll over after 256 messages. Upon connection, the + value of the counter may not initially be zero. + - certificate_id: + type: array + fill: u8 + size: 4 + desc: The last 4 bytes of the certificate's SHA-1 fingerprint + - n_signature_bytes: + type: u8 + desc: > + Number of bytes to use of the signature field. + - signature: + type: array + fill: u8 + size: 72 + desc: > + DER encoded ECDSA signature for the messages using SHA-256 as the digest + algorithm. + - signed_messages: + type: array + fill: u8 + desc: > + CRCs of the messages covered by this signature. For Skylark, + which delivers SBP messages wrapped in Swift's proprietary RTCM + message, these are the 24-bit CRCs from the RTCM message framing. + For SBP only streams, this will be 16-bit CRCs from the SBP + framing. See the `flags` field to determine the type of CRCs + covered. + + - MSG_ECDSA_SIGNATURE_DEP: id: 0x0C06 short_desc: An ECDSA signature desc: > From 8f0c99479bd03877bfac31104cea0e67add372c9 Mon Sep 17 00:00:00 2001 From: notoriaga Date: Thu, 16 Mar 2023 15:07:22 -0700 Subject: [PATCH 2/6] fix --- ...auto_check_sbp_signing_MsgEcdsaSignature.c | 35 ++++--------- ...uto_check_sbp_signing_MsgEcdsaSignature.cc | 27 ++++------ ...auto_check_sbp_signing_MsgEcdsaSignature.c | 34 +++++-------- ...uto_check_sbp_signing_MsgEcdsaSignature.cc | 28 ++++------ ...eck_sbp_signing_MsgEcdsaSignatureTest.java | 22 +++----- ...o_check_sbp_signing_msg_ecdsa_signature.rs | 51 +++++++------------ .../sbp/signing/test_MsgEcdsaSignature.yaml | 29 +++++------ 7 files changed, 78 insertions(+), 148 deletions(-) diff --git a/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c b/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c index 75964b051f..1a4e3913bf 100644 --- a/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c +++ b/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c @@ -90,16 +90,16 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { logging_reset(); - sbp_callback_register(&sbp_state, 0xC06, &msg_callback, + sbp_callback_register(&sbp_state, 0xC07, &msg_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); u8 encoded_frame[] = { - 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, + 85, 7, 12, 66, 0, 83, 0, 1, 2, 1, 2, 3, 4, 72, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 10, 21, 23, 254, 159, }; dummy_reset(); @@ -117,9 +117,7 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { test_msg.ecdsa_signature.flags = 0; - test_msg.ecdsa_signature.n_signature_bytes = 73; - - test_msg.ecdsa_signature.n_signed_messages = 3; + test_msg.ecdsa_signature.n_signature_bytes = 72; test_msg.ecdsa_signature.on_demand_counter = 2; @@ -267,8 +265,6 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { test_msg.ecdsa_signature.signature[71] = 71; - test_msg.ecdsa_signature.signature[72] = 72; - test_msg.ecdsa_signature.signed_messages[0] = 10; test_msg.ecdsa_signature.signed_messages[1] = 21; @@ -328,17 +324,11 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { last_msg.msg.ecdsa_signature.flags); ck_assert_msg( - last_msg.msg.ecdsa_signature.n_signature_bytes == 73, + last_msg.msg.ecdsa_signature.n_signature_bytes == 72, "incorrect value for last_msg.msg.ecdsa_signature.n_signature_bytes, " - "expected 73, is %d", + "expected 72, is %d", last_msg.msg.ecdsa_signature.n_signature_bytes); - ck_assert_msg( - last_msg.msg.ecdsa_signature.n_signed_messages == 3, - "incorrect value for last_msg.msg.ecdsa_signature.n_signed_messages, " - "expected 3, is %d", - last_msg.msg.ecdsa_signature.n_signed_messages); - ck_assert_msg( last_msg.msg.ecdsa_signature.on_demand_counter == 2, "incorrect value for last_msg.msg.ecdsa_signature.on_demand_counter, " @@ -705,11 +695,6 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { "incorrect value for last_msg.msg.ecdsa_signature.signature[71], " "expected 71, is %d", last_msg.msg.ecdsa_signature.signature[71]); - ck_assert_msg( - last_msg.msg.ecdsa_signature.signature[72] == 72, - "incorrect value for last_msg.msg.ecdsa_signature.signature[72], " - "expected 72, is %d", - last_msg.msg.ecdsa_signature.signature[72]); ck_assert_msg( last_msg.msg.ecdsa_signature.signed_messages[0] == 10, diff --git a/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc index d0e23ff2a7..f95b29392a 100644 --- a/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc +++ b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc @@ -76,12 +76,12 @@ class Test_auto_check_sbp_signing_MsgEcdsaSignature0 TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { uint8_t encoded_frame[] = { - 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, + 85, 7, 12, 66, 0, 83, 0, 1, 2, 1, 2, 3, 4, 72, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 10, 21, 23, 254, 159, }; sbp_msg_ecdsa_signature_t test_msg{}; @@ -94,8 +94,7 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { test_msg.certificate_id[3] = 4; test_msg.flags = 0; - test_msg.n_signature_bytes = 73; - test_msg.n_signed_messages = 3; + test_msg.n_signature_bytes = 72; test_msg.on_demand_counter = 2; test_msg.signature[0] = 0; @@ -242,8 +241,6 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { test_msg.signature[71] = 71; - test_msg.signature[72] = 72; - test_msg.signed_messages[0] = 10; test_msg.signed_messages[1] = 21; @@ -278,12 +275,9 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_.flags, 0) << "incorrect value for last_msg_.flags, expected 0, is " << last_msg_.flags; - EXPECT_EQ(last_msg_.n_signature_bytes, 73) - << "incorrect value for last_msg_.n_signature_bytes, expected 73, is " + EXPECT_EQ(last_msg_.n_signature_bytes, 72) + << "incorrect value for last_msg_.n_signature_bytes, expected 72, is " << last_msg_.n_signature_bytes; - EXPECT_EQ(last_msg_.n_signed_messages, 3) - << "incorrect value for last_msg_.n_signed_messages, expected 3, is " - << last_msg_.n_signed_messages; EXPECT_EQ(last_msg_.on_demand_counter, 2) << "incorrect value for last_msg_.on_demand_counter, expected 2, is " << last_msg_.on_demand_counter; @@ -503,9 +497,6 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_.signature[71], 71) << "incorrect value for last_msg_.signature[71], expected 71, is " << last_msg_.signature[71]; - EXPECT_EQ(last_msg_.signature[72], 72) - << "incorrect value for last_msg_.signature[72], expected 72, is " - << last_msg_.signature[72]; EXPECT_EQ(last_msg_.signed_messages[0], 10) << "incorrect value for last_msg_.signed_messages[0], expected 10, is " << last_msg_.signed_messages[0]; diff --git a/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c b/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c index 64dfbf4408..297ebf98bd 100644 --- a/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c +++ b/c/test/legacy/auto_check_sbp_signing_MsgEcdsaSignature.c @@ -116,18 +116,18 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { logging_reset(); - sbp_payload_callback_register(&sbp_state, 0xC06, &msg_callback, + sbp_payload_callback_register(&sbp_state, 0xC07, &msg_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - sbp_frame_callback_register(&sbp_state, 0xC06, &frame_callback, + sbp_frame_callback_register(&sbp_state, 0xC07, &frame_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n2); u8 encoded_frame[] = { - 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, + 85, 7, 12, 66, 0, 83, 0, 1, 2, 1, 2, 3, 4, 72, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 10, 21, 23, 254, 159, }; dummy_reset(); @@ -158,7 +158,7 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { } test_msg->certificate_id[3] = 4; test_msg->flags = 0; - test_msg->n_signature_bytes = 73; + test_msg->n_signature_bytes = 72; test_msg->on_demand_counter = 2; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays @@ -520,11 +520,6 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { test_msg_len += sizeof(test_msg->signature[0]); } test_msg->signature[71] = 71; - if (sizeof(test_msg->signature) == 0) { - // Cope with variable length arrays - test_msg_len += sizeof(test_msg->signature[0]); - } - test_msg->signature[72] = 72; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len += sizeof(test_msg->signed_messages[0]); @@ -541,7 +536,7 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { } test_msg->signed_messages[2] = 23; test_msg->stream_counter = 1; - sbp_payload_send(&sbp_state, 0xC06, 66, test_msg_len, test_msg_storage, + sbp_payload_send(&sbp_state, 0xC07, 66, test_msg_len, test_msg_storage, &dummy_write); ck_assert_msg( @@ -575,7 +570,7 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { "frame_callback: one callback should have been logged"); ck_assert_msg(last_frame.sender_id == 66, "frame_callback: sender_id decoded incorrectly"); - ck_assert_msg(last_frame.msg_type == 0xC06, + ck_assert_msg(last_frame.msg_type == 0xC07, "frame_callback: msg_type decoded incorrectly"); ck_assert_msg(last_frame.msg_len == sizeof(encoded_frame) - 8, "frame_callback: msg_len decoded incorrectly"); @@ -611,8 +606,8 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { ck_assert_msg(check_msg->flags == 0, "incorrect value for flags, expected 0, is %d", check_msg->flags); - ck_assert_msg(check_msg->n_signature_bytes == 73, - "incorrect value for n_signature_bytes, expected 73, is %d", + ck_assert_msg(check_msg->n_signature_bytes == 72, + "incorrect value for n_signature_bytes, expected 72, is %d", check_msg->n_signature_bytes); ck_assert_msg(check_msg->on_demand_counter == 2, "incorrect value for on_demand_counter, expected 2, is %d", @@ -833,9 +828,6 @@ START_TEST(test_legacy_auto_check_sbp_signing_MsgEcdsaSignature) { ck_assert_msg(check_msg->signature[71] == 71, "incorrect value for signature[71], expected 71, is %d", check_msg->signature[71]); - ck_assert_msg(check_msg->signature[72] == 72, - "incorrect value for signature[72], expected 72, is %d", - check_msg->signature[72]); ck_assert_msg(check_msg->signed_messages[0] == 10, "incorrect value for signed_messages[0], expected 10, is %d", check_msg->signed_messages[0]); diff --git a/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc b/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc index d31c3a4987..a776fa4983 100644 --- a/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc +++ b/c/test/legacy/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc @@ -78,12 +78,12 @@ class Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0 TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { uint8_t encoded_frame[] = { - 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, 195, + 85, 7, 12, 66, 0, 83, 0, 1, 2, 1, 2, 3, 4, 72, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 10, 21, 23, 254, 159, }; uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; @@ -115,7 +115,7 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { } test_msg->certificate_id[3] = 4; test_msg->flags = 0; - test_msg->n_signature_bytes = 73; + test_msg->n_signature_bytes = 72; test_msg->on_demand_counter = 2; if (sizeof(test_msg->signature) == 0) { // Cope with variable length arrays @@ -477,11 +477,6 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); } test_msg->signature[71] = 71; - if (sizeof(test_msg->signature) == 0) { - // Cope with variable length arrays - test_msg_len = (uint8_t)(test_msg_len + sizeof(test_msg->signature[0])); - } - test_msg->signature[72] = 72; if (sizeof(test_msg->signed_messages) == 0) { // Cope with variable length arrays test_msg_len = @@ -502,7 +497,7 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { test_msg->signed_messages[2] = 23; test_msg->stream_counter = 1; - EXPECT_EQ(send_message(0xC06, 66, test_msg_len, test_msg_storage), SBP_OK); + EXPECT_EQ(send_message(0xC07, 66, test_msg_len, test_msg_storage), SBP_OK); EXPECT_EQ(dummy_wr_, sizeof(encoded_frame)); EXPECT_EQ(memcmp(dummy_buff_, encoded_frame, sizeof(encoded_frame)), 0); @@ -528,8 +523,8 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { << last_msg_->certificate_id[3]; EXPECT_EQ(last_msg_->flags, 0) << "incorrect value for flags, expected 0, is " << last_msg_->flags; - EXPECT_EQ(last_msg_->n_signature_bytes, 73) - << "incorrect value for n_signature_bytes, expected 73, is " + EXPECT_EQ(last_msg_->n_signature_bytes, 72) + << "incorrect value for n_signature_bytes, expected 72, is " << last_msg_->n_signature_bytes; EXPECT_EQ(last_msg_->on_demand_counter, 2) << "incorrect value for on_demand_counter, expected 2, is " @@ -750,9 +745,6 @@ TEST_F(Test_legacy_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_->signature[71], 71) << "incorrect value for signature[71], expected 71, is " << last_msg_->signature[71]; - EXPECT_EQ(last_msg_->signature[72], 72) - << "incorrect value for signature[72], expected 72, is " - << last_msg_->signature[72]; EXPECT_EQ(last_msg_->signed_messages[0], 10) << "incorrect value for signed_messages[0], expected 10, is " << last_msg_->signed_messages[0]; diff --git a/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java b/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java index a2c85a9a37..12d8262e4b 100644 --- a/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java +++ b/java/test/auto_check_sbp_signing_MsgEcdsaSignatureTest.java @@ -32,7 +32,7 @@ public void test1() throws Throwable { System.out.format("%n%s%n", "auto_check_sbp_signing_MsgEcdsaSignatureTest.test1"); byte[] payload = new byte[] { - (byte) 0, (byte) 1, (byte) 2, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 73, + (byte) 0, (byte) 1, (byte) 2, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 72, (byte) 0, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) 10, (byte) 11, (byte) 12, (byte) 13, (byte) 14, (byte) 15, (byte) 16, (byte) 17, (byte) 18, (byte) 19, (byte) 20, (byte) 21, @@ -43,9 +43,9 @@ public void test1() throws Throwable { (byte) 50, (byte) 51, (byte) 52, (byte) 53, (byte) 54, (byte) 55, (byte) 56, (byte) 57, (byte) 58, (byte) 59, (byte) 60, (byte) 61, (byte) 62, (byte) 63, (byte) 64, (byte) 65, (byte) 66, (byte) 67, (byte) 68, (byte) 69, (byte) 70, - (byte) 71, (byte) 72, (byte) 10, (byte) 21, (byte) 23, + (byte) 71, (byte) 10, (byte) 21, (byte) 23, }; - SBPMessage sbp = new SBPMessage(0x42, 0xC06, payload); + SBPMessage sbp = new SBPMessage(0x42, 0xC07, payload); MsgEcdsaSignature msg = new MsgEcdsaSignature(sbp); JSONObject json = msg.toJSON(); Number value; @@ -102,11 +102,11 @@ public void test1() throws Throwable { value = msg.n_signature_bytes; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( - "'" + msg.n_signature_bytes + "' != '" + 73 + "'", - value.equals(BigInteger.valueOf(73L))); + "'" + msg.n_signature_bytes + "' != '" + 72 + "'", + value.equals(BigInteger.valueOf(72L))); } else { value = value.longValue(); - expected = 73L; + expected = 72L; org.junit.Assert.assertEquals(value, expected); } value = msg.on_demand_counter; @@ -839,16 +839,6 @@ public void test1() throws Throwable { expected = 71L; org.junit.Assert.assertEquals(value, expected); } - value = msg.signature[72]; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.signature[72] + "' != '" + 72 + "'", - value.equals(BigInteger.valueOf(72L))); - } else { - value = value.longValue(); - expected = 72L; - org.junit.Assert.assertEquals(value, expected); - } value = msg.signed_messages[0]; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( diff --git a/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs b/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs index 14112163e5..8a0c1df5e2 100644 --- a/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs +++ b/rust/sbp/tests/integration/auto_check_sbp_signing_msg_ecdsa_signature.rs @@ -22,11 +22,10 @@ use crate::*; fn test_auto_check_sbp_signing_msg_ecdsa_signature() { { let mut payload = Cursor::new(vec![ - 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 85, 7, 12, 66, 0, 83, 0, 1, 2, 1, 2, 3, 4, 72, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, - 195, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 10, 21, 23, 254, 159, ]); // Test the round trip payload parsing @@ -40,8 +39,8 @@ fn test_auto_check_sbp_signing_msg_ecdsa_signature() { sbp::messages::Sbp::MsgEcdsaSignature(msg) => { assert_eq!( msg.message_type(), - 0xC06, - "Incorrect message type, expected 0xC06, is {}", + 0xC07, + "Incorrect message type, expected 0xC07, is {}", msg.message_type() ); let sender_id = msg.sender_id().unwrap(); @@ -75,8 +74,8 @@ fn test_auto_check_sbp_signing_msg_ecdsa_signature() { msg.flags ); assert_eq!( - msg.n_signature_bytes, 73, - "incorrect value for n_signature_bytes, expected 73, is {}", + msg.n_signature_bytes, 72, + "incorrect value for n_signature_bytes, expected 72, is {}", msg.n_signature_bytes ); assert_eq!( @@ -444,11 +443,6 @@ fn test_auto_check_sbp_signing_msg_ecdsa_signature() { "incorrect value for signature[71], expected 71, is {}", msg.signature[71] ); - assert_eq!( - msg.signature[72], 72, - "incorrect value for signature[72], expected 72, is {}", - msg.signature[72] - ); assert_eq!( msg.signed_messages[0], 10, "incorrect value for signed_messages[0], expected 10, is {}", @@ -488,7 +482,7 @@ fn test_auto_check_sbp_signing_msg_ecdsa_signature() { #[cfg(feature = "json")] fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { { - let json_input = r#"{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 84, "payload": "AAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX", "crc": 50129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": [1, 2, 3, 4], "n_signature_bytes": 73, "signature": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "signed_messages": [10, 21, 23]}"#.as_bytes(); + let json_input = r#"{"preamble": 85, "msg_type": 3079, "sender": 66, "length": 83, "payload": "AAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRc=", "crc": 40958, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": [1, 2, 3, 4], "n_signature_bytes": 72, "signature": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], "signed_messages": [10, 21, 23]}"#.as_bytes(); let sbp_msg = { // JSON to SBP message from payload @@ -512,8 +506,8 @@ fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { sbp::messages::Sbp::MsgEcdsaSignature(msg) => { assert_eq!( msg.message_type(), - 0xC06, - "Incorrect message type, expected 0xC06, is {}", + 0xC07, + "Incorrect message type, expected 0xC07, is {}", msg.message_type() ); let sender_id = msg.sender_id().unwrap(); @@ -547,8 +541,8 @@ fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { msg.flags ); assert_eq!( - msg.n_signature_bytes, 73, - "incorrect value for n_signature_bytes, expected 73, is {}", + msg.n_signature_bytes, 72, + "incorrect value for n_signature_bytes, expected 72, is {}", msg.n_signature_bytes ); assert_eq!( @@ -916,11 +910,6 @@ fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { "incorrect value for signature[71], expected 71, is {}", msg.signature[71] ); - assert_eq!( - msg.signature[72], 72, - "incorrect value for signature[72], expected 72, is {}", - msg.signature[72] - ); assert_eq!( msg.signed_messages[0], 10, "incorrect value for signed_messages[0], expected 10, is {}", @@ -960,11 +949,10 @@ fn test_json2sbp_auto_check_sbp_signing_msg_ecdsa_signature() { fn test_sbp2json_auto_check_sbp_signing_msg_ecdsa_signature() { { let mut payload = Cursor::new(vec![ - 85, 6, 12, 66, 0, 84, 0, 1, 2, 1, 2, 3, 4, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 85, 7, 12, 66, 0, 83, 0, 1, 2, 1, 2, 3, 4, 72, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 10, 21, 23, 209, - 195, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 10, 21, 23, 254, 159, ]); // Construct sbp message @@ -995,8 +983,8 @@ fn test_sbp2json_auto_check_sbp_signing_msg_ecdsa_signature() { sbp::messages::Sbp::MsgEcdsaSignature(msg) => { assert_eq!( msg.message_type(), - 0xC06, - "Incorrect message type, expected 0xC06, is {}", + 0xC07, + "Incorrect message type, expected 0xC07, is {}", msg.message_type() ); let sender_id = msg.sender_id().unwrap(); @@ -1030,8 +1018,8 @@ fn test_sbp2json_auto_check_sbp_signing_msg_ecdsa_signature() { msg.flags ); assert_eq!( - msg.n_signature_bytes, 73, - "incorrect value for n_signature_bytes, expected 73, is {}", + msg.n_signature_bytes, 72, + "incorrect value for n_signature_bytes, expected 72, is {}", msg.n_signature_bytes ); assert_eq!( @@ -1399,11 +1387,6 @@ fn test_sbp2json_auto_check_sbp_signing_msg_ecdsa_signature() { "incorrect value for signature[71], expected 71, is {}", msg.signature[71] ); - assert_eq!( - msg.signature[72], 72, - "incorrect value for signature[72], expected 72, is {}", - msg.signature[72] - ); assert_eq!( msg.signed_messages[0], 10, "incorrect value for signed_messages[0], expected 10, is {}", diff --git a/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml index d2b3dc02a2..781978642c 100644 --- a/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml +++ b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml @@ -1,10 +1,8 @@ description: Unit tests for swiftnav.sbp.signing MsgEcdsaSignature -generated_on: '2023-03-16 18:58:06.801395' +generated_on: '2023-03-16 22:03:42.945683' package: sbp.signing tests: - msg: - c_decoded_fields: - n_signed_messages: 3 fields: certificate_id: - 1 @@ -12,7 +10,7 @@ tests: - 3 - 4 flags: 0 - n_signature_bytes: 73 + n_signature_bytes: 72 on_demand_counter: 2 signature: - 0 @@ -87,7 +85,6 @@ tests: - 69 - 70 - 71 - - 72 signed_messages: - 10 - 21 @@ -95,20 +92,20 @@ tests: stream_counter: 1 module: sbp.signing name: MsgEcdsaSignature - msg_type: '0xC06' - raw_json: '{"preamble": 85, "msg_type": 3078, "sender": 66, "length": 84, "payload": - "AAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX", - "crc": 50129, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": - [1, 2, 3, 4], "n_signature_bytes": 73, "signature": [0, 1, 2, 3, 4, 5, 6, 7, 8, + msg_type: '0xC07' + raw_json: '{"preamble": 85, "msg_type": 3079, "sender": 66, "length": 83, "payload": + "AAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRc=", + "crc": 40958, "flags": 0, "stream_counter": 1, "on_demand_counter": 2, "certificate_id": + [1, 2, 3, 4], "n_signature_bytes": 72, "signature": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72], "signed_messages": [10, 21, 23]}' - raw_packet: VQYMQgBUAAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX0cM= + 69, 70, 71], "signed_messages": [10, 21, 23]}' + raw_packet: VQcMQgBTAAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRf+nw== sbp: - crc: '0xC3D1' - length: 84 - msg_type: '0xC06' - payload: AAECAQIDBEkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdIChUX + crc: '0x9FFE' + length: 83 + msg_type: '0xC07' + payload: AAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRc= preamble: '0x55' sender: '0x42' From e7c59c794923192972bb9ba6756442358988d04e Mon Sep 17 00:00:00 2001 From: notoriaga Date: Thu, 16 Mar 2023 15:16:37 -0700 Subject: [PATCH 3/6] fix test --- c/test/auto_check_sbp_signing_MsgEcdsaSignature.c | 8 ++++++++ c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc | 4 ++++ .../yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml | 2 ++ 3 files changed, 14 insertions(+) diff --git a/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c b/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c index 1a4e3913bf..c97bcc6258 100644 --- a/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c +++ b/c/test/auto_check_sbp_signing_MsgEcdsaSignature.c @@ -119,6 +119,8 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { test_msg.ecdsa_signature.n_signature_bytes = 72; + test_msg.ecdsa_signature.n_signed_messages = 3; + test_msg.ecdsa_signature.on_demand_counter = 2; test_msg.ecdsa_signature.signature[0] = 0; @@ -329,6 +331,12 @@ START_TEST(test_auto_check_sbp_signing_MsgEcdsaSignature) { "expected 72, is %d", last_msg.msg.ecdsa_signature.n_signature_bytes); + ck_assert_msg( + last_msg.msg.ecdsa_signature.n_signed_messages == 3, + "incorrect value for last_msg.msg.ecdsa_signature.n_signed_messages, " + "expected 3, is %d", + last_msg.msg.ecdsa_signature.n_signed_messages); + ck_assert_msg( last_msg.msg.ecdsa_signature.on_demand_counter == 2, "incorrect value for last_msg.msg.ecdsa_signature.on_demand_counter, " diff --git a/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc index f95b29392a..1b686892d9 100644 --- a/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc +++ b/c/test/cpp/auto_check_sbp_signing_MsgEcdsaSignature.cc @@ -95,6 +95,7 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { test_msg.certificate_id[3] = 4; test_msg.flags = 0; test_msg.n_signature_bytes = 72; + test_msg.n_signed_messages = 3; test_msg.on_demand_counter = 2; test_msg.signature[0] = 0; @@ -278,6 +279,9 @@ TEST_F(Test_auto_check_sbp_signing_MsgEcdsaSignature0, Test) { EXPECT_EQ(last_msg_.n_signature_bytes, 72) << "incorrect value for last_msg_.n_signature_bytes, expected 72, is " << last_msg_.n_signature_bytes; + EXPECT_EQ(last_msg_.n_signed_messages, 3) + << "incorrect value for last_msg_.n_signed_messages, expected 3, is " + << last_msg_.n_signed_messages; EXPECT_EQ(last_msg_.on_demand_counter, 2) << "incorrect value for last_msg_.on_demand_counter, expected 2, is " << last_msg_.on_demand_counter; diff --git a/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml index 781978642c..c97c585a62 100644 --- a/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml +++ b/spec/tests/yaml/swiftnav/sbp/signing/test_MsgEcdsaSignature.yaml @@ -3,6 +3,8 @@ generated_on: '2023-03-16 22:03:42.945683' package: sbp.signing tests: - msg: + c_decoded_fields: + n_signed_messages: 3 fields: certificate_id: - 1 From 10382b7cfe0c163fbefd48a9d1e255c5980c8077 Mon Sep 17 00:00:00 2001 From: Steven Meyer Date: Thu, 16 Mar 2023 15:17:54 -0700 Subject: [PATCH 4/6] Update spec/yaml/swiftnav/sbp/signing.yaml Co-authored-by: Jason Mobarak --- spec/yaml/swiftnav/sbp/signing.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spec/yaml/swiftnav/sbp/signing.yaml b/spec/yaml/swiftnav/sbp/signing.yaml index c12ab15e5b..e01addf960 100644 --- a/spec/yaml/swiftnav/sbp/signing.yaml +++ b/spec/yaml/swiftnav/sbp/signing.yaml @@ -157,7 +157,9 @@ definitions: - n_signature_bytes: type: u8 desc: > - Number of bytes to use of the signature field. + Number of bytes to use of the signature field. The DER encoded + signature has a maximum size of 72 bytes but can vary between 70 + and 72 bytes in length. - signature: type: array fill: u8 From d0e9f4abe1c6d4a104b739eb77934b7cb5a795fb Mon Sep 17 00:00:00 2001 From: notoriaga Date: Thu, 16 Mar 2023 15:33:40 -0700 Subject: [PATCH 5/6] update --- c/include/libsbp/legacy/signing.h | 5 ++++- c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h | 4 +++- haskell/src/SwiftNav/SBP/Signing.hs | 4 +++- java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java | 5 ++++- javascript/sbp/signing.js | 3 ++- python/sbp/signing.py | 4 +++- rust/sbp/src/messages/signing.rs | 4 +++- 7 files changed, 22 insertions(+), 7 deletions(-) diff --git a/c/include/libsbp/legacy/signing.h b/c/include/libsbp/legacy/signing.h index b9e262f145..18ee8ac7b7 100644 --- a/c/include/libsbp/legacy/signing.h +++ b/c/include/libsbp/legacy/signing.h @@ -104,7 +104,10 @@ typedef struct SBP_ATTR_PACKED { not initially be zero. */ u8 certificate_id[4]; /**< The last 4 bytes of the certificate's SHA-1 fingerprint */ - u8 n_signature_bytes; /**< Number of bytes to use of the signature field. */ + u8 n_signature_bytes; /**< Number of bytes to use of the signature field. + The DER encoded signature has a maximum size + of 72 bytes but can vary between 70 and 72 + bytes in length. */ u8 signature[72]; /**< DER encoded ECDSA signature for the messages using SHA-256 as the digest algorithm. */ u8 signed_messages[0]; /**< CRCs of the messages covered by this diff --git a/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h b/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h index 42693681df..bd2afc0e24 100644 --- a/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h +++ b/c/include/libsbp/v4/signing/MSG_ECDSA_SIGNATURE.h @@ -70,7 +70,9 @@ typedef struct { u8 certificate_id[SBP_MSG_ECDSA_SIGNATURE_CERTIFICATE_ID_MAX]; /** - * Number of bytes to use of the signature field. + * Number of bytes to use of the signature field. The DER encoded signature + * has a maximum size of 72 bytes but can vary between 70 and 72 bytes in + * length. */ u8 n_signature_bytes; diff --git a/haskell/src/SwiftNav/SBP/Signing.hs b/haskell/src/SwiftNav/SBP/Signing.hs index 98392b6151..4e3b92fae3 100644 --- a/haskell/src/SwiftNav/SBP/Signing.hs +++ b/haskell/src/SwiftNav/SBP/Signing.hs @@ -177,7 +177,9 @@ data MsgEcdsaSignature = MsgEcdsaSignature , _msgEcdsaSignature_certificate_id :: ![Word8] -- ^ The last 4 bytes of the certificate's SHA-1 fingerprint , _msgEcdsaSignature_n_signature_bytes :: !Word8 - -- ^ Number of bytes to use of the signature field. + -- ^ Number of bytes to use of the signature field. The DER encoded + -- signature has a maximum size of 72 bytes but can vary between 70 and 72 + -- bytes in length. , _msgEcdsaSignature_signature :: ![Word8] -- ^ DER encoded ECDSA signature for the messages using SHA-256 as the -- digest algorithm. diff --git a/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java b/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java index f4d500ae62..2fe36b54ad 100644 --- a/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java +++ b/java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java @@ -51,7 +51,10 @@ public class MsgEcdsaSignature extends SBPMessage { /** The last 4 bytes of the certificate's SHA-1 fingerprint */ public int[] certificate_id; - /** Number of bytes to use of the signature field. */ + /** + * Number of bytes to use of the signature field. The DER encoded signature has a maximum size + * of 72 bytes but can vary between 70 and 72 bytes in length. + */ public int n_signature_bytes; /** DER encoded ECDSA signature for the messages using SHA-256 as the digest algorithm. */ diff --git a/javascript/sbp/signing.js b/javascript/sbp/signing.js index 5b95a874fc..54aa1744f2 100644 --- a/javascript/sbp/signing.js +++ b/javascript/sbp/signing.js @@ -163,7 +163,8 @@ MsgCertificateChain.prototype.fieldSpec.push(['signature', 'array', 'writeUInt8' * after 256 messages. Upon connection, the value of the counter may not initially * be zero. * @field certificate_id array The last 4 bytes of the certificate's SHA-1 fingerprint - * @field n_signature_bytes number (unsigned 8-bit int, 1 byte) Number of bytes to use of the signature field. + * @field n_signature_bytes number (unsigned 8-bit int, 1 byte) Number of bytes to use of the signature field. The DER encoded signature has a + * maximum size of 72 bytes but can vary between 70 and 72 bytes in length. * @field signature array DER encoded ECDSA signature for the messages using SHA-256 as the digest * algorithm. * @field signed_messages array CRCs of the messages covered by this signature. For Skylark, which delivers SBP diff --git a/python/sbp/signing.py b/python/sbp/signing.py index 1dcf34e267..e9b851463d 100644 --- a/python/sbp/signing.py +++ b/python/sbp/signing.py @@ -347,7 +347,9 @@ class MsgEcdsaSignature(SBP): certificate_id : array The last 4 bytes of the certificate's SHA-1 fingerprint n_signature_bytes : int - Number of bytes to use of the signature field. + Number of bytes to use of the signature field. The DER encoded signature + has a maximum size of 72 bytes but can vary between 70 and 72 bytes in + length. signature : array DER encoded ECDSA signature for the messages using SHA-256 as the digest algorithm. diff --git a/rust/sbp/src/messages/signing.rs b/rust/sbp/src/messages/signing.rs index 1be2b0d46b..201772d3b8 100644 --- a/rust/sbp/src/messages/signing.rs +++ b/rust/sbp/src/messages/signing.rs @@ -317,7 +317,9 @@ pub mod msg_ecdsa_signature { /// The last 4 bytes of the certificate's SHA-1 fingerprint #[cfg_attr(feature = "serde", serde(rename = "certificate_id"))] pub certificate_id: [u8; 4], - /// Number of bytes to use of the signature field. + /// Number of bytes to use of the signature field. The DER encoded + /// signature has a maximum size of 72 bytes but can vary between 70 and 72 + /// bytes in length. #[cfg_attr(feature = "serde", serde(rename = "n_signature_bytes"))] pub n_signature_bytes: u8, /// DER encoded ECDSA signature for the messages using SHA-256 as the digest From 2a206ab8e78f9e75bfd39ebd587211f4bece46a1 Mon Sep 17 00:00:00 2001 From: notoriaga Date: Thu, 16 Mar 2023 15:49:55 -0700 Subject: [PATCH 6/6] bump --- python/tests/sbp/test_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/sbp/test_table.py b/python/tests/sbp/test_table.py index 3703414976..85a69fefd6 100644 --- a/python/tests/sbp/test_table.py +++ b/python/tests/sbp/test_table.py @@ -43,7 +43,7 @@ def test_table_count(): Test number of available messages to deserialize. """ - number_of_messages = 230 + number_of_messages = 231 assert len(_SBP_TABLE) == number_of_messages def test_table_unqiue_count():