From c6abb4a5ab106bd8ed5207d80ec30ac44855ba92 Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Thu, 2 Jun 2022 14:04:02 -0400 Subject: [PATCH 01/14] Updates messages to ICD v1.2 --- ....yaml => test_MsgReferenceFrameParam.yaml} | 4 +-- ...Second.yaml => test_MsgUTCLeapSecond.yaml} | 4 +-- spec/yaml/swiftnav/sbp/navigation.yaml | 4 +-- spec/yaml/swiftnav/sbp/ssr.yaml | 25 ++++++++++++------- 4 files changed, 22 insertions(+), 15 deletions(-) rename spec/tests/yaml/swiftnav/sbp/navigation/{test_MsgItrf.yaml => test_MsgReferenceFrameParam.yaml} (95%) rename spec/tests/yaml/swiftnav/sbp/navigation/{test_MsgGPSLeapSecond.yaml => test_MsgUTCLeapSecond.yaml} (89%) diff --git a/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgItrf.yaml b/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml similarity index 95% rename from spec/tests/yaml/swiftnav/sbp/navigation/test_MsgItrf.yaml rename to spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml index 04beccb51d..437158e76d 100644 --- a/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgItrf.yaml +++ b/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml @@ -1,4 +1,4 @@ -description: Unit tests for swiftnav.sbp.navigation MsgItrf +description: Unit tests for swiftnav.sbp.navigation MsgReferenceFrameParam generated_on: 2022-05-11 # manually generated package: sbp.navigation tests: @@ -28,7 +28,7 @@ tests: dot_theta_03: 19 dot_scale: 20 module: sbp.navigation - name: MsgItrf + name: MsgReferenceFrameParam msg_type: '580' raw_json: '{"ssr_iod": 1, "sn_counter_n": 2, "sn": "foo\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "tn_counter_m": 3, "tn": "bar\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", diff --git a/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml b/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml similarity index 89% rename from spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml rename to spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml index f321f1d81b..4d0593b5a7 100644 --- a/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml +++ b/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml @@ -1,4 +1,4 @@ -description: Unit tests for swiftnav.sbp.navigation MsgGPSLeapSecond +description: Unit tests for swiftnav.sbp.navigation MsgUTCLeapSecond generated_on: 2022-05-11 # manually generated package: sbp.navigation tests: @@ -15,7 +15,7 @@ tests: ref_dn: 8 count_after: 9 module: sbp.navigation - name: MsgGPSLeapSecond + name: MsgUtcLeapSecond msg_type: '570' raw_json: '{"bias_coeff": 1, "drift_coeff": 2, "drift_rate_coeff": 3, "count_before": 4, "tow_s": 5, "wn": 6, "ref_wn": 7, "ref_dn": 8, "count_after": 9, "preamble": 85, "msg_type": 570, "sender": 66, "length": 14, diff --git a/spec/yaml/swiftnav/sbp/navigation.yaml b/spec/yaml/swiftnav/sbp/navigation.yaml index 38bf456caa..e885458d2d 100644 --- a/spec/yaml/swiftnav/sbp/navigation.yaml +++ b/spec/yaml/swiftnav/sbp/navigation.yaml @@ -2428,7 +2428,7 @@ definitions: - 31: desc: Safe state ROPL - - MSG_GPS_LEAP_SECOND: + - MSG_UTC_LEAP_SECOND: id: 0x023A short_desc: > Leap second SBP message. @@ -2479,7 +2479,7 @@ definitions: units: s desc: Leap second count after insertion. - - MSG_ITRF: + - MSG_REFERENCE_FRAME_PARAM: id: 0x0244 short_desc: Reference Frame Transformation Parameter fields: diff --git a/spec/yaml/swiftnav/sbp/ssr.yaml b/spec/yaml/swiftnav/sbp/ssr.yaml index acc04a3cbb..b7f8267b8c 100644 --- a/spec/yaml/swiftnav/sbp/ssr.yaml +++ b/spec/yaml/swiftnav/sbp/ssr.yaml @@ -1081,19 +1081,19 @@ definitions: units: m desc: > Standard Deviation Radial. - See Note 1. + See Note 2. - orb_along_bound_sig: type: u8 units: m desc: > Standard Deviation Along-Track. - See Note 1. + See Note 2. - orb_cross_bound_sig: type: u8 units: m desc: > Standard Deviation Cross-Track. - See Note 1. + See Note 2. - clock_bound_mu: type: u8 units: m @@ -1105,16 +1105,22 @@ definitions: units: m desc: > Clock Bound Standard Deviation. - See Note 1. + See Note 2. - MSG_SSR_ORBIT_CLOCK_BOUNDS: id: 0x05DE short_desc: Combined Orbit and Clock Bound desc: > - Note 1: Range: 0-55 m. - i<=200, mean=0.0251i; - 200240, mean=25+2(i-240). + Note 1: Range: 0-17.5 m. + i<=200, mean=0.01i; + 200230, mean=5+0.5(i-230). + + + Note 2: Range: 0-17.5 m. + i<=200, std=0.01i; + 200230, std=5+0.5(i-230). fields: - header: type: BoundsHeader @@ -1265,7 +1271,8 @@ definitions: type: u64 desc: > Satellite Bit Mask. Put 1 for each satellite where the following - degradation parameters are applicable, 0 otherwise. + degradation parameters are applicable, 0 otherwise. Encoded + following RTCM DF394 specification. - orbit_clock_bounds_degradation: type: OrbitClockBoundDegradation desc: Orbit and Clock Bounds Degradation Parameters From e6e2f40c870b6dfdf2f4f904e2cad44acffcee3c Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Thu, 2 Jun 2022 16:27:18 -0400 Subject: [PATCH 02/14] make all --- c/include/libsbp/cpp/message_traits.h | 136 +-- c/include/libsbp/legacy/cpp/message_traits.h | 4 +- c/include/libsbp/legacy/navigation.h | 4 +- c/include/libsbp/legacy/ssr.h | 19 +- c/include/libsbp/navigation_macros.h | 34 +- c/include/libsbp/sbp_msg_type.h | 4 +- c/include/libsbp/v4/navigation.h | 4 +- ...MSG_ITRF.h => MSG_REFERENCE_FRAME_PARAM.h} | 109 +-- ...PS_LEAP_SECOND.h => MSG_UTC_LEAP_SECOND.h} | 92 +- c/include/libsbp/v4/sbp_msg.h | 46 +- .../v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h | 5 +- .../MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION.h | 3 +- c/include/libsbp/v4/ssr/OrbitClockBound.h | 8 +- c/src/include/libsbp/internal/v4/navigation.h | 15 +- c/src/v4/navigation.c | 83 +- c/test/auto_check_sbp_navigation_MsgItrf.c | 333 -------- ...ck_sbp_navigation_MsgReferenceFrameParam.c | 357 ++++++++ ...o_check_sbp_navigation_MsgUTCLeapSecond.c} | 88 +- c/test/check_main.c | 5 +- c/test/check_main_legacy.c | 7 +- c/test/check_suites.h | 4 +- c/test/check_suites_legacy.h | 4 +- ..._sbp_navigation_MsgReferenceFrameParam.cc} | 21 +- ..._check_sbp_navigation_MsgUTCLeapSecond.cc} | 18 +- ...k_sbp_navigation_MsgReferenceFrameParam.c} | 25 +- ...o_check_sbp_navigation_MsgUTCLeapSecond.c} | 18 +- ..._sbp_navigation_MsgReferenceFrameParam.cc} | 24 +- ..._check_sbp_navigation_MsgUTCLeapSecond.cc} | 20 +- docs/sbp.pdf | Bin 482203 -> 494308 bytes haskell/src/SwiftNav/SBP/Msg.hs | 24 +- haskell/src/SwiftNav/SBP/Navigation.hs | 236 +++--- haskell/src/SwiftNav/SBP/Ssr.hs | 18 +- .../com/swiftnav/sbp/client/MessageTable.java | 12 +- ...gItrf.java => MsgReferenceFrameParam.java} | 8 +- ...SLeapSecond.java => MsgUtcLeapSecond.java} | 12 +- .../sbp/ssr/MsgSsrOrbitClockBounds.java | 7 +- .../MsgSsrOrbitClockBoundsDegradation.java | 2 +- .../com/swiftnav/sbp/ssr/OrbitClockBound.java | 8 +- ...avigation_MsgReferenceFrameParamTest.java} | 15 +- ..._sbp_navigation_MsgUTCLeapSecondTest.java} | 10 +- javascript/sbp.bundle.js | 2 +- javascript/sbp/navigation.js | 106 +-- javascript/sbp/ssr.js | 16 +- ...gItrf.json => MsgReferenceFrameParam.json} | 4 +- jsonschema/MsgSsrOrbitClockBounds.json | 2 +- ...SLeapSecond.json => MsgUtcLeapSecond.json} | 4 +- proto/navigation.proto | 4 +- proto/ssr.proto | 7 +- python/sbp/navigation.py | 56 +- python/sbp/ssr.py | 18 +- rust/sbp/src/messages/mod.rs | 64 +- rust/sbp/src/messages/navigation.rs | 790 +++++++++--------- rust/sbp/src/messages/ssr.rs | 18 +- ...p_navigation_msg_reference_frame_param.rs} | Bin 6716 -> 6778 bytes ...eck_sbp_navigation_msg_utc_leap_second.rs} | 8 +- rust/sbp/tests/integration/main.rs | 4 +- sbpjson/elm/SbpJson.elm | 277 +++--- sbpjson/javascript/SbpJson.js | 114 +-- sbpjson/typescript/SbpJson.ts | 197 ++--- 59 files changed, 1816 insertions(+), 1717 deletions(-) rename c/include/libsbp/v4/navigation/{MSG_ITRF.h => MSG_REFERENCE_FRAME_PARAM.h} (59%) rename c/include/libsbp/v4/navigation/{MSG_GPS_LEAP_SECOND.h => MSG_UTC_LEAP_SECOND.h} (63%) delete mode 100644 c/test/auto_check_sbp_navigation_MsgItrf.c create mode 100644 c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c rename c/test/{auto_check_sbp_navigation_MsgGPSLeapSecond.c => auto_check_sbp_navigation_MsgUTCLeapSecond.c} (63%) rename c/test/cpp/{auto_check_sbp_navigation_MsgItrf.cc => auto_check_sbp_navigation_MsgReferenceFrameParam.cc} (92%) rename c/test/cpp/{auto_check_sbp_navigation_MsgGPSLeapSecond.cc => auto_check_sbp_navigation_MsgUTCLeapSecond.cc} (88%) rename c/test/legacy/{auto_check_sbp_navigation_MsgItrf.c => auto_check_sbp_navigation_MsgReferenceFrameParam.c} (94%) rename c/test/legacy/{auto_check_sbp_navigation_MsgGPSLeapSecond.c => auto_check_sbp_navigation_MsgUTCLeapSecond.c} (93%) rename c/test/legacy/cpp/{auto_check_sbp_navigation_MsgItrf.cc => auto_check_sbp_navigation_MsgReferenceFrameParam.cc} (91%) rename c/test/legacy/cpp/{auto_check_sbp_navigation_MsgGPSLeapSecond.cc => auto_check_sbp_navigation_MsgUTCLeapSecond.cc} (87%) rename java/src/com/swiftnav/sbp/navigation/{MsgItrf.java => MsgReferenceFrameParam.java} (96%) rename java/src/com/swiftnav/sbp/navigation/{MsgGPSLeapSecond.java => MsgUtcLeapSecond.java} (91%) rename java/test/{auto_check_sbp_navigation_MsgItrfTest.java => auto_check_sbp_navigation_MsgReferenceFrameParamTest.java} (96%) rename java/test/{auto_check_sbp_navigation_MsgGPSLeapSecondTest.java => auto_check_sbp_navigation_MsgUTCLeapSecondTest.java} (94%) rename jsonschema/{MsgItrf.json => MsgReferenceFrameParam.json} (96%) rename jsonschema/{MsgGPSLeapSecond.json => MsgUtcLeapSecond.json} (95%) rename rust/sbp/tests/integration/{auto_check_sbp_navigation_msg_itrf.rs => auto_check_sbp_navigation_msg_reference_frame_param.rs} (95%) rename rust/sbp/tests/integration/{auto_check_sbp_navigation_msg_gps_leap_second.rs => auto_check_sbp_navigation_msg_utc_leap_second.rs} (93%) diff --git a/c/include/libsbp/cpp/message_traits.h b/c/include/libsbp/cpp/message_traits.h index e1c7054f73..15cfc59fc4 100644 --- a/c/include/libsbp/cpp/message_traits.h +++ b/c/include/libsbp/cpp/message_traits.h @@ -2688,41 +2688,6 @@ struct MessageTraits { } }; -template <> -struct MessageTraits { - static constexpr sbp_msg_type_t id = SbpMsgGpsLeapSecond; - static const sbp_msg_gps_leap_second_t &get(const sbp_msg_t &msg) { - return msg.gps_leap_second; - } - static sbp_msg_gps_leap_second_t &get(sbp_msg_t &msg) { - return msg.gps_leap_second; - } - static void to_sbp_msg(const sbp_msg_gps_leap_second_t &msg, - sbp_msg_t *sbp_msg) { - sbp_msg->gps_leap_second = msg; - } - static sbp_msg_t to_sbp_msg(const sbp_msg_gps_leap_second_t &msg) { - sbp_msg_t sbp_msg; - sbp_msg.gps_leap_second = msg; - return sbp_msg; - } - static s8 send(sbp_state_t *state, u16 sender_id, - const sbp_msg_gps_leap_second_t &msg, sbp_write_fn_t write) { - return sbp_msg_gps_leap_second_send(state, sender_id, &msg, write); - } - static s8 encode(uint8_t *buf, uint8_t len, uint8_t *n_written, - const sbp_msg_gps_leap_second_t &msg) { - return sbp_msg_gps_leap_second_encode(buf, len, n_written, &msg); - } - static s8 decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, - sbp_msg_gps_leap_second_t *msg) { - return sbp_msg_gps_leap_second_decode(buf, len, n_read, msg); - } - static size_t encoded_len(const sbp_msg_gps_leap_second_t &msg) { - return sbp_msg_gps_leap_second_encoded_len(&msg); - } -}; - template <> struct MessageTraits { static constexpr sbp_msg_type_t id = SbpMsgGpsTimeDepA; @@ -3234,36 +3199,6 @@ struct MessageTraits { } }; -template <> -struct MessageTraits { - static constexpr sbp_msg_type_t id = SbpMsgItrf; - static const sbp_msg_itrf_t &get(const sbp_msg_t &msg) { return msg.itrf; } - static sbp_msg_itrf_t &get(sbp_msg_t &msg) { return msg.itrf; } - static void to_sbp_msg(const sbp_msg_itrf_t &msg, sbp_msg_t *sbp_msg) { - sbp_msg->itrf = msg; - } - static sbp_msg_t to_sbp_msg(const sbp_msg_itrf_t &msg) { - sbp_msg_t sbp_msg; - sbp_msg.itrf = msg; - return sbp_msg; - } - static s8 send(sbp_state_t *state, u16 sender_id, const sbp_msg_itrf_t &msg, - sbp_write_fn_t write) { - return sbp_msg_itrf_send(state, sender_id, &msg, write); - } - static s8 encode(uint8_t *buf, uint8_t len, uint8_t *n_written, - const sbp_msg_itrf_t &msg) { - return sbp_msg_itrf_encode(buf, len, n_written, &msg); - } - static s8 decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, - sbp_msg_itrf_t *msg) { - return sbp_msg_itrf_decode(buf, len, n_read, msg); - } - static size_t encoded_len(const sbp_msg_itrf_t &msg) { - return sbp_msg_itrf_encoded_len(&msg); - } -}; - template <> struct MessageTraits { static constexpr sbp_msg_type_t id = SbpMsgLinuxCpuStateDepA; @@ -4920,6 +4855,42 @@ struct MessageTraits { } }; +template <> +struct MessageTraits { + static constexpr sbp_msg_type_t id = SbpMsgReferenceFrameParam; + static const sbp_msg_reference_frame_param_t &get(const sbp_msg_t &msg) { + return msg.reference_frame_param; + } + static sbp_msg_reference_frame_param_t &get(sbp_msg_t &msg) { + return msg.reference_frame_param; + } + static void to_sbp_msg(const sbp_msg_reference_frame_param_t &msg, + sbp_msg_t *sbp_msg) { + sbp_msg->reference_frame_param = msg; + } + static sbp_msg_t to_sbp_msg(const sbp_msg_reference_frame_param_t &msg) { + sbp_msg_t sbp_msg; + sbp_msg.reference_frame_param = msg; + return sbp_msg; + } + static s8 send(sbp_state_t *state, u16 sender_id, + const sbp_msg_reference_frame_param_t &msg, + sbp_write_fn_t write) { + return sbp_msg_reference_frame_param_send(state, sender_id, &msg, write); + } + static s8 encode(uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_reference_frame_param_t &msg) { + return sbp_msg_reference_frame_param_encode(buf, len, n_written, &msg); + } + static s8 decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, + sbp_msg_reference_frame_param_t *msg) { + return sbp_msg_reference_frame_param_decode(buf, len, n_read, msg); + } + static size_t encoded_len(const sbp_msg_reference_frame_param_t &msg) { + return sbp_msg_reference_frame_param_encoded_len(&msg); + } +}; + template <> struct MessageTraits { static constexpr sbp_msg_type_t id = SbpMsgResetDep; @@ -7247,6 +7218,41 @@ struct MessageTraits { } }; +template <> +struct MessageTraits { + static constexpr sbp_msg_type_t id = SbpMsgUtcLeapSecond; + static const sbp_msg_utc_leap_second_t &get(const sbp_msg_t &msg) { + return msg.utc_leap_second; + } + static sbp_msg_utc_leap_second_t &get(sbp_msg_t &msg) { + return msg.utc_leap_second; + } + static void to_sbp_msg(const sbp_msg_utc_leap_second_t &msg, + sbp_msg_t *sbp_msg) { + sbp_msg->utc_leap_second = msg; + } + static sbp_msg_t to_sbp_msg(const sbp_msg_utc_leap_second_t &msg) { + sbp_msg_t sbp_msg; + sbp_msg.utc_leap_second = msg; + return sbp_msg; + } + static s8 send(sbp_state_t *state, u16 sender_id, + const sbp_msg_utc_leap_second_t &msg, sbp_write_fn_t write) { + return sbp_msg_utc_leap_second_send(state, sender_id, &msg, write); + } + static s8 encode(uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_utc_leap_second_t &msg) { + return sbp_msg_utc_leap_second_encode(buf, len, n_written, &msg); + } + static s8 decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, + sbp_msg_utc_leap_second_t *msg) { + return sbp_msg_utc_leap_second_decode(buf, len, n_read, msg); + } + static size_t encoded_len(const sbp_msg_utc_leap_second_t &msg) { + return sbp_msg_utc_leap_second_encoded_len(&msg); + } +}; + template <> struct MessageTraits { static constexpr sbp_msg_type_t id = SbpMsgUtcTimeGnss; diff --git a/c/include/libsbp/legacy/cpp/message_traits.h b/c/include/libsbp/legacy/cpp/message_traits.h index 0d3549f8c1..a81bcb944b 100644 --- a/c/include/libsbp/legacy/cpp/message_traits.h +++ b/c/include/libsbp/legacy/cpp/message_traits.h @@ -914,13 +914,13 @@ struct MessageTraits { template<> -struct MessageTraits { +struct MessageTraits { static constexpr u16 id = 570; }; template<> -struct MessageTraits { +struct MessageTraits { static constexpr u16 id = 580; }; diff --git a/c/include/libsbp/legacy/navigation.h b/c/include/libsbp/legacy/navigation.h index b3817150e6..c3403536bf 100644 --- a/c/include/libsbp/legacy/navigation.h +++ b/c/include/libsbp/legacy/navigation.h @@ -940,7 +940,7 @@ typedef struct SBP_ATTR_PACKED { u16 ref_wn; /**< Leap second reference week number. [weeks] */ u8 ref_dn; /**< Leap second reference day number. [days] */ s8 count_after; /**< Leap second count after insertion. [s] */ -} msg_gps_leap_second_t; +} msg_utc_leap_second_t; typedef struct SBP_ATTR_PACKED { u8 ssr_iod; /**< SSR IOD parameter. */ @@ -973,7 +973,7 @@ typedef struct SBP_ATTR_PACKED { s32 dot_theta_03; /**< Rate of change of rotation around the Z-axis. [0.0000004 "/yr] */ s16 dot_scale; /**< Rate of change of scale correction. [0.0000002 ppm/yr] */ -} msg_itrf_t; +} msg_reference_frame_param_t; /** \} */ diff --git a/c/include/libsbp/legacy/ssr.h b/c/include/libsbp/legacy/ssr.h index e278b8e7bf..33aff0f433 100644 --- a/c/include/libsbp/legacy/ssr.h +++ b/c/include/libsbp/legacy/ssr.h @@ -675,19 +675,22 @@ typedef struct SBP_ATTR_PACKED { u8 orb_radial_bound_mu; /**< Mean Radial. See Note 1. [m] */ u8 orb_along_bound_mu; /**< Mean Along-Track. See Note 1. [m] */ u8 orb_cross_bound_mu; /**< Mean Cross-Track. See Note 1. [m] */ - u8 orb_radial_bound_sig; /**< Standard Deviation Radial. See Note 1. [m] */ - u8 orb_along_bound_sig; /**< Standard Deviation Along-Track. See Note 1. [m] + u8 orb_radial_bound_sig; /**< Standard Deviation Radial. See Note 2. [m] */ + u8 orb_along_bound_sig; /**< Standard Deviation Along-Track. See Note 2. [m] */ - u8 orb_cross_bound_sig; /**< Standard Deviation Cross-Track. See Note 1. [m] + u8 orb_cross_bound_sig; /**< Standard Deviation Cross-Track. See Note 2. [m] */ u8 clock_bound_mu; /**< Clock Bound Mean. See Note 1. [m] */ - u8 clock_bound_sig; /**< Clock Bound Standard Deviation. See Note 1. [m] */ + u8 clock_bound_sig; /**< Clock Bound Standard Deviation. See Note 2. [m] */ } orbit_clock_bound_t; /** Combined Orbit and Clock Bound * - * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + * Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230). + * + * Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, std=5+0.5(i-230). */ typedef struct SBP_ATTR_PACKED { @@ -763,7 +766,9 @@ typedef struct SBP_ATTR_PACKED { u64 sat_bitmask; /**< Satellite Bit Mask. Put 1 for each satellite where the following degradation parameters - are applicable, 0 otherwise. */ + are applicable, 0 otherwise. + Encoded following RTCM DF394 + specification. */ orbit_clock_bound_degradation_t orbit_clock_bounds_degradation; /**< Orbit and diff --git a/c/include/libsbp/navigation_macros.h b/c/include/libsbp/navigation_macros.h index ac018e5af7..c4991a13f7 100644 --- a/c/include/libsbp/navigation_macros.h +++ b/c/include/libsbp/navigation_macros.h @@ -1736,32 +1736,34 @@ */ #define SBP_MSG_PROTECTION_LEVEL_ENCODED_LEN 76u -#define SBP_MSG_GPS_LEAP_SECOND 0x023A +#define SBP_MSG_UTC_LEAP_SECOND 0x023A /** - * Encoded length of sbp_msg_gps_leap_second_t (V4 API) and - * msg_gps_leap_second_t (legacy API) + * Encoded length of sbp_msg_utc_leap_second_t (V4 API) and + * msg_utc_leap_second_t (legacy API) */ -#define SBP_MSG_GPS_LEAP_SECOND_ENCODED_LEN 14u +#define SBP_MSG_UTC_LEAP_SECOND_ENCODED_LEN 14u -#define SBP_MSG_ITRF 0x0244 +#define SBP_MSG_REFERENCE_FRAME_PARAM 0x0244 /** - * The maximum number of items that can be stored in sbp_msg_itrf_t::sn (V4 API) - * or msg_itrf_t::sn (legacy API) before the maximum SBP message size is - * exceeded + * The maximum number of items that can be stored in + * sbp_msg_reference_frame_param_t::sn (V4 API) or + * msg_reference_frame_param_t::sn (legacy API) before the maximum SBP message + * size is exceeded */ -#define SBP_MSG_ITRF_SN_MAX 31u +#define SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX 31u /** - * The maximum number of items that can be stored in sbp_msg_itrf_t::tn (V4 API) - * or msg_itrf_t::tn (legacy API) before the maximum SBP message size is - * exceeded + * The maximum number of items that can be stored in + * sbp_msg_reference_frame_param_t::tn (V4 API) or + * msg_reference_frame_param_t::tn (legacy API) before the maximum SBP message + * size is exceeded */ -#define SBP_MSG_ITRF_TN_MAX 31u +#define SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX 31u /** - * Encoded length of sbp_msg_itrf_t (V4 API) and - * msg_itrf_t (legacy API) + * Encoded length of sbp_msg_reference_frame_param_t (V4 API) and + * msg_reference_frame_param_t (legacy API) */ -#define SBP_MSG_ITRF_ENCODED_LEN 124u +#define SBP_MSG_REFERENCE_FRAME_PARAM_ENCODED_LEN 124u #endif /* LIBSBP_NAVIGATION_MACROS_H */ diff --git a/c/include/libsbp/sbp_msg_type.h b/c/include/libsbp/sbp_msg_type.h index 1be546c6e4..9dda8899e0 100644 --- a/c/include/libsbp/sbp_msg_type.h +++ b/c/include/libsbp/sbp_msg_type.h @@ -127,7 +127,6 @@ typedef enum { SbpMsgGloBiases = SBP_MSG_GLO_BIASES, SbpMsgGnssCapb = SBP_MSG_GNSS_CAPB, SbpMsgGnssTimeOffset = SBP_MSG_GNSS_TIME_OFFSET, - SbpMsgGpsLeapSecond = SBP_MSG_GPS_LEAP_SECOND, SbpMsgGpsTimeDepA = SBP_MSG_GPS_TIME_DEP_A, SbpMsgGpsTimeGnss = SBP_MSG_GPS_TIME_GNSS, SbpMsgGpsTime = SBP_MSG_GPS_TIME, @@ -143,7 +142,6 @@ typedef enum { SbpMsgInsStatus = SBP_MSG_INS_STATUS, SbpMsgInsUpdates = SBP_MSG_INS_UPDATES, SbpMsgIono = SBP_MSG_IONO, - SbpMsgItrf = SBP_MSG_ITRF, SbpMsgLinuxCpuStateDepA = SBP_MSG_LINUX_CPU_STATE_DEP_A, SbpMsgLinuxCpuState = SBP_MSG_LINUX_CPU_STATE, SbpMsgLinuxMemStateDepA = SBP_MSG_LINUX_MEM_STATE_DEP_A, @@ -190,6 +188,7 @@ typedef enum { SbpMsgPrintDep = SBP_MSG_PRINT_DEP, SbpMsgProtectionLevelDepA = SBP_MSG_PROTECTION_LEVEL_DEP_A, SbpMsgProtectionLevel = SBP_MSG_PROTECTION_LEVEL, + SbpMsgReferenceFrameParam = SBP_MSG_REFERENCE_FRAME_PARAM, SbpMsgResetDep = SBP_MSG_RESET_DEP, SbpMsgResetFilters = SBP_MSG_RESET_FILTERS, SbpMsgReset = SBP_MSG_RESET, @@ -257,6 +256,7 @@ typedef enum { SbpMsgUartStateDepa = SBP_MSG_UART_STATE_DEPA, SbpMsgUartState = SBP_MSG_UART_STATE, SbpMsgUserData = SBP_MSG_USER_DATA, + SbpMsgUtcLeapSecond = SBP_MSG_UTC_LEAP_SECOND, SbpMsgUtcTimeGnss = SBP_MSG_UTC_TIME_GNSS, SbpMsgUtcTime = SBP_MSG_UTC_TIME, SbpMsgVelBody = SBP_MSG_VEL_BODY, diff --git a/c/include/libsbp/v4/navigation.h b/c/include/libsbp/v4/navigation.h index f61fd07640..fc89dacc0c 100644 --- a/c/include/libsbp/v4/navigation.h +++ b/c/include/libsbp/v4/navigation.h @@ -26,11 +26,9 @@ #include #include #include -#include #include #include #include -#include #include #include #include @@ -44,6 +42,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/c/include/libsbp/v4/navigation/MSG_ITRF.h b/c/include/libsbp/v4/navigation/MSG_REFERENCE_FRAME_PARAM.h similarity index 59% rename from c/include/libsbp/v4/navigation/MSG_ITRF.h rename to c/include/libsbp/v4/navigation/MSG_REFERENCE_FRAME_PARAM.h index 361db39f5c..1c17fbbbca 100644 --- a/c/include/libsbp/v4/navigation/MSG_ITRF.h +++ b/c/include/libsbp/v4/navigation/MSG_REFERENCE_FRAME_PARAM.h @@ -15,8 +15,8 @@ * with generate.py. Please do not hand edit! *****************************************************************************/ -#ifndef LIBSBP_V4_NAVIGATION_MSG_ITRF_H -#define LIBSBP_V4_NAVIGATION_MSG_ITRF_H +#ifndef LIBSBP_V4_NAVIGATION_MSG_REFERENCE_FRAME_PARAM_H +#define LIBSBP_V4_NAVIGATION_MSG_REFERENCE_FRAME_PARAM_H #include #include @@ -35,7 +35,7 @@ extern "C" { /****************************************************************************** * - * SBP_MSG_ITRF + * SBP_MSG_REFERENCE_FRAME_PARAM * *****************************************************************************/ typedef struct { @@ -52,7 +52,7 @@ typedef struct { /** * Source-Name */ - char sn[SBP_MSG_ITRF_SN_MAX]; + char sn[SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX]; /** * Target-Name Counter M. @@ -62,7 +62,7 @@ typedef struct { /** * Target-Name */ - char tn[SBP_MSG_ITRF_TN_MAX]; + char tn[SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX]; /** * System Identification Number. @@ -149,21 +149,22 @@ typedef struct { * Rate of change of scale correction. [0.0000002 ppm/yr] */ s16 dot_scale; -} sbp_msg_itrf_t; +} sbp_msg_reference_frame_param_t; /** - * Get encoded size of an instance of sbp_msg_itrf_t + * Get encoded size of an instance of sbp_msg_reference_frame_param_t * - * @param msg sbp_msg_itrf_t instance + * @param msg sbp_msg_reference_frame_param_t instance * @return Length of on-wire representation */ -static inline size_t sbp_msg_itrf_encoded_len(const sbp_msg_itrf_t *msg) { +static inline size_t sbp_msg_reference_frame_param_encoded_len( + const sbp_msg_reference_frame_param_t *msg) { (void)msg; - return SBP_MSG_ITRF_ENCODED_LEN; + return SBP_MSG_REFERENCE_FRAME_PARAM_ENCODED_LEN; } /** - * Encode an instance of sbp_msg_itrf_t to wire representation + * Encode an instance of sbp_msg_reference_frame_param_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 @@ -178,34 +179,39 @@ static inline size_t sbp_msg_itrf_encoded_len(const sbp_msg_itrf_t *msg) { * @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_itrf_t to encode + * @param msg Instance of sbp_msg_reference_frame_param_t to encode * @return SBP_OK on success, or other libsbp error code */ -SBP_EXPORT s8 sbp_msg_itrf_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, - const sbp_msg_itrf_t *msg); +SBP_EXPORT s8 sbp_msg_reference_frame_param_encode( + uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_reference_frame_param_t *msg); /** - * Decode an instance of sbp_msg_itrf_t from wire representation + * Decode an instance of sbp_msg_reference_frame_param_t from wire + * representation * - * This function decodes the wire representation of a sbp_msg_itrf_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. + * This function decodes the wire representation of a + * sbp_msg_reference_frame_param_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_itrf_t instance + * @param buf Wire representation of the sbp_msg_reference_frame_param_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_itrf_decode(const uint8_t *buf, uint8_t len, - uint8_t *n_read, sbp_msg_itrf_t *msg); +SBP_EXPORT s8 sbp_msg_reference_frame_param_decode( + const uint8_t *buf, uint8_t len, uint8_t *n_read, + sbp_msg_reference_frame_param_t *msg); /** - * Send an instance of sbp_msg_itrf_t with the given write function + * Send an instance of sbp_msg_reference_frame_param_t with the given write + * function * * An equivalent of #sbp_message_send which operates specifically on - * sbp_msg_itrf_t + * sbp_msg_reference_frame_param_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 @@ -217,12 +223,12 @@ SBP_EXPORT s8 sbp_msg_itrf_decode(const uint8_t *buf, uint8_t len, * @param write Write function * @return SBP_OK on success, or other libsbp error code */ -SBP_EXPORT s8 sbp_msg_itrf_send(sbp_state_t *s, u16 sender_id, - const sbp_msg_itrf_t *msg, - sbp_write_fn_t write); +SBP_EXPORT s8 sbp_msg_reference_frame_param_send( + sbp_state_t *s, u16 sender_id, const sbp_msg_reference_frame_param_t *msg, + sbp_write_fn_t write); /** - * Compare two instances of sbp_msg_itrf_t + * Compare two instances of sbp_msg_reference_frame_param_t * * The two instances will be compared and a value returned consistent with the * return codes of comparison functions from the C standard library @@ -232,46 +238,47 @@ SBP_EXPORT s8 sbp_msg_itrf_send(sbp_state_t *s, u16 sender_id, * b A value greater than 0 will be returned if \p b is considered to be greater * than \p b * - * @param a sbp_msg_itrf_t instance - * @param b sbp_msg_itrf_t instance + * @param a sbp_msg_reference_frame_param_t instance + * @param b sbp_msg_reference_frame_param_t instance * @return 0, <0, >0 */ -SBP_EXPORT int sbp_msg_itrf_cmp(const sbp_msg_itrf_t *a, - const sbp_msg_itrf_t *b); +SBP_EXPORT int sbp_msg_reference_frame_param_cmp( + const sbp_msg_reference_frame_param_t *a, + const sbp_msg_reference_frame_param_t *b); #ifdef __cplusplus } -static inline bool operator==(const sbp_msg_itrf_t &lhs, - const sbp_msg_itrf_t &rhs) { - return sbp_msg_itrf_cmp(&lhs, &rhs) == 0; +static inline bool operator==(const sbp_msg_reference_frame_param_t &lhs, + const sbp_msg_reference_frame_param_t &rhs) { + return sbp_msg_reference_frame_param_cmp(&lhs, &rhs) == 0; } -static inline bool operator!=(const sbp_msg_itrf_t &lhs, - const sbp_msg_itrf_t &rhs) { - return sbp_msg_itrf_cmp(&lhs, &rhs) != 0; +static inline bool operator!=(const sbp_msg_reference_frame_param_t &lhs, + const sbp_msg_reference_frame_param_t &rhs) { + return sbp_msg_reference_frame_param_cmp(&lhs, &rhs) != 0; } -static inline bool operator<(const sbp_msg_itrf_t &lhs, - const sbp_msg_itrf_t &rhs) { - return sbp_msg_itrf_cmp(&lhs, &rhs) < 0; +static inline bool operator<(const sbp_msg_reference_frame_param_t &lhs, + const sbp_msg_reference_frame_param_t &rhs) { + return sbp_msg_reference_frame_param_cmp(&lhs, &rhs) < 0; } -static inline bool operator<=(const sbp_msg_itrf_t &lhs, - const sbp_msg_itrf_t &rhs) { - return sbp_msg_itrf_cmp(&lhs, &rhs) <= 0; +static inline bool operator<=(const sbp_msg_reference_frame_param_t &lhs, + const sbp_msg_reference_frame_param_t &rhs) { + return sbp_msg_reference_frame_param_cmp(&lhs, &rhs) <= 0; } -static inline bool operator>(const sbp_msg_itrf_t &lhs, - const sbp_msg_itrf_t &rhs) { - return sbp_msg_itrf_cmp(&lhs, &rhs) > 0; +static inline bool operator>(const sbp_msg_reference_frame_param_t &lhs, + const sbp_msg_reference_frame_param_t &rhs) { + return sbp_msg_reference_frame_param_cmp(&lhs, &rhs) > 0; } -static inline bool operator>=(const sbp_msg_itrf_t &lhs, - const sbp_msg_itrf_t &rhs) { - return sbp_msg_itrf_cmp(&lhs, &rhs) >= 0; +static inline bool operator>=(const sbp_msg_reference_frame_param_t &lhs, + const sbp_msg_reference_frame_param_t &rhs) { + return sbp_msg_reference_frame_param_cmp(&lhs, &rhs) >= 0; } #endif // ifdef __cplusplus -#endif /* LIBSBP_V4_NAVIGATION_MSG_ITRF_H */ +#endif /* LIBSBP_V4_NAVIGATION_MSG_REFERENCE_FRAME_PARAM_H */ diff --git a/c/include/libsbp/v4/navigation/MSG_GPS_LEAP_SECOND.h b/c/include/libsbp/v4/navigation/MSG_UTC_LEAP_SECOND.h similarity index 63% rename from c/include/libsbp/v4/navigation/MSG_GPS_LEAP_SECOND.h rename to c/include/libsbp/v4/navigation/MSG_UTC_LEAP_SECOND.h index 35dc956dc3..79b3692f19 100644 --- a/c/include/libsbp/v4/navigation/MSG_GPS_LEAP_SECOND.h +++ b/c/include/libsbp/v4/navigation/MSG_UTC_LEAP_SECOND.h @@ -15,8 +15,8 @@ * with generate.py. Please do not hand edit! *****************************************************************************/ -#ifndef LIBSBP_V4_NAVIGATION_MSG_GPS_LEAP_SECOND_H -#define LIBSBP_V4_NAVIGATION_MSG_GPS_LEAP_SECOND_H +#ifndef LIBSBP_V4_NAVIGATION_MSG_UTC_LEAP_SECOND_H +#define LIBSBP_V4_NAVIGATION_MSG_UTC_LEAP_SECOND_H #include #include @@ -35,7 +35,7 @@ extern "C" { /****************************************************************************** * - * SBP_MSG_GPS_LEAP_SECOND + * SBP_MSG_UTC_LEAP_SECOND * *****************************************************************************/ /** Leap second SBP message. @@ -92,22 +92,22 @@ typedef struct { * Leap second count after insertion. [s] */ s8 count_after; -} sbp_msg_gps_leap_second_t; +} sbp_msg_utc_leap_second_t; /** - * Get encoded size of an instance of sbp_msg_gps_leap_second_t + * Get encoded size of an instance of sbp_msg_utc_leap_second_t * - * @param msg sbp_msg_gps_leap_second_t instance + * @param msg sbp_msg_utc_leap_second_t instance * @return Length of on-wire representation */ -static inline size_t sbp_msg_gps_leap_second_encoded_len( - const sbp_msg_gps_leap_second_t *msg) { +static inline size_t sbp_msg_utc_leap_second_encoded_len( + const sbp_msg_utc_leap_second_t *msg) { (void)msg; - return SBP_MSG_GPS_LEAP_SECOND_ENCODED_LEN; + return SBP_MSG_UTC_LEAP_SECOND_ENCODED_LEN; } /** - * Encode an instance of sbp_msg_gps_leap_second_t to wire representation + * Encode an instance of sbp_msg_utc_leap_second_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 @@ -122,36 +122,36 @@ static inline size_t sbp_msg_gps_leap_second_encoded_len( * @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_gps_leap_second_t to encode + * @param msg Instance of sbp_msg_utc_leap_second_t to encode * @return SBP_OK on success, or other libsbp error code */ SBP_EXPORT s8 -sbp_msg_gps_leap_second_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, - const sbp_msg_gps_leap_second_t *msg); +sbp_msg_utc_leap_second_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_utc_leap_second_t *msg); /** - * Decode an instance of sbp_msg_gps_leap_second_t from wire representation + * Decode an instance of sbp_msg_utc_leap_second_t from wire representation * - * This function decodes the wire representation of a sbp_msg_gps_leap_second_t + * This function decodes the wire representation of a sbp_msg_utc_leap_second_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_gps_leap_second_t instance + * @param buf Wire representation of the sbp_msg_utc_leap_second_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_gps_leap_second_decode(const uint8_t *buf, uint8_t len, +SBP_EXPORT s8 sbp_msg_utc_leap_second_decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, - sbp_msg_gps_leap_second_t *msg); + sbp_msg_utc_leap_second_t *msg); /** - * Send an instance of sbp_msg_gps_leap_second_t with the given write function + * Send an instance of sbp_msg_utc_leap_second_t with the given write function * * An equivalent of #sbp_message_send which operates specifically on - * sbp_msg_gps_leap_second_t + * sbp_msg_utc_leap_second_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 @@ -163,12 +163,12 @@ SBP_EXPORT s8 sbp_msg_gps_leap_second_decode(const uint8_t *buf, uint8_t len, * @param write Write function * @return SBP_OK on success, or other libsbp error code */ -SBP_EXPORT s8 sbp_msg_gps_leap_second_send(sbp_state_t *s, u16 sender_id, - const sbp_msg_gps_leap_second_t *msg, +SBP_EXPORT s8 sbp_msg_utc_leap_second_send(sbp_state_t *s, u16 sender_id, + const sbp_msg_utc_leap_second_t *msg, sbp_write_fn_t write); /** - * Compare two instances of sbp_msg_gps_leap_second_t + * Compare two instances of sbp_msg_utc_leap_second_t * * The two instances will be compared and a value returned consistent with the * return codes of comparison functions from the C standard library @@ -178,46 +178,46 @@ SBP_EXPORT s8 sbp_msg_gps_leap_second_send(sbp_state_t *s, u16 sender_id, * b A value greater than 0 will be returned if \p b is considered to be greater * than \p b * - * @param a sbp_msg_gps_leap_second_t instance - * @param b sbp_msg_gps_leap_second_t instance + * @param a sbp_msg_utc_leap_second_t instance + * @param b sbp_msg_utc_leap_second_t instance * @return 0, <0, >0 */ -SBP_EXPORT int sbp_msg_gps_leap_second_cmp(const sbp_msg_gps_leap_second_t *a, - const sbp_msg_gps_leap_second_t *b); +SBP_EXPORT int sbp_msg_utc_leap_second_cmp(const sbp_msg_utc_leap_second_t *a, + const sbp_msg_utc_leap_second_t *b); #ifdef __cplusplus } -static inline bool operator==(const sbp_msg_gps_leap_second_t &lhs, - const sbp_msg_gps_leap_second_t &rhs) { - return sbp_msg_gps_leap_second_cmp(&lhs, &rhs) == 0; +static inline bool operator==(const sbp_msg_utc_leap_second_t &lhs, + const sbp_msg_utc_leap_second_t &rhs) { + return sbp_msg_utc_leap_second_cmp(&lhs, &rhs) == 0; } -static inline bool operator!=(const sbp_msg_gps_leap_second_t &lhs, - const sbp_msg_gps_leap_second_t &rhs) { - return sbp_msg_gps_leap_second_cmp(&lhs, &rhs) != 0; +static inline bool operator!=(const sbp_msg_utc_leap_second_t &lhs, + const sbp_msg_utc_leap_second_t &rhs) { + return sbp_msg_utc_leap_second_cmp(&lhs, &rhs) != 0; } -static inline bool operator<(const sbp_msg_gps_leap_second_t &lhs, - const sbp_msg_gps_leap_second_t &rhs) { - return sbp_msg_gps_leap_second_cmp(&lhs, &rhs) < 0; +static inline bool operator<(const sbp_msg_utc_leap_second_t &lhs, + const sbp_msg_utc_leap_second_t &rhs) { + return sbp_msg_utc_leap_second_cmp(&lhs, &rhs) < 0; } -static inline bool operator<=(const sbp_msg_gps_leap_second_t &lhs, - const sbp_msg_gps_leap_second_t &rhs) { - return sbp_msg_gps_leap_second_cmp(&lhs, &rhs) <= 0; +static inline bool operator<=(const sbp_msg_utc_leap_second_t &lhs, + const sbp_msg_utc_leap_second_t &rhs) { + return sbp_msg_utc_leap_second_cmp(&lhs, &rhs) <= 0; } -static inline bool operator>(const sbp_msg_gps_leap_second_t &lhs, - const sbp_msg_gps_leap_second_t &rhs) { - return sbp_msg_gps_leap_second_cmp(&lhs, &rhs) > 0; +static inline bool operator>(const sbp_msg_utc_leap_second_t &lhs, + const sbp_msg_utc_leap_second_t &rhs) { + return sbp_msg_utc_leap_second_cmp(&lhs, &rhs) > 0; } -static inline bool operator>=(const sbp_msg_gps_leap_second_t &lhs, - const sbp_msg_gps_leap_second_t &rhs) { - return sbp_msg_gps_leap_second_cmp(&lhs, &rhs) >= 0; +static inline bool operator>=(const sbp_msg_utc_leap_second_t &lhs, + const sbp_msg_utc_leap_second_t &rhs) { + return sbp_msg_utc_leap_second_cmp(&lhs, &rhs) >= 0; } #endif // ifdef __cplusplus -#endif /* LIBSBP_V4_NAVIGATION_MSG_GPS_LEAP_SECOND_H */ +#endif /* LIBSBP_V4_NAVIGATION_MSG_UTC_LEAP_SECOND_H */ diff --git a/c/include/libsbp/v4/sbp_msg.h b/c/include/libsbp/v4/sbp_msg.h index f8428fbbc1..340c230437 100644 --- a/c/include/libsbp/v4/sbp_msg.h +++ b/c/include/libsbp/v4/sbp_msg.h @@ -133,7 +133,6 @@ typedef union { sbp_msg_glo_biases_t glo_biases; sbp_msg_gnss_capb_t gnss_capb; sbp_msg_gnss_time_offset_t gnss_time_offset; - sbp_msg_gps_leap_second_t gps_leap_second; sbp_msg_gps_time_dep_a_t gps_time_dep_a; sbp_msg_gps_time_gnss_t gps_time_gnss; sbp_msg_gps_time_t gps_time; @@ -149,7 +148,6 @@ typedef union { sbp_msg_ins_status_t ins_status; sbp_msg_ins_updates_t ins_updates; sbp_msg_iono_t iono; - sbp_msg_itrf_t itrf; sbp_msg_linux_cpu_state_dep_a_t linux_cpu_state_dep_a; sbp_msg_linux_cpu_state_t linux_cpu_state; sbp_msg_linux_mem_state_dep_a_t linux_mem_state_dep_a; @@ -196,6 +194,7 @@ typedef union { sbp_msg_print_dep_t print_dep; sbp_msg_protection_level_dep_a_t protection_level_dep_a; sbp_msg_protection_level_t protection_level; + sbp_msg_reference_frame_param_t reference_frame_param; sbp_msg_reset_dep_t reset_dep; sbp_msg_reset_filters_t reset_filters; sbp_msg_reset_t reset; @@ -263,6 +262,7 @@ typedef union { sbp_msg_uart_state_depa_t uart_state_depa; sbp_msg_uart_state_t uart_state; sbp_msg_user_data_t user_data; + sbp_msg_utc_leap_second_t utc_leap_second; sbp_msg_utc_time_gnss_t utc_time_gnss; sbp_msg_utc_time_t utc_time; sbp_msg_vel_body_t vel_body; @@ -509,9 +509,6 @@ static inline s8 sbp_message_encode(uint8_t *buf, uint8_t len, case SbpMsgGnssTimeOffset: return sbp_msg_gnss_time_offset_encode(buf, len, n_written, &msg->gnss_time_offset); - case SbpMsgGpsLeapSecond: - return sbp_msg_gps_leap_second_encode(buf, len, n_written, - &msg->gps_leap_second); case SbpMsgGpsTimeDepA: return sbp_msg_gps_time_dep_a_encode(buf, len, n_written, &msg->gps_time_dep_a); @@ -547,8 +544,6 @@ static inline s8 sbp_message_encode(uint8_t *buf, uint8_t len, return sbp_msg_ins_updates_encode(buf, len, n_written, &msg->ins_updates); case SbpMsgIono: return sbp_msg_iono_encode(buf, len, n_written, &msg->iono); - case SbpMsgItrf: - return sbp_msg_itrf_encode(buf, len, n_written, &msg->itrf); case SbpMsgLinuxCpuStateDepA: return sbp_msg_linux_cpu_state_dep_a_encode(buf, len, n_written, &msg->linux_cpu_state_dep_a); @@ -671,6 +666,9 @@ static inline s8 sbp_message_encode(uint8_t *buf, uint8_t len, case SbpMsgProtectionLevel: return sbp_msg_protection_level_encode(buf, len, n_written, &msg->protection_level); + case SbpMsgReferenceFrameParam: + return sbp_msg_reference_frame_param_encode(buf, len, n_written, + &msg->reference_frame_param); case SbpMsgResetDep: return sbp_msg_reset_dep_encode(buf, len, n_written, &msg->reset_dep); case SbpMsgResetFilters: @@ -854,6 +852,9 @@ static inline s8 sbp_message_encode(uint8_t *buf, uint8_t len, return sbp_msg_uart_state_encode(buf, len, n_written, &msg->uart_state); case SbpMsgUserData: return sbp_msg_user_data_encode(buf, len, n_written, &msg->user_data); + case SbpMsgUtcLeapSecond: + return sbp_msg_utc_leap_second_encode(buf, len, n_written, + &msg->utc_leap_second); case SbpMsgUtcTimeGnss: return sbp_msg_utc_time_gnss_encode(buf, len, n_written, &msg->utc_time_gnss); @@ -1123,9 +1124,6 @@ static inline s8 sbp_message_decode(const uint8_t *buf, uint8_t len, case SbpMsgGnssTimeOffset: return sbp_msg_gnss_time_offset_decode(buf, len, n_read, &msg->gnss_time_offset); - case SbpMsgGpsLeapSecond: - return sbp_msg_gps_leap_second_decode(buf, len, n_read, - &msg->gps_leap_second); case SbpMsgGpsTimeDepA: return sbp_msg_gps_time_dep_a_decode(buf, len, n_read, &msg->gps_time_dep_a); @@ -1161,8 +1159,6 @@ static inline s8 sbp_message_decode(const uint8_t *buf, uint8_t len, return sbp_msg_ins_updates_decode(buf, len, n_read, &msg->ins_updates); case SbpMsgIono: return sbp_msg_iono_decode(buf, len, n_read, &msg->iono); - case SbpMsgItrf: - return sbp_msg_itrf_decode(buf, len, n_read, &msg->itrf); case SbpMsgLinuxCpuStateDepA: return sbp_msg_linux_cpu_state_dep_a_decode(buf, len, n_read, &msg->linux_cpu_state_dep_a); @@ -1282,6 +1278,9 @@ static inline s8 sbp_message_decode(const uint8_t *buf, uint8_t len, case SbpMsgProtectionLevel: return sbp_msg_protection_level_decode(buf, len, n_read, &msg->protection_level); + case SbpMsgReferenceFrameParam: + return sbp_msg_reference_frame_param_decode(buf, len, n_read, + &msg->reference_frame_param); case SbpMsgResetDep: return sbp_msg_reset_dep_decode(buf, len, n_read, &msg->reset_dep); case SbpMsgResetFilters: @@ -1464,6 +1463,9 @@ static inline s8 sbp_message_decode(const uint8_t *buf, uint8_t len, return sbp_msg_uart_state_decode(buf, len, n_read, &msg->uart_state); case SbpMsgUserData: return sbp_msg_user_data_decode(buf, len, n_read, &msg->user_data); + case SbpMsgUtcLeapSecond: + return sbp_msg_utc_leap_second_decode(buf, len, n_read, + &msg->utc_leap_second); case SbpMsgUtcTimeGnss: return sbp_msg_utc_time_gnss_decode(buf, len, n_read, &msg->utc_time_gnss); @@ -1679,8 +1681,6 @@ static inline size_t sbp_message_encoded_len(sbp_msg_type_t msg_type, return sbp_msg_gnss_capb_encoded_len(&msg->gnss_capb); case SbpMsgGnssTimeOffset: return sbp_msg_gnss_time_offset_encoded_len(&msg->gnss_time_offset); - case SbpMsgGpsLeapSecond: - return sbp_msg_gps_leap_second_encoded_len(&msg->gps_leap_second); case SbpMsgGpsTimeDepA: return sbp_msg_gps_time_dep_a_encoded_len(&msg->gps_time_dep_a); case SbpMsgGpsTimeGnss: @@ -1711,8 +1711,6 @@ static inline size_t sbp_message_encoded_len(sbp_msg_type_t msg_type, return sbp_msg_ins_updates_encoded_len(&msg->ins_updates); case SbpMsgIono: return sbp_msg_iono_encoded_len(&msg->iono); - case SbpMsgItrf: - return sbp_msg_itrf_encoded_len(&msg->itrf); case SbpMsgLinuxCpuStateDepA: return sbp_msg_linux_cpu_state_dep_a_encoded_len( &msg->linux_cpu_state_dep_a); @@ -1815,6 +1813,9 @@ static inline size_t sbp_message_encoded_len(sbp_msg_type_t msg_type, &msg->protection_level_dep_a); case SbpMsgProtectionLevel: return sbp_msg_protection_level_encoded_len(&msg->protection_level); + case SbpMsgReferenceFrameParam: + return sbp_msg_reference_frame_param_encoded_len( + &msg->reference_frame_param); case SbpMsgResetDep: return sbp_msg_reset_dep_encoded_len(&msg->reset_dep); case SbpMsgResetFilters: @@ -1972,6 +1973,8 @@ static inline size_t sbp_message_encoded_len(sbp_msg_type_t msg_type, return sbp_msg_uart_state_encoded_len(&msg->uart_state); case SbpMsgUserData: return sbp_msg_user_data_encoded_len(&msg->user_data); + case SbpMsgUtcLeapSecond: + return sbp_msg_utc_leap_second_encoded_len(&msg->utc_leap_second); case SbpMsgUtcTimeGnss: return sbp_msg_utc_time_gnss_encoded_len(&msg->utc_time_gnss); case SbpMsgUtcTime: @@ -2214,9 +2217,6 @@ static inline int sbp_message_cmp(sbp_msg_type_t msg_type, const sbp_msg_t *a, case SbpMsgGnssTimeOffset: return sbp_msg_gnss_time_offset_cmp(&a->gnss_time_offset, &b->gnss_time_offset); - case SbpMsgGpsLeapSecond: - return sbp_msg_gps_leap_second_cmp(&a->gps_leap_second, - &b->gps_leap_second); case SbpMsgGpsTimeDepA: return sbp_msg_gps_time_dep_a_cmp(&a->gps_time_dep_a, &b->gps_time_dep_a); case SbpMsgGpsTimeGnss: @@ -2249,8 +2249,6 @@ static inline int sbp_message_cmp(sbp_msg_type_t msg_type, const sbp_msg_t *a, return sbp_msg_ins_updates_cmp(&a->ins_updates, &b->ins_updates); case SbpMsgIono: return sbp_msg_iono_cmp(&a->iono, &b->iono); - case SbpMsgItrf: - return sbp_msg_itrf_cmp(&a->itrf, &b->itrf); case SbpMsgLinuxCpuStateDepA: return sbp_msg_linux_cpu_state_dep_a_cmp(&a->linux_cpu_state_dep_a, &b->linux_cpu_state_dep_a); @@ -2366,6 +2364,9 @@ static inline int sbp_message_cmp(sbp_msg_type_t msg_type, const sbp_msg_t *a, case SbpMsgProtectionLevel: return sbp_msg_protection_level_cmp(&a->protection_level, &b->protection_level); + case SbpMsgReferenceFrameParam: + return sbp_msg_reference_frame_param_cmp(&a->reference_frame_param, + &b->reference_frame_param); case SbpMsgResetDep: return sbp_msg_reset_dep_cmp(&a->reset_dep, &b->reset_dep); case SbpMsgResetFilters: @@ -2545,6 +2546,9 @@ static inline int sbp_message_cmp(sbp_msg_type_t msg_type, const sbp_msg_t *a, return sbp_msg_uart_state_cmp(&a->uart_state, &b->uart_state); case SbpMsgUserData: return sbp_msg_user_data_cmp(&a->user_data, &b->user_data); + case SbpMsgUtcLeapSecond: + return sbp_msg_utc_leap_second_cmp(&a->utc_leap_second, + &b->utc_leap_second); case SbpMsgUtcTimeGnss: return sbp_msg_utc_time_gnss_cmp(&a->utc_time_gnss, &b->utc_time_gnss); case SbpMsgUtcTime: diff --git a/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h b/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h index 833ec07c85..a2b6efcacc 100644 --- a/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h +++ b/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h @@ -42,8 +42,9 @@ extern "C" { *****************************************************************************/ /** Combined Orbit and Clock Bound * - * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + * Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230). + * */ typedef struct { /** diff --git a/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION.h b/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION.h index 15a705fe7a..1d75fb33ee 100644 --- a/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION.h +++ b/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION.h @@ -58,7 +58,8 @@ typedef struct { /** * Satellite Bit Mask. Put 1 for each satellite where the following - * degradation parameters are applicable, 0 otherwise. + * degradation parameters are applicable, 0 otherwise. Encoded following RTCM + * DF394 specification. */ u64 sat_bitmask; diff --git a/c/include/libsbp/v4/ssr/OrbitClockBound.h b/c/include/libsbp/v4/ssr/OrbitClockBound.h index 782264889c..b11222da54 100644 --- a/c/include/libsbp/v4/ssr/OrbitClockBound.h +++ b/c/include/libsbp/v4/ssr/OrbitClockBound.h @@ -65,17 +65,17 @@ typedef struct { u8 orb_cross_bound_mu; /** - * Standard Deviation Radial. See Note 1. [m] + * Standard Deviation Radial. See Note 2. [m] */ u8 orb_radial_bound_sig; /** - * Standard Deviation Along-Track. See Note 1. [m] + * Standard Deviation Along-Track. See Note 2. [m] */ u8 orb_along_bound_sig; /** - * Standard Deviation Cross-Track. See Note 1. [m] + * Standard Deviation Cross-Track. See Note 2. [m] */ u8 orb_cross_bound_sig; @@ -85,7 +85,7 @@ typedef struct { u8 clock_bound_mu; /** - * Clock Bound Standard Deviation. See Note 1. [m] + * Clock Bound Standard Deviation. See Note 2. [m] */ u8 clock_bound_sig; } sbp_orbit_clock_bound_t; diff --git a/c/src/include/libsbp/internal/v4/navigation.h b/c/src/include/libsbp/internal/v4/navigation.h index 213d878b87..00f63a0271 100644 --- a/c/src/include/libsbp/internal/v4/navigation.h +++ b/c/src/include/libsbp/internal/v4/navigation.h @@ -813,8 +813,8 @@ bool sbp_msg_protection_level_decode_internal(sbp_decode_ctx_t *ctx, * @param msg SBP type instance * @return true on success, false otherwise */ -bool sbp_msg_gps_leap_second_encode_internal( - sbp_encode_ctx_t *ctx, const sbp_msg_gps_leap_second_t *msg); +bool sbp_msg_utc_leap_second_encode_internal( + sbp_encode_ctx_t *ctx, const sbp_msg_utc_leap_second_t *msg); /** * Internal function to decode an SBP type from a buffer @@ -823,8 +823,8 @@ bool sbp_msg_gps_leap_second_encode_internal( * @param msg SBP type instance * @return true on success, false otherwise */ -bool sbp_msg_gps_leap_second_decode_internal(sbp_decode_ctx_t *ctx, - sbp_msg_gps_leap_second_t *msg); +bool sbp_msg_utc_leap_second_decode_internal(sbp_decode_ctx_t *ctx, + sbp_msg_utc_leap_second_t *msg); /** * Internal function to encode an SBP type to a buffer @@ -833,8 +833,8 @@ bool sbp_msg_gps_leap_second_decode_internal(sbp_decode_ctx_t *ctx, * @param msg SBP type instance * @return true on success, false otherwise */ -bool sbp_msg_itrf_encode_internal(sbp_encode_ctx_t *ctx, - const sbp_msg_itrf_t *msg); +bool sbp_msg_reference_frame_param_encode_internal( + sbp_encode_ctx_t *ctx, const sbp_msg_reference_frame_param_t *msg); /** * Internal function to decode an SBP type from a buffer @@ -843,7 +843,8 @@ bool sbp_msg_itrf_encode_internal(sbp_encode_ctx_t *ctx, * @param msg SBP type instance * @return true on success, false otherwise */ -bool sbp_msg_itrf_decode_internal(sbp_decode_ctx_t *ctx, sbp_msg_itrf_t *msg); +bool sbp_msg_reference_frame_param_decode_internal( + sbp_decode_ctx_t *ctx, sbp_msg_reference_frame_param_t *msg); #ifdef __cplusplus } diff --git a/c/src/v4/navigation.c b/c/src/v4/navigation.c index 7872747b90..18c1b05126 100644 --- a/c/src/v4/navigation.c +++ b/c/src/v4/navigation.c @@ -5972,8 +5972,8 @@ int sbp_msg_protection_level_cmp(const sbp_msg_protection_level_t *a, return ret; } -bool sbp_msg_gps_leap_second_encode_internal( - sbp_encode_ctx_t *ctx, const sbp_msg_gps_leap_second_t *msg) { +bool sbp_msg_utc_leap_second_encode_internal( + sbp_encode_ctx_t *ctx, const sbp_msg_utc_leap_second_t *msg) { if (!sbp_s16_encode(ctx, &msg->bias_coeff)) { return false; } @@ -6004,13 +6004,13 @@ bool sbp_msg_gps_leap_second_encode_internal( return true; } -s8 sbp_msg_gps_leap_second_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, - const sbp_msg_gps_leap_second_t *msg) { +s8 sbp_msg_utc_leap_second_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_utc_leap_second_t *msg) { sbp_encode_ctx_t ctx; ctx.buf = buf; ctx.buf_len = len; ctx.offset = 0; - if (!sbp_msg_gps_leap_second_encode_internal(&ctx, msg)) { + if (!sbp_msg_utc_leap_second_encode_internal(&ctx, msg)) { return SBP_ENCODE_ERROR; } if (n_written != NULL) { @@ -6019,8 +6019,8 @@ s8 sbp_msg_gps_leap_second_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, return SBP_OK; } -bool sbp_msg_gps_leap_second_decode_internal(sbp_decode_ctx_t *ctx, - sbp_msg_gps_leap_second_t *msg) { +bool sbp_msg_utc_leap_second_decode_internal(sbp_decode_ctx_t *ctx, + sbp_msg_utc_leap_second_t *msg) { if (!sbp_s16_decode(ctx, &msg->bias_coeff)) { return false; } @@ -6051,14 +6051,14 @@ bool sbp_msg_gps_leap_second_decode_internal(sbp_decode_ctx_t *ctx, return true; } -s8 sbp_msg_gps_leap_second_decode(const uint8_t *buf, uint8_t len, +s8 sbp_msg_utc_leap_second_decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, - sbp_msg_gps_leap_second_t *msg) { + sbp_msg_utc_leap_second_t *msg) { sbp_decode_ctx_t ctx; ctx.buf = buf; ctx.buf_len = len; ctx.offset = 0; - if (!sbp_msg_gps_leap_second_decode_internal(&ctx, msg)) { + if (!sbp_msg_utc_leap_second_decode_internal(&ctx, msg)) { return SBP_DECODE_ERROR; } if (n_read != NULL) { @@ -6067,22 +6067,22 @@ s8 sbp_msg_gps_leap_second_decode(const uint8_t *buf, uint8_t len, return SBP_OK; } -s8 sbp_msg_gps_leap_second_send(sbp_state_t *s, u16 sender_id, - const sbp_msg_gps_leap_second_t *msg, +s8 sbp_msg_utc_leap_second_send(sbp_state_t *s, u16 sender_id, + const sbp_msg_utc_leap_second_t *msg, sbp_write_fn_t write) { uint8_t payload[SBP_MAX_PAYLOAD_LEN]; uint8_t payload_len; - s8 ret = sbp_msg_gps_leap_second_encode(payload, sizeof(payload), + s8 ret = sbp_msg_utc_leap_second_encode(payload, sizeof(payload), &payload_len, msg); if (ret != SBP_OK) { return ret; } - return sbp_payload_send(s, SBP_MSG_GPS_LEAP_SECOND, sender_id, payload_len, + return sbp_payload_send(s, SBP_MSG_UTC_LEAP_SECOND, sender_id, payload_len, payload, write); } -int sbp_msg_gps_leap_second_cmp(const sbp_msg_gps_leap_second_t *a, - const sbp_msg_gps_leap_second_t *b) { +int sbp_msg_utc_leap_second_cmp(const sbp_msg_utc_leap_second_t *a, + const sbp_msg_utc_leap_second_t *b) { int ret = 0; ret = sbp_s16_cmp(&a->bias_coeff, &b->bias_coeff); @@ -6132,15 +6132,15 @@ int sbp_msg_gps_leap_second_cmp(const sbp_msg_gps_leap_second_t *a, return ret; } -bool sbp_msg_itrf_encode_internal(sbp_encode_ctx_t *ctx, - const sbp_msg_itrf_t *msg) { +bool sbp_msg_reference_frame_param_encode_internal( + sbp_encode_ctx_t *ctx, const sbp_msg_reference_frame_param_t *msg) { if (!sbp_u8_encode(ctx, &msg->ssr_iod)) { return false; } if (!sbp_u8_encode(ctx, &msg->sn_counter_n)) { return false; } - for (size_t i = 0; i < SBP_MSG_ITRF_SN_MAX; i++) { + for (size_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX; i++) { if (!sbp_char_encode(ctx, &msg->sn[i])) { return false; } @@ -6148,7 +6148,7 @@ bool sbp_msg_itrf_encode_internal(sbp_encode_ctx_t *ctx, if (!sbp_u8_encode(ctx, &msg->tn_counter_m)) { return false; } - for (size_t i = 0; i < SBP_MSG_ITRF_TN_MAX; i++) { + for (size_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX; i++) { if (!sbp_char_encode(ctx, &msg->tn[i])) { return false; } @@ -6207,13 +6207,14 @@ bool sbp_msg_itrf_encode_internal(sbp_encode_ctx_t *ctx, return true; } -s8 sbp_msg_itrf_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, - const sbp_msg_itrf_t *msg) { +s8 sbp_msg_reference_frame_param_encode( + uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_reference_frame_param_t *msg) { sbp_encode_ctx_t ctx; ctx.buf = buf; ctx.buf_len = len; ctx.offset = 0; - if (!sbp_msg_itrf_encode_internal(&ctx, msg)) { + if (!sbp_msg_reference_frame_param_encode_internal(&ctx, msg)) { return SBP_ENCODE_ERROR; } if (n_written != NULL) { @@ -6222,14 +6223,15 @@ s8 sbp_msg_itrf_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, return SBP_OK; } -bool sbp_msg_itrf_decode_internal(sbp_decode_ctx_t *ctx, sbp_msg_itrf_t *msg) { +bool sbp_msg_reference_frame_param_decode_internal( + sbp_decode_ctx_t *ctx, sbp_msg_reference_frame_param_t *msg) { if (!sbp_u8_decode(ctx, &msg->ssr_iod)) { return false; } if (!sbp_u8_decode(ctx, &msg->sn_counter_n)) { return false; } - for (uint8_t i = 0; i < SBP_MSG_ITRF_SN_MAX; i++) { + for (uint8_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX; i++) { if (!sbp_char_decode(ctx, &msg->sn[i])) { return false; } @@ -6237,7 +6239,7 @@ bool sbp_msg_itrf_decode_internal(sbp_decode_ctx_t *ctx, sbp_msg_itrf_t *msg) { if (!sbp_u8_decode(ctx, &msg->tn_counter_m)) { return false; } - for (uint8_t i = 0; i < SBP_MSG_ITRF_TN_MAX; i++) { + for (uint8_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX; i++) { if (!sbp_char_decode(ctx, &msg->tn[i])) { return false; } @@ -6296,13 +6298,14 @@ bool sbp_msg_itrf_decode_internal(sbp_decode_ctx_t *ctx, sbp_msg_itrf_t *msg) { return true; } -s8 sbp_msg_itrf_decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, - sbp_msg_itrf_t *msg) { +s8 sbp_msg_reference_frame_param_decode(const uint8_t *buf, uint8_t len, + uint8_t *n_read, + sbp_msg_reference_frame_param_t *msg) { sbp_decode_ctx_t ctx; ctx.buf = buf; ctx.buf_len = len; ctx.offset = 0; - if (!sbp_msg_itrf_decode_internal(&ctx, msg)) { + if (!sbp_msg_reference_frame_param_decode_internal(&ctx, msg)) { return SBP_DECODE_ERROR; } if (n_read != NULL) { @@ -6311,19 +6314,23 @@ s8 sbp_msg_itrf_decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, return SBP_OK; } -s8 sbp_msg_itrf_send(sbp_state_t *s, u16 sender_id, const sbp_msg_itrf_t *msg, - sbp_write_fn_t write) { +s8 sbp_msg_reference_frame_param_send( + sbp_state_t *s, u16 sender_id, const sbp_msg_reference_frame_param_t *msg, + sbp_write_fn_t write) { uint8_t payload[SBP_MAX_PAYLOAD_LEN]; uint8_t payload_len; - s8 ret = sbp_msg_itrf_encode(payload, sizeof(payload), &payload_len, msg); + s8 ret = sbp_msg_reference_frame_param_encode(payload, sizeof(payload), + &payload_len, msg); if (ret != SBP_OK) { return ret; } - return sbp_payload_send(s, SBP_MSG_ITRF, sender_id, payload_len, payload, - write); + return sbp_payload_send(s, SBP_MSG_REFERENCE_FRAME_PARAM, sender_id, + payload_len, payload, write); } -int sbp_msg_itrf_cmp(const sbp_msg_itrf_t *a, const sbp_msg_itrf_t *b) { +int sbp_msg_reference_frame_param_cmp( + const sbp_msg_reference_frame_param_t *a, + const sbp_msg_reference_frame_param_t *b) { int ret = 0; ret = sbp_u8_cmp(&a->ssr_iod, &b->ssr_iod); @@ -6336,7 +6343,8 @@ int sbp_msg_itrf_cmp(const sbp_msg_itrf_t *a, const sbp_msg_itrf_t *b) { return ret; } - for (uint8_t i = 0; ret == 0 && i < SBP_MSG_ITRF_SN_MAX; i++) { + for (uint8_t i = 0; ret == 0 && i < SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX; + i++) { ret = sbp_char_cmp(&a->sn[i], &b->sn[i]); } if (ret != 0) { @@ -6348,7 +6356,8 @@ int sbp_msg_itrf_cmp(const sbp_msg_itrf_t *a, const sbp_msg_itrf_t *b) { return ret; } - for (uint8_t i = 0; ret == 0 && i < SBP_MSG_ITRF_TN_MAX; i++) { + for (uint8_t i = 0; ret == 0 && i < SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX; + i++) { ret = sbp_char_cmp(&a->tn[i], &b->tn[i]); } if (ret != 0) { diff --git a/c/test/auto_check_sbp_navigation_MsgItrf.c b/c/test/auto_check_sbp_navigation_MsgItrf.c deleted file mode 100644 index 2d5528311b..0000000000 --- a/c/test/auto_check_sbp_navigation_MsgItrf.c +++ /dev/null @@ -1,333 +0,0 @@ -/* - * 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/navigation/test_MsgItrf.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_navigation_MsgItrf) { - 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, 580, &msg_callback, - &DUMMY_MEMORY_FOR_CALLBACKS, &n); - - u8 encoded_frame[] = { - 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, - 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, - 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, - 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 66, 126, - }; - - dummy_reset(); - - sbp_msg_t test_msg; - memset(&test_msg, 0, sizeof(test_msg)); - - test_msg.itrf.delta_X0 = 7; - - test_msg.itrf.delta_Y0 = 8; - - test_msg.itrf.delta_Z0 = 9; - - test_msg.itrf.dot_delta_X0 = 14; - - test_msg.itrf.dot_delta_Y0 = 15; - - test_msg.itrf.dot_delta_Z0 = 16; - - test_msg.itrf.dot_scale = 20; - - test_msg.itrf.dot_theta_01 = 17; - - test_msg.itrf.dot_theta_02 = 18; - - test_msg.itrf.dot_theta_03 = 19; - - test_msg.itrf.re_t0 = 6; - - test_msg.itrf.scale = 13; - - test_msg.itrf.sin = 4; - - { - const char assign_string[] = { - (char)102, (char)111, (char)111, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; - memcpy(test_msg.itrf.sn, assign_string, sizeof(assign_string)); - } - - test_msg.itrf.sn_counter_n = 2; - - test_msg.itrf.ssr_iod = 1; - - test_msg.itrf.theta_01 = 10; - - test_msg.itrf.theta_02 = 11; - - test_msg.itrf.theta_03 = 12; - - { - const char assign_string[] = { - (char)98, (char)97, (char)114, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; - memcpy(test_msg.itrf.tn, assign_string, sizeof(assign_string)); - } - - test_msg.itrf.tn_counter_m = 3; - - test_msg.itrf.utn = 5; - - sbp_message_send(&sbp_state, SbpMsgItrf, 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(SbpMsgItrf, &last_msg.msg, &test_msg) == 0, - "Sent and received messages did not compare equal"); - - ck_assert_msg( - last_msg.msg.itrf.delta_X0 == 7, - "incorrect value for last_msg.msg.itrf.delta_X0, expected 7, is %d", - last_msg.msg.itrf.delta_X0); - - ck_assert_msg( - last_msg.msg.itrf.delta_Y0 == 8, - "incorrect value for last_msg.msg.itrf.delta_Y0, expected 8, is %d", - last_msg.msg.itrf.delta_Y0); - - ck_assert_msg( - last_msg.msg.itrf.delta_Z0 == 9, - "incorrect value for last_msg.msg.itrf.delta_Z0, expected 9, is %d", - last_msg.msg.itrf.delta_Z0); - - ck_assert_msg(last_msg.msg.itrf.dot_delta_X0 == 14, - "incorrect value for last_msg.msg.itrf.dot_delta_X0, " - "expected 14, is %d", - last_msg.msg.itrf.dot_delta_X0); - - ck_assert_msg(last_msg.msg.itrf.dot_delta_Y0 == 15, - "incorrect value for last_msg.msg.itrf.dot_delta_Y0, " - "expected 15, is %d", - last_msg.msg.itrf.dot_delta_Y0); - - ck_assert_msg(last_msg.msg.itrf.dot_delta_Z0 == 16, - "incorrect value for last_msg.msg.itrf.dot_delta_Z0, " - "expected 16, is %d", - last_msg.msg.itrf.dot_delta_Z0); - - ck_assert_msg( - last_msg.msg.itrf.dot_scale == 20, - "incorrect value for last_msg.msg.itrf.dot_scale, expected 20, is %d", - last_msg.msg.itrf.dot_scale); - - ck_assert_msg(last_msg.msg.itrf.dot_theta_01 == 17, - "incorrect value for last_msg.msg.itrf.dot_theta_01, " - "expected 17, is %d", - last_msg.msg.itrf.dot_theta_01); - - ck_assert_msg(last_msg.msg.itrf.dot_theta_02 == 18, - "incorrect value for last_msg.msg.itrf.dot_theta_02, " - "expected 18, is %d", - last_msg.msg.itrf.dot_theta_02); - - ck_assert_msg(last_msg.msg.itrf.dot_theta_03 == 19, - "incorrect value for last_msg.msg.itrf.dot_theta_03, " - "expected 19, is %d", - last_msg.msg.itrf.dot_theta_03); - - ck_assert_msg( - last_msg.msg.itrf.re_t0 == 6, - "incorrect value for last_msg.msg.itrf.re_t0, expected 6, is %d", - last_msg.msg.itrf.re_t0); - - ck_assert_msg( - last_msg.msg.itrf.scale == 13, - "incorrect value for last_msg.msg.itrf.scale, expected 13, is %d", - last_msg.msg.itrf.scale); - - ck_assert_msg( - last_msg.msg.itrf.sin == 4, - "incorrect value for last_msg.msg.itrf.sin, expected 4, is %d", - last_msg.msg.itrf.sin); - - { - const char check_string[] = { - (char)102, (char)111, (char)111, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; - ck_assert_msg(memcmp(&last_msg.msg.itrf.sn, check_string, - sizeof(check_string)) == 0, - "incorrect value for last_msg.msg.itrf.sn, expected string " - "'%s', is '%s'", - check_string, last_msg.msg.itrf.sn); - } - - ck_assert_msg( - last_msg.msg.itrf.sn_counter_n == 2, - "incorrect value for last_msg.msg.itrf.sn_counter_n, expected 2, is %d", - last_msg.msg.itrf.sn_counter_n); - - ck_assert_msg( - last_msg.msg.itrf.ssr_iod == 1, - "incorrect value for last_msg.msg.itrf.ssr_iod, expected 1, is %d", - last_msg.msg.itrf.ssr_iod); - - ck_assert_msg( - last_msg.msg.itrf.theta_01 == 10, - "incorrect value for last_msg.msg.itrf.theta_01, expected 10, is %d", - last_msg.msg.itrf.theta_01); - - ck_assert_msg( - last_msg.msg.itrf.theta_02 == 11, - "incorrect value for last_msg.msg.itrf.theta_02, expected 11, is %d", - last_msg.msg.itrf.theta_02); - - ck_assert_msg( - last_msg.msg.itrf.theta_03 == 12, - "incorrect value for last_msg.msg.itrf.theta_03, expected 12, is %d", - last_msg.msg.itrf.theta_03); - - { - const char check_string[] = { - (char)98, (char)97, (char)114, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; - ck_assert_msg(memcmp(&last_msg.msg.itrf.tn, check_string, - sizeof(check_string)) == 0, - "incorrect value for last_msg.msg.itrf.tn, expected string " - "'%s', is '%s'", - check_string, last_msg.msg.itrf.tn); - } - - ck_assert_msg( - last_msg.msg.itrf.tn_counter_m == 3, - "incorrect value for last_msg.msg.itrf.tn_counter_m, expected 3, is %d", - last_msg.msg.itrf.tn_counter_m); - - ck_assert_msg( - last_msg.msg.itrf.utn == 5, - "incorrect value for last_msg.msg.itrf.utn, expected 5, is %d", - last_msg.msg.itrf.utn); - } -} -END_TEST - -Suite *auto_check_sbp_navigation_MsgItrf_suite(void) { - Suite *s = suite_create( - "SBP generated test suite: auto_check_sbp_navigation_MsgItrf"); - TCase *tc_acq = - tcase_create("Automated_Suite_auto_check_sbp_navigation_MsgItrf"); - tcase_add_test(tc_acq, test_auto_check_sbp_navigation_MsgItrf); - suite_add_tcase(s, tc_acq); - return s; -} \ No newline at end of file diff --git a/c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c b/c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c new file mode 100644 index 0000000000..026cdf6b89 --- /dev/null +++ b/c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c @@ -0,0 +1,357 @@ +/* + * 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/navigation/test_MsgReferenceFrameParam.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_navigation_MsgReferenceFrameParam) { + 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, 580, &msg_callback, + &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 encoded_frame[] = { + 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, + 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, + 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, + 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 66, 126, + }; + + dummy_reset(); + + sbp_msg_t test_msg; + memset(&test_msg, 0, sizeof(test_msg)); + + test_msg.reference_frame_param.delta_X0 = 7; + + test_msg.reference_frame_param.delta_Y0 = 8; + + test_msg.reference_frame_param.delta_Z0 = 9; + + test_msg.reference_frame_param.dot_delta_X0 = 14; + + test_msg.reference_frame_param.dot_delta_Y0 = 15; + + test_msg.reference_frame_param.dot_delta_Z0 = 16; + + test_msg.reference_frame_param.dot_scale = 20; + + test_msg.reference_frame_param.dot_theta_01 = 17; + + test_msg.reference_frame_param.dot_theta_02 = 18; + + test_msg.reference_frame_param.dot_theta_03 = 19; + + test_msg.reference_frame_param.re_t0 = 6; + + test_msg.reference_frame_param.scale = 13; + + test_msg.reference_frame_param.sin = 4; + + { + const char assign_string[] = { + (char)102, (char)111, (char)111, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0}; + memcpy(test_msg.reference_frame_param.sn, assign_string, + sizeof(assign_string)); + } + + test_msg.reference_frame_param.sn_counter_n = 2; + + test_msg.reference_frame_param.ssr_iod = 1; + + test_msg.reference_frame_param.theta_01 = 10; + + test_msg.reference_frame_param.theta_02 = 11; + + test_msg.reference_frame_param.theta_03 = 12; + + { + const char assign_string[] = { + (char)98, (char)97, (char)114, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0}; + memcpy(test_msg.reference_frame_param.tn, assign_string, + sizeof(assign_string)); + } + + test_msg.reference_frame_param.tn_counter_m = 3; + + test_msg.reference_frame_param.utn = 5; + + sbp_message_send(&sbp_state, SbpMsgReferenceFrameParam, 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(SbpMsgReferenceFrameParam, &last_msg.msg, + &test_msg) == 0, + "Sent and received messages did not compare equal"); + + ck_assert_msg( + last_msg.msg.reference_frame_param.delta_X0 == 7, + "incorrect value for last_msg.msg.reference_frame_param.delta_X0, " + "expected 7, is %d", + last_msg.msg.reference_frame_param.delta_X0); + + ck_assert_msg( + last_msg.msg.reference_frame_param.delta_Y0 == 8, + "incorrect value for last_msg.msg.reference_frame_param.delta_Y0, " + "expected 8, is %d", + last_msg.msg.reference_frame_param.delta_Y0); + + ck_assert_msg( + last_msg.msg.reference_frame_param.delta_Z0 == 9, + "incorrect value for last_msg.msg.reference_frame_param.delta_Z0, " + "expected 9, is %d", + last_msg.msg.reference_frame_param.delta_Z0); + + ck_assert_msg( + last_msg.msg.reference_frame_param.dot_delta_X0 == 14, + "incorrect value for last_msg.msg.reference_frame_param.dot_delta_X0, " + "expected 14, is %d", + last_msg.msg.reference_frame_param.dot_delta_X0); + + ck_assert_msg( + last_msg.msg.reference_frame_param.dot_delta_Y0 == 15, + "incorrect value for last_msg.msg.reference_frame_param.dot_delta_Y0, " + "expected 15, is %d", + last_msg.msg.reference_frame_param.dot_delta_Y0); + + ck_assert_msg( + last_msg.msg.reference_frame_param.dot_delta_Z0 == 16, + "incorrect value for last_msg.msg.reference_frame_param.dot_delta_Z0, " + "expected 16, is %d", + last_msg.msg.reference_frame_param.dot_delta_Z0); + + ck_assert_msg( + last_msg.msg.reference_frame_param.dot_scale == 20, + "incorrect value for last_msg.msg.reference_frame_param.dot_scale, " + "expected 20, is %d", + last_msg.msg.reference_frame_param.dot_scale); + + ck_assert_msg( + last_msg.msg.reference_frame_param.dot_theta_01 == 17, + "incorrect value for last_msg.msg.reference_frame_param.dot_theta_01, " + "expected 17, is %d", + last_msg.msg.reference_frame_param.dot_theta_01); + + ck_assert_msg( + last_msg.msg.reference_frame_param.dot_theta_02 == 18, + "incorrect value for last_msg.msg.reference_frame_param.dot_theta_02, " + "expected 18, is %d", + last_msg.msg.reference_frame_param.dot_theta_02); + + ck_assert_msg( + last_msg.msg.reference_frame_param.dot_theta_03 == 19, + "incorrect value for last_msg.msg.reference_frame_param.dot_theta_03, " + "expected 19, is %d", + last_msg.msg.reference_frame_param.dot_theta_03); + + ck_assert_msg(last_msg.msg.reference_frame_param.re_t0 == 6, + "incorrect value for " + "last_msg.msg.reference_frame_param.re_t0, expected 6, is %d", + last_msg.msg.reference_frame_param.re_t0); + + ck_assert_msg( + last_msg.msg.reference_frame_param.scale == 13, + "incorrect value for last_msg.msg.reference_frame_param.scale, " + "expected 13, is %d", + last_msg.msg.reference_frame_param.scale); + + ck_assert_msg(last_msg.msg.reference_frame_param.sin == 4, + "incorrect value for last_msg.msg.reference_frame_param.sin, " + "expected 4, is %d", + last_msg.msg.reference_frame_param.sin); + + { + const char check_string[] = { + (char)102, (char)111, (char)111, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0}; + ck_assert_msg( + memcmp(&last_msg.msg.reference_frame_param.sn, check_string, + sizeof(check_string)) == 0, + "incorrect value for last_msg.msg.reference_frame_param.sn, expected " + "string '%s', is '%s'", + check_string, last_msg.msg.reference_frame_param.sn); + } + + ck_assert_msg( + last_msg.msg.reference_frame_param.sn_counter_n == 2, + "incorrect value for last_msg.msg.reference_frame_param.sn_counter_n, " + "expected 2, is %d", + last_msg.msg.reference_frame_param.sn_counter_n); + + ck_assert_msg( + last_msg.msg.reference_frame_param.ssr_iod == 1, + "incorrect value for last_msg.msg.reference_frame_param.ssr_iod, " + "expected 1, is %d", + last_msg.msg.reference_frame_param.ssr_iod); + + ck_assert_msg( + last_msg.msg.reference_frame_param.theta_01 == 10, + "incorrect value for last_msg.msg.reference_frame_param.theta_01, " + "expected 10, is %d", + last_msg.msg.reference_frame_param.theta_01); + + ck_assert_msg( + last_msg.msg.reference_frame_param.theta_02 == 11, + "incorrect value for last_msg.msg.reference_frame_param.theta_02, " + "expected 11, is %d", + last_msg.msg.reference_frame_param.theta_02); + + ck_assert_msg( + last_msg.msg.reference_frame_param.theta_03 == 12, + "incorrect value for last_msg.msg.reference_frame_param.theta_03, " + "expected 12, is %d", + last_msg.msg.reference_frame_param.theta_03); + + { + const char check_string[] = { + (char)98, (char)97, (char)114, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, + (char)0, (char)0, (char)0}; + ck_assert_msg( + memcmp(&last_msg.msg.reference_frame_param.tn, check_string, + sizeof(check_string)) == 0, + "incorrect value for last_msg.msg.reference_frame_param.tn, expected " + "string '%s', is '%s'", + check_string, last_msg.msg.reference_frame_param.tn); + } + + ck_assert_msg( + last_msg.msg.reference_frame_param.tn_counter_m == 3, + "incorrect value for last_msg.msg.reference_frame_param.tn_counter_m, " + "expected 3, is %d", + last_msg.msg.reference_frame_param.tn_counter_m); + + ck_assert_msg(last_msg.msg.reference_frame_param.utn == 5, + "incorrect value for last_msg.msg.reference_frame_param.utn, " + "expected 5, is %d", + last_msg.msg.reference_frame_param.utn); + } +} +END_TEST + +Suite *auto_check_sbp_navigation_MsgReferenceFrameParam_suite(void) { + Suite *s = suite_create( + "SBP generated test suite: " + "auto_check_sbp_navigation_MsgReferenceFrameParam"); + TCase *tc_acq = tcase_create( + "Automated_Suite_auto_check_sbp_navigation_MsgReferenceFrameParam"); + tcase_add_test(tc_acq, test_auto_check_sbp_navigation_MsgReferenceFrameParam); + suite_add_tcase(s, tc_acq); + return s; +} \ No newline at end of file diff --git a/c/test/auto_check_sbp_navigation_MsgGPSLeapSecond.c b/c/test/auto_check_sbp_navigation_MsgUTCLeapSecond.c similarity index 63% rename from c/test/auto_check_sbp_navigation_MsgGPSLeapSecond.c rename to c/test/auto_check_sbp_navigation_MsgUTCLeapSecond.c index 2d6903d252..843523a886 100644 --- a/c/test/auto_check_sbp_navigation_MsgGPSLeapSecond.c +++ b/c/test/auto_check_sbp_navigation_MsgUTCLeapSecond.c @@ -11,7 +11,7 @@ */ // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml by +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml by // generate.py. Do not modify by hand! #include @@ -68,7 +68,7 @@ static void msg_callback(u16 sender_id, sbp_msg_type_t msg_type, last_msg.context = context; } -START_TEST(test_auto_check_sbp_navigation_MsgGPSLeapSecond) { +START_TEST(test_auto_check_sbp_navigation_MsgUTCLeapSecond) { static sbp_msg_callbacks_node_t n; // State of the SBP message parser. @@ -102,25 +102,25 @@ START_TEST(test_auto_check_sbp_navigation_MsgGPSLeapSecond) { sbp_msg_t test_msg; memset(&test_msg, 0, sizeof(test_msg)); - test_msg.gps_leap_second.bias_coeff = 1; + test_msg.utc_leap_second.bias_coeff = 1; - test_msg.gps_leap_second.count_after = 9; + test_msg.utc_leap_second.count_after = 9; - test_msg.gps_leap_second.count_before = 4; + test_msg.utc_leap_second.count_before = 4; - test_msg.gps_leap_second.drift_coeff = 2; + test_msg.utc_leap_second.drift_coeff = 2; - test_msg.gps_leap_second.drift_rate_coeff = 3; + test_msg.utc_leap_second.drift_rate_coeff = 3; - test_msg.gps_leap_second.ref_dn = 8; + test_msg.utc_leap_second.ref_dn = 8; - test_msg.gps_leap_second.ref_wn = 7; + test_msg.utc_leap_second.ref_wn = 7; - test_msg.gps_leap_second.tow_s = 5; + test_msg.utc_leap_second.tow_s = 5; - test_msg.gps_leap_second.wn = 6; + test_msg.utc_leap_second.wn = 6; - sbp_message_send(&sbp_state, SbpMsgGpsLeapSecond, 66, &test_msg, + sbp_message_send(&sbp_state, SbpMsgUtcLeapSecond, 66, &test_msg, &dummy_write); ck_assert_msg(dummy_wr == sizeof(encoded_frame), @@ -141,65 +141,65 @@ START_TEST(test_auto_check_sbp_navigation_MsgGPSLeapSecond) { "msg_callback: sender_id decoded incorrectly"); ck_assert_msg( - sbp_message_cmp(SbpMsgGpsLeapSecond, &last_msg.msg, &test_msg) == 0, + sbp_message_cmp(SbpMsgUtcLeapSecond, &last_msg.msg, &test_msg) == 0, "Sent and received messages did not compare equal"); - ck_assert_msg(last_msg.msg.gps_leap_second.bias_coeff == 1, + ck_assert_msg(last_msg.msg.utc_leap_second.bias_coeff == 1, "incorrect value for " - "last_msg.msg.gps_leap_second.bias_coeff, expected 1, is %d", - last_msg.msg.gps_leap_second.bias_coeff); + "last_msg.msg.utc_leap_second.bias_coeff, expected 1, is %d", + last_msg.msg.utc_leap_second.bias_coeff); - ck_assert_msg(last_msg.msg.gps_leap_second.count_after == 9, + ck_assert_msg(last_msg.msg.utc_leap_second.count_after == 9, "incorrect value for " - "last_msg.msg.gps_leap_second.count_after, expected 9, is %d", - last_msg.msg.gps_leap_second.count_after); + "last_msg.msg.utc_leap_second.count_after, expected 9, is %d", + last_msg.msg.utc_leap_second.count_after); ck_assert_msg( - last_msg.msg.gps_leap_second.count_before == 4, - "incorrect value for last_msg.msg.gps_leap_second.count_before, " + last_msg.msg.utc_leap_second.count_before == 4, + "incorrect value for last_msg.msg.utc_leap_second.count_before, " "expected 4, is %d", - last_msg.msg.gps_leap_second.count_before); + last_msg.msg.utc_leap_second.count_before); - ck_assert_msg(last_msg.msg.gps_leap_second.drift_coeff == 2, + ck_assert_msg(last_msg.msg.utc_leap_second.drift_coeff == 2, "incorrect value for " - "last_msg.msg.gps_leap_second.drift_coeff, expected 2, is %d", - last_msg.msg.gps_leap_second.drift_coeff); + "last_msg.msg.utc_leap_second.drift_coeff, expected 2, is %d", + last_msg.msg.utc_leap_second.drift_coeff); ck_assert_msg( - last_msg.msg.gps_leap_second.drift_rate_coeff == 3, - "incorrect value for last_msg.msg.gps_leap_second.drift_rate_coeff, " + last_msg.msg.utc_leap_second.drift_rate_coeff == 3, + "incorrect value for last_msg.msg.utc_leap_second.drift_rate_coeff, " "expected 3, is %d", - last_msg.msg.gps_leap_second.drift_rate_coeff); + last_msg.msg.utc_leap_second.drift_rate_coeff); - ck_assert_msg(last_msg.msg.gps_leap_second.ref_dn == 8, - "incorrect value for last_msg.msg.gps_leap_second.ref_dn, " + ck_assert_msg(last_msg.msg.utc_leap_second.ref_dn == 8, + "incorrect value for last_msg.msg.utc_leap_second.ref_dn, " "expected 8, is %d", - last_msg.msg.gps_leap_second.ref_dn); + last_msg.msg.utc_leap_second.ref_dn); - ck_assert_msg(last_msg.msg.gps_leap_second.ref_wn == 7, - "incorrect value for last_msg.msg.gps_leap_second.ref_wn, " + ck_assert_msg(last_msg.msg.utc_leap_second.ref_wn == 7, + "incorrect value for last_msg.msg.utc_leap_second.ref_wn, " "expected 7, is %d", - last_msg.msg.gps_leap_second.ref_wn); + last_msg.msg.utc_leap_second.ref_wn); - ck_assert_msg(last_msg.msg.gps_leap_second.tow_s == 5, - "incorrect value for last_msg.msg.gps_leap_second.tow_s, " + ck_assert_msg(last_msg.msg.utc_leap_second.tow_s == 5, + "incorrect value for last_msg.msg.utc_leap_second.tow_s, " "expected 5, is %d", - last_msg.msg.gps_leap_second.tow_s); + last_msg.msg.utc_leap_second.tow_s); - ck_assert_msg(last_msg.msg.gps_leap_second.wn == 6, - "incorrect value for last_msg.msg.gps_leap_second.wn, " + ck_assert_msg(last_msg.msg.utc_leap_second.wn == 6, + "incorrect value for last_msg.msg.utc_leap_second.wn, " "expected 6, is %d", - last_msg.msg.gps_leap_second.wn); + last_msg.msg.utc_leap_second.wn); } } END_TEST -Suite *auto_check_sbp_navigation_MsgGPSLeapSecond_suite(void) { +Suite *auto_check_sbp_navigation_MsgUTCLeapSecond_suite(void) { Suite *s = suite_create( - "SBP generated test suite: auto_check_sbp_navigation_MsgGPSLeapSecond"); + "SBP generated test suite: auto_check_sbp_navigation_MsgUTCLeapSecond"); TCase *tc_acq = tcase_create( - "Automated_Suite_auto_check_sbp_navigation_MsgGPSLeapSecond"); - tcase_add_test(tc_acq, test_auto_check_sbp_navigation_MsgGPSLeapSecond); + "Automated_Suite_auto_check_sbp_navigation_MsgUTCLeapSecond"); + tcase_add_test(tc_acq, test_auto_check_sbp_navigation_MsgUTCLeapSecond); 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 79ee60c34e..cd20bc9f4e 100644 --- a/c/test/check_main.c +++ b/c/test/check_main.c @@ -54,11 +54,9 @@ int main(void) { srunner_add_suite(sr, auto_check_sbp_navigation_MsgBaselineNEDDepA_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgDops_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgDopsDepA_suite()); - srunner_add_suite(sr, auto_check_sbp_navigation_MsgGPSLeapSecond_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgGPSTime_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgGPSTimeDepA_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgGPSTimeGNSS_suite()); - srunner_add_suite(sr, auto_check_sbp_navigation_MsgItrf_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgPosECEF_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgPosECEFCov_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgPosECEFCovGNSS_suite()); @@ -70,6 +68,9 @@ int main(void) { srunner_add_suite(sr, auto_check_sbp_navigation_MsgPosLlhCovGnss_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgPosLlhGnss_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgProtectionLevel_suite()); + srunner_add_suite(sr, + auto_check_sbp_navigation_MsgReferenceFrameParam_suite()); + srunner_add_suite(sr, auto_check_sbp_navigation_MsgUTCLeapSecond_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgUTCTime_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgUTCTimeGNSS_suite()); srunner_add_suite(sr, auto_check_sbp_navigation_MsgVelBody_suite()); diff --git a/c/test/check_main_legacy.c b/c/test/check_main_legacy.c index a76b0e6fee..1e78555d25 100644 --- a/c/test/check_main_legacy.c +++ b/c/test/check_main_legacy.c @@ -66,14 +66,11 @@ int main(void) { sr, legacy_auto_check_sbp_navigation_MsgBaselineNEDDepA_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgDops_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgDopsDepA_suite()); - srunner_add_suite(sr, - legacy_auto_check_sbp_navigation_MsgGPSLeapSecond_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgGPSTime_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgGPSTimeDepA_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgGPSTimeGNSS_suite()); - srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgItrf_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgPosECEF_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgPosECEFCov_suite()); srunner_add_suite(sr, @@ -90,6 +87,10 @@ int main(void) { srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgPosLlhGnss_suite()); srunner_add_suite( sr, legacy_auto_check_sbp_navigation_MsgProtectionLevel_suite()); + srunner_add_suite( + sr, legacy_auto_check_sbp_navigation_MsgReferenceFrameParam_suite()); + srunner_add_suite(sr, + legacy_auto_check_sbp_navigation_MsgUTCLeapSecond_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgUTCTime_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_navigation_MsgUTCTimeGNSS_suite()); diff --git a/c/test/check_suites.h b/c/test/check_suites.h index 1122423621..d2ce5933ce 100644 --- a/c/test/check_suites.h +++ b/c/test/check_suites.h @@ -42,11 +42,9 @@ Suite* auto_check_sbp_navigation_MsgBaselineNED_suite(void); Suite* auto_check_sbp_navigation_MsgBaselineNEDDepA_suite(void); Suite* auto_check_sbp_navigation_MsgDops_suite(void); Suite* auto_check_sbp_navigation_MsgDopsDepA_suite(void); -Suite* auto_check_sbp_navigation_MsgGPSLeapSecond_suite(void); Suite* auto_check_sbp_navigation_MsgGPSTime_suite(void); Suite* auto_check_sbp_navigation_MsgGPSTimeDepA_suite(void); Suite* auto_check_sbp_navigation_MsgGPSTimeGNSS_suite(void); -Suite* auto_check_sbp_navigation_MsgItrf_suite(void); Suite* auto_check_sbp_navigation_MsgPosECEF_suite(void); Suite* auto_check_sbp_navigation_MsgPosECEFCov_suite(void); Suite* auto_check_sbp_navigation_MsgPosECEFCovGNSS_suite(void); @@ -58,6 +56,8 @@ Suite* auto_check_sbp_navigation_MsgPosLLHDepA_suite(void); Suite* auto_check_sbp_navigation_MsgPosLlhCovGnss_suite(void); Suite* auto_check_sbp_navigation_MsgPosLlhGnss_suite(void); Suite* auto_check_sbp_navigation_MsgProtectionLevel_suite(void); +Suite* auto_check_sbp_navigation_MsgReferenceFrameParam_suite(void); +Suite* auto_check_sbp_navigation_MsgUTCLeapSecond_suite(void); Suite* auto_check_sbp_navigation_MsgUTCTime_suite(void); Suite* auto_check_sbp_navigation_MsgUTCTimeGNSS_suite(void); Suite* auto_check_sbp_navigation_MsgVelBody_suite(void); diff --git a/c/test/check_suites_legacy.h b/c/test/check_suites_legacy.h index f18f0e3281..17e667e4c2 100644 --- a/c/test/check_suites_legacy.h +++ b/c/test/check_suites_legacy.h @@ -43,11 +43,9 @@ Suite* legacy_auto_check_sbp_navigation_MsgBaselineNED_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgBaselineNEDDepA_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgDops_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgDopsDepA_suite(void); -Suite* legacy_auto_check_sbp_navigation_MsgGPSLeapSecond_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgGPSTime_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgGPSTimeDepA_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgGPSTimeGNSS_suite(void); -Suite* legacy_auto_check_sbp_navigation_MsgItrf_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgPosECEF_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgPosECEFCov_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgPosECEFCovGNSS_suite(void); @@ -59,6 +57,8 @@ Suite* legacy_auto_check_sbp_navigation_MsgPosLLHDepA_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgPosLlhCovGnss_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgPosLlhGnss_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgProtectionLevel_suite(void); +Suite* legacy_auto_check_sbp_navigation_MsgReferenceFrameParam_suite(void); +Suite* legacy_auto_check_sbp_navigation_MsgUTCLeapSecond_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgUTCTime_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgUTCTimeGNSS_suite(void); Suite* legacy_auto_check_sbp_navigation_MsgVelBody_suite(void); diff --git a/c/test/cpp/auto_check_sbp_navigation_MsgItrf.cc b/c/test/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc similarity index 92% rename from c/test/cpp/auto_check_sbp_navigation_MsgItrf.cc rename to c/test/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc index 93feadcdcd..2cc25696fc 100644 --- a/c/test/cpp/auto_check_sbp_navigation_MsgItrf.cc +++ b/c/test/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc @@ -11,27 +11,27 @@ */ // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgItrf.yaml by generate.py. Do -// not modify by hand! +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml by +// generate.py. Do not modify by hand! #include #include #include #include #include -class Test_auto_check_sbp_navigation_MsgItrf0 +class Test_auto_check_sbp_navigation_MsgReferenceFrameParam0 : public ::testing::Test, public sbp::State, public sbp::IReader, public sbp::IWriter, - sbp::MessageHandler { + sbp::MessageHandler { public: - Test_auto_check_sbp_navigation_MsgItrf0() + Test_auto_check_sbp_navigation_MsgReferenceFrameParam0() : ::testing::Test(), sbp::State(), sbp::IReader(), sbp::IWriter(), - sbp::MessageHandler(this), + sbp::MessageHandler(this), last_msg_(), last_msg_len_(), last_sender_id_(), @@ -58,13 +58,14 @@ class Test_auto_check_sbp_navigation_MsgItrf0 } protected: - void handle_sbp_msg(uint16_t sender_id, const sbp_msg_itrf_t &msg) override { + void handle_sbp_msg(uint16_t sender_id, + const sbp_msg_reference_frame_param_t &msg) override { last_msg_ = msg; last_sender_id_ = sender_id; n_callbacks_logged_++; } - sbp_msg_itrf_t last_msg_; + sbp_msg_reference_frame_param_t last_msg_; uint8_t last_msg_len_; uint16_t last_sender_id_; size_t n_callbacks_logged_; @@ -73,7 +74,7 @@ class Test_auto_check_sbp_navigation_MsgItrf0 uint8_t dummy_buff_[1024]; }; -TEST_F(Test_auto_check_sbp_navigation_MsgItrf0, Test) { +TEST_F(Test_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { uint8_t encoded_frame[] = { 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -85,7 +86,7 @@ TEST_F(Test_auto_check_sbp_navigation_MsgItrf0, Test) { 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 66, 126, }; - sbp_msg_itrf_t test_msg{}; + sbp_msg_reference_frame_param_t test_msg{}; test_msg.delta_X0 = 7; test_msg.delta_Y0 = 8; test_msg.delta_Z0 = 9; diff --git a/c/test/cpp/auto_check_sbp_navigation_MsgGPSLeapSecond.cc b/c/test/cpp/auto_check_sbp_navigation_MsgUTCLeapSecond.cc similarity index 88% rename from c/test/cpp/auto_check_sbp_navigation_MsgGPSLeapSecond.cc rename to c/test/cpp/auto_check_sbp_navigation_MsgUTCLeapSecond.cc index 6a94c19a8c..b498fc569d 100644 --- a/c/test/cpp/auto_check_sbp_navigation_MsgGPSLeapSecond.cc +++ b/c/test/cpp/auto_check_sbp_navigation_MsgUTCLeapSecond.cc @@ -11,7 +11,7 @@ */ // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml by +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml by // generate.py. Do not modify by hand! #include @@ -19,19 +19,19 @@ #include #include #include -class Test_auto_check_sbp_navigation_MsgGPSLeapSecond0 +class Test_auto_check_sbp_navigation_MsgUTCLeapSecond0 : public ::testing::Test, public sbp::State, public sbp::IReader, public sbp::IWriter, - sbp::MessageHandler { + sbp::MessageHandler { public: - Test_auto_check_sbp_navigation_MsgGPSLeapSecond0() + Test_auto_check_sbp_navigation_MsgUTCLeapSecond0() : ::testing::Test(), sbp::State(), sbp::IReader(), sbp::IWriter(), - sbp::MessageHandler(this), + sbp::MessageHandler(this), last_msg_(), last_msg_len_(), last_sender_id_(), @@ -59,13 +59,13 @@ class Test_auto_check_sbp_navigation_MsgGPSLeapSecond0 protected: void handle_sbp_msg(uint16_t sender_id, - const sbp_msg_gps_leap_second_t &msg) override { + const sbp_msg_utc_leap_second_t &msg) override { last_msg_ = msg; last_sender_id_ = sender_id; n_callbacks_logged_++; } - sbp_msg_gps_leap_second_t last_msg_; + sbp_msg_utc_leap_second_t last_msg_; uint8_t last_msg_len_; uint16_t last_sender_id_; size_t n_callbacks_logged_; @@ -74,12 +74,12 @@ class Test_auto_check_sbp_navigation_MsgGPSLeapSecond0 uint8_t dummy_buff_[1024]; }; -TEST_F(Test_auto_check_sbp_navigation_MsgGPSLeapSecond0, Test) { +TEST_F(Test_auto_check_sbp_navigation_MsgUTCLeapSecond0, Test) { uint8_t encoded_frame[] = { 85, 58, 2, 66, 0, 14, 1, 0, 2, 0, 3, 4, 5, 0, 6, 0, 7, 0, 8, 9, 50, 232, }; - sbp_msg_gps_leap_second_t test_msg{}; + sbp_msg_utc_leap_second_t test_msg{}; test_msg.bias_coeff = 1; test_msg.count_after = 9; test_msg.count_before = 4; diff --git a/c/test/legacy/auto_check_sbp_navigation_MsgItrf.c b/c/test/legacy/auto_check_sbp_navigation_MsgReferenceFrameParam.c similarity index 94% rename from c/test/legacy/auto_check_sbp_navigation_MsgItrf.c rename to c/test/legacy/auto_check_sbp_navigation_MsgReferenceFrameParam.c index e2e98064fd..9387c20f23 100644 --- a/c/test/legacy/auto_check_sbp_navigation_MsgItrf.c +++ b/c/test/legacy/auto_check_sbp_navigation_MsgReferenceFrameParam.c @@ -11,8 +11,8 @@ */ // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgItrf.yaml by generate.py. Do -// not modify by hand! +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml by +// generate.py. Do not modify by hand! #include #include @@ -93,7 +93,7 @@ static void frame_callback(u16 sender_id, u16 msg_type, u8 msg_len, u8 msg[], last_frame.context = context; } -START_TEST(test_legacy_auto_check_sbp_navigation_MsgItrf) { +START_TEST(test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam) { static sbp_msg_callbacks_node_t n; static sbp_msg_callbacks_node_t n2; @@ -137,7 +137,8 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgItrf) { u8 test_msg_storage[SBP_MAX_PAYLOAD_LEN]; memset(test_msg_storage, 0, sizeof(test_msg_storage)); u8 test_msg_len = 0; - msg_itrf_t *test_msg = (msg_itrf_t *)test_msg_storage; + msg_reference_frame_param_t *test_msg = + (msg_reference_frame_param_t *)test_msg_storage; test_msg_len = sizeof(*test_msg); test_msg->delta_X0 = 7; test_msg->delta_Y0 = 8; @@ -234,7 +235,8 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgItrf) { // Cast to expected message type - the +6 byte offset is where the payload // starts - msg_itrf_t *check_msg = (msg_itrf_t *)((void *)last_msg.msg); + msg_reference_frame_param_t *check_msg = + (msg_reference_frame_param_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->delta_X0 == 7, @@ -323,12 +325,15 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgItrf) { } END_TEST -Suite *legacy_auto_check_sbp_navigation_MsgItrf_suite(void) { +Suite *legacy_auto_check_sbp_navigation_MsgReferenceFrameParam_suite(void) { Suite *s = suite_create( - "SBP generated test suite: legacy_auto_check_sbp_navigation_MsgItrf"); - TCase *tc_acq = - tcase_create("Automated_Suite_legacy_auto_check_sbp_navigation_MsgItrf"); - tcase_add_test(tc_acq, test_legacy_auto_check_sbp_navigation_MsgItrf); + "SBP generated test suite: " + "legacy_auto_check_sbp_navigation_MsgReferenceFrameParam"); + TCase *tc_acq = tcase_create( + "Automated_Suite_legacy_auto_check_sbp_navigation_" + "MsgReferenceFrameParam"); + tcase_add_test(tc_acq, + test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam); suite_add_tcase(s, tc_acq); return s; } \ No newline at end of file diff --git a/c/test/legacy/auto_check_sbp_navigation_MsgGPSLeapSecond.c b/c/test/legacy/auto_check_sbp_navigation_MsgUTCLeapSecond.c similarity index 93% rename from c/test/legacy/auto_check_sbp_navigation_MsgGPSLeapSecond.c rename to c/test/legacy/auto_check_sbp_navigation_MsgUTCLeapSecond.c index d1c481b19e..5fa3afd554 100644 --- a/c/test/legacy/auto_check_sbp_navigation_MsgGPSLeapSecond.c +++ b/c/test/legacy/auto_check_sbp_navigation_MsgUTCLeapSecond.c @@ -11,7 +11,7 @@ */ // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml by +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml by // generate.py. Do not modify by hand! #include @@ -93,7 +93,7 @@ static void frame_callback(u16 sender_id, u16 msg_type, u8 msg_len, u8 msg[], last_frame.context = context; } -START_TEST(test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond) { +START_TEST(test_legacy_auto_check_sbp_navigation_MsgUTCLeapSecond) { static sbp_msg_callbacks_node_t n; static sbp_msg_callbacks_node_t n2; @@ -130,7 +130,7 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond) { u8 test_msg_storage[SBP_MAX_PAYLOAD_LEN]; memset(test_msg_storage, 0, sizeof(test_msg_storage)); u8 test_msg_len = 0; - msg_gps_leap_second_t *test_msg = (msg_gps_leap_second_t *)test_msg_storage; + msg_utc_leap_second_t *test_msg = (msg_utc_leap_second_t *)test_msg_storage; test_msg_len = sizeof(*test_msg); test_msg->bias_coeff = 1; test_msg->count_after = 9; @@ -192,8 +192,8 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond) { // Cast to expected message type - the +6 byte offset is where the payload // starts - msg_gps_leap_second_t *check_msg = - (msg_gps_leap_second_t *)((void *)last_msg.msg); + msg_utc_leap_second_t *check_msg = + (msg_utc_leap_second_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->bias_coeff == 1, @@ -226,14 +226,14 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond) { } END_TEST -Suite *legacy_auto_check_sbp_navigation_MsgGPSLeapSecond_suite(void) { +Suite *legacy_auto_check_sbp_navigation_MsgUTCLeapSecond_suite(void) { Suite *s = suite_create( "SBP generated test suite: " - "legacy_auto_check_sbp_navigation_MsgGPSLeapSecond"); + "legacy_auto_check_sbp_navigation_MsgUTCLeapSecond"); TCase *tc_acq = tcase_create( - "Automated_Suite_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond"); + "Automated_Suite_legacy_auto_check_sbp_navigation_MsgUTCLeapSecond"); tcase_add_test(tc_acq, - test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond); + test_legacy_auto_check_sbp_navigation_MsgUTCLeapSecond); suite_add_tcase(s, tc_acq); return s; } \ No newline at end of file diff --git a/c/test/legacy/cpp/auto_check_sbp_navigation_MsgItrf.cc b/c/test/legacy/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc similarity index 91% rename from c/test/legacy/cpp/auto_check_sbp_navigation_MsgItrf.cc rename to c/test/legacy/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc index 584d12a706..f239ee5800 100644 --- a/c/test/legacy/cpp/auto_check_sbp_navigation_MsgItrf.cc +++ b/c/test/legacy/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc @@ -11,28 +11,29 @@ */ // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgItrf.yaml by generate.py. Do -// not modify by hand! +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml by +// generate.py. Do not modify by hand! #include #include #include #include -class Test_legacy_auto_check_sbp_navigation_MsgItrf0 +class Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0 : public ::testing::Test, public sbp::State, public sbp::IReader, public sbp::IWriter, - sbp::PayloadHandler { + sbp::PayloadHandler { public: - Test_legacy_auto_check_sbp_navigation_MsgItrf0() + Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0() : ::testing::Test(), sbp::State(), sbp::IReader(), sbp::IWriter(), - sbp::PayloadHandler(this), + sbp::PayloadHandler(this), last_msg_storage_(), - last_msg_(reinterpret_cast(last_msg_storage_)), + last_msg_( + reinterpret_cast(last_msg_storage_)), last_msg_len_(), last_sender_id_(), n_callbacks_logged_(), @@ -59,7 +60,7 @@ class Test_legacy_auto_check_sbp_navigation_MsgItrf0 protected: void handle_sbp_msg(uint16_t sender_id, uint8_t message_length, - const msg_itrf_t &msg) override { + const msg_reference_frame_param_t &msg) override { memcpy(last_msg_storage_, &msg, message_length); last_msg_len_ = message_length; last_sender_id_ = sender_id; @@ -67,7 +68,7 @@ class Test_legacy_auto_check_sbp_navigation_MsgItrf0 } uint8_t last_msg_storage_[SBP_MAX_PAYLOAD_LEN]; - msg_itrf_t *last_msg_; + msg_reference_frame_param_t *last_msg_; uint8_t last_msg_len_; uint16_t last_sender_id_; size_t n_callbacks_logged_; @@ -76,7 +77,7 @@ class Test_legacy_auto_check_sbp_navigation_MsgItrf0 uint8_t dummy_buff_[1024]; }; -TEST_F(Test_legacy_auto_check_sbp_navigation_MsgItrf0, Test) { +TEST_F(Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { uint8_t encoded_frame[] = { 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -90,7 +91,8 @@ TEST_F(Test_legacy_auto_check_sbp_navigation_MsgItrf0, Test) { uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; uint8_t test_msg_len = 0; - msg_itrf_t *test_msg = (msg_itrf_t *)test_msg_storage; + msg_reference_frame_param_t *test_msg = + (msg_reference_frame_param_t *)test_msg_storage; test_msg_len = (uint8_t)sizeof(*test_msg); test_msg->delta_X0 = 7; test_msg->delta_Y0 = 8; diff --git a/c/test/legacy/cpp/auto_check_sbp_navigation_MsgGPSLeapSecond.cc b/c/test/legacy/cpp/auto_check_sbp_navigation_MsgUTCLeapSecond.cc similarity index 87% rename from c/test/legacy/cpp/auto_check_sbp_navigation_MsgGPSLeapSecond.cc rename to c/test/legacy/cpp/auto_check_sbp_navigation_MsgUTCLeapSecond.cc index b11d6f0a23..73a846d9d1 100644 --- a/c/test/legacy/cpp/auto_check_sbp_navigation_MsgGPSLeapSecond.cc +++ b/c/test/legacy/cpp/auto_check_sbp_navigation_MsgUTCLeapSecond.cc @@ -11,28 +11,28 @@ */ // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml by +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml by // generate.py. Do not modify by hand! #include #include #include #include -class Test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond0 +class Test_legacy_auto_check_sbp_navigation_MsgUTCLeapSecond0 : public ::testing::Test, public sbp::State, public sbp::IReader, public sbp::IWriter, - sbp::PayloadHandler { + sbp::PayloadHandler { public: - Test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond0() + Test_legacy_auto_check_sbp_navigation_MsgUTCLeapSecond0() : ::testing::Test(), sbp::State(), sbp::IReader(), sbp::IWriter(), - sbp::PayloadHandler(this), + sbp::PayloadHandler(this), last_msg_storage_(), - last_msg_(reinterpret_cast(last_msg_storage_)), + last_msg_(reinterpret_cast(last_msg_storage_)), last_msg_len_(), last_sender_id_(), n_callbacks_logged_(), @@ -59,7 +59,7 @@ class Test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond0 protected: void handle_sbp_msg(uint16_t sender_id, uint8_t message_length, - const msg_gps_leap_second_t &msg) override { + const msg_utc_leap_second_t &msg) override { memcpy(last_msg_storage_, &msg, message_length); last_msg_len_ = message_length; last_sender_id_ = sender_id; @@ -67,7 +67,7 @@ class Test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond0 } uint8_t last_msg_storage_[SBP_MAX_PAYLOAD_LEN]; - msg_gps_leap_second_t *last_msg_; + msg_utc_leap_second_t *last_msg_; uint8_t last_msg_len_; uint16_t last_sender_id_; size_t n_callbacks_logged_; @@ -76,14 +76,14 @@ class Test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond0 uint8_t dummy_buff_[1024]; }; -TEST_F(Test_legacy_auto_check_sbp_navigation_MsgGPSLeapSecond0, Test) { +TEST_F(Test_legacy_auto_check_sbp_navigation_MsgUTCLeapSecond0, Test) { uint8_t encoded_frame[] = { 85, 58, 2, 66, 0, 14, 1, 0, 2, 0, 3, 4, 5, 0, 6, 0, 7, 0, 8, 9, 50, 232, }; uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; uint8_t test_msg_len = 0; - msg_gps_leap_second_t *test_msg = (msg_gps_leap_second_t *)test_msg_storage; + msg_utc_leap_second_t *test_msg = (msg_utc_leap_second_t *)test_msg_storage; test_msg_len = (uint8_t)sizeof(*test_msg); test_msg->bias_coeff = 1; test_msg->count_after = 9; diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 6f5656b2a0c76e7e12973a19a1fb117c158b7de3..1a5c58740d0c4265fe29e4193fd90cd416de3ead 100644 GIT binary patch delta 389891 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
  • YC2Y!W{*aWy(jtE4PtI<&vIsXNrJy zB7z1CJJvBAXW!&F3Fh~)(7-&Ag`(dtCcP+N^0O;Izt~~DqE_3mQ!T?Z#Yk*>HOf31 z?i%pMp*akBcCifUF&MZO9K>OSz6(uMLGOtXplPp&%3#I%pK>+GoZ0-wPZ!CR_J_FT z%7xfH?BoYZ%!4U$3#aQ$4>1!*W+-WT{aX{1L8I}oKjy7G_1Q{B8!*C9*`cbAETmIO zQuxv?^~DEM(BzBke7I_G%62#P#b%YrH_oQlW5Mlv7(A%6WCcc_U6G8UKZ^JQ>f9T_ zhF9eLA>xaxO9DrD{u+W!lpkoCGu~BTDVQLX(1XKsznF%x741?nH7~>dhcVjF});Wha*<8 zxKYZ|e?#j@M|EeKGAG{8c*c)P#*7VULT9Y45mQ50E_W?m1BdGK?gfzOd z?bm^^1$t2c`D*B99OB@i zHH0vI`T&<)kvSYXLpKZeDmhy1EvANrMVJ8?~ppN-_I@I*~pQZrlf zn&+1ATac`dA&8>FVPs+Xr%=4m`3T+{F;If1HOeg)l;bF}0BbG`Rs22N!-qm9+w`J( z`>i)(v!Bd;U2oYhroY&x?7_You|P1$JGGNMntlMdL=T>8bDD2dZNXP*C>ilwgzsf_ z8d2_NDZA4brD~FwscU0p_(%Y_epl-3J0A7#jVH7J*6Kb{x~4R+uZc%7#pSCZ2viP* zc@~+#El60H{RZ+IWZJCn1tHcik)dD1{SzO$Cl(1P&*)exzIeNS){ttaQ$YFN86jP*uy*Yz8TUDi=Te zmx6}Ag(iQ1l>-{7Tb2XVP0tdXTtPakZM+Wbymam-BAY7A*z3Ond6=*Bfn?Q4-W9hA z0(T`Vtj#h+d{myloE<`+>PN$VH}*CsiG7S2Kb`YnSp|ERib7=d6x|L#RAs*)`9b6f z8RmW3yNryMvUz{(>C8B{pTzaoQ_oIlgfB--`F}vM=5^bAi0MCeDt4t!S}tddkqk!I z&+slbnh9m7g$@3JrL|dW0G7R?nO)VPoi)g~in=|B5A23HTu5o`iYZ4l(23inT7BzgcC)&FmYz^rY9n%J7or1R1pWk1uo0ETB`io7yVb-0Azu<(OMxEks8V) z9FXcA;1_J5*9yr-g!S|@Ou6%W$`9yADYpNz9dRo}v{ak-`k4pmyKC+^yQn^+mo=nMDC_wP6|x4JvUv`Q_7#c{$X0O#CyFR2xHC?N~l|DlX(wiJ|@JqboEoVm~=6ok<* z>C+zEO)&6@p8~QG#3HHE6xqBTz2u{ZNq20dD{2_FbSEos+ozv;=T>ih$s&SY_78kk z|9a-hDtMGR{TmC`!_~5#q;Z>9{h)6wnfPBs8vh7lpLOh7fxo)mp{DoUmkTXyQaKNZ zj~6arROI23u-&?6e?%Cx>{VZnJ-&(}7&?G)WxNaoT;H##gs~Fp$I=junXb28OL7F8 zIb50(Y~sHq!VSZptaAL?U`qag)oa@;{@<*FjU_385fh4)g_YyK43p-64UPz`Y5~ww zh=Ax&bqM0rWZZe3W(U9MMO+l4w4FwO@6qR7|LgFb49!;^J$Xn5CJHvwj>yOuo*fdD zJ=v(WYCgLiT95fAg9SbFun8Ydj1d-6pafwtmOXoU&za}G9Sl|f_WkMSlXuUq!4IwN z)iZY#g`Yx&q|t6b!{vLrS`Xm90>+c#O2%9L4YSkPjNB$~H6qXM@8O5vt!zm9q_DMG zLB5jVNvY;}y=2ruT2}-IurlYH6|p6liEt!idDt`e=TB_Ez%GS2b{!CzV|*nELrsYL zJrIV%P7bGsM}hi2ZO<+o-7oKki{<)udwwDm3zYZYL~n-uzN3T(=L3KWMi3a~@II;B zm;^8L%pVV`9&>2zKbx^iEN(Tm1{g# zU>Zx7+gqNbj)ae&z;6>;8 zMA0-JNRflt;Z%ZR>a{0a9G{OrRSI`}L`X9|3%pk&a3-`Lz+H10oFbXUTXqzKGwsEEEH}l^FSqW_u&}m+>>F9$mg+mbQ>nz(38<3GyLa%I;^Wks&b^qYfc;iX z-YqRiiE_4SX2>x>@lIkG5e-S?dY|D>AYVapJKG^W@LM8k0Oj_^DYt&(Kkc|0e|29TNc@Hn z482KYV3kl=$y14Hfvh#X?_eC{OHs;Tk!PR_Otg z&xVCS^;EO&CGMh{4$4{{O|IGhKx{%7HUBK_NW?g=(YPf-P5rn=tjDN`9rg8!UMB-tC=qq% zEuyG6e4wDMNDb;lU)BEOB!!*u(U|EA@N ztv`DT&C(=bf4xF6ZRL_)u$xa!-?UjG_6_suk>4eWDRtx-+Z=cyq9srWJzj2*DKT?< zSP*VO36@p&qzjN~4H5HVWv|008g+KHnIzETl@w}n!KVxw-qAi;;{>CG%V@IJCC@=B zE=&X%)ZBSJ0!)H#3RqI1xdmGtIEanAT^(WHK(cDP+_-kQj)9M2G>cS6rzo^q>$E^p zF39&vNRbu#W8lTR7OaPmsT`5q6x(;JYqbI@>s!w!VY|XnXYwbzpJHg9%p&YVkRlar z&WS7veE-I%#^X5G6bT9~9Q^cFcjAm<$gEdv?7&xYI(dC%zo}@KU{NSK5tMFeETJsr zIm3pWlxJiXtrfS(f^e$&qNII+go@S91`dqPhlfm90yU)nT_mUZ%@Ju z(J3+?=L-qmwinMM19c5Ul$fBA1b9(tQf&U=?bMy4n8N13P*ACQDlyHL#Qbf!P>)F0 z8=?!gU#!Pj1Xk$p0R3%{KX3Fiyvg9JsCEJhs}ajo+HsnVUkri2gEinJO{{qKJ=)}BqhmgGk4kZ4`;MKl_7Hi`9s^O! ziCN#f+Kqm)tkc(n$f zc@}iOFW#3n&$tVUgAdJ#fj&Q-iH0sR#eN5dhgXJyx66wui_n&B{JkU!s&=jhm(1AR z^+d1%FKRDh2H`48=8+S?{QwFWKZZI?s3ZgiIs_YZM-16|-qmgT=x;OjR!xMx6cUtT zU*m(?fq(J<&WC)FSG!jytiP^)-ZYOwvnCoVx=7ZO@S!JlmWgyUg zJ-VUv1FdTT2xIzQWDP-5%_^yvCKbG4@>wP}G=Gr^N26z|L0qxcjkH~VmhOPJ#Q6-$ z`?J%`{xB|$54z!d?%r4`#J_*`HZP*xRm&DL?a4F}-0Nl95pvPitt`2|dHkVTvRliDOvCdh^_ky}G~^E%+T8_F!o~jop(qrv4dcHb-m2;?==If7!aO2s)qYdmPRS)Y^;1yXpnMCF zwrd)VZQFLzv2ELC$9C@6b~?7L zj&0kvJ9e`3y#F`GK3(T)&bq2qE{?trSK<90g9TA*iX5hs(vgKT1`#R!g&Y`;U7QWqO@>CVbU;w& z7Hw?&Z=c~0Kw)=b#6tYxL65{D1a|mNpc=@N#7)9De_4$sd&9fysT9~vepJCX|4yF zs`1pG%Yf0~@K#l27ht|#T7+2nVCJJFF+V&JYsVjz_pDdVsdN;)Fx<}%T;WQ7qgK)yE0ZM-I09l|AMfndmv_&DaCEkP^TEyzc2RMemvrt=WVwq_+iv80j+rSun z4+aGr0WZ?qSe3FmsjSuV)>f76zgqKa{|Cv@Su29pV0xBOp&p>IAyn0yRYzCgRMvrP}bB}w`pod!c4+Z4S<=2s{-3t0uy5ph^;@6AMargGGj2B zqgl;^oNx;&CYl%sr|;@Ty3uRHwG;S+lK3A@1Ww5kf`WYkzqwPX`f@a00AoU@NALE7 z!pOaNe=Jp`W_(s01$uD&-z<2|&JNBRjLVHY>7>IiL|`$}ydB0hQ-Dk-vK5Die`0 zsGfZSJ~b>(NG)Tqh(|V-S4=66*GT}KOm*0fZC`~oVSEP*8eXhrD0KS9^@DXYZF>Ft zJyy0$&{z~DhL2@LYE<~UK&#z87Y^nCj{y1xvW`0%0+!E;s{y;Lp?$q!YX{TInM&mG z-qH;#Y4||8f{SCz#_~yU|5KGu)=XKvahpjUqGDy(7L*0(#6-^G;g+dYp?W~WfQi|$ zW)P(@o0g~DZ%__DwaLB+o)o5lr89>T>1>G#m?Fe>2m*%RP$*h~pHgbpsiqC9^fdOz zl`p+Xu%@L~*&@inQWY>cY=bye%dz9T^HtU@Jm7lxSxI__A@7Np3<+tMVgx~0Wh)@z z&f$pMi7;m>*@zE&N!lATJ)?k}XVIrO_Y8+sK5v8&9HVvg-O);}`gN02E$n;jPZ0iZ zwy=_(bh$YEoTbW-?0--PQy3e+G)CtwwM6sQ>2RMV@^-~PJ%>AG}RCE>z1R_(Oi zNc|51htS@fCth%t_tkdr2rR=p+{}1JAd+g;70u-N?vt~2rU@}Hw>uRA??`})q-pZG z&(-kN0QxqXLscxz`wc)v7J@b8JraC!0Whg#qf^D7-=*ygOoy(D*(U{;x%+$1CB3Dw zU9)P2sNA)Q8IDX*h=h}@T2^KbPTx{Z*0*ibC5_vUKg`jxU{@d9z6d01P|&Kz#$A3J zn9V$|xl%zO#^Y<>Y_IlT+?k~saOVLb{71jv#}w=k&OOX5^+$kLYre9e(e|^Hq(J3| zG1<&Lt>RZJT5lY2P#a@oBrE=Ym&y-Z+&6x%xo6{y7P&{* zW~ANPmcfh-S=Km%u&NNu3is2W%Vrp;ZCCPC=^7X7xkI>Q+ylI!VZ&@?{K15NY-Ce z)0JM?Y#f@LqX=xDbTBkL>Tu!&cCqZhw8=n#_5j>`(vgoX#+5dEi??CTIO;#`d_0|R zZv`-K82I&K?B!?PcO}0l$Rd@xQ*QnLHSSN zJs*iV29%!7nt5oLuuLml z8Uyt^h^%;h%3wz~*han!;FCbgEnH-tDgaHC1g};CR3gx7Wr(Lde%22Xv)|Vb4|D7v4f`UG(ZzK~FAxd~K1F;&g zWuOt2QxZ}JF)-Staue`#5D(=xVUE;hrfXi&_n+LSKnb=!fS?rGfq5!@E9S`lLBQUA){wzazB(s5$L*ZRhol%m}`#+aEvCw%U~p|i=zbH>9RJ3 zH!HaC|IK_|rGZ=g9k4Hbfzb&BF0^XB-==;+gBi)yU-w=kiJP}RLIB(`8Xy$dHnZid zHKNvjT4hD66iq^qXrD|N-Udjcnr=lBqc&dU2pVJ}h|G{tKYwfX14{x8ZV~T-lS?t& zvV$^Wg4$k+nBZlERV{_C5Nj-!5+*rRs;&I4qB|Ei&scso>WX)K1O9~pY6R?-5B-wL zKHpgqL5K5+4;NyB2_Fi#x3gnsJ%B7~r1={$}=UhGoyR6?#9RpBMGbK|MErd=+ z)oEibTjW_$PJ#7(`>}ShBx`RuQ2mCyN*JB+%Am>$ZmV*xm45PWbH*N@7r z3Vt2i(7;?!c^|Wrpn~Hk8alphgMfW7O4%fU=T!9?Jt2CXJFCP^D++=7pHIlvNkM2B z#GNE^&_@s5Wk5un1Tf`BUyRIX?t4>j>(%84Z~JHP56!yr(N$@rklwKGOm#JvwKVj1 zD@L*u5slTSS2jkrMKvxuIklzK&Vs&vT=cH`IG{DC7;2#oF}2n3%&!jYyn(358een2 zi~ecAHjMDkGF!ZHhC*++O@8q5J;d=%%J?Tsu~Hjbsu}qcD8RGypjr4%9Zk=lKgt9u zE^mUQyAeWEu!EN%SYm$AYCU?PAYsWOLF?~f@$?iw;@=HpW%;HvmMHO-T;izFOXNF@ zJw#U-e@eL@ZVY*Zzf@d4`X$11ff}pH_jl2%WUkAP_NKSO{x8U+H&-Ts z?fzDj9Q|GD1%M;d72bB-T5(A&0s29d5~Emid0(Gkz{f+_zY%Zj(@xtv>|8%fvj@Ie zjK%yZ5pO|OSZdMEMrC~OVN75R_a5B_F8ckrD=mA$4gRYVbk^&azgjTT^HG^el&Zd@=?y!csGr$-fwhW0cETpSYD5l~}RU4dc z!eD{j!C0}h&iGM(XZD0_HO6H&M)3$FS3MXP7mnnYU_5)hxvtjgl@>x&t$DdJ+3c^Y zo<$Xl*a{%%Acg>`D40%R99&Ob^*`{~wHRmPK3ar?>2`L1t+kyMSu>hcJtuz8)4x{) zjISlSXaR26LFetW_IwY)!xAy85-3kIb*gR#@bsbhY| z&=;+A^y)l?Zn}55y+`)7e*{8hdSJQt^cj+zxBzo{EO>3^bE&))&q*1YRZa$Dc5!Ts z9bKEfa`R^{f|8j&(#?ylQ=%XLI)1dcl!G5Fu3%DZ*={#VEg94q#D9@Z$GEaOnqulI z!O4$mzH8OgW>1P?vBnK9r(QX8%iZ_;Z#Q}y%vDP`$c>S68lX4*oPJc|;bMB(SMWkX z4Pa8wg5|3nX}5qPc#hY$84gu#1Yt*i?~)z`7@rcApCX$NE@KTdmn1a#Mha3{4h_xLIQ8)LL}R=ZE}2s%;D8sw|A#wYgbA zy3M$g-v+&#>@NGhE3>xAa1a75^YyMkUL=d#CQJ0ksOc$BE{iq_>-Kf?VMa~86eSon z$2g%n=I%(WDz4nZ!cc5l*x#^2Q1-_P)w1%BN}3fZDxbn)AorD5W9MY(kDri40Nm@4 zQ}j0xOHWfVxYwmY7r`W&Y<5Ux)RslOKS`h*G&U-@fv0_7%(*ULXU6vM3z1$QR0;bd zn%1Q5N{gP|EsnN!VU5R1KWv#ii+V~X%U3qSLikFXcROL}mZLV}`3#o?slEqNv|n$Su7K#XwfY)<5kso@k`$Zb7#QzCgsy3yemopofxQVKB z70L>|lOw&oK3JDP5K*V*s9o>rj=f5KnlS8alGNi=qm6KLi@-V#kP{Ya8y?as2tDEH z1C-6E>aMmvJz4=pyW!*+D(~)BP+Mi{54TPJwF3a|unT?)EH`!rLk(9ir0C)XPI+n28vKixKfz)q((H=RXbfD!9{jZIpag%gXg$>A+I=8cN6H<@Wr z{tl4Y67v0yf*nKhtPXH+5#3 zaQ8Q~UsSFd)bBVJ&{;2N;cgd{DTRKoWG(>Lt19BwU2t7%>gWeHacKjiXJG238uay< zv}($UpfZrI52pLo6_!QD3D^S$-rI-ybdyzKMU)!$q!b$hvl|&Iipc|4%)Am@f#E_O ztB`q!m^ME0%a{)eFr_DhTfWC)k^5kSw?t!62g?aU=AUeh%eD?>QREC5-_TDOeorBJy{ubn830hk8MMX!DZ6ZGLW#hrNz}n~fTYHP}rMN$}wZ^nBu zDuJyr-qrKr?)dc3wU_Q#Jo#;TYVj@t7l{@QB<+PMUNiUd)|cBh3;8zVGlyrgTgIYO zYNG$u>3;Z*gpMuExO{+H{`E7*w7 zbnnQn4j09E=yk4?aa4MD85g$AZ?MXnjky&>7&y>}u5no6n@1SG_v>vdkttW)#dmBL zww0kRfEL0Vsv1cJ^H%}%3sd%Tfzl$8b#MZ%k?+ATnAt&Sz-5^D;_UEm7@+&IW)|zL zFW4&Rg_F-&c#)R&Uh5&t6lZGiOXBx965HPvXheiTl1_WQ1*~~bZDj{EdJln{qddY4 z#C`6apww}RqG!)!N*HaEaSs&8mtjOR>i-dGB$(b+E2XJt)JAnI;3kOdLhoFT87F3Y z%U1i#oojUfvf+da)Sle$iXXsdnxQ~uhV7{j7aTGgO1`VV4z(qRs>FKUU4|EF zvx4o}yZwWno56H*U$qsf&dI@(8V9jof$K}nigDAlwEnd(XQyMf6VID7v}2>@*DB9r zEd>2k~qq0XXgF_wCbA3bU!Zo=L^o7WAB1;h8vBhanEV+`mrnwlPghkD#Z zZ8>yY{pxB5QEqw#iylRT`IU;B-eVyBd?6Jx9#h|hz5{<4r|ktBaY)K&o;^Fg|2ISu zXN}j72_jgi!w07U)M}sA)^4Eyc?o|8PS*)gIUmRqwvJD6CfXq?OkZgKtHa<5IarS@ z8K)TNOSKlvVScc;8|UXo@U+5(v8_*!(p9zcts1E(;9u(Ep=>%@AMrvvn_I{MiRl6~ zNB9hg^yb3mu-$J&Oj5fg{i9EQOR%`GFxyD;gLrW?V-YT6ox$|_IA3~&@*)kKy=?)! z;LN-VTLlv;XA-Tb09GF#M_-OIwBi3q8puDIh3xg-UxEaFm#kKxFlDC)E?WbSMI{I5 z3qCXMa1+!Ebk6cMvAF-EVI(_O+eq8`8+FtXZNl`c0x9Y1mRN zn;EA`0_^g~iY1;>=&N{JFzLCx6#L3D9>51IXnc{l+K@a~ z)W)SO{Vdjwni&qSI|gpU72C(AZk5H3C<5809jP1YrXrgE&AN7!i%e1h<|*8*)jK0Kp30i@_P2Yna*&ZJd&HVFbGfc~JrC~S_| zmW0C_gca5|T4laJJ)A?xiFjiMzT{6`43aD=N_IO$r8A3iMv$fkeO!iX#z1EDi0KS1+; ze42k-K5N(~Az-~NBDQbaK1S8X^;;UD;X(7!;uS2o;5V~eMP<_QquL#7G{ox5V()_P zfZN0+u(3IfK&&A|0tM|sPd;}3<3l+vs>&ldomx9}ZhU~CK=aUytg^nq7qID6m!YdL z0EUrLd~)}sUskzz!Cc|Dro>b?7ncL+06Q~r_@!JtCSW&*XbBI`xcw&<*GclOaH<)3 zgX)~mp!IJ<>!;Rz1hX}T0ZVF9CX1gu;X>U`hj#;R>DoyX@S?#zKK#24BU;C2=TBID zWxL%9N<=V6r~3$TOX;d?vAqW<+QVq(RBlo^vBhQxtd(lysUkmGJ7k$ z9qIFg?*Xttrb3nh1b_Duk?jYbphXypC)Ph>NX=Fr9t?N_s>za4;{TNAw-%(c-B)Km zgQk%Ha&wvTs|DWsiJe7qwbO$cLeSgsA?hgc0{})m4v?!}`H!btFLzJ-Z_iQgn1r>% zt!WnaY`3R`!K-aKxl!%Mjq*|#CBF|!mLPkV2o)U{L3feSEAU%A&`LQzk%-t z^MRlL4-&Bd4@H78b8@hy1(5ud?b>JkkXN||eWa2@kMJ9!=OT<&Eouw0JZIfxYNA+) zdDDV!hJU8M-uSwEbwNOtbi|MiCvRW7of~HiZ3kZWDWiT7ECATTM?y^Zog# zG9ak8#t@E7pA19DpC&+H2_63o;Y80ws$iiUU`KAAHtw7+S0AsB$AQb=Psfj!=UcZA z=gsQePmIjyPYB;p^#$*RfM6rgBCQ6{cqABVl4oEk3U6RnO=)1zdDH}9IF-uRwJEuj zrD3L3SZHzP*sDw#yuAyeJHm^qKyTw?pjugvjRo^pfMK&u6Bt86@^6VjZ3mN`El z)0dsd&YD1`{w#kLx<;VENXeI*1{%Gi=NMX76mZPpA=C*_X2=K>KtT|dIFfF3EY@Ov z`l~8q=ZN)B=a}ljtTo9cUfUIGFq5J%Ytp<^8y&3bk+UkfYnZIC@gTMRaSwe|#WV&i zDvptBZt*L*IbE|72+5C|&VpU?&QpEy*tZ1+>`5ujkw4AV&Gge=kM53e9paBA@n=#& zh54&(0-b)Z|Nhq)z{Py030Cb1+xVAV_ju$i4wmDP`-=30Cwo}4@k>F2#ue^DZSG^x zod}P3Q&Jw$q3o;0BR-XV=z{I#^}Xj>NI8`rMcc0oG9*9qpJL_ChRx*Rodh$VkyBz5 z5V7Fv$fD_M)79&9E%TKuxQ(qpeSxccdm$mt*=Wx1%UhBF0I3HdfmnKlp2wv^-;dPY z@&>I=82q9(vq-(YYR#|hdaZggQ1Ppd1Qq!?ZOIbJHKXr)pzf=bOH?!^!1Xu@>_6t5L;3>kLA&USB^5KP(T4 z)?bkSNSMX|056=8c5x9>lC-yK5F6T{Pd>oejlHrU*iA81-MDtasyDz+`jqtG*kl#% z^nJFfHwnxeCegqop)4P zckN(P7^xh4PWrr8cb{<200~IiCzs9cd76$0boyfUt4K2Y&FN&{Bzhm9=)&Y04^9#a zZN{E%T_$u5J>8A#w_wF$1?^w319^+B*&trE;BRi@NE$T3R{_2I+)*1Y3h*>2cvxRg zE6XYa8dZB%<>}X(#WDS^FXdiG(OmnwLBEsBn6=Kk@r?dagE?p&O*vYs@EbZGo{!#U z_$K{5t+_9T^>h};=|SB+$NblgmoVmMPRg>f15EDMLbcH8cNt8FJ6eI-;1+h9PL4lF zhiKS6m_Dz+dzB{j2LUv!Ac>wu$Ia{NQ>SkPU|a?^F^!@dBk1Gm9Tdi#tFuLV>~{2) zqdm!F&O8t^1ZS`OFN)CZk{D@F;>iWH<2ByM4kg9+ovV_=0=WhDJzw{;ZZYG?djWW@ z@<#In6r?{_W@REFIKilYyIQt3*u+?KUSlA!o0-lr8aMS}HE7Sm?C(6C6z8Q@>Vu9U zU@U%4L{&s#g*tNxg<2eNl?-20F6kvJHAuQ=NulShQ^AB%ASZAVunoTWq)SFDBkl)s z_UWiZaSiuCO>39W`eap0RglPAni1%|VIV44d^l+mNE)hDXavTsMG53eh7vC6yRLrQ zr=PHXj&#NX(pFcIsFQYC>D4TM(ah%zu;++=tMTs=k_Y=+rc8j2tcY!W`7Ikih%$M_ zuyz}?=T5j;i;lm z1hguaTbWuEHpn`!xT{WfQzj_{Aak|Z?l1E&VylRbt)T?swIh{U+zP}<3G9}OD7Kl; z!uX5mcK3AySk?qq(94=^k-b6(#kom6!%j`S$nXW~*ru$nInmeJ-lOM<={g_RZwdt+ z^b)=M!6Z+Yb$hUJqIbzxxU|zaY78Z`3(jINrFjGUym{|XB z=WhH(`G09ggSy*N=%*r?=H4x*Lpm1EMjIrGrW6>zrOL@EGw&~E{*k<*aH+RgAcK*V z&&A(QrI_GtiE?^*-@WZ0rWu69vPu^p&JDQ^Qlqdc3lohS84>tKSUeB8X3A2n+>X%A z-Re0eHH+zy?=WnO(JlS-1#IS&xB_Hqe@dUolUV)goY56Dp!*!RD6Di(9_Lwjxq3KX z9fkb~V~|=m2Xh&AvJ@B%)|^XkHDrqk_W(W2%Qk=% zCSxZuCLL};mnzpQdeTfy$Mf+I~AYUujr zer?Rvgo`VFU1Qpfx)`=ERr-490s9z&rJU2!3xCuOR@TLq-)l zfcJHSEU7Y>R*l+OwM=;BOn$t!!9oBmp4Y3(7(ysfUdma>Hp$@V#>(Pb89ZnOmlmk> z!|ISO`n!^iZPd*bjAzdSi>=>Espk5etaOe_dMlL;zZ^Wi(P2C1jsU5>oR26s6(FM# ze8tZQyGM{_S0DW^Ynx44^)~VMvD2}TouVuub&2o#1?k+Ui}8W`BLN!>?C^nLKI9m2!qEPAWRl7V{=v)ztW+2So>b<{SNH&t+>&sn zt&mZ+gdB0(Fk)e>EMYfM&mVVp$RFd_-U$c~ltdDFPYHm!MvSYtMO4!9^5Kxiq~^7p z<%SaRC5E#~^L3XNIm(FTsItIvwddZzTDvyJPLLQ%`F^X~0$?&SlSU`767?c{Ap@{r zzxd*L9GFI!`FkHd`tNav_tE3#P!3wR<;TMM@WZ_X&)n@`EwVKk5;o_;EoC?eZBLf{ z1Ob2UiU^CE>!=)TTBeQv-M!mh0g>TC2w~Vu>@sC^fC^IkL?T32(t+2?jB>}&;ot2p zoK7Sj&MYs-8h}rDNUKraKKz02EmgnjP2|WI{jGWlb0yF0n-a2sjULbKB*bAaBnf%Aw$Gu@<%GV}9lu zMUuUj2LL90sbS!T<*^rayBFF35cvohOTF5^8^_=s5n3(s%xPE!SdVNDWA{R?Nk>Ru z44t4^V&uf2Uf7`o}3woa4%O=KPlZxaaoYmm|9cl5Up>3u}zdsSGI31W-`4ai$+ zO)ad_;mA;5=*h@+7yG5H`pN3!EF^c2em%Q79Z+CbIbZ{+Fn7boeS3cbQC7&^Gd9kG zn}lQ=i8xKG>@DJdtA~6|>^9Wy@4MapX06{#Z*i@0XVXkm#R9HdTl2|xV5s+GVq5V+ zyeZF{Y8HO%s-+qhH~^#_{nhBePXf}i<|XUf>7;n5_e*%F<^m}+N)dAU3l3I{t6O|u z4^UA6Y0|NdehvE$ks}%5N22$b+uQv1*GHw!-{BMD*GhMModV?_e9gJbh3$g$(8TBQ znW%q#ti*I*)``YQvnq$pJz>*PF#&a5f!xl;-L$_6@?Pi=alzI;mG5$auF{S{9ZvLd$In#l1P;erZct8Xl)%c&(Q@4wEHJ(y};Rt?`^FKNVgKwW&630|a z!EL0@;9kL`Cf*OT#_D6Dj&jBytI1G*{moHM+2;LMa+vF@pMDB&2Rd7eZ3#e(C`b~e z2X|Q&{sB2f{w0d@EK*c(x^w0Yq$BmX91D#5Kod?D7Y>y-HA;2H*eg`_gW?j+_LI%_mM<5RqGC zd+5_*gW*^y`KDSz3l=d=q_@Y^ zIyLRo(Ez5yQMWW0yc(stocU7~2Yjal_Cm<*!IJWSoB?MVFf%wh$j^OP03HYpK-;tCnorO!^WxS z`(~3Y!4fCow8GtQ!TXhcIbk>=nWQ~KG;l9nj3$;Dl?Y3s)$;E&Ws88JaABO4LE(tc zpY=|f_h*h9(i}@VPq=kI-jyi8^gWB-6C|{k(+-Rt<9l-6_!FwCnc5!O6N9}M;F;=_ z6nX11)ObiUdCI%>nG9!O_C4G%;nebqa=I{G%752SU36eOmv0_u(;jr!1D0t;^Hx$R z2Kw}#h##(&fT0%9^WpINy7kY<6;hH@=kEh@CGywoLXKVnF=5iL~t%ar= zC^CSkB*RgRFzXnfqN@d^Un*l4gsofBu#Bo{E5C604WiN5l)=YR0#{J4MHj%GRJuCis5U`VMqw1FH95ISw^8h#s=4IJ1%JoWFP5_2K8Mj{se1Aqs3iCDZ}``N z+Ob=7*RA#+L@cFY=#pE2ySS<@KHEO<&7z?zy3}4)&ED;TsWR?Gb^_1<7$q4rsXG}( zpYKP znV1S+$jU)`-abtMMq-MeJB_aVl0BYJm;)p74@}0I%`EL9&o4td5efO7@z{eNh9CG4RIfFid)o$?%{n&nd&YCL*w{qBWA|ImyAwm}(80?wzi*2a6k+d<7B z!f{q?8R#1+ZkLx+#31w=GOKE9!i4JBk1ves;8084`^F*Yc;Hj}b!%8RwDU-}T|IH^ z8h!Dbyoru}^9K^0!-#PxK1fj={AQ!^2~Pl<;t|oJUs&Mme!08!_mQ7y(d?dXKv(Sr zD_&Ev;ElBh5T|^J#d3~aiRf!L`p8BhV0#|T7{~cW;K(wBtv?YN$^EKQs;mYT7RL$x zwpIt>ef=xqv$j~XF0w>sxQ^#B9he1iTlw!uK{xN6PEsnq`!^TV?nZG(Z)p$6*JM#h zHed8+#y%_bj&!*sCrpp4@7^8Uzo0FnU@6R;9`M%=00$=M3l5X;bnMcKO)5jDjKfgx zc>23QWJr?Y!B zE8aMpnX0=KepE#edJS{ep$*x*5jXJqI6Jsz-J&oY`PEzlL)1un}q$ps9K?xYney~ z&Sf39yhE{%S*$gz?bdU4sAd9#n+=aKnZBOhD*c*BQ?A|7ETw=C*1XP)(C>FWaQQd4w((1vP5jnc z=JzY&UbJ7YRi(8Ul#(glq*gl*dFCo4>}@!9eG^{yi)2g#F7X&qTI*R!+qL7NAj^`g z6lT|TSSk^&!aA@rE#D{)glOmg=wQt3(nQOEkwAWNrRCd$pnO&G>PUnzIcv zjdif`h8Xd?zyJN_^?2f*4;ZdbCc#nw?Q<9eK^IGhMv@K0WnDL2;KpOgp9>>fJY~)# zcU8yO+j_C>HHjgQ6WnMW;ReiAR!OSwF^Ma*RL?%r6oI9keJ zxmd#wMb;DP!P#9)G6mGM0{4+D_YK4Af*~gX_4%bj7WNT>&I9q%@$Fhd{V`flX(FHA`g-7^ow42)3??G&AZxtiEJJdKBz{`Xj=orq3mWZ&eTjf;_U+#z zYyZFboD;b+omnYntO4{hpBWn3VZxA+(NYKcgY(qIQS{Pj^vovQkbf9taLhXaen{hP zspMpQQOC%9fCD=UQy6kAUO1@!0hUV5Mseq|U--HneX>)XP>adDQ#}=|t{JNC4}mN# zZ9M<^OzjBQO8F&n?7YniAkK?rpsk=H?C0(KWpr^GG*nkl zI5fIGN(u(*3vP2~wl|TP&;2g9{rb~Bl=`ERNV1MktVeC@;`vC-q<0VGjPqF_aHVk; z*zDlFReofoqB^hV7uu+kadCzszj%zaSr8q-@R1D-KHJgC-^MSj*6U#(3{7Bf!xHFS zqrZ~^Hm8fa%8lXG_F2{NhMlmXRUeP57~nrR_^5sfE*9Nk=Z{A&zL+X5v2!qKl6ULL zf5ul{Bw*S^zs|#_8udT$Yp(g5mG&uPO{AFfpgs(CP|FY4POj*8fGSsEBGyH`3D0$X zLTnf$v%fiY6kv4KS80q{5#`e2($gg>NHJRjvYuGvR^kUul8Y25f#=L8`u97Xr5;taLhG>~BWu&Pv`t9k&D*=!7(6+XtrVF4BG(00Tgggdl>~3h>2v5(BoOFx14PVO*p*ySK zYiw8zxz%iQX>xp-m%2X`=?WYkhYkS7{8=jA!OG3n2KH9!0w!pzZ*UA2!UUXGd7WP8 zp2?=JYZ}EGkG8-EAM|$$;0==>;l~h|OyGb7E|A9wzWJTuH6RVdAujDPG6 zS6-)x+$aJNZ>c{+om64|fz@f0n}UP?2Ji7jL5%UJJgc}p>7S#8y@2Gkg$lq4=V29> z&=KhT+Dp-bfOVADvdm-lDG!nMAS%sPSPJFDah8hY{Iw9N@Gs&+(NKk)uv7`(PF)+%t&H2XDS#my^MN`<3|;qMk+bDhSyBu z6?iJ%|K|Bw`vgouJ<7uf;JTsrPi(TceE_JEh%;uFEGpfR8)K}9H$vGJ`4C@QFCTvZ z(06j$*kIIlhB3t0ZTKy3C|GIFNnaqIuWkWNf5H+pd0`bB6G##fwTJc3IA@l$l^v1L zH-4CYhaJRFQ5&=Ij?k=L@Vc@u>qsjeXn>_2lJ#4mRf$3>f+^VHe0qhGhe!^$O%CmN zs#xa_gq~!=r+9VBVJ)q1y(nPLWkYF+N%8&=Q#Hn4SZ+=vlXuwMDb=66ctgFV`B{lJ(*8CXkXT{Jrjt3n%-WRiflG^YX`f5CmPAp|P4r8<>-nAJ zHuuI}uh?D@9?Nf@ZM*)_p}e`%Pb)tAw3g%H&^G}ua>hAMxpw`5$vu(xCq| z6D6;gKRTL63GRv4J(Gjux>^*gUMXC2TaZ~%fIMInW zz`m0FQjsYZ<4IP=%ZoO&!kK}i;)CSpRMk|Hrs<%-)^ez^CnP5iguY!>+_9pT(J8m2 zF^?l*lz@z=w<1)q{)E(c|KuGc6cG>O)N$x|rNu~9?d!ERkCTI0!zI`NKGAqi%v4VF zP9VheJ7U?9^7Kt=^rBMDle<0M-&$kxbH#>1yOXs_F{Pj)YfKtZTbivIDbLPeJ+C0x z4f9;Fg+?8;*}G7?yzejh+{TyK9RGWLkbrUW9CS<=?M&o|HO`K}bF;a->IWJTX`yWl zhaA#~;!N9~50+-eW_tigG|ksq)=-8jJGLh4XF6|dLStmv|Il2QN5-j;3u=slCB9lt zzljfg8-bbOgf~FrCYoEE3wMwdUeq7&?vmTtICGU{8OUbu3SB6?_c;l-t%K9@Y5L*O zf$AmDbUy|pco3c+IDFovWNv|!uPosOTGF8%<(CyIVoa^u=7Rv99)GhYyJixO+**`= zwmcKp-gHj+(L}Oc1}I*l#TDKX?bORIxjPN&EbOG?v|PP+;w2=kw9Gb(#Sa8?Ev5~- z;XG@G4A|rfopK1v^Yz;QNd}75iiWD?zggjL*M%xpFuN#E`bFt?CjP91v%gs?FP;5x zBp5Kj@8cEhTQ3iId-|8g&G>#ag(nkvK*oDj%xB9Fnz}G1e9ZWSi}0#sgFl&33c+Y}Hx+r(8Ie=P7ro91Y#s4Ls8;IUZ#Hyo!Iu%t zK0RnJC!RKSj9k_^e@Aq5R*0KMBI2|P5-LfBrZ7L;#QZ=#rNG#TtMOD6SkR@f!<{ zggq-ug^lix2aD)42}Y(A0{l2(Pa9qW=xb%cyEr1eAK%5M8z_y?sG7>%L+1h(Zu*<^6n2~ z7ep1^z5pG&yI#8fyZn*Dm@c5;1popoU#eWULxF*dFQoT*{t{&}*}lv*=V@Q1JVoEU z1Hfz6!EVdTYl5G~+&zz&Bhil%1q zHhL8ih>dmX`zUs|=SMQC6dW^IB3j~iqGFyflM{^aJ_PvOey#LqdDpm58#YF?2~mG3 zn+-I13N{?H7=D2zpLp$c9QALa(A?y$N&rjMI*t0r9>hZYUylqP^g-b)k?|t^!&EU& zCf0%_TxM3|p-L~PVsLX0rAg~u#G%vbN-*g~hanL=*UGSiX}S(VKvaq3B#)9JhlU6? zUP3+tGfjG1)E_}rC(I#3PXVrBe*?x!awe}MGqlwXiT;3}4vsc*2*l=oVHxP%UO>ha zJ!`?5mY|`{wKkoD(QN@7?CpSb04*_!cq$pU7F;Y@xy03&%x*-4ky))Y8Li-#xkvG)734(fB^$f-HwF^zD?ZvFn|ChdFj&7$(L zW9V&M!l&~Za0R%?H7I^!x-g)(W8aIUaz!7TuE3|nL~#efi4UzY?ac{oY@9U+{W>~- zqmTdizqjr&uCr=Z)jTGYeYle`r90!q{@B{use@^SF)ne% zg^}2&uUnUnp?~@&1DJ!2-V|5Xh&Qg~>(gY}^yK8UZxc)f=G4pWqVqzK5HJRj&hmkO zvEJRbMD*JeXfW8&V-$we@pU44S&mlBa_pJB7!QP|ly*?lpe zoA{yoFt)St`rNcw_S^F-KS%>s++b?C9FfG*eajEanP_$e$$b(>8@mB1W}wnByyd|1 ztTSm`P{^orf=7_-GV|fe06;#}-}U_GQIC8jILv#Annyj+h3K`+pX5;^_RkIMk~i#; z+{ugCR8nk|foLYZnd%hWzXq!-ng1 zly|iDXH<^H;2y8_;-7&^EA-KjW7^ux5~O6Ev#Vk(zo}xA!!?PgX@H7QfkxVF7&f2A zo!bZ9J6tDsg8$bK+FiDeU_T>uToZN3tWn?0D!4I$DzBRG(}JHxN2E64ySthamd6yg z>@rWN-qjTD4WCSr0$SM^e9_dM1G~fEGEb@f1xZ)B;il4HWfTJ+htU*My!5=vXpy7e zO`u=DaNJs0V}C3=#!qMz;*E5CaE@DSVNefYY_Gv@hGvn-wv7g9r6PwPu7z^R?sEgL7*U@3_YX_PYA7q?LR?xV(jBR64aUw%**VXc zt5WuXS&-kof`f_3n7cxiEpIpY_s>JNJgR$5QN0>m>7aKZE1eJ0w@~CX$weu(Z&3Hf;&FxL#f$;%U2BEUb-jaS-V>@aNq{=PLY|B}As(5%T(ph50}IV;l>L3C_*)|IV^> zUDjIv2l3@;P|}kIIg=w&AY7x)Xugl!5F{AeEudK$Ou?2YKI`o3?E<0sUi*V3*_@vU zWD+vuQuhopf6h<5=(Z@YHqM`W(zRHI(F{+2LxPqXH(u>0YHpAbmi|~;{6noG760Nj zlSJVzw2$Fkt6fr76>{R&#+@t}STtC6E6lT1Wk{AG657@p!JZ76Yd=rsx1Vesgp60H zi|Zv|(TbO}?ZKDCI8@dq*5CYX36&=(o>JTqN0ehiXr>1Sk*y(-_GOhQ1l^ik0-xao zftOE-z*qT9ltJA5}9yQ?xo z7sN7H&-mxD%ExpW^-nGJe5l!-r$xjR^h*I@w;WG5-ZuIh-1+AsCaGJPZ)Y_{U4D(B zYAeAsCH93!XAJe4b0l;D;$7x=Vl>>W%5Qd`DL?oH-N!<~KvVXncA4(ozac|(37Lzm7pE(o*(CT zRC$p0ahSA!@~XR9A-imviHEAFv0-b9LsV;>*6*qg2S?fzT8I$@)||narv-NG{*yrZ z-j@L_zGe0~hB!i*8NK!DQrR8|ho0eS(giT;HzjE_1rOfiNRP`~8gxPE-&x1sa{)K3 zzs7>%eDaM?6UG}zZ8md3 zI7-L7frOnT=_rJ)C=#!k?y{X2FCY2V55Av27^rC#q2H5RkAGutC}+FEtFF$fMWDf` zx=tz@TUwMJZ+JAxQN+$I2lP~VaW~S+xOMv3<~T#nWCj7$T`o~Mx0QBLwYR~ImcC?%v&n8|=e#v?-oej$4$E}#-H}C$%z5a!4z^yO--{FWC35+15kTn>qlUyV zRkc1AK3*D3nU3jgqA2eFK z0iW~aw&4W8D?&^Xt}*HqdOGzH^0;SkZ7ezFj!UYJfU6%HS3(@YWr#2nPit@DePyJG zWPldx^@rvE{aec3`|HTNnuj|ZO~}20Ky8MJv1e;8UC2FnKg78QQ3I;}jadt-Q`D;W z8l3!EkTZNc?A)fW6MVkRbzh~ zF#n{T#M~36ai1ug^Gvu@qkGRm+Q~V0umiVxEhv{1-%F);)koc9F-AZvY0w=7magkp z>0!jk_Siw*G=tIl8=6or7O~&yJkvZ#@AX=VzMx1uZT@!&XGBdQ$DTvY#wlet6dj<*i6;ahioO7c)8YC!94e> zA3Ume`i=G|p&uWCk%v&)zoo1l_oaY{ZGrMH1q6-07D`WPj#c@Zk(M&zY?Zi!P>bo& z+namVG?tcXHBqLN>hpEcXtK7-`O5DOtsCV3O;_+&9L#sW20T?9MncSeM_A2rZMP$N+;P+jn&r^E^Kh+b>Y-9-_n|`k#XPkEYpH3%VD?;`iT#rRM`N z(!+h!*)^M_AW-)_9e42rwRc9O1wg|9sg@(mLAfh&X|LNdtYuq;xXj;+lHWpAL79}luKuiNw3veHlz_f;x zp)_#Yv}78I&H~cW>t(uM3hy#e2j}s-lS66$0G4U55rsf*j-3D{Aq4jGJ|_!w{@4-@$YAg&(AaNawJ3su{~eY1<3>zz)Oxo-%Ypy0^YqwR z{ek}Tp}`9g_9$sq&D^*-@SZ_RyX=0hGhlCwQyfMf zwaLYnO{#r|({S{1R<_neT#H6%l}U>!)z(CV#g3|+Nuf4OLQ}-Y>Q!s*&W_bU)ptNH zpIbS$u3^X4+4qhzE~g4mqNks)bt>GcF78#$ag#GWWhZ4VMzGDVDod^w>TiWuq_tV( z&2mqTk@adLmQ|oAE9Y%&G?j-GAfpyJl@?i)X-P#Yea$6x#gm&pvl~Dh`|bmhzxAsu zs7cZ;rwsTa4KpR5hEHYzh9Az)*YA7VFNcYHdu`#-lUd>LdLDqJAWMO7{QG$N(yIz1 zris%Z^DD}N^)$;&3Des06Cqc=I^J11zHRc0>k+|##2(4iP} zhFkJHt-;cwkZ!F7kvu*^N9u|~yA~M`4%aa5601s&(st+C?n)O|fD!k(ry`*{WQ4$^ z0P1Tb5=n+#O0Til7@r?3E+dk9V93Ldaw}h$!YiDD0;n|(GbIgpLnMbdtlviaLw#K! zh>_H_Xv(yihPuE;EA=SMEpepxRLQRHKlG<$Td-p})qU35@!DX)A8zj2TSdWT%V7y? zO~A;3nx=AmG|A-uzUJeeB$%q{S*aK`IZR2S6B{?TsS{HHd@U6JZKi7UNlW+>SqobnA9B=fXO5|b980o@JDm|(82NE#6)ItLmh2wP&iybub{@-xw!Ipv;CD0bH)Ef@9ISod-AeqR(| zf{4pZ?sd(IgM33+r3O$-Wvf3FSXXNc>_>z0-K?gXDw0cpQLT&F8A@xRhjAQR;0Gwx z2V4`z5)pH5v!7aPp zVp5{pPNI5MU-on`F>%U_Ff_s!MRl4Jq={FrYWjVz_)RO$)B4)pl!c%8Y0soXntTU5c{g^%!Cy1A(zFD z6N@M;+q@F}2A&lW}q!+Wfd zAejDk%(%n{%Rz^&2ap@u8)yTq;H|m%jt{L>-J~V|f0YlKvVx;Q^;0ht+g?&H=`)TE z3ZzGJu63qo^5i?iFa0CLGfzL|doVXkzxBuGi!9n#{IAlNQ+hs*AUzDkKv0{{VWqkm z4EQQARtu>YMuhv0z6NZOlC&4iBg*-m)`2_`rP9!@7GVIbI6-DD#;ktdlC|I3(%**D zQOb^|qIcMHlrl0xuUj%aBx?OirDWO0Xk-(VZ3&B3L?jy|Bs*pZik|dBY29(YCbTZg zbrl3t7G6brO(IzPtPX*CdYta z;o)KX&u_qx_L~I^5eS-+Bg!0pkSVqEC2K<-yY{4kYh~V-K&9;x?E5$~5z)R$Br{)) z83Q-!Xg_PiX3*eoNA`4dx_LO+E4!tDXZ=}bMWD9<+3+J0!8M5)7u=XgFML7DXITmz z*J9g2A|(|0q4&scO`J=U7(CU2K^?aG!OlR++a}8dQ~u@(78v90){_Vdw#nqyfKAyY*GEmI%3+uNjGhkt6M z3{3tOs6N^Z*Zd17{5~6{?@O`HGJd)}oc=vTURaAZB%>Tu^xWZp8#I#@_`p8=yOyR_ z;G8lTm^nnm3b^?&=Rl(;HoC6tSQ{IG9TsRa%GqhOMpKc^4z0TCJ6-nGfM74wX~uqP zp>(hbxUKRPdPq1_PCWSQbY*JKHbAsfB1f;@nJ=Q&7-9%aH{~{7OsxYhFZur3YWtmZ zj_N=D_19aBnXPI6xuHe6y&{zrQ*9|Z&npxUE1OZ`20;3?8Kpl82MC+E83HdA&!|Xd z2qQ)dBZCMT=~Z3BJb8Ed-UmH$-N1s8FaN1h8wY8C`9)OG$PAfi;F66nkd}JD$IJXB zKkNC{W$a_(X^Z;kB~=t?eY!eTBL<#f=dxUTGSIyJik*99p>Gd6<&xy7iP_J1m9mFj zkL7l<1bBrM%&p&r*6<#@nbdCyd?eCMw<{RFgloLy17}We2n4dwMhy%ylsV7I3%`i& z3!0l~VDr3p#hng;_MTUJ4dn^3I}YJX>uq^Xb0@6J%o@|$er?mM9~NaR9p$T~N4$6`5@Lj=10n*z z*pyOqCRTPIFYve~Img7mi%PvebEJ+2M(*~Xfc=v3g^GqHTD)XceJ^4I4M#A%t`Nj>7p{Zj-d-RuK6j;Rn=d31{?E8 zbUh2jFMhkvp^ZUqTMGr9V&p64U z7nE?GqF4lpW~A>_*+l#!(xbJn1#x{1S%QO%qE0{Vw2>qUHn@B?YJ>HT2R?kUm$cyP z$f+><|8S#DXTBl8y+q%`g@j;n-tCfVAv{@M!JJsJnBHqjd3L!26pZwP@hQv8qLAoY zC~c*`6W>tw4mZrKrd4(okZ@okG|CPB#4Pubpzrol?Lv+IO3>G3B zt}kp$nq74X4csqjIelV#gPZ0)_{GbMWc!#-yv3DXY_B@+XR`Ky^iZ+Sffqeu+9U84 zM*UURwyUIc^b!UQ`sh`;Em)VY3E^JCNnfqJs^Bv=NTBws=MqsV9o9vzL5p6Z+YdT*Bpcf`6i8%W%S1hUuB{q78~%e&n{ zgP@MrM}CkD<<*cHRdRQw*cIO5CWbQ$_E!HvGYYk*Jee60;T;-X@0FSJCa!Y*IsAw^ zF}OzvZ3n-VmywGpiVyt!_dkT;U+T8~{xhO@MNL2$K>-#JmZ8Kr~ph!-Y{LFL=y9_nZYWu$N6uA9Vuhi3==opxe3sj z6G~Lltu(B%3@8ihB2gHc5Mt!w(hb20Ca0Bp+7~1v4fo&AgkQj9SoWZO3J79NXW~of zy~R5lw>toOscyI#Wd`h!a32ZdIQUr;X*reLouLtMyiX(zb{pp>?FzL9pMuPYN&<_v`)qOzGQqrx_KHeTT(HkQIix zKnSUX3a&Tbyv<1j_wQV3XX+ud0sjJnIo@bsH`KLSMjW>@4v3t0!Nb$E2ip~T%XG$( zKlDglM=@r>GOVfEi4@W)#E!A!inQU-dL^e1!fjr?s|xe%7Ps{YjawLBIWQ|)Pbrz! z{3<2T>K{GcU0GmY)etMD54dnW31EmE81Z3YJ=>nmD9w{1Wt6{RhXM(HdR!k*^QwDP z+?T@XFo-CXB0UxU+V&sBlB|ZR|5bO)n`Xu9#JHKco+98Gr{6>@QTCe8PzefvECXRgmc#NE_WPM@nktAys zhliZYeYBGY92!}*rFLsK8RQ%q)^uijE5cL=1uON z;U!#fIwezntrXgwYLSd^C|Q>7Te80RiSq@GZ3fn_k~1){fZ>|MhI)RB+@#Vp6k7M~ zv=SbDigPCPpL0kVy<3?mwhd_WiXmlKw$m~(VK>hNjs#C!kBx#3aORa4t4ee&tV~fn zA!W8Ps6%h<^`Y0?GfF0}*v4YMh81c!$gj&2Ahq(YTR%XR!sege3x36_e|w;&`@Ih1~5Ih??V zSX&~1Y=i|gIriG_B55^rd({p7%b?BG+nE!?Q)0XqNB82MQSCbki;#^5N-QDF$NX!s z8w4XPx^gl1H0@sI=W?;SQC%v!?4S9Bl}b}eJmVR zb|iAd2JPajU=O#+qU*pQ6uk2;`Az|RJkSUL#}rw#+d;jaF{v~lBmXI$^_E0Rf-=~e zkwi1by5yQqv+UG%(c$LHMk9%ltSF0xc57SMESN|$3WKhXIp9vO0O?=dA@#{^|K3?- zNiO^>N*{T;W%DqZ%K~cYdU@9OQ{p5tT+|0Itsz~S(ZeG9dzG_+N7U3r^TLnwtf5$d z{%q*e;5>i9XodGt69y1=VSu1cSsT(%CRFy%pb1Wv#+iJ?!s&O@H7H#bX(M(1Ubv3I zR^Cv+?kY88P|Q-t+0-pll7F4>?fVfeO14vB1wX_9Nrnpks|iM(jpmPCcHJSw)B}4E z8crOH!%g@~+9RwLQ_8HN6~1Blo=s(7;u-cx2i0yjn4DyLb}+oKwVGaB1R(KcLFvUo z+VrP>o5V{;#4i0KB%9teIe1n}MhOV&&xD<-+~z5!u{mAjrs$v{y&rydQU|80L&;D^ zguXWF&;Lfh>nIUFCH%C4p!V5M?mitYkdh_~CcdG|fL@T&{P()AedQ>EKWYHXBhED; zBP;N*KV!*&qP~=kv8x2o+M@Ndh>NxQ!}@Ler`bPxy9C2)E|2?dvcB9?-DjEau8a71 zy!i#?8$oogrFHXp8yIoOPtFUK=i{3-liynm^MpwPj|^b2D4Ys6i>zLl49i)KMN@|N z=L|xNur!{=E9v)qmFHhU7Q_&3pK=rb_bU7^kDZ${P5A@?h@6sb&N7<+KN6LxCQI^*H)`X2Q&qHuEV z_{ZH^XyY%mvKH}V$fRtVxEPg?@61zkTm%j`q4A@7I=;!`Sf8m(=y}WPcc#vHBg7+A+hbYaFGD9(ahmZs5+`A?i6Oks!EH3%Hh+2?XmD8r(H6O5V<-m9LOMS5HTK z=iAGEyfhDgM`url!M~A(TVxNr8zi7iFC4gYkR{{;nprD!gbDkQ;&wav;&8%8r%+Di zxX){UB~igcaA;$tckuEN4_TQiSZO^gU<&w16MgYAh`zp3Aqkws`d>k7g$AKQW*bgx zV>uRr??!fb2#tseqx_1|L#J-iDfqVoVxz44}q&Q`}U761?SS zKW34Rm2WP`F&#j_?w>+40CRYgK@pg4h*olsTDV15bJhaAT*Hm2W#4j}*XI%f%a^jM zb7jfUoYW56Yp%Hz1N%!7dB$HSwSv0$A3-EAnNE(@kHC>#;>O|NEpec}YSVaackLYN z=UIn60O^W{kj3zdJ9s%j06ze`@BX>;139G+DMdsA*7SJ>)S2zU2w|w@0gcP zqdOSNb(O;VpW8AJUQ2?sFUMd4q>%{zbSFRlS>&pJ|GYA}Sw$In`a(ncIVG?{s-KgT zyNb(j{3s_W)1K4BVAmZyzq~TpxUDEM8EL98^)QbeFk50Dcg7*~Z&7&nhHPSAv$+kQ zCGTG|FWuxYgzh%tAh|vd2XAJTe7y{Njd01X$vl5b3qj{ph#CvuqtL2dR#$|){FZ%V zN+`l2&wx23Z{xu|{sFmRjr!;Rgf=K=nn)`I=KoUS({&woxG}~ypE0~#i$_<+mZ$LL zm{dkua}d|Ub8yu`!6e`VNeko-7wXWVu`G3xK#SGsM_6XYpL6<{sKdF*!@0R)-P`86 zu~z3+(vtW#3Wh-89aB(n+K+L#4VCNhkX4t#Yv=TjtnXNfLXSPMx;DGokZw7C%Hh}$ z$4_?wtGnEK?YZ#=O+KMSSd5gGKRX38?=6z2jCL#6p62pLiJXo`@uM&U7V?FC#Rd!<2pz-1+0S25;RuzfVZ;qj<^L$jbE~MBC%;;v=p5&NgpQshO>F|!WrQPY%2i5Eu4N7;~dlu+kZ6aj= z3mL5oFUe^={!CPQ-c~xBV-&W+FhSw43nJ)5I#P%a1(nt#PDrNVl;cC~sNoWE=QxZlNI$yYl9x##J%HM|skDkdEw= zT;A^BV-^Wn55Jt8Pvfny;B`}RtdcCku342z4?FnIEO%|2*tT$ZU~OPMOi*ftQ8vBr z%L)%IgC5}&Qg8nIx{-?WQ?mp>R^cZ`Xi9;oNzQBwl4YPd6Qug(1yR%Zs?8D@)ci^u zx)Dp>)mC{h9b4&xW=~c>w-O>ducu1qcQ2{BP{Af2y4XySZpVbJ$_)7#Df1>O_tJ-{ znx{AQFaKr7)(~p!l39hwL`faz577|F&Q%H2AZ7aBBIU{b0HXLZl{W@JO`tsRPuQ*t z0;0tZj7?y(e_rv*)qC)GQl&GEL-5;Es+u9a;RljJz1G`;VwEy?Mea=t?--j>(ljmI zN+cqE>5mP!Sf3{LYz#B% zWdd`_faSCN2K^iwqLNwQ(tFmAfxAkzlk`$!rF=$K{*Q5tNx|Og&^>5YS5f`&7BIm| z^J&K;>wsAxw^Bp_E0rZWX!2Jv4Su=pKHCG{*enGjxLVyzcPPWaOkq;~`S%`H3dZ7) z6gG%N^bb{tJ*uvJ1MUo=aO~DYcU2pI0b``PC2fXsp?12`#$W{!{mLPn&SmonV}qDR6-g_)Jw6(1n;kY;AUomVlT>Q5+| zo%^9b<(tiHTxhtkA|5}&e=ngwVpysfp&N{uhH}2vn*$tom(QDJuN+nApIUau&_-Gl zua(c7G$L|)vk|`Y6r#kFbV`Udm?M})&mA&B?AN=6!eA}syB)R*C(-8r{-_a8o(o4k zhW+XZj61~A@vC{}{}_Q?^P*i+rL}$C*#UT)2HhR@+qol|Qhh_#zCKH2ZF7jmblr)4 zFb!wFWr0xZzpmpgj##Q2+FH6PO0ltv+vQHj^P{0>>@%UwZ#TCR&OEskF$wi9ViemD zw--_@p&W>{P2RYASXU-Rg2ETRIw^=3Xq^Ru30jmK8X81Y8ZPg)CeRqBTU1}@6;o@= z{Cj^+o9s&n(E#RwpDXnXDjm^gcYFE^bC!Nv{y>Llmwob%gHk*n4;Vph%U}5G)`cbK z#8&U(Z1KFxK`tk<$b6C+$h{~uN_E%mOj~V!TMB`68U+^99YeT~VP7_7SwxB`R9kT- zj&`GQnD}9hZ-(zRBPm((W;NUqG4!;B66o3YwK25&AX0YS?{@D2emz7m-z!GI+V65N zqku*RytGC2e|NkLmDSiPyKCNNtT)E`vqA9XY&c6Z@2E2?MVXE>%*N)Q2jYr938}vq z#Iw-x4pqYcwyt`}ItPJ3Hq07KYJ6`$*fX)}G-1J*;2?MqKIf|2R(U$Z6!?o!M>Y@P#myO~ru4p~disn6=^;qKJ= zLx&*et+Q3w@|pOpMvEl1=P-!+xk>&(AK%QcjZb?B%I_%7+< z7>kkFr;-f2Z!O(9{(6N@C?8F8BK!|G#Lo4V=ZXRL<;zS+1E&YRK6`GIuK=whWgWHu z!G@Ar2e7PmmyW@rOJOjyokDn3Y{tjU`~1VP#~aBFgRnx0eJ38|6 z_Ts!hYa9s|iOUk{twUs!iGWi=6cSLC4x~BWD6O+A%XJ_L6(=HHe)&f+)N%cKJhAJ= z$;Tlq*S^^RWpUB0`r=M#f|(6)W6=>?_11+H)s5En7;*pfV*F!Zj)p*wt4XDm@qTy| zF&R2Bhn9GNO7hPQ1Y>r?L!^QXbaNt86~&XEeI-*68qI-Ev8ymBiIXF|Fho2iFH|ik z9_Ec{)@^3vy2O)>3<5^%y}X=1skbRh=ii4uO|t8OY3;#O5!0Nkegn1Do&?#TbedxH z{Z_o$+vb@Zj}v|m`{&a=H(%b|VGPqY=SWC%9F|w|i2ii$xh(5#@rx}*G;hd-ZkcGW z*lID|Bk;IXQPPYE`7yfER$li27CZ$}$Rv7kcBlFo2m6!m28aO=oFWKn`w`)eIPs^I zy_QhG_{WxS2EvO;@{W*^qJKTqiXLrG=}yi5(hehsF9kw)-eh4#k(QA{K(@ygeNail z_G$MF*2v?}`QSJc2<3@9W)y;^1!WZ^?kJPujxs!g`uz0JZqrHGuUL2E&e&?oBIT*# zE#vba>Ukp}%=MD3gVXBwgdB@Q0UDxc!=SPNe!Z7Q>cT2pJq?>;K_^S1ti(#YliRL% zK$`sy>1-d*y$y-!=oba2E)VyS`Pe@lf-Hho-Ut6o;zj8K`UG)Vp)OR3@v`=IWPoI^ zN%*X#o3XT9A?y8To|@Ul-ff3`vD3T2Y}EHDt%F$x4jYNx*_!kNGt*_zjA2qdxB_HA zJ-N>{(pq~a+JQ<%j$0Zt_otfxt+^R50E(W;*O!rMU$h#ln&&w6*&U;gLst9zVxY}2 zT~@CN=J4mjip=xvI2iYc+1-V+tbpb~F8pxXuGeuvo45<`)A@Sd>4D4jRUhi40>!Fn zJLNV4PHk93;&$<%-)^a^#N2;@trwvFmUD)igsSE<=iUa%bK6m`Z2wQqix8b2tzf{f zai+1BU#GrK$cNq7Yt-ac7ivDD3&D0&3A7z*FW9(W2`$m!)jf=vE2HxSZ&Tdx(at(Q z9I^JNVlM-2B-Q8mJ7JTlr_pKF)3grm;gfsSJvn*)VbS^Rr~IzZkUw99cyn z;SR&8qi`wgq-J>pO|Hj&@jxb|#fYP}XK-QiG~<+NTI~NoDPZf?kiMG!!UhX@GF{7K zx5;|u2$b99d>yh=U}7m{L5E(4Y!VR+q)!;e@1;89!qfQkcQO0N@%B>WrXAsQ>!P3@ zON!-#OAGQ!btqi>50IthUU5Vqpa_qgmd_O%m823c4Y9yDppyv_NpPm>k40}&cQ!|x zZY;KvtMW}Y9Ja%GY{VaF3YmVMe(dfRr2zS57vNJ=Bo>DytxACtAGX~ro{aG|C*Se?g${H~hF0?v5c5TV!8rhkuU~$5L#x!( zYACN;NBLChEC=jjFweD1W=PDPFRP!}ggH22Z(vwYzJMqC`Q|PX9Lc4(;H^T*4_NJpY29X z3e1m$TBxijw9#-3>gPFdOi!ob?2ydSlL+fbOmip zp{09O&IUGcfdcxEE`r>#pf*CH-99yx5zR0!HNO>l8Y!KQrq z+Q(%CE3l6?`gCF6+!98K!s%-vH&G=4c0BAmR9_S z44YY-3Wuc-7w-$+Do=TvRAzxnzWsdh{+!QDh=o;i)y`(jPeGmcYwkKuEa11XQW=p# zsam&G#SJrv1E3U;O1#_ zkNyORK!&+EW{C*~UW13_OX-QYbDoxH%ur%!qS>+6xXqk6icCogUSfiHD51O(-g)k1 z74ae&3LFLP;&}`<&>+@M$sq}j2B*Og$-En_qB85uwMx64wK<7lwpdEVfz@TV9^k0m z`bInZ$I;&!%+Ab_l>DVpTzgN*+)r-8-T`Z-AlbE`2YB>Ew3RHNK19P~+s_-%4tafg8#%pwt{1)0 zm{I_D9-FIJIs)4b7iq@IPn7~fB!GAcLBV)FFGwAWQq4H0!ts~7-OWr$yX$C3fG;7!B z#e|Eks4zaIL<~4pdGPAlWEqR$7FWvO2Oo|?%aC=o?ljR5U>xseQ_40O9R}K= z1D~z)i`P+UBUO0DcUVmLC zS6A2=iX>mmVJsqUcY`2AkuZb$q;eQ*royF+-r!2zJ(W0twVwmJKf)A>BND&&{%9H7WY-LZK(ast{4eDsJy9 zA=kXhQVx4|T2F&erR?=Hf%>I+nL z+mbjUBQG^Xfid*#z)TkFSuNE+$3d%up|d^|g*Wbv>hrD(bzAGFK^f$@#E)7Q?}^jO zb>e&{vt&%djxEO_Gj-vJOe-y+0jYtE$}<;~_QpNQ*(B`Pj$=K!64A7w-Q|cr`)uW~ zv*tTPxcUME1t-2ytd;#VQFhC2#G8C>F5~@UIm2uSWSn(O;BP9bgV;A6Z+wk^0af2? z^zEUgkjmWM9ShEV3l=eC{kYG{9J#wlLqz7d^Y0WU_5DR?>M8uHU;P6_*F)4^!k^UL zM)c*Qed}B%^OZk}dQ3-ba-ixlI>jD7c@eL)%iuD}KoJrJez`((m%{#Z4z$(c-JnL3!Z(j;c@ZYTb4@2>TEk1^J?*O{&v^jUis zoxQmMO^~!FT@)B9nDL3<9kqw~Qrsw++?$7Y%G2hQUR!CcWS)b85378TmLyQWx@-FF zxTNCFnqA@D=S}0|_3Ku&&t9s+(84VcKKISn<>o$Q$a`uR-`+DnOq&aVu+&8IPocIqyU!~+CbzHY zGoJgAsaLNjk7TprGcqz==L}#PP2nzfCL+V4U&U}oYuKPws^B_sLh-=gU~o?FPp^ws z(d5OC^~!uP`^WBm;jKZE)vaGw8OF3smxIUPONY_HSP$zeZ?CO%_qlF{~D z37c;y^Xcm`RAIl-IC`$K_zkr;)^2tqVk3b%RAE4;|gd@0fEPoe!_<2N7=)~*U$g17sO~Jub@vsNRrl)%BNiBRV5D! zCJY=ibd5QfRDhN4i1jI}2pn+R?qKpJFzwu@jfPUy_(ZsGP?`^hunJRCg zTp8f{@D))V^pPC<9=$0+%2Ia0cQ5928P|-{SQ55D7o>1jpe9_@rcNf^VSdW7acne6axfq=o z10&nqq(Re{MDArKeb$Sqtg(Q$N`(uKL&i zO@H3fK`ZuX0s+ce@n8li*11gi+Ce^%$VJSfVyg;kT^D{!mC{@9LA}kzwoe~pb4=sD zZZD2>#TFv-?;}ws&Q1Ob5ByUf2nEo;ymM=m2@U5R552&@semLj2+`WofY0CW5Agfb zCC!3HIxA+G(hjV2tXPB#r3p59XA)~34NuV{1gI#*YydRaqH!q`eJzPNK3s@hS6VlJ zWY?giD3}gk6N?mkwm)D_GkojIL(tVd_0-TtC%EC>&FiODb%r)KKoa*!%B{pinpjd1 zpHSpBoIo^0Hy;o}NiTdgKlF1y{~~KZ$Wgo+nL=w2Ku;Q1t3|H-H6r=fb;7MT<}X^M z`yXVp1TeKkNf{QAi4)COI$ay=#0d^D`#Nfs{j#+45w?Tuap_Oz%*-^|%F7753*jJ7 z@WrU#$c1sUonvRA`!0+GM0B@$rN~>rppPo0F?9U_>q76-{fZ0e{!T^E|7oN2vb1k4 zwO+M&zUqbDk#K_cSGCZY>_gm8AIno#P4Z9Pm$*T>vEKz<#eC!GXL8nWj%I30S0cb3 znBl>b%{wsBHA--rPt?bwo|6EIFIZ5|I9oAeG2JN}E@hGO{XCEEN@DaU&VQUn1KGs!LjGt+T z09j)d65+wTq(t_EqoijjQLa9fPA#E>$=^~?WZ{Fr$lVL>7`h-ik%oSYbRZp_f+2~? z$qBQk)PmH22ii3oon`yxJ8apmw?*=WI1M;!YbJ1ON8Wla13DJajlC!rz@ z(FAJT=PBaIBi{@)Lyn1TNGN_2z?c@~n(}@9zg?-!@k1qg@K+fv*lAd)5J8ml#N=A=^RIDvP}mzylusH=@2 z&t8N&hL5AW5VO`EU+iGC>u~2X>#Q6QUFXPfmkFu~Gbd;CrHkQ&wX>P5no4Bo_O9=?jPUv$2Ay~H;|cuj)B(=ndX(3< zW;x%8+`W5+*x)`B%V#nJ2Z78baC=+-1^iPFZ^Mk|!H!-`o!#1ou+);BjAg!&^#PAhpH~mK5I@Byc4=4gocYT9G>OQJMF<>_hO$thvX)A9 zpYXVX?yy-aeWr{e@2Khy&UZ);ywIR!=<;rQ`-yx#_h6AtuzdKT@C4Hd)m(qY!R-i# zwaO{H8XOm%ljp2@W$J!+&;4_DziFM*V#Ay7QOAP}_>g=j5}v+KN&AIFtAx2nnnkTK z05-D@e;S_HpI!TxKP4;>=1B{CGSpp@wr)Aq)Q}r4U12lTbXXn4O|#4tlc*Q%9l2J{ z5$1nTP7ap;gNlQHLB;>$5_~P(wO!UZ(fpU|wz7CI69*&$j5S?3>^*NL7sofL2_8&AHywve$;Fk}sfh&}jF80Yz_F?r z5HB`{siZ@oP#v`i^>W{w2D<~o`zRb6$?N4z$-##f(g*w%A~qQf_49h35pe~4PCsV3 zk!R}+dopB*KH|D9wxs|n_Lda@hwUa|!Yk;8+mnr3-qJ(Iwvl9qcWKC2(}R-1h+*oK z%Hh@o>zV;RtMT$Slvo>7utdLZH5bZ-?6IW8-{TavLrfW-Aiz zzfL##g6EtRt6v?bm(^`0l>6Kuv@St|YmLekpO@vaWTwt9~2Spr^+* zUG_A>vkcNVyM! z`t?^a!*Aoqcl^#R;~KYJqmInbEd;dRU7g@uu5=OVl}PH4$u{*`sW6QSw%wIooR>Z) z7+&9F8^HkN8#a5{7YTKjQGZXb5BH*DaGUlq2^6AVSH^`N+5V0sFYhQB3&eNSCkXb9 zPJbs?A&Kvnv7t|&Dx`%*Aog=P$!XoP9UEqmJ`G+NI=#H~3epw}M-nI@B}QVM6$7c{ zJ$HAY2Mv!#c!+eP=y&rlhbF7+I;sITdytBK%JBt19< zjC$DV5F2^Es%Yg-Db;Ro-xFROk>I5~SCBu^{wRN`8zmgUto5H69fo0p&UQiJIKg|s z?_IawztC*P_##3_?})Z!G9P%c_w3ASDlqKdr#<(iNe*uWQ z*JB;c?#rBM%6OrM$0X`3g-t6MSY~_xp1Bf-86d*X@IRy^ttPs(;cy5=ar7!hK#k9# z%Qe$3)Wa#x-uX#mIZ&zY`6y6+O=8=VP)w>-1|ev&9X^M_E!*A7l0+scD~f`B(**tz^fEdnVJ z`FE!va$r%42|-TdJhNA?8b}}uh@r63K_Hh0At;?uBNQ7Xfd8MB@b!6MDZ5{(AQM2A3RZZ z@HApY!SU@_ez(*>=iFMbnYkOJNyGF6WV4%uwzBaAkfwCu4XNJav`nL5W*g3|{&_O`2};#q*@yz^zj!pT;+Z*()bY8@QvHiU5|u0UO6)DuX@Jad-j1Yg`{R2F9M zPcYq@^5Tu@U!`(jeGn?C{kFt|%z>^?eXRcp)y^OJD_pqtOIfUpZ&i>N~=0c@+pgzR!zGxPbh#q1;*N%6Z%C>=6NI z0??^I5M0NO3X??K%LP8aY zIUDkNp~<4107y+lY%AUi;`FE6p=-ZRO$L{OBii%QaGknATb*n*rem?PcAUmO_ggR& z#V?qT*CuFFebwDjVXh5`_%M)IF3M?W-f#FnMr$2d!%X5$8(`|Q27{5j{%G_XU#jGH zdIX+nC+TPZBjlrbUkR#=ldfF&ej1PoKMLS##6RX$R{7)-_~AM?6m z|K#^_4}l)Jig~Fv!;YL0?&HtM$Uh}%xIdjhvi-eVp;}3DlFE6(WJjnsF~%PsSd3m> zSuP#`*yg_hM_x@*7P}tLBXz~DF1FR$yv@}=zq!BsB<3D4Cy^+=R&s>Fs)4rb9C_y% zGFwoZ1shXi z{=XIA`?-o{0XjiXA~+j)p1rk z*=;fnd|q~lm0*cchN3IW;SlYR2A7q;&GAn6<6dPbkNXHx1EH8)Ks!rGdwEOZ*F(*^LxL!@r z{`2L~B--@l8`yZAf1|&!f!FrIo-F;biAVCWd|w7eQNG)VvO?m?TdItOlV+rP^~OhC zAN&S>Y|Pz%Yk7$1=vfo6YNHA|QwG*gUmst|;)ED$6t}rL7>jF45S+yXo%24!0f!r< zCe;2;Y-^>%^DXXbY4z&bc?w-~TapW{urPDc<*)Bs8B+0;cAY=g}K zw-UkW8_jo@tm8#Hcl$M^w|kymD%^};nfWfx?7jjgRJ56jUP55ih7z zaN#?yxGsQz2^OhNDY$dVy=u4o^kQ-SX+2dpyJ`%;Rr4-#UbRIWsz-{2`D9<6TR=%r zr~xWKG8dQ^@_aw>eq{MzRL)JeXYob;7;K6<+yH?Ro~DHDYXwOq0kX`WA! z53iqXs!s3|PEfz_!Y{ra@*K6RL|SjSVoGGww)qpTo3$er0C^%~DDpj*ztSL9<^)={ z?GJ9z(+>V}EdJm}1E$nt(bOuN>hB z9Z20a&>!lvL`I#8VPG0Q`25Oeb5|}`EqN@(CEKWE_%nkq{J_lEpbkjj`Bj!__Jb$=UkvLTXVKJ!OuF&q zK4=PpoD04j>b}w#+bp2-5K+4PR<*0c1_L>uGE2hJXBRd48n_<5quyEng=eZl%RQee zKUeF8>fiLakM0XqRl^Xb_}0U4hWL_Llfw3%RV#Il>u`yBO*<5F(4@lbHp9nU%^eTT zuZk=6K^EEuY268-a%>9X-~40V#-+)ma-Cs$$VY~7&vEl2Gw^`9`a@mF)0zgY%gi2e z7(>;)(nwwnwOOb98&ZGZdn95oH544Xa`<~n$Mx>jK(+y_cC$UU8ILA7C05~ELbEL( z>j)VL&ss1(>_wUV>8`((ck2S)Pax!6vnicKyg>Kzxs6+(Xvbno=!DdaB;umo@F^_B)y>`TF%v7JP;*2D+;B_?hf^4$<_ZAwikLRd7ffe){0Aa|&>_Oi z3L+6rCfLK{3wVU5=dDnlkS215dAGHt8B}kt_fy=zCob7nQHRu^b4XJsGW?P}w9Dv}mDb#2`*!lg_ z2-P8^3Za%7!_b>msmlYuG%?7)CrhFhMEN+I$_*&BfM5Il3l>~3qv&q?6LSi=0!{@* z=+GSZkv_GxNX%xvolRzKs&F)-Iwz=`MHbGFt{h;CBW~cs4QY($#b*kgdVL0S(z}$* z4FwM-E6g|?ePK|#BftMQ?vEwOgkk_3;~QW5?50+S9M+Rt_G4XX=Hh1IzsN)H2AGQ& z?+>&n$IohrW_QHGVmr6DsVvn#%j5Os;C{)*@@3P6VAK@z!Ala}n1uWG`ui+*6b0^W zR86G8+$tlRYMh4knNQF=x-Al0jCoBXFl$(_`)k*!wc=-P-F{JF_NV-ySd=7Tb zSymKIb8Gy*QheAE!DM)U(wlCQuYdR{gg61`|n7vKyJC3mr12rT;Lj+XWA^H#Tq4X?+3z4_R zxV;Ryirb`ujw6B;kg8F+|=umUx z(Bez(=93t*h51F;Kd(VzSxSKi-^}jJgEN?C^xi;$_E;{uy z-n9|8_a?EyW*@&2@&>SCq|~;GTgo}vs;3r{UDZ)V|E}u538(sa!37Qpwv$W%1iep1 z4ZF)E(v?DH4G0F#gG*T_co4nn`LIWZZ1}pI-6ju1lM|JektOTkdZ6^3zj4+6#iO2- zSGI3T6I$R&rUKasb4~cO*GhgmT2a$2a>3X2QGra?c^VHMA=y8thl{=Y*WK80*l^GZ z=kI#+`6uF~sS39B`jtTQLmFKYAgbq_>g->PH!`1t*?#Z4$0-*P>?V|d&9<4Bt)z$ur7fSb8G z$If!P%fma%<0-;Tw-BWOcJ{iXjt}8!ZK<3)3(s{rf6VlGhuvjQ@gd(epV+ylD!ke3 zRb~!s;Y1Kwj4D*04Oz%gGDV|G%Z5w z^MZ3el$4#qs@;)Z!#dHDzhyAXlv|pI*QGs(WQ7-nA@^!{Z5tC&Kmay_a2mW>pPg21 zDU*JfLIh;#G%d7yQr@ly!9rHHpPT=K7E#Qv+aHU8Cq%O0xmmr;-ULQcwM1PH5 z-f2eYXH;E$Kv+iwfc#}a7Vs;15R4|?r%bf6;Hns^@M;MsFLW^{Df0|51FORctmU+4 zeU$2N2y9Cp%2D6ubEGpz&yG@n;W{}$$>o|obD)rVHz;tQ#ad1S68=iVzJ+?LlBfSK z`=abETAsP~VFM~n-}3sfGYF7>%udUN=YEwB4ARa>e_Mwj0Q^texxD(UB;*6!9&Q`U z4dXELI_}vTitcE%LtsPTeKYLTGni(HZnCD7Y(6Q+)~~puwiq7pKX$fQRFculX;@yy z$uwL5r>{5TdppC}f%AXZnw5Ja3{s~Hu0x}9(J17de$ z+sKtRFsP8)w^5}_&W&)LlTyg2^w^E=Z-?j?^>@0T0XuhUNaq#-tqz%o`%Ed!V!$#R z<2t#@ZIEmc5V>`J#G~KDbEgeNo5q_iICF&S;g<&Jnn7I|nsho1Y@4B+vJH;X?>7c< zM&Lo(U-^4Lwce2T_=G~ewXBG~5Ghte^=jV@(>+>4b6n7-3C#3gw*qHXh{W#k$sSFK zW1u-rfQ{%0C>Yz);cgB2D`gLdGcCdH4>9&(JyDGVaUae#-d0 zUYPTQedGF^^v|_r&90+&m5{T6kd?@rFCdY#CkkowZ2jUXhVuDg*{v_#mE%!gG9_^#1yZ<#KsX!HH`{0$6OX?e!$k1tz2og zFl?;wYO6hCDy-d4w~_{p!(hq5)gtU+137P-6c1NB3wH>B6Q4})hmFI!7!bCdSRCE8 zb_W2%4N}3a!_W8o{S$26XDw0FC5(81{X*K0MF(&j(MED2lWe|I1j-k{yEGY=9jZ4Ij!{+**!U z$wmS}zF-&tMbVlr<%B%q3KVUmk^u{(i4y_3l2tV_R}zJ_<{da!;|jQ9G133)f^F2!&6CGa6j0Dn$mHKqr?!qQYJBD3&2gHm}?mfu)KmRL6!U zS;wstUxN6U$XTm~KleIcLj`DSLd?e<+}1jYR5k)EzBDAk1B#{yuXm`X|EA+>>y zc9wDuXrNvxcCpo7e%q56rpn#OTwPMNf;J+rc#v?U5FX}*WUG>O6)c#p1Q7o;WlH)f zb|Cq0Si?-sp^?AjB zn7uh+E}i|>Xzm#n^+dtD8@{YRaTtBVD@`hDOwqZ+n+=SGQdDoP+ML0UEIvHc!>P6v zG^2`-htLi+MYnhRaWv8_O$mD!|LU&e4FO!9wc0nq+dU+i1zUo4>i8`S6DB}f6Zt?; zm4v4x1cWt627rcYwtXtgzBfuRB4_RNW4;{F-Xw29jVHx4aBkq%iW9H-U#k|2zUC_& zMp`A$4qvjc5^KB`OWA{s06+0mxU8>{q`-S&nzxR0251 z&$d}5z$T8e!&$|uXK-K_<$Dn;d19IjCIls^7Wq59ayZL6bnGz1Tp2nj&GJ~s>s)_O z5aY74`7g5QI?6%g5&H$JAIgFlD7*$sXoe&#(th(bQU-dVZul=eiO`f4*H>Mt%Y~@P z(n$D6ptNlc5kD$QM@2db(>J-O?E);v3q4Vbl6i5;V8c~;Ht@AKb(@*&vS$`uSmyl{ zFn}Aog-(3WmI#?tR*M~@zL1r|EhW|4z;YI#O7p>*UKg11hp=?%nRaziH7_V@wtWB`^`R|4XrEEv)9v+tKiQCZXTxSZ-7WpJLFvT^xl|3Yd7x zpfpUd{EdKaPDWMuFKO*R*QRQJax$~oO=oV{MVPC0orr1@|2;L>LH3@ zn7f3c16nJYr7-Vp4)ME_o1c>e(t%?W-h+M0DxaOGpq1ri=t!!zU1E zGY=e`{W_YY%|B0eIC{?~;Z%r=K)85Xz+eB$(DT+#(Isi)Bc!X(vptRN5L6<)xIY7gj*)0fp3)DuXcRHUx%pR4gr&{a|0PihA90Qej zMA6*cVB$7_+FA41nQG8B^3e9p>$^4HSgE0%F72h{V0uNSVk1ym>AeWW%%+i1!#YUI z9>M~$fIQb*>;NQ_K*^xk(7JbG zNq(~17EkkH=Sgc^Gn%SMAEg~5Qy$d)A;oBnP}9cXm>=0&)dqr<*FfgGzKt~f?*`kQ z`hp*x&u7P}({l0erH)QqdS9TJ)a`7JyKom6s4-V40P41Jd*P_WjBrDNE-DSf0Amo1 zN`4QwX2`jNs1SkjwmQ!BnS9x7ZucS^&xd#P0cj21i={L7^A!;gMh^pR_1qLc9B&tf zDshjveo1*+ukBb4=zu7FVQs|cfZ%X?S%y6t`oH&|=&uJ;8qx@-GG?KrxJq6>_kjwi zhswfW0C8@_*(6Wq?DaB)F**76k=?72x2uvci=FxHZQotfHDPhsG+nLc%f2!;Yny$a z2$5i`VU9h%fe%srd$SU9ppvZ&<0jKcX`A?7WGgD|voA+HoGQLe;7JIQzgYrE;0=)7 z^#wulEmi`Ynaa&#?xXlRnV^33x>o9+q=;%9fcV4xe<|x&4BwOGrMVRBO8X&U+H{1B zRMJ(V9#{5}J*gydUX6OtVwzR)fg-o>kH(n1?zC>i5Q(mv4wIu6smZ=qGGU#`_?k%> zhY6ytJofqcw)NaTA1vfCz(vvE=omnb6f z7hI4@5X)Fo6B$I%3Sp}g7@+j1{0q}T!;|yomt3UM9x=q$i{D@F)*%Yf#zqJyB{yeA zTeujJTA$3CQcP!GAHdu}bxe^4p1s|Z0l#pH;Ip%{g3_K(j7 zk`1dEGF$2K%?QrEURTxw7gE&D2BncVVRer}m$?p`47h8<`kX_tZVx;GMO(}(!ia=~ z&?#4Gh12>?!li%*@9M$4=BHj^94PcP}87BzvkPfR-Dt)(D47$xbBj6s7|R-ZH= zxSwvJ;Q#tWGEfJ;j4sf-3-7WD01uIrP@{XES??AxlT~DgQ%Cldl0GavhVu(RBgn8J z9QLCg2=nv(2<0ojmU#q_=P^@sb=5|GK`6DjRv`BUh&ecXJ<+L4?y;R!I=FqimNbuB zHlAsG@{xTh2W(E+H~(ZYwhFD{horUix};&1b$t^V_?l%s1~7y(f;wTJ0UPhW?IGSd z1%qAupN*Myl9@I#``!ar0T$sSL9fkj_kvVfXPMlEH%oM57IYh^$A*-I2>mAjUYnJu zfV!&$T1yb|_u3EwEVUo(2O;u(Di?yv%YV_yQj;n{|={sFta2&DN?5HhJkPaGPZxxSWt$yA2n|3JfTt# z9RHXap-HXF*7V>j4N%YUl2Vzf%ZJct3u|wafBSa#H=)v2ENBnf7w~EBIfrKLPK5Ro zI!g_5?H4>#NcgmyIuE(uP{jRuF%FZq85ziu8!=7m_z4USZ`z3xnvf((45p;=c*w7U zzRtF2l%aA2prh<}&J$4QqTP~6goWh0DGU0{py)fIp~56NDU*`Yp++d>Hp{4pVmr7f z=~ zMVdeyt?&x?L$;=tOU(NiS~_d3kp#C2h1geha0UbpQ2dL+233%xP6sZEwtzf}9ii-2 zh9f}*6;G_JAaIjz*cAsPQJ9#M_~>g;LD;E5f4UB1qXLre~^!Z#;U^Xo0<4Kbm|{k6E#|GC?bgS zUSb5XB}#`iRA54>^p1FvYKOc;n#^>HR6aDYigXijT2PP;D2qzLC{zyGBU3;0DDBCb z0C+Tyq=m}GVTW{OFpHE-eh77MaOZ|Qg$;7o{-ycFRkRj;zhvR)$#d*$%NIy-H` ztuahe0h>5tcv zU@Etqh+Shv8+q$Bskh{ALaB+6ujZv{pIk|j!l=@oy`%0hf+qTQ0>)*|z z@MXFYSyF);4=0zV$WWhc69di7FXP~q#IstLd7ov0pTN@MHM$X0JZKZEj8}h7Vka}cbIR0N^oXqR)_Fqb10tf z$%d3O#&ckZId+8$!Az02A&EsSzi>aE>TdKexy;X}vFt&V`{;85lrBDjpgV8*Frd4- z^4cB9*yz!|F~SEpyaf@UJ74+H!u3`KC5>Y%nI-N_QLG)MeVA4CJ7^&fY;Zx!rqLeSknf-t? z?c$$I^{?N6dnSS3rq??rRPWLoaMwM~Y=oT80A8Pi{ujeyV!}_XGsaL~;=B|vbc@K6?lnAv zgvD*s^jh30;4S5QF@Q_+z-i61LM<>W3KNm0BSIDc?5~^2Qy%np+!9!Q5Asr+d@T)A zmilw}s#nf%=KOIa3khPfFae3rYbYflkARh9#}wRWmB+UrFrfnSJIFbc z{kOf|t!;>qC&LQ`>Zn%dHEQUi_`X-P40(~K^Y35iY>H=db6K2%0`L0YT`yJVOY4l8 z=H5*J{g%ur`|s|TCLQ^23yaH&%rWzIhMLCB=5+hEL0j%^4rZQX*7ku1kIon0c8`xU z>s5LJhvoa#z2!mM^1E08|J%)eSOPvXFqVL2u|I*DpNxq3)rfrdK0F=k{n{Y;cFPxO z{MT)RXNON7kqpM3`W!XI zI&ulwZ<%!~kC~F!^11>a7u~ep!w|+)k>p5PFGRCYs2$zp?~rq!wlV+H%{cz6n}IO> z_b!eG@MDJA=Yab$!<;lP$W7i63oPg~XHJqOdabXm5^(Thix=C;n~laF@V%YG3KUYs zB%UfLk_aJz2>|6t<-3XHH;fJs9vn}LNaB>JP|O;mlf%JcP!luB3e`n*<-Lm5o$XP} zvSpanNjwkooJX`pbTcxL{I#b02jpLUfLzq>n#EQJTJXm)}p*K1wA>opCd)R?%i8n-1sU04(6nHfe5eW=6$f?C5 zpJ4yRr=n&8@}-N?JvnWERC0@EtTUh*jd9%2@H%M#_&cnYJ6IOYFTNZs-Axi3oE0Yu zpidq++TW4i<)GNK(=3`zlA(Ja$G`=JWD~ABZOhjV%2jD(x67>RpAuDdEq*+oN)H;G z8$j8a3`$#GWZ(7agp^WUFhPL)<+e}H!gy^9t{K=yvYl%Gxo3}b6*-Z^b$fSlcIUj7 zZVtP6KEdKqky5Z(L>*~o#A&C9G!nN1NO}WXufDCu7DW_qsiU>uzm!{S(nqYFeLbyV zmIu0EY(Rb+%LB-JiXh1DB^j7h&y1Q)khSr+;hfWMG&93Drrah-B2<6vObB>XS>4-W z(rLT2aHzEAkNEu?kci#%JH;EXn80@AB&;Zjxp|U)wfJ$ zJ>?yaveGxuo@X2=3LEY;Y(L|d)MTZuq0o+VK6Vl%(@Zl%B`5=6Crp|*lZRkMV}Yn$ zGwGP5^smQ@G`61p%&_{glYzGb(lw$bK^hrAmD>O8P+OlnI|#cULguw;aW`IP1t#Qq z*OKP{Wr;yTfn!xj<02y)T+9r14Yp!uN{b*v?=SVysxm~01@@E&`xg!F6&MrD?#3Y$ zsVia9;CYJ}SN%FofbxTTV$}8d-O8b(0X7ERRu02k97u-7ur zns9}qr74otgyA}RVp38Y?31}hguoO++tOm~T5>2|H1Kao|GNT6pu|fi%~L0-cF>d%7Ej(ZA1Sh+q_FB&&IO6 zqdLdCDfS!9JhfR%is4uUz^?gJ#3UGrzkXMcE{MaH78s`W=eFj?E+YETXpZIiM`B4} zoz%lALRjv?QQeePHuS)!7HfkVI}9T5D}aB-Ymqy2#gqn8prI%TC0cDsQV|uev&T~^da*pN2L9^(fO8O* zU?Sh8eqnF!o+!rGcZD`jQ)qB*8TGr%i1bD8vk>lwGLbx^yGV?@@0!XWsK4s2tjjX{ z-=Xr8XEh9l2F#H->q86Bly%Ac@zUD=Wl1CMM?|pvFvzn`8jN zR>Hfk+5T}hk`=Bb^IKv4@$=dIbc?NZ-#5BmJUFzydrw#TE8>La9!bdWF+;o{8650nsUdwS60{~9!Q#nckT|Krk0Xvn z*wbbCIa}*?Erv@6W588KrBewF5M$?hq1(Q`+2mzRE=gw#?>6Wu26DXYm zc-VQh)d&F~csg)b4yyZIRb-&0`h2W}{0)d!{EACu@}1g}Q6<$;@zwnZW9+@o5i+X?42^@fUJ!|3qxoq4h}iyTg8pt2g!Qv^dC(4mx2b07VI(p~Ac;g)gdRtN9D!*8a)!E)!CYk6Ny5jbGc-6C#4tI=3lGv4 zs2I``2fsh6*1=<}d;=iBX#?mu-v32OHAH5M48~i6Op@hDV~9_1bZHwaZMbjG*DA-Qw+;H+k_2y zDWyi}#*xqtIXuL_C4=yWek0x(y$2FGeF`r-Oi;e4)S579F{KApAt1JGQ+mWe;Y5HZ zkR=)c4zAm;9Ww8I6xX=M>cq_I>heiE?T%A2UkZT-Sgb~R1#0dF1HcO)zOX z;>!(1E}w<%-m+i6XsK+;L->{H`GEcgJG0-wJ>u^|FGqqAys*VkZ1c~vJdyf--LL_; zBG8SN2u~#NB)r1G)=^SpekSucQIr8Y?jyW(NG&Aq*u!4)+<9TLv*fx45TZ&1bP&o+ zsD#J?(MU=ylp=lV;4%-Xrd%2X#3sYZq)kEG30aEs z=fZGdE2d&7-K`5fi;s8XY_-Scp7F8C;YtDceVm`yEy9<6#Ocz%E<(O{Hskdbavev9hACucm0FDU%WMtfZwTs^G=MAB4Y zW(Eg!1{UAjOn3Lhsuc>oDp^>!S+l8Iomg(FMd;o{Qe(~VNAJVja;=rROKrpSPO zkB=lTo(USbKe!Qxaq2@}Vdo=~X+@Ls*+-4MZXh8i-}(@8_vqb3+Y&M-65oobWkIg2 zb8YU!m=IUuif<(r-Sj%rXr#G2F&UwcCMx z8tI|~6brsaDCsPfLVA_DO@r;hphmh;`+0q`i=fC&2TVet1T&F@``Px@ljUa-N*r8j zPZk}rETdi&axil|H1Rul`Rj4<)EMk#%Y+h~PpVW;4Gy=;VNY!}8lAL& zbDzW*crVv_ksJ3TC--3kAkW{Ty~ZUwawf^-5!P}tWK&2`{fzuA30yzw$XXGINU!3Fo>zPO7-t9ip-MIvsPu*9THy&G5D zt|dGZ`M}3c9ZYl;!i->GGq|lR zI8$(w0gq^-XJWn99*Ex`QJV}9DsXVVP6L7Cc+k(~xO`mYfJ^1zCE3GX$pdKY z<3UttHv!3aVAtf2Nf)+LwbQF7U_&}P51GER7s4f^{Q}E3J=1bTx*jigrj5>M^Md0c ztm?Gm(Kuw(1_lg%pfQDB<)1gmtj3qEmx9@hC%Wgw9K4k z)h#mx0DQd;zz?9UO!5O@>~%Wqn_nJf%|_)ix}C0wAf+uycQqrJQj_t7uy#^AypNw? zDT#n~+qgNp12NTrkRK8&iS!CaFGvvmz}?xfEx$&$vE*1cx5IC5yf~Y@AC)qMNt|yY zIeU!wWZ;jYo?|HOb^U1&Mz9+x;*g_Ip`U?eU3Gwce?$;^W$o5mT2)S-n`*}N9T)R5{K+MTBi9|QhD5Ps=(4@;g|HpMcoj9@wxRakd za6|Xi(-5r%@T^KgPETiE&sZEYH+G0i7qCT{1oTTv4p1tSG30Ingp&yOKo z5Hr<1Qj0BQC1rMD?~w3*d~nmCA=3S(;bmorU|(mfiSP%0uV3my3z#pT9PY*Kx6*B& z4-217vdVAoPg#c(*a0D|FCMLk&PiI`jkE0=Gug83x6CXtT5;X3s+R(tvP!!Gp17#3 zs95a9O>j%R?4S8|dmWrUbzAklBY4e=EVJ%&iYaSAg`S|tEu6V{hqEt3(yDV77a=y2 zF+O5_%ETp%?!C`E2b@y}Yl=9rthCt%9WgyM2nF>zWUXf!b+J7` zTZFQ$Hrdlah!MtU9ge7A#8sYA@V=0DqrAXx0?T{eT2xHvl z-Eic_O~0Re-^oF1+9q)Qkvved_9J()d}YVptm35y=KBx!Yh~1+g-%nJ8v)x!UoOpv)MGIlD2SNTg|q z8;gC?l|~3>0Lr?w1uK_l(oLwhRm87JLvs9uu~?5mRmjQ5!t(@%HfHg zv@ewQ0djRYr|NHKks(&Cy~G@Yc_Wo4Bx*?Wov7?kklGO^+iUAIU-9dka96Ipt&v5E z!zOEZ*+XWO8LnS~2`z@f=Q&=(uBU;ELZFX`Yzoi?yS`7{AoSBupo2cj0jVMkg7Evo|a{>VElO|2Ip^qzG8>dZLp;$CbS zK*e((Lwem`HY0^fY8IBy4a1F$M@-b@S9_SHPoi-}(Rv0T5hm=u0h{red((-Z9oTUCQH(=-4Iz1^gFuPc=2`dZ@Rp z!WLBFA|`Fgw#N2{maH`x<-!3Q$6JHI4tC?aEpSkwH-LghD8fpl*Fbe3^>)>i?+!9f z=Kzr{MnEqsnsQsBKXJ5f8vTp?)zyjR4LXBXC$yI{NtSX}QYIAOV=zwE(!{QW8#ZBv z`jff!V20vA(Nq`D{zdE!-ff!2vY z=o7MUo2>?Rmxza$?UmyHMV#IIZ97Njq5=&@zUUi2t=%GzMk@;y|5Wr(`kW(l#TN+v z>9^r<>e62}{8=Z!@;tVRQXl&IH5__rQ1XcmMpTDSeTJ=>dTqfDRk>^`G%-O40KPUr1Atb2!aA|-c2ZsLo5OIv%j(MHi3e5 zZNXWR^_$=cqN-BPm`)fb(1^kg!~Sh9+OCvjIjK{pMS3;!(21T~WVSx{v=ZHm zjK}Vfxu9=L*%vP?g5O0}^}s#o)MaTtc~$=p_dm>_mYFs*p@{?^Wk&jCJ*9DWZm~Ef z7{{4!NhAPJbzV@&uiA-L*^XGOYU+6Bak&FgaB+N#%U@5IGc+Gb=(iJP0-S?*6MC#b zGMyGMr@fG2A%7f+gd0B{894DJGmbd9Dp1bwi z+!^0r0KA!?uma@Y{!*6H;y1z+o4!9e%V62%Y!T869CJ}uT*Bg@D69}oU8UZ}&u7)# zW1w$Ya~=8?!g^RW8sVR6Uob9rpVVFh{cj6#{|6Hb%F6n`=3V3e`;;;k*2)t@OeeC1_ZgIu$&lc7MZg*sPwp`> zCXCMPdMuMDdV|&Fr1p2*pf*x(4) zCExEPQjDqLK+!@t9i!-=D3Uk2-GZr6VgUdInBM_|N{_;$j!9qenhd`wjVBN7&@EBp z(I@d|oUviK$h)DnCzi+`pR%$a`{gZkNe3rm{t|agADzsT?1Gr#YdwCn{O4tzCuO!6yRd z(C$gG$O8|m<^^uik~MM|7>BFMG?dV*(s|8(c^TP9_#}IGuJP^@JESUPsGHf0`HA*q zDo%Ytd4f@U1I%2~>{UJb%?1$et&^AY77kum&?0Jwx#(GLoN59$SYU}rLNb`!yuM#KL)tI3FkEef(jeZQJSCwr$&} z*h$Ap$F^Mor00kT6iJe=x4K*EA!B)UwxasK+knuYuKCFv~RK3)@`1<=+^p0^sEn zTuo)PzpiHC)IB!4n6~p+)0vQ50g{YDhT__XZokzzIjTB6hJe*zsb@D(eWbZ~_R-DU zzW3$>3l-6EK4I~{5~q6D%kL6Rdp3VJQ5<=L0VgZFRIl|Rdr@MHEc`N;(TF^d6nT7e znSTCRg+k1@+JP2pEg7{ac3r^B0nR8fYshO6J~A^Eg;;Z6iA}xgkouhdBvKf-i5<_? z+O1`>1oO>S^9@g`dyFUu#^foLaq}Q@kF2JD`m~&FgKp+&iiXaGZ{`*Ir{Y3LG6J*w z70MEpIGzW;_pcA2!9`#-_b`$r$d4B~UWTBOt}tA&P5chv`}5r;0>+n@1n8!p!4Ihc zYBxPp`D4-;tu+*Aps@=06NSzl8m4@5k&_Z05XF8;SV>6+)AxZ!RSXfJoFT1{3b)z+ zi-ZHLm0dw)qJO3ro~I@&cKgTxfuAi%q$}YlC$O4J!HTS48*WnXbT!lGZx88a-@Z+>J!=vvHpYI9gWQOlP{mrC*rd#1F$CmntP0rpL<$af>UTe^;GgI&rm zT>d0Qt2>zvTA!ztAPE@500I;hPsC@0k=;Ze&;ZW40?U6mH|B5q8lDaJPrp1_L_Xab zTkd}s>WOoIAQ%#HqYIsj2@v|7<}IyKy!X=dQ(1hKp7WpurFX1--~z`g{hEn-WZ`wr zXw^G2Le?iu$CCD*0$xpimQq+Gw)%pVTXLQF->I55RRMwy!oix>KlfvOOHtMPxt5^$ z&DP!)(pPUcqXMqr7lQNBxPRyA}RYK^S~!=wmTpdYR=0M z2l8e%L_7nBniP#uaj1M(5?aX16x78vm~wWlfEbj(icdabL}87^s-c0%D3McM#%W8;$h~!fqrZmi*Q5}@YE9m0m z8W|uiUU8uU&tk+kaqgx|llgo>dPA|j_2fwq7~r!TX=aOlf}oe)?}PXQWx z5PkP*`ex?Jl9hu}bNl;j*put+7ruV1L|jCFYhUqBKVtwYpdHstna8<$c|?EO%!geK z0zSQ{p_kiVvRm10olUF0s$0JDX9j8J(L_Z{I34B1A)}iiAQ|1hlMI_XcPZgR0z>)A zQ*A}-$v920SIm?g$vIG|h>zy~yRgZRI@I(qX8x{Ao6c6QIO708pY_c7+a^!> zyvN35Uw47bYb8~^dnm&+DQ$c+{8!0vgBO=%t{8?qfZza?iz`r*tV#(BWrRKKj25k> zXhPcH=Y#7AF`NlXOlU1P<%_4^wL%hnF= zKb(3JLz7h-pLV=9rL;_`Ei zs1>zApx-u{x%xfb#Xx`u3ZtQl_t|zwbSx;0ZhJeb4pB*24)B~ZiJ)k1TG>Xpz58pc zKX^@172mnFZ?buk0q)+bKYD@eIqsPX z(zRd;@Wv{uD(1!1U)Q>HeM(?Myca&JIx!6&S~Op^Y$Sr++4y;9SR^vc(bv}eCE%Ct z%Ik?JB1d$Q%0o1cJ|8nPFDeZf9JX_R1O4%2QI`6cFZ{=Q1X%xlYJiFP(50{xMTxR< zm4BpRlyN%3k<^K2G}iQB^kKc7%#<3lrm(x&jsJpT17l%6aws9)Xv`? z*{z1K_5rc|SbYY`5WIjE_0fP$;B_i89_l&_%-t}`hUM#=Ws5BLkxKY}F=BWn5c6s0 zV}kpS5j&i=cQ=3t$0$g!ve1wVbLOz9&;KU*&c1|2xK_#!Y zT>_D$C17nh%MsB`i^-*i^o2ME@aV=sv%^AR>`98r66jRhDqp)MAPVt7cioHjM|mo< za!C*$z=b9BT5Jrk6jF)cnMbZ8977v)Yn6w>pmDxS9V5k*#`Ca@KbR^~;tVX7T(fsL z0o8LviXh2gXm8oD@i}197r=R3O(5#8a>}cSr6k)we-1z*5{2zTf*n}+TYgH6Mv4W; z*7_8ds+lH(LB3>A!&+0C*Bv?sAmpqZ zx;%-lus74}TE1bbcd}UqZ52xRnKIwp){Zp)L}-J^ZH0qHRoRzkW4CXu!~z-vF3^r; zKZ&thjtjG&BC8YR&&wMWss)PgPC8hmUea!77ZzK@g=x=UvZu~JhZj;5uWmzHmmhk< z`hN!_pooKOzZiwXgeKB(cGB3$F{2&rhGKQJ>cB({LZ^*ewv?2avnK|y#AL!fBAHX^GaWUpw_j31o zxjmjOyjCKs+#Oymkz++NC%IM)r5A6@UW?T&1j^^d(pV(O17TYb-E+bX0fGa+&N5=$ zolfEx;0Az+cHl{rdxQs1*YW*7Rzs2b{P4qa7{OrUpLi7W*uT8Te&thwleJ1Lt0*0$ z<)mDJ0KG+vR|4RnWT0%Tj08PSK$Mwr1I7#?mq8qU55n_o9uA*OG7b?=I-HNbUvfR6 z?kudX*7HjITbtk*eHW7C0_1P{LrPAu5(O>}H$_M7_=}_gbo$24SWtNE*#+S1URm_A zc1v;_UL)?}FYQWMLk=_KZ}>c?DOB-phipm<;aicysAzkt_reUDCq#pA2g+Y1K3xfM zYfuu&sxe~)XB(cDW(6V3by4ry=oTDpo?#E0->&n%@bJ&IC|SL40SxKnF-+tnLge|< z9K5PD$ugU9#Hn?;hPFw8GW^I4kG3Z?v+fKBf`V$boD1ta9&q{;Pq}$+g^j=_D(K9G zk$+)QzV2hNV8ke3e&1cA34qqjT-7D9A_R@#OTps-r3OyL8Z~xiNRVa)*tY5Z<1wPT zI-MV#=GpYjEiLCP1)ROzX?gcWZn5k=7>Wk2uvAB|?EO+_>ZKQY=7)W0=cr>5?>_HL zJ>48&l`m4Nwz!Ju3+ZPIj#J_z58@$?x{9m|qN47R5-l8aLgp8H<09>fx7t(*cKPrd zwIPe;EqLOu?bR<`opg)?tF6q0S#0Vt@6C`|=vDyPE^*Ji0{G1XL*gmE9o(a>cjPsT zmgm6!8+yc?ax9R`RE7NbJ0KCCCx0gaTXQYFmBUFL@!R2^qK2K|p=Z1_n1YhaQ~}ld z5RxEiK#c%Um|`L0!ArH_O21oogbx+*Ghoh27Z^YHQ9g2XIL!pbXzu2tLdA8tZ>Hk-34n$A zbbPn@Xy!&507Pe}(jCS>^@c_^W_RurF9_2k4>SY<$Q?k9EXjF4qQTk*cjEGkZ}EoF zzX~f@o-Me!_JJz7ro8*eqEPH}jtIjCl_kaLz<$1a14X~OwEg@v9D6!nOS_E95Ky5( zu9x|iE8BwO#ykP&C$m#Q!AR+${!{GJzNa^Ny6V|CkzRwNF0!BbWv4~&{Ouh19=t`CR2`ie5*8Ac#BTcXc3^VOt z8Zb4WT66LT;DfgHPTQ0mfIRt3I$0o>0F?A+amJQUD1Tj=Mm0fqQa---rdV`*c`y#& zjXaWK*6((6P{!ou@8EXY_~_cWSLLVrSMNoDp}-E<$SkIpH85qa zMUnw3i03M4EGHPXbocOrssHb8@(fXvrd>CoZcFqZ;ggC1DTR(WBrl+usXnDnl;?JSN+H>jv6o?-$8e|s-^>>Tj&__p* z4aKl%JCGxcVwplnxxxgCDVu~rl2F9hbd@WDC%KiGC;wrL6rMy|L>X;=D2Dj=4?Q~% zVr-#aLrpsi{k5Z_vXjI+rZVx35Oxzlf+Cv@F8uQMnXSg0wg~xVCeZDW2>AVOI|p-; z0JvCC+6`)qc61f!n@kLX;~wp+zlD~0NML+U^Nm``n>TKNAsO{$1)+FUU@W`uL*aIo zxVyhMuAAW7960IgV&d*X4yGb8=#mcRNu-CLF^eC@I)*CA4n}!Su%zubBv%;#4KK_( z3jze=;8wkB5KeGjV6YBffeJ-;fHZ4 zfH#C_z_S(@B7$*cB3zxNvtw?Fnv6JDI`^6NHL55EQd>i;OASY9G-4M_%s) zLsEb-v7@WVy=_zOLmp-#_a(+Vmcv9qTI{rG`Vl zU&^%+Q$H+UpHi!C)kR@ImcVFt+c;PNYo-{mb41{Bz6GDeTqM+f_g%?PN|8Hr> z<0o)u1c79V3tCA_)Z|G=SF5!x7%lC#Xf;d4DI7ggXc$_aFA};eyRxgB6iT&@C#Z@J zdOO5s^kS@napTX1HGKtOHh7?D!kCXr7Pvm%#aHMC5-dtlTm9Gy1-v?<9zHoJI*nu$ z1tKx9j%1V#I1ZS!%H75?VbO=I!hMuO>o8q7doMN*3DSXfQSXU$(xAcQ-vhh;P-Le} zift^*a|8W;YF$FhM_Xuv){Eao5yd2@T?pvk;Ff`{i-OR%(@%iCj`?gpfv0OWjq1nNC6AX4}RI}Uyuy%aMJ2IZYwvORp=s*GJN~N}Tp>^BV4a`w(Mk$RM;jAskNpP>wC*Pk2_JlZG^>8xS;L z<}{(7ps)X4B7ZEY#Tx&AgjfQ|vhFscpG^YAYMvCQ%}q~{P##YMsbH$EjC_LsCxX~S zs@Yn30_E1&-qasf3vn`SQL+vkzl^xAu4D?9RT}bwGd>hJ84N3GX4Kn#>JEvd+_kQ_ zQCTe4%pr(w)99j^2@?NweThw+sx~m2(iM){UuFQYhPY9T?hcFCFa6QvyoNY>8Vj>) zxVT>m5(47?kzee)^EFv9rc(>we^S=^OD`e}jpQC0wc29HRFHx;QYDi9ZbgIuy=xHG zU4l))FZ2Be4t&ZWsWx||$r%aC`@s<5**G@T#g?1nE_2`vGKho7a$05ck-MS% z29zgK-R0XwQGV+Rlzxq1KYOTYs~&YYBf^*s!}h5iGu8`RttO#&ci&GlY90#Es;0b- z7)1liiv1m3qpPmC^vP-I41$e5an%1KU_ShL1^Ol4CW)c;j20Snz?oDzI=;f#`kOOX zucU;T^OV$Hc_D}^o`f7oocx`7UYAhrF97Hn?od?%MtOkjvCKbvwzA2-OdQA|h`#=7 zl9OcoS+ih;r+PPs!zO@QS8U5HsjC07l^!a#nZt*I0T*v&a)>$8`3EG|fHRl$gNb>a z2bND(Jte6&|Dl3oj1nov7?~pmpa4xtCMVyM`!18}ym zdPO}Z1C$Zu%iO2=JU+OZM9YVRBHh>GBvXO+@B|l~RhI~u%PtlHGXFLK)?9x;B+$Jh z*`=e_8ONf$usLeywIIS?>C)|NUmYG@)L-e0jE4L<{J6dH%kwSo>d_==^{{&x!GX#X zcoM~pt&*P&p}ftZ)UBiWsbEyS0NIB^K!JYHeYY8D<4J%=a(ax%d!?QJETV@j9#Vz=1$PihRT5t3C4zoxSoL&*zZbJjCKeCS`hpJ&+=CgZC=i)N`OZP zah2kfEq0y5Ad3eD8q!{=ZJ)Ct_}FbAd>&ECP1E0ze=V{4bbe*!!1Q2(p||?o!R-C> zZ6?+MoZa`r)0gK$h0fO(fPtR~bz-UJyNOoWXePq;>&DUgy?vEWcDquX!((C`j}x)= zJxWPj@ch*S%13EIh*K-9lDF2=Gs*lTB>sMgm7Ahe^y&9!CBC8mJ?=2JUmGdUg_l|1 z-0Iq#n>JI{g|acqBePd0cvYD6^6^Pn^(|UT(qup zfl}ko3lxv^c0Tu@L}oh#gjl1A3tK-7!b3e2F3YlJj-c|Qz)R7|!YIRmm&m_~v~4Rq zD9U>rW#7glzyqPEeM#|CDhcoE-lPR!N&11_1;7U$*Hf zm0ESUmw`6q~ofLq|!iw9eN8M9XIj&MXLm>Go6<5engT!EC1(9PtG+m!Z9#{ zyo3XTMC~>-zNKl=VgC``E*dlr6*1D$?LI{t4CV7#Rm4d0#jOh7*)2o%s948L!NnvZ z@PF4hLGAC=e@mHc(VTw)t09O_TA?SI5xb6hq7=FcD>Af>4^PeyHll(A2xIcNL1@MO zuIwEhBmMBcZ%Bqiu?W|bft7-a&=jjylZGrESVj(p_vdgJJ`k+2Xs~F1p@O^SBc3e` zb}U*q_F4A1eB0!z^ouj$rV1LeLX)9Km?DjDiW`d}9QH}#Mnt0kOzx?6jkwRcbSNI6 z4O?I`6ISvLqk8Mqe?Nd*WraDEV1sejJ&zapx@u>LJ9Y}?H=2hCl=1SrBNvTz^e zIN&TM>`TPVqT<;c`as&EBprKmD)M>NRM2OjAO3<=~QxI1a%xo~5QM0|C^QQTkv)B?Il>pHyBI~h?(AW8!c ztB$rWo;1l2k-QiCrC%y$<`vC2jKm3v9yx%!WR??o*vR)FM-5AdWEC+EYe7t#Y{9q_ z_?Xgu$hP}VM2`q*rHg=RG+lBZ$?a7G%ZQq1s&|)>UX`dxP*|qbJ=36kL~M28>jkGr#s4dy);Uei5V@wC4@J6h=sB@!zLdosyQww8O3Fi5(eT*qY|Pf zL2P&hy=l{!_Ai}EMIXBgy(ro9I($R(Mz|#xsiVfw#EiJUYyZch4yKaQe76EcT}9OL z#Zn`%?!{D*s0NLrkvQU0Ky%;E4HIA=xUN~t_ALWQq&&JlXtX6Qe?0Ye$|AtSmP=m% zb%cATQbAGMD0l8j3FjipA_^q0nnE^#lr;2t#}BNdsRtF-3mX7YCzHJRh1`Y)^5;n~ zBw$N!L5PG#CI{^=Q_-0P$V(`Gsuj2z1bz@MrDYdoIXK7T5}wt3iiL>&&@hLGX0sx^)+!f-j$ z{})Vnc!>d?#WDfH9%)`hn8^M){$`L!v;eE)b7;F_Fak(If+P(K+{AWb+J4=IW&m_t z-P4O_8ikC`s zyAhPkm#U2jHcE_Y;X2aWsew6`VmMe3^R0u!hRtQFxp#*?#8%iIgtQOD*=TF`w|H{s zowJRO%!ntzqJ1IEaww1c;><6n7GB+PsdGC~X-+uqV5htmFteQ_w=N9yU@V(->ryZ2 zE1>a$n(SWP4jcpH9)j2@G?BM%KKBW5I@+IKdN>^|u}Ir{x`SMsDXrzT+_lBSQ8Q@t z3DXZi(hFWi|3$n)&lQ}HrRqyC111Lcq+~zKF3C6(5!PTZ-ZKZI6Bjhd9fooyCRn*> z1Va56wuy8xAH=ctT=Lx~`zT(RFCg!YxTMP88|dUI+bTg`546Vv>@P>`dI}gI*j9}! zQ_VSPL~OpQS-XT;z^M1*(9{sg8M(J0c_$aWh#L=b^WS&PnYOe2x8GTEuDNK<#d5d zp!|Kcfdk>pRIpG!(5PJ;Q#qV~r<`N_e0cCID;3ItG*b*@9EziybUDAa#EnPSy#nPU zlT$f*EV0wy`^&7)ejQtF?O&f~uS0%q3W>RXzTQt0!!-gm%Tt8^NVM1=*SDYU>U85) ze+)T~7iXi7$p#AH8J+p7Cuf9f;T+aa7nb{xaOi4ycxRpd+&F|k8IXndmRxW4Sr-epd34^CFg8x?n)AAfZ z&_OwwSpQEN{zt}TT@oqa<^u-5xWdeR8*wL5?oyhjWyQvwF^;x4AVv*#K!_yrzie-F zhc3N#PMHWR^uCg2{uiTCSKoUt@$7 zrn2pEwezB*JNI7NN0lV)xxO*!e+NO-jsLqnBk z)<)oQ+X~`4;$Vk+5w^|$F^J{T3Ojx9rguw!Ba3gIo=S8(VnfsPgT1ekbl`8r)N$5* zp8dZ982!HjxE^t_b}n+)R89dsdUvm4{#dbPx=T%SQ5w(k7mJ`^)#r?*a$ZXtP&}S4 ziCj9GOcinlm$btYZyo>g(lmcl7kOu#`6W ztiB>O;Q9fv#Ea&;RUDbfe+W5T{-?3}jA?bZa*kfh#1a?*cy>XxP74cU9SA*uae0c>Kd z9;`=W@lQ)xaQi|tE?Q7ZCb34q8}4WBj!SG9R0<&y=}N?U$WI?Og#}#McQZ#Y;S0MJ zZlN?2!iO*^3Wu>H!cLCnlL^D^Cx@F6Mm1={7zk0!#h1>9&gw+Q zqM{2hs-I15y(OdHp9AjFuLpqQ50mTqBv{$V@phLJ6yccVgM&a+D}uMJ3**H@vid_g ze9mGbd9s%n41`l9PyD;LdaRnYL`Y_EnEfwNZQ(FbaA~rHNQNW0i+W>!*tYv4fSAm* zCvHu2Q*faJBC9S+npMPYrM?=o+Q**tuigfh%A^W~tZKfcLcqnemA9iQn~^+X9M_^` zi6Qb+u?Y9cga{H8rKBPBByn}Kl%Y>?jN(wrYS3JAUR^{wT3*g|QlJfWJRhPdRGDrD zLJ~6FYjaF0y`2K86!M}%iO?>ReOCINx;!M?yMyzPptf_S**yRh3sb=vS7Ch^)qxRa zxFD%1)rym{4A4EA9&jBsL18j*HpGh++#+Yf5yDK2JOcU}KPMw}g*Q^(YRY9IO#%_= z&Sa`D&uA9w5vq^!#-EvanIi;Tw2INUFlIuTu)^_jjArt*s)B|+k#WgfihgB?m}+Da zRtJevhCLQr5>Xz=&7#SY#Sf|nW-_>T@9e#1(^VPV4LBpAm(jTX?MS)4`8TP}2G_?W zir8n%RKUS(wPUx9szR3zc2wk zfu#4F-e|z&C*9XF+UxXLs7TbxM@G*AXT-W z9-2$E@%?@@v-0ZiYywjIl=-XqTIx0`L~CZLZFab2$7+i|Kk^*=h`V>95Gdu46z+xs zzmYmuGHCU0m06y02li$TGuv^E(Q(e(8j6>P7{>i6$;a<$z*@j) zX$kWn7@+JN97#?w)Iavwq>cYM@^7i87wL9>Z)P-Qax9ccT{eZwQ53HJGZ|^&NbTCV zs%4~7ZYfGJYtKxgMgar99fX_%qem91m0&C_By=beg3u`j%V3B%)MP0t9+K@F!rKy0 z3V$q!7?n*wwL{4~_3xIAa%+heP}m`|hga7PYVlulK0opXq+K4=#}aI{#%*7jNEcK^ z*d6|Jj-;7<eqM? zcQ_IAWR%tim1|`jgvqgQn8M?k#5IeVjMT?(Zaj}3KBkScrEk*@e+6YjD6egCyC+w{j$UP z&uVT9Z8>EsmFAolDKp+2`BDw{9YWJK%!c1k_xRv>q9^jyQXvy;2~`KRu_(k6rqr){ zvVcUj-zDE~e$w?Q?HH0ahtnkQ^;Z}@Qx5l*yHo1A2Y~YiC#!EQ5X;q* z^UA6LhaPM8`qf&!MTJ@|TR{^*#kL01*ID0_pn{X)>>tS)J^1romcV7C(dbH=SQ|6O z(~oO(*LjqnR<#LDC_4BrXS2g33eh!K{v?UMv1SjNMcgq~)S#vV=oQg&zUJ`DL~P6J zY^s~dds_}$#Viw24^FKNL{W)QFp;g`eToHuq9}j)`!#<*jXMjCydvUs#ru$JBBt&@ z(!@7=@kFdL2wv;?k;>8Fs41(J z%2R_@f5n-L?920vcuc_uL;f7g&D~gcu>#9~EAwr`-x@iSL5{M|q%8CRmoyskblUO& z)Y9yBO1(OIAwk+KpCKvF&ae3Ax_0KExnBNi3m`h~MkD}nK?M*k<}&igf-R3qs zAT0XG8uYEMR=hYJL=m>C-7PdHTF9FL#zg>tboB57qcYvZkj8`}G)M;)m4pWk{=n(@0=>B$l`~UCZGBkSlAF zIK|3~_;kVCDSB0*jZ%;z;!rZbiUH@Ty_b_Rs2pAOzs`rgGlCOT)JQA02z9_@oENUF z0$VOA3=)^80r)C5oiygvb@w5l=t#8Ps=j&bDIZizp`|KJZOm9W&}3kXlEUv)Ap_I6 zGd?(|_TZ@*#QpRX;;;ALQP|Od#OZ!Dz>F8*P9S3toM`x|{to?EP%wFa^lcW~HR~q8 zurb_~aNcue=|yoROPEKtLF_I*Ss|)vo8O&NcPg96>%l`7{UNe(iBCtpGb^mFdcz4) zn*56W*^wX>FCJm3E^-oq#=_3_>294LY(~#w8&S;=Q%n@JqV+KJYcmj_fkYmaJ$!+# z7AP`dL)t5$R#tvq27_~r3u902YMbN(y#tx~O*l}ib^rAvTSNH;Igpl$Xzq&;8^H8W zD`qx;c<=6kZUT@Rw>t@hA1t+_dD`8_4i7zKMtPN)d?L_z3b9SXdq4Fc~uq3prLeCc63ZHE_MsX0W~W^T|Lht?h`c4}Ao<|utEJ)q+JivrETimm!U_#$ zk@my{nMH2*X+-5tALG?$$ucgfc}u#d=Jt_;o0Ai*2A6t%y%V6+1cE9#Fm-8__P=Fy zKow#PuMo-2br||6Ahfcw~zIFl%ae zk>x9|wi&%_&etie_Bj&f(^e@ViOF1|1d+!g-!FJ488i*))|_&|1}`st8+UZoxilfU z+S0pn6#Tg{dFI9>$Ae#K{(s{?B29?g!L?RfH3^joH&1K{p04R-r|c9lSAGC4Q(=NB zNEQByooH<%fMi=t1$BGP1O2Nx8VX^OhsEemayvWMtKY9z9%4g8$fEl&A~CCYTZ-IT zr@9aY2hfpeZ(GIz>@ZxF;N>8w*T>83qQ6 zM#e@jGT9d!GFPr|wnq8PTNstIoZIJn7uj%S>ar3HfHbNWD6Z0)ZAdb7i73h1HEZv9 zg{3qc0;iSQ@Wo=ct)40g_+On8eNtNWBl`mrEAYF5&6Vr=o;z9(q%k(B#_Dgyn#~)n z7HzSRFsnkvMXjt(M5%Tco2o4sU?8gjPJg!x-8Vm2n6r5YbHqu0hL0BXbXSF)hPM&M zsH99tfV|d#VFa*vSR0ZiB0a0IL`2c1?R}GccHJF<@ZOfofL+$d0+h|-Z885E^0s76 z;IQo&?(kw^7q%1>yr@c`DGZlo)(W6TU2Q!$_%n@`?v?~)PcK{jRu%_8k1?q~f1U0f zGm+G<0URNdc8k?%JAOzRWM3EyK>%F~o*5+_fI8M4%a2PJ3O74XvnKT5HxdUCB^*>9 z4h<2=jYCB(0U`!eoiHN>_oX-`JbyIU-Sg8dZDGW9yVIOAaY7sIhS<8Pdv(=_(;*up zm3CDMx#`~U>(nqEY!&2ms*F$#s6H1ebPYZ<4TAm4rj{Et%P?J_k()5q%7#c7b^CGV zdXyS<-ABPAq*2n)VXCdG&goDg>Y1qpllh>iKK16v)$jP0H@G36C~)OZewrH@;gQ&2 zat@@>2I4-qL{u))F6o_kp@?5I>*ow%2^OF+q|Mkhj(woY}vm5r6RVFf%im~7xsm}#8>YU1xRA-h0#fzuiZ-_Kh<0WOw| zx)DT#DNti4h=qh(*1!gnh`cy+KW8MS62q+hETVBjGDzNZC~67e&4ogTLB-W1Vc-Dn z!w7iA(um*`NDi_&RGfd&woRG<`3)>XY=}(DC@eJk8R7=}?N_BIPniW!71B%W%ayG4 z(-^CyqMnU6xcWl5-)e(=i*f`}`SQFFu?=^`Pl&UFZhhiZ?V1Eq-SM!cTWm&osddI}0kHXiuls)T15|C)bSW%P(TFtF`x&&;O(e(HMJWa2d5*b1| zVK$Tpl$0V9@rFf9I0t|Iz|tWASe`cRLF4t?B8DSG!uaj%OoNyB;j~y)&CVO&_(~Wf zuiNs+KVb>MUMI03Fyp`FfE7F-q*;=>GN-V?DYwyD9Z@6iZMogC1D(>D*~@4T_nw{+XlHK z!E8GiavHArP(iWRBjMtpL~+-oc%QC!d&m2X8b1+R*wkLGE|^YHV6n+a5zbVrq6YgH zHyfSC^+md)xrw21->ch{!%y+_JzM{8ECrY!x#%cB+@RxTNTu*^c&7RC)kVT1j0%lJ zycnE;>1yk0fB6gw;KNIh{%<2uM4oPFupzdBSqX~= zXKT>iUtrF(AXzVo9LqH3BK~pzR{H(n`})-iesnh-KKTr5w2xa^AK7b6^C|Fg0D$qo zQl>Q#&J>+9rddKqpuq2>pT+FRMyz@;2Nm+wuoWpM!0FVs6F_N`~6~M^C1?+tRWq0Ob zy@6$&MK6aRAa5qtz@FOo8(Z{7e!Kr0{zF@G$ID1%S#a<$O4_xL2k(JDWxJtev=m?j z!=H00Y;=8u1jsD4IgBBK!>;K=`I(`)MMzCs!@=Nx*8O^u*na#;-RZ`ZY2sliGAyi??lP=G^TwrZ7Ws2=0V ztMBq8cgokm%If*#K_h+5cv<}Pz7@1t`)35JRXol1@SDFtVQOXx5lZz=TQ}Hl6OMX# z^&C`zt0{G*g^^V%@EOomg7+FM2v{gk{0C1mC;5~W~Kk!?Z z7X@AXh;>=TE9PhERZ|#(BFVI$GL(lnOn1B_d#k&HC7RA~GKpH)6IU@S z1!lNECtc>++Gy$u5c^*x%kY`3QysJ#a|SoJ=9qP^6NRnQH5ToQmJk0G{onp-!W0XD zbOb|aPXrktuR!#{cZD!Mg84~0eH|Sxv;{6vk_jKP7Yn(7Zw$3BEFRR48U&-ZiEX;WtS@E>~jVe4dT?U=C;uN3PAdkk|YAcDxONd zJ@J!EDk+2K3c?BZ(370P*nCe;d?kGpATSGBDYXntm%(I#FM$SvqK0=Cf5tptEX%@~ zS6+hT3*bqw*Pf?F{=xH&;h+@N!wWqs0W1Ci@h_t72b%Rw4KW;!M#&Iw;)m^FiRuLg z2+eT;s+aZm5lf_aeWJLE6hS{CIevuK06oMi3a#g<+=2+jtwThQSCzU|WMc%t#7PG0 zsnRaxpt%&3`qUw!dfL>RY%p$dM!x}4Qj#sjl^;Kx7leuzv&AkO97TXIkjq@^yR$?jcL`DWr9 zlVI~;SLSeI*Fxvs5VIfer0$mqcTSx1xc z0~2 z(xt+v;9U?bk`=MQWaP@2}cIe0itFL*)>@(*(dtk4&luQh%9|6Y=4Ga6qhs| z8AU^^?8yT`i1!fe6Eh)+qgAl*p+|K@7H0Brq(BwVCZ?2wl6u^FI*=_@#j7}Ri`7#rmGJl$h-+Pr-;!8wmaMatn0FHTr z7cfySnv&(9>G7n@qJ6L zFxbDijA8OhXi%^|0*+RI zfD5ApYOI4}U5v;{e{OV1K%)}|w<|po$NcL=&93H9q$8{KIEjyWLhq2VBBW=Yb=Gj> zlF`%Ul&nd@L!o8~*QaE~$k|JtlPqfybMF2HGRYMLyr?UMA0z^DIcP$+RK_QTQ0^cR zFa)|4i=;X07&l!NoGy0IhxsC-IEmb=W+|*@F*P=TpC3Ag~R`qaO`uq1yfC1)=165W=#=H z=HNE%zULV7r8xXUB#l)d9_V`2!aU+@rqQn&``E2&-$L$~64Dhmq>QgA1IsPH|9ZYk zkHa7Eqrg!1Lr8hFSD&_L5E!rYb7Zz<3^vQ&Q`r<4pjnbMmI4?Wzq`h({bQ;8k}P;? zmn5~W5YoKzqDrCH9;daudYvlyv_l3ZoRA{K@!$mSBC{5V+HY>}@xL8FHf)l0|BX1# zYw+(b8Qf!DQJA@yp92P@5zo9hLA(j_@EeFdn@j9}e$1cY?f+$k+n$2J{|FlYV{D|U zlYt-rvJerZ`k>-}^U%+M2xW=r3_^|~N96^galyoYz4zqX68)ojlvdX(qnu837~h-9 z+>6(qXb(Z7%7j31>IZ=Z|BKRQ>Odt_)=nfeMNA%=)+Ak`C}m+8|HJM2 zJBPyC5?b<0zg{qTksJssJMr&~^>&C+d%N&2Kx@Px4fy=IUGuEIMItcklMyYF`Bw!g zj2jk#&9z;6zM0;|RtBxA&Ti4?65M!wyOSY?gH6f7cPWVO%M5MD#|QTe;r&BR4NTzH&`WRLfk-va+HiE zK!qZ$4uL&=7|I0eePYX-{8?)+d)>PhOiq~@l)C7=yDl0fQ-<8KwOI*)=HgC!4lWiP z$NCz^#OZuFKvYPsVh~Q55P{UnEEhz6ZW+=D`cL9Pp4Rar6}zcbjTW@l@X8>3V&@_l z8_3KC3zA*cDiC-&73@;519X#VsUA$fufPck;YZdXq9Bg^0Tzj<0$=(o7K~`xpIwSrqCVK=8f7 zMi*uY8W@^bW6_+FvXP0;z+Y28*RQK915!w{7h$k+a>?4i8>-9yV{h{OXzkpY9dQxY zeDKV<9)^vX6*oX7{Cc9jPstc(vevN zGZ}09+YMb5&0q+34*F~RRoB6EIO?^E%F&^UFnvgg^_2wZzG)J zUysVkR>I@E^M42DpU%kC%{Ny0E|p6*;U^-)@0h>SNaQI?zL=N*SM=bm%l~`JYcGIUi3@< zbr;ufdF=XZ1>Ts@S;wSj5R`9a#$0V%0y;T!?4RK;`P~UklpIDMddD8C?e7Bl`ykCA z36t@CnFcbfY>)1;>uSsC*Txq0_is$kYiZa8tOy#EWo|KM^s^M}0k5x0WE27q1+Fq? z%H`tjt*ZAfcd9(L#@~Msbn3Xm#QLFaVKA0-=sc{O9gN!NEjJHh+$@$N0+I;?`yRF5 zw}ymf;lRT%dx0XjU-R>c*D`W%OcMDbBadt-e#zof+@^l~B9W-@7YpfYTl0av%9p47 z|A>0W;7HpxT06FF+qP|UVq;>vV>=VunP_59jEQaA$;3`}&-3nYe^veC{?}FAchz;B z=Q`F}c#6L!x$4h*MSiEAZUe{7WK z@@!O`3{i$vC8zQ?u2R7SYkoI5{a7s(&Yi~g(48sFBX2-~ST8%^BLr}!c5}{M6^l`M zkv@<0bLHyHZS3xTe~Icbug)x+$iwWyIU?5%mfu@sWz_z^kI4WMra>^(91q#x@5tse ziE)w*j=XVD?>vRl_-3d8s9Em5eFT2Ouc$q5m+Lz9jwr6f5G-XP!-B?^ik0*C$Ugz#@x^Lm z^F@rrP6>^{YPC?LU%y1boAGW+XqMg8yr=eEtCYT;Y|wp?+edVSTiK3nboOYR-Z83+ zP;S&0Fscs-vI)P>9NcggS*!_LJN)3+s8)%GE!T1XBw?)w^fNDh$y3`Y&L=w(-mok8 zoNWwl4NS8xr8ovpml?A^c6Ra+oEk)(W@ro}lW4Y&4z_Q>T}sut(Gxt1AyXqy1WU*y z#Q+wA=V;!vY2c_8aRf+*o3wL>5hg#3|izdS5?R<5~fV<$CSVN`A zbnE-)vma>m_!Xopx}_qB8i}6y0~r(WxoY>E7dh&*%O=ZYBxn2_iC>CI@?=ORKvPhB_hN9Bj0!AMo7uQE+bd6h zU*CuFb)7ZuzkRYAaG(6zg`V9xYNoroDEwHc!>_(SwyG5|)+ZDMYe=W~;q6&S5Ic4AG<7>Bx~*RJU>R=GjsnOHK3OF|$i@9Y#@+- zI$9`9!KH~e^m_W?i&Iu3HKmOLM4d5y@y6o_35x;2V)4+ayCrF@L zpLtVg;v49;nm4sfAl0#sham3>H~y;*fX9R#LJcZ2Tp#h(FTf+GZ3S&tBIu`Ej{c4n zyr&36ZA=U750?R^J?HMqP=Qr7!RKiFK?{VK} zjuLYv^u6m-8OPmB#7!$7EWg>?y1Bnz)hjzSIj6|9DW6BW2DeoZez1wb(SsNPo^d<@ z9j+vcC$<=I_=@{!l~hnDq>wc3DC?cSkgaPcJ>LJCB(JmB5L2}4B9O9xVmB3OYJw+j`aL zAiy_In`?T$yFI$srcCxdU2!~4`Dl!?KPbX~IbBy~ z_mdV&>G#;tU1;LUE4(W=s;9jcxaZx`)v>n!I+@*%9p;vVptLy;TfO(G zG{hy8ESlrkWtFX!vXKwKK+=|yxo_#^bs@te zv6$T&jS9|bj zl!4Vu2`h+uj1y6)ygBoVw?L90Sj!#JgiUZwNrYjC$-`+B0~V={9=i#Y`CP|XWB2I` zl+6g?JVVSX2IX{sc<5v8gY-B`$mYS<@ldN@V(mr$R~1KNBdJ)&D7VEXcYHWhAj1u% zHy#NrDN2ZLLCAqn@=g#1pOa7uS!AGz-h~MkjM&2sI7rTQsPe7&bV>qh#wqhF^lja- zuVQVf=@wYM!F5FrdGsG11EGy_<@d2SMIte&0l1;2>up@*-8H%`t@5O|<`-}{Ukuj& zNshpvOeS;)HZ~si6wwP{@49C;A6CFLP;p#Z;Oj7&((_eHS)AffJa;=PygVc0QqnOC z`CgElV;*Brx^1UkCVnib}j9a-=| zSFA$D^ld4o*UjtW-Ww#SHxEe-7x0(}Sv}jk(l$TIh}u#`q5v@ECs_@TQ%HUc6hT< zvOCgLu%J9QDdYPf1^s4|dxPwqH(yNpxb#zPHR0J-*(%v~^}AQ&xVYi-P_q-x=g@0_)c0G36=Sye0GX9L6Jl`4lxc&MYtk6&;oj_A-K z_%Lk!orRhk6;7#EKYh2_f;{lw*bJE}?JQF&0|j~J9gw{^#~ay{8vB`T-(h>W6HT^q z1sFaGTA>3NO0th|T! zX#K6sCbNak71Wc6Xw#+e1;*S}ahZ#No8z+qpe4Gs<@L<#lJBy*ZroU0AXpXP*c~xP zMMdLV_B2IGSw>3j(qv(owpxUXwM|k8i`f{lL)ubImn4k9vVdYyK#R^$>%=L`;EOZ? z->C+@*C6?~!nS&R8!D0+<7(wYdI2&3F%r)@RFLmf4+Mc~R3TSQHm}$q?k)`wNIQU1 zH|4=n`Xx;R<5>flIrjk~@p!avfjffI&Q22*#U&e_ zKUBbArE>nmR>PXY4ln)8P)s^V>!W43rQM@~MdqAWhLqQI1nR?HCex?8HU6=y-1J*3 z{W9ayMjPU3!}wC*zf7AmFLvn$2`4YQ%!*ZRwI& z*274MpdtVJ-%5e1+0UByCyM!6(GDG<<9NstyPr#{I$`V_!4gq=L{Tr-QOcKn&mGHZxH4r5pUp zyeGco%UJwl3!#W7n-X6!%(%k=Sz@-?(3n5It#rHgSZ5XLnqx;;p1Xf=RZ^BNFgu2P ztlOJ38@h<45?)f|G)x^S*3yI{QWDCJyEV-u#+sbf2Z!(UJKLz*_0SljfBoVtW(JQ- zb1vLO0Yag5EkzI)@Po$M_$9@>sf-|fmiy4D&?y9C2L!!i{;fQU-@e_rszc_UMEh*h z7g0Iw1FLwn(%>Q$$HYVF4RKOi9|Eh84-TIJp&p%-y|Q>LAQ(^G`Xr4D34BBt%(cMn zos$qnb9U>%z(Bd2$?bZlU_+x5adUF9b7?VzYt?T-E^mKt0M~{eQqD`5GNM<{=kL{C zx?tu?EFu_<+Lh4_mn)Sfzx0M(%@Nr3c%$)F<@qB}!* zaQ7?b%(e9sU{`?rQ8b?o@!MZ^k$jh^It*n{|1o3NKO^OVpX&epEY5T%F|WY{Yy2fq z1cQE;->YI?&UlWHj~5*tK%>pJTBgm)IZqHW6RG!p2YZ3~1j>WRj}%0@T5qr7bbSj5 zyGjx*{?%?fo98f_M=0uBj<6HUR?PT;J7&z?81Vq$&UUj%xaRY_DCTi%(9Ja06&MD) zPHwBvXVJcbhp6_=-7H_-*(7bwhQs=t-O^dd_ia5(us9QM>x_QU1Rifk0ZR@UtMEGp zN4#C!j*kJ}g7@E^m%n^u(3l@S1dJ$4zqmN-Bwi`!Dd@ARw&kmgn-2$Tgv587F@F}Y zP5%Kjqps~csnx5@){K#^sUu!K#9T@o6_W%t08<=gyp1bZE_iVgRNe&R1)%rcB?v9M zEayH6hkyE&1H!KPI{bO2Ly@+f!#FT!%0-MU{JJZxi+C_DQPxG%Y~Bz9zjfi7!65xf zctKfr2C=Ygh4^D}w45=vvXmyEC}lS0jLQ#bAz)&ZEaYDd+Ldu)lkprTc82=Z5pRS{ zOvgo9C{L+)L(uIM62EK*djm6x3mS=rQnT}3HBtvng?3^j)h%cOhNLO-r(OMbWsuC06Cp( zO-XPW=*=Z=Oy{xs!2Tn&#V-8K)hLJJPk-&hj$qz(9n1Mdx0{klrlR!vAFU%<=Jhhi=x;0zz2&%ye zy0W{vas_)!>i=DeVl14nr+S8}{P>FXBe-WZB8>Lke~j3$efaqj{tv}MoMtro z4Tw##=FZLhJNlu$OWaA@XOg9?n87p`$Ij#J%KyUlkHs>-Mih;nGp^6w@E`6&3$Ohj zi{-M%g`xol(Q1c2K}}4x0)FwS6(|Y*Pw*E33jQlqA_uC5=F2wq@H+&v0s=(9^gHXbs(rJ#_rchaw;_cnv+B6o%seC#F3wIFxOTSQsI~2gvqA7#W=}pqz^S!l~J0~yv z)n@la;2k|ln{ac7UEey_+-%#zS5Os$Q59?NQC!32RH^3E8i;{`P->MJE5)hu5nb=1 z7^D~*O`?#tJ2C_c6vd$sQ>*$&tH7F9VK^J6qULjxY_Y||8FzN|T|`PZ{EWJ{tl%)U z9$GYSH3cAO2ZtkT5ed%eG+%aQnoIwBj*(| zkyC=qguMoQ3U;rb=Z6t6wFUD1PPp;Ws1?a_vBg%rac!>Jq!I}vR2o#3@HgMvL()W) zEW9)(d3!<_UP7Hli9-MPfzYU?}vM`QTt>Ge?rQjMWFl96W>B|k>Ana ze%#$L**)i;t7yTVPUo3!Gc{C)=fbeS5MXZ#2-wt|_~k?ROG{l$OwT@}?X%~y5pN}X z*|(?d6dx<#`5OBB@5QHax9_fixC>pfkK}g6hUnF`<{1ixh7Za69p&pAG#WiM1F`0L z?=c!_3=AAT3-egspN1IAXNyc1Mxq{s{EfC}Q5PZKK~LUC-#Z7?(S)e?T#fF6aRF!w zc@snM5J@Jzg@XXnNJRB=$of3D4W;;0@mq42mA{t*7ASZwFxY~Mk|Ky4a#@#eT0^9O zw?Pz`^4%Xe;d8~$iNU=O3MO0S;rb$ruD<W^k}P~UN>g{=n6a7~Is4&Aa~1EK1} zy#@|*Tkq?H?8L?p=0C8JH&4bpwE@*!45pGh}O0~>tjEM?w?-}bU_`q$^4K9{YyPr1UE{AKoP@rbj+ zIWEm^m6HSHp&%z}MLQI57%yF9iiD^nwbByQlbrq1!VR4iz#Bjne+A)d#2C)_H;8uG zHOUC7alp6{$=$O*Aqi{yyAYbA8vOAkT^#{gydcjRDzvHf58 z_xCqF&ovpefTv$G#cm!a_aAJIqZCt_7thH%7eW-gLTrCpJVeN3DE40-^!!m}bYSX! zzoCHFT%A>(RbE%wLP~q0#&6|!wexwq)BVo?sojcNE;Azo8$=TkWOGkR^flplZZ6Rt zKRquoB7ED~G&N54;_*OgDn&jDAp^kAI}hJFknB*9q6(<%(e!IqfQcXHV|C`GwbI%d z?W{_sl`PoS@__fpxh&Kmds zTiV{{pjz!eE$>%JWIVf*x%oYK`+e;0-Icpmy_^dJ3miV9e**5e{~DE-mpiup8^(1* zasY^S(xvN2wCHh>Vrw)#>x=$ru{h+;n&l6b4cj*F`7X^2bD02^=}Nla@QqX!s^#9Q zFGev~8yA0}P{C zd8S^<=Z=abKC5;iYIG%0%Zy!{AAZ?RgkJ4KYZH?@1;j_HUpIT(vd6Fx0GM2SD}mtw zHeArsXbfSo+m?&wnao)S7w#BggGmYh%#$HN^W=zX0R`6teUvD1w64OkXiugi0+|9g zPCeP&wCbe*MQ9LKLuOOcjo$Ilru&1+;%b*P9VygQ6gPc9zSzv+LkM!&?UJ+#H>OA) zU;_)V#ySZM+0gJ*j_$5@UYy)}m2Ro-=S5uS3~)VlH{`Ik`TEx8RxFH$*(!;sgWiw` zZT1{shO_CYV6b$0u{JQ>EZkz-qp2MwSh6NYz{o0!%0Hjenf@cv%M6z(g$;Z9AgDigi}GI}xm2^Z1LPm~U(2 zTKfwk>cS6SBHx;3eWb?n7`F^qGM%n@dd$2|#Y2u&yjvSS&%O#FlWVrjOB>Svi2bp9 zW7FLPF#t=T8sN%4{_aT)C3ODAq5}EDRX7JNx7>t#qZK_T>jx4%JbZ9ZucJLCL{T>2 z)oOC;v2!z1=FnmtwDs5It;-Mo;}wz2M|*BsZOL57hWfX|2mgXhx7%_(?bbf=5y_CT zh_I3Ne7TMYB&(^c{Ws|ZmJk}%^|B>iw(9v0D_cXt$CGL zs}KUI+eCYnH+(vN7rkrm^pXtJYM|5{zX<~R#}`Ws+x<>BL^_4~-iN)wEYWMo%V6g8 zb?3r}G4vVU1Bdt8PuobQE=8njgVxPvqE&KNd{}#cdvFUY8Pl#LT6oa5A$S=9UR-v;I1XvbZ?RUbU=O4IE zgubwYj!|oI&yywHS%)e!$I74|X&%H0?0c*y>TpB3WYU2`VF0W|?|NlmBtEC8vZOgb1-`pX8_CttuxFuz8dWG<#8p9GSX?zfuvo2kvsT!W|Dw(*!P zco$o4Ooq=I{SLA=Z%7mE53X_Gl*mz~qw~Pk^II{}pMRGtR7KuuJ+#T!aqHsawd=Yb zCgICJ-$L|ksA;3C`$U&)AlX?3_MoVM;i=`R7_Z4FzS|)C&^eu-oh{#U9ZT))s+48CUvARmL{)1 zl5tar$Vw~*wa{T%Ljnqpnb4LZH5Mb{{<2s+lKaxo8}ycjeUMZ?B*B}Q*d>UiAg}(H z_u_oT1b_v`@|FR$FZqM41z|PUG?*L|9dm}B^MeotnNa2WcZP$(t=%>)QmgPIoW+|( zR%iKnPe}?G9GW}HC8(hj94mF9Vw$)P1Ul>wUT|i8R?rbT73?#}#21J)_%RqTdwSx% z-vg<;#*niHYn{)>Rd+6V>)N;A_m93wddZ_-TYy<|PQS(o>=F9TI{AW6@ zAET`%@5#y`9*mXXMzMppWd&d^QZ%n+zdeCPf+SW+fp|;Ursx$M`;XWIY8Y1}x<8BZ zy*`?lnarW;SKk5aBX=n?8DeIK4AQk_E;3J1WbEAPp3uiof}aj%pDRbKio%^p~*5@40Gr$cN>&vS~ZD%23h0129Bh3Uz{L&Gvv|!kDrP7y0%Dmj90%@=Rh@ZDn ze8UNy(br3)cqI~r{_BMp_&{WQnvpu_G6J&SOwvtJ&YeG%l1&lUTz+kKY3-B5LF?-S z*&j;yPLv=@q!)*!#3l00P*8|m;SHfNFBZ^dQU;*>Jq}L)tWi*0+32GVxzF~i(k?F| z#Kur@X~=#nckyHLNbI;Fi!i5fS4i4JaC6qtMoTF~T@}kci7|TQ_gW~(BdwRJDagj` zFlWXXLkl$JP)@66F0-y)N8UjY8r~%?jjz5K{beI1!A#jemY%88q8b!d&y=O6VJkol z;s84Xnpmk;WWc`qv}KBZ<8BE$l>%|qQ$AXH!RB)s^@qh$M+nNk*3h}d5>38*0rnr} zCApBj6)1U%A0e~h0oLbU+uYM6s%Y46*s5?*-bplOP?2cCusfu(y?zifl^%P3w@-P_ zr>{g?GN^tR0r^f$tnl;vlUS==crbvWb}PAxO@Wn^drX-{13ZZ-#{F-f#4Zwh9AwZT znhm58q=WsS?3U2HaoI=}AydvwCbRfI9kHwI@D%dzTnx7bv-zFMetX4r?XIFuHF7DgG?ZR9ifsEZM4dems(e-t_H4 z>P;me1}q9(sTM63&3OppfyRnM-$*k+OfD}vP|#B05L?8&bzUge<=Brg`OoS?z_6+q zO+vEsICi|c1n$E=K&P3Pr#tIG12;|FZ2#{6Sn0{-z?VBq-gCVLE%50TQ$P7wzYwQu z*I<1?aMUKH(&L(n8(yl&K94@CmU74$;15kf6Q!I~rrls|9Ej_82PPTv76{cd70{9U z;l!wD9H}V>(drpwEYTn$FPqT|UA5!tb(gbsS;NXaTV<_|BN!0#rk-U#haM{6FY-XVzuL zSUx+H;Hqp)VUHg~c~I%5XA(Epn51mTA~}0=spQaYG<#Ef87sulk!Ex7(b?7oLu71WUM1uVs)TWBz{EeW2vf_I9Tn- zFaffHzX#>}f%%k{yku5T`93_{lE1O9Qnr%^#JFWtceL58o||q6DIMSprirH#SQhcZ z&`ZD+jmGzl1|yn`sA;4(*O^g(vR>|hZizDb(SwX>%1~7$QM@>`lOsSBK}5e7v9>Bk z87hSz&i@6ig2D748#YWI1&viDnONaAuKTetZS4R1eMP9IL9s#j7o~$?%Xow{FUD}< zO3|Zfj+_;R>1@e&T?}jZKpqF3M-2(5&2VBlV;?l$*gdA7nKDj=e=JZnCGjo_{eA)# z^y-c&4UB)a7()B<#|B4i@;sl=JZJeZ51+aPC#cHzQa-r8+SPl{nBN#U}*lkE0 zZLGdO#A82&VxB`&VPP7_ubv#nm`VaL`$5A+gUT*i63PXo8g7FAf?5%hhodBKz%*WQ zI%lk+*1w||T$t__)VJpI^7G^MW?0-SH-I=IA2-ZMeRYUOa_TR7I8KG6$X0N!lSOG} zGGLYn;zGidf;zS;>cB^n%F4JYvkGY&gpc_Y%&qys54z#3he_3a>7HgOi;oE~eEAj2 z83mb<*xZf1ZfKV_kd~a#p3VIes2D1RC!z<<=KT4&;iGA|>B8}g8Z<_gR;3I?VsPIn zm+E}+v`*A;7h9d9yu2Yc=DAy|_`@lV_EVo{jiCO{Gt=`sHz~2!DmWGMXd%HO)Z8c( zfjAET_1wPlzi48Tr&IJZwaTZ4LupJ|`K_rCCSf~CSKt9~>#lWjTVO!`>-aU{*u_di7t4d5dCpjs z*EXq$H|Xcdcv3r9#3fUA42amT9YUrZ&xM8o2QiFth~C)U=5?EPmwE{ZIB-bgfPtovOdRJ1#`$3lvTf6IhjjF-gn@?t18E*$1I702r*QNr= z?>ckt0e*tD`cumR0j+XgbZW5;PQ(rirQ0G6?+bi3?0GF|Xf4421JCYWg8XpkZ8vGIaM@5;{c+jJfUhc^GS3^KTF+iV*}WC!uQaBV%c;hlvbFe3i^sq8S%0l!TaBjG z#6RoI@Cm~)2!uxf1mBTQ)ebjXjL|v~mf|`dDq6R3e()Z%U7rMlRd&VD3-V4B`5LRD z!&LWZ+zDQ{+vDWLH~B{vdSkv)v}Sy-@J74|;NIZDd<`V-#zk-)i+m)}Ygf8}EgNwz zYxCeJ+~?Az`U!|i7xqL}5U1I31~yC*lj7hp9E zk+KmR&Nbu^%T;*N_$bvscpZs~d!k@wn;Ky&zRyn9Vi7h=<$7K*7`oA$fp(*0-Aiza z)t0RxT%_U^2KtHUf6aF*=CeLJ_Wj)`vN4mqh3elu2*9znvUx&w9Eg;;US< z$BT$)QKWJ*b&p+FG(PHFHrRkk^!J@lPGA@T&d?cpW`z#(;u>^Y4Fu~i73}An zx-LFi>$zIJR|tP1fA@-jC|5Kp4H4{c?x0|dKHaG$;0j26RbI5Tc{uSGCI$}y(~v_u zNuokAPJO=9?z-UDNuMk`&wEy5vJ2pufkK`sZo z^Uo4IqaLlmhEtm+p${{`yRQCN^Y!=F0l`7vNyqq?a$+aHrA z45)U$e5F7rM_B}@TPAoCh~~og!5$txA9{h{_aJBm)~dh`J2PC?VF>^y5Cv&lZw#^M(#yBZq%ZEm_ z?5MaP!eJ)E_L@(U9u>klKfgVPjs%=y?hS`j!9@OibrD#6M| zm5HP?>XDHE7k^go00>s-kO-j+MEzg*9rj#yBUXI2X64)Lk&xv21{@ZOBBGTBHhII+ zz)A=cpLao~;Fms+4Q zuzr_pq3e-6CR=l(p!~FKBy3KwDZ%5z?(NO#9YE?CE?geWS;s-$8 zCY3x@g8iRo{j~d=)lp>RE*Le(%P_NjLx+;%`*;yuHV5GCQtADO!n91}4l}Xn!=;6FA>C3)1big!5mF zRj%IeJ6SuNT$BCj>$Oph8K}3}>i`@O z;d2V{9q-r2r#~AmGmbmm(=ZjgpLZL2Bif+|2MC6F%s)<*YY0`5_zPSu=;^5yf~q%!6`zpvd0Ce9|k16PP8WViVDnEAFZ7sP|{{7 zVE7^%P44?8=M%ZzqjGgo6utE2_yJjRdQh)pBzT730xg7d+VqZNn$a2I3Yc`-sHOiJ z8yA5ZbA^LQT(l#`h%+Y+fB;VZm}t$roU$5d+t<6rR8`Vc=IT8aoE!7V#0N{VRw+Dy z69Z#g3W2%v&tmRqU$|oK*-#oAV|BMD0g60L`#!|iW#k6a;@LPF6+H5cek6;U-zW9V zuQs)i3m>;)rhE(eHbf!15O2k@oTeEx;bmCQ^VVlg^3$nkagy@PivVUNsoUKy)8yyo zRzMu)Ed|;s_8Et56uMAcdMLZ8-bb2kfax3m&MBNVb23&zb$1xs(hIj3O17SXHtwk| zS)WX#`AQ>(I<@bT4Exf|fd&PK6c0yYk5&~Qeq7s6*=2RqZO-nN48a+`%-GlUqZfe4 zU_cx}ympU522&2+YicpKyx3=8Nd+YnnD|3r zKpRhiQ69pmfZ;KjOvxZTs!Z(p8*N=Hqe)~SiObXTs%XJo`4rwTa)|qCJRC!U9fl4Z zepWMPk6@!D18M%12O*9fe?{$X&~x;3qGxV1Aj97bkL@f6X!cCpxGw14PSQ-;T6pqh zbDS%CfPKPbze0|aN&|Hb_4{VthssFOph0>x(r7*?2S-b0ar}32;lN{`C4$%0HXI9c z8&mTPe(4M0e6Oe-GEJ{o#u zjB)`Ll$aaC=4xIs^R>)eAwgE0XMr%|nU{-z_f^FN@EaMEDygKyY_c#uv_JP7dF3cC zVI8pNT=sqlaM$4Ja=+8JtqC9 zgh@|LS8QA0J|z^`Vb-~^zyxIV)K3zM6$BpN=l8qLoK@i^3K9vNlG?!S;;P0jp;yBQItVh`wsM_$!5sIc-WQL3efy;C3DbAnj9s* z6lm|hXi$cqUy^DXq124(8^zZLYJ#N34gdkxW*F7a7d@`h;Tk(aW?6$h!ujn1qD~pb z(PYdRhs80pik`P9ip_s;`KejzL5Ob*D5ZO@g z;!iOwBRk&s(S}(iENz@SmGawDJ?&3fO9H}7<)r;ERGc_0`ecJwS;D@chc%IH()%dD zG5?Fj;^g^Xvq-a!Uc#CbM!>Q5^K9Cf+f{lOryQ5uf?c-ATm;28ZxfIzV|2S@2Y~;y z{sbNi!@3;>#XhiBWa??MJ>G4X3Xjw0#)sCrSt}cbjhS8Y0 zn7Jm0TPmf4Lyq^=+VW0O?w&Z?7#A&jtxM2ekS-|37Z=-e2%oP&f z?=db!+?Dnlw_NC-7$221JnKs}dd4ErNdQvN3dUne8&xjzg$tE=Cb{GQ=3rTfNBHS> z#!ISV9!R@+YY%^IC9J;hW43zC*TL5N(tBT$`bOI0_VBq)*+Vtt?*8j*nzMt5uzxl= zhv=pbRDYFM!=q;hx_Tn*oD)$zdyNwz)P(G!*9|HqJv}Zl`*slg#7<7#$=Z^%%56sQP)s@^aUHve`L{1-&5>2xUT zc*E`?7|F))dVNu zToh)M`eFZhx*aCzcgwzMi48WA2lUNjwyCM=!7SSlru}p%A`J~PX)rk6Jk#MNg>oL# z`-x1L;6hK*p?$uiBdJiiX|Fod2JQF6BgU;7Z1#2cp|07n5PD*MR6AGAz0GC$C! zbq_3CvME!@jy(w*-#~%b%7wMrLfvmTc6D;7tSVpBlLitQ?`vymNqf^V6QJO43Vxm0 z>}0uad48vM&n9z&T|B28UD-9-b2!A-W3ZN;I(Z(EWZy}Jm?>9W z#&Wt~?=P#@x4URE1DU8d+ZKG_ia98}Ep5HLXg)g~ArU;|Z*#ZcCqnwIrVvLk8JQ~f zI7C)kpg5kzZ!i?!O@U{%9AFkK0(Pi&T3&3*R{s?Oi{w7&3nie3xqG=nX*|;jApppU z)VY9(642L@A)+vCnK*t>hI{D-8*i3~%_gR=3si@PtO*o>^0^d=JrNb5h zUpyH1(hJ-oi}=&6r{x`b&+nEtxmR)nw?+eAf(%YafAQE0xD(q>Q zB|fj5D}c#fED3Pm09uNYd-Qo&ov$@*RJ1~moc+9WGvw@0o`RIfzvJ8;e$Lp?O?XZ% zEs~;y>v0sr5oqVk1I=L0qVeuHP=#^<3equ$CWO#BO3?8^ScEP#15kU^e50Bs>GM0t zS9P-Z98dmfa5cMm;{;_=2%af#IiB6n?)fNJ?DF}{n~l8?0P*2AhWfU-@%M$++Nvyk7fpWL+%G;@ zV`Lax{4Oi zvNqh=sO|d=8i>e$e$(l+yOv4mITz9mV9@(jllwRtP4o788PRQnTRyTo0Aihm)u<~~ zQ4BKY!COBYuvY~1A}!D4(bGd zkS+Ja6+9IMghcoY8q!TV%dMrJ6qOA@VaD7R!T}!iQgEms68j9`q7rC&Vh6}a&$XRG(wq_V!Fv@e_Of-N1 zgOYsdqQs^+KW{X>4AjFhcXmu&xU%1!nf?d&Hd^%3qH(B*k&KDf!PE|%{<71RWIg2T zk|QJhoY0a@wU0ird=xVN$5`p`*XYGeHIM;TrRrgcFB;*5?a6}&6frZM*tZXsb`Cb} zZq3AciI8N@|3iDb^YpiOj6r{GK?4!15ToWjzJF-%n=X+8bw2e9IKd}hZxMKgO^HrH zq!iA@B8iX!vjcOt-}~$7<3J}36tWf2`J{K=2-{;qw`ugeedp>&k{XO>m$U!~;&cLr zZt%)vl2F0f6mPILc2>ulmN{jVkCM@AJqCrIH!-AWo&kM7nn0NB*g~^K34f7JmqK&z zAp20nxntCm=~>HfH~4p_v?@aw95X$&@~w;OdtFIo&o?XAC(~})%BG60{q4G5T)FQt zeAPr(^9>I}4dCFWu?WtAf(?MVBvSgL7l$OKUMOd`I*^O(S10-v@VY%D5cwZRa?&v5 z?Gke1q$U{Z(y;8wuy{CSV51a8(R>iZ>EmoQ9W!;#j&>B?(qw)Wa}84F?t!fePzKF5 zkHqGZujcUjq@`}tgWiN;mwff!QaDIGSed_(gLs2V8aGIE;BY@P)9wKF9@`~n)&(?D zv5_GY!M!;MKYox0^^15M46ctgij;l4Ijg zBXEljq-ef)t(0l1U3Rr@ zv+T0i@{eY5CzIf&N@#l#iOgXg%q0_ZJF%p-o%k+OCR@3Et7l zLa~tzbQIQvlQU-t2}7ezfz%!4f%~O2akFzPiGD9LM=KL%z{r>Y$NqO(nKcK~ux^oc z;q0^ZH9j%hbdfQ)@2mn3$ujbewO1w&=K)XVExz$T1S<4wx&^dyAiy_N8jLh@c7&Q# z3anAmx{*}@&LseH<4jJ`08TNe5E>h3LM|6o4G~C=xM7BdoT}uFX+D)T^gnqKeklw& zC%>9>G(Dwv0qWsRK3eDl(j$CDycj;{FbpK`9XBe0%G<8n_LyvuncR%_@A%R(M(3yYuy_yX-7(1$XEGX*G&gBsuG zg3<}Er$P}#0<}o|KQx_Fcx7GJZR3h<+qP|672CFUoQheoZQH2WwryJ{@Ap6FX5H<} zwf3B2^xoRJ&P@vA@b3toV)0TI&S}^5TcyRKkg5(jXSCMgid)u$U(#~pcw`5LK>Pv# z1f8%1Z9)*X0tu--D-e9c!s0)r6ijn>g5gZ!fpEooBjf|tuj87Rb-Z@Q{)Zl$;3^AC z(3a!$_nM=%ndI1bEoMSCW#n+x8EVAHM@5o8)IZ!su`UXEI))gB6zrL*co>V3 zJgt;HLOGIp??%@7LX~dztW*l$HO)h^f)aVHDRy^FKrseVLyO+6xF5%D;{~EDmAwNE znvN>QD^9=03};DptMLtDvj;wwjjOC#m6JEL`Of!Z8ZwxGiROL1Vv|_})G|v=6WXg1 zs9k0^i%feg;7{p1yAIt?eWSPIGLT|Gb?XWxe!{NFu)|E^XI?K+-$Hn9@a9ncGK}`C z@&hivo0)bYQ*kL?KXvy~MxQ%Ey&AO`n2Ja+4gZR!Hwj?e6gnDESb(kSCfRee%xA6JwZ~5`s1q_N@v({^Qy7`Tr}l3}9Mupcbk<%t z@z!3<9kZ4OD{=KQeIrDT!qK4{ZBtxTI>geZ!U{ZF$M3QKr#)>Aumz54b3 z>P{`HmD@sHau2XKxB;S+vgk(yiWb*F91^jhGpu0*P;}^{s?|mL8t2O7fqhK7t^{cb zqo61gSKXgBmOAHvTFQjW1pdAb8Dr3YO=^8Ccq4xnPV^}yN~_P@nSx)WHs_-(3*NrD zf0^lU`K5N5_13qHux~HHD74QaaGT|H`91qhdH8En%M#G9u4@x2iSyy^rsBUTTuKIw zYf;-gb~I>;zk~~&nIn>aylA8y7J{a!BPSz}vE=IKt#OPZ;OoKsbg$;9TRcxV|3oaU z<{7cpkdf=jjvzhIQ9-zKb8ud#pA9GXf#Ubt?!gWkwtp+$N$<_O)sfLSwrzUqqu0uj zGys%)g#qwP+h(bIi7q2Xjsq z;t;8LHi`9de%M%2-oN@n8B_7pXw{{GS@hOvQE7lmF45uSr<1GN;p14Z3@1aZtDYxG zT1YTHMi1lMmI*_FHuHx6M1TlSkDSuq1lBKzC@>)rEe!F6c0bNo_eWb3vt=`a$Kv=~!oevLcWr({)zaU{j^Od|9hW^4sFz9)d+D~DW$ zC??<-OptziLVB%0k6d)Vc*PLeBi6V(-z-JeZiu3Cz81oQG?i34Z%+g zx6Kv9x`>0VE>~b{ary?aZgaOHb~p)!}**T+CEk-%EWWjRD_SSdmI>OG@brW`bWc1T6Ejms}%@gD)pw2yq7cb(isilO$sPXBWJoZz#c3jze zft-<<6%#>KMYqoWvv6-}BR~{^GcoaqS_*r?mu#X3m!GvLvs_Saa)E3e7v#q-W`_bH6Jg5an+}kG%>c_Y zw3eNqSQeXYrx*ThSZae@RwaT&?I0t*6WSsME(uB}Xve1%4@pe=PJ$*wI$eGOwCY2g zx%eENoO`!jzEQp*G!Roir~t4)F| zX*t>)e-l}Sq>hrOHvbF_uigriN21!?GOrSik^OFf7Ckvoilj}h};tg(! z$h*OH=R~k#_nUD6BPIpd)=i)K8Z#}uTwc%!K_3-p4N*H@Z4~qw?DGegHPr>q> zbw=VfkAANNc;eg2weEszV+h&K^w}n7{`n~X*q?{dW*_RBDt%L3$UopsEeA9QU9=`# zr9W8?9@p)}>{#u-Ntqm3euXlt-4P$`!+jxOQc%8LzzfZ=XNT%HezixPfx4Md;SM~H^xq`xvL4`eMoP1%)lxDb!J@u< zSSjPcS=P>-Nt(DpdC}Q+=5vWS69!se`#(f{6wfjTCuaZ8uf=sF`hw7Ke+5df1isQD zyk#libv6psbqgUA!EXO95O|o5=HupNKg#rT3i>jC_I}-tHMigHaSUQem3|KX9!jmA zbh2bOWLm5Rkp4B3!hQH7%!_Q-R`HG+tcDshUmtb-VUU_UN{drigjLQs<;-C}>Azhz za0X*W>n?mV>647+e#Ir?-H)?b%QU7}iwKplh(3a`Kd9E7k7+!3u@_g&!qG!wxjy2)7#bJP=)&Gr}YR@qS=N zTy8mRSwFR59=m&Z+k^N7Ft=VN)OuwW)6pPK`O`iG#>u`ZVkJ{C#=<9hbAaJp^;y*^ z48;zxX5sh6#XEpuasEl{xj+QzmbN;szUUeTfY}J_jVs-<_>=Zvj?@QglE!^^81mZH z!(foIZcoWP%T6FP`51+MdL{r(137@Gpum|iH$;NrTEx+jfO`VFq#Qc$=QN@jKs8G~ z-UAoo8?@sXfPhU)f^~Y#z2CnBApM|rqypSUe7yoTEnnd*CtWooZOE_31v1}Y30f9bS3TXV zlyO|4l+Sj-gQUI1t=02aN`pf(P#s#t7vi8Aqn>n*l&HxpmNKJ`26NIhE&$mwRkI3> z8y{#at>3Z|PJH7vfh`9P7lG8N#!@8!kmF(@U8(W2f?8UEKRaYAM6^B-OX;+(vIgxL zExGN$E5l@x*#PY>uAYVznWZM}2EC5l{6P!Quv^mxLebhCTIO?oklt!6<1kzGsBMBH zRT0Q}NqD-n&e7vHsUAg&wwn>+lKFZo4agN5HEEqbP2WUwyy}%qCvrLP$8Mbi#4odv z%JNb1E2fv}lGZFqeNA681lR#N3iYpt*=TNF4@$$Q$5)j0OwAMD!U{Mb75D$tg8Pd2 zbbNlq9@#l@Ck*=zggX8-AaMyu_(hfD~ILYfaArJ?H#rcwQ%vTLdl%w%)Ul=II||9XCJ zN{!z3h(#_QtcJH>K8ypDJ>PcYV);=s4;9+IoMaIm7F~n z-gjgr!?rO@e8>>=KFEb71Z!ZEebV4C?-awn68;&g%nY7CW|#5Yqm^!cd$i)q{(SUq zom7Waa*E{xiwfMl(64ZK1-<98Z-InH=z3S7HR_SBo!47$is#VG#(qogcIDa7T(5QL zxVB56$c&=2pyS}743P*6!rDh>0~vpNa#(RT6U-A;Xv1oD{DKXF0#~lH$YeOF8sguj z*YkGmLx57*j3p!4TuFQR&*Vh+sx6@U#OXIs&rem?blEM#ZUbQK;s&Q#;iEsqbCJ%a zXt5g;9iF>+1%9DMYfIrE1VTmvy54o#MJ)iJ2ZmUv|FM`r*f|p&6)51@xu6+jP3_EG zEC`u6SpVmO25f4}+2e2^cAab7tmsiX@pFiE6!eTEPbyRf1gl96QPOaq>OLEnV?r>Vt~FoZ_f zqclG?A5Bx`7mVr(Mv&(S21q0bmZ6IbriZqnb$|-8y-Ywu>TfLXP%J}B1H&9)1I*%D zRS;{tFTjienp*_~eVO~9gV;OjiibN={^5_F=i`vhdf$CR`zyTjWDp4}`XFzMP@Sg6bg~#R)`V9zoWql#?=h3VK;8pp zXEr-P0v0)Cv65e|BtsUr>(FQP*Z#>>Y*M&XKoz1nf?ftPSy_E*!LSX4X=4qET4BJy zA_5$0>pg!<#?!{cppV-RP!;yi+%p)y{(xRZSY~yrshB&p zdb~g1UiU^56%5LZM~(Vjxnr4ki{@9oSBIy&W49L% zc>UJX{MlheLk-9EK-sh=A+_}bE=rbeE{DGl)Q45qmO<3;OKr_43 zyY8|F;M4TwT=(JSeCy;oYc4gNvdsX{^m9&sM{vKul^KJ(?r1BQp`GE17k9&>K=cQ1 zt$AC@3O<~lY>?|6e>3ua+IytV&gok1UaKTA`bz1R3v(=S5`8dfK5+zB;_x~!8Am$9 zzY7(3C{`J_$lO}4<(Tn~p`-2vBoop8!GtO^1dBw(k1xkBLp_71T2P`|U{4HOq@mKW z%*R(pAy;S#WCWR0|V9mnJILVMhXerzSYWFXK*Q@@eQa#tt(xg$_M zbH4Jeegbc!6yb-9+XsE7Xzd9ZnJA=+gM(4>M7hKtL~7nPS(IffU}9`*BpP{ec#i}nA;?VSOA3Z8%i&4dy8mA?E8cwRONo9sJ1aJU2~|- z5zZTw<499Xa!*=B^ENm8B>qnFNTcE_{A`Ig0TiH9`e&>SKyYC##xEg?`fU+$BC8|e zQRq2Dg4ILQ8PgRY;cSDXDq$s}IqhA>w=^DUSsUx2dfiLHW5a9pNqLHKL&@{8?`0D_ zHvGX74}bgTnAghtru4F}p!u9rPZ_6Q8vGd1Ss=)`VJ%a&yoKWLm{5?45ZZN)iXbuC zcS9_8eDY_7rgU9igp%tJ72SSjduUgH3QsL(-7KbRd~@UsqPkOb+87C(v8e<%t-E9x z*(S`s10~TnPI952{#YCz8)3A3BYCnvAt? zR=|FU7WTh9AX|YHwn7Y3I`=PD5{WK_k;^IbB-X5)cyfDcK-Eu7g#VSR7Kk&F4k53q;eN7h6>83@>VD2!$5{@~vU4Bd0S*5eAVmz`zi>->&5@biG4H$0gB3Fu+MXZWb2l`+JF|3sx%c1G6)WMqpyZz8mo$G{<8;aEW=LU|%e2lu3s; zxlO-x({Qs2PKCGrF}FcIbw>dMC)9@}F1blJeU-45+GJlf%&L@*D|tez9wl!%TL2rA zI(U7v)pD|f_NJOdVN#P?tvY!gs}s7(j(d;~Dh7fvpnh;et4~4v03w`^vx_S!ON;Cv z_rMN1Mqxx_rnr2pRc>4p!HOt6sd>XjE=qB;moHs;DGTJd#DvNjyn43`XgM?dH(RXl zfhf4Ir!Rs4EL6yx{&IQK(1P()Tx9e5YbJ8qIDlByjUcNPU{n;s*p5yo~8L*)}*+5f>$?H{T;R2FLrNv^Ri?@@G(H3pD^%tB`?BUGV7Z~CCUx2sV?`O zuKGQ&glJco&=DA)$E|#@b1A8azj!qhubx^CYYjC0uwD(XI#1cFsf)AU69Na_IMwSO z(D7N_48$F_^+d`zE)?fWmnOdzcElon*Z>dt(blslQ5%qA;H*jGjC^$y7slKbX;2ld zrWTM1$SJMH^OAphH}$ZaxhuhPBAq7E02Z-1kCd!R z{(Q|Pos{U&uYpkrJjU(M*X2?&7cIynfHO%gBr`;9sYA=%VG?tB_sj^J+@XnXT68Y4 zB`RmCi8d4pw;<)Q%jbzEGZk$bW+34Z=^^J2&xDJ`~-UyL|^>5I|Gf$v0zS(K85 z{TxAr{YZ5+_g|T$!9HqeF%XskG83z|3A|VTtEZf8;6ailK-1S(T!I@gLC4Jr7>pwt zwIWTyQ_f6PN~WR3tZ)eD*fyKMsVav-v9(xept;z3z=@(W9~c^mBI~C$;PvJ-CNsP{ ziDF~sEoMw2BZOojYH(lT`Mu@g3hA{)teI(g(ER~lknbfM3KQ2hv~EojO?}h9?YbI} z7@P|tF6YY@j3o=AQ9kK@xHMS;C{WB3iR64W%mlL#2*DmEQOrAM;lr^iUC1HljgeY- zK1<{U{U&F1bH3w0piF|jMjYykN>tPz5hzE|64crQyOzDPx`wk7IJ4gN@iXIdL4keN zx)bd&6X4WA@U9Nh4K~L4BxAG_m7nJK2z)JL%i-(ui3^d@_J7<9UphVq_;dUD!!KWxY)ykqc_EmRRPP#M1~)D< zJvaU4)>{2lRZ~+Jj9W1T=mSI!^ckP@EmEaEz}Tknzqy%1nZWnP5~CNEWk5e>NYU#g z?X+Rn3Ot5nL`Ml;GgX!lv0`m(a%XjH@`qXW%8Cx)9PVC2F2sTJeicb{ia;)q$|_vj zj~I(zj=vD(IOh}my#m0-Lva3Gbfe4p*?@F6@3a*;jJ;~EvEUcN^SacTvif>hfBiDE zl88bbFG%22-nVk;{;^DRjfD4=-LA80@){ zIC3?I#SKi6A7TW~^k$3a)A4rd)wrPLS|GFQJNO}`A;lh~=_P7mTb8nLMIfq67T>8& z8W(~<83sMX2^}lVSuPr|Xkpt%x98ap)+v)EQBpE|B12QmU3WH+P-1E=&C*Rmoc+)}js^mB(rXhP zZ_d=W#tl`1b9%Q|EoreL{9PAN`U^-`u;+)jwh4{MtglF~9iBANwYK^gL3DG!~ zhi2n?ikJNpRFEYh*3>VeRWrs5I^(gy-ZF4r*)2jXYRc$lFC$@_b8KL`sj*0SL4$E8 zyjw~~z9@sf{gyu!rm}f$=TqJZ`r_)R;LjW>+12E>yfPyRm7Aj@uI^Dc zbhVnt849|hhnoqo;5oygZtM>qQV!3@O@9_LJ{1*M)ubQ~4Uk_Dg_8P3nE`e}UJDy3MR)1ox>xPJ4Rv7qN?_3jIKbw(1iEzjd zTa>5>UZ6}7YX&L!PNZ5SFBsB!J2OR_eU3WDgvax(mmLJSOe$lMoxwa++{NHL z->?Fgg=PvYmQKDoq3akwqI`(U=89{JU#`jiI?J%dljn&`x!C*x&k0mTO*XpuSPj3? zhE}11%q#~$5V0ox#KDv6KsQYnYhm&}SWf!zBum ziBiw>iv3qV;aF7E427ota-cKc9P1pi^}IwsbX|!ztH+u&VIH_|=6T?<0TECu2|C?< z23rbN$@4q?MJNbXEkE(O7sk}PdSiUAK`W|?yGC{U4OSk0=c#_#vg&-0`TV%kjma4Z z^=xHoYg_S-HBi zKW>?%JA;drL$@C1V8Ek;F(i=Ch#1kgIG6#{$yEYqhQd=U0z|QczDwwGmw=wH3vf$e zQ^bHKeZaW(lB1G24j?_jydidUaOgOSwJIlp++Nz)!O4s7m1)-?*0b|DbY2sZp@w|B zo5dbDhu=FY)N+qct8XkaI2bWX`*e~b1*I9o;DK8(TM^=I>9pr4CrW_om6L}j%U9^_ z?BN8gEOAwBxLtHF6e=9`eRM_XEn(c$%BXIp7~oJJcVu!T=P5ft+OJZh0bRJCs)?xD z+`E~-0)$I#PshrqT}S$Nj=RHM+BENXw8=VFyP=RGb@ZHA^n?wgb<8N;iUGS&1C!+$ zA4>vl5(ANA+g(u7$B_imY}SEpBGxrJCFF5Pn%*UTOrzgYRe7lZoM3rugBE?0m69u* z8^A-lUb@N37-lqgz+y~UlwvySw{ikc$hmq2xbh#^xwjvY!qpfQwgh|oU^Gj2=t? zI5A(`jlY(L;O~9<2AYKoGuYCK)PaW}i<}6~V-; zeBG__9i)KdAGPvk)8CbJ^fy0!-GB?%WPufBtH&>k;-5t%uS|ju-NX*&u;w5NY7%@>ZnGfc|!IM+@ZvYau zsycckLYy7CmO(&|%~-wXTD7D3ov$Ms&$Fj!wL~Rcb~T6CujT@WNJr_I+Mxc;s9U?WDjvMjVtQSbOGAgJixBsNF$jb`5!hZoZK~y5 znB@+oiPbT+TSz=1E^ir|H8g1}H2{N6LO^y_F4#Mi+!FhJHC!yK>!=8|*h78Uu#it} zS*&aYSh3)R6uR;hSKw=rHOtN{T;vMg%hv`q9P4ulZ@?EX!xxil%vQc^BMFHS3(O6- zdKwd2NR&?%%)B5mmQwCBaFm-){}}4tEMZ?E>PS9g!0C8eW7REX0F5@9V3Z9iv#a-fu#`%}UO#hS%V< zx>IfY-VZy~W!$6ZYT$bnz+t#`hyRX-G9U`lo&xNf9U`DhNv+$3!nuwK`M0pd9u{tG)~m+>Xp0fWae#c%Wq6{O-Wd{N?py#b$ZP`; z1KvUGHpQO-l){h+3Jp$OWBi22_swoVki!Az6ykF@w?HS|qMYUo6iYpq-Tb#Hz?z_x zAY5E2Lf!xW;KKf2*z`u-Njnb+(%-<|ZQta=5p`JEtBwypJ&;uPRZ*0>`u)6NCxMkt zMV^Jv0*n?T^0V7Fz{@(;i-5c&a`gJT=!rG_FY=brA(TAnGcgqu2BD@G$JfVf^_js~ z$dkEL?x($5)tx#!z~xVqjB?E6yySj4nZ!G5V9DCHA92x3^S(N$4WQGL0)J zv0?DwJUD>wtZoZOoOr5>HD_Z($sQ_)o>yA5vTInJ>6ugms1I+v^Y!39xEqL4AJimW zk#n2#)A6hC73KYUnqhiMVE66q;sCFDD@)%!{}rv;j!L67|69?^$%)bw$<+Yc&bSqj zPUFt@SWHVSEYs;$$COJ)(qq_1Dzia%3ID=qx#=)J53cW|qBh#jRroQX?izB}&f+37 zz{r9|y#f+4x^DJYAN`kEGPxpR+X7hNTMwA>i(1L6BKg!reUAd^qL~L5wYq|utrN1W z2>L5Qm|cmf5=Aqn$5s6ZlZce8v56UAW0?^aXQ5eBqgAFI@J#WsnldhfN-JmP{5#|D zp2|TSI;0SRc6UhKf@t$1vM0l$kz$^D_5pkl)ZGH0_Ru>^tqED^~j@ELdU$e5CW50d&7FQ zZH(|?lEr8HIB+9J9yJ>X+MR@Qh@vH9G?+^F$?v%a{-6$U%H~UN0w>joP`X4%c_4+7 zg^~$tXJYb*r-2=8@3lHw>zJM!{Iw85X|dFA*s4EEpQ``|{q2b>KiFQtBOztjSs2jQ z1u70=wZr>^n2E&NSv=&pCL-0|H-_Pm5wfQ;On*M&rcIim$Vfyl?6t!OcfYGF=Q$RZ z4BV8V`k-M+JtQu;YeG{2julbBoyXW%OoWU|W!^b1C_#W_6`(lbbXEgeCBlN7w+u6{ z(^)Z420<&sBwf(z<7bf!5Ane__2kX5bZwZw?LMG`ApYX;uf4L${k?IE1K4l26#iRc zCp608QAHsco=mbpQ9wW~myU6bfA9;MGfYeMk%1bRa+P(oIpcsMN#`Om8F)*Y^U#O1 zJE0Fp;rZ4y3XgsNy5_?DEs;hLgGbtGD%*FIOzA{l>3A+jU#f`RMxBCnqP7wL!K7y5MuOg{A98ty``b zYZCyzIfJkc##yyaTJV@pFVZ`@>T_oef*Fglq5(PqDTJOex_q5Ud%MiFD{Gd#;TD6F zA1n^Jt0_fKK|t{VEa(c2NW1URP4l*Sn4zd3u0Oq%JxQPcaeA>S1|ry#DfWqj!7cp} zbAOz7lQInG{o|ikz&a2m92S)++sA0BHUVJQ=XqcUnJ%(i9sga}YkStKnQv*o(ONvJ z(N*tKWUY(x_k&d!scl2F3QuP4B7MnLlUa^!M$7Twl`!KP<@Jo5iIw5=PKt4b$XO}H z)Ysb=jg9nXI83488A_5HfqX>*h7TEXhjw3!bZ04rY>AMzYwfK(nm7Tn!MDB--3svR zx*$&pJwzn8rVC2Q{@3Y^_e+P{rSmp&>p8BadTdisXxST+?Cf%l1A%0?z*<9W^!X9q zPFD@)xFh|o9YF)BaY#+3CHn4S5tHZxKBM0HE6-LURImhHfI`GT`ThhkO15RNj7b#c z!f(s{TTF?yI%m~h=Qih$Nmy1WGb!N5vAdk|#i17!DT3p>z(-)%f8mnalEE9SoG?HA z*FK)K=)CtWpZS$9vCSieM$cY2)G*9~1PpA*6)SoD9c7Jq1ve)TJ#p~wR z1YH|Gy4JjreRY0LTaN%xq=;mY{;rG$xJwC==@9F-{ZKXtX&XIpyyIOV-vq#dG1M>0 zDD&kfWE@J>`SDE*MQ9vaI>9K|qj?O8Or!!!`-}3PG}q$3etT~Pmg{M_y7JzXwaay} zTvtH7eazof{9A_RUV?zOHgGo!(exm%HL@~Iu?`IlsY*9Tr-1_;VqPIe72xwf1Y!gTTutj9MkKq@%bZv8@E zBb?GOJw@aEL#i=TUxN=czXg*1-v~HO94sj;1}tIB@+?6j!Q=V=g1jk_2B4^*OiY|9 zNU*?EfFcb!=N~r3f7?+=c@k70sJIh4EFLUVtD-#vUKk^xB1mMavOj%{aCW1UiD^x{ zivOtEM*5R@(><5c%VDpFa)KmFRK<|8c@c zoSXy*-3XljjDfEkc3F{#Q)z#-xYMTgE98KR8)rc%OgUmn<^ct6s)KO^RRFJpQs#gj zP?^?llYJgfQe?!E6G-S!N$B6cuRl^AFk$8F-@Sc63w#+0?_#|7t-Lpg&?pc`4$PJV zc2)B(%4jj~f{VHPP=+IMJ5j*j^GhAJp*+jw&L_t^E$d&ayZQ*2S>^85vc=aXk}Rn1 zoVMuOa}%mGEbQ?HEHISwZ;4b*K$-gD3yRY7##yZ!j&ZsyGiXz_8%lt zHIUm|az+_AX0@ER^N#drucAIp+XbKkek&)_h_gwQm#htByJz~?VU%DrzvJygNzl~DB+mDfo*m@KEpNlBFij97#U z*aELd%VF#=1!quAJY=!`i*c=;F3&H`)-k0lyu0&q*_9NXmuKBNgga7$%iN_{;39b3 z<;kFfQF*oPj&Sc6s}|to3;p7w9$*cNiycCOl>x9zimIXGG*&6nk|UzRUG@V*l-O>$ zT@yb$8Eb#6zQDztO4-@G#n{vWCK=C=HRSZ<>ze%cSQ_gH2(jeTxs|wxm82!dzy*>@ zNu~9YN=eo-0*lE4_L$TrXa+TwrBlN%&p($AsVJwSUoC+Rmrh8Y*Vd^sM6?)m*T+)h zd!&E1`^r+_(p`-mDwJCdooNeZi=*#KrLrnz+2Krt?_|nF*(86pRkFnaf09B5NRJ}^ zb@|wRa^d2!EXt+1lFm@As=58lCOETHw(F+{2C*Tp%$GREqieJc97+}goVU;Dhwy_9 zO=_gb-Vbqm;Qk>lF`ZtWvy!7OCH{HK-(4Ha!mDW&l-l*8ISkB83c9p3B!{_f*_>-k z%V9gQeP2(yr{~1(DEDClD3l$a?y)M!{a(M9cVb~-1hpm0F&a+c(W##IYjr9dbWJT8 z#OC{T>&Emf_;d>f$bnx=%}HP) z69dnNbEi03^tGhru%yfcVU3&=m)29IcN5w(1jLfb?H|xZOzZi$-is>r5w8Hp{%e#$ z#3y_LVaiAn#`-Wc)$VzKZa;%if2QY4jhc}q?Dp^RB(zPXIvVOkB zNY4Jg01{ImmKfOmk&1+(P9lmCKu{$1oj=bJic~6t$Q4UE5Od8bBh&Xfgmv%V8Z+4@ z5@A39rjUbvSkO!8YH2zOQ;Jq_N@c+o4DVj^Qc7m7%#AN)>()Mc6j6KSazM*~9l{@)&PmMVtcL?rE)US5v;PDl z^s(<;&JaPn53L{I&C%tJtg?n)0fqd=1hqM(;MP;~Ggl`B?Njb_J<*qDz7llLv&n%@ zW3verE{%NX%;E50YtY$}+dTk~J=|{Lec#U}$G+aou`7Wt+Xjl?_Rm)RVPi^{%lg__ zQA%Un;Q1hwEQR@_M-J65Fm7i!uqYiOrK55(u;{U9waq1wCiRW_d8=WMXm;f<(^{h= zT|o39Qu*qTiR0`==5&QAu@HJzA$K`t9WCP_%RFogf7DTHc_h|}1^xs;u_HsVIm30( zj$Q&|_xebhvsE1I{A24-AV@)}*$x6$AjGyccKBV>fS|T8;!(4ArB$Cs)=SGY;xf?@g-zSJyFl0mbB*79RPdiu+XBGA;P7GAkJsO1! zkQ<;{4jDwgX-$}QRsaWZF<{0#;fzL25xwo^)c46N;3nNfLuXN3b-XQ65g*}y8L_=R zt-kg#JqyA3i;4=Mi$wQ`m!?i7iM(o5Lho^w)593&^nw35yh~>BXP^OHij_*^`9r%J z)frndF9cH2E=_jbnme@QQp5MDjRhrc;qyj0gLvfsocyN;pkx53y0HrtF`1lL56yS} z4|<-%Be@BTuK*oJvvBb_=zQ02Lfm}+NK}x>)CbalgYqSJOOBJgBdn1fOFh%Ba)D4! zS5jw7+W4W5NTbtPj%Z6@Rz^~`bxHRG$&pjHt$8a*iZ{6u7H^y4;9tEq(Y{?gB^k|n zhnHgZS_7*L0aqe!2Y#z>$H2&@ALn!&CZxcECS2fd4@HKkk+vP;5%tG$;eWe*MRH`m-aD z1pe6(yj<9JWS~N|j}|+6TSoXdn`-&fwIQQ%d_MA^Qc*-_fedDg!X3X(a)?Aoi_X4} zcB~#uwy};NRwM~Fpdn{U#xy1c!ywYmV)%5_sPkty8Q%OIhxIF!KCUR9>Yk!kvV&7< z1GDd0!V|qNUu#-j*c%4i)ZF&i4pG|qm^n6Bu=njA*s#B{8}7ssyN!e*O>$}5{BZM? z8-pukM8j(#E`JTuCFlr2_1Og3QE;HVsRZ1$3YtNJzZ0DT?6$*vX!(0y9NZl7rUAP8 zS^A`}!wnf8tpz%RD4$c5rVK@a+IZ!df=!5t6^M!XRP&;kSo;89+U`fO;|`m#%0atV zMLOu(5+E@=Q$Idvx9+uexg`4Zx0oZ(RZtrP3`aPOisI-q`mY>~4B`c*)`&6JmNCp> zu?(sRD2sDkeKhYEf<}C1aChAc)ju8FPmK`?uo*8c5dV9WLyNj$*TgZs-4<)HsMzFurjR*I#`I+^Qe0)AQ9BbY zn&{`aBuJNQGJuX8FyT98fut+NURKDtFD=Z8<=xK|_w|Gg$ihV}fV(fP*CegZPaC1%U{JsESywHF1mzq;s&N8AUZ+FQ`PoK2&Rvw+qjC z(`rdv#P+4QP^90J+#c*|XQ1#2p?g|k4>g}~a1$XZlHzv@w80Qz zdl=1!pyk?EyYpzZoz3I7OBPL{@A10d?z^ECAbn6gWgBJi=;t!~dwNWhMAFqRI~(PP zCKX z&B7n0i_hP+PTIYi#PdHm(P$}%m&4stF7X(aXb5m#7T+i?8iPrI+_@o$zxPh_5V$(> z5Ze%_d+~qp8}c{}Y18e0>31hs0IMt`_4S{e?BKSN4Fa)Y`9ij>+{j_(=WNU4HsIJB;8y5%^&%=OTpgYVTqldu*Xp;5-`q3b@( zlkAzp^5E14qjDQdQDDnyD7}WIuWM$tr$|W&sM*sxRI!XjR z4tkNg<`*@>Ulz;9JW+5B1t{i0I~R*r9R_XRl{vCPh1#*-3IBIyfIr%oh#;P za~Z$rENz~wETt-BWO*H4HQW9~3^ng!T(%M3a8wLT{+NdK!}=-Vw`WmgiRwu!%y|#V zJi=MdZ}=uaiYM5X#FGyuXihv$m(_Wz(MGONBP?qbYhsZ2tC?g*3#nl#a zn%tf2Fd5`Z@N-Z7p;|2 z{$$o(cAB>7{?U3R;GVC3-kLTWkCD?&mhjitd1b9G4U|j-;_=mINlr3&NTdi9WqS)q zcd$GlHD%uSWM2TzkANb!OFwuEq4X{5u`cHb4@P%AdBiL-Wi3z^a_J1v9D-hw5U*OR z7}hMfh~*E<+sGsl>=-%Je%|0~DF`YHd_GY8fX6RH&|qY`%s`I7Kq!A=-Ok~8t0aaJ z%Ec-<4sS^)~R6ns7$hDMT_;D6&hu@c@6W>7fb((t>a$79@81?+=X z6Vvcw;#QiP5v`F&?~H9`_<;du!0Q`D1_#k5uvJtDXpc4kj`s+kMvZVb@a#+>0EzZg|Ql2}IvixWNb})@-;b z2B>twMJ8fSDYo`=?5Q{dWWrWEGHkdn+&CaaVok+r&JXKii^uCz>!xhn0LnfpsZ(ek z)m>EnEuy7V_j^B2S{MGp;JB00db2gur|$EHOw$q}XdpnUi$0NsBpZ3zoxaD#e7uK{ zM}h)h0Ly&y>q4Vlqg{2Za6e(xzNmx1h<$;`GFh~Efr>sSr=#=*C%EupNx^_Zw@dxE z>GwYj2FS#2(J!Koj#IBB6yY5IRl-~oK?s#|5bEk|G>0G-Hp=QaFfK^A(y!KTyXecP z6Up=7J2n7@Xk3M+=<`ye;#Khd9;#F^<$Ps|Fx$&V#wTx9Gv)Za_cDP9uSp!S@ zlpd_*#llB%+ej;$PKDp+OMJDapWkn599$o~cL6-cUrz%9z}yGIz`7r0%~HK%UIs-5 zDpRd`ufhzi?u+LZ0~Z4;crjK?9n5m}q<2B8ILmVPJ&DoWv4OJ!!YvZL0^*!wAn0qL zk$wQ*FWYq!TV1ok!Z2;WU(2(l^cdp`gG)qAPXMGwqOID>rgsoDD`75hz(vrGj$Su>K2w#Yom^~@Hp*F zpBwAyy8jKdadvFmYV5|gZ8Wx%rpb9A{{yyjY{ygtttUNz^6^*J;Ku^*UA zu~y^~%#@@h50vH%tn#mMc(Tm>uBo8gj5lgx9s@OhSS&Jx^)_L1VRQzfCFtOaRULst zL5P(qRu{QG(yUPs z(0m;3NZ|!{HJ5k*kuaX|Bg-?wR5V^g^YE z^!WxyvZ37&NyK1jq!^oqksnvx^+ zUufIQe}Z>6H`ZHpK$>Km>garEfg)~Woy%LRJmeb=ib)|M*FqAF+H9CtQ@&{bx@jB-&bnsBo|@k4iA`b-R$-CAN0tMfSRV4 z&bQOIA!aG>=bAv6RZKm!e(ia)BntN2zhKENLS{-KWZ^55NL7}g1Lb9s&8MOzoCA}G zgbCfi(rs%*QhS{;H9i@iwTGe4XR?1^Cd%Tf)mermC8b46 zI7>A#Be^!GG__R3bWRl~%YoeTxAoC4Th@{_g5M?cfb$wPE3XN^^T`yb&y8{Jge*UA z^w`y{^y$-AS?D9O0zc;YnB6sw4~#My;ac#P=T{0|GFJV8g6ubq#bY~id|+WPxv!i; zv5!-dX$qw6V^ua2bFOk@T5&;?pO>lTa;UHh6u~65MzGD;Q|`i;GY&IPWu$)rJGQ5P z(kJtrR*=KeAo%kWMuisH>3@Imm=^>l_}7`_s{ud<1j(xINuUf} zeqiv*Bzv-6;vO`gL0i*;L;h&{R)qGjtRbEvgclm8n3H1u(-tK%lYu(co9JY#$D1fR z(9AC|ac0K#Zmw?HU!pFFFO~8CEkcKQIT9)mH3UchO**~ei*|j|Y?iarz?wO~V>hak zNC0S^ubJx3DQf@=)!AeEOAdSBm@2}yYa5jbQW{ttun68+3HhU7E5G)j@BiC_X4Z|Z zc5q@2t)BZvPIS6mN7#x4nd~<$Hx@YZuLX4z0;2{jTmt8?Md6c|$LcM-e`J4@BW4PZ zNswdnx%zlv@F3VGThHfxR|kY`I7QyqPaCI@c?_+3tOI;<_;HWj40#s@&+#xCc%`NMp|^q#f}uWv&H8khyqBk#OO~UVm&dU?Idz=H0okQjKqO+ zxev+L1N|0S9owaEyk=7el0t^;lq%e;@dFokF2&7HEyp?3<1lSft0*nL3mRs1YEpReF|VAZ8yH_h%sW-Q0QC zBuMH`T%KmLZDmScn$(=S_&>*nx|xguQcc$QP0h_%YO;#mG{&RW2%GFU;W6{vKF5Ob zot=4{LL^N;T*of2V{ju;p%xy<#`#$Z{p3ir(||v(C$W+8d>J-FA5d0(@&{=-Pk*Q) zLMIS~A$*$+B>fZqQ=jSd5ipt6@jVDW8g8k$damfYZXC{{iN449uuT3PnjolD0J4q~ z8DP|{=n3%dsBE}+^PLpx80E`{ao^CMar5ra>wGcwJf$le;~P1Ic*ySn+vaAvonYf8 zcmjflS~5%hUN*;mG<}!^Zi5i|2XDl2=TxPzXQI-W<6; zVpO_%M<6u-JH&kIE)&o#(q@tJpPG<5@&M|L^N-GTtq4vDVP-Ri9`WyNVOL0D9aFU^ zj`*ZuJ_r(x+5;?fHPS-e=!yKO_*S2DGrI(Oe26cFS{o{xVe;?!%OOc&iL5^_mBnG9 z(1>88;;CkNq`EkN=HRAmvc64|bC=3DV?zFW(}AVq4xr1$XN$%|v`v3y1t+SuDg^eG zbjo!>S`=%oF6hEtX$j3Z55MB|XfvZ$D*`a;8^?E+)7~ji=D9QJaXZ;IrLD+A-6yWl(;0j`SpI>{zsXH6 zH-)J%d1*`e;=Y~P3<{Fbe3Mgmkfjlb$xXp6d48vRpV3y}3I+xLf*)+WBtr=zXJ}3n zm3pgpe8GN&i%t7qbhP+FV1h9xqPWrln?U-Sdz>gCm$&r4t#UZayD1;-SH2T)vro&f z;%`5tib?-ISw^8Rx?A$F9U%pnJFOnjjY_2)dRg4DaBD$wbK_^qK?`QV5n5u%js%YI zZDRoNXh=~Gj8dVvcAjW6)-0vkkR-ph)_dy3tsCmYE~v1&f&b z`?-Hte^y-mB19!f;f&~a);YWn3N)k&90K!yb`)yfL@A^}EUxICAVe~sc0)B9FeT*U zfY9{MMMF86x-sH=vh#cVHfST1j~a4`Ujih|S@;;(@qAn0P++oQ5?uI-j@ycvWScA> z{?A>VCC#IPuq#LKTvLnoLA7=u)(3vhZ;eomkZ?<8U6>z^MTKEBZebOvztCIAWAN^j z{UMKy1ctmgay0*P8u$0c8DZ=#->;kaUy`E==&A~5u$xkd!mTe8a!r1KY3$`63nVZR zBTCCzd9Dt)cFEY;P4m8W4clTOwiUxAm_QlYjA%a%s?E7QOq;8epvjQ{gAXeHKs<9L z$JL7h=uk|NAS6X;|F9V_{U#yEg9G%g1#L3pA*PYASFRg1WynDe*{E%5 zhEHffuiTW`K*^z~+IEKce+WTYITE8ajEi71O=~QfJy2# z_~@-=K5g7Mh7`s;4xzWwQKX!S-toxbf5>FSuxnPKt?_py?lI}-ZolG+bb^o5U-_u| zw97T*gTQl6<0mhHjj3KqM=%Y*Y=1gF{ktjez8)rx`0+V;`<%p3R{Ap_U(yD~WV4n9 z(c*+BWcrn5fdS9gBbhhxrBv%!WxZs++y9^7DE==vNdF5Cs3315Vpw4)NhQceQ!3>u ze|Z-}@jv|>(LlAQOi&qUdlmz}JilLK+FkSDEWr*v(IKeL6e%ujoj^Eq?B2{fZ7o&S1^| zi;hzwKWeU7*9`8U-TwAtLyg}toBxZBx?V_32$rwQgFgW{9Z*;G^vj4bRdZFqSEasT z_K1iC104cxH+u^nHT3lqT4w5Ea#Z*g9cHwo0I*D~Y_b~rS0C>gdnsmsl;h$LqB~!n zWG9q8FGuOCCE-VI6klHoB2%|vG6H|;XGhQ#p8OCv`3Yc(v zeqWZ7hr2GOL?{522gD;R!p<>mw)lQR8Bex@USV|OiiJsY}P$E z++`>2UleND51BmPur|YFqX8t#taVp$+AzaFjLu{>B8PQH*b}p70ZZgQ!>;@RN zO9Uw|p+<<@RyJ5AvaE%~7avGXg$=AAwrB}9)uojIPu;_!L{8N`$b!m|-;nMBrGii< zcHJdk2@=GGvaX)>%07t>gYKJQWzZ21b0%=(%yAACx*IJB zzJKVAil1w*RL2Ow^Ii9vYa1X+jSMDG+)N`(Hn?3Q0+4q!eaL$JT0&eyo8!B1HQk4P zc~PJ()-$19+!iN(_dhPfZ(j$$eRoi}vd8i*iolXFrTw(Pln?K#!}9m@%)RzDHwg{u zmAyz^Xq;uk3aCIsX0W2zsr%@@&9Pu!`4=fcaNIY~*18`ve4QKUL@ zr^DCQ=vdJRmxT6#E~a^mpXsCa1~}7blQ7HdzV}W_q9|CDoztnVDHTu4(#1d@OW>Dr zr4M-)3|M;yJew>t98Pm*R0%jgdLY9SylE58%hmh|RJ(m@3pa;U-TkCsdctB28SgZB zd;u4I#WNe+V}D(dX2dGe%<%#Q{#iD4mxd}1sMg;zt9fH;r-haNUxdZ~{X*Zevi(1p z`hVx2|I4u7t6xyI3;d)$e^H2y!dGwt;>0hvAR)eqMZ;OmR(w$q1*D^n=Zz-{FmRV%0URuY( z40RKc5u8X;%L!1?Ww%xu(*PvP3f;irU-5{pJ|d+ot?b81?q_X*cmE)8CHjG}NDiid z`M(fzv%ipH4#@ioF;vOkdX`M61X@3%k^|wMTaQp%up}n1Sy=ScE!&rxkF*WNsF!yp z1@5o88NT|CThSxUE_&)LA09!c+4}`Arb2MUx3dDJzZIadI8~tQf(KJe5G{55<^EI9 zg*A_HJy_4`0})!1Nvd_1Y{21*I@*IL7x>~=m?>#Z<@Mmj(yMY!QV4_42ojg0*U_Xe zM8mVKRsH4g@o|l-)oZPmrhNS>5RG>F6ji1Y+mixc*b6a|Z?)lOgv|*WUHG? zRJd6w=5G}9j!_~YXMSJ+^6?_h!pIBb@qi*{sfcb|hnN%7NaFK8P^tWW=odWC%LF(I zbCs5ZBgBid&urf%y8Zb1Q_n?U_`+Rh1xQPuj5HMwS7^Lw8uIm7GqK5UeenC*>DG!e z%e61RDV>=5s8j5@#xE&K8+;7i4o!IQwt`q&LCvB4zb2FH?c)3FY@&BT{E>sHGe9>@ zp{6bd={it?mT~?8X%yeB(_BZtx=v2ZHHY46oAa|xPW6Dl5`SU8MAAQe0z30`L>Ixv zags53YOWS_`aex)3-y`{R8vb6$`$h;D82=X``A|+O8qmO^<0s`S#_M35vd$!k*Tl! ze~wfB+|7qq8})g9R;YG*H+If`X;jN<(Oy2App$3_tWaU|{8Ap*2au!#LF+74P6R{r z8N!z6EebAMq@u6MA$a@;W+!7aMYL4+Ur`4+NRbfQ7{0%d1C|6&z(x|_Bv)o|uGE)( z;j$Gg^doHHl0>r3t`NPIp0e2oT98Fk83jnm|m%+y%a0A7+1Giw8c@p7H+6JDtxJ6rA>3 z`*cCMIm4_&6J^hk)Fo!Acz!Sv+BJl4CsCX%?~sBbB5MDacVKLZGvw$XHbXE55ONR% zJP>v=i6$E|PM5Wgup~M|%-Y+Lm1s5prvmK=DlPqS&E>9edOqz)j5iwWSKs=3w~r7- zx+DcJepgzQFMl%c>~djQ7*)f6jqAd~0l7Z|?CoNEb}SWpL4at+daZ(2lk9~-Yg}Mf zXKd>X_W@cXVTzloLxfp#40@pNvO}-{u-a5+x;zF^XQNW4!qJr#*9TvDT9Ry4=gSDk z(5@ZD*ppxhCwoaA5Ii%p2w)@|QSmcsNuKe%vl0UrO6^T>9^A3vk8RJ%iLLr|G#rLz z8oR}yFM1$AqjU_J-HEyYG9C>h zd#Rhf#Q8kGtv$Mopbz1#Wf{<-Ga&I_>ssW_9{{`=X|Fqoll`J}cnx zoKMLV_X)?^Vd%UBQhiY&ca!phxh8!b_wBiRbbFiF!cRz4whnzAv(&w`83M2DvgIQW z)|ob{BFr{?C-~H{3>+B%>3UQa(GFg+Btd7jI3OIMU(9O zd#Xx3ZX9q|lP7gNq0r=&VutsBXM4*~A#SncF&>Kg43(v%!)^b8@+}zO&p4uhPkAjk z&>ov!TwacFa=mT_y#UR`TV!fqbKUtC1LF>d_yw+(b1ZM?`gF=QzE9u~yf0~jXPhpM z${(^)u_L!3f!B`8+XMC-&e4YUf+<2U8we@Eq4nGm2Z2893abm+)A_#3VrM#IJMRn_ zUhgquIz4JRb^Z3&E{%*X0ih6&01FZ`DF{H+Ki^R$y>oe7h&B|HwNfc-f7O0bnlD>2 z5o_jsK}QR3O(pqW5FU`^x%CN~)v#MJ#43)*?ZS{LQ$`Apd3L#{DtNRcw?Z_oa;AhYi3m<+HiDA1o8ancNix+ZVeR$Wr3vs@`|Gp#FE zP~2{bpWN-U6ODWyFZ7YV<^_Q2)QHt5VC1DWZLET>qM|^DMZU3c%Bm7FIYK{-lt`c9*%?f7>2?2N<%%(+)H=^u1qC0p6nA7Z*S-zQP$J5Lr67}GPU$8>a%QtkeKZ&Lv_@V8y#bjiU zqH4u#?3aln*Cy+~C8321r3NoJa#6AYqmuP7O)G;ZFAbDb-$Qat*Ez8rhG!`iYR2*{{ZmIfW-7mAaBBG9W<{hv(DTT26~>E$D3AW_cl$vZDR=i*5K&Pm03b(N8 ztTKmC<|feVqE8|6QUEfYO1jP7I8^A}agK3a%kZxo)@#@!&S}Zf&Oa37Ux+7fTckuu za-RQS#h}AVRE+9=!CjX&Ulx%b`XfymO5k^39vX@n#O}975XC`^Ebs>Vsps-?eE%Bk zesP?WH}Rn{EdOq32jo#ACpGM^IM)gf5`i16{wjH7Gl3AEa2kCs8bXmY|9U6WWuWtq z{U_7u83-e%gY&VM`KN(sy#r%U=)kvd@_a}GZ*aIqbJD%&Mtf&GQV#`Clh%%DG} z-xCI|(7HnHu*~vx@Xj`#1G|{_@xAx&W3ACz8$-AHa>aEVFhMV~@@GY-wUsy~k#K2m?_;dfG5Vjn9|?4OqV zdT0DL2i1W^q1_;-u@r*=x?BVYJ|T>zL7M*+2}}?;1r!Eo zG!EiBQ2ReY-k0TadQC?C)c7KhizX((1ftjc(O)UaWGozR1ujKw_wD7JXJ1u7gpSXO z-TMA+=~kXNu%H4~(!rZ4w9CRFD2AO?<;IdboLf9VLIzfhM=q+M=6ahmXI?tTnJ}j) zJO+56X_W?ZYI0VYFHY^m-n@g z4U%7Wyy02A0F0s;%hlHxL`l=9JAuA1e8LUhUMq@HNZ5xKGQ7JHaWhg23zN;R# zmz-W*o7iwcU*E?U22wtvm&aQs0O@t4SgQLWxazUw6Ow8~iv`pXREM;0>+YXe)r_twngIN%I`xTz-12_rbWRj zkK;wjUu}-`Bhd4i^`0SEJ?muktum^se#%}jvHT%m(1~{f&3v~9jdZuxo@c5-d*gyo zZvF87K0Rw8T7R8s&-Q9>J`&@A<~#7EHuKJ=qsqE=8YTmzt(of3=@LC6YOtBxQC%-K=y{t%?k3W?Wt{v z4jrA>d(f#bPUl_VVm~F!i`v{l=9g6?b4jTD=n3Gs+zmD~?xTy(89_myWgDPOOr1yvZ+s38{~J)PGp`M0ns67+ zPDQl;xP4`tgMdkL``5+xV5e*Iz<-SfkmuMB+S*6P+n+aXcR|5ld|gUk--B-XQ$K!UXE9fIJG7p|=@(mRYFukAnp@I-@%~&A42CS>?w1qQbbOu~_ za2XO?9-`=UM58+rx~|Nk0Ji8DfTQ$#EVg)B$hQ~L41HmThAB_^_>jqSFmcMwHGTB& z@z9EnBcwl07DX&OM6!?${c2FWkxcDuEna*Ul6)Orm1%NAH*YH#)oPkxa*N83lnO&d zfL->RkC6YqJDLDJ(i6e};Ym*7hf_qgQeb<11wGH!pAcmlniZv6)+aS()?MHNs&YSS zY^$(GOXys9COF#n&R0MEs*aEwAlyYn=Zwy`uj0ePR;ZCC+Uxmg=UZ(-BtdMDW_Xno z@ytKo%xxag5dsGiNHXXUnq*bPTDc3s2fkDmXD3PosNBHR*x4Boo@!I{(dLS9ERu;{ zYB;OQ#H|B`>3Kudh2E^H`}OSS?B-V_Yn_;-_C`dV=LQ;(g>py3aEqCqWJ_#J$JG=u zv|V(}D71H*w4{_>5G~Oj5-(l&_8P5gkQSX$Jd!{F(qEzx%KnYFJ#NBUf~C6P1EH%y zEZqT`0ZkxL>J8OY#I<#eRai&GesRi(T_Bq-?z};Oj0=OmN(dx*#i%Jrf*yvs00mQs z;=GDK&KF_DQD`U`+B}REk7Y0p8oBl0Q=SGMq!`5F`!s886+JI?PSt-e=iAN!&bPV9 z9M^{fMZY<*-lZNN+rbzb)`dD(*t7wEUWXCZ9|rXF+j>9`WdTb@-ukH^xp?T$f4U=S z7ew5I<;yos^<$iY3~ILafw!r9_vlU+rl(azYqsm{WcX=q5Q#i&6h^=CQsQR~Kt?9u zIl-D;@B6Px$7z(~lEDeLmzEr_t?>YItJFNDWmn8R6z1FvgH2VXZl913n6c-PJ~%V` zpDv){I0zI_{2=%j=$i`^4}$mtegFTIt=!dp4Y$6Ig|HYHKmCI?ApR>z&HojosOyiH zb1$hBLY_LVCLU?FljGydjEijh_@60p`}f;}_uH|WvlP&}MPknU@{s)rlsYowkaBVf zO#iGC6;F4<0D+8idBQz6+B!!E&QIqrc70X75wg?nJ(W4X;(<(a3ywc$7Na>{YVlM8 zMt@l<^Dx4fI66A>jdNJPGc zy-40#C(+b;TO!xiv%W~O4*G|+5Al_446aL_$+cnzIIK=_>*U6$!8Gxm|#9pN~!x8{j_dHGVb z*F6%KZXqzm0ZNj8is9xZG8mZ*9?C1aXkmDHEoS?*xJi*t+o>rUV;B#*8yOFvGuB!9 zX~hqK^Zp*a;KMx19i{qhpKYNH~T)Xuo)xOL8wjN`Jm$8H@wz_~ zYOeM=VdqzcM4VI1?U_OT`JqyFYT(F=ILMp-k{3antDi@e=?CK+`|? z6k;3?7!;Op|A_;Urb+bII-XZOO83qy?FSwuIkL&oe-r_pgMRs=fe3uEp}?+1DTc!bZ8l-WF(!`sXbP)T3=oBtXmuK zSh~6F;WtYA#6&vxyhqROkVTvZMmeK>KOC{V zrhV5lAfdrC@PxoP)OfZvxYXMDPJcB4Yyh94v7Iyyh9;-^rVj4<_E~8=H<6a9wBfvK zz%Td6O3O8tg2uE@o44vI^YHUCut3R;m)a13T{LE`#~e5roppKa*=bO;cOE#Pr{;#V z!WJ2?yx{m;m|exqc8%@2DY3$6zN)jU_7=ql|0nL z*r45(hg4K-g`DVTE)nOgAR6$10_&+xCku>hExvpR4FF@KB=&gyK`tChfrURu(!y`f zDqicaLbK|{@7koDg;m#!FJowLAIX{(ROYebtT7dfrwF;YUr85DaBfx>uZ0Iu6a|i0 zUN`L~-+keBD3ly{;Nr=(c<;Xj^!UF0*!;?tm96NZ!*yv%U+Qi;xLzd`%Ma!fm?{$q zC;%)?i>SgpAAS2{bJh5SbB?^h8fUG>@k=5)e?~!76k4gM?fU20d<(p1=Vt+l<<+`n-3a9|7 z2t9sQTg`#T6L~;#1v!+o0?DDGYo%ia`*bFWk7YHUo`;@Y2X1O(AQ&Dg^mc103Gy?` zpQcXLvoRAlv~N>wJh0R4nHu?Xcv?9&93;$$+u3o466W;JotC2AAss7N63I|0w7jR1 zO^=Dd_&=dwhoab~kE;GD^hET-Mp9k@ZMN_Cgq{MbzqlXDXSznEVC zDLeqUmsZ|mpk9q3ygm3&;k_oi?^{9BsWk5MUB50~`d>m+OD85@5`DNxVdRw#l*x1y zO|LKY{?L6*RVHDzklfyBr+Rf5NRVk~8Y|7-870LromJ-+e9;f5dx{+!GeE}KUpJ`u z8%T7B|HrHD(ppKF<3;hA`jWJkk%>e$U2|eELqV-;_jMr)DQ6Ez>v3PBtR;^8ez&s= zPvmZ3#!yT#D|>Z4Esgz2AWu$^^{_mxwSfgmFK`;SxmELz}&qiFVOW$y`rPuq7Nac zpq?4p+aa{ekRSZPQH;|PHX%u(!0YnVgCKfmE)=#vtisX^W|CY1D#)l9bH?nlGt>io zKNJitn0dS-3j}_HnEcuG@kLeZY9j@dfr8V}4 z$IS8GLbz;or8&-FJ8_Ol26F+`W0o$)ey)^oD;(hlc+i4PnMXv-}o=Ya%C?&1ZqBmWO){M z!=q!x)6K3T_^m9Rmg+7Vo26l2j%Rs85lAF@*M-H#h7-q($=?^cd$z~s^A9^4Aap@S zIZt>is|Z_MA-Tv()-u)65~N=qppt0JZn;}=O|&R-i7xUvOS-**Mk;%^qmRIyNT8R- z(hALI2yS5IYD@;7TeK52*!n)XVBY8nub~{GoPyC(mHuO?o|X;+!X)-IsJ7~n(|G*# zoTLjerk||?3exS0Xx3&`(^o@he@+~ycJy?G^KT4>9KwcrXFa?%+Fx^U$t0pfO`B(#+f?i5T!^B}6@iL<8I`pL|3g>VI<8Z(?9=GBQw==Q~z8D_81| z@$A{mg0M#j1p0o4v%U09xAGbxPEop`t+pRb5)EBtcf>Atd=)f^2wsL+7 z5Z&$)bhi1Pdto0Y0o&Xm82cXFdX@ey!>9H^^>Z2R$$EHLMH-#&Tx;9#s1%AH5)W!B zsq{d1rW94|sC1|T-83<-(*(-ky#J>KtAEwe^zVKG-G532dGfi~vIK^Q9!iS!1*Ys# zUKagYld7gNG`K+ReX3YJX&_j+^(eS;)SyGXb>nzVAcjZqXtGEUHOwd=Zv(#^g)mPh zyznj|{1t*WH7qfD+ioaPjO4EwHyS%a5Nln!a@$OO)liUgAv&SN(m{DY#hw%k*5Ax* z{dPzs9~MxzZN*cMK-~8+Utatl#t1keKbgB^TlcU1)fiE(IHx4DOMol$_VJa!p2L>y ziK7tqi)d98EvfUHsAYetb2h<0EIy{r-Yj!37)H6ghwkcqN@POT%7XuV#rNNQ&l9@z zrB>R3pp0D(IN8yn66dWViaJ75;E~51#g=``oLm*AR4SuIN7)zS_q_4h<`21Bmo?NH&WQ*n3PQ_K>lodMK1<9Y(i&A znJO;VS~OZ89}hnVLwe$(0j!_)YfY*V>}xu)I2vWFpYy?FWs1X}Tml?mcD2t)-!n$w zU^UIUAe_Yy1iCM*?=-%a^b8%E8i!j8me9 z{k={~!BN7WHqaUvr_z6Xp&S%+1E8#mj57+nwn&ifr%IgKZ$v&Y#`n%!S9NCzBdJ6P zMX*s!^6=7#YLU%)is(q@Xp3(m96hrtc|N8jN>Z?92L=Tx>ocrU`3WP@X3nGUPH&R) zrJqsc?%9K56O7XEk&1|Cz5-v9Rz80`JjAU7ym(q38=BI?xPVy(D(Q5mw_n9y&1=c2D`51fs?-SN@Fr zGnh_7V;k7mnq9=CHx+8WgD&lZyq<3*8ASjWvY1gNQM$Y(`U&CPX2kG+JtZtoW)fx+ z2NP>JzAr)2|JT*<jW9Jp zO3tg5B3bSEUK>2Fa#)4em$Vkf<8cihLp?0tBT}CcbjCW+S%E@QN2brk zsB-3e_wz27YV*FAzuMf6zk_Ak(ViFmt+6U8(Kfexs{P+o!4fJ5Ex*j4m z#duUTcQkyMuywpXwZ6U#@aK zy(Nir<3QqBZH|oby|*1Gu}*>27Y6hlm+{?}%1SPe;MkzUGn_Q^lq2%!8Y&GvP-1c!($%aR>goqp&k=e#Rr$rMXX_p+Qg1+RZ`e)dWs|O~H1I zGp56xpiDB)0V`c%Mv3@O_BQPW0n+f2Y;<&ySU}h`**?wk9bo!jd+OxXlHLmJ3XxM{ zahBfP6Rmb_w4EK$Vytw|<8}7$Z>l1t)f`q@rwI68q%Ed|MO8MhdsZ9cW|wPH1h(_j z#`_&H0&Kl#&5&j%t^rNc*wjzs)^tYu90|cx3H7O~Tbvm)MZqqTlwDI8oAUNSKkn#C z(s%JcF|p!1N==21?1m?&Lj+WV{{r2812X-Xpdu^3_^Yr$|E<W$^A;0H@*L={3_~X1oK!ATL7xQZgxiZuW8Ld?ZBh~?~q?T!R_LF{( z;Nis6lgp(Kpu2jQ*UUtAWW82&<+b~T0Zu#V!xwXIu3_AJaaHR9TRS~v`CmJi69mQr zg$~Zi0y1v+n*2{zlXu7vLg~7te`uAucNbi)Au8b2s4A8>Ta`rug(9B#k1SfiKqe5OPKJ_3KR*b4Bt9kK3epd%y|-b=UTPs44TcfX-=zf0)6iEyGFkD9eKV3?C2xp*V@j< zWkz?pe7i40cJv-9d(unG-PppiWJ?k~@k~z=ol6*Nx@*^?iVk;p#RWx#gdDm=upp&A zb`{7tu?1+?JlX|qcLCnH_Gi$S(!I>9tk(j#EKhdM+in3BX^j`~bEL$rp`m;yFc z(4U-J_f3qo-Z9BCIB9nE%SxDe1!W&Y5fmhZDVmvzqIvqJ|N8_njs`5x5Awa|x+t9E zh4?B>@d9O<#zt!$>L8~q-_#aY`a}(Htq&Hdj|2Ua&5q>KvpaQCgJs3FD5`?p6he?F z?e6ZBpgr)wd2&cNn{~%tjma-V&Dd)+lzKKP0(FZ7XngqrFkND9i#H7Y06Rg^_0AoW0-itHE5O}|P!xCsS+z#E>lTp`&DII3 zj|J^%3}FBF1#*FyEx&e8SUCUF6@0O$#+);xFg8xpMw|7tr0IjZRZ($`8Z+k7rWA*)b?iK)06MlL;ONdl`>z$a3^#tLv} zRZOUijQxoMk7Hf6Lr~GFp6HR}uM(iG>kj~p!fnTPZ0;xS=hJah;m?c{*-u&)z(74mm+XUu|i?2 zHzUYXBcsof(kKE{0s&_=nIA4Mz0anBiY;?%%-|sNk9T<-ICyv9-wptnE_??>#WPxli~sIHS%dEO;;~cegcNH_S4ehuIWpY z)cc+b-{(nB@mhVrX&(QPSK7ff*-CH(WGkE_db+<5JuJIwF|p;u{fZDW&G4TI%R)%o zr1hcg%LBAj&zx=)>1V!TqxvX$YyGZ;$vMdkC~)Tvl%(h`_wBPxU%`?yn8^O!;H zBgyP{$E^Vz|sO=&Rz$a)0G_ zA&W-gVqdL$^1%1@bONIqcwa?v2l9{%vP9lziAUVktEXNRAm_n;h4YQ9hz!B@2hmeR zgJ(tj6$J?JTe!vGAz;5EWkPkPt+iUEJwK%j8mF7vrC6(k!NaWHpPJpc5M@<3cbocN-jqCqm z$DkS#e~F>*jA=Z4E&XxlB(nnW zqKit8dM!&k5obzfk@-{!@ZncXN#xVIM5GZ_ zTp``c3qQOT%z#~rDc1rOk?3k=tQ*yEXD*}3&oPa^;mSFo{w98Fm>&WEFvW5o* zU6k0UuNO%-bFVX3MO5ORn4a@7Pt#ZZ>FZpe{qI@jFVI?w7v@DzSOO4Dao-)|ibn^4 zm5fCY(d!=((nI^VP|jGHBlIdY2@V(aDhnq)Ga8^L`9$YAuzT$3H z{^gp^4cm9U(TCfmWHYXRePsijW<0y=N*>{Dp|=@W{g~Sfx+VOK^OU`UH3CR%=}r3A zh^}7B9wyIq*7xAIWgTr!@+x^ObM*zIk~i$^eO8r7ft%sXFcLu@LIe60t^a^CRx=M$ z%$O?9aWwD=`ZFJPfq$c{Ff6tfuN{03e0!<_hfXkYN|wJ#0^I)2a=y|uyzjpfOK%I! z{-632gi#4W3&su-sD$7IX;OeA0^d?`k-*4>1Wp=-;31um>=21DBx$1X67pz-UM^ol z(7@?CgguJbt6Xb2D2PYWxMF3Ui?k@(w@u9sT=a*IGlmLVwb`Fpa(qQX1Zb*(FH;bi zG|b>?W)}!Xk7r>mAyMB!gwA(faU8%5Zsi}5FiWveYXfVe>0})ka)p7)ednlN21n5HiPCtQ zm4t~z)3HC9H9tHykFEAB!zJCHa*Mq+t%KW5h%TuYN#APDx2tQIo~hV&}c zzl7+RD~Id9exl1|AfT8-%8SGlK_P>1YXCK~Am2pw-O=QK z$m~Ooh-tDHn=r#6b!sE1$z@g{-R#e{gKO#};IxvlRt%?Dj-jS4^c|haz-kQ5B;!=k zuQN&OX!;Ka4nkQak0V<2)l@mS1&^H6)<*mkFUEu>s2*lYkva`8pCy1sjjMKo9TBoc zWey`-PEhp^3#{S^9stJkWf(+22vZ?es!=k8MnqiDpZA$D{9CH_=Gd~u zIxUi2+eIekVyfZ1o#-3XU^!*f9ERlGVML`Zsi*%#D-pB?jxk8!0ma~( z^8IWiQTx%ltG!FdcAbOD*Xg*OD>4?}gH05D{dDu~zLq)mLkl>*eeB$zWxu)BkQ>c+ zYQVHvBT(spec2M5rtvtoyRq@Ma#GO28D}JJWV~gR|BTlK7KDS)nz0kyVUHYexL(uq zj&$xl76F~ZvVYV6{yqV!D>GKT27AT{G$S*-e#UvVOSlSq?201DhCHFpD~y+>nUxh8 z*-NYqwHttIR|76KkTfHq=*Ey}P@`1vo2XuiSqN7i3e@2tQ)|q5nmpG27^KQUx#B_5 zg$_F)4@(9N$mD3N2`qCI2H3(`i$*osdM4MGq_b zJn(hn20`em5w?k2h50a2+bTEph&$bdE4udX4R7wv+5`PUovl2^>hvy51)b8IcDR)p zPrrcV)OLA);}%znuf0y*VDrk_S;4){pL{4s)B=cX-cqdb`!94TNb&#)?H;APIm zg~i-L*8G|C>>sX8vHbKZuhjJ3ms~OPRk5#PGmt9Ba?%sVero&y^Su7^zp4vma^~gc zq|UP$K|uN__bwk%yN}mCY zky0wd*)C0>3xQqcIM&yo0#4~09o*KE=x+L@F1;>o9*WbBiMR9jzO6}OPLGPB*x+t1 zcOq)G+oyp`r0maYQXGvoKF{dx5hkJm7zwQO!^ctUUf6@GDOq~ClGf2hkmw)X%q0z{uhhu<_D?PsQ(@4kBq zW}f)NNACBRr2w$8jt#YN)RsJX?+|~#SF%Fb zDT8B0CseKxMHWK^=+_Uf$?9S#oKQ$4wl*ZYoiD{UJ6p~D6v`1(#u#)NCMRJ7-)H3+ zONhl@MIGv5p&covNY;}zX*y&TA0lkaFBo#h(^4#s@tsI30FG)Cjam=d*Mlkle|UNa z#!Qr^Yd5y7iEZ1qZQJJD;bdalwrwX9Pi)(^PUhL)d;UXpS9jG~*V=R{U^RaO*dB4y zXn0L}XY)7t0AxbhPz5V`d8^15^5s(R8}>bj83~Z;D#RUW$kJ#NDsTxsJXr~QRj&S+ zV78KK;{^ZJ*NIiSFM~66pfS=TIGPuq9()I?Xs+N+7cs<=Ud%s0g$Cq#Zi)PC?_H;Co0GX{c%pH z(urA}IwG)=pX9J7o%q{gN)D)9PY~*(DyV78->Xa0fX8@>Tkw7utrPCewu%f_)l*;# zFiRuon1)H+P^uQSf!~?8BCS%DI;c?6Bk%AiyV_#k1=10L zb1Wi}ka;YMw;OV(y$O~nH?{-Zlxja>*JLhJTIY%q|M(VdzW{*|>AHHHo2m%$1kmLWaIr(+Q|Mo0#?bR29E#2ralE0N# z;SYe3V6-eal<8S9j~~x?!cg7EFV%O6>iMu^jxxDe(CCoGEH;(){dm!Ftc(lcloIn} zQTyUh0;{yCGzn*@`N@!s(eNJq< z0RZaH<&W4yYG=5*WNMp`_wvM7DIr6m#YqmFJMY{U}ibWb%OX$Zh^BqrswD3DgpV!CCpfyA!Nf;p1mIjvlqt>(lIAG zG%THvjMrA%T=Z{8l<7=j!gT8@Gt@TTfF~dY8(zl&Ck^)~Jx(3_6sLOkw|;iH&c@4F z^`^CX!8E(}PPdfMy@a>0wMyOS%jm8Ctkngqp}t_WvBiG$5S1JzTSyBX@&b+e@bTHh z%WdjbbQ8+^B7wQ*yQJyh;lULSpprqKqVGT6bK-(1Dba@K+c|! zNZ_Tzd9>A%d(hru*7|T1S&(ya`jt{F92xXNbf9W30=1=rjb&`6aIU*?u(M=$k(G%= z-quQdA5-8tg#Klt}d+b-PmW%RrJiSsZ9DO#|+Fjb_i%D^pJNMO$q zcJbUk>Fo{-^FY7NdAdOUAP{YY0eXQcfqW%?2hdWr{4vf%E+dWiE3i6T&aZ*5ciI<% zdb9c|${(xR9*)7+vS^NF|4u)`9cr6{O)tM8I- zreL5NxHk(T7g=QV-Dk-(mu%3Xn{8+?Dtp9TiQ0Rg)>Mb{;Iss6N#<2qwIPuaQO4Lf z$YZnG7l>V2g!BLY)hTsPU}!0*f4Q@w7V!dll)Hj#XIA>%REaQ|LL$7=ithGf)Q0v6U0fuaP7N4D^ zI0xKhXshqq@1YAAtnMjxV`GRumElXYp%NML&vbr~*SbYx$yEv|=xu{YePf&j)bpM0 zNsJwU#`OHx6(No~@_VADefcnQbVI&4$!2#8azsfv;j3}URcn`7OelQU#_i6>ua+Af z(-c3Me~IhP4gPUd;%4}EWgNkT_6%yFFIHGDv`W>=aE#x&)nZm#)u+KmSmoLvt6!{# z;N7)bz4?1%M;1TuiagjUO>PEP0HH*qtDO=4*{0e739_oIxaFtJu~0i0L(Vs+eSFfuyY&hoH4ZzxKuN1ODOIuRm zz5s5YNu{^QxjJg@dChmL6qX;h85a}%AoOy60t@Or2URFvH4i-cbkgY5wd#;+`XsvJ zc7{{i#h+^Ksrw#6?+9r^JDBNS)2?gEpTvywRUVGvnJ7+koDZIP=!Ca7{jIzn8u;t& zlQ%5Lx@CnX=ni!v4}bs`1m6C>r%kDvgfK8OsjFgd^~^mDBf9QKY;u32)`srHp%9kY zH`M1KfW3l()zP2XqUajvvDq9!&bSCgC0%)0x;r8Xi>QE$O2U%C@TpSf6~EPE=HJc>vOzi1q zt1ppfnAq@h{)@anCh*YAm_k*Ne{3w&>ygNFN<+<{`&VM}8Z&*3U|ILfOlgs`W0J04=rAk@rd6X<`8?(V$Mc0J6mXK$seF#U! zg_1P*@t}u9N~TnZ5~Bc;H)Kq(^|NE!RGgCw*Dp2tr@%rq=V6qR>8m6fBmAKCq~Ojl zXj^f@)r(15q!8CDmmJ`+K4_)BeZ%q_3Ax~aiVadj4#` zY}wr}K;aN?)t>i25$%|*8iC&8$P}g-yNzpS&elPLoc>~7&)DL)af93>{L(vb;o%25 zy%?Hz^h=uri&j!5c_p6|b1Ergbp|QTg<-t+-y_C~WULSXq}z|`9()2OY8{#@6cK|l zTfK}?CV_-^fkAC{%DuMSk}xE!G%p-gY_em42;M<$9($w;7hXC%$5$qut(w~-i0!Uw z=}B4+NKetF=yq$_n2KC2P`K>KD)!`X3=titJXX|ocDH6HrQu6q9e-o|i*hskJO40z zJuJPQJY*g~lrem)Dz^?IH$rAWf`f~$zhNqdF{e6|w<`9`5wqktl3G;O92mTAvXzpH zM7~wJ=BqO8Txjb9mCnRiiO^n~Fa~lBFeO2u)D9ZzEYbxWu^JnOb>m5ODeNlKL9V246S>p{G(;xj9c64dP+t)N<$Zb81GeV3wJsMco zlrM!TE!xEIzhFY6ti@gR{l-}?Hk5dQB9vjZjFeYt%8<*+JaXbV=DkhF%S$`JSMykK zh$F6mTu#Q2QvSa?wbT!|Zmiw!x)LKP_LU(b-u?d6uoJt4*AV;j>BBtb-nnyaSN>_n z3Trk}ZVr{*d+kTql(}a|@s-8)VK+fl zA!U~hK&<^k7yJape#~|wo9e5*Ie_|Hj8D4(Tz$EONAX~{wDSu`9v6ivY4DrdeuaM{ z1Ey_4L$jw&$<`h>`?_HeLOazf5yjV_BxC%xsPe&+`BFyOQKUhdQ%O`%F=cTG$9#(Q z_~t(|{0pt>pk1N{)m>bxttypLb*cvIAimBPgE6dJc~&K%)NLV`%`L04k&Q$TIT4-# z%`k?wVJzaxv15@j5||26;7m3s4~5+7FWgy!=57Ttcg$moFC?-oL2 zayD$Zt&|XaNU!li?4yO}QGWgrp!*XK<%|wju)SC0KIr5iE13@t9biMKZi7I?eYhVj zuRkj`1cAiujmjbcC>d{+zGL(GJuK=q5;dE8@l_XPlUltO2+z9#ShSFFfF%c?q&c+W zA8+6`Vhj&72pIGY{G-PfuLH!a1MYzsIB`?Mgv@&%-N_n2lix=u>_%CQko*jD!ofCY3}X}3n^?&1dzhMvDc zBVfE-)EV9&zbZSIs?|Pu>$%z9O?qbb;EF=PX57hZF}u5uAw$vDl5KhAI*+lt*LT) z^%x(eOTBH0O%5Ue?Z=J+gkVDcx}T#kf-b_Y?HwAxl5g+ZJcpPC3Dz5TVhz3SvlXLJ z?g-HM0yd{)t@*Ex+{gY0l0Yw175$sm9nAS^KSY#B|#mmI6%#1Z^sOY$p zah*IaVfy~5S$1OK3kw!RBJf8f6oVC=IU9{|zCBO+hv8NY7~`VmjKi~{f@Tn86v?^1 z*I^;3&%}i2DPs=mVUMu3T(o;E>J;n8$qxpz5m*FwBLXyd z>eZxdZtoXozOxw_#t=8({o`<#Ya}QbP^S0Q=!i-g!M|dlX-GPQBfZy=rOSV&{w49h z_4yy^K4`8-!N3PVOAqh?+`XIWDvZl&zw;(Qq;M$Rr#Yi*+&f68@h3U&AP4(vx5m%_ z2*kMN1~q?NQ4{DT!`fe8F9QQ?H74KH_v{SlW^1!Sk3vDh!Zq3Z67?D+xj_OTTAp{cw7Op) z**~QlSxSJ&j}k;HnN~G zE2iU6DIryf27kEoU+FndhQ0vLKC!m)|4OBT1;@#6{=a0+DM7R3-}7{q$u`w!hprO8y7*BYsnkqb zjzgy~jsMPtlA7W1uAIH(bD79#gV5q7jq&9P?~1SvYj(dldSD&|ovHu*m0K#T8?-~qvGy9w$*}$|| zJEtYtv?TJe)<%yC=#*mODlXtCF2_(Gmtty2@|yZ|95D+FO3od232(eooCing$)=f_ zHY0E>L<%K)J$AefJ1I`npp;-t9N*cV|JI=!+M~|j(EYA68c)&+VlW_Rl+28*s(9() zG|4oXcx5G0vO3u~eEMiU1Az^o(n;sap?Vb;lx5BKEfEGZU~4%#>#nn`f6`AFD=C!M zZVPydMdKC3TmuG#LXVx@$nkUNv-K4%drUyWYt9squY z=#dt(n!G@x!wpxhfCfT=`wC~C-mqCT?Bgb!&(}Rxr377b?XNh07nsjLN1w^H|V{w+b#^$*dwKYpEt{In%H}sK) zQp(xRMFkCScnW_y*?QyhqM*BJ@2n>V20S6V{2@%Sl9kHr!i3VvsLSaUGe8!Vg%AcM zv{k9r@9|w8w+$;DuFTaj1$|CGax!g+nQx%3TYpO*B}Qv4;`IQVvM>LVKwQ4mQKPHW@Qq%J4ZfPH=x{Z&{Pcc$476rXf9Op_da)f3GqT|teYej6Ne9TL?5WwwT*<1FRHs=@<)xNE=q! z)0I{u^VfdV8K@=!aXa<&W@7g`{zzq>CUD<^ABeh;?(Nm+GxTOzE&wN=WN|N+IlGG` znk*^yG|tF17{=|%d|i)0v!c=*E9TL5B+Rdn4zVC-7W9CvknMRlf~iLj(pE7X-Lf&ZrrHNf|a9-SEKcVab!a8~!U z?$#s5gE3cjU94yS#Ta#=RE;R3E{Om5T}o3nYNa~6xL&P>yUS{+wK%esy|^M$yK$`; zDq`5QCWlQIJtf2ZD2iUm$-8q^ZzQi)dJl7a(0xUMcRhf&m%e`*4sX4_AxO?Wgu?W!Cj$o9WsR*cu<#K>ZTz>Zj`! z0|L+pd#@8{^aYUoC2I7ZJF`@UQnr4{OZWD+o+SysP#|o2dP#QOYETRPINzUD@*r*e z2Q~GFZMpfi()NfHSJ^W0Ayo}*D}~0lX|}j|un?;GWx%1ZE7u!+2XJ2R1b4@!)N@;#86f=e|H?oa2ueVD*GW!2%73PE zzATigUjQ)g5yDSvS?PYNmR9U33Fvn@eW;k4gt!##15JS@+!iF_X=KCgOE2_I`Zo9P z&7kfN(MxvBLqX*{T}An9ceKoVF)cGN*cTebWQFgZYK9Xuy|#v`=ZqM6#qjEy%(^S> z`G&&TcAF<0d%qHPS$Jv})>nKEa(}P-Iv93&LIFhpYt|QD8vNipDw=vP8+I!LxWH_D z5!XA$U&n_~aGPaJgLY~~JcVCe_g?tY3&_AQj!J&Jc|5lU z!6zTSwqeXf3PTcH)e^6!d!>Rbp(GubHPbmj(+iv5axIuIDaCVKTc3QWW7OPbfptzZ z8omOUGa;s+o^&5Ph*=+oR7Pwh15XTCs-1}| zS~SBsP7WfvFv7^MfUk7n&Mc7==QQzPbb4} z@58p24)B(7sHdlP_t`#htL?D^w|{XMhuo7}2qR0C-Z%C8$nu&3V>RY8uyikfF@8bY zlV;x9eMy4tk-`nw7o?pzWS@OPt|^~A{Ofw?Db9^xXrRn2tpDqL7g}rILLel+rSA|r zwTjX8v=t5>C*_P)+xoap1}W(fr1&!MorB%wm)8p;!Q@)oGvjmH1%BxCwtKD(7o3@8 zEzV^x4$dEl`d#Q_N|G|8SvTuDXwaw6!h~aej4s`+1y?tn_rDTpo??1cF4a1r#yEAn zw}!8N6r+FRB&`tvF;#LUH_U&!^4uLJx~_hX@da*F-Zy51Xc=SRWkx}M!F_{hf7IXp zBFs^yko^wGFtUJ%+2p};s>-~2=$%Ja1p#BBa}o~{fc*B4x5CC!1{?jnxDTD-*^6>E)qcxY&ppbprr@rMkq`FE2@Qq?p(xW+mP?M{NASh+! zH?)xS6%B5D>j|TG$t8pdVoqNmZM<|K5&^+hEvLukzq=wckx4|aJ>rQU5bdkPBsjVw zrasHX`C^>aT%$0k>s3)`XZ`VIZ4wZ zox_tE&2~j?TzCqz?)GBaw;A!W7?y$n0dl&j&+!0!M^NV5HP%O}Li+L`s`?6J5xf-` zm?>&)b`<4tq=i`v

    nncy|{j@qeFVgDS$RUQjb>v{Mt^Mn@a11#vS0k8fITUrwexS*W;K zgz!-j4q^s9jQqp)4quzJ!(DQH+UaS@!?24rZ2JR=B$yG46CY8dXBfOtdLaU2qi@PkALIV^MsI)Xj?>x zc6Q;94OmHl-``;_Gs)p0=!(wDH%`7vMyV{ZA9_o%2^Cg{T0W&VxsBAtYo;+R&z3(tABa&2y#Shz?YO%#+!ODa`V>iS&K3MqIn6Pjg;4GqG$n6_ zaI5s6gax&(aeukfjvu$p7IxVNtdv|D{rK*2y{V!@1etFxuKfp1Q-JGi)#ccGHul@r zkW@_c$k`O7{+`ejKt|Yb14ru0wLN1gXN5pxlf-6hoqLZ#;tt^W26XyKAN824pp1&* zY;_=FHN$R~b_KPI6z;+V9viq4@#fBe85~(Mvu$3o{(q?Ruj~3Ui)E4*t+!qYM4wm= z0j%4E@M=8ehgDZ@Yb{EzVLPqR*Kj4onEwuWQ0HOFcntmk1rj$0{Jy2xz%BaJDoNC2 zGy59Wd*_U{v%1AUM#?gUCYh=z7V}$h&{FCHeo$*78O-!nuz2iHpLU66R)+X4T0=Rg z&(8S#a(}mP*ED>+;^Y|qP@FbZ%c-3F_N-mMuc*SWO(p@B=fqut zS_oOwncdN@`=a(H`KQG<#T|li!VL5)Fd@|5$bS{^%Nl>JRjD-S90<~#YB!6?3ZGUD zcEv>~B75izL@UY>+g0r|P8RUPvnLO3YE7ZJ5AH6hZQn5Jrmtlib%Mu(p15jTg%YY? zG3VH_lT5A>%_Y{JHTyx1rynZ~1(AHiQ~Kr)?4@xOr$@ucu?Zq>-P0Q}j#s>&?`}t% zS$_;$qGYDf;Ok?^uC{$Q?fU9v=#t?{C|y9g-sWn#iq+&WZ`Fbn2h^?Ut481&Au@pn zb{)|NELah49pXoZCG9uji7vqW1G>P>dEqT;add6Pal)D-HmO_NXDoU<*VZGl*kDP0 z)2^PRk@W}D^ECsw8xXK=i=3hL0ak%EMt=?>5@osaW_>$sWreHu@4Q&ZHVEM^&svPV zg?8oZ8u`y_MxMa!pQ}dt!yS=U_2%q+e#K3~cFR(_D(Q}u*Rn<-V09QIonz~CWV05n zkwu<@aYG^ld1yA55_CZou2Ql3j%$L?>1j{#>&XUkW_~aAA(cpOlpZ2m-gp!R|9|nP zHV4JS8kec6$HQ`T=xIoe;=vTe+#8Sw%#zian&c<;yKv^lgQY$WvnCBkaFd=2q|_JC zh2pOR?}sL|0>j9wq;}j+RkrJa0?YHR?n9JvOr_wrSI>m7@v_MP zhs>!G(wDilpLeSyJBJmbCxJpMIsC@29uzb;0@dGi=s~*ZSk!y=aUJ+uU$ke@9a<8SP?i%jXDWb6~B-lf|XWbZ$h3t$$LmK$(XF zGGP0j0NW&grtoY{LI~E8rYXNiRQXT+^=IT?zConoElLFWq<(T~@?!gZ?QPXzfvuf31eN)Na}rjBm=F@L*fZ=u&k+}(%LCvM8<4R5k;>V3rY@t0)TGyFT(0X^|v z)GyCoqKu^ynm(VSqFg;-d$1D5`PKC3<~I?EM;&X=7#?m2^fR_6{N-?2WQ+{&lWp=O zhJRJE5=>G1ex2ja8@2sQcU?h3Wzhx<;gU%)>1smT+R5X?H=xp3s(=0?%x<(~kyEQ3 zZ(U*+lc0xo0#RVJ`8d87a*xpLz{pJ!xAe=1D>hLA&61&aNS)tnv>{7O7>NuBvGFt? z$jp=kF(wG%2tI1e1QgJt=fY=##1+|s%v3B30Y+(@1O2gCL;`?>Geimsi7^Y0yPiG+ z?%MqTd64m9sFVmx@PD?&{V=&P+94WHcE=H^{i%XVq*- z8^p6{%A}8W+ds>WWNS)nGfT&HMx2$8$YUz(55;2CZ=B5I(|@yF<9wX5)nA(C?NwMi zPnUcIQisSg!W4INRwrYxK%QH&E`pHv=RbV?Of;fIU!mse-cZ_8(Y;OR+}QWxHNg0y zls6S1-T=OxW74<;31*qVwWCB44(z-o%dFv$W{(@hVZKp5NQNu&KEQQ*P!kHHtWEiA zIi{qJXd`x_SAWzyp@pR7+!no491JoM0JE<@I4%xsT3Auz;=VUMaIDE8w{4*ziL8XQ{^|LlERdeuMSqQw~yS8^s477PkRZROo&KdSKy2X(hY^oT`k zErRNNC_ONdNB(Un0=8v6&wfACee{m4_PT$l`PJa9wO9y|E+Vg8?4igO(I%6ZyT}xf z6(n@zU4Jq*nNslw8+S^?cP%4*S`|BSE%U_k~-&lwG& z8=~9TGA$w-SNelqb@GEYCF&;q`6j=&$WYYjl>i6N>FUA{5uj}4<|0=PjJ!`s6hB=n z7zZuf`y2O&IhMwZA$2SvHH!Ca4~mEi{kp;|mVdC76j?uljF)7hf8&y@S~%u?6yZvR1Y_-tT=hwrL!CuosS9(ut(=~ntCxk{GK zSbu5UOit|(gY27op!cv^eWzZ<<5<4+0!ATP<4>O1Tk5_xdqhfr7cjv%C=}|+%7j=! zJg{gX;02-A@GuxpH+y7`!TRL5wWNXcXb4f>tf1<&ZDn$c$x!y#5@}{gJm)Aq(~%v; zOb{+g`MJr=o{w+uZ2Mw3@6oF6YT79o1b=+&&WNcy{}99f167E3J)>gep}>U*o&{L^>_Tzrp?@&L zFx!mQZRBuDtR=Pj%l9ewAze|rIz;N2nb(f6#7ys*Po8o z?1wz*+lC>l&>BNCLKipNRR*hlSJTAs*mCOoY4AH!)J9C97_6BpV+8N_fmM3kmsd`7mMu} zYeDi(YJe~WyA{G|(|+)&j9|-Sso8rK85ae@D}ib%Z{rmm2ZH_XSBOw#)qhst8BJ6s zp^9|uhAXMc+blO(bKoeDn!vY=$f1Ai^#<#~fAlOZMI-7G#{hx4jWVfiW5`DzKp5^T z=WAdQA`2A(WX5z?TFO=lts{%jZl3L`Ve>NKul&be@ZROT+10EYjMq6ZA#*auFcg7! zHAeDFUyZMGR%cy3#di|bi+_Kwjq2sd`B2ROirYH|#?e2BfKUJ7HZuKt9F{Jx;%|@G zu5wYH(iuiq?RW2d*}tQXi~o=-Y>m>q0{r^`SsE=Qu!yB!Jl*Eg3bM6l2s}eOcw-J- zYU_bpeFs17g;1knzv~LLKBj;wg5}OJtiJrRu=&YDsH!xP%*?k}r+?LZpF~_0yyfjC&Qaiv3zTy89EzJ!S!P|;g(`8m`5*n(YJ~@T*akddu^2+phB#Nun;v(j@ zw6R#$Gim05+W_lrUVrD6cyyxnW_<>u73qvS-no%A#po%B6zI6mu9t1CmGJEH9e#(2 zlWyXozn>9L_CV@c+%8;Z@nCcJ7%W#ab+Teljzc%h3=n%OxoG|60mD?Wb684wn{3I+ z424SuYT)r1#wSL^y;Z&R4yOK>FZobh!(lq2RQa8a`0WE*tAFF}=NO|#`}f!cd6hrt zyaZ=&aThf?>FJVG+`~AxjK1%c(eE>lg~rGC>z;#6;-)2GGA9SBt=|;m@Wpvmu6I^` zIOt5~DPW`&SbxTvdf5>CxVdX#c+fa2r+?KXhkM5YjiVG_h`nkh_ZW+ClM5q)Gvj%d5 zZ4lb!k+qQgj>x;U;+n6YT#DDjlF9J1-F=Cj`mW(~W?|fxm7g)3HzIVn8Di7m%@^57 zjY_BkuVts2fr;4j1Fc=|XmwzP&^9e?Bk(@UE?=Pqpv|}86iAqsh1#b#i*~MlG*CT- z$)1C-AAjSf+zVhF&G!&2*A#YX@?t?S14i%-zly0IH0!IqkKEWQWF|}%B+JDpaPBnk znWROzU0k2FGj)Jexdu2psUcgyoEd&M(;!Y0(>uM=Wxj04cZKJuUwiiqbD*|JQh zA%70vB=IpNmSzNW$sRlq_bNU`3MIP0-G=#)B=!$LqiiC(Bqjrk1}LQ-%e`OzCV0Z!zSQ-@eLt?7b;f$o_k_Fr4FA-(Oc6fp z(u~J=EsDuCb>J84_?rdxVT6Dh?Q=w-Yk%+!(MrI1I!UxxePy8`O_CtwIrOp~*FPBD z3#*eW37!q->20?BuAEWlkZ0TiK9e5bE;_`aB-9`FV%7%UpS&Hm4Hb;6td?s)Bd=wLN zsb@LisXW}J%5#D&I*L#(qpXbf4u7<;W&rh2qomQ8(12jgtX}AzmadQKO+o*L!?}*N z$*Ty_zb9FMkqiPchWqeW5G~_do5a8U&j&BI(Z&l-FG-FK(AUOW>&pR{k;GC)!6|Q| z+LM6c!-8Pi=A4Xf68?+gvl7`DTDnO-S($vFz{Qbz?wDf0=ytn2F(UiOt$&+nKMe5Z zg7QV*o*(S5$vM?r1rkE`_5!tWA{`I}sAv%am%Kz`(Vue!lPNhAM1;nFuLB$x`tYT9 zZNUkD5}qs`4pH2ERt~830yc1v4<3yN^^m4i_8i>nV!ClN<;0ibQe~pucjApu+oSgz zIz2yV8&Oc$df_|l*9^?utA7I=^w3aW-0sQY5x!p&>R+0w-CSG0bh1suIk*GmI`>!b zRv{W5`7fn4&_zidF^hS2?(Rt`T#U!irfU2CFzom$**Qb@@;U20G3hHVHhDB}^r>)m z(TQ`$WIX;MA^-Ic*{em3i1$a^nM|XJm<1y?gyE87yla)2RuT{;eXn(sniPW&7`XN3hdYGx5c-vxYql#7bHS2So}Kf1Yk7j?5yKP z+BHzw^w5A}Enn^}dQz`$BmC*fQHheUu#i+bV{H|CkvW zRXYG)YF{o)kIYi~0cT{^)Hyw!@I}4ucyM%gFU5)*Tq}3%dw)_jn(YkjL%D18=bo}| z)TH`Qx&58DM-4)TSNqJvbE4{quRlRKOmVCQ=4$F*bd zh~&z*xC(3M@|v2CUi4-cu@(YbtLp}|!!{jV7IS!LT4Y89rRUWG_V(voDv>WgSH2hx z=ua%xCLi^!U*6l+8Yrs5z)uCQ1m!fGAC)vW^nRAi4S!1fPvEy3IIaSqjSMem21FO$ zxzyc$^_}BRJN*uUf^9#BWVg=LYcbP1S2KHZ#2`|KA8aI4^%v|rZQcwjgMwh4cDw;G z#DVnb%#UHR)t|I{CAfa7ElrN-Mu+gfi$l7JT)if`Zf(fkQbd;eCw9n7gpd z@=9&F4kW}c&G_>%lVTLl((G{X;^7$bKh2L=yL)!I<^^eR&qWYdnWpLo{n_Is(yW{V zbaEk+#^HfWz5p0#_4u~HSs~N(m!8pO;s#OG#1T^uZ4cYx=H7 zuYU~xRRli$Rz`TOY@>Hf+CIWZU#)dZaJns~zQNNR(d2NVSF^dB>+%!sf-4NIvrN5lfFPgBkgJ zooqxiafcRstw9Cxr=K!ah*jW1C6=u6Q`0itjq?d2{t(M!Fx^$y{%%Vl5tgJ$lz(T~ zgiZ&KZw_q``2HLRSBngu2{@fZwLZo2bUIo3%T}*`*A(=}?x1dJJ-fUCm%zT#W zC||aN4=-(s_K8w=LS1{h=q_7zELeAj`x`L_So~rQ|Bwqlnp?!OexFd`%-I@bSK)R0 zBIG{L4s+n^DNtl|h5iPDiU+Z(#(zm)vWE}tk)15*@xEl)n9xO_*YQNjsP!56y609{ z@5&_Q(YHy~s7OV!E5-d8`ezvl%w@VeMQb%jAq>qgEh2jmM2AQt@pZKV1JY*2TJx$ zZR*Qy^kvx%DAJ&UBZWVq_OBWsoY0EP(}k^p7Jsw7+LNdc43nd|m%D`ueg zoD{jg`;4pQZ6+GI0OA`OsPuL6{TIFFG(NqCAwXL^O1nFqHhuMjn|}rqt_ai&sMDm) z3R0KzyN+&8Hh9&%1xOf@R5L7Vx8?1%5om!O^6yco>|4>wv&ntoQ1ICx@e1`_8&i%2 zLPM|2x-^uX_@QnTE_Lic6d$FAMMkC0@=Q6tvXt#0iR~;emA-bq;Q$l+bTaytRO7Pf z@qiK@&~5JxJ2#4$zE=Vk9bbOm+F?r(5f z{5v}5X%R?I1Uzb6O#Q=0(-(8t-xD+Ntmn)GHnveNeAQ4tSKrnU0q9O(YD}&69Od7! zTA`TBL19y}=F#!oeCy|(R`XU_f6O@ox;8^{7Fur!D1}opYBzS(R(qZ)^gy8SaUFet91cIT1wTi5F7$4490?4OCHn#MT3|r(S|a4 zj(GrSt_bITA@*K~_f8d{X#Im?Q3naZ!_J)b#7^TISAWJsajm!$$tXO)_|4ksi-x}e zA_LjNBhSetA+2m;l@gTGyp+BzP}r}al<8O26gQ<^EaV^ zU~69^DrX>CN)~mAY%q-cl`_$#oMm6Y4pej-YNqJIyd(XeR{%{hpNT)#tU~|apLqHf zdKBHi9xK^}lz7~fa5&=8q|aI;jH9Y4RhKH+JptT^mal(u(Jmm*J7VshAYVn|(oIg= z+XP6yxK~(!l#3Zk$<^kN({aL7 zhUa|)bBurTWFDFU>CmNQT7F5Dax0weDf4{??Wf!&lY%og->OAXO&_iG3sl?hy83b2 z*93XC29+ct?{PRoK>}@+PW4Pg|4_!5O$MPbb$6hxQ%u z;EC=2# zH=KW}D!BREa-(bSE!iYb)ET0Ij|s7nlwqQSs4s@O@2i`^dB|lj2rhNBLene4z^$j` z*+P%=K)Fzz2D1d{s*6#dGIGphb9_rrK(G#Zi$qUS_5(!y`jfs79$Vsn4~0t?;s z6U%^EFF797HzSu}x^SQPmgY zQ4BBy1CO})vW+*7ZjDKTgQ%gFSK$~X4vBb1du;}s{*^P^Dqo@Jix&a5qbYZ%?xUF5 zK^#xk;fiKBcHxUup)VbFIq!c=DSXZp^Ss?Ha&FpMy>=WW_!6ll?QPQO<;(d^SX41E_O)^e z$R|5VX=b5sAMlG>Q^`lOXg7Ex!)Pm{JJz?9f0jAY!+}1L=Fq@qO*NV9jd$>=%FfCt za8^JxUyt={$S|{5u=hnO*a#E2x~7|79rk^iDWsjk8(Wc7({N*3frXT~Z2T{jxA^`= z82OtQ8zb3Z6E8Msz$JgY1JZ_R=1SZ}S1LX$nKIDJbS^<}Rk8Kt^S_XP-cil%IW$lj zzFv&dm&%J7C6vQ!Ti(C`!xP<}AKaxO&3Qt=dp$Qu9e3#=^kR;wkNqb=4*?qW4}(dJ zH%%-P*&ep9AIg?Y!AYPo8Zb!Lhs8pq4;z@ukmo9ee|jr!WBz{{vwgOp!?AYg8(wX{ z=s9;vdY*olR0u9M!?Jz67_8p>r9$a-*;pYOE>~6^c35yGcvaya0MdK!i?KNqvPRlk zh*ecRq4kCxM?Gc!NCVDV>9lUNG^qTwiVC@ND(1$qSe)#6xUpO5-(z=ra92D%X|uLN z=2*Gz^%`0AH&TBvQTx{t7_-ZT+as_Ri*g`5XGGjx9#Ne@?^R@GtunoN+*8dfLQ-rp z%`h3nKO2Q2YK$(OVfmh{kr><9$J|*wsh#0FOL%@G;F}!2&VE^^VkFVz?)}H}?rSVt z8lFLCS>gjl{d+69rD5HaAV3`slLsjL37;=BMK7Js)mwj$c!m{X19*JQg~v<{mQ>w>d`>_``gh)8N>LB~iboV6v$lWLny46W(!~ z)J(L_yrh3tyEZeUk5A8ci5TAT;E+Mq^n&Y_?$Ix5SB>&}bONcyj~RKB-U|=6DXFc3 z-=@iG)3@t}PSE3-B0FA)QdHy!5V-LHRyw8=?KmqE8Z)x23%~h4`>H*>&m0zm1KBN5={Vd&P`J0m4 zsRe&YH>UP{_STVD!ik}Nf-r>ZlCcL$jJ*$uMQRDsw~4ETZW)zs6_;ut@!btozZ)KN z)i?F>rK!vurE|1W(;!l?9?Y5DG-}<*3VQ|?k%j7DxKKR_RNka*p|c%}{ldcoEo>At z3M+({8}SkIbZ!B+%H`D^dPh==91D|uKB#|Y2;-AIJNQgP)a!);TVUTW(?`Pi`FEeO zAWB#7+AfQolV8Z>Byp+<8nX!nJa7lmn7`;8(F_F~Oc%@Oh?g2=c|$p(5-X&t=ISp8 zXbWFeRO>-C8Ssn-=dbAvE~unnvI|2^w`8;z$*hd$a{uN4kn+NPvyY0gC~~4;ee-|V zUVi8cemswqIfDK3TGkq{AM5LNHC`qBJ!l?t_av9qAT227+sE!E7`nm#kYLq@P0M($jMxP9GJwS5 zl566bCAukx7lj0e$6f1x{5%pu1wVg5Aw>h&D4CSWEm-Eb+4wgOJ}55SQ~0Ur5K8=b zrRmc)x6VTU7+N_`opP^X{6G$n{5zatIVWjhi-Qtrww1@997qC*^QSLd7f*0pIiD0x zr}QyFNVx|_Nl4BEZ_l4%Hdza)S$0=XG!`|&ov2p)nnAXEQ9TwPc#)|}8m^B7rg0lI!GWB@WVy+DlF}r^x9BjSf1blsb z%Oavf-^JMkxvO6x#t}c_6r3~&i0B0i=JRwWj-JwciKYhDaP4VFk`6uX>f7}Jtj-dw zE#zBVEGvY^@`eFSLPKGXHJ-`2U_WeWX`ag&7aGS2&B9gY!lwcZ<3%<>wEHRmGJ~1Iu1nuFu-(~miZPlRXg6NN(-rh;)Jbqk zZ!psM{cJ#;kRY1wLk%KWna+MHMoMAnKM;jGgS9D5pxUxgSteqZ%2F;;dCE$fftKUk!cYd(eKEPH#s1@s}1dB3h@ zo2ot|b{Ldf5<{Q}uH9o$RGl6_}PHc0K5gnH_%NRu_6&&@6zZ7D+!I%t{BI z6;bvpB4I-p899G#ZK_e zZ*6ef6VE;Sh^Al1eV@Q@;JkWqXMu!1X3_P~Ljlsc6H{cs0&P{(AcjxhCeb%x+3JqU zZ1u+B>$ZQAWk{TLq55ZciK1864%*LF7`?QS7~VvUMbe^Y=MY1Tfk>-Zg@Qc1bp`3U z2qat4;+=8%xrmVNP<9cCL!HNe_j`@6zEi)<*UT5PO43xx&1df;)ZTw6?EP|9vUYW7sOm<%HC4KM5mHTl zKosm{3C$D5^7apwLU3qnz7A~XB|WQ-#@F3i{VrL02AK)B529jlHe9|aKb^6SK1-)B z5Kg^f0$bcH3Hh#xHW^sFW1;Gef=+(6ldjPFg)}mjmf6>vK|ah`i9LuP%&oF4>kG%H z!|{J60dAgfzp*5$sRuP#Enz-=&ndpd=VwWmUFlv~7j}t(@>3Q!tLi;rq1mvbG(iPL zjdIImxaDT=Xw*Ie$~AdBD5-%bqZ^M4bpYhX%q`7{S#v}DMIy%j@Lut;)`!GgA zo&j)r+5t)SBBgd)8BNzFUNXE1?i`%GA5wpeA5ShELW$NrMxtfMydj2;t<2!1iU?sF2h}ML2Bd~bYNw&;PZf8sxGm0$WGKZ!CvKO$#!HJdp2mO8 z{>^?;T!`lqC&!4k$4GXg)f55)HC)UX7=Lz^_95(`KbnV?=EKkFABre^8~7X)H`Eq# zo6Mf4U2oWHhVZ!=_!xmI=wRGt!D^UQ2zg(0J=<}v=o*guVLIfVEh-|0EtwDl58MNaU5+b(kF(a*4FRx^#{WaZ#gZhQ5iH>rWWorx5O$ zIR(X189y$n6p_)8C^~yYv*WxLU+P4%)Dv)p#(j7r_q30@Ye2rTQ36n`Oul@mf$%Vh zGy0cB4G!VD+qo}c>bHcuR1}i3Kd@Eqzv%{X{wglgpLxeWkeQtYzU^rx4Hb+qDh`1~9JuuSTt1ZMbQL(=rC&0mDO8#@cE+WCKWV^h0f2xS17 zL3%68rj2lojs0_?Uj|^}e9XFXg#8>HMpqwj{l_+!q6Y3{c2CgL^x>4)6yLn9cfndQ zq1zH+rjMw29rj`A2C%N7+*2!vculTtT_yq2+Hk!?R5OOwtt7qj1sDE+&|jW<&x(4} zj5JapS+YJ>RjaD$JI;Ua!vhhraijS6v`rwqSGEL3T)!9h)_pbb&#q>D_<|Jg_yl=E zPX@q^OK;=_Tz;G(@j;y|PQ};3EI+KmK#oHNJ8kHjngnlG@o94)PGm;3-`e3mdv8@M zO=HxZDF4L{xTMXUK&~t(pq~qmy@MED^$bSmNjAD{Y~koF<63{v=wYoTEepr8xA94E z4y0bMefcfzOshNCV*iq^xufm|Lo&8nDZBsgcCri2-MJl zovO* zkhOjlA?fo=)kqj(&9q1M21(euNwdZko!t+t2Eh`*?a5sDCH5gnEzE%Lp=@qIDnt0t zH7lLZ=qE~KbH{*qci#J93T4PSH<6W9@aWp z2;V(K)sHO1*@qw>c_uaYSU+#sPdlv*3(sp7K4p2Z&U0H2xiQw|QpO=mLav+a-|f=h ztakczXU!9L^EO!&PT6&TXo8`G@riK6eA)>92~^^*!ka}{fSa$NKN&nRPB=KW;G$*7 zHUk9*^j?3Gs2xjZi!PN?V&g0Fsmm~;NUEG5#g3G&Q|*DPdRFa$ZHd*YBS(_(v@b+9nP+mRhW>7C^-B)A(2VLzvsun*YD4OX19 z#R3!7I&YBccWI5-VFbU9s5_DkpelZ?_avXwfs=V$6i!yOV}Pkgxb{UK+6oR;SRQY# zOUQpFENN5w<=6XcEf}8PB?y-N%n$H?k}he8<}kDw2(SP1>EjNwH|h#urS-A<4je5$ zm?3#4l{8z0=AUtqjyF?T)^9UMP(FoqXo&V_XZo_|+hRK6m`K(>^Qpd@e3%J zUS}yC2t;yMB}&k=k?=c(LLlY6aR!VY$UAfD_J+`fhmd#_-iZo7CUjI!1PMi0)vvjH2s`!Zw`CB30s?M3UwS{1(#LAl^!Q7`1)Vg0*oWLJL?MJ2Gl zsq$u36PtUe7X0`&2mZV7DXTQX`QBx9th-Jk4-S;L;4MzkN@G`{ekN7sLpgHiLi5gRjGsNkET^L$R-}cmZb=vwMUvR7sV_l!xoh$z8Y! zJtwG6QFD}Je6>;>AKNE=IC4QbMhZwRRDhZZcSREAhFg;XZ4Wq6mQA7SvI!`CS4fPt=exE@zD2jkbR%?|c0 zhW;n_R=}P8dl=49_A$e&idNFkZ=mrCO5{#R!odh`)%L-$}+<*3h42p!H z^nRqW%E3L6{9kzR&UuwvtlGz_9CgHa!fH=)<8nV#_9{lFAb<`-1#Nn$^{AcA7WM37 zW$SwZTt406CR`&2cvgS#7-m7e8_0DC@9H9DQ}B+ns+2(RIzY|IC}%JEu5|-x#j&`1 zG&E@{v5aw3u0LCpm0#itv@f4R?&S+ER^8&|c^ZZ${bPcwSg)`Lk8q%N36_V#R|PS(vrv&?;=g~MT_l|%K7*NtQ$11r zt1|&^pl1_yfOSSz_XWN75nEeY1-|)vX2XCTIZ3g?>Tyrkrc{s=*w0d&uvN${lC2Zf z{ZW?l#T>D!Z)(Tm@>-Ay4j~+Z&b;}X#>(row6;ioXnHgEGs=)g@|fpJoU3ut%*nQYS(SyBpOeSiPtdQ$!jRPGUo zey@yTe^<+2-X;aIn$UX3p7!dFsB7^q-;lz8Cf$ZOL-R~FU72tX$|Z%qg{Vjd?NVF}HjlEj z&tKwZWa?wn$gPUkSE*q2&iIDb1!3o(%C0?wvEB53#1~H8Jq&0zI!Az7A^|^I&tS_u zaJdaC4B_?cZmpFv0t)Mn>Wd2#I7MV=2kc+r_;LX3WjAPi&Bz; z#F94ajE_7Uu@a!inym}51q|s&C^=hxT`r$PsbGIQt2BE~OsxN%L`&QN0HUK~qq%|A zKfIA18vU!Tkuh%2AKJ0G_AQy0dSjyD+q-_{n>v1?;RZGAg@+Pf9qPTcXFq|6JKX`F z@O8gsY}sSo_OKR$txW^{YV-Q;=a% z_hS}XEqW80bBtz;jtPZ6ih`_Mxg(UoYp7rn=~MX0ib=c0jDH;ZsU{1Jnp?;GHYLHX z$}q8bv;Nrx8VlxcMe3Z0$GeZ~tvv4PFk^p7vpzL}5GEZSkNIX<{p&-r7KU2dpdfP8 zp$1Izx3m7-vZ;;Q?W~IgDUYA)Y%|)E{oF-Ezw6}_BM+_h6^c;)qOjcrlqn; z!8Qu8^tMyQk;0wtzV5aoFyN+|#&IxbXlqgfMRCs#>}wBvo7`m+=q=ZA6_ce*?i_z4 zZ!`6m`m$4E$=mo)!`_6EDQu7|(sqQW5(^-beG?)WSkBIig(&z}^&qsqY!{Y@)9ZE* zIXN5wx?DpUq(jP%k2Fk4QRmQw90u#lLhp!~5)w-D-I89cHCrfOHt~)C>aB8=R_<FLfZBGoX%8k4n&>3mFyA{gjONA3;^L30{Kf5hC zZ?D2~hKl82x>;s1UeFnK3I>1um?YDj2HnR|DLBQYvhU}HZPm%S+cXe)z|G!B%S%sa z0}*-wcmXI?qL3jSpN=80*JFE4l{;JSi&imZwR7_8-^ZJRlRnHmohlELehp?5H9~(jO?TzaB5auD zy0^BkaB53$&0Q|a#^o&&^MGXyyu{y&wjt`3ZS?a_7p%T?GHgDA-UtG|Lc6p= z8XZ>RI=DxSQy;7C2*FE_4x1Gj(x`_G*o^; zRXF^vj0>;&Xe{Z!L$d{P%%W_mYO5BKW4QcmS98QxhS9PAdqtW}llPS_C?4=z=16;+ zQl}?{{O<7=g^|rD{iHvg7KnXajvJH_&w^FVPK}gEd2@eS-f63|YMkx2R6YhoJ}}

    PFiCqRs}iJ{Aq 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 delta 377624 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

    0jdG5}paM)@S1+onIM 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̘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

    acq*5vX>ocC*C79*O||H| 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 MHXEC&z8d!b0IzSC3IG5A diff --git a/haskell/src/SwiftNav/SBP/Msg.hs b/haskell/src/SwiftNav/SBP/Msg.hs index 07a9bb3dd1..487619c93b 100644 --- a/haskell/src/SwiftNav/SBP/Msg.hs +++ b/haskell/src/SwiftNav/SBP/Msg.hs @@ -132,7 +132,6 @@ data SBPMsg = | SBPMsgGloBiases MsgGloBiases Msg | SBPMsgGnssCapb MsgGnssCapb Msg | SBPMsgGnssTimeOffset MsgGnssTimeOffset Msg - | SBPMsgGpsLeapSecond MsgGpsLeapSecond Msg | SBPMsgGpsTime MsgGpsTime Msg | SBPMsgGpsTimeDepA MsgGpsTimeDepA Msg | SBPMsgGpsTimeGnss MsgGpsTimeGnss Msg @@ -148,7 +147,6 @@ data SBPMsg = | SBPMsgInsStatus MsgInsStatus Msg | SBPMsgInsUpdates MsgInsUpdates Msg | SBPMsgIono MsgIono Msg - | SBPMsgItrf MsgItrf Msg | SBPMsgLinuxCpuState MsgLinuxCpuState Msg | SBPMsgLinuxCpuStateDepA MsgLinuxCpuStateDepA Msg | SBPMsgLinuxMemState MsgLinuxMemState Msg @@ -195,6 +193,7 @@ data SBPMsg = | SBPMsgPrintDep MsgPrintDep Msg | SBPMsgProtectionLevel MsgProtectionLevel Msg | SBPMsgProtectionLevelDepA MsgProtectionLevelDepA Msg + | SBPMsgReferenceFrameParam MsgReferenceFrameParam Msg | SBPMsgReset MsgReset Msg | SBPMsgResetDep MsgResetDep Msg | SBPMsgResetFilters MsgResetFilters Msg @@ -260,6 +259,7 @@ data SBPMsg = | SBPMsgUartState MsgUartState Msg | SBPMsgUartStateDepa MsgUartStateDepa Msg | SBPMsgUserData MsgUserData Msg + | SBPMsgUtcLeapSecond MsgUtcLeapSecond Msg | SBPMsgUtcTime MsgUtcTime Msg | SBPMsgUtcTimeGnss MsgUtcTimeGnss Msg | SBPMsgVelBody MsgVelBody Msg @@ -364,7 +364,6 @@ instance Binary SBPMsg where | _msgSBPType == msgGloBiases = SBPMsgGloBiases (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGnssCapb = SBPMsgGnssCapb (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGnssTimeOffset = SBPMsgGnssTimeOffset (decode (fromStrict (unBytes _msgSBPPayload))) m - | _msgSBPType == msgGpsLeapSecond = SBPMsgGpsLeapSecond (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGpsTime = SBPMsgGpsTime (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGpsTimeDepA = SBPMsgGpsTimeDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGpsTimeGnss = SBPMsgGpsTimeGnss (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -380,7 +379,6 @@ instance Binary SBPMsg where | _msgSBPType == msgInsStatus = SBPMsgInsStatus (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgInsUpdates = SBPMsgInsUpdates (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgIono = SBPMsgIono (decode (fromStrict (unBytes _msgSBPPayload))) m - | _msgSBPType == msgItrf = SBPMsgItrf (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgLinuxCpuState = SBPMsgLinuxCpuState (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgLinuxCpuStateDepA = SBPMsgLinuxCpuStateDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgLinuxMemState = SBPMsgLinuxMemState (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -427,6 +425,7 @@ instance Binary SBPMsg where | _msgSBPType == msgPrintDep = SBPMsgPrintDep (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgProtectionLevel = SBPMsgProtectionLevel (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgProtectionLevelDepA = SBPMsgProtectionLevelDepA (decode (fromStrict (unBytes _msgSBPPayload))) m + | _msgSBPType == msgReferenceFrameParam = SBPMsgReferenceFrameParam (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgReset = SBPMsgReset (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgResetDep = SBPMsgResetDep (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgResetFilters = SBPMsgResetFilters (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -492,6 +491,7 @@ instance Binary SBPMsg where | _msgSBPType == msgUartState = SBPMsgUartState (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgUartStateDepa = SBPMsgUartStateDepa (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgUserData = SBPMsgUserData (decode (fromStrict (unBytes _msgSBPPayload))) m + | _msgSBPType == msgUtcLeapSecond = SBPMsgUtcLeapSecond (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgUtcTime = SBPMsgUtcTime (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgUtcTimeGnss = SBPMsgUtcTimeGnss (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgVelBody = SBPMsgVelBody (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -588,7 +588,6 @@ instance Binary SBPMsg where encoder (SBPMsgGloBiases _ m) = put m encoder (SBPMsgGnssCapb _ m) = put m encoder (SBPMsgGnssTimeOffset _ m) = put m - encoder (SBPMsgGpsLeapSecond _ m) = put m encoder (SBPMsgGpsTime _ m) = put m encoder (SBPMsgGpsTimeDepA _ m) = put m encoder (SBPMsgGpsTimeGnss _ m) = put m @@ -604,7 +603,6 @@ instance Binary SBPMsg where encoder (SBPMsgInsStatus _ m) = put m encoder (SBPMsgInsUpdates _ m) = put m encoder (SBPMsgIono _ m) = put m - encoder (SBPMsgItrf _ m) = put m encoder (SBPMsgLinuxCpuState _ m) = put m encoder (SBPMsgLinuxCpuStateDepA _ m) = put m encoder (SBPMsgLinuxMemState _ m) = put m @@ -651,6 +649,7 @@ instance Binary SBPMsg where encoder (SBPMsgPrintDep _ m) = put m encoder (SBPMsgProtectionLevel _ m) = put m encoder (SBPMsgProtectionLevelDepA _ m) = put m + encoder (SBPMsgReferenceFrameParam _ m) = put m encoder (SBPMsgReset _ m) = put m encoder (SBPMsgResetDep _ m) = put m encoder (SBPMsgResetFilters _ m) = put m @@ -716,6 +715,7 @@ instance Binary SBPMsg where encoder (SBPMsgUartState _ m) = put m encoder (SBPMsgUartStateDepa _ m) = put m encoder (SBPMsgUserData _ m) = put m + encoder (SBPMsgUtcLeapSecond _ m) = put m encoder (SBPMsgUtcTime _ m) = put m encoder (SBPMsgUtcTimeGnss _ m) = put m encoder (SBPMsgVelBody _ m) = put m @@ -816,7 +816,6 @@ instance FromJSON SBPMsg where | msgType == msgGloBiases = SBPMsgGloBiases <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGnssCapb = SBPMsgGnssCapb <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGnssTimeOffset = SBPMsgGnssTimeOffset <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj - | msgType == msgGpsLeapSecond = SBPMsgGpsLeapSecond <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGpsTime = SBPMsgGpsTime <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGpsTimeDepA = SBPMsgGpsTimeDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGpsTimeGnss = SBPMsgGpsTimeGnss <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -832,7 +831,6 @@ instance FromJSON SBPMsg where | msgType == msgInsStatus = SBPMsgInsStatus <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgInsUpdates = SBPMsgInsUpdates <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgIono = SBPMsgIono <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj - | msgType == msgItrf = SBPMsgItrf <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgLinuxCpuState = SBPMsgLinuxCpuState <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgLinuxCpuStateDepA = SBPMsgLinuxCpuStateDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgLinuxMemState = SBPMsgLinuxMemState <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -879,6 +877,7 @@ instance FromJSON SBPMsg where | msgType == msgPrintDep = SBPMsgPrintDep <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgProtectionLevel = SBPMsgProtectionLevel <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgProtectionLevelDepA = SBPMsgProtectionLevelDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj + | msgType == msgReferenceFrameParam = SBPMsgReferenceFrameParam <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgReset = SBPMsgReset <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgResetDep = SBPMsgResetDep <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgResetFilters = SBPMsgResetFilters <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -944,6 +943,7 @@ instance FromJSON SBPMsg where | msgType == msgUartState = SBPMsgUartState <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgUartStateDepa = SBPMsgUartStateDepa <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgUserData = SBPMsgUserData <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj + | msgType == msgUtcLeapSecond = SBPMsgUtcLeapSecond <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgUtcTime = SBPMsgUtcTime <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgUtcTimeGnss = SBPMsgUtcTimeGnss <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgVelBody = SBPMsgVelBody <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -1045,7 +1045,6 @@ instance ToJSON SBPMsg where toJSON (SBPMsgGloBiases n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGnssCapb n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGnssTimeOffset n m) = toJSON n <<>> toJSON m - toJSON (SBPMsgGpsLeapSecond n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGpsTime n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGpsTimeDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGpsTimeGnss n m) = toJSON n <<>> toJSON m @@ -1061,7 +1060,6 @@ instance ToJSON SBPMsg where toJSON (SBPMsgInsStatus n m) = toJSON n <<>> toJSON m toJSON (SBPMsgInsUpdates n m) = toJSON n <<>> toJSON m toJSON (SBPMsgIono n m) = toJSON n <<>> toJSON m - toJSON (SBPMsgItrf n m) = toJSON n <<>> toJSON m toJSON (SBPMsgLinuxCpuState n m) = toJSON n <<>> toJSON m toJSON (SBPMsgLinuxCpuStateDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgLinuxMemState n m) = toJSON n <<>> toJSON m @@ -1108,6 +1106,7 @@ instance ToJSON SBPMsg where toJSON (SBPMsgPrintDep n m) = toJSON n <<>> toJSON m toJSON (SBPMsgProtectionLevel n m) = toJSON n <<>> toJSON m toJSON (SBPMsgProtectionLevelDepA n m) = toJSON n <<>> toJSON m + toJSON (SBPMsgReferenceFrameParam n m) = toJSON n <<>> toJSON m toJSON (SBPMsgReset n m) = toJSON n <<>> toJSON m toJSON (SBPMsgResetDep _ m) = toJSON m toJSON (SBPMsgResetFilters n m) = toJSON n <<>> toJSON m @@ -1173,6 +1172,7 @@ instance ToJSON SBPMsg where toJSON (SBPMsgUartState n m) = toJSON n <<>> toJSON m toJSON (SBPMsgUartStateDepa n m) = toJSON n <<>> toJSON m toJSON (SBPMsgUserData n m) = toJSON n <<>> toJSON m + toJSON (SBPMsgUtcLeapSecond n m) = toJSON n <<>> toJSON m toJSON (SBPMsgUtcTime n m) = toJSON n <<>> toJSON m toJSON (SBPMsgUtcTimeGnss n m) = toJSON n <<>> toJSON m toJSON (SBPMsgVelBody n m) = toJSON n <<>> toJSON m @@ -1268,7 +1268,6 @@ instance HasMsg SBPMsg where msg f (SBPMsgGloBiases n m) = SBPMsgGloBiases n <$> f m msg f (SBPMsgGnssCapb n m) = SBPMsgGnssCapb n <$> f m msg f (SBPMsgGnssTimeOffset n m) = SBPMsgGnssTimeOffset n <$> f m - msg f (SBPMsgGpsLeapSecond n m) = SBPMsgGpsLeapSecond n <$> f m msg f (SBPMsgGpsTime n m) = SBPMsgGpsTime n <$> f m msg f (SBPMsgGpsTimeDepA n m) = SBPMsgGpsTimeDepA n <$> f m msg f (SBPMsgGpsTimeGnss n m) = SBPMsgGpsTimeGnss n <$> f m @@ -1284,7 +1283,6 @@ instance HasMsg SBPMsg where msg f (SBPMsgInsStatus n m) = SBPMsgInsStatus n <$> f m msg f (SBPMsgInsUpdates n m) = SBPMsgInsUpdates n <$> f m msg f (SBPMsgIono n m) = SBPMsgIono n <$> f m - msg f (SBPMsgItrf n m) = SBPMsgItrf n <$> f m msg f (SBPMsgLinuxCpuState n m) = SBPMsgLinuxCpuState n <$> f m msg f (SBPMsgLinuxCpuStateDepA n m) = SBPMsgLinuxCpuStateDepA n <$> f m msg f (SBPMsgLinuxMemState n m) = SBPMsgLinuxMemState n <$> f m @@ -1331,6 +1329,7 @@ instance HasMsg SBPMsg where msg f (SBPMsgPrintDep n m) = SBPMsgPrintDep n <$> f m msg f (SBPMsgProtectionLevel n m) = SBPMsgProtectionLevel n <$> f m msg f (SBPMsgProtectionLevelDepA n m) = SBPMsgProtectionLevelDepA n <$> f m + msg f (SBPMsgReferenceFrameParam n m) = SBPMsgReferenceFrameParam n <$> f m msg f (SBPMsgReset n m) = SBPMsgReset n <$> f m msg f (SBPMsgResetDep n m) = SBPMsgResetDep n <$> f m msg f (SBPMsgResetFilters n m) = SBPMsgResetFilters n <$> f m @@ -1396,6 +1395,7 @@ instance HasMsg SBPMsg where msg f (SBPMsgUartState n m) = SBPMsgUartState n <$> f m msg f (SBPMsgUartStateDepa n m) = SBPMsgUartStateDepa n <$> f m msg f (SBPMsgUserData n m) = SBPMsgUserData n <$> f m + msg f (SBPMsgUtcLeapSecond n m) = SBPMsgUtcLeapSecond n <$> f m msg f (SBPMsgUtcTime n m) = SBPMsgUtcTime n <$> f m msg f (SBPMsgUtcTimeGnss n m) = SBPMsgUtcTimeGnss n <$> f m msg f (SBPMsgVelBody n m) = SBPMsgVelBody n <$> f m diff --git a/haskell/src/SwiftNav/SBP/Navigation.hs b/haskell/src/SwiftNav/SBP/Navigation.hs index a8e9aadbd3..215d779664 100644 --- a/haskell/src/SwiftNav/SBP/Navigation.hs +++ b/haskell/src/SwiftNav/SBP/Navigation.hs @@ -2304,166 +2304,166 @@ $(makeSBP 'msgProtectionLevel ''MsgProtectionLevel) $(makeJSON "_msgProtectionLevel_" ''MsgProtectionLevel) $(makeLenses ''MsgProtectionLevel) -msgGpsLeapSecond :: Word16 -msgGpsLeapSecond = 0x023A +msgUtcLeapSecond :: Word16 +msgUtcLeapSecond = 0x023A --- | SBP class for message MSG_GPS_LEAP_SECOND (0x023A). +-- | SBP class for message MSG_UTC_LEAP_SECOND (0x023A). -- -- Emulates the GPS CNAV message, reserving bytes for future broadcast of the -- drift model parameters. -data MsgGpsLeapSecond = MsgGpsLeapSecond - { _msgGpsLeapSecond_bias_coeff :: !Int16 +data MsgUtcLeapSecond = MsgUtcLeapSecond + { _msgUtcLeapSecond_bias_coeff :: !Int16 -- ^ Reserved. Bias coefficient of GPS time scale with respect to UTC drift -- model. - , _msgGpsLeapSecond_drift_coeff :: !Int16 + , _msgUtcLeapSecond_drift_coeff :: !Int16 -- ^ Reserved. Drift coefficient of GPS time scale with respect to UTC drift -- model. - , _msgGpsLeapSecond_drift_rate_coeff :: !Int8 + , _msgUtcLeapSecond_drift_rate_coeff :: !Int8 -- ^ Reserved. Drift rate correction coefficient of GPS time scale with -- respect to UTC drift model. - , _msgGpsLeapSecond_count_before :: !Int8 + , _msgUtcLeapSecond_count_before :: !Int8 -- ^ Leap second count before insertion. - , _msgGpsLeapSecond_tow_s :: !Word16 + , _msgUtcLeapSecond_tow_s :: !Word16 -- ^ Reserved. Drift model reference week second. - , _msgGpsLeapSecond_wn :: !Word16 + , _msgUtcLeapSecond_wn :: !Word16 -- ^ Reserved. Drift model reference week number. - , _msgGpsLeapSecond_ref_wn :: !Word16 + , _msgUtcLeapSecond_ref_wn :: !Word16 -- ^ Leap second reference week number. - , _msgGpsLeapSecond_ref_dn :: !Word8 + , _msgUtcLeapSecond_ref_dn :: !Word8 -- ^ Leap second reference day number. - , _msgGpsLeapSecond_count_after :: !Int8 + , _msgUtcLeapSecond_count_after :: !Int8 -- ^ Leap second count after insertion. } deriving ( Show, Read, Eq ) -instance Binary MsgGpsLeapSecond where +instance Binary MsgUtcLeapSecond where get = do - _msgGpsLeapSecond_bias_coeff <- (fromIntegral <$> getWord16le) - _msgGpsLeapSecond_drift_coeff <- (fromIntegral <$> getWord16le) - _msgGpsLeapSecond_drift_rate_coeff <- (fromIntegral <$> getWord8) - _msgGpsLeapSecond_count_before <- (fromIntegral <$> getWord8) - _msgGpsLeapSecond_tow_s <- getWord16le - _msgGpsLeapSecond_wn <- getWord16le - _msgGpsLeapSecond_ref_wn <- getWord16le - _msgGpsLeapSecond_ref_dn <- getWord8 - _msgGpsLeapSecond_count_after <- (fromIntegral <$> getWord8) - pure MsgGpsLeapSecond {..} - - put MsgGpsLeapSecond {..} = do - (putWord16le . fromIntegral) _msgGpsLeapSecond_bias_coeff - (putWord16le . fromIntegral) _msgGpsLeapSecond_drift_coeff - (putWord8 . fromIntegral) _msgGpsLeapSecond_drift_rate_coeff - (putWord8 . fromIntegral) _msgGpsLeapSecond_count_before - putWord16le _msgGpsLeapSecond_tow_s - putWord16le _msgGpsLeapSecond_wn - putWord16le _msgGpsLeapSecond_ref_wn - putWord8 _msgGpsLeapSecond_ref_dn - (putWord8 . fromIntegral) _msgGpsLeapSecond_count_after - -$(makeSBP 'msgGpsLeapSecond ''MsgGpsLeapSecond) -$(makeJSON "_msgGpsLeapSecond_" ''MsgGpsLeapSecond) -$(makeLenses ''MsgGpsLeapSecond) - -msgItrf :: Word16 -msgItrf = 0x0244 - -data MsgItrf = MsgItrf - { _msgItrf_ssr_iod :: !Word8 + _msgUtcLeapSecond_bias_coeff <- (fromIntegral <$> getWord16le) + _msgUtcLeapSecond_drift_coeff <- (fromIntegral <$> getWord16le) + _msgUtcLeapSecond_drift_rate_coeff <- (fromIntegral <$> getWord8) + _msgUtcLeapSecond_count_before <- (fromIntegral <$> getWord8) + _msgUtcLeapSecond_tow_s <- getWord16le + _msgUtcLeapSecond_wn <- getWord16le + _msgUtcLeapSecond_ref_wn <- getWord16le + _msgUtcLeapSecond_ref_dn <- getWord8 + _msgUtcLeapSecond_count_after <- (fromIntegral <$> getWord8) + pure MsgUtcLeapSecond {..} + + put MsgUtcLeapSecond {..} = do + (putWord16le . fromIntegral) _msgUtcLeapSecond_bias_coeff + (putWord16le . fromIntegral) _msgUtcLeapSecond_drift_coeff + (putWord8 . fromIntegral) _msgUtcLeapSecond_drift_rate_coeff + (putWord8 . fromIntegral) _msgUtcLeapSecond_count_before + putWord16le _msgUtcLeapSecond_tow_s + putWord16le _msgUtcLeapSecond_wn + putWord16le _msgUtcLeapSecond_ref_wn + putWord8 _msgUtcLeapSecond_ref_dn + (putWord8 . fromIntegral) _msgUtcLeapSecond_count_after + +$(makeSBP 'msgUtcLeapSecond ''MsgUtcLeapSecond) +$(makeJSON "_msgUtcLeapSecond_" ''MsgUtcLeapSecond) +$(makeLenses ''MsgUtcLeapSecond) + +msgReferenceFrameParam :: Word16 +msgReferenceFrameParam = 0x0244 + +data MsgReferenceFrameParam = MsgReferenceFrameParam + { _msgReferenceFrameParam_ssr_iod :: !Word8 -- ^ SSR IOD parameter. - , _msgItrf_sn_counter_n :: !Word8 + , _msgReferenceFrameParam_sn_counter_n :: !Word8 -- ^ Source-Name Counter N. - , _msgItrf_sn :: !Text + , _msgReferenceFrameParam_sn :: !Text -- ^ Source-Name - , _msgItrf_tn_counter_m :: !Word8 + , _msgReferenceFrameParam_tn_counter_m :: !Word8 -- ^ Target-Name Counter M. - , _msgItrf_tn :: !Text + , _msgReferenceFrameParam_tn :: !Text -- ^ Target-Name - , _msgItrf_sin :: !Word8 + , _msgReferenceFrameParam_sin :: !Word8 -- ^ System Identification Number. - , _msgItrf_utn :: !Word16 + , _msgReferenceFrameParam_utn :: !Word16 -- ^ Utilized Transformation Message. - , _msgItrf_re_t0 :: !Word16 + , _msgReferenceFrameParam_re_t0 :: !Word16 -- ^ Reference Epoch t0 for transformation parameter set given as Modified -- Julian Day (MDJ) Number minus 44244 days. - , _msgItrf_delta_X0 :: !Int32 + , _msgReferenceFrameParam_delta_X0 :: !Int32 -- ^ Translation in X for Reference Epoch t0. - , _msgItrf_delta_Y0 :: !Int32 + , _msgReferenceFrameParam_delta_Y0 :: !Int32 -- ^ Translation in Y for Reference Epoch t0. - , _msgItrf_delta_Z0 :: !Int32 + , _msgReferenceFrameParam_delta_Z0 :: !Int32 -- ^ Translation in Z for Reference Epoch t0. - , _msgItrf_theta_01 :: !Int32 + , _msgReferenceFrameParam_theta_01 :: !Int32 -- ^ Rotation around the X-axis for Reference Epoch t0. - , _msgItrf_theta_02 :: !Int32 + , _msgReferenceFrameParam_theta_02 :: !Int32 -- ^ Rotation around the Y-axis for Reference Epoch t0. - , _msgItrf_theta_03 :: !Int32 + , _msgReferenceFrameParam_theta_03 :: !Int32 -- ^ Rotation around the Z-axis for Reference Epoch t0. - , _msgItrf_scale :: !Int32 + , _msgReferenceFrameParam_scale :: !Int32 -- ^ Scale correction for Reference Epoch t0. - , _msgItrf_dot_delta_X0 :: !Int32 + , _msgReferenceFrameParam_dot_delta_X0 :: !Int32 -- ^ Rate of change of translation in X. - , _msgItrf_dot_delta_Y0 :: !Int32 + , _msgReferenceFrameParam_dot_delta_Y0 :: !Int32 -- ^ Rate of change of translation in Y. - , _msgItrf_dot_delta_Z0 :: !Int32 + , _msgReferenceFrameParam_dot_delta_Z0 :: !Int32 -- ^ Rate of change of translation in Z. - , _msgItrf_dot_theta_01 :: !Int32 + , _msgReferenceFrameParam_dot_theta_01 :: !Int32 -- ^ Rate of change of rotation around the X-axis. - , _msgItrf_dot_theta_02 :: !Int32 + , _msgReferenceFrameParam_dot_theta_02 :: !Int32 -- ^ Rate of change of rotation around the Y-axis. - , _msgItrf_dot_theta_03 :: !Int32 + , _msgReferenceFrameParam_dot_theta_03 :: !Int32 -- ^ Rate of change of rotation around the Z-axis. - , _msgItrf_dot_scale :: !Int16 + , _msgReferenceFrameParam_dot_scale :: !Int16 -- ^ Rate of change of scale correction. } deriving ( Show, Read, Eq ) -instance Binary MsgItrf where +instance Binary MsgReferenceFrameParam where get = do - _msgItrf_ssr_iod <- getWord8 - _msgItrf_sn_counter_n <- getWord8 - _msgItrf_sn <- decodeUtf8 <$> getByteString 31 - _msgItrf_tn_counter_m <- getWord8 - _msgItrf_tn <- decodeUtf8 <$> getByteString 31 - _msgItrf_sin <- getWord8 - _msgItrf_utn <- getWord16le - _msgItrf_re_t0 <- getWord16le - _msgItrf_delta_X0 <- (fromIntegral <$> getWord32le) - _msgItrf_delta_Y0 <- (fromIntegral <$> getWord32le) - _msgItrf_delta_Z0 <- (fromIntegral <$> getWord32le) - _msgItrf_theta_01 <- (fromIntegral <$> getWord32le) - _msgItrf_theta_02 <- (fromIntegral <$> getWord32le) - _msgItrf_theta_03 <- (fromIntegral <$> getWord32le) - _msgItrf_scale <- (fromIntegral <$> getWord32le) - _msgItrf_dot_delta_X0 <- (fromIntegral <$> getWord32le) - _msgItrf_dot_delta_Y0 <- (fromIntegral <$> getWord32le) - _msgItrf_dot_delta_Z0 <- (fromIntegral <$> getWord32le) - _msgItrf_dot_theta_01 <- (fromIntegral <$> getWord32le) - _msgItrf_dot_theta_02 <- (fromIntegral <$> getWord32le) - _msgItrf_dot_theta_03 <- (fromIntegral <$> getWord32le) - _msgItrf_dot_scale <- (fromIntegral <$> getWord16le) - pure MsgItrf {..} - - put MsgItrf {..} = do - putWord8 _msgItrf_ssr_iod - putWord8 _msgItrf_sn_counter_n - putByteString $ encodeUtf8 _msgItrf_sn - putWord8 _msgItrf_tn_counter_m - putByteString $ encodeUtf8 _msgItrf_tn - putWord8 _msgItrf_sin - putWord16le _msgItrf_utn - putWord16le _msgItrf_re_t0 - (putWord32le . fromIntegral) _msgItrf_delta_X0 - (putWord32le . fromIntegral) _msgItrf_delta_Y0 - (putWord32le . fromIntegral) _msgItrf_delta_Z0 - (putWord32le . fromIntegral) _msgItrf_theta_01 - (putWord32le . fromIntegral) _msgItrf_theta_02 - (putWord32le . fromIntegral) _msgItrf_theta_03 - (putWord32le . fromIntegral) _msgItrf_scale - (putWord32le . fromIntegral) _msgItrf_dot_delta_X0 - (putWord32le . fromIntegral) _msgItrf_dot_delta_Y0 - (putWord32le . fromIntegral) _msgItrf_dot_delta_Z0 - (putWord32le . fromIntegral) _msgItrf_dot_theta_01 - (putWord32le . fromIntegral) _msgItrf_dot_theta_02 - (putWord32le . fromIntegral) _msgItrf_dot_theta_03 - (putWord16le . fromIntegral) _msgItrf_dot_scale - -$(makeSBP 'msgItrf ''MsgItrf) -$(makeJSON "_msgItrf_" ''MsgItrf) -$(makeLenses ''MsgItrf) + _msgReferenceFrameParam_ssr_iod <- getWord8 + _msgReferenceFrameParam_sn_counter_n <- getWord8 + _msgReferenceFrameParam_sn <- decodeUtf8 <$> getByteString 31 + _msgReferenceFrameParam_tn_counter_m <- getWord8 + _msgReferenceFrameParam_tn <- decodeUtf8 <$> getByteString 31 + _msgReferenceFrameParam_sin <- getWord8 + _msgReferenceFrameParam_utn <- getWord16le + _msgReferenceFrameParam_re_t0 <- getWord16le + _msgReferenceFrameParam_delta_X0 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_delta_Y0 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_delta_Z0 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_theta_01 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_theta_02 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_theta_03 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_scale <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_dot_delta_X0 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_dot_delta_Y0 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_dot_delta_Z0 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_dot_theta_01 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_dot_theta_02 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_dot_theta_03 <- (fromIntegral <$> getWord32le) + _msgReferenceFrameParam_dot_scale <- (fromIntegral <$> getWord16le) + pure MsgReferenceFrameParam {..} + + put MsgReferenceFrameParam {..} = do + putWord8 _msgReferenceFrameParam_ssr_iod + putWord8 _msgReferenceFrameParam_sn_counter_n + putByteString $ encodeUtf8 _msgReferenceFrameParam_sn + putWord8 _msgReferenceFrameParam_tn_counter_m + putByteString $ encodeUtf8 _msgReferenceFrameParam_tn + putWord8 _msgReferenceFrameParam_sin + putWord16le _msgReferenceFrameParam_utn + putWord16le _msgReferenceFrameParam_re_t0 + (putWord32le . fromIntegral) _msgReferenceFrameParam_delta_X0 + (putWord32le . fromIntegral) _msgReferenceFrameParam_delta_Y0 + (putWord32le . fromIntegral) _msgReferenceFrameParam_delta_Z0 + (putWord32le . fromIntegral) _msgReferenceFrameParam_theta_01 + (putWord32le . fromIntegral) _msgReferenceFrameParam_theta_02 + (putWord32le . fromIntegral) _msgReferenceFrameParam_theta_03 + (putWord32le . fromIntegral) _msgReferenceFrameParam_scale + (putWord32le . fromIntegral) _msgReferenceFrameParam_dot_delta_X0 + (putWord32le . fromIntegral) _msgReferenceFrameParam_dot_delta_Y0 + (putWord32le . fromIntegral) _msgReferenceFrameParam_dot_delta_Z0 + (putWord32le . fromIntegral) _msgReferenceFrameParam_dot_theta_01 + (putWord32le . fromIntegral) _msgReferenceFrameParam_dot_theta_02 + (putWord32le . fromIntegral) _msgReferenceFrameParam_dot_theta_03 + (putWord16le . fromIntegral) _msgReferenceFrameParam_dot_scale + +$(makeSBP 'msgReferenceFrameParam ''MsgReferenceFrameParam) +$(makeJSON "_msgReferenceFrameParam_" ''MsgReferenceFrameParam) +$(makeLenses ''MsgReferenceFrameParam) diff --git a/haskell/src/SwiftNav/SBP/Ssr.hs b/haskell/src/SwiftNav/SBP/Ssr.hs index c03e4360f1..72b1c50aab 100644 --- a/haskell/src/SwiftNav/SBP/Ssr.hs +++ b/haskell/src/SwiftNav/SBP/Ssr.hs @@ -1335,15 +1335,15 @@ data OrbitClockBound = OrbitClockBound , _orbitClockBound_orb_cross_bound_mu :: !Word8 -- ^ Mean Cross-Track. See Note 1. , _orbitClockBound_orb_radial_bound_sig :: !Word8 - -- ^ Standard Deviation Radial. See Note 1. + -- ^ Standard Deviation Radial. See Note 2. , _orbitClockBound_orb_along_bound_sig :: !Word8 - -- ^ Standard Deviation Along-Track. See Note 1. + -- ^ Standard Deviation Along-Track. See Note 2. , _orbitClockBound_orb_cross_bound_sig :: !Word8 - -- ^ Standard Deviation Cross-Track. See Note 1. + -- ^ Standard Deviation Cross-Track. See Note 2. , _orbitClockBound_clock_bound_mu :: !Word8 -- ^ Clock Bound Mean. See Note 1. , _orbitClockBound_clock_bound_sig :: !Word8 - -- ^ Clock Bound Standard Deviation. See Note 1. + -- ^ Clock Bound Standard Deviation. See Note 2. } deriving ( Show, Read, Eq ) instance Binary OrbitClockBound where @@ -1378,8 +1378,11 @@ msgSsrOrbitClockBounds = 0x05DE -- | SBP class for message MSG_SSR_ORBIT_CLOCK_BOUNDS (0x05DE). -- --- Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). +-- Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230). +-- +-- Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, std=5+0.5(i-230). data MsgSsrOrbitClockBounds = MsgSsrOrbitClockBounds { _msgSsrOrbitClockBounds_header :: !BoundsHeader -- ^ Header of a bounds message. @@ -1549,7 +1552,8 @@ data MsgSsrOrbitClockBoundsDegradation = MsgSsrOrbitClockBoundsDegradation -- ^ Constellation ID to which the SVs belong. , _msgSsrOrbitClockBoundsDegradation_sat_bitmask :: !Word64 -- ^ Satellite Bit Mask. Put 1 for each satellite where the following - -- degradation parameters are applicable, 0 otherwise. + -- degradation parameters are applicable, 0 otherwise. Encoded following + -- RTCM DF394 specification. , _msgSsrOrbitClockBoundsDegradation_orbit_clock_bounds_degradation :: !OrbitClockBoundDegradation -- ^ Orbit and Clock Bounds Degradation Parameters } deriving ( Show, Read, Eq ) diff --git a/java/src/com/swiftnav/sbp/client/MessageTable.java b/java/src/com/swiftnav/sbp/client/MessageTable.java index 336cd19b2f..e07f88149b 100644 --- a/java/src/com/swiftnav/sbp/client/MessageTable.java +++ b/java/src/com/swiftnav/sbp/client/MessageTable.java @@ -76,11 +76,9 @@ import com.swiftnav.sbp.navigation.MsgBaselineNEDDepA; import com.swiftnav.sbp.navigation.MsgDops; import com.swiftnav.sbp.navigation.MsgDopsDepA; -import com.swiftnav.sbp.navigation.MsgGPSLeapSecond; import com.swiftnav.sbp.navigation.MsgGPSTime; import com.swiftnav.sbp.navigation.MsgGPSTimeDepA; import com.swiftnav.sbp.navigation.MsgGPSTimeGnss; -import com.swiftnav.sbp.navigation.MsgItrf; import com.swiftnav.sbp.navigation.MsgPosECEF; import com.swiftnav.sbp.navigation.MsgPosECEFCov; import com.swiftnav.sbp.navigation.MsgPosECEFCovGnss; @@ -94,6 +92,8 @@ import com.swiftnav.sbp.navigation.MsgPosLLHGnss; import com.swiftnav.sbp.navigation.MsgProtectionLevel; import com.swiftnav.sbp.navigation.MsgProtectionLevelDepA; +import com.swiftnav.sbp.navigation.MsgReferenceFrameParam; +import com.swiftnav.sbp.navigation.MsgUtcLeapSecond; import com.swiftnav.sbp.navigation.MsgUtcTime; import com.swiftnav.sbp.navigation.MsgUtcTimeGnss; import com.swiftnav.sbp.navigation.MsgVelBody; @@ -422,10 +422,10 @@ static SBPMessage dispatch(SBPMessage msg) throws SBPBinaryException { return new MsgProtectionLevelDepA(msg); case MsgProtectionLevel.TYPE: return new MsgProtectionLevel(msg); - case MsgGPSLeapSecond.TYPE: - return new MsgGPSLeapSecond(msg); - case MsgItrf.TYPE: - return new MsgItrf(msg); + case MsgUtcLeapSecond.TYPE: + return new MsgUtcLeapSecond(msg); + case MsgReferenceFrameParam.TYPE: + return new MsgReferenceFrameParam(msg); case MsgNdbEvent.TYPE: return new MsgNdbEvent(msg); case MsgObs.TYPE: diff --git a/java/src/com/swiftnav/sbp/navigation/MsgItrf.java b/java/src/com/swiftnav/sbp/navigation/MsgReferenceFrameParam.java similarity index 96% rename from java/src/com/swiftnav/sbp/navigation/MsgItrf.java rename to java/src/com/swiftnav/sbp/navigation/MsgReferenceFrameParam.java index 967751a54f..b3bd2f9278 100644 --- a/java/src/com/swiftnav/sbp/navigation/MsgItrf.java +++ b/java/src/com/swiftnav/sbp/navigation/MsgReferenceFrameParam.java @@ -18,7 +18,7 @@ import com.swiftnav.sbp.SBPMessage; import org.json.JSONObject; -public class MsgItrf extends SBPMessage { +public class MsgReferenceFrameParam extends SBPMessage { public static final int TYPE = 0x0244; /** SSR IOD parameter. */ @@ -90,15 +90,15 @@ public class MsgItrf extends SBPMessage { /** Rate of change of scale correction. */ public int dot_scale; - public MsgItrf(int sender) { + public MsgReferenceFrameParam(int sender) { super(sender, TYPE); } - public MsgItrf() { + public MsgReferenceFrameParam() { super(TYPE); } - public MsgItrf(SBPMessage msg) throws SBPBinaryException { + public MsgReferenceFrameParam(SBPMessage msg) throws SBPBinaryException { super(msg); assert msg.type == TYPE; } diff --git a/java/src/com/swiftnav/sbp/navigation/MsgGPSLeapSecond.java b/java/src/com/swiftnav/sbp/navigation/MsgUtcLeapSecond.java similarity index 91% rename from java/src/com/swiftnav/sbp/navigation/MsgGPSLeapSecond.java rename to java/src/com/swiftnav/sbp/navigation/MsgUtcLeapSecond.java index fb942e107b..a108195af1 100644 --- a/java/src/com/swiftnav/sbp/navigation/MsgGPSLeapSecond.java +++ b/java/src/com/swiftnav/sbp/navigation/MsgUtcLeapSecond.java @@ -19,15 +19,15 @@ import org.json.JSONObject; /** - * SBP class for message MSG_GPS_LEAP_SECOND (0x023A). + * SBP class for message MSG_UTC_LEAP_SECOND (0x023A). * - *

    You can have MSG_GPS_LEAP_SECOND inherent its fields directly from an inherited SBP object, or + *

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

    Emulates the GPS CNAV message, reserving bytes for future broadcast of the drift model * parameters. */ -public class MsgGPSLeapSecond extends SBPMessage { +public class MsgUtcLeapSecond extends SBPMessage { public static final int TYPE = 0x023A; /** Reserved. Bias coefficient of GPS time scale with respect to UTC drift model. */ @@ -60,15 +60,15 @@ public class MsgGPSLeapSecond extends SBPMessage { /** Leap second count after insertion. */ public int count_after; - public MsgGPSLeapSecond(int sender) { + public MsgUtcLeapSecond(int sender) { super(sender, TYPE); } - public MsgGPSLeapSecond() { + public MsgUtcLeapSecond() { super(TYPE); } - public MsgGPSLeapSecond(SBPMessage msg) throws SBPBinaryException { + public MsgUtcLeapSecond(SBPMessage msg) throws SBPBinaryException { super(msg); assert msg.type == TYPE; } diff --git a/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java b/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java index 06e1a3d9a3..e27a198dd1 100644 --- a/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java +++ b/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java @@ -26,8 +26,11 @@ *

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

    Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, - * mean=25+2(i-240). + *

    Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, + * mean=5+0.5(i-230). + * + *

    8c>>{PmW#{5Vlh>;0!HdFZ%G|``N7AprZ>7z` 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 Date: Wed, 8 Jun 2022 16:31:52 -0400 Subject: [PATCH 11/14] update msg 1534 --- .../test_MsgSsrGriddedCorrectionBounds.yaml | 21 ++++++------ spec/yaml/swiftnav/sbp/ssr.yaml | 32 +++++++++---------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/spec/tests/yaml/swiftnav/sbp/ssr/test_MsgSsrGriddedCorrectionBounds.yaml b/spec/tests/yaml/swiftnav/sbp/ssr/test_MsgSsrGriddedCorrectionBounds.yaml index bed08e07a2..af539ee41a 100644 --- a/spec/tests/yaml/swiftnav/sbp/ssr/test_MsgSsrGriddedCorrectionBounds.yaml +++ b/spec/tests/yaml/swiftnav/sbp/ssr/test_MsgSsrGriddedCorrectionBounds.yaml @@ -22,8 +22,10 @@ tests: hydro: 500 wet: 100 stddev: 200 - tropo_bound_mu: 150 - tropo_bound_sig: 100 + tropo_v_hydro_bound_mu: 150 + tropo_v_hydro_bound_sig: 100 + tropo_v_wet_bound_mu: 150 + tropo_v_wet_bound_sig: 100 n_sats: 2 stec_sat_list: - stec_residual: @@ -51,17 +53,18 @@ tests: msg_type: '1534' raw_json: '{"header": {"time": {"tow": 180, "wn": 3}, "num_msgs": 1, "seq_num": 1, "update_interval": 10, "sol_id": 0}, "ssr_iod_atmo": 15, "tile_set_id": 1, "tile_id": 10, "tropo_qi": 39, "grid_point_id": 1000, "tropo_delay_correction": - {"hydro": 500, "wet": 100, "stddev": 200}, "tropo_bound_mu": 150, "tropo_bound_sig": 100, "n_sats": 2, "stec_sat_list": + {"hydro": 500, "wet": 100, "stddev": 200}, "tropo_v_hydro_bound_mu": 150, "tropo_v_hydro_bound_sig": 100, + "tropo_v_wet_bound_mu": 150, "tropo_v_wet_bound_sig": 100, "n_sats": 2, "stec_sat_list": [{"stec_residual": {"sv_id": {"satId": 5, "constellation": 10}, "residual": 16, "stddev": 17}, "stec_bound_mu": 18, "stec_bound_sig": 19, "stec_bound_mu_dot": 20, "stec_bound_sig_dot": 21}, {"stec_residual": {"sv_id": {"satId": 6, "constellation": 10}, "residual": 22, "stddev": 23}, "stec_bound_mu": 24, "stec_bound_sig": 25, "stec_bound_mu_dot": 26, - "stec_bound_sig_dot": 27}], "preamble": 85, "msg_type": 1534, "sender": 66, "length": 43, - "payload": "tAAAAAMAAQEKAA8BAAoAJ+gD9AFkyJZkAgUKEAAREhMUFQYKFgAXGBkaGw==", "crc": 37232}' - raw_packet: Vf4FQgArtAAAAAMAAQEKAA8BAAoAJ+gD9AFkyJZkAgUKEAAREhMUFQYKFgAXGBkaG3CR + "stec_bound_sig_dot": 27}], "preamble": 85, "msg_type": 1534, "sender": 66, "length": 45, + "payload": "tAAAAAMAAQEKAA8BAAoAJ+gD9AFkyJZklmQCBQoQABESExQVBgoWABcYGRob", "crc": 21111}' + raw_packet: Vf4FQgAttAAAAAMAAQEKAA8BAAoAJ+gD9AFkyJZklmQCBQoQABESExQVBgoWABcYGRobd1I= sbp: preamble: '0x55' msg_type: '0x05FE' sender: '0x0042' - length: 43 - payload: tAAAAAMAAQEKAA8BAAoAJ+gD9AFkyJZkAgUKEAAREhMUFQYKFgAXGBkaGw== - crc: '0x9170' + length: 45 + payload: tAAAAAMAAQEKAA8BAAoAJ+gD9AFkyJZklmQCBQoQABESExQVBgoWABcYGRob + crc: '0x5277' diff --git a/spec/yaml/swiftnav/sbp/ssr.yaml b/spec/yaml/swiftnav/sbp/ssr.yaml index b7f8267b8c..a1bd6d0274 100644 --- a/spec/yaml/swiftnav/sbp/ssr.yaml +++ b/spec/yaml/swiftnav/sbp/ssr.yaml @@ -477,15 +477,11 @@ definitions: - stec_bound_mu_dot: type: u8 units: 0.00005 m/s - desc: > - Error Bound Mean First derivative. - Range: 0-0.01275 m/s + desc: Error Bound Mean First derivative. - stec_bound_sig_dot: type: u8 units: 0.00005 m/s - desc: > - Error Bound StDev First derivative. - Range: 0-0.01275 m/s + desc: Error Bound StDev First derivative. - MSG_SSR_GRIDDED_CORRECTION_BOUNDS: id: 0x05FE @@ -501,10 +497,10 @@ definitions: desc: Header of a bounds message. - ssr_iod_atmo: type: u8 - desc: IOD of the SSR atmospheric correction. + desc: IOD of the correction. - tile_set_id: type: u16 - desc: Unique identifier of the set this tile belongs to. + desc: Set this tile belongs to. - tile_id: type: u16 desc: Unique identifier of this tile in the tile set. @@ -517,18 +513,22 @@ definitions: - tropo_delay_correction: type: TroposphericDelayCorrection desc: Tropospheric delay at grid point. - - tropo_bound_mu: + - tropo_v_hydro_bound_mu: type: u8 units: 0.005 m - desc: > - Troposphere Error Bound Mean. - Range: 0-1.275 m - - tropo_bound_sig: + desc: Vertical Hydrostatic Error Bound Mean. + - tropo_v_hydro_bound_sig: type: u8 units: 0.005 m - desc: > - Troposphere Error Bound StDev. - Range: 0-1.275 m + desc: Vertical Hydrostatic Error Bound StDev. + - tropo_v_wet_bound_mu: + type: u8 + units: 0.005 m + desc: Vertical Wet Error Bound Mean. + - tropo_v_wet_bound_sig: + type: u8 + units: 0.005 m + desc: Vertical Wet Error Bound StDev. - n_sats: type: u8 desc: Number of satellites. From 64ef6617f393cc5848f0725a9b0b6e30cd204129 Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Wed, 8 Jun 2022 17:13:19 -0400 Subject: [PATCH 12/14] make all --- c/include/libsbp/legacy/ssr.h | 24 +++---- c/include/libsbp/ssr_macros.h | 2 +- .../ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h | 22 ++++-- .../libsbp/v4/ssr/STECSatElementIntegrity.h | 4 +- c/src/v4/ssr.c | 34 +++++++-- ...ck_sbp_ssr_MsgSsrGriddedCorrectionBounds.c | 64 +++++++++++------ ...k_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc | 35 +++++---- ...ck_sbp_ssr_MsgSsrGriddedCorrectionBounds.c | 36 ++++++---- ...k_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc | 32 +++++---- docs/sbp.pdf | Bin 494293 -> 494286 bytes haskell/src/SwiftNav/SBP/Ssr.hs | 48 +++++++------ .../ssr/MsgSsrGriddedCorrectionBounds.java | 36 ++++++---- .../sbp/ssr/STECSatElementIntegrity.java | 4 +- ...ssr_MsgSsrGriddedCorrectionBoundsTest.java | 68 +++++++++++------- javascript/sbp.bundle.js | 2 +- javascript/sbp/ssr.js | 26 ++++--- jsonschema/MsgSsrGriddedCorrectionBounds.json | 12 ++-- proto/ssr.proto | 10 +-- python/sbp/ssr.py | 38 ++++++---- rust/sbp/src/messages/ssr.rs | 49 ++++++++----- ...p_ssr_msg_ssr_gridded_correction_bounds.rs | 36 ++++++---- sbpjson/elm/SbpJson.elm | 18 +++-- sbpjson/javascript/SbpJson.js | 6 +- sbpjson/typescript/SbpJson.ts | 30 ++++---- 24 files changed, 410 insertions(+), 226 deletions(-) diff --git a/c/include/libsbp/legacy/ssr.h b/c/include/libsbp/legacy/ssr.h index 33aff0f433..2a595ffd01 100644 --- a/c/include/libsbp/legacy/ssr.h +++ b/c/include/libsbp/legacy/ssr.h @@ -321,10 +321,9 @@ typedef struct SBP_ATTR_PACKED { stec_residual_t stec_residual; /**< STEC residuals (mean, stddev) */ u8 stec_bound_mu; /**< Error Bound Mean. See Note 1. [m] */ u8 stec_bound_sig; /**< Error Bound StDev. See Note 1. [m] */ - u8 stec_bound_mu_dot; /**< Error Bound Mean First derivative. Range: - 0-0.01275 m/s [0.00005 m/s] */ - u8 stec_bound_sig_dot; /**< Error Bound StDev First derivative. Range: - 0-0.01275 m/s [0.00005 m/s] */ + u8 stec_bound_mu_dot; /**< Error Bound Mean First derivative. [0.00005 m/s] */ + u8 stec_bound_sig_dot; /**< Error Bound StDev First derivative. [0.00005 m/s] + */ } stec_sat_element_integrity_t; /** Gridded troposhere and STEC correction residuals bounds @@ -335,9 +334,8 @@ typedef struct SBP_ATTR_PACKED { typedef struct SBP_ATTR_PACKED { bounds_header_t header; /**< Header of a bounds message. */ - u8 ssr_iod_atmo; /**< IOD of the SSR atmospheric correction. */ - u16 tile_set_id; /**< Unique identifier of the set this tile - belongs to. */ + u8 ssr_iod_atmo; /**< IOD of the correction. */ + u16 tile_set_id; /**< Set this tile belongs to. */ u16 tile_id; /**< Unique identifier of this tile in the tile set. */ u8 tropo_qi; /**< Tropo Quality Indicator. Similar to RTCM @@ -346,11 +344,13 @@ typedef struct SBP_ATTR_PACKED { tropospheric_delay_correction_t tropo_delay_correction; /**< Tropospheric delay at grid point. */ - u8 tropo_bound_mu; /**< Troposphere Error Bound Mean. Range: - 0-1.275 m [0.005 m] */ - u8 tropo_bound_sig; /**< Troposphere Error Bound StDev. Range: - 0-1.275 m [0.005 m] */ - u8 n_sats; /**< Number of satellites. */ + u8 tropo_v_hydro_bound_mu; /**< Vertical Hydrostatic Error Bound Mean. [0.005 + m] */ + u8 tropo_v_hydro_bound_sig; /**< Vertical Hydrostatic Error Bound StDev. + [0.005 m] */ + u8 tropo_v_wet_bound_mu; /**< Vertical Wet Error Bound Mean. [0.005 m] */ + u8 tropo_v_wet_bound_sig; /**< Vertical Wet Error Bound StDev. [0.005 m] */ + u8 n_sats; /**< Number of satellites. */ stec_sat_element_integrity_t stec_sat_list[0]; /**< Array of STEC polynomial coefficients diff --git a/c/include/libsbp/ssr_macros.h b/c/include/libsbp/ssr_macros.h index 30e383ccdd..4cd8bc86a4 100644 --- a/c/include/libsbp/ssr_macros.h +++ b/c/include/libsbp/ssr_macros.h @@ -238,7 +238,7 @@ * See the documentation for libsbp for more details regarding the message * structure and its variable length component(s) */ -#define SBP_MSG_SSR_GRIDDED_CORRECTION_BOUNDS_ENCODED_OVERHEAD 25u +#define SBP_MSG_SSR_GRIDDED_CORRECTION_BOUNDS_ENCODED_OVERHEAD 27u #define SBP_MSG_SSR_TILE_DEFINITION_DEP 0x05F6 /** diff --git a/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h b/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h index 9eba72745d..22f09c53bd 100644 --- a/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h +++ b/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h @@ -53,12 +53,12 @@ typedef struct { sbp_bounds_header_t header; /** - * IOD of the SSR atmospheric correction. + * IOD of the correction. */ u8 ssr_iod_atmo; /** - * Unique identifier of the set this tile belongs to. + * Set this tile belongs to. */ u16 tile_set_id; @@ -83,14 +83,24 @@ typedef struct { sbp_tropospheric_delay_correction_t tropo_delay_correction; /** - * Troposphere Error Bound Mean. Range: 0-1.275 m [0.005 m] + * Vertical Hydrostatic Error Bound Mean. [0.005 m] */ - u8 tropo_bound_mu; + u8 tropo_v_hydro_bound_mu; /** - * Troposphere Error Bound StDev. Range: 0-1.275 m [0.005 m] + * Vertical Hydrostatic Error Bound StDev. [0.005 m] */ - u8 tropo_bound_sig; + u8 tropo_v_hydro_bound_sig; + + /** + * Vertical Wet Error Bound Mean. [0.005 m] + */ + u8 tropo_v_wet_bound_mu; + + /** + * Vertical Wet Error Bound StDev. [0.005 m] + */ + u8 tropo_v_wet_bound_sig; /** * Number of satellites. diff --git a/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h b/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h index ccfaad2f3c..d157c571eb 100644 --- a/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h +++ b/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h @@ -60,12 +60,12 @@ typedef struct { u8 stec_bound_sig; /** - * Error Bound Mean First derivative. Range: 0-0.01275 m/s [0.00005 m/s] + * Error Bound Mean First derivative. [0.00005 m/s] */ u8 stec_bound_mu_dot; /** - * Error Bound StDev First derivative. Range: 0-0.01275 m/s [0.00005 m/s] + * Error Bound StDev First derivative. [0.00005 m/s] */ u8 stec_bound_sig_dot; } sbp_stec_sat_element_integrity_t; diff --git a/c/src/v4/ssr.c b/c/src/v4/ssr.c index e3a033f172..839b21a87e 100644 --- a/c/src/v4/ssr.c +++ b/c/src/v4/ssr.c @@ -1927,10 +1927,16 @@ bool sbp_msg_ssr_gridded_correction_bounds_encode_internal( ctx, &msg->tropo_delay_correction)) { return false; } - if (!sbp_u8_encode(ctx, &msg->tropo_bound_mu)) { + if (!sbp_u8_encode(ctx, &msg->tropo_v_hydro_bound_mu)) { return false; } - if (!sbp_u8_encode(ctx, &msg->tropo_bound_sig)) { + if (!sbp_u8_encode(ctx, &msg->tropo_v_hydro_bound_sig)) { + return false; + } + if (!sbp_u8_encode(ctx, &msg->tropo_v_wet_bound_mu)) { + return false; + } + if (!sbp_u8_encode(ctx, &msg->tropo_v_wet_bound_sig)) { return false; } if (!sbp_u8_encode(ctx, &msg->n_sats)) { @@ -1985,10 +1991,16 @@ bool sbp_msg_ssr_gridded_correction_bounds_decode_internal( ctx, &msg->tropo_delay_correction)) { return false; } - if (!sbp_u8_decode(ctx, &msg->tropo_bound_mu)) { + if (!sbp_u8_decode(ctx, &msg->tropo_v_hydro_bound_mu)) { + return false; + } + if (!sbp_u8_decode(ctx, &msg->tropo_v_hydro_bound_sig)) { + return false; + } + if (!sbp_u8_decode(ctx, &msg->tropo_v_wet_bound_mu)) { return false; } - if (!sbp_u8_decode(ctx, &msg->tropo_bound_sig)) { + if (!sbp_u8_decode(ctx, &msg->tropo_v_wet_bound_sig)) { return false; } if (!sbp_u8_decode(ctx, &msg->n_sats)) { @@ -2076,12 +2088,22 @@ int sbp_msg_ssr_gridded_correction_bounds_cmp( return ret; } - ret = sbp_u8_cmp(&a->tropo_bound_mu, &b->tropo_bound_mu); + ret = sbp_u8_cmp(&a->tropo_v_hydro_bound_mu, &b->tropo_v_hydro_bound_mu); + if (ret != 0) { + return ret; + } + + ret = sbp_u8_cmp(&a->tropo_v_hydro_bound_sig, &b->tropo_v_hydro_bound_sig); + if (ret != 0) { + return ret; + } + + ret = sbp_u8_cmp(&a->tropo_v_wet_bound_mu, &b->tropo_v_wet_bound_mu); if (ret != 0) { return ret; } - ret = sbp_u8_cmp(&a->tropo_bound_sig, &b->tropo_bound_sig); + ret = sbp_u8_cmp(&a->tropo_v_wet_bound_sig, &b->tropo_v_wet_bound_sig); if (ret != 0) { return ret; } diff --git a/c/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c b/c/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c index be074e3df7..9121a53e25 100644 --- a/c/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c +++ b/c/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c @@ -94,10 +94,10 @@ START_TEST(test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { &DUMMY_MEMORY_FOR_CALLBACKS, &n); u8 encoded_frame[] = { - 85, 254, 5, 66, 0, 43, 180, 0, 0, 0, 3, 0, 1, - 1, 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, - 100, 200, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, - 21, 6, 10, 22, 0, 23, 24, 25, 26, 27, 112, 145, + 85, 254, 5, 66, 0, 45, 180, 0, 0, 0, 3, 0, 1, 1, + 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, 100, 200, + 150, 100, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, 21, + 6, 10, 22, 0, 23, 24, 25, 26, 27, 119, 82, }; dummy_reset(); @@ -171,10 +171,6 @@ START_TEST(test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { test_msg.ssr_gridded_correction_bounds.tile_set_id = 1; - test_msg.ssr_gridded_correction_bounds.tropo_bound_mu = 150; - - test_msg.ssr_gridded_correction_bounds.tropo_bound_sig = 100; - test_msg.ssr_gridded_correction_bounds.tropo_delay_correction.hydro = 500; test_msg.ssr_gridded_correction_bounds.tropo_delay_correction.stddev = 200; @@ -183,6 +179,14 @@ START_TEST(test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { test_msg.ssr_gridded_correction_bounds.tropo_qi = 39; + test_msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_mu = 150; + + test_msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_sig = 100; + + test_msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_mu = 150; + + test_msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_sig = 100; + sbp_message_send(&sbp_state, SbpMsgSsrGriddedCorrectionBounds, 66, &test_msg, &dummy_write); @@ -407,20 +411,6 @@ START_TEST(test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { "expected 1, is %d", last_msg.msg.ssr_gridded_correction_bounds.tile_set_id); - ck_assert_msg( - last_msg.msg.ssr_gridded_correction_bounds.tropo_bound_mu == 150, - "incorrect value for " - "last_msg.msg.ssr_gridded_correction_bounds.tropo_bound_mu, expected " - "150, is %d", - last_msg.msg.ssr_gridded_correction_bounds.tropo_bound_mu); - - ck_assert_msg( - last_msg.msg.ssr_gridded_correction_bounds.tropo_bound_sig == 100, - "incorrect value for " - "last_msg.msg.ssr_gridded_correction_bounds.tropo_bound_sig, expected " - "100, is %d", - last_msg.msg.ssr_gridded_correction_bounds.tropo_bound_sig); - ck_assert_msg(last_msg.msg.ssr_gridded_correction_bounds .tropo_delay_correction.hydro == 500, "incorrect value for " @@ -450,6 +440,36 @@ START_TEST(test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { "last_msg.msg.ssr_gridded_correction_bounds.tropo_qi, " "expected 39, is %d", last_msg.msg.ssr_gridded_correction_bounds.tropo_qi); + + ck_assert_msg( + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_mu == + 150, + "incorrect value for " + "last_msg.msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_mu, " + "expected 150, is %d", + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_mu); + + ck_assert_msg( + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_sig == + 100, + "incorrect value for " + "last_msg.msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_sig, " + "expected 100, is %d", + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_hydro_bound_sig); + + ck_assert_msg( + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_mu == 150, + "incorrect value for " + "last_msg.msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_mu, " + "expected 150, is %d", + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_mu); + + ck_assert_msg( + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_sig == 100, + "incorrect value for " + "last_msg.msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_sig, " + "expected 100, is %d", + last_msg.msg.ssr_gridded_correction_bounds.tropo_v_wet_bound_sig); } } END_TEST diff --git a/c/test/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc b/c/test/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc index 7a118cdc63..fd4ed69348 100644 --- a/c/test/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc +++ b/c/test/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc @@ -77,10 +77,10 @@ class Test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0 TEST_F(Test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { uint8_t encoded_frame[] = { - 85, 254, 5, 66, 0, 43, 180, 0, 0, 0, 3, 0, 1, - 1, 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, - 100, 200, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, - 21, 6, 10, 22, 0, 23, 24, 25, 26, 27, 112, 145, + 85, 254, 5, 66, 0, 45, 180, 0, 0, 0, 3, 0, 1, 1, + 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, 100, 200, + 150, 100, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, 21, + 6, 10, 22, 0, 23, 24, 25, 26, 27, 119, 82, }; sbp_msg_ssr_gridded_correction_bounds_t test_msg{}; @@ -113,12 +113,14 @@ TEST_F(Test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { test_msg.stec_sat_list[1].stec_residual.sv_id.satId = 6; test_msg.tile_id = 10; test_msg.tile_set_id = 1; - test_msg.tropo_bound_mu = 150; - test_msg.tropo_bound_sig = 100; test_msg.tropo_delay_correction.hydro = 500; test_msg.tropo_delay_correction.stddev = 200; test_msg.tropo_delay_correction.wet = 100; test_msg.tropo_qi = 39; + test_msg.tropo_v_hydro_bound_mu = 150; + test_msg.tropo_v_hydro_bound_sig = 100; + test_msg.tropo_v_wet_bound_mu = 150; + test_msg.tropo_v_wet_bound_sig = 100; EXPECT_EQ(send_message(66, test_msg), SBP_OK); @@ -232,12 +234,6 @@ TEST_F(Test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { EXPECT_EQ(last_msg_.tile_set_id, 1) << "incorrect value for last_msg_.tile_set_id, expected 1, is " << last_msg_.tile_set_id; - EXPECT_EQ(last_msg_.tropo_bound_mu, 150) - << "incorrect value for last_msg_.tropo_bound_mu, expected 150, is " - << last_msg_.tropo_bound_mu; - EXPECT_EQ(last_msg_.tropo_bound_sig, 100) - << "incorrect value for last_msg_.tropo_bound_sig, expected 100, is " - << last_msg_.tropo_bound_sig; EXPECT_EQ(last_msg_.tropo_delay_correction.hydro, 500) << "incorrect value for last_msg_.tropo_delay_correction.hydro, expected " "500, is " @@ -253,4 +249,19 @@ TEST_F(Test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { EXPECT_EQ(last_msg_.tropo_qi, 39) << "incorrect value for last_msg_.tropo_qi, expected 39, is " << last_msg_.tropo_qi; + EXPECT_EQ(last_msg_.tropo_v_hydro_bound_mu, 150) + << "incorrect value for last_msg_.tropo_v_hydro_bound_mu, expected 150, " + "is " + << last_msg_.tropo_v_hydro_bound_mu; + EXPECT_EQ(last_msg_.tropo_v_hydro_bound_sig, 100) + << "incorrect value for last_msg_.tropo_v_hydro_bound_sig, expected 100, " + "is " + << last_msg_.tropo_v_hydro_bound_sig; + EXPECT_EQ(last_msg_.tropo_v_wet_bound_mu, 150) + << "incorrect value for last_msg_.tropo_v_wet_bound_mu, expected 150, is " + << last_msg_.tropo_v_wet_bound_mu; + EXPECT_EQ(last_msg_.tropo_v_wet_bound_sig, 100) + << "incorrect value for last_msg_.tropo_v_wet_bound_sig, expected 100, " + "is " + << last_msg_.tropo_v_wet_bound_sig; } diff --git a/c/test/legacy/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c b/c/test/legacy/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c index 0205b85b5c..9229a3e45a 100644 --- a/c/test/legacy/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c +++ b/c/test/legacy/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.c @@ -122,10 +122,10 @@ START_TEST(test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { &DUMMY_MEMORY_FOR_CALLBACKS, &n2); u8 encoded_frame[] = { - 85, 254, 5, 66, 0, 43, 180, 0, 0, 0, 3, 0, 1, - 1, 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, - 100, 200, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, - 21, 6, 10, 22, 0, 23, 24, 25, 26, 27, 112, 145, + 85, 254, 5, 66, 0, 45, 180, 0, 0, 0, 3, 0, 1, 1, + 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, 100, 200, + 150, 100, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, 21, + 6, 10, 22, 0, 23, 24, 25, 26, 27, 119, 82, }; dummy_reset(); @@ -171,12 +171,14 @@ START_TEST(test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { test_msg->stec_sat_list[1].stec_residual.sv_id.satId = 6; test_msg->tile_id = 10; test_msg->tile_set_id = 1; - test_msg->tropo_bound_mu = 150; - test_msg->tropo_bound_sig = 100; test_msg->tropo_delay_correction.hydro = 500; test_msg->tropo_delay_correction.stddev = 200; test_msg->tropo_delay_correction.wet = 100; test_msg->tropo_qi = 39; + test_msg->tropo_v_hydro_bound_mu = 150; + test_msg->tropo_v_hydro_bound_sig = 100; + test_msg->tropo_v_wet_bound_mu = 150; + test_msg->tropo_v_wet_bound_sig = 100; sbp_payload_send(&sbp_state, 1534, 66, test_msg_len, test_msg_storage, &dummy_write); @@ -336,12 +338,6 @@ START_TEST(test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { ck_assert_msg(check_msg->tile_set_id == 1, "incorrect value for tile_set_id, expected 1, is %d", check_msg->tile_set_id); - ck_assert_msg(check_msg->tropo_bound_mu == 150, - "incorrect value for tropo_bound_mu, expected 150, is %d", - check_msg->tropo_bound_mu); - ck_assert_msg(check_msg->tropo_bound_sig == 100, - "incorrect value for tropo_bound_sig, expected 100, is %d", - check_msg->tropo_bound_sig); ck_assert_msg( check_msg->tropo_delay_correction.hydro == 500, "incorrect value for tropo_delay_correction.hydro, expected 500, is %d", @@ -357,6 +353,22 @@ START_TEST(test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds) { ck_assert_msg(check_msg->tropo_qi == 39, "incorrect value for tropo_qi, expected 39, is %d", check_msg->tropo_qi); + ck_assert_msg( + check_msg->tropo_v_hydro_bound_mu == 150, + "incorrect value for tropo_v_hydro_bound_mu, expected 150, is %d", + check_msg->tropo_v_hydro_bound_mu); + ck_assert_msg( + check_msg->tropo_v_hydro_bound_sig == 100, + "incorrect value for tropo_v_hydro_bound_sig, expected 100, is %d", + check_msg->tropo_v_hydro_bound_sig); + ck_assert_msg( + check_msg->tropo_v_wet_bound_mu == 150, + "incorrect value for tropo_v_wet_bound_mu, expected 150, is %d", + check_msg->tropo_v_wet_bound_mu); + ck_assert_msg( + check_msg->tropo_v_wet_bound_sig == 100, + "incorrect value for tropo_v_wet_bound_sig, expected 100, is %d", + check_msg->tropo_v_wet_bound_sig); } } END_TEST diff --git a/c/test/legacy/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc b/c/test/legacy/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc index 1bae53374d..3fdd449783 100644 --- a/c/test/legacy/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc +++ b/c/test/legacy/cpp/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.cc @@ -79,10 +79,10 @@ class Test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0 TEST_F(Test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { uint8_t encoded_frame[] = { - 85, 254, 5, 66, 0, 43, 180, 0, 0, 0, 3, 0, 1, - 1, 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, - 100, 200, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, - 21, 6, 10, 22, 0, 23, 24, 25, 26, 27, 112, 145, + 85, 254, 5, 66, 0, 45, 180, 0, 0, 0, 3, 0, 1, 1, + 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, 244, 1, 100, 200, + 150, 100, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, 21, + 6, 10, 22, 0, 23, 24, 25, 26, 27, 119, 82, }; uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; @@ -125,12 +125,14 @@ TEST_F(Test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { test_msg->stec_sat_list[1].stec_residual.sv_id.satId = 6; test_msg->tile_id = 10; test_msg->tile_set_id = 1; - test_msg->tropo_bound_mu = 150; - test_msg->tropo_bound_sig = 100; test_msg->tropo_delay_correction.hydro = 500; test_msg->tropo_delay_correction.stddev = 200; test_msg->tropo_delay_correction.wet = 100; test_msg->tropo_qi = 39; + test_msg->tropo_v_hydro_bound_mu = 150; + test_msg->tropo_v_hydro_bound_sig = 100; + test_msg->tropo_v_wet_bound_mu = 150; + test_msg->tropo_v_wet_bound_sig = 100; EXPECT_EQ(send_message(1534, 66, test_msg_len, test_msg_storage), SBP_OK); @@ -235,12 +237,6 @@ TEST_F(Test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { EXPECT_EQ(last_msg_->tile_set_id, 1) << "incorrect value for tile_set_id, expected 1, is " << last_msg_->tile_set_id; - EXPECT_EQ(last_msg_->tropo_bound_mu, 150) - << "incorrect value for tropo_bound_mu, expected 150, is " - << last_msg_->tropo_bound_mu; - EXPECT_EQ(last_msg_->tropo_bound_sig, 100) - << "incorrect value for tropo_bound_sig, expected 100, is " - << last_msg_->tropo_bound_sig; EXPECT_EQ(last_msg_->tropo_delay_correction.hydro, 500) << "incorrect value for tropo_delay_correction.hydro, expected 500, is " << last_msg_->tropo_delay_correction.hydro; @@ -253,4 +249,16 @@ TEST_F(Test_legacy_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds0, Test) { EXPECT_EQ(last_msg_->tropo_qi, 39) << "incorrect value for tropo_qi, expected 39, is " << last_msg_->tropo_qi; + EXPECT_EQ(last_msg_->tropo_v_hydro_bound_mu, 150) + << "incorrect value for tropo_v_hydro_bound_mu, expected 150, is " + << last_msg_->tropo_v_hydro_bound_mu; + EXPECT_EQ(last_msg_->tropo_v_hydro_bound_sig, 100) + << "incorrect value for tropo_v_hydro_bound_sig, expected 100, is " + << last_msg_->tropo_v_hydro_bound_sig; + EXPECT_EQ(last_msg_->tropo_v_wet_bound_mu, 150) + << "incorrect value for tropo_v_wet_bound_mu, expected 150, is " + << last_msg_->tropo_v_wet_bound_mu; + EXPECT_EQ(last_msg_->tropo_v_wet_bound_sig, 100) + << "incorrect value for tropo_v_wet_bound_sig, expected 100, is " + << last_msg_->tropo_v_wet_bound_sig; } diff --git a/docs/sbp.pdf b/docs/sbp.pdf index df0f1726c2ae65d63274e63c92dd566821758190..576aa170258a48367688db0bed5d17f7a74fb930 100644 GIT binary patch delta 10483 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 delta 10501 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, mean=5+0.5(i-230). data MsgSsrGriddedCorrectionBounds = MsgSsrGriddedCorrectionBounds - { _msgSsrGriddedCorrectionBounds_header :: !BoundsHeader + { _msgSsrGriddedCorrectionBounds_header :: !BoundsHeader -- ^ Header of a bounds message. - , _msgSsrGriddedCorrectionBounds_ssr_iod_atmo :: !Word8 - -- ^ IOD of the SSR atmospheric correction. - , _msgSsrGriddedCorrectionBounds_tile_set_id :: !Word16 - -- ^ Unique identifier of the set this tile belongs to. - , _msgSsrGriddedCorrectionBounds_tile_id :: !Word16 + , _msgSsrGriddedCorrectionBounds_ssr_iod_atmo :: !Word8 + -- ^ IOD of the correction. + , _msgSsrGriddedCorrectionBounds_tile_set_id :: !Word16 + -- ^ Set this tile belongs to. + , _msgSsrGriddedCorrectionBounds_tile_id :: !Word16 -- ^ Unique identifier of this tile in the tile set. - , _msgSsrGriddedCorrectionBounds_tropo_qi :: !Word8 + , _msgSsrGriddedCorrectionBounds_tropo_qi :: !Word8 -- ^ Tropo Quality Indicator. Similar to RTCM DF389. - , _msgSsrGriddedCorrectionBounds_grid_point_id :: !Word16 + , _msgSsrGriddedCorrectionBounds_grid_point_id :: !Word16 -- ^ Index of the Grid Point. , _msgSsrGriddedCorrectionBounds_tropo_delay_correction :: !TroposphericDelayCorrection -- ^ Tropospheric delay at grid point. - , _msgSsrGriddedCorrectionBounds_tropo_bound_mu :: !Word8 - -- ^ Troposphere Error Bound Mean. Range: 0-1.275 m - , _msgSsrGriddedCorrectionBounds_tropo_bound_sig :: !Word8 - -- ^ Troposphere Error Bound StDev. Range: 0-1.275 m - , _msgSsrGriddedCorrectionBounds_n_sats :: !Word8 + , _msgSsrGriddedCorrectionBounds_tropo_v_hydro_bound_mu :: !Word8 + -- ^ Vertical Hydrostatic Error Bound Mean. + , _msgSsrGriddedCorrectionBounds_tropo_v_hydro_bound_sig :: !Word8 + -- ^ Vertical Hydrostatic Error Bound StDev. + , _msgSsrGriddedCorrectionBounds_tropo_v_wet_bound_mu :: !Word8 + -- ^ Vertical Wet Error Bound Mean. + , _msgSsrGriddedCorrectionBounds_tropo_v_wet_bound_sig :: !Word8 + -- ^ Vertical Wet Error Bound StDev. + , _msgSsrGriddedCorrectionBounds_n_sats :: !Word8 -- ^ Number of satellites. - , _msgSsrGriddedCorrectionBounds_stec_sat_list :: ![STECSatElementIntegrity] + , _msgSsrGriddedCorrectionBounds_stec_sat_list :: ![STECSatElementIntegrity] -- ^ Array of STEC polynomial coefficients and its bounds for each space -- vehicle. } deriving ( Show, Read, Eq ) @@ -728,8 +732,10 @@ instance Binary MsgSsrGriddedCorrectionBounds where _msgSsrGriddedCorrectionBounds_tropo_qi <- getWord8 _msgSsrGriddedCorrectionBounds_grid_point_id <- getWord16le _msgSsrGriddedCorrectionBounds_tropo_delay_correction <- get - _msgSsrGriddedCorrectionBounds_tropo_bound_mu <- getWord8 - _msgSsrGriddedCorrectionBounds_tropo_bound_sig <- getWord8 + _msgSsrGriddedCorrectionBounds_tropo_v_hydro_bound_mu <- getWord8 + _msgSsrGriddedCorrectionBounds_tropo_v_hydro_bound_sig <- getWord8 + _msgSsrGriddedCorrectionBounds_tropo_v_wet_bound_mu <- getWord8 + _msgSsrGriddedCorrectionBounds_tropo_v_wet_bound_sig <- getWord8 _msgSsrGriddedCorrectionBounds_n_sats <- getWord8 _msgSsrGriddedCorrectionBounds_stec_sat_list <- whileM (not <$> isEmpty) get pure MsgSsrGriddedCorrectionBounds {..} @@ -742,8 +748,10 @@ instance Binary MsgSsrGriddedCorrectionBounds where putWord8 _msgSsrGriddedCorrectionBounds_tropo_qi putWord16le _msgSsrGriddedCorrectionBounds_grid_point_id put _msgSsrGriddedCorrectionBounds_tropo_delay_correction - putWord8 _msgSsrGriddedCorrectionBounds_tropo_bound_mu - putWord8 _msgSsrGriddedCorrectionBounds_tropo_bound_sig + putWord8 _msgSsrGriddedCorrectionBounds_tropo_v_hydro_bound_mu + putWord8 _msgSsrGriddedCorrectionBounds_tropo_v_hydro_bound_sig + putWord8 _msgSsrGriddedCorrectionBounds_tropo_v_wet_bound_mu + putWord8 _msgSsrGriddedCorrectionBounds_tropo_v_wet_bound_sig putWord8 _msgSsrGriddedCorrectionBounds_n_sats mapM_ put _msgSsrGriddedCorrectionBounds_stec_sat_list diff --git a/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java b/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java index f091e2551e..904483c4bb 100644 --- a/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java +++ b/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java @@ -35,10 +35,10 @@ public class MsgSsrGriddedCorrectionBounds extends SBPMessage { /** Header of a bounds message. */ public BoundsHeader header; - /** IOD of the SSR atmospheric correction. */ + /** IOD of the correction. */ public int ssr_iod_atmo; - /** Unique identifier of the set this tile belongs to. */ + /** Set this tile belongs to. */ public int tile_set_id; /** Unique identifier of this tile in the tile set. */ @@ -53,11 +53,17 @@ public class MsgSsrGriddedCorrectionBounds extends SBPMessage { /** Tropospheric delay at grid point. */ public TroposphericDelayCorrection tropo_delay_correction; - /** Troposphere Error Bound Mean. Range: 0-1.275 m */ - public int tropo_bound_mu; + /** Vertical Hydrostatic Error Bound Mean. */ + public int tropo_v_hydro_bound_mu; - /** Troposphere Error Bound StDev. Range: 0-1.275 m */ - public int tropo_bound_sig; + /** Vertical Hydrostatic Error Bound StDev. */ + public int tropo_v_hydro_bound_sig; + + /** Vertical Wet Error Bound Mean. */ + public int tropo_v_wet_bound_mu; + + /** Vertical Wet Error Bound StDev. */ + public int tropo_v_wet_bound_sig; /** Number of satellites. */ public int n_sats; @@ -88,8 +94,10 @@ protected void parse(Parser parser) throws SBPBinaryException { tropo_qi = parser.getU8(); grid_point_id = parser.getU16(); tropo_delay_correction = new TroposphericDelayCorrection().parse(parser); - tropo_bound_mu = parser.getU8(); - tropo_bound_sig = parser.getU8(); + tropo_v_hydro_bound_mu = parser.getU8(); + tropo_v_hydro_bound_sig = parser.getU8(); + tropo_v_wet_bound_mu = parser.getU8(); + tropo_v_wet_bound_sig = parser.getU8(); n_sats = parser.getU8(); stec_sat_list = parser.getArray(STECSatElementIntegrity.class); } @@ -103,8 +111,10 @@ protected void build(Builder builder) { builder.putU8(tropo_qi); builder.putU16(grid_point_id); tropo_delay_correction.build(builder); - builder.putU8(tropo_bound_mu); - builder.putU8(tropo_bound_sig); + builder.putU8(tropo_v_hydro_bound_mu); + builder.putU8(tropo_v_hydro_bound_sig); + builder.putU8(tropo_v_wet_bound_mu); + builder.putU8(tropo_v_wet_bound_sig); builder.putU8(n_sats); builder.putArray(stec_sat_list); } @@ -119,8 +129,10 @@ public JSONObject toJSON() { obj.put("tropo_qi", tropo_qi); obj.put("grid_point_id", grid_point_id); obj.put("tropo_delay_correction", tropo_delay_correction.toJSON()); - obj.put("tropo_bound_mu", tropo_bound_mu); - obj.put("tropo_bound_sig", tropo_bound_sig); + obj.put("tropo_v_hydro_bound_mu", tropo_v_hydro_bound_mu); + obj.put("tropo_v_hydro_bound_sig", tropo_v_hydro_bound_sig); + obj.put("tropo_v_wet_bound_mu", tropo_v_wet_bound_mu); + obj.put("tropo_v_wet_bound_sig", tropo_v_wet_bound_sig); obj.put("n_sats", n_sats); obj.put("stec_sat_list", SBPStruct.toJSONArray(stec_sat_list)); return obj; diff --git a/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java b/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java index 1eb41b2eb6..d8ecbd928d 100644 --- a/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java +++ b/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java @@ -31,10 +31,10 @@ public class STECSatElementIntegrity extends SBPStruct { /** Error Bound StDev. See Note 1. */ public int stec_bound_sig; - /** Error Bound Mean First derivative. Range: 0-0.01275 m/s */ + /** Error Bound Mean First derivative. */ public int stec_bound_mu_dot; - /** Error Bound StDev First derivative. Range: 0-0.01275 m/s */ + /** Error Bound StDev First derivative. */ public int stec_bound_sig_dot; public STECSatElementIntegrity() {} diff --git a/java/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBoundsTest.java b/java/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBoundsTest.java index e24006418d..08ba36e5e5 100644 --- a/java/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBoundsTest.java +++ b/java/test/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBoundsTest.java @@ -36,10 +36,10 @@ public void test1() throws Throwable { (byte) 180, (byte) 0, (byte) 0, (byte) 0, (byte) 3, (byte) 0, (byte) 1, (byte) 1, (byte) 10, (byte) 0, (byte) 15, (byte) 1, (byte) 0, (byte) 10, (byte) 0, (byte) 39, (byte) 232, (byte) 3, (byte) 244, (byte) 1, (byte) 100, - (byte) 200, (byte) 150, (byte) 100, (byte) 2, (byte) 5, (byte) 10, (byte) 16, - (byte) 0, (byte) 17, (byte) 18, (byte) 19, (byte) 20, (byte) 21, (byte) 6, - (byte) 10, (byte) 22, (byte) 0, (byte) 23, (byte) 24, (byte) 25, (byte) 26, - (byte) 27, + (byte) 200, (byte) 150, (byte) 100, (byte) 150, (byte) 100, (byte) 2, (byte) 5, + (byte) 10, (byte) 16, (byte) 0, (byte) 17, (byte) 18, (byte) 19, (byte) 20, + (byte) 21, (byte) 6, (byte) 10, (byte) 22, (byte) 0, (byte) 23, (byte) 24, + (byte) 25, (byte) 26, (byte) 27, }; SBPMessage sbp = new SBPMessage(0x0042, 0x05FE, payload); MsgSsrGriddedCorrectionBounds msg = new MsgSsrGriddedCorrectionBounds(sbp); @@ -322,26 +322,6 @@ public void test1() throws Throwable { expected = 1L; org.junit.Assert.assertEquals(value, expected); } - value = msg.tropo_bound_mu; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.tropo_bound_mu + "' != '" + 150 + "'", - value.equals(BigInteger.valueOf(150L))); - } else { - value = value.longValue(); - expected = 150L; - org.junit.Assert.assertEquals(value, expected); - } - value = msg.tropo_bound_sig; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.tropo_bound_sig + "' != '" + 100 + "'", - value.equals(BigInteger.valueOf(100L))); - } else { - value = value.longValue(); - expected = 100L; - org.junit.Assert.assertEquals(value, expected); - } value = msg.tropo_delay_correction.hydro; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( @@ -382,5 +362,45 @@ public void test1() throws Throwable { expected = 39L; org.junit.Assert.assertEquals(value, expected); } + value = msg.tropo_v_hydro_bound_mu; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.tropo_v_hydro_bound_mu + "' != '" + 150 + "'", + value.equals(BigInteger.valueOf(150L))); + } else { + value = value.longValue(); + expected = 150L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.tropo_v_hydro_bound_sig; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.tropo_v_hydro_bound_sig + "' != '" + 100 + "'", + value.equals(BigInteger.valueOf(100L))); + } else { + value = value.longValue(); + expected = 100L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.tropo_v_wet_bound_mu; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.tropo_v_wet_bound_mu + "' != '" + 150 + "'", + value.equals(BigInteger.valueOf(150L))); + } else { + value = value.longValue(); + expected = 150L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.tropo_v_wet_bound_sig; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.tropo_v_wet_bound_sig + "' != '" + 100 + "'", + value.equals(BigInteger.valueOf(100L))); + } else { + value = value.longValue(); + expected = 100L; + org.junit.Assert.assertEquals(value, expected); + } } } diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index 5ac50c82fd..c86f1c6b62 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -12,4 +12,4 @@ var r=p(25),o=p(26),i=p(16);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647 * @author Feross Aboukhadijeh * @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"]),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}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.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("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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]),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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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="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_bound_mu").uint8("tropo_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_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_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",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",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",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);let O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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,MsgSsrTileDefinitionDep:v,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},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}}]); \ 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 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"]),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}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.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("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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]),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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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="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",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",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",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);let O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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,MsgSsrTileDefinitionDep:v,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},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}}]); \ No newline at end of file diff --git a/javascript/sbp/ssr.js b/javascript/sbp/ssr.js index 1057cd155d..af52e57181 100644 --- a/javascript/sbp/ssr.js +++ b/javascript/sbp/ssr.js @@ -681,8 +681,8 @@ MsgSsrGriddedCorrection.prototype.fieldSpec.push(['stec_residuals', 'array', STE * @field stec_residual STECResidual STEC residuals (mean, stddev) * @field stec_bound_mu number (unsigned 8-bit int, 1 byte) Error Bound Mean. See Note 1. * @field stec_bound_sig number (unsigned 8-bit int, 1 byte) Error Bound StDev. See Note 1. - * @field stec_bound_mu_dot number (unsigned 8-bit int, 1 byte) Error Bound Mean First derivative. Range: 0-0.01275 m/s - * @field stec_bound_sig_dot number (unsigned 8-bit int, 1 byte) Error Bound StDev First derivative. Range: 0-0.01275 m/s + * @field stec_bound_mu_dot number (unsigned 8-bit int, 1 byte) Error Bound Mean First derivative. + * @field stec_bound_sig_dot number (unsigned 8-bit int, 1 byte) Error Bound StDev First derivative. * * @param sbp An SBP object with a payload to be decoded. */ @@ -718,14 +718,16 @@ STECSatElementIntegrity.prototype.fieldSpec.push(['stec_bound_sig_dot', 'writeUI * * Fields in the SBP payload (`sbp.payload`): * @field header BoundsHeader Header of a bounds message. - * @field ssr_iod_atmo number (unsigned 8-bit int, 1 byte) IOD of the SSR atmospheric correction. - * @field tile_set_id number (unsigned 16-bit int, 2 bytes) Unique identifier of the set this tile belongs to. + * @field ssr_iod_atmo number (unsigned 8-bit int, 1 byte) IOD of the correction. + * @field tile_set_id number (unsigned 16-bit int, 2 bytes) Set this tile belongs to. * @field tile_id number (unsigned 16-bit int, 2 bytes) Unique identifier of this tile in the tile set. * @field tropo_qi number (unsigned 8-bit int, 1 byte) Tropo Quality Indicator. Similar to RTCM DF389. * @field grid_point_id number (unsigned 16-bit int, 2 bytes) Index of the Grid Point. * @field tropo_delay_correction TroposphericDelayCorrection Tropospheric delay at grid point. - * @field tropo_bound_mu number (unsigned 8-bit int, 1 byte) Troposphere Error Bound Mean. Range: 0-1.275 m - * @field tropo_bound_sig number (unsigned 8-bit int, 1 byte) Troposphere Error Bound StDev. Range: 0-1.275 m + * @field tropo_v_hydro_bound_mu number (unsigned 8-bit int, 1 byte) Vertical Hydrostatic Error Bound Mean. + * @field tropo_v_hydro_bound_sig number (unsigned 8-bit int, 1 byte) Vertical Hydrostatic Error Bound StDev. + * @field tropo_v_wet_bound_mu number (unsigned 8-bit int, 1 byte) Vertical Wet Error Bound Mean. + * @field tropo_v_wet_bound_sig number (unsigned 8-bit int, 1 byte) Vertical Wet Error Bound StDev. * @field n_sats number (unsigned 8-bit int, 1 byte) Number of satellites. * @field stec_sat_list array Array of STEC polynomial coefficients and its bounds for each space vehicle. * @@ -751,8 +753,10 @@ MsgSsrGriddedCorrectionBounds.prototype.parser = new Parser() .uint8('tropo_qi') .uint16('grid_point_id') .nest('tropo_delay_correction', { type: TroposphericDelayCorrection.prototype.parser }) - .uint8('tropo_bound_mu') - .uint8('tropo_bound_sig') + .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: STECSatElementIntegrity.prototype.parser, length: 'n_sats' }); MsgSsrGriddedCorrectionBounds.prototype.fieldSpec = []; @@ -763,8 +767,10 @@ MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tile_id', 'writeUInt16L MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_qi', 'writeUInt8', 1]); MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['grid_point_id', 'writeUInt16LE', 2]); MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_delay_correction', TroposphericDelayCorrection.prototype.fieldSpec]); -MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_bound_mu', 'writeUInt8', 1]); -MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_bound_sig', 'writeUInt8', 1]); +MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_v_hydro_bound_mu', 'writeUInt8', 1]); +MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_v_hydro_bound_sig', 'writeUInt8', 1]); +MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_v_wet_bound_mu', 'writeUInt8', 1]); +MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['tropo_v_wet_bound_sig', 'writeUInt8', 1]); MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['n_sats', 'writeUInt8', 1]); MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['stec_sat_list', 'array', STECSatElementIntegrity.prototype.fieldSpec, function () { return this.fields.array.length; }, 'n_sats']); diff --git a/jsonschema/MsgSsrGriddedCorrectionBounds.json b/jsonschema/MsgSsrGriddedCorrectionBounds.json index 7d35e65ee1..1a4952610b 100644 --- a/jsonschema/MsgSsrGriddedCorrectionBounds.json +++ b/jsonschema/MsgSsrGriddedCorrectionBounds.json @@ -23,8 +23,10 @@ "tropo_qi": {"type": "integer"}, "grid_point_id": {"type": "integer"}, "tropo_delay_correction": {"$ref": "TroposphericDelayCorrection.json"}, - "tropo_bound_mu": {"type": "integer"}, - "tropo_bound_sig": {"type": "integer"}, + "tropo_v_hydro_bound_mu": {"type": "integer"}, + "tropo_v_hydro_bound_sig": {"type": "integer"}, + "tropo_v_wet_bound_mu": {"type": "integer"}, + "tropo_v_wet_bound_sig": {"type": "integer"}, "n_sats": {"type": "integer"}, "stec_sat_list": {"type": "array", "items": {"$ref": "STECSatElementIntegrity.json"}} }, @@ -36,8 +38,10 @@ "tropo_qi", "grid_point_id", "tropo_delay_correction", - "tropo_bound_mu", - "tropo_bound_sig", + "tropo_v_hydro_bound_mu", + "tropo_v_hydro_bound_sig", + "tropo_v_wet_bound_mu", + "tropo_v_wet_bound_sig", "n_sats", "stec_sat_list" ] diff --git a/proto/ssr.proto b/proto/ssr.proto index 97e3903e7a..e513991b80 100644 --- a/proto/ssr.proto +++ b/proto/ssr.proto @@ -245,10 +245,12 @@ message MsgSsrGriddedCorrectionBounds { uint32 tropo_qi = 5; uint32 grid_point_id = 6; TroposphericDelayCorrection tropo_delay_correction = 7; - uint32 tropo_bound_mu = 8; - uint32 tropo_bound_sig = 9; - uint32 n_sats = 10; - repeated STECSatElementIntegrity stec_sat_list = 11; + uint32 tropo_v_hydro_bound_mu = 8; + uint32 tropo_v_hydro_bound_sig = 9; + uint32 tropo_v_wet_bound_mu = 10; + uint32 tropo_v_wet_bound_sig = 11; + uint32 n_sats = 12; + repeated STECSatElementIntegrity stec_sat_list = 13; } /** Definition of a SSR atmospheric correction tile. diff --git a/python/sbp/ssr.py b/python/sbp/ssr.py index 2d8dcf6dcb..cc1a595e83 100644 --- a/python/sbp/ssr.py +++ b/python/sbp/ssr.py @@ -514,9 +514,9 @@ class STECSatElementIntegrity(object): stec_bound_sig : int Error Bound StDev. See Note 1. stec_bound_mu_dot : int - Error Bound Mean First derivative. Range: 0-0.01275 m/s + Error Bound Mean First derivative. stec_bound_sig_dot : int - Error Bound StDev First derivative. Range: 0-0.01275 m/s + Error Bound StDev First derivative. """ _parser = construct.Struct( @@ -1717,9 +1717,9 @@ class MsgSsrGriddedCorrectionBounds(SBP): header : BoundsHeader Header of a bounds message. ssr_iod_atmo : int - IOD of the SSR atmospheric correction. + IOD of the correction. tile_set_id : int - Unique identifier of the set this tile belongs to. + Set this tile belongs to. tile_id : int Unique identifier of this tile in the tile set. tropo_qi : int @@ -1728,10 +1728,14 @@ class MsgSsrGriddedCorrectionBounds(SBP): Index of the Grid Point. tropo_delay_correction : TroposphericDelayCorrection Tropospheric delay at grid point. - tropo_bound_mu : int - Troposphere Error Bound Mean. Range: 0-1.275 m - tropo_bound_sig : int - Troposphere Error Bound StDev. Range: 0-1.275 m + tropo_v_hydro_bound_mu : int + Vertical Hydrostatic Error Bound Mean. + tropo_v_hydro_bound_sig : int + Vertical Hydrostatic Error Bound StDev. + tropo_v_wet_bound_mu : int + Vertical Wet Error Bound Mean. + tropo_v_wet_bound_sig : int + Vertical Wet Error Bound StDev. n_sats : int Number of satellites. stec_sat_list : array @@ -1749,8 +1753,10 @@ class MsgSsrGriddedCorrectionBounds(SBP): 'tropo_qi' / construct.Int8ul, 'grid_point_id' / construct.Int16ul, 'tropo_delay_correction' / TroposphericDelayCorrection._parser, - 'tropo_bound_mu' / construct.Int8ul, - 'tropo_bound_sig' / construct.Int8ul, + 'tropo_v_hydro_bound_mu' / construct.Int8ul, + 'tropo_v_hydro_bound_sig' / construct.Int8ul, + 'tropo_v_wet_bound_mu' / construct.Int8ul, + 'tropo_v_wet_bound_sig' / construct.Int8ul, 'n_sats' / construct.Int8ul, 'stec_sat_list' / construct.GreedyRange(STECSatElementIntegrity._parser),) __slots__ = [ @@ -1761,8 +1767,10 @@ class MsgSsrGriddedCorrectionBounds(SBP): 'tropo_qi', 'grid_point_id', 'tropo_delay_correction', - 'tropo_bound_mu', - 'tropo_bound_sig', + 'tropo_v_hydro_bound_mu', + 'tropo_v_hydro_bound_sig', + 'tropo_v_wet_bound_mu', + 'tropo_v_wet_bound_sig', 'n_sats', 'stec_sat_list', ] @@ -1784,8 +1792,10 @@ def __init__(self, sbp=None, **kwargs): self.tropo_qi = kwargs.pop('tropo_qi') self.grid_point_id = kwargs.pop('grid_point_id') self.tropo_delay_correction = kwargs.pop('tropo_delay_correction') - self.tropo_bound_mu = kwargs.pop('tropo_bound_mu') - self.tropo_bound_sig = kwargs.pop('tropo_bound_sig') + self.tropo_v_hydro_bound_mu = kwargs.pop('tropo_v_hydro_bound_mu') + self.tropo_v_hydro_bound_sig = kwargs.pop('tropo_v_hydro_bound_sig') + self.tropo_v_wet_bound_mu = kwargs.pop('tropo_v_wet_bound_mu') + self.tropo_v_wet_bound_sig = kwargs.pop('tropo_v_wet_bound_sig') self.n_sats = kwargs.pop('n_sats') self.stec_sat_list = kwargs.pop('stec_sat_list') diff --git a/rust/sbp/src/messages/ssr.rs b/rust/sbp/src/messages/ssr.rs index d7f35d263a..8e19bbf76e 100644 --- a/rust/sbp/src/messages/ssr.rs +++ b/rust/sbp/src/messages/ssr.rs @@ -774,10 +774,10 @@ pub mod msg_ssr_gridded_correction_bounds { /// Header of a bounds message. #[cfg_attr(feature = "serde", serde(rename(serialize = "header")))] pub header: BoundsHeader, - /// IOD of the SSR atmospheric correction. + /// IOD of the correction. #[cfg_attr(feature = "serde", serde(rename(serialize = "ssr_iod_atmo")))] pub ssr_iod_atmo: u8, - /// Unique identifier of the set this tile belongs to. + /// Set this tile belongs to. #[cfg_attr(feature = "serde", serde(rename(serialize = "tile_set_id")))] pub tile_set_id: u16, /// Unique identifier of this tile in the tile set. @@ -792,12 +792,21 @@ pub mod msg_ssr_gridded_correction_bounds { /// Tropospheric delay at grid point. #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_delay_correction")))] pub tropo_delay_correction: TroposphericDelayCorrection, - /// Troposphere Error Bound Mean. Range: 0-1.275 m - #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_bound_mu")))] - pub tropo_bound_mu: u8, - /// Troposphere Error Bound StDev. Range: 0-1.275 m - #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_bound_sig")))] - pub tropo_bound_sig: u8, + /// Vertical Hydrostatic Error Bound Mean. + #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_v_hydro_bound_mu")))] + pub tropo_v_hydro_bound_mu: u8, + /// Vertical Hydrostatic Error Bound StDev. + #[cfg_attr( + feature = "serde", + serde(rename(serialize = "tropo_v_hydro_bound_sig")) + )] + pub tropo_v_hydro_bound_sig: u8, + /// Vertical Wet Error Bound Mean. + #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_v_wet_bound_mu")))] + pub tropo_v_wet_bound_mu: u8, + /// Vertical Wet Error Bound StDev. + #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_v_wet_bound_sig")))] + pub tropo_v_wet_bound_sig: u8, /// Number of satellites. #[cfg_attr(feature = "serde", serde(rename(serialize = "n_sats")))] pub n_sats: u8, @@ -851,6 +860,8 @@ pub mod msg_ssr_gridded_correction_bounds { + ::MIN_LEN + ::MIN_LEN + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + as WireFormat>::MIN_LEN; fn len(&self) -> usize { WireFormat::len(&self.header) @@ -860,8 +871,10 @@ pub mod msg_ssr_gridded_correction_bounds { + WireFormat::len(&self.tropo_qi) + WireFormat::len(&self.grid_point_id) + WireFormat::len(&self.tropo_delay_correction) - + WireFormat::len(&self.tropo_bound_mu) - + WireFormat::len(&self.tropo_bound_sig) + + WireFormat::len(&self.tropo_v_hydro_bound_mu) + + WireFormat::len(&self.tropo_v_hydro_bound_sig) + + WireFormat::len(&self.tropo_v_wet_bound_mu) + + WireFormat::len(&self.tropo_v_wet_bound_sig) + WireFormat::len(&self.n_sats) + WireFormat::len(&self.stec_sat_list) } @@ -873,8 +886,10 @@ pub mod msg_ssr_gridded_correction_bounds { WireFormat::write(&self.tropo_qi, buf); WireFormat::write(&self.grid_point_id, buf); WireFormat::write(&self.tropo_delay_correction, buf); - WireFormat::write(&self.tropo_bound_mu, buf); - WireFormat::write(&self.tropo_bound_sig, buf); + WireFormat::write(&self.tropo_v_hydro_bound_mu, buf); + WireFormat::write(&self.tropo_v_hydro_bound_sig, buf); + WireFormat::write(&self.tropo_v_wet_bound_mu, buf); + WireFormat::write(&self.tropo_v_wet_bound_sig, buf); WireFormat::write(&self.n_sats, buf); WireFormat::write(&self.stec_sat_list, buf); } @@ -888,8 +903,10 @@ pub mod msg_ssr_gridded_correction_bounds { tropo_qi: WireFormat::parse_unchecked(buf), grid_point_id: WireFormat::parse_unchecked(buf), tropo_delay_correction: WireFormat::parse_unchecked(buf), - tropo_bound_mu: WireFormat::parse_unchecked(buf), - tropo_bound_sig: WireFormat::parse_unchecked(buf), + tropo_v_hydro_bound_mu: WireFormat::parse_unchecked(buf), + tropo_v_hydro_bound_sig: WireFormat::parse_unchecked(buf), + tropo_v_wet_bound_mu: WireFormat::parse_unchecked(buf), + tropo_v_wet_bound_sig: WireFormat::parse_unchecked(buf), n_sats: WireFormat::parse_unchecked(buf), stec_sat_list: WireFormat::parse_unchecked(buf), } @@ -3068,10 +3085,10 @@ pub mod stec_sat_element_integrity { /// Error Bound StDev. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_bound_sig")))] pub stec_bound_sig: u8, - /// Error Bound Mean First derivative. Range: 0-0.01275 m/s + /// Error Bound Mean First derivative. #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_bound_mu_dot")))] pub stec_bound_mu_dot: u8, - /// Error Bound StDev First derivative. Range: 0-0.01275 m/s + /// Error Bound StDev First derivative. #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_bound_sig_dot")))] pub stec_bound_sig_dot: u8, } diff --git a/rust/sbp/tests/integration/auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds.rs b/rust/sbp/tests/integration/auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds.rs index 511027ffab..53882576e2 100644 --- a/rust/sbp/tests/integration/auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds.rs +++ b/rust/sbp/tests/integration/auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds.rs @@ -17,9 +17,9 @@ use crate::*; fn test_auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds() { { let mut payload = Cursor::new(vec![ - 85, 254, 5, 66, 0, 43, 180, 0, 0, 0, 3, 0, 1, 1, 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, - 244, 1, 100, 200, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, 21, 6, 10, 22, 0, 23, 24, - 25, 26, 27, 112, 145, + 85, 254, 5, 66, 0, 45, 180, 0, 0, 0, 3, 0, 1, 1, 10, 0, 15, 1, 0, 10, 0, 39, 232, 3, + 244, 1, 100, 200, 150, 100, 150, 100, 2, 5, 10, 16, 0, 17, 18, 19, 20, 21, 6, 10, 22, + 0, 23, 24, 25, 26, 27, 119, 82, ]); // Test the round trip payload parsing @@ -154,16 +154,6 @@ fn test_auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds() { "incorrect value for tile_set_id, expected 1, is {}", msg.tile_set_id ); - assert_eq!( - msg.tropo_bound_mu, 150, - "incorrect value for tropo_bound_mu, expected 150, is {}", - msg.tropo_bound_mu - ); - assert_eq!( - msg.tropo_bound_sig, 100, - "incorrect value for tropo_bound_sig, expected 100, is {}", - msg.tropo_bound_sig - ); assert_eq!( msg.tropo_delay_correction.hydro, 500, "incorrect value for tropo_delay_correction.hydro, expected 500, is {}", @@ -184,6 +174,26 @@ fn test_auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds() { "incorrect value for tropo_qi, expected 39, is {}", msg.tropo_qi ); + assert_eq!( + msg.tropo_v_hydro_bound_mu, 150, + "incorrect value for tropo_v_hydro_bound_mu, expected 150, is {}", + msg.tropo_v_hydro_bound_mu + ); + assert_eq!( + msg.tropo_v_hydro_bound_sig, 100, + "incorrect value for tropo_v_hydro_bound_sig, expected 100, is {}", + msg.tropo_v_hydro_bound_sig + ); + assert_eq!( + msg.tropo_v_wet_bound_mu, 150, + "incorrect value for tropo_v_wet_bound_mu, expected 150, is {}", + msg.tropo_v_wet_bound_mu + ); + assert_eq!( + msg.tropo_v_wet_bound_sig, 100, + "incorrect value for tropo_v_wet_bound_sig, expected 100, is {}", + msg.tropo_v_wet_bound_sig + ); } _ => panic!("Invalid message type! Expected a MsgSsrGriddedCorrectionBounds"), }; diff --git a/sbpjson/elm/SbpJson.elm b/sbpjson/elm/SbpJson.elm index 03f1ccac01..d18b0494df 100644 --- a/sbpjson/elm/SbpJson.elm +++ b/sbpjson/elm/SbpJson.elm @@ -2623,10 +2623,12 @@ type alias MsgSsrGriddedCorrectionBounds = , stecSatList : Array STECSatElementIntegrity , tileID : Int , tileSetID : Int - , tropoBoundMu : Int - , tropoBoundSig : Int , tropoDelayCorrection : TroposphericDelayCorrection , tropoQi : Int + , tropoVHydroBoundMu : Int + , tropoVHydroBoundSig : Int + , tropoVWetBoundMu : Int + , tropoVWetBoundSig : Int } {-| STEC polynomial and bounds for the given satellite. -} @@ -6702,10 +6704,12 @@ msgSsrGriddedCorrectionBounds = |> Jpipe.required "stec_sat_list" (Jdec.array stecSatElementIntegrity) |> Jpipe.required "tile_id" Jdec.int |> Jpipe.required "tile_set_id" Jdec.int - |> Jpipe.required "tropo_bound_mu" Jdec.int - |> Jpipe.required "tropo_bound_sig" Jdec.int |> Jpipe.required "tropo_delay_correction" troposphericDelayCorrection |> Jpipe.required "tropo_qi" Jdec.int + |> Jpipe.required "tropo_v_hydro_bound_mu" Jdec.int + |> Jpipe.required "tropo_v_hydro_bound_sig" Jdec.int + |> Jpipe.required "tropo_v_wet_bound_mu" Jdec.int + |> Jpipe.required "tropo_v_wet_bound_sig" Jdec.int encodeMsgSsrGriddedCorrectionBounds : MsgSsrGriddedCorrectionBounds -> Jenc.Value encodeMsgSsrGriddedCorrectionBounds x = @@ -6717,10 +6721,12 @@ encodeMsgSsrGriddedCorrectionBounds x = , ("stec_sat_list", makeArrayEncoder encodeSTECSatElementIntegrity x.stecSatList) , ("tile_id", Jenc.int x.tileID) , ("tile_set_id", Jenc.int x.tileSetID) - , ("tropo_bound_mu", Jenc.int x.tropoBoundMu) - , ("tropo_bound_sig", Jenc.int x.tropoBoundSig) , ("tropo_delay_correction", encodeTroposphericDelayCorrection x.tropoDelayCorrection) , ("tropo_qi", Jenc.int x.tropoQi) + , ("tropo_v_hydro_bound_mu", Jenc.int x.tropoVHydroBoundMu) + , ("tropo_v_hydro_bound_sig", Jenc.int x.tropoVHydroBoundSig) + , ("tropo_v_wet_bound_mu", Jenc.int x.tropoVWetBoundMu) + , ("tropo_v_wet_bound_sig", Jenc.int x.tropoVWetBoundSig) ] stecSatElementIntegrity : Jdec.Decoder STECSatElementIntegrity diff --git a/sbpjson/javascript/SbpJson.js b/sbpjson/javascript/SbpJson.js index 1631d4f28a..bb25b1a539 100644 --- a/sbpjson/javascript/SbpJson.js +++ b/sbpjson/javascript/SbpJson.js @@ -3043,10 +3043,12 @@ const typeMap = { { json: "stec_sat_list", js: "stec_sat_list", typ: a(r("STECSatElementIntegrity")) }, { json: "tile_id", js: "tile_id", typ: 0 }, { json: "tile_set_id", js: "tile_set_id", typ: 0 }, - { json: "tropo_bound_mu", js: "tropo_bound_mu", typ: 0 }, - { json: "tropo_bound_sig", js: "tropo_bound_sig", typ: 0 }, { json: "tropo_delay_correction", js: "tropo_delay_correction", typ: r("TroposphericDelayCorrection") }, { json: "tropo_qi", js: "tropo_qi", typ: 0 }, + { json: "tropo_v_hydro_bound_mu", js: "tropo_v_hydro_bound_mu", typ: 0 }, + { json: "tropo_v_hydro_bound_sig", js: "tropo_v_hydro_bound_sig", typ: 0 }, + { json: "tropo_v_wet_bound_mu", js: "tropo_v_wet_bound_mu", typ: 0 }, + { json: "tropo_v_wet_bound_sig", js: "tropo_v_wet_bound_sig", typ: 0 }, ], "any"), "STECSatElementIntegrity": o([ { json: "stec_bound_mu", js: "stec_bound_mu", typ: 0 }, diff --git a/sbpjson/typescript/SbpJson.ts b/sbpjson/typescript/SbpJson.ts index 4def6bea6e..9803c0cd49 100644 --- a/sbpjson/typescript/SbpJson.ts +++ b/sbpjson/typescript/SbpJson.ts @@ -2117,17 +2117,19 @@ export interface GriddedCorrectionHeader { * mean=5+0.5(i-230). */ export interface MsgSsrGriddedCorrectionBounds { - grid_point_id: number; - header: BoundsHeader; - n_sats: number; - ssr_iod_atmo: number; - stec_sat_list: STECSatElementIntegrity[]; - tile_id: number; - tile_set_id: number; - tropo_bound_mu: number; - tropo_bound_sig: number; - tropo_delay_correction: TroposphericDelayCorrection; - tropo_qi: number; + grid_point_id: number; + header: BoundsHeader; + n_sats: number; + ssr_iod_atmo: number; + stec_sat_list: STECSatElementIntegrity[]; + tile_id: number; + tile_set_id: number; + tropo_delay_correction: TroposphericDelayCorrection; + tropo_qi: number; + tropo_v_hydro_bound_mu: number; + tropo_v_hydro_bound_sig: number; + tropo_v_wet_bound_mu: number; + tropo_v_wet_bound_sig: number; } /** @@ -5621,10 +5623,12 @@ const typeMap: any = { { json: "stec_sat_list", js: "stec_sat_list", typ: a(r("STECSatElementIntegrity")) }, { json: "tile_id", js: "tile_id", typ: 0 }, { json: "tile_set_id", js: "tile_set_id", typ: 0 }, - { json: "tropo_bound_mu", js: "tropo_bound_mu", typ: 0 }, - { json: "tropo_bound_sig", js: "tropo_bound_sig", typ: 0 }, { json: "tropo_delay_correction", js: "tropo_delay_correction", typ: r("TroposphericDelayCorrection") }, { json: "tropo_qi", js: "tropo_qi", typ: 0 }, + { json: "tropo_v_hydro_bound_mu", js: "tropo_v_hydro_bound_mu", typ: 0 }, + { json: "tropo_v_hydro_bound_sig", js: "tropo_v_hydro_bound_sig", typ: 0 }, + { json: "tropo_v_wet_bound_mu", js: "tropo_v_wet_bound_mu", typ: 0 }, + { json: "tropo_v_wet_bound_sig", js: "tropo_v_wet_bound_sig", typ: 0 }, ], "any"), "STECSatElementIntegrity": o([ { json: "stec_bound_mu", js: "stec_bound_mu", typ: 0 }, From 650ca4f3861c677756df59f7be88b84c77fc139e Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Thu, 9 Jun 2022 09:50:22 -0400 Subject: [PATCH 13/14] Add extra newline at the end of generator templates --- generator/sbpg/targets/resources/c/sbp_messages_template.h | 1 + generator/sbpg/targets/resources/c/sbp_version_template.h | 1 + 2 files changed, 2 insertions(+) diff --git a/generator/sbpg/targets/resources/c/sbp_messages_template.h b/generator/sbpg/targets/resources/c/sbp_messages_template.h index 08005a012b..ccbf82004f 100644 --- a/generator/sbpg/targets/resources/c/sbp_messages_template.h +++ b/generator/sbpg/targets/resources/c/sbp_messages_template.h @@ -25,3 +25,4 @@ SBP_MESSAGE("Legacy SBP definitions have moved. To continue using legacy message #include #endif /* LIBSBP_(((pkg_name|upper)))_MESSAGES_H */ + diff --git a/generator/sbpg/targets/resources/c/sbp_version_template.h b/generator/sbpg/targets/resources/c/sbp_version_template.h index f5a23cd0c0..759fdf8fdc 100644 --- a/generator/sbpg/targets/resources/c/sbp_version_template.h +++ b/generator/sbpg/targets/resources/c/sbp_version_template.h @@ -37,3 +37,4 @@ #endif /* LIBSBP_VERSION_H */ + From 14419ec31692fba97cebbb5efa129dd9d0b7bb0a Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Thu, 9 Jun 2022 11:19:34 -0400 Subject: [PATCH 14/14] make all --- c/include/libsbp/acquisition.h | 2 +- c/include/libsbp/bootload.h | 2 +- c/include/libsbp/ext_events.h | 2 +- c/include/libsbp/file_io.h | 2 +- c/include/libsbp/flash.h | 2 +- c/include/libsbp/gnss.h | 2 +- c/include/libsbp/imu.h | 2 +- c/include/libsbp/integrity.h | 2 +- c/include/libsbp/linux.h | 2 +- c/include/libsbp/logging.h | 2 +- c/include/libsbp/mag.h | 2 +- c/include/libsbp/navigation.h | 2 +- c/include/libsbp/ndb.h | 2 +- c/include/libsbp/observation.h | 2 +- c/include/libsbp/orientation.h | 2 +- c/include/libsbp/piksi.h | 2 +- c/include/libsbp/sbas.h | 2 +- c/include/libsbp/settings.h | 2 +- c/include/libsbp/solution_meta.h | 2 +- c/include/libsbp/ssr.h | 2 +- c/include/libsbp/system.h | 2 +- c/include/libsbp/tracking.h | 2 +- c/include/libsbp/user.h | 2 +- c/include/libsbp/vehicle.h | 2 +- c/include/libsbp/version.h | 2 +- docs/sbp.pdf | Bin 494286 -> 494330 bytes 26 files changed, 25 insertions(+), 25 deletions(-) diff --git a/c/include/libsbp/acquisition.h b/c/include/libsbp/acquisition.h index 826310a8b5..91eac9b212 100644 --- a/c/include/libsbp/acquisition.h +++ b/c/include/libsbp/acquisition.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_ACQUISITION_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_ACQUISITION_MESSAGES_H */ diff --git a/c/include/libsbp/bootload.h b/c/include/libsbp/bootload.h index 680951506c..c7cf5cbf44 100644 --- a/c/include/libsbp/bootload.h +++ b/c/include/libsbp/bootload.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_BOOTLOAD_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_BOOTLOAD_MESSAGES_H */ diff --git a/c/include/libsbp/ext_events.h b/c/include/libsbp/ext_events.h index 7b4c60cd5d..c6ed4dcc8b 100644 --- a/c/include/libsbp/ext_events.h +++ b/c/include/libsbp/ext_events.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_EXT_EVENTS_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_EXT_EVENTS_MESSAGES_H */ diff --git a/c/include/libsbp/file_io.h b/c/include/libsbp/file_io.h index 68ca30c29b..289a20a04d 100644 --- a/c/include/libsbp/file_io.h +++ b/c/include/libsbp/file_io.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_FILE_IO_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_FILE_IO_MESSAGES_H */ diff --git a/c/include/libsbp/flash.h b/c/include/libsbp/flash.h index 2a0b7397e2..2b9fea98e0 100644 --- a/c/include/libsbp/flash.h +++ b/c/include/libsbp/flash.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_FLASH_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_FLASH_MESSAGES_H */ diff --git a/c/include/libsbp/gnss.h b/c/include/libsbp/gnss.h index 43df846424..caa105c97a 100644 --- a/c/include/libsbp/gnss.h +++ b/c/include/libsbp/gnss.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_GNSS_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_GNSS_MESSAGES_H */ diff --git a/c/include/libsbp/imu.h b/c/include/libsbp/imu.h index ee2db9276f..94c00a97ba 100644 --- a/c/include/libsbp/imu.h +++ b/c/include/libsbp/imu.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_IMU_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_IMU_MESSAGES_H */ diff --git a/c/include/libsbp/integrity.h b/c/include/libsbp/integrity.h index 20a99b3f59..bbdc073a2a 100644 --- a/c/include/libsbp/integrity.h +++ b/c/include/libsbp/integrity.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_INTEGRITY_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_INTEGRITY_MESSAGES_H */ diff --git a/c/include/libsbp/linux.h b/c/include/libsbp/linux.h index bbfe27be9c..6053dd5227 100644 --- a/c/include/libsbp/linux.h +++ b/c/include/libsbp/linux.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_LINUX_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_LINUX_MESSAGES_H */ diff --git a/c/include/libsbp/logging.h b/c/include/libsbp/logging.h index e655853e17..4402638ec5 100644 --- a/c/include/libsbp/logging.h +++ b/c/include/libsbp/logging.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_LOGGING_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_LOGGING_MESSAGES_H */ diff --git a/c/include/libsbp/mag.h b/c/include/libsbp/mag.h index fce2cf0eda..01c3afbaaf 100644 --- a/c/include/libsbp/mag.h +++ b/c/include/libsbp/mag.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_MAG_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_MAG_MESSAGES_H */ diff --git a/c/include/libsbp/navigation.h b/c/include/libsbp/navigation.h index 70cebcd020..36d1db2e36 100644 --- a/c/include/libsbp/navigation.h +++ b/c/include/libsbp/navigation.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_NAVIGATION_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_NAVIGATION_MESSAGES_H */ diff --git a/c/include/libsbp/ndb.h b/c/include/libsbp/ndb.h index a1a76cd00f..726db3788d 100644 --- a/c/include/libsbp/ndb.h +++ b/c/include/libsbp/ndb.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_NDB_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_NDB_MESSAGES_H */ diff --git a/c/include/libsbp/observation.h b/c/include/libsbp/observation.h index 0ec9ad1cc2..801c5eec91 100644 --- a/c/include/libsbp/observation.h +++ b/c/include/libsbp/observation.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_OBSERVATION_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_OBSERVATION_MESSAGES_H */ diff --git a/c/include/libsbp/orientation.h b/c/include/libsbp/orientation.h index e317209ccf..708e2e60e3 100644 --- a/c/include/libsbp/orientation.h +++ b/c/include/libsbp/orientation.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_ORIENTATION_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_ORIENTATION_MESSAGES_H */ diff --git a/c/include/libsbp/piksi.h b/c/include/libsbp/piksi.h index 0a9c8e20f7..bb8343206b 100644 --- a/c/include/libsbp/piksi.h +++ b/c/include/libsbp/piksi.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_PIKSI_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_PIKSI_MESSAGES_H */ diff --git a/c/include/libsbp/sbas.h b/c/include/libsbp/sbas.h index fbda482604..262385f6f7 100644 --- a/c/include/libsbp/sbas.h +++ b/c/include/libsbp/sbas.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_SBAS_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_SBAS_MESSAGES_H */ diff --git a/c/include/libsbp/settings.h b/c/include/libsbp/settings.h index dd7f13023d..730ca93f34 100644 --- a/c/include/libsbp/settings.h +++ b/c/include/libsbp/settings.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_SETTINGS_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_SETTINGS_MESSAGES_H */ diff --git a/c/include/libsbp/solution_meta.h b/c/include/libsbp/solution_meta.h index 3a728868e5..f1cf93df3b 100644 --- a/c/include/libsbp/solution_meta.h +++ b/c/include/libsbp/solution_meta.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_SOLUTION_META_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_SOLUTION_META_MESSAGES_H */ diff --git a/c/include/libsbp/ssr.h b/c/include/libsbp/ssr.h index bf0a12dbbc..9ccdff09ef 100644 --- a/c/include/libsbp/ssr.h +++ b/c/include/libsbp/ssr.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_SSR_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_SSR_MESSAGES_H */ diff --git a/c/include/libsbp/system.h b/c/include/libsbp/system.h index 5455beddbb..865d72faed 100644 --- a/c/include/libsbp/system.h +++ b/c/include/libsbp/system.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_SYSTEM_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_SYSTEM_MESSAGES_H */ diff --git a/c/include/libsbp/tracking.h b/c/include/libsbp/tracking.h index 5b86cb8cdc..71c1669579 100644 --- a/c/include/libsbp/tracking.h +++ b/c/include/libsbp/tracking.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_TRACKING_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_TRACKING_MESSAGES_H */ diff --git a/c/include/libsbp/user.h b/c/include/libsbp/user.h index d74a362840..7f769b249d 100644 --- a/c/include/libsbp/user.h +++ b/c/include/libsbp/user.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_USER_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_USER_MESSAGES_H */ diff --git a/c/include/libsbp/vehicle.h b/c/include/libsbp/vehicle.h index fff159d2e6..7b022b2d34 100644 --- a/c/include/libsbp/vehicle.h +++ b/c/include/libsbp/vehicle.h @@ -27,4 +27,4 @@ SBP_MESSAGE( #include -#endif /* LIBSBP_VEHICLE_MESSAGES_H */ \ No newline at end of file +#endif /* LIBSBP_VEHICLE_MESSAGES_H */ diff --git a/c/include/libsbp/version.h b/c/include/libsbp/version.h index e0de1dcfb4..6518511708 100644 --- a/c/include/libsbp/version.h +++ b/c/include/libsbp/version.h @@ -35,4 +35,4 @@ /** \} */ -#endif /* LIBSBP_VERSION_H */ \ No newline at end of file +#endif /* LIBSBP_VERSION_H */ diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 576aa170258a48367688db0bed5d17f7a74fb930..45aaf5ea84fd8fdd30b3d24d420cd06ef384e702 100644 GIT binary patch delta 50238 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

    Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, + * std=5+0.5(i-230). */ public class MsgSsrOrbitClockBounds extends SBPMessage { public static final int TYPE = 0x05DE; diff --git a/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBoundsDegradation.java b/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBoundsDegradation.java index d6667016d2..68ec1a9a1c 100644 --- a/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBoundsDegradation.java +++ b/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBoundsDegradation.java @@ -34,7 +34,7 @@ public class MsgSsrOrbitClockBoundsDegradation extends SBPMessage { /** * Satellite Bit Mask. Put 1 for each satellite where the following degradation parameters are - * applicable, 0 otherwise. + * applicable, 0 otherwise. Encoded following RTCM DF394 specification. */ public BigInteger sat_bitmask; diff --git a/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java b/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java index d9b8a8d195..09441878ca 100644 --- a/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java +++ b/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java @@ -37,19 +37,19 @@ public class OrbitClockBound extends SBPStruct { /** Mean Cross-Track. See Note 1. */ public int orb_cross_bound_mu; - /** Standard Deviation Radial. See Note 1. */ + /** Standard Deviation Radial. See Note 2. */ public int orb_radial_bound_sig; - /** Standard Deviation Along-Track. See Note 1. */ + /** Standard Deviation Along-Track. See Note 2. */ public int orb_along_bound_sig; - /** Standard Deviation Cross-Track. See Note 1. */ + /** Standard Deviation Cross-Track. See Note 2. */ public int orb_cross_bound_sig; /** Clock Bound Mean. See Note 1. */ public int clock_bound_mu; - /** Clock Bound Standard Deviation. See Note 1. */ + /** Clock Bound Standard Deviation. See Note 2. */ public int clock_bound_sig; public OrbitClockBound() {} diff --git a/java/test/auto_check_sbp_navigation_MsgItrfTest.java b/java/test/auto_check_sbp_navigation_MsgReferenceFrameParamTest.java similarity index 96% rename from java/test/auto_check_sbp_navigation_MsgItrfTest.java rename to java/test/auto_check_sbp_navigation_MsgReferenceFrameParamTest.java index 72810fc3b7..a5b6a37622 100644 --- a/java/test/auto_check_sbp_navigation_MsgItrfTest.java +++ b/java/test/auto_check_sbp_navigation_MsgReferenceFrameParamTest.java @@ -10,24 +10,27 @@ */ package com.swiftnav.sbp.test; -// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/navigation/test_MsgItrf.yaml by -// generate.py. Do not modify by hand! +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml by generate.py. Do not +// modify by hand! import com.swiftnav.sbp.SBPMessage; -import com.swiftnav.sbp.navigation.MsgItrf; +import com.swiftnav.sbp.navigation.MsgReferenceFrameParam; import java.math.BigInteger; import org.json.JSONObject; import org.junit.Test; -public class auto_check_sbp_navigation_MsgItrfTest { +public class auto_check_sbp_navigation_MsgReferenceFrameParamTest { 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_navigation_MsgItrfTest.test1"); + if (debug) + System.out.format( + "%n%s%n", "auto_check_sbp_navigation_MsgReferenceFrameParamTest.test1"); byte[] payload = new byte[] { (byte) 1, @@ -156,7 +159,7 @@ public void test1() throws Throwable { (byte) 0, }; SBPMessage sbp = new SBPMessage(0x0042, 0x0244, payload); - MsgItrf msg = new MsgItrf(sbp); + MsgReferenceFrameParam msg = new MsgReferenceFrameParam(sbp); JSONObject json = msg.toJSON(); Number value; Number expected; diff --git a/java/test/auto_check_sbp_navigation_MsgGPSLeapSecondTest.java b/java/test/auto_check_sbp_navigation_MsgUTCLeapSecondTest.java similarity index 94% rename from java/test/auto_check_sbp_navigation_MsgGPSLeapSecondTest.java rename to java/test/auto_check_sbp_navigation_MsgUTCLeapSecondTest.java index 89679f9942..766a904ffe 100644 --- a/java/test/auto_check_sbp_navigation_MsgGPSLeapSecondTest.java +++ b/java/test/auto_check_sbp_navigation_MsgUTCLeapSecondTest.java @@ -11,17 +11,17 @@ package com.swiftnav.sbp.test; // This file was auto-generated from -// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgGPSLeapSecond.yaml by generate.py. Do not modify +// spec/tests/yaml/swiftnav/sbp/navigation/test_MsgUTCLeapSecond.yaml by generate.py. Do not modify // by hand! import com.swiftnav.sbp.SBPMessage; -import com.swiftnav.sbp.navigation.MsgGPSLeapSecond; +import com.swiftnav.sbp.navigation.MsgUtcLeapSecond; import java.math.BigInteger; import org.json.JSONObject; import org.junit.Test; -public class auto_check_sbp_navigation_MsgGPSLeapSecondTest { +public class auto_check_sbp_navigation_MsgUTCLeapSecondTest { public static boolean debug = false; private static final double DELTA = 1e-15; @@ -29,14 +29,14 @@ public class auto_check_sbp_navigation_MsgGPSLeapSecondTest { @Test public void test1() throws Throwable { if (debug) - System.out.format("%n%s%n", "auto_check_sbp_navigation_MsgGPSLeapSecondTest.test1"); + System.out.format("%n%s%n", "auto_check_sbp_navigation_MsgUTCLeapSecondTest.test1"); byte[] payload = new byte[] { (byte) 1, (byte) 0, (byte) 2, (byte) 0, (byte) 3, (byte) 4, (byte) 5, (byte) 0, (byte) 6, (byte) 0, (byte) 7, (byte) 0, (byte) 8, (byte) 9, }; SBPMessage sbp = new SBPMessage(0x0042, 0x023A, payload); - MsgGPSLeapSecond msg = new MsgGPSLeapSecond(sbp); + MsgUtcLeapSecond msg = new MsgUtcLeapSecond(sbp); JSONObject json = msg.toJSON(); Number value; Number expected; diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index b9cf4f5cbc..8f3d37e147 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -12,4 +12,4 @@ var r=p(25),o=p(26),i=p(16);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647 * @author Feross Aboukhadijeh * @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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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=[];var 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]);var 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]);var 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=[];var 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]);var 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){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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"]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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){var 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]);var 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){var 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]);var 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]);var 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"]);var 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"]);var 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"]);var 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"]);var 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"]),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}},function(e,t,p){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_GNSS",v.prototype.msg_type=554,v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),v.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),v.prototype.fieldSpec.push(["height","writeDoubleLE",8]),v.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV_GNSS",L.prototype.msg_type=561,L.prototype.constructor=L,L.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"),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(["cov_n_n","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_GNSS",T.prototype.msg_type=557,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);var F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.prototype.fieldSpec.push(["flags","writeUInt8",1]);var 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]);var 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]);var 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]);var H=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_LEAP_SECOND",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="MSG_GPS_LEAP_SECOND",H.prototype.msg_type=570,H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").int16("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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]);var V=function(e,t){return r.call(this,e),this.messageType="MSG_ITRF",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_ITRF",V.prototype.msg_type=580,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").uint8("ssr_iod").uint8("sn_counter_n").string("sn",{length:31}).uint8("tn_counter_m").string("tn",{length:31}).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_counter_n","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",31]),V.prototype.fieldSpec.push(["tn_counter_m","writeUInt8",1]),V.prototype.fieldSpec.push(["tn","string",31]),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]),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:v,MsgPosLlhGnss:v,561:L,MsgPosLlhCovGnss:L,557:T,MsgVelEcefGnss:T,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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgGpsLeapSecond:H,580:V,MsgItrf:V}},function(e,t,p){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_QZSS",v.prototype.msg_type=142,v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","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","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_BDS",L.prototype.msg_type=137,L.prototype.constructor=L,L.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"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),L.prototype.fieldSpec.push(["tgd2","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","writeDoubleLE",8]),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]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","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","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var 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]);var 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]);var 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]);var 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]);var 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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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]);var 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]);var 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]);var 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]);var 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]);var $=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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:v,MsgEphemerisQzss:v,137:L,MsgEphemerisBds:L,149:T,MsgEphemerisGalDepA:T,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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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){var 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]);var 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]);var 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]);var 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){var 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=[];var 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=[];var 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]);var 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=[];var 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=[];var 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=[];var 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]);var _=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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE",v.prototype.msg_type=43,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["mask","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE_DEP",L.prototype.msg_type=27,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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:v,MsgMaskSatellite:v,27:L,MsgMaskSatelliteDep:L,181:T,MsgDeviceMonitor:T,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){var 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){var 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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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"]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="STECSatElementIntegrity",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="STECSatElementIntegrity",v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["stec_residual",_.prototype.fieldSpec]),v.prototype.fieldSpec.push(["stec_bound_mu","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_sig","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_mu_dot","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_sig_dot","writeUInt8",1]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",L.prototype.msg_type=1534,L.prototype.constructor=L,L.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_bound_mu").uint8("tropo_bound_sig").uint8("n_sats").array("stec_sat_list",{type:v.prototype.parser,length:"n_sats"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),L.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),L.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tropo_qi","writeUInt8",1]),L.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tropo_bound_mu","writeUInt8",1]),L.prototype.fieldSpec.push(["tropo_bound_sig","writeUInt8",1]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_sat_list","array",v.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",T.prototype.msg_type=1526,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),T.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),T.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),T.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),T.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),T.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),T.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);var U=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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]);var M=function(e,t){return r.call(this,e),this.messageType="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);var D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);var O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);var x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);var F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);var B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);var q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);var z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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:v,1534:L,MsgSsrGriddedCorrectionBounds:L,1526:T,MsgSsrTileDefinitionDep:T,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},function(e,t,p){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",v.prototype.msg_type=19,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").array("states",{type:I.prototype.parser,readUntil:"eof"}),v.prototype.fieldSpec=[],v.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:v,MsgTrackingStateDepB:v}},function(e,t,p){var 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){var 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]);var 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}}]); \ 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 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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=[];var 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]);var 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]);var 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=[];var 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]);var 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){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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"]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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){var 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]);var 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){var 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]);var 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]);var 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"]);var 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"]);var 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"]);var 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"]);var 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"]),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}},function(e,t,p){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_GNSS",v.prototype.msg_type=554,v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),v.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),v.prototype.fieldSpec.push(["height","writeDoubleLE",8]),v.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV_GNSS",L.prototype.msg_type=561,L.prototype.constructor=L,L.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"),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(["cov_n_n","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_GNSS",T.prototype.msg_type=557,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);var F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.prototype.fieldSpec.push(["flags","writeUInt8",1]);var 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]);var 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]);var 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]);var 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("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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]);var 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").uint8("sn_counter_n").string("sn",{length:31}).uint8("tn_counter_m").string("tn",{length:31}).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_counter_n","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",31]),V.prototype.fieldSpec.push(["tn_counter_m","writeUInt8",1]),V.prototype.fieldSpec.push(["tn","string",31]),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]),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:v,MsgPosLlhGnss:v,561:L,MsgPosLlhCovGnss:L,557:T,MsgVelEcefGnss:T,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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V}},function(e,t,p){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_QZSS",v.prototype.msg_type=142,v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","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","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_BDS",L.prototype.msg_type=137,L.prototype.constructor=L,L.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"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),L.prototype.fieldSpec.push(["tgd2","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","writeDoubleLE",8]),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]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","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","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var 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]);var 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]);var 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]);var 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]);var 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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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]);var 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]);var 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]);var 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]);var 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]);var $=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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:v,MsgEphemerisQzss:v,137:L,MsgEphemerisBds:L,149:T,MsgEphemerisGalDepA:T,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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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){var 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]);var 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]);var 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]);var 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){var 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=[];var 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=[];var 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]);var 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=[];var 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=[];var 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=[];var 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]);var _=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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE",v.prototype.msg_type=43,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["mask","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE_DEP",L.prototype.msg_type=27,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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:v,MsgMaskSatellite:v,27:L,MsgMaskSatelliteDep:L,181:T,MsgDeviceMonitor:T,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){var 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){var 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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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"]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="STECSatElementIntegrity",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="STECSatElementIntegrity",v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["stec_residual",_.prototype.fieldSpec]),v.prototype.fieldSpec.push(["stec_bound_mu","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_sig","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_mu_dot","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_sig_dot","writeUInt8",1]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",L.prototype.msg_type=1534,L.prototype.constructor=L,L.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_bound_mu").uint8("tropo_bound_sig").uint8("n_sats").array("stec_sat_list",{type:v.prototype.parser,length:"n_sats"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),L.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),L.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tropo_qi","writeUInt8",1]),L.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tropo_bound_mu","writeUInt8",1]),L.prototype.fieldSpec.push(["tropo_bound_sig","writeUInt8",1]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_sat_list","array",v.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",T.prototype.msg_type=1526,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),T.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),T.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),T.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),T.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),T.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),T.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);var U=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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]);var M=function(e,t){return r.call(this,e),this.messageType="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);var D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);var O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);var x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);var F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);var B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);var q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);var z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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:v,1534:L,MsgSsrGriddedCorrectionBounds:L,1526:T,MsgSsrTileDefinitionDep:T,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},function(e,t,p){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",v.prototype.msg_type=19,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").array("states",{type:I.prototype.parser,readUntil:"eof"}),v.prototype.fieldSpec=[],v.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:v,MsgTrackingStateDepB:v}},function(e,t,p){var 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){var 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]);var 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}}]); \ No newline at end of file diff --git a/javascript/sbp/navigation.js b/javascript/sbp/navigation.js index dfac76e112..fe9de200e0 100644 --- a/javascript/sbp/navigation.js +++ b/javascript/sbp/navigation.js @@ -2133,7 +2133,7 @@ MsgProtectionLevel.prototype.fieldSpec.push(['heading', 'writeInt32LE', 4]); MsgProtectionLevel.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); /** - * SBP class for message MSG_GPS_LEAP_SECOND (0x023A). + * SBP class for message MSG_UTC_LEAP_SECOND (0x023A). * * Emulates the GPS CNAV message, reserving bytes for future broadcast of the drift * model parameters. @@ -2152,18 +2152,18 @@ MsgProtectionLevel.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGpsLeapSecond = function (sbp, fields) { +var MsgUtcLeapSecond = function (sbp, fields) { SBP.call(this, sbp); - this.messageType = "MSG_GPS_LEAP_SECOND"; + this.messageType = "MSG_UTC_LEAP_SECOND"; this.fields = (fields || this.parser.parse(sbp.payload)); return this; }; -MsgGpsLeapSecond.prototype = Object.create(SBP.prototype); -MsgGpsLeapSecond.prototype.messageType = "MSG_GPS_LEAP_SECOND"; -MsgGpsLeapSecond.prototype.msg_type = 0x023A; -MsgGpsLeapSecond.prototype.constructor = MsgGpsLeapSecond; -MsgGpsLeapSecond.prototype.parser = new Parser() +MsgUtcLeapSecond.prototype = Object.create(SBP.prototype); +MsgUtcLeapSecond.prototype.messageType = "MSG_UTC_LEAP_SECOND"; +MsgUtcLeapSecond.prototype.msg_type = 0x023A; +MsgUtcLeapSecond.prototype.constructor = MsgUtcLeapSecond; +MsgUtcLeapSecond.prototype.parser = new Parser() .endianess('little') .int16('bias_coeff') .int16('drift_coeff') @@ -2174,19 +2174,19 @@ MsgGpsLeapSecond.prototype.parser = new Parser() .uint16('ref_wn') .uint8('ref_dn') .int8('count_after'); -MsgGpsLeapSecond.prototype.fieldSpec = []; -MsgGpsLeapSecond.prototype.fieldSpec.push(['bias_coeff', 'writeInt16LE', 2]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['drift_coeff', 'writeInt16LE', 2]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['drift_rate_coeff', 'writeInt8', 1]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['count_before', 'writeInt8', 1]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['tow_s', 'writeUInt16LE', 2]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['ref_wn', 'writeUInt16LE', 2]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['ref_dn', 'writeUInt8', 1]); -MsgGpsLeapSecond.prototype.fieldSpec.push(['count_after', 'writeInt8', 1]); +MsgUtcLeapSecond.prototype.fieldSpec = []; +MsgUtcLeapSecond.prototype.fieldSpec.push(['bias_coeff', 'writeInt16LE', 2]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['drift_coeff', 'writeInt16LE', 2]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['drift_rate_coeff', 'writeInt8', 1]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['count_before', 'writeInt8', 1]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['tow_s', 'writeUInt16LE', 2]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['ref_wn', 'writeUInt16LE', 2]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['ref_dn', 'writeUInt8', 1]); +MsgUtcLeapSecond.prototype.fieldSpec.push(['count_after', 'writeInt8', 1]); /** - * SBP class for message MSG_ITRF (0x0244). + * SBP class for message MSG_REFERENCE_FRAME_PARAM (0x0244). * * Fields in the SBP payload (`sbp.payload`): @@ -2216,18 +2216,18 @@ MsgGpsLeapSecond.prototype.fieldSpec.push(['count_after', 'writeInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgItrf = function (sbp, fields) { +var MsgReferenceFrameParam = function (sbp, fields) { SBP.call(this, sbp); - this.messageType = "MSG_ITRF"; + this.messageType = "MSG_REFERENCE_FRAME_PARAM"; this.fields = (fields || this.parser.parse(sbp.payload)); return this; }; -MsgItrf.prototype = Object.create(SBP.prototype); -MsgItrf.prototype.messageType = "MSG_ITRF"; -MsgItrf.prototype.msg_type = 0x0244; -MsgItrf.prototype.constructor = MsgItrf; -MsgItrf.prototype.parser = new Parser() +MsgReferenceFrameParam.prototype = Object.create(SBP.prototype); +MsgReferenceFrameParam.prototype.messageType = "MSG_REFERENCE_FRAME_PARAM"; +MsgReferenceFrameParam.prototype.msg_type = 0x0244; +MsgReferenceFrameParam.prototype.constructor = MsgReferenceFrameParam; +MsgReferenceFrameParam.prototype.parser = new Parser() .endianess('little') .uint8('ssr_iod') .uint8('sn_counter_n') @@ -2251,29 +2251,29 @@ MsgItrf.prototype.parser = new Parser() .int32('dot_theta_02') .int32('dot_theta_03') .int16('dot_scale'); -MsgItrf.prototype.fieldSpec = []; -MsgItrf.prototype.fieldSpec.push(['ssr_iod', 'writeUInt8', 1]); -MsgItrf.prototype.fieldSpec.push(['sn_counter_n', 'writeUInt8', 1]); -MsgItrf.prototype.fieldSpec.push(['sn', 'string', 31]); -MsgItrf.prototype.fieldSpec.push(['tn_counter_m', 'writeUInt8', 1]); -MsgItrf.prototype.fieldSpec.push(['tn', 'string', 31]); -MsgItrf.prototype.fieldSpec.push(['sin', 'writeUInt8', 1]); -MsgItrf.prototype.fieldSpec.push(['utn', 'writeUInt16LE', 2]); -MsgItrf.prototype.fieldSpec.push(['re_t0', 'writeUInt16LE', 2]); -MsgItrf.prototype.fieldSpec.push(['delta_X0', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['delta_Y0', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['delta_Z0', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['theta_01', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['theta_02', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['theta_03', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['scale', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['dot_delta_X0', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['dot_delta_Y0', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['dot_delta_Z0', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['dot_theta_01', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['dot_theta_02', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['dot_theta_03', 'writeInt32LE', 4]); -MsgItrf.prototype.fieldSpec.push(['dot_scale', 'writeInt16LE', 2]); +MsgReferenceFrameParam.prototype.fieldSpec = []; +MsgReferenceFrameParam.prototype.fieldSpec.push(['ssr_iod', 'writeUInt8', 1]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['sn_counter_n', 'writeUInt8', 1]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['sn', 'string', 31]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['tn_counter_m', 'writeUInt8', 1]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['tn', 'string', 31]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['sin', 'writeUInt8', 1]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['utn', 'writeUInt16LE', 2]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['re_t0', 'writeUInt16LE', 2]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['delta_X0', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['delta_Y0', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['delta_Z0', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['theta_01', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['theta_02', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['theta_03', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['scale', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_delta_X0', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_delta_Y0', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_delta_Z0', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_theta_01', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_theta_02', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_theta_03', 'writeInt32LE', 4]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_scale', 'writeInt16LE', 2]); module.exports = { 0x0102: MsgGpsTime, @@ -2353,8 +2353,8 @@ module.exports = { MsgProtectionLevelDepA: MsgProtectionLevelDepA, 0x0217: MsgProtectionLevel, MsgProtectionLevel: MsgProtectionLevel, - 0x023A: MsgGpsLeapSecond, - MsgGpsLeapSecond: MsgGpsLeapSecond, - 0x0244: MsgItrf, - MsgItrf: MsgItrf, + 0x023A: MsgUtcLeapSecond, + MsgUtcLeapSecond: MsgUtcLeapSecond, + 0x0244: MsgReferenceFrameParam, + MsgReferenceFrameParam: MsgReferenceFrameParam, } \ No newline at end of file diff --git a/javascript/sbp/ssr.js b/javascript/sbp/ssr.js index 438a73cd29..2eb711e137 100644 --- a/javascript/sbp/ssr.js +++ b/javascript/sbp/ssr.js @@ -1322,11 +1322,11 @@ MsgSsrGridDefinitionDepA.prototype.fieldSpec.push(['rle_list', 'array', 'writeUI * @field orb_radial_bound_mu number (unsigned 8-bit int, 1 byte) Mean Radial. See Note 1. * @field orb_along_bound_mu number (unsigned 8-bit int, 1 byte) Mean Along-Track. See Note 1. * @field orb_cross_bound_mu number (unsigned 8-bit int, 1 byte) Mean Cross-Track. See Note 1. - * @field orb_radial_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Radial. See Note 1. - * @field orb_along_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Along-Track. See Note 1. - * @field orb_cross_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Cross-Track. See Note 1. + * @field orb_radial_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Radial. See Note 2. + * @field orb_along_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Along-Track. See Note 2. + * @field orb_cross_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Cross-Track. See Note 2. * @field clock_bound_mu number (unsigned 8-bit int, 1 byte) Clock Bound Mean. See Note 1. - * @field clock_bound_sig number (unsigned 8-bit int, 1 byte) Clock Bound Standard Deviation. See Note 1. + * @field clock_bound_sig number (unsigned 8-bit int, 1 byte) Clock Bound Standard Deviation. See Note 2. * * @param sbp An SBP object with a payload to be decoded. */ @@ -1365,8 +1365,9 @@ OrbitClockBound.prototype.fieldSpec.push(['clock_bound_sig', 'writeUInt8', 1]); /** * SBP class for message MSG_SSR_ORBIT_CLOCK_BOUNDS (0x05DE). * - * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + * Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230). Note 2: Range: 0-17.5 m. i<=200, std=0.01i; + * 200230, std=5+0.5(i-230). * * Fields in the SBP payload (`sbp.payload`): * @field header BoundsHeader Header of a bounds message. @@ -1538,7 +1539,8 @@ OrbitClockBoundDegradation.prototype.fieldSpec.push(['clock_bound_sig_dot', 'wri * @field ssr_iod number (unsigned 8-bit int, 1 byte) IOD of the SSR bound degradation parameter. * @field const_id number (unsigned 8-bit int, 1 byte) Constellation ID to which the SVs belong. * @field sat_bitmask number (unsigned 64-bit int, 8 bytes) Satellite Bit Mask. Put 1 for each satellite where the following degradation - * parameters are applicable, 0 otherwise. + * parameters are applicable, 0 otherwise. Encoded following RTCM DF394 + * specification. * @field orbit_clock_bounds_degradation OrbitClockBoundDegradation Orbit and Clock Bounds Degradation Parameters * * @param sbp An SBP object with a payload to be decoded. diff --git a/jsonschema/MsgItrf.json b/jsonschema/MsgReferenceFrameParam.json similarity index 96% rename from jsonschema/MsgItrf.json rename to jsonschema/MsgReferenceFrameParam.json index 58c7d85a9a..e801d7f146 100644 --- a/jsonschema/MsgItrf.json +++ b/jsonschema/MsgReferenceFrameParam.json @@ -11,8 +11,8 @@ "WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE." ], "$schema": "http://json-schema.org/draft-06/schema#", - "$id": "#MsgItrf", - "title":"MsgItrf", + "$id": "#MsgReferenceFrameParam", + "title":"MsgReferenceFrameParam", "description":"", "type": "object", "properties": { diff --git a/jsonschema/MsgSsrOrbitClockBounds.json b/jsonschema/MsgSsrOrbitClockBounds.json index 80753ff7bf..9065401059 100644 --- a/jsonschema/MsgSsrOrbitClockBounds.json +++ b/jsonschema/MsgSsrOrbitClockBounds.json @@ -13,7 +13,7 @@ "$schema": "http://json-schema.org/draft-06/schema#", "$id": "#MsgSsrOrbitClockBounds", "title":"MsgSsrOrbitClockBounds", - "description":"Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240).\n", + "description":"Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230).,\n,\nNote 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, std=5+0.5(i-230).\n", "type": "object", "properties": { "header": {"$ref": "BoundsHeader.json"}, diff --git a/jsonschema/MsgGPSLeapSecond.json b/jsonschema/MsgUtcLeapSecond.json similarity index 95% rename from jsonschema/MsgGPSLeapSecond.json rename to jsonschema/MsgUtcLeapSecond.json index 3aafff0ae3..19acc642ee 100644 --- a/jsonschema/MsgGPSLeapSecond.json +++ b/jsonschema/MsgUtcLeapSecond.json @@ -11,8 +11,8 @@ "WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE." ], "$schema": "http://json-schema.org/draft-06/schema#", - "$id": "#MsgGPSLeapSecond", - "title":"MsgGPSLeapSecond", + "$id": "#MsgUtcLeapSecond", + "title":"MsgUtcLeapSecond", "description":"Emulates the GPS CNAV message, reserving bytes for future broadcast of the drift model parameters.\n", "type": "object", "properties": { diff --git a/proto/navigation.proto b/proto/navigation.proto index 99410a96d7..7f3464bbb9 100644 --- a/proto/navigation.proto +++ b/proto/navigation.proto @@ -655,7 +655,7 @@ message MsgProtectionLevel { * Emulates the GPS CNAV message, reserving bytes for future broadcast of the * drift model parameters. */ -message MsgGpsLeapSecond { +message MsgUtcLeapSecond { sint32 bias_coeff = 1; sint32 drift_coeff = 2; sint32 drift_rate_coeff = 3; @@ -671,7 +671,7 @@ message MsgGpsLeapSecond { * None */ -message MsgItrf { +message MsgReferenceFrameParam { uint32 ssr_iod = 1; uint32 sn_counter_n = 2; string sn = 3; diff --git a/proto/ssr.proto b/proto/ssr.proto index ca8f3f775f..97e3903e7a 100644 --- a/proto/ssr.proto +++ b/proto/ssr.proto @@ -314,8 +314,11 @@ message OrbitClockBound { /** Combined Orbit and Clock Bound * - * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + * Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230). + * + * Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, std=5+0.5(i-230). */ message MsgSsrOrbitClockBounds { BoundsHeader header = 1; diff --git a/python/sbp/navigation.py b/python/sbp/navigation.py index ba88f64f38..cf7a3dd41a 100755 --- a/python/sbp/navigation.py +++ b/python/sbp/navigation.py @@ -5105,11 +5105,11 @@ def to_json_dict(self): d.update(j) return d -SBP_MSG_GPS_LEAP_SECOND = 0x023A -class MsgGPSLeapSecond(SBP): - """SBP class for message MSG_GPS_LEAP_SECOND (0x023A). +SBP_MSG_UTC_LEAP_SECOND = 0x023A +class MsgUtcLeapSecond(SBP): + """SBP class for message MSG_UTC_LEAP_SECOND (0x023A). - You can have MSG_GPS_LEAP_SECOND inherit its fields directly + You can have MSG_UTC_LEAP_SECOND inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields. @@ -5170,13 +5170,13 @@ class MsgGPSLeapSecond(SBP): def __init__(self, sbp=None, **kwargs): if sbp: - super( MsgGPSLeapSecond, + super( MsgUtcLeapSecond, self).__init__(sbp.msg_type, sbp.sender, sbp.length, sbp.payload, sbp.crc) self.from_binary(sbp.payload) else: - super( MsgGPSLeapSecond, self).__init__() - self.msg_type = SBP_MSG_GPS_LEAP_SECOND + super( MsgUtcLeapSecond, self).__init__() + self.msg_type = SBP_MSG_UTC_LEAP_SECOND self.sender = kwargs.pop('sender', SENDER_ID) self.bias_coeff = kwargs.pop('bias_coeff') self.drift_coeff = kwargs.pop('drift_coeff') @@ -5197,12 +5197,12 @@ def from_json(s): """ d = json.loads(s) - return MsgGPSLeapSecond.from_json_dict(d) + return MsgUtcLeapSecond.from_json_dict(d) @staticmethod def from_json_dict(d): sbp = SBP.from_json_dict(d) - return MsgGPSLeapSecond(sbp, **d) + return MsgUtcLeapSecond(sbp, **d) def from_binary(self, d): @@ -5210,7 +5210,7 @@ def from_binary(self, d): the message. """ - p = MsgGPSLeapSecond._parser.parse(d) + p = MsgUtcLeapSecond._parser.parse(d) for n in self.__class__.__slots__: setattr(self, n, getattr(p, n)) @@ -5219,7 +5219,7 @@ def to_binary(self): """ c = containerize(exclude_fields(self)) - self.payload = MsgGPSLeapSecond._parser.build(c) + self.payload = MsgUtcLeapSecond._parser.build(c) return self.pack() def into_buffer(self, buf, offset): @@ -5227,22 +5227,22 @@ def into_buffer(self, buf, offset): """ self.payload = containerize(exclude_fields(self)) - self.parser = MsgGPSLeapSecond._parser + self.parser = MsgUtcLeapSecond._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( MsgGPSLeapSecond, self).to_json_dict() + d = super( MsgUtcLeapSecond, self).to_json_dict() j = walk_json_dict(exclude_fields(self)) d.update(j) return d -SBP_MSG_ITRF = 0x0244 -class MsgItrf(SBP): - """SBP class for message MSG_ITRF (0x0244). +SBP_MSG_REFERENCE_FRAME_PARAM = 0x0244 +class MsgReferenceFrameParam(SBP): + """SBP class for message MSG_REFERENCE_FRAME_PARAM (0x0244). - You can have MSG_ITRF inherit its fields directly + You can have MSG_REFERENCE_FRAME_PARAM inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields. @@ -5351,13 +5351,13 @@ class MsgItrf(SBP): def __init__(self, sbp=None, **kwargs): if sbp: - super( MsgItrf, + super( MsgReferenceFrameParam, self).__init__(sbp.msg_type, sbp.sender, sbp.length, sbp.payload, sbp.crc) self.from_binary(sbp.payload) else: - super( MsgItrf, self).__init__() - self.msg_type = SBP_MSG_ITRF + super( MsgReferenceFrameParam, self).__init__() + self.msg_type = SBP_MSG_REFERENCE_FRAME_PARAM self.sender = kwargs.pop('sender', SENDER_ID) self.ssr_iod = kwargs.pop('ssr_iod') self.sn_counter_n = kwargs.pop('sn_counter_n') @@ -5391,12 +5391,12 @@ def from_json(s): """ d = json.loads(s) - return MsgItrf.from_json_dict(d) + return MsgReferenceFrameParam.from_json_dict(d) @staticmethod def from_json_dict(d): sbp = SBP.from_json_dict(d) - return MsgItrf(sbp, **d) + return MsgReferenceFrameParam(sbp, **d) def from_binary(self, d): @@ -5404,7 +5404,7 @@ def from_binary(self, d): the message. """ - p = MsgItrf._parser.parse(d) + p = MsgReferenceFrameParam._parser.parse(d) for n in self.__class__.__slots__: setattr(self, n, getattr(p, n)) @@ -5413,7 +5413,7 @@ def to_binary(self): """ c = containerize(exclude_fields(self)) - self.payload = MsgItrf._parser.build(c) + self.payload = MsgReferenceFrameParam._parser.build(c) return self.pack() def into_buffer(self, buf, offset): @@ -5421,13 +5421,13 @@ def into_buffer(self, buf, offset): """ self.payload = containerize(exclude_fields(self)) - self.parser = MsgItrf._parser + self.parser = MsgReferenceFrameParam._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( MsgItrf, self).to_json_dict() + d = super( MsgReferenceFrameParam, self).to_json_dict() j = walk_json_dict(exclude_fields(self)) d.update(j) return d @@ -5472,6 +5472,6 @@ def to_json_dict(self): 0x0207: MsgBaselineHeadingDepA, 0x0216: MsgProtectionLevelDepA, 0x0217: MsgProtectionLevel, - 0x023A: MsgGPSLeapSecond, - 0x0244: MsgItrf, + 0x023A: MsgUtcLeapSecond, + 0x0244: MsgReferenceFrameParam, } \ No newline at end of file diff --git a/python/sbp/ssr.py b/python/sbp/ssr.py index 50d1f21518..2d8dcf6dcb 100644 --- a/python/sbp/ssr.py +++ b/python/sbp/ssr.py @@ -794,15 +794,15 @@ class OrbitClockBound(object): orb_cross_bound_mu : int Mean Cross-Track. See Note 1. orb_radial_bound_sig : int - Standard Deviation Radial. See Note 1. + Standard Deviation Radial. See Note 2. orb_along_bound_sig : int - Standard Deviation Along-Track. See Note 1. + Standard Deviation Along-Track. See Note 2. orb_cross_bound_sig : int - Standard Deviation Cross-Track. See Note 1. + Standard Deviation Cross-Track. See Note 2. clock_bound_mu : int Clock Bound Mean. See Note 1. clock_bound_sig : int - Clock Bound Standard Deviation. See Note 1. + Clock Bound Standard Deviation. See Note 2. """ _parser = construct.Struct( @@ -2835,8 +2835,11 @@ class MsgSsrOrbitClockBounds(SBP): of its fields. - Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230). + + Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, std=5+0.5(i-230). Parameters ---------- @@ -3066,7 +3069,8 @@ class MsgSsrOrbitClockBoundsDegradation(SBP): Constellation ID to which the SVs belong. sat_bitmask : int Satellite Bit Mask. Put 1 for each satellite where the following - degradation parameters are applicable, 0 otherwise. + degradation parameters are applicable, 0 otherwise. Encoded following RTCM + DF394 specification. orbit_clock_bounds_degradation : OrbitClockBoundDegradation Orbit and Clock Bounds Degradation Parameters sender : int diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index abefb54bf4..707d9016e6 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -96,11 +96,9 @@ use self::navigation::msg_baseline_ned::MsgBaselineNed; use self::navigation::msg_baseline_ned_dep_a::MsgBaselineNedDepA; use self::navigation::msg_dops::MsgDops; use self::navigation::msg_dops_dep_a::MsgDopsDepA; -use self::navigation::msg_gps_leap_second::MsgGpsLeapSecond; use self::navigation::msg_gps_time::MsgGpsTime; use self::navigation::msg_gps_time_dep_a::MsgGpsTimeDepA; use self::navigation::msg_gps_time_gnss::MsgGpsTimeGnss; -use self::navigation::msg_itrf::MsgItrf; use self::navigation::msg_pos_ecef::MsgPosEcef; use self::navigation::msg_pos_ecef_cov::MsgPosEcefCov; use self::navigation::msg_pos_ecef_cov_gnss::MsgPosEcefCovGnss; @@ -114,6 +112,8 @@ use self::navigation::msg_pos_llh_dep_a::MsgPosLlhDepA; use self::navigation::msg_pos_llh_gnss::MsgPosLlhGnss; use self::navigation::msg_protection_level::MsgProtectionLevel; use self::navigation::msg_protection_level_dep_a::MsgProtectionLevelDepA; +use self::navigation::msg_reference_frame_param::MsgReferenceFrameParam; +use self::navigation::msg_utc_leap_second::MsgUtcLeapSecond; use self::navigation::msg_utc_time::MsgUtcTime; use self::navigation::msg_utc_time_gnss::MsgUtcTimeGnss; use self::navigation::msg_vel_body::MsgVelBody; @@ -652,9 +652,9 @@ pub enum Sbp { /// GNSS-only Velocity in ECEF MsgVelEcefCovGnss(MsgVelEcefCovGnss), /// Leap second SBP message. - MsgGpsLeapSecond(MsgGpsLeapSecond), + MsgUtcLeapSecond(MsgUtcLeapSecond), /// Reference Frame Transformation Parameter - MsgItrf(MsgItrf), + MsgReferenceFrameParam(MsgReferenceFrameParam), /// Navigation DataBase Event MsgNdbEvent(MsgNdbEvent), /// Plaintext logging messages with levels @@ -1583,15 +1583,15 @@ impl Sbp { msg.set_sender_id(frame.sender_id); Ok(Sbp::MsgVelEcefCovGnss(msg)) } - MsgGpsLeapSecond::MESSAGE_TYPE => { - let mut msg = MsgGpsLeapSecond::parse(&mut frame.payload)?; + MsgUtcLeapSecond::MESSAGE_TYPE => { + let mut msg = MsgUtcLeapSecond::parse(&mut frame.payload)?; msg.set_sender_id(frame.sender_id); - Ok(Sbp::MsgGpsLeapSecond(msg)) + Ok(Sbp::MsgUtcLeapSecond(msg)) } - MsgItrf::MESSAGE_TYPE => { - let mut msg = MsgItrf::parse(&mut frame.payload)?; + MsgReferenceFrameParam::MESSAGE_TYPE => { + let mut msg = MsgReferenceFrameParam::parse(&mut frame.payload)?; msg.set_sender_id(frame.sender_id); - Ok(Sbp::MsgItrf(msg)) + Ok(Sbp::MsgReferenceFrameParam(msg)) } MsgNdbEvent::MESSAGE_TYPE => { let mut msg = MsgNdbEvent::parse(&mut frame.payload)?; @@ -2074,8 +2074,8 @@ impl SbpMessage for Sbp { Sbp::MsgVelNedCovGnss(msg) => msg.message_name(), Sbp::MsgPosEcefCovGnss(msg) => msg.message_name(), Sbp::MsgVelEcefCovGnss(msg) => msg.message_name(), - Sbp::MsgGpsLeapSecond(msg) => msg.message_name(), - Sbp::MsgItrf(msg) => msg.message_name(), + Sbp::MsgUtcLeapSecond(msg) => msg.message_name(), + Sbp::MsgReferenceFrameParam(msg) => msg.message_name(), Sbp::MsgNdbEvent(msg) => msg.message_name(), Sbp::MsgLog(msg) => msg.message_name(), Sbp::MsgFwd(msg) => msg.message_name(), @@ -2299,8 +2299,8 @@ impl SbpMessage for Sbp { Sbp::MsgVelNedCovGnss(msg) => msg.message_type(), Sbp::MsgPosEcefCovGnss(msg) => msg.message_type(), Sbp::MsgVelEcefCovGnss(msg) => msg.message_type(), - Sbp::MsgGpsLeapSecond(msg) => msg.message_type(), - Sbp::MsgItrf(msg) => msg.message_type(), + Sbp::MsgUtcLeapSecond(msg) => msg.message_type(), + Sbp::MsgReferenceFrameParam(msg) => msg.message_type(), Sbp::MsgNdbEvent(msg) => msg.message_type(), Sbp::MsgLog(msg) => msg.message_type(), Sbp::MsgFwd(msg) => msg.message_type(), @@ -2524,8 +2524,8 @@ impl SbpMessage for Sbp { Sbp::MsgVelNedCovGnss(msg) => msg.sender_id(), Sbp::MsgPosEcefCovGnss(msg) => msg.sender_id(), Sbp::MsgVelEcefCovGnss(msg) => msg.sender_id(), - Sbp::MsgGpsLeapSecond(msg) => msg.sender_id(), - Sbp::MsgItrf(msg) => msg.sender_id(), + Sbp::MsgUtcLeapSecond(msg) => msg.sender_id(), + Sbp::MsgReferenceFrameParam(msg) => msg.sender_id(), Sbp::MsgNdbEvent(msg) => msg.sender_id(), Sbp::MsgLog(msg) => msg.sender_id(), Sbp::MsgFwd(msg) => msg.sender_id(), @@ -2749,8 +2749,8 @@ impl SbpMessage for Sbp { Sbp::MsgVelNedCovGnss(msg) => msg.set_sender_id(new_id), Sbp::MsgPosEcefCovGnss(msg) => msg.set_sender_id(new_id), Sbp::MsgVelEcefCovGnss(msg) => msg.set_sender_id(new_id), - Sbp::MsgGpsLeapSecond(msg) => msg.set_sender_id(new_id), - Sbp::MsgItrf(msg) => msg.set_sender_id(new_id), + Sbp::MsgUtcLeapSecond(msg) => msg.set_sender_id(new_id), + Sbp::MsgReferenceFrameParam(msg) => msg.set_sender_id(new_id), Sbp::MsgNdbEvent(msg) => msg.set_sender_id(new_id), Sbp::MsgLog(msg) => msg.set_sender_id(new_id), Sbp::MsgFwd(msg) => msg.set_sender_id(new_id), @@ -2974,8 +2974,8 @@ impl SbpMessage for Sbp { Sbp::MsgVelNedCovGnss(msg) => msg.encoded_len(), Sbp::MsgPosEcefCovGnss(msg) => msg.encoded_len(), Sbp::MsgVelEcefCovGnss(msg) => msg.encoded_len(), - Sbp::MsgGpsLeapSecond(msg) => msg.encoded_len(), - Sbp::MsgItrf(msg) => msg.encoded_len(), + Sbp::MsgUtcLeapSecond(msg) => msg.encoded_len(), + Sbp::MsgReferenceFrameParam(msg) => msg.encoded_len(), Sbp::MsgNdbEvent(msg) => msg.encoded_len(), Sbp::MsgLog(msg) => msg.encoded_len(), Sbp::MsgFwd(msg) => msg.encoded_len(), @@ -3202,8 +3202,8 @@ impl SbpMessage for Sbp { Sbp::MsgVelNedCovGnss(msg) => msg.gps_time(), Sbp::MsgPosEcefCovGnss(msg) => msg.gps_time(), Sbp::MsgVelEcefCovGnss(msg) => msg.gps_time(), - Sbp::MsgGpsLeapSecond(msg) => msg.gps_time(), - Sbp::MsgItrf(msg) => msg.gps_time(), + Sbp::MsgUtcLeapSecond(msg) => msg.gps_time(), + Sbp::MsgReferenceFrameParam(msg) => msg.gps_time(), Sbp::MsgNdbEvent(msg) => msg.gps_time(), Sbp::MsgLog(msg) => msg.gps_time(), Sbp::MsgFwd(msg) => msg.gps_time(), @@ -3435,8 +3435,8 @@ impl WireFormat for Sbp { Sbp::MsgVelNedCovGnss(msg) => WireFormat::write(msg, buf), Sbp::MsgPosEcefCovGnss(msg) => WireFormat::write(msg, buf), Sbp::MsgVelEcefCovGnss(msg) => WireFormat::write(msg, buf), - Sbp::MsgGpsLeapSecond(msg) => WireFormat::write(msg, buf), - Sbp::MsgItrf(msg) => WireFormat::write(msg, buf), + Sbp::MsgUtcLeapSecond(msg) => WireFormat::write(msg, buf), + Sbp::MsgReferenceFrameParam(msg) => WireFormat::write(msg, buf), Sbp::MsgNdbEvent(msg) => WireFormat::write(msg, buf), Sbp::MsgLog(msg) => WireFormat::write(msg, buf), Sbp::MsgFwd(msg) => WireFormat::write(msg, buf), @@ -3660,8 +3660,8 @@ impl WireFormat for Sbp { Sbp::MsgVelNedCovGnss(msg) => WireFormat::len(msg), Sbp::MsgPosEcefCovGnss(msg) => WireFormat::len(msg), Sbp::MsgVelEcefCovGnss(msg) => WireFormat::len(msg), - Sbp::MsgGpsLeapSecond(msg) => WireFormat::len(msg), - Sbp::MsgItrf(msg) => WireFormat::len(msg), + Sbp::MsgUtcLeapSecond(msg) => WireFormat::len(msg), + Sbp::MsgReferenceFrameParam(msg) => WireFormat::len(msg), Sbp::MsgNdbEvent(msg) => WireFormat::len(msg), Sbp::MsgLog(msg) => WireFormat::len(msg), Sbp::MsgFwd(msg) => WireFormat::len(msg), @@ -4654,15 +4654,15 @@ impl From for Sbp { } } -impl From for Sbp { - fn from(msg: MsgGpsLeapSecond) -> Self { - Sbp::MsgGpsLeapSecond(msg) +impl From for Sbp { + fn from(msg: MsgUtcLeapSecond) -> Self { + Sbp::MsgUtcLeapSecond(msg) } } -impl From for Sbp { - fn from(msg: MsgItrf) -> Self { - Sbp::MsgItrf(msg) +impl From for Sbp { + fn from(msg: MsgReferenceFrameParam) -> Self { + Sbp::MsgReferenceFrameParam(msg) } } diff --git a/rust/sbp/src/messages/navigation.rs b/rust/sbp/src/messages/navigation.rs index f6e79a53e5..9a9c31b63b 100644 --- a/rust/sbp/src/messages/navigation.rs +++ b/rust/sbp/src/messages/navigation.rs @@ -45,11 +45,9 @@ pub use msg_baseline_ned::MsgBaselineNed; pub use msg_baseline_ned_dep_a::MsgBaselineNedDepA; pub use msg_dops::MsgDops; pub use msg_dops_dep_a::MsgDopsDepA; -pub use msg_gps_leap_second::MsgGpsLeapSecond; pub use msg_gps_time::MsgGpsTime; pub use msg_gps_time_dep_a::MsgGpsTimeDepA; pub use msg_gps_time_gnss::MsgGpsTimeGnss; -pub use msg_itrf::MsgItrf; pub use msg_pos_ecef::MsgPosEcef; pub use msg_pos_ecef_cov::MsgPosEcefCov; pub use msg_pos_ecef_cov_gnss::MsgPosEcefCovGnss; @@ -63,6 +61,8 @@ pub use msg_pos_llh_dep_a::MsgPosLlhDepA; pub use msg_pos_llh_gnss::MsgPosLlhGnss; pub use msg_protection_level::MsgProtectionLevel; pub use msg_protection_level_dep_a::MsgProtectionLevelDepA; +pub use msg_reference_frame_param::MsgReferenceFrameParam; +pub use msg_utc_leap_second::MsgUtcLeapSecond; pub use msg_utc_time::MsgUtcTime; pub use msg_utc_time_gnss::MsgUtcTimeGnss; pub use msg_vel_body::MsgVelBody; @@ -1686,138 +1686,6 @@ pub mod msg_dops_dep_a { } } -pub mod msg_gps_leap_second { - #![allow(unused_imports)] - - use super::*; - use crate::messages::lib::*; - - /// Leap second SBP message. - - /// - /// Emulates the GPS CNAV message, reserving bytes for future broadcast of the - /// drift model parameters. - /// - #[cfg_attr(feature = "serde", derive(serde::Serialize))] - #[derive(Debug, Clone)] - pub struct MsgGpsLeapSecond { - /// The message sender_id - #[cfg_attr(feature = "serde", serde(skip_serializing))] - pub sender_id: Option, - /// Reserved. Bias coefficient of GPS time scale with respect to UTC drift - /// model. - #[cfg_attr(feature = "serde", serde(rename(serialize = "bias_coeff")))] - pub bias_coeff: i16, - /// Reserved. Drift coefficient of GPS time scale with respect to UTC drift - /// model. - #[cfg_attr(feature = "serde", serde(rename(serialize = "drift_coeff")))] - pub drift_coeff: i16, - /// Reserved. Drift rate correction coefficient of GPS time scale with - /// respect to UTC drift model. - #[cfg_attr(feature = "serde", serde(rename(serialize = "drift_rate_coeff")))] - pub drift_rate_coeff: i8, - /// Leap second count before insertion. - #[cfg_attr(feature = "serde", serde(rename(serialize = "count_before")))] - pub count_before: i8, - /// Reserved. Drift model reference week second. - #[cfg_attr(feature = "serde", serde(rename(serialize = "tow_s")))] - pub tow_s: u16, - /// Reserved. Drift model reference week number. - #[cfg_attr(feature = "serde", serde(rename(serialize = "wn")))] - pub wn: u16, - /// Leap second reference week number. - #[cfg_attr(feature = "serde", serde(rename(serialize = "ref_wn")))] - pub ref_wn: u16, - /// Leap second reference day number. - #[cfg_attr(feature = "serde", serde(rename(serialize = "ref_dn")))] - pub ref_dn: u8, - /// Leap second count after insertion. - #[cfg_attr(feature = "serde", serde(rename(serialize = "count_after")))] - pub count_after: i8, - } - - impl ConcreteMessage for MsgGpsLeapSecond { - const MESSAGE_TYPE: u16 = 570; - const MESSAGE_NAME: &'static str = "MSG_GPS_LEAP_SECOND"; - } - - impl SbpMessage for MsgGpsLeapSecond { - 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 TryFrom for MsgGpsLeapSecond { - type Error = TryFromSbpError; - fn try_from(msg: Sbp) -> Result { - match msg { - Sbp::MsgGpsLeapSecond(m) => Ok(m), - _ => Err(TryFromSbpError), - } - } - } - - impl WireFormat for MsgGpsLeapSecond { - const MIN_LEN: usize = ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN; - fn len(&self) -> usize { - WireFormat::len(&self.bias_coeff) - + WireFormat::len(&self.drift_coeff) - + WireFormat::len(&self.drift_rate_coeff) - + WireFormat::len(&self.count_before) - + WireFormat::len(&self.tow_s) - + WireFormat::len(&self.wn) - + WireFormat::len(&self.ref_wn) - + WireFormat::len(&self.ref_dn) - + WireFormat::len(&self.count_after) - } - fn write(&self, buf: &mut B) { - WireFormat::write(&self.bias_coeff, buf); - WireFormat::write(&self.drift_coeff, buf); - WireFormat::write(&self.drift_rate_coeff, buf); - WireFormat::write(&self.count_before, buf); - WireFormat::write(&self.tow_s, buf); - WireFormat::write(&self.wn, buf); - WireFormat::write(&self.ref_wn, buf); - WireFormat::write(&self.ref_dn, buf); - WireFormat::write(&self.count_after, buf); - } - fn parse_unchecked(buf: &mut B) -> Self { - MsgGpsLeapSecond { - sender_id: None, - bias_coeff: WireFormat::parse_unchecked(buf), - drift_coeff: WireFormat::parse_unchecked(buf), - drift_rate_coeff: WireFormat::parse_unchecked(buf), - count_before: WireFormat::parse_unchecked(buf), - tow_s: WireFormat::parse_unchecked(buf), - wn: WireFormat::parse_unchecked(buf), - ref_wn: WireFormat::parse_unchecked(buf), - ref_dn: WireFormat::parse_unchecked(buf), - count_after: WireFormat::parse_unchecked(buf), - } - } - } -} - pub mod msg_gps_time { #![allow(unused_imports)] @@ -2271,279 +2139,64 @@ pub mod msg_gps_time_gnss { } } -pub mod msg_itrf { +pub mod msg_pos_ecef { #![allow(unused_imports)] use super::*; use crate::messages::lib::*; - /// Reference Frame Transformation Parameter + + /// Single-point position in ECEF + /// + /// The position solution message reports absolute Earth Centered Earth Fixed + /// (ECEF) coordinates and the status (single point vs pseudo-absolute RTK) of + /// the position solution. If the rover receiver knows the surveyed position + /// of the base station and has an RTK solution, this reports a pseudo- + /// absolute position solution using the base station position and the rover's + /// RTK baseline vector. The full GPS time is given by the preceding + /// MSG_GPS_TIME with the matching time-of-week (tow). + /// #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[derive(Debug, Clone)] - pub struct MsgItrf { + pub struct MsgPosEcef { /// The message sender_id #[cfg_attr(feature = "serde", serde(skip_serializing))] pub sender_id: Option, - /// SSR IOD parameter. - #[cfg_attr(feature = "serde", serde(rename(serialize = "ssr_iod")))] - pub ssr_iod: u8, - /// Source-Name Counter N. - #[cfg_attr(feature = "serde", serde(rename(serialize = "sn_counter_n")))] - pub sn_counter_n: u8, - /// Source-Name - #[cfg_attr(feature = "serde", serde(rename(serialize = "sn")))] - pub sn: SbpString<[u8; 31], Unterminated>, - /// Target-Name Counter M. - #[cfg_attr(feature = "serde", serde(rename(serialize = "tn_counter_m")))] - pub tn_counter_m: u8, - /// Target-Name - #[cfg_attr(feature = "serde", serde(rename(serialize = "tn")))] - pub tn: SbpString<[u8; 31], Unterminated>, - /// System Identification Number. - #[cfg_attr(feature = "serde", serde(rename(serialize = "sin")))] - pub sin: u8, - /// Utilized Transformation Message. - #[cfg_attr(feature = "serde", serde(rename(serialize = "utn")))] - pub utn: u16, - /// Reference Epoch t0 for transformation parameter set given as Modified - /// Julian Day (MDJ) Number minus 44244 days. - #[cfg_attr(feature = "serde", serde(rename(serialize = "re_t0")))] - pub re_t0: u16, - /// Translation in X for Reference Epoch t0. - #[cfg_attr(feature = "serde", serde(rename(serialize = "delta_X0")))] - pub delta_x0: i32, - /// Translation in Y for Reference Epoch t0. - #[cfg_attr(feature = "serde", serde(rename(serialize = "delta_Y0")))] - pub delta_y0: i32, - /// Translation in Z for Reference Epoch t0. - #[cfg_attr(feature = "serde", serde(rename(serialize = "delta_Z0")))] - pub delta_z0: i32, - /// Rotation around the X-axis for Reference Epoch t0. - #[cfg_attr(feature = "serde", serde(rename(serialize = "theta_01")))] - pub theta_01: i32, - /// Rotation around the Y-axis for Reference Epoch t0. - #[cfg_attr(feature = "serde", serde(rename(serialize = "theta_02")))] - pub theta_02: i32, - /// Rotation around the Z-axis for Reference Epoch t0. - #[cfg_attr(feature = "serde", serde(rename(serialize = "theta_03")))] - pub theta_03: i32, - /// Scale correction for Reference Epoch t0. - #[cfg_attr(feature = "serde", serde(rename(serialize = "scale")))] - pub scale: i32, - /// Rate of change of translation in X. - #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_delta_X0")))] - pub dot_delta_x0: i32, - /// Rate of change of translation in Y. - #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_delta_Y0")))] - pub dot_delta_y0: i32, - /// Rate of change of translation in Z. - #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_delta_Z0")))] - pub dot_delta_z0: i32, - /// Rate of change of rotation around the X-axis. - #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_theta_01")))] - pub dot_theta_01: i32, - /// Rate of change of rotation around the Y-axis. - #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_theta_02")))] - pub dot_theta_02: i32, - /// Rate of change of rotation around the Z-axis. - #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_theta_03")))] - pub dot_theta_03: i32, - /// Rate of change of scale correction. - #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_scale")))] - pub dot_scale: i16, - } - - impl ConcreteMessage for MsgItrf { - const MESSAGE_TYPE: u16 = 580; - const MESSAGE_NAME: &'static str = "MSG_ITRF"; + /// GPS Time of Week + #[cfg_attr(feature = "serde", serde(rename(serialize = "tow")))] + pub tow: u32, + /// ECEF X coordinate + #[cfg_attr(feature = "serde", serde(rename(serialize = "x")))] + pub x: f64, + /// ECEF Y coordinate + #[cfg_attr(feature = "serde", serde(rename(serialize = "y")))] + pub y: f64, + /// ECEF Z coordinate + #[cfg_attr(feature = "serde", serde(rename(serialize = "z")))] + pub z: f64, + /// Position estimated standard deviation + #[cfg_attr(feature = "serde", serde(rename(serialize = "accuracy")))] + pub accuracy: u16, + /// Number of satellites used in solution + #[cfg_attr(feature = "serde", serde(rename(serialize = "n_sats")))] + pub n_sats: u8, + /// Status flags + #[cfg_attr(feature = "serde", serde(rename(serialize = "flags")))] + pub flags: u8, } - impl SbpMessage for MsgItrf { - 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); + impl MsgPosEcef { + /// Gets the [TowType][self::TowType] stored in the `flags` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `TowType` 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 `TowType` were added. + pub fn tow_type(&self) -> Result { + get_bit_range!(self.flags, u8, u8, 5, 5).try_into() } - fn encoded_len(&self) -> usize { - WireFormat::len(self) + crate::HEADER_LEN + crate::CRC_LEN - } - } - - impl TryFrom for MsgItrf { - type Error = TryFromSbpError; - fn try_from(msg: Sbp) -> Result { - match msg { - Sbp::MsgItrf(m) => Ok(m), - _ => Err(TryFromSbpError), - } - } - } - - impl WireFormat for MsgItrf { - const MIN_LEN: usize = ::MIN_LEN - + ::MIN_LEN - + as WireFormat>::MIN_LEN - + ::MIN_LEN - + as WireFormat>::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN - + ::MIN_LEN; - fn len(&self) -> usize { - WireFormat::len(&self.ssr_iod) - + WireFormat::len(&self.sn_counter_n) - + WireFormat::len(&self.sn) - + WireFormat::len(&self.tn_counter_m) - + WireFormat::len(&self.tn) - + WireFormat::len(&self.sin) - + WireFormat::len(&self.utn) - + WireFormat::len(&self.re_t0) - + WireFormat::len(&self.delta_x0) - + WireFormat::len(&self.delta_y0) - + WireFormat::len(&self.delta_z0) - + WireFormat::len(&self.theta_01) - + WireFormat::len(&self.theta_02) - + WireFormat::len(&self.theta_03) - + WireFormat::len(&self.scale) - + WireFormat::len(&self.dot_delta_x0) - + WireFormat::len(&self.dot_delta_y0) - + WireFormat::len(&self.dot_delta_z0) - + WireFormat::len(&self.dot_theta_01) - + WireFormat::len(&self.dot_theta_02) - + WireFormat::len(&self.dot_theta_03) - + WireFormat::len(&self.dot_scale) - } - fn write(&self, buf: &mut B) { - WireFormat::write(&self.ssr_iod, buf); - WireFormat::write(&self.sn_counter_n, buf); - WireFormat::write(&self.sn, buf); - WireFormat::write(&self.tn_counter_m, buf); - WireFormat::write(&self.tn, buf); - WireFormat::write(&self.sin, buf); - WireFormat::write(&self.utn, buf); - WireFormat::write(&self.re_t0, buf); - WireFormat::write(&self.delta_x0, buf); - WireFormat::write(&self.delta_y0, buf); - WireFormat::write(&self.delta_z0, buf); - WireFormat::write(&self.theta_01, buf); - WireFormat::write(&self.theta_02, buf); - WireFormat::write(&self.theta_03, buf); - WireFormat::write(&self.scale, buf); - WireFormat::write(&self.dot_delta_x0, buf); - WireFormat::write(&self.dot_delta_y0, buf); - WireFormat::write(&self.dot_delta_z0, buf); - WireFormat::write(&self.dot_theta_01, buf); - WireFormat::write(&self.dot_theta_02, buf); - WireFormat::write(&self.dot_theta_03, buf); - WireFormat::write(&self.dot_scale, buf); - } - fn parse_unchecked(buf: &mut B) -> Self { - MsgItrf { - sender_id: None, - ssr_iod: WireFormat::parse_unchecked(buf), - sn_counter_n: WireFormat::parse_unchecked(buf), - sn: WireFormat::parse_unchecked(buf), - tn_counter_m: WireFormat::parse_unchecked(buf), - tn: WireFormat::parse_unchecked(buf), - sin: WireFormat::parse_unchecked(buf), - utn: WireFormat::parse_unchecked(buf), - re_t0: WireFormat::parse_unchecked(buf), - delta_x0: WireFormat::parse_unchecked(buf), - delta_y0: WireFormat::parse_unchecked(buf), - delta_z0: WireFormat::parse_unchecked(buf), - theta_01: WireFormat::parse_unchecked(buf), - theta_02: WireFormat::parse_unchecked(buf), - theta_03: WireFormat::parse_unchecked(buf), - scale: WireFormat::parse_unchecked(buf), - dot_delta_x0: WireFormat::parse_unchecked(buf), - dot_delta_y0: WireFormat::parse_unchecked(buf), - dot_delta_z0: WireFormat::parse_unchecked(buf), - dot_theta_01: WireFormat::parse_unchecked(buf), - dot_theta_02: WireFormat::parse_unchecked(buf), - dot_theta_03: WireFormat::parse_unchecked(buf), - dot_scale: WireFormat::parse_unchecked(buf), - } - } - } -} - -pub mod msg_pos_ecef { - #![allow(unused_imports)] - - use super::*; - use crate::messages::lib::*; - - /// Single-point position in ECEF - /// - /// The position solution message reports absolute Earth Centered Earth Fixed - /// (ECEF) coordinates and the status (single point vs pseudo-absolute RTK) of - /// the position solution. If the rover receiver knows the surveyed position - /// of the base station and has an RTK solution, this reports a pseudo- - /// absolute position solution using the base station position and the rover's - /// RTK baseline vector. The full GPS time is given by the preceding - /// MSG_GPS_TIME with the matching time-of-week (tow). - /// - #[cfg_attr(feature = "serde", derive(serde::Serialize))] - #[derive(Debug, Clone)] - pub struct MsgPosEcef { - /// The message sender_id - #[cfg_attr(feature = "serde", serde(skip_serializing))] - pub sender_id: Option, - /// GPS Time of Week - #[cfg_attr(feature = "serde", serde(rename(serialize = "tow")))] - pub tow: u32, - /// ECEF X coordinate - #[cfg_attr(feature = "serde", serde(rename(serialize = "x")))] - pub x: f64, - /// ECEF Y coordinate - #[cfg_attr(feature = "serde", serde(rename(serialize = "y")))] - pub y: f64, - /// ECEF Z coordinate - #[cfg_attr(feature = "serde", serde(rename(serialize = "z")))] - pub z: f64, - /// Position estimated standard deviation - #[cfg_attr(feature = "serde", serde(rename(serialize = "accuracy")))] - pub accuracy: u16, - /// Number of satellites used in solution - #[cfg_attr(feature = "serde", serde(rename(serialize = "n_sats")))] - pub n_sats: u8, - /// Status flags - #[cfg_attr(feature = "serde", serde(rename(serialize = "flags")))] - pub flags: u8, - } - - impl MsgPosEcef { - /// Gets the [TowType][self::TowType] stored in the `flags` bitfield. - /// - /// Returns `Ok` if the bitrange contains a known `TowType` 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 `TowType` were added. - pub fn tow_type(&self) -> Result { - get_bit_range!(self.flags, u8, u8, 5, 5).try_into() - } - - /// Set the bitrange corresponding to the [TowType][TowType] of the `flags` bitfield. - pub fn set_tow_type(&mut self, tow_type: TowType) { - set_bit_range!(&mut self.flags, tow_type, u8, u8, 5, 5); + + /// Set the bitrange corresponding to the [TowType][TowType] of the `flags` bitfield. + pub fn set_tow_type(&mut self, tow_type: TowType) { + set_bit_range!(&mut self.flags, tow_type, u8, u8, 5, 5); } /// Gets the [InertialNavigationMode][self::InertialNavigationMode] stored in the `flags` bitfield. @@ -6341,6 +5994,353 @@ pub mod msg_protection_level_dep_a { } } +pub mod msg_reference_frame_param { + #![allow(unused_imports)] + + use super::*; + use crate::messages::lib::*; + /// Reference Frame Transformation Parameter + #[cfg_attr(feature = "serde", derive(serde::Serialize))] + #[derive(Debug, Clone)] + pub struct MsgReferenceFrameParam { + /// The message sender_id + #[cfg_attr(feature = "serde", serde(skip_serializing))] + pub sender_id: Option, + /// SSR IOD parameter. + #[cfg_attr(feature = "serde", serde(rename(serialize = "ssr_iod")))] + pub ssr_iod: u8, + /// Source-Name Counter N. + #[cfg_attr(feature = "serde", serde(rename(serialize = "sn_counter_n")))] + pub sn_counter_n: u8, + /// Source-Name + #[cfg_attr(feature = "serde", serde(rename(serialize = "sn")))] + pub sn: SbpString<[u8; 31], Unterminated>, + /// Target-Name Counter M. + #[cfg_attr(feature = "serde", serde(rename(serialize = "tn_counter_m")))] + pub tn_counter_m: u8, + /// Target-Name + #[cfg_attr(feature = "serde", serde(rename(serialize = "tn")))] + pub tn: SbpString<[u8; 31], Unterminated>, + /// System Identification Number. + #[cfg_attr(feature = "serde", serde(rename(serialize = "sin")))] + pub sin: u8, + /// Utilized Transformation Message. + #[cfg_attr(feature = "serde", serde(rename(serialize = "utn")))] + pub utn: u16, + /// Reference Epoch t0 for transformation parameter set given as Modified + /// Julian Day (MDJ) Number minus 44244 days. + #[cfg_attr(feature = "serde", serde(rename(serialize = "re_t0")))] + pub re_t0: u16, + /// Translation in X for Reference Epoch t0. + #[cfg_attr(feature = "serde", serde(rename(serialize = "delta_X0")))] + pub delta_x0: i32, + /// Translation in Y for Reference Epoch t0. + #[cfg_attr(feature = "serde", serde(rename(serialize = "delta_Y0")))] + pub delta_y0: i32, + /// Translation in Z for Reference Epoch t0. + #[cfg_attr(feature = "serde", serde(rename(serialize = "delta_Z0")))] + pub delta_z0: i32, + /// Rotation around the X-axis for Reference Epoch t0. + #[cfg_attr(feature = "serde", serde(rename(serialize = "theta_01")))] + pub theta_01: i32, + /// Rotation around the Y-axis for Reference Epoch t0. + #[cfg_attr(feature = "serde", serde(rename(serialize = "theta_02")))] + pub theta_02: i32, + /// Rotation around the Z-axis for Reference Epoch t0. + #[cfg_attr(feature = "serde", serde(rename(serialize = "theta_03")))] + pub theta_03: i32, + /// Scale correction for Reference Epoch t0. + #[cfg_attr(feature = "serde", serde(rename(serialize = "scale")))] + pub scale: i32, + /// Rate of change of translation in X. + #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_delta_X0")))] + pub dot_delta_x0: i32, + /// Rate of change of translation in Y. + #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_delta_Y0")))] + pub dot_delta_y0: i32, + /// Rate of change of translation in Z. + #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_delta_Z0")))] + pub dot_delta_z0: i32, + /// Rate of change of rotation around the X-axis. + #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_theta_01")))] + pub dot_theta_01: i32, + /// Rate of change of rotation around the Y-axis. + #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_theta_02")))] + pub dot_theta_02: i32, + /// Rate of change of rotation around the Z-axis. + #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_theta_03")))] + pub dot_theta_03: i32, + /// Rate of change of scale correction. + #[cfg_attr(feature = "serde", serde(rename(serialize = "dot_scale")))] + pub dot_scale: i16, + } + + impl ConcreteMessage for MsgReferenceFrameParam { + const MESSAGE_TYPE: u16 = 580; + const MESSAGE_NAME: &'static str = "MSG_REFERENCE_FRAME_PARAM"; + } + + impl SbpMessage for MsgReferenceFrameParam { + 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 TryFrom for MsgReferenceFrameParam { + type Error = TryFromSbpError; + fn try_from(msg: Sbp) -> Result { + match msg { + Sbp::MsgReferenceFrameParam(m) => Ok(m), + _ => Err(TryFromSbpError), + } + } + } + + impl WireFormat for MsgReferenceFrameParam { + const MIN_LEN: usize = ::MIN_LEN + + ::MIN_LEN + + as WireFormat>::MIN_LEN + + ::MIN_LEN + + as WireFormat>::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN; + fn len(&self) -> usize { + WireFormat::len(&self.ssr_iod) + + WireFormat::len(&self.sn_counter_n) + + WireFormat::len(&self.sn) + + WireFormat::len(&self.tn_counter_m) + + WireFormat::len(&self.tn) + + WireFormat::len(&self.sin) + + WireFormat::len(&self.utn) + + WireFormat::len(&self.re_t0) + + WireFormat::len(&self.delta_x0) + + WireFormat::len(&self.delta_y0) + + WireFormat::len(&self.delta_z0) + + WireFormat::len(&self.theta_01) + + WireFormat::len(&self.theta_02) + + WireFormat::len(&self.theta_03) + + WireFormat::len(&self.scale) + + WireFormat::len(&self.dot_delta_x0) + + WireFormat::len(&self.dot_delta_y0) + + WireFormat::len(&self.dot_delta_z0) + + WireFormat::len(&self.dot_theta_01) + + WireFormat::len(&self.dot_theta_02) + + WireFormat::len(&self.dot_theta_03) + + WireFormat::len(&self.dot_scale) + } + fn write(&self, buf: &mut B) { + WireFormat::write(&self.ssr_iod, buf); + WireFormat::write(&self.sn_counter_n, buf); + WireFormat::write(&self.sn, buf); + WireFormat::write(&self.tn_counter_m, buf); + WireFormat::write(&self.tn, buf); + WireFormat::write(&self.sin, buf); + WireFormat::write(&self.utn, buf); + WireFormat::write(&self.re_t0, buf); + WireFormat::write(&self.delta_x0, buf); + WireFormat::write(&self.delta_y0, buf); + WireFormat::write(&self.delta_z0, buf); + WireFormat::write(&self.theta_01, buf); + WireFormat::write(&self.theta_02, buf); + WireFormat::write(&self.theta_03, buf); + WireFormat::write(&self.scale, buf); + WireFormat::write(&self.dot_delta_x0, buf); + WireFormat::write(&self.dot_delta_y0, buf); + WireFormat::write(&self.dot_delta_z0, buf); + WireFormat::write(&self.dot_theta_01, buf); + WireFormat::write(&self.dot_theta_02, buf); + WireFormat::write(&self.dot_theta_03, buf); + WireFormat::write(&self.dot_scale, buf); + } + fn parse_unchecked(buf: &mut B) -> Self { + MsgReferenceFrameParam { + sender_id: None, + ssr_iod: WireFormat::parse_unchecked(buf), + sn_counter_n: WireFormat::parse_unchecked(buf), + sn: WireFormat::parse_unchecked(buf), + tn_counter_m: WireFormat::parse_unchecked(buf), + tn: WireFormat::parse_unchecked(buf), + sin: WireFormat::parse_unchecked(buf), + utn: WireFormat::parse_unchecked(buf), + re_t0: WireFormat::parse_unchecked(buf), + delta_x0: WireFormat::parse_unchecked(buf), + delta_y0: WireFormat::parse_unchecked(buf), + delta_z0: WireFormat::parse_unchecked(buf), + theta_01: WireFormat::parse_unchecked(buf), + theta_02: WireFormat::parse_unchecked(buf), + theta_03: WireFormat::parse_unchecked(buf), + scale: WireFormat::parse_unchecked(buf), + dot_delta_x0: WireFormat::parse_unchecked(buf), + dot_delta_y0: WireFormat::parse_unchecked(buf), + dot_delta_z0: WireFormat::parse_unchecked(buf), + dot_theta_01: WireFormat::parse_unchecked(buf), + dot_theta_02: WireFormat::parse_unchecked(buf), + dot_theta_03: WireFormat::parse_unchecked(buf), + dot_scale: WireFormat::parse_unchecked(buf), + } + } + } +} + +pub mod msg_utc_leap_second { + #![allow(unused_imports)] + + use super::*; + use crate::messages::lib::*; + + /// Leap second SBP message. + + /// + /// Emulates the GPS CNAV message, reserving bytes for future broadcast of the + /// drift model parameters. + /// + #[cfg_attr(feature = "serde", derive(serde::Serialize))] + #[derive(Debug, Clone)] + pub struct MsgUtcLeapSecond { + /// The message sender_id + #[cfg_attr(feature = "serde", serde(skip_serializing))] + pub sender_id: Option, + /// Reserved. Bias coefficient of GPS time scale with respect to UTC drift + /// model. + #[cfg_attr(feature = "serde", serde(rename(serialize = "bias_coeff")))] + pub bias_coeff: i16, + /// Reserved. Drift coefficient of GPS time scale with respect to UTC drift + /// model. + #[cfg_attr(feature = "serde", serde(rename(serialize = "drift_coeff")))] + pub drift_coeff: i16, + /// Reserved. Drift rate correction coefficient of GPS time scale with + /// respect to UTC drift model. + #[cfg_attr(feature = "serde", serde(rename(serialize = "drift_rate_coeff")))] + pub drift_rate_coeff: i8, + /// Leap second count before insertion. + #[cfg_attr(feature = "serde", serde(rename(serialize = "count_before")))] + pub count_before: i8, + /// Reserved. Drift model reference week second. + #[cfg_attr(feature = "serde", serde(rename(serialize = "tow_s")))] + pub tow_s: u16, + /// Reserved. Drift model reference week number. + #[cfg_attr(feature = "serde", serde(rename(serialize = "wn")))] + pub wn: u16, + /// Leap second reference week number. + #[cfg_attr(feature = "serde", serde(rename(serialize = "ref_wn")))] + pub ref_wn: u16, + /// Leap second reference day number. + #[cfg_attr(feature = "serde", serde(rename(serialize = "ref_dn")))] + pub ref_dn: u8, + /// Leap second count after insertion. + #[cfg_attr(feature = "serde", serde(rename(serialize = "count_after")))] + pub count_after: i8, + } + + impl ConcreteMessage for MsgUtcLeapSecond { + const MESSAGE_TYPE: u16 = 570; + const MESSAGE_NAME: &'static str = "MSG_UTC_LEAP_SECOND"; + } + + impl SbpMessage for MsgUtcLeapSecond { + 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 TryFrom for MsgUtcLeapSecond { + type Error = TryFromSbpError; + fn try_from(msg: Sbp) -> Result { + match msg { + Sbp::MsgUtcLeapSecond(m) => Ok(m), + _ => Err(TryFromSbpError), + } + } + } + + impl WireFormat for MsgUtcLeapSecond { + const MIN_LEN: usize = ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN; + fn len(&self) -> usize { + WireFormat::len(&self.bias_coeff) + + WireFormat::len(&self.drift_coeff) + + WireFormat::len(&self.drift_rate_coeff) + + WireFormat::len(&self.count_before) + + WireFormat::len(&self.tow_s) + + WireFormat::len(&self.wn) + + WireFormat::len(&self.ref_wn) + + WireFormat::len(&self.ref_dn) + + WireFormat::len(&self.count_after) + } + fn write(&self, buf: &mut B) { + WireFormat::write(&self.bias_coeff, buf); + WireFormat::write(&self.drift_coeff, buf); + WireFormat::write(&self.drift_rate_coeff, buf); + WireFormat::write(&self.count_before, buf); + WireFormat::write(&self.tow_s, buf); + WireFormat::write(&self.wn, buf); + WireFormat::write(&self.ref_wn, buf); + WireFormat::write(&self.ref_dn, buf); + WireFormat::write(&self.count_after, buf); + } + fn parse_unchecked(buf: &mut B) -> Self { + MsgUtcLeapSecond { + sender_id: None, + bias_coeff: WireFormat::parse_unchecked(buf), + drift_coeff: WireFormat::parse_unchecked(buf), + drift_rate_coeff: WireFormat::parse_unchecked(buf), + count_before: WireFormat::parse_unchecked(buf), + tow_s: WireFormat::parse_unchecked(buf), + wn: WireFormat::parse_unchecked(buf), + ref_wn: WireFormat::parse_unchecked(buf), + ref_dn: WireFormat::parse_unchecked(buf), + count_after: WireFormat::parse_unchecked(buf), + } + } + } +} + pub mod msg_utc_time { #![allow(unused_imports)] diff --git a/rust/sbp/src/messages/ssr.rs b/rust/sbp/src/messages/ssr.rs index 6b1292ea6e..d7f35d263a 100644 --- a/rust/sbp/src/messages/ssr.rs +++ b/rust/sbp/src/messages/ssr.rs @@ -1328,8 +1328,11 @@ pub mod msg_ssr_orbit_clock_bounds { /// Combined Orbit and Clock Bound /// - /// Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + /// Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, mean=5+0.5(i-230). + /// + /// Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, std=5+0.5(i-230). /// #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[derive(Debug, Clone)] @@ -1443,7 +1446,8 @@ pub mod msg_ssr_orbit_clock_bounds_degradation { #[cfg_attr(feature = "serde", serde(rename(serialize = "const_id")))] pub const_id: u8, /// Satellite Bit Mask. Put 1 for each satellite where the following - /// degradation parameters are applicable, 0 otherwise. + /// degradation parameters are applicable, 0 otherwise. Encoded following + /// RTCM DF394 specification. #[cfg_attr(feature = "serde", serde(rename(serialize = "sat_bitmask")))] pub sat_bitmask: u64, /// Orbit and Clock Bounds Degradation Parameters @@ -2521,19 +2525,19 @@ pub mod orbit_clock_bound { /// Mean Cross-Track. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_cross_bound_mu")))] pub orb_cross_bound_mu: u8, - /// Standard Deviation Radial. See Note 1. + /// Standard Deviation Radial. See Note 2. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_radial_bound_sig")))] pub orb_radial_bound_sig: u8, - /// Standard Deviation Along-Track. See Note 1. + /// Standard Deviation Along-Track. See Note 2. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_along_bound_sig")))] pub orb_along_bound_sig: u8, - /// Standard Deviation Cross-Track. See Note 1. + /// Standard Deviation Cross-Track. See Note 2. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_cross_bound_sig")))] pub orb_cross_bound_sig: u8, /// Clock Bound Mean. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "clock_bound_mu")))] pub clock_bound_mu: u8, - /// Clock Bound Standard Deviation. See Note 1. + /// Clock Bound Standard Deviation. See Note 2. #[cfg_attr(feature = "serde", serde(rename(serialize = "clock_bound_sig")))] pub clock_bound_sig: u8, } diff --git a/rust/sbp/tests/integration/auto_check_sbp_navigation_msg_itrf.rs b/rust/sbp/tests/integration/auto_check_sbp_navigation_msg_reference_frame_param.rs similarity index 95% rename from rust/sbp/tests/integration/auto_check_sbp_navigation_msg_itrf.rs rename to rust/sbp/tests/integration/auto_check_sbp_navigation_msg_reference_frame_param.rs index 0a001b9642f550a4d0ebe3f91094ddf4e4baa84a..0f3690bba650222d325068e50b491613d957eafa 100644 GIT binary patch delta 125 zcmdmE^2=m{8Iy2OYFcVhYF=`xTTxJYixX*6WC&ev6_BBvIYQbcP+mF delta 59 zcmexmvd3hD854_VNm1HlPo`{^Odw { + sbp::messages::Sbp::MsgUtcLeapSecond(msg) => { assert_eq!( msg.message_type(), 570, @@ -87,7 +87,7 @@ fn test_auto_check_sbp_navigation_msg_gps_leap_second() { msg.wn ); } - _ => panic!("Invalid message type! Expected a MsgGPSLeapSecond"), + _ => panic!("Invalid message type! Expected a MsgUtcLeapSecond"), }; 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 1ccc5b3dbc..b0f8b2e455 100644 --- a/rust/sbp/tests/integration/main.rs +++ b/rust/sbp/tests/integration/main.rs @@ -34,11 +34,9 @@ mod auto_check_sbp_navigation_msg_baseline_ned; mod auto_check_sbp_navigation_msg_baseline_ned_dep_a; mod auto_check_sbp_navigation_msg_dops; mod auto_check_sbp_navigation_msg_dops_dep_a; -mod auto_check_sbp_navigation_msg_gps_leap_second; mod auto_check_sbp_navigation_msg_gps_time; mod auto_check_sbp_navigation_msg_gps_time_dep_a; mod auto_check_sbp_navigation_msg_gps_time_gnss; -mod auto_check_sbp_navigation_msg_itrf; mod auto_check_sbp_navigation_msg_pos_ecef; mod auto_check_sbp_navigation_msg_pos_ecef_cov; mod auto_check_sbp_navigation_msg_pos_ecef_cov_gnss; @@ -50,6 +48,8 @@ mod auto_check_sbp_navigation_msg_pos_llh_cov_gnss; mod auto_check_sbp_navigation_msg_pos_llh_dep_a; mod auto_check_sbp_navigation_msg_pos_llh_gnss; mod auto_check_sbp_navigation_msg_protection_level; +mod auto_check_sbp_navigation_msg_reference_frame_param; +mod auto_check_sbp_navigation_msg_utc_leap_second; mod auto_check_sbp_navigation_msg_utc_time; mod auto_check_sbp_navigation_msg_utc_time_gnss; mod auto_check_sbp_navigation_msg_vel_body; diff --git a/sbpjson/elm/SbpJson.elm b/sbpjson/elm/SbpJson.elm index f92192b5ca..1ca2d8ba20 100644 --- a/sbpjson/elm/SbpJson.elm +++ b/sbpjson/elm/SbpJson.elm @@ -5,7 +5,7 @@ -- add these imports -- -- import Json.Decode exposing (decodeString)`); --- import SbpJson exposing (acqSvProfile, almanacCommonContent, boundsHeader, carrierPhase, codeBiasesContent, codePhaseBiasesSatSig, doppler, ephemerisCommonContent, estimatedHorizontalErrorEllipse, gnssInputType, gnssCapb, gnssSignal, gpsTime, gpsTimeSEC, gridElement, gridElementNoStd, griddedCorrectionHeader, imuInputType, integritySSRHeader, latency, measurementState, msgAcqResult, msgAcqSvProfile, msgAgeCorrections, msgAlmanac, msgAlmanacGPS, msgAlmanacGlo, msgAngularRate, msgBasePosECEF, msgBasePosLLH, msgBaselineECEF, msgBaselineHeading, msgBaselineNED, msgBootloaderHandshakeReq, msgBootloaderHandshakeResp, msgBootloaderJumpToApp, msgCellModemStatus, msgCommandOutput, msgCommandReq, msgCommandResp, msgCsacTelemetry, msgCsacTelemetryLabels, msgCwResults, msgCwStart, msgDeviceMonitor, msgDgnssStatus, msgDops, msgEphemerisBds, msgEphemerisGPS, msgEphemerisGal, msgEphemerisGlo, msgEphemerisQzss, msgEphemerisSbas, msgEXTEvent, msgFileioConfigReq, msgFileioConfigResp, msgFileioReadDirReq, msgFileioReadDirResp, msgFileioReadReq, msgFileioReadResp, msgFileioRemove, msgFileioWriteReq, msgFileioWriteResp, msgFlashDone, msgFlashErase, msgFlashProgram, msgFlashReadReq, msgFlashReadResp, msgFrontEndGain, msgFwd, msgGPSLeapSecond, msgGPSTime, msgGPSTimeGnss, msgGloBiases, msgGnssCapb, msgGnssTimeOffset, msgGroupDelay, msgGroupMeta, msgHeartbeat, msgIarState, msgImuAux, msgImuRaw, msgInsStatus, msgInsUpdates, msgIono, msgItrf, msgLinuxCPUState, msgLinuxMemState, msgLinuxProcessFdCount, msgLinuxProcessFdSummary, msgLinuxProcessSocketCounts, msgLinuxProcessSocketQueues, msgLinuxSocketUsage, msgLinuxSysState, msgLog, msgM25FlashWriteStatus, msgMagRaw, msgMaskSatellite, msgMeasurementState, msgNapDeviceDnaReq, msgNapDeviceDnaResp, msgNdbEvent, msgNetworkBandwidthUsage, msgNetworkStateReq, msgNetworkStateResp, msgObs, msgOdometry, msgOrientEuler, msgOrientQuat, msgOsr, msgPosECEF, msgPosECEFCov, msgPosECEFCovGnss, msgPosECEFGnss, msgPosLLH, msgPosLLHAcc, msgPosLLHCov, msgPosLLHCovGnss, msgPosLLHGnss, msgPpsTime, msgProtectionLevel, msgReset, msgResetFilters, msgSbasRaw, msgSensorAidEvent, msgSetTime, msgSettingsReadByIndexDone, msgSettingsReadByIndexReq, msgSettingsReadByIndexResp, msgSettingsReadReq, msgSettingsReadResp, msgSettingsRegister, msgSettingsRegisterResp, msgSettingsSave, msgSettingsWrite, msgSettingsWriteResp, msgSolnMeta, msgSpecan, msgSsrCodeBiases, msgSsrCodePhaseBiasesBounds, msgSsrFlagHighLevel, msgSsrFlagIonoGridPointSatLos, msgSsrFlagIonoGridPoints, msgSsrFlagIonoTileSatLos, msgSsrFlagSatellites, msgSsrFlagTropoGridPoints, msgSsrGriddedCorrection, msgSsrGriddedCorrectionBounds, msgSsrOrbitClock, msgSsrOrbitClockBounds, msgSsrOrbitClockBoundsDegradation, msgSsrPhaseBiases, msgSsrSatelliteApc, msgSsrStecCorrection, msgSsrTileDefinition, msgStartup, msgStatusJournal, msgStatusReport, msgStmFlashLockSector, msgStmFlashUnlockSector, msgStmUniqueIDReq, msgStmUniqueIDResp, msgSvAzEl, msgThreadState, msgTrackingIq, msgTrackingState, msgUARTState, msgUserData, msgUTCTime, msgUTCTimeGnss, msgVelBody, msgVelCog, msgVelECEF, msgVelECEFCov, msgVelECEFCovGnss, msgVelECEFGnss, msgVelNED, msgVelNEDCov, msgVelNEDCovGnss, msgVelNEDGnss, msgWheeltick, networkUsage, observationHeader, odoInputType, orbitClockBound, orbitClockBoundDegradation, packedObsContent, packedOsrContent, period, phaseBiasesContent, stecHeader, stecResidual, stecResidualNoStd, stecSatElement, stecSatElementIntegrity, satelliteAPC, solutionInputType, statusJournalItem, subSystemReport, svAzEl, svID, trackingChannelCorrelation, trackingChannelState, troposphericDelayCorrection, troposphericDelayCorrectionNoStd, uartChannel) +-- import SbpJson exposing (acqSvProfile, almanacCommonContent, boundsHeader, carrierPhase, codeBiasesContent, codePhaseBiasesSatSig, doppler, ephemerisCommonContent, estimatedHorizontalErrorEllipse, gnssInputType, gnssCapb, gnssSignal, gpsTime, gpsTimeSEC, gridElement, gridElementNoStd, griddedCorrectionHeader, imuInputType, integritySSRHeader, latency, measurementState, msgAcqResult, msgAcqSvProfile, msgAgeCorrections, msgAlmanac, msgAlmanacGPS, msgAlmanacGlo, msgAngularRate, msgBasePosECEF, msgBasePosLLH, msgBaselineECEF, msgBaselineHeading, msgBaselineNED, msgBootloaderHandshakeReq, msgBootloaderHandshakeResp, msgBootloaderJumpToApp, msgCellModemStatus, msgCommandOutput, msgCommandReq, msgCommandResp, msgCsacTelemetry, msgCsacTelemetryLabels, msgCwResults, msgCwStart, msgDeviceMonitor, msgDgnssStatus, msgDops, msgEphemerisBds, msgEphemerisGPS, msgEphemerisGal, msgEphemerisGlo, msgEphemerisQzss, msgEphemerisSbas, msgEXTEvent, msgFileioConfigReq, msgFileioConfigResp, msgFileioReadDirReq, msgFileioReadDirResp, msgFileioReadReq, msgFileioReadResp, msgFileioRemove, msgFileioWriteReq, msgFileioWriteResp, msgFlashDone, msgFlashErase, msgFlashProgram, msgFlashReadReq, msgFlashReadResp, msgFrontEndGain, msgFwd, msgGPSTime, msgGPSTimeGnss, msgGloBiases, msgGnssCapb, msgGnssTimeOffset, msgGroupDelay, msgGroupMeta, msgHeartbeat, msgIarState, msgImuAux, msgImuRaw, msgInsStatus, msgInsUpdates, msgIono, msgLinuxCPUState, msgLinuxMemState, msgLinuxProcessFdCount, msgLinuxProcessFdSummary, msgLinuxProcessSocketCounts, msgLinuxProcessSocketQueues, msgLinuxSocketUsage, msgLinuxSysState, msgLog, msgM25FlashWriteStatus, msgMagRaw, msgMaskSatellite, msgMeasurementState, msgNapDeviceDnaReq, msgNapDeviceDnaResp, msgNdbEvent, msgNetworkBandwidthUsage, msgNetworkStateReq, msgNetworkStateResp, msgObs, msgOdometry, msgOrientEuler, msgOrientQuat, msgOsr, msgPosECEF, msgPosECEFCov, msgPosECEFCovGnss, msgPosECEFGnss, msgPosLLH, msgPosLLHAcc, msgPosLLHCov, msgPosLLHCovGnss, msgPosLLHGnss, msgPpsTime, msgProtectionLevel, msgReferenceFrameParam, msgReset, msgResetFilters, msgSbasRaw, msgSensorAidEvent, msgSetTime, msgSettingsReadByIndexDone, msgSettingsReadByIndexReq, msgSettingsReadByIndexResp, msgSettingsReadReq, msgSettingsReadResp, msgSettingsRegister, msgSettingsRegisterResp, msgSettingsSave, msgSettingsWrite, msgSettingsWriteResp, msgSolnMeta, msgSpecan, msgSsrCodeBiases, msgSsrCodePhaseBiasesBounds, msgSsrFlagHighLevel, msgSsrFlagIonoGridPointSatLos, msgSsrFlagIonoGridPoints, msgSsrFlagIonoTileSatLos, msgSsrFlagSatellites, msgSsrFlagTropoGridPoints, msgSsrGriddedCorrection, msgSsrGriddedCorrectionBounds, msgSsrOrbitClock, msgSsrOrbitClockBounds, msgSsrOrbitClockBoundsDegradation, msgSsrPhaseBiases, msgSsrSatelliteApc, msgSsrStecCorrection, msgSsrTileDefinition, msgStartup, msgStatusJournal, msgStatusReport, msgStmFlashLockSector, msgStmFlashUnlockSector, msgStmUniqueIDReq, msgStmUniqueIDResp, msgSvAzEl, msgThreadState, msgTrackingIq, msgTrackingState, msgUARTState, msgUserData, msgUTCLeapSecond, msgUTCTime, msgUTCTimeGnss, msgVelBody, msgVelCog, msgVelECEF, msgVelECEFCov, msgVelECEFCovGnss, msgVelECEFGnss, msgVelNED, msgVelNEDCov, msgVelNEDCovGnss, msgVelNEDGnss, msgWheeltick, networkUsage, observationHeader, odoInputType, orbitClockBound, orbitClockBoundDegradation, packedObsContent, packedOsrContent, period, phaseBiasesContent, stecHeader, stecResidual, stecResidualNoStd, stecSatElement, stecSatElementIntegrity, satelliteAPC, solutionInputType, statusJournalItem, subSystemReport, svAzEl, svID, trackingChannelCorrelation, trackingChannelState, troposphericDelayCorrection, troposphericDelayCorrectionNoStd, uartChannel) -- -- and you're off to the races with -- @@ -79,7 +79,6 @@ -- decodeString msgFlashReadResp myJsonString -- decodeString msgFrontEndGain myJsonString -- decodeString msgFwd myJsonString --- decodeString msgGPSLeapSecond myJsonString -- decodeString msgGPSTime myJsonString -- decodeString msgGPSTimeGnss myJsonString -- decodeString msgGloBiases myJsonString @@ -94,7 +93,6 @@ -- decodeString msgInsStatus myJsonString -- decodeString msgInsUpdates myJsonString -- decodeString msgIono myJsonString --- decodeString msgItrf myJsonString -- decodeString msgLinuxCPUState myJsonString -- decodeString msgLinuxMemState myJsonString -- decodeString msgLinuxProcessFdCount myJsonString @@ -130,6 +128,7 @@ -- decodeString msgPosLLHGnss myJsonString -- decodeString msgPpsTime myJsonString -- decodeString msgProtectionLevel myJsonString +-- decodeString msgReferenceFrameParam myJsonString -- decodeString msgReset myJsonString -- decodeString msgResetFilters myJsonString -- decodeString msgSbasRaw myJsonString @@ -177,6 +176,7 @@ -- decodeString msgTrackingState myJsonString -- decodeString msgUARTState myJsonString -- decodeString msgUserData myJsonString +-- decodeString msgUTCLeapSecond myJsonString -- decodeString msgUTCTime myJsonString -- decodeString msgUTCTimeGnss myJsonString -- decodeString msgVelBody myJsonString @@ -427,9 +427,6 @@ module SbpJson exposing , MsgFwd , msgFwdToString , msgFwd - , MsgGPSLeapSecond - , msgGPSLeapSecondToString - , msgGPSLeapSecond , MsgGPSTime , msgGPSTimeToString , msgGPSTime @@ -472,9 +469,6 @@ module SbpJson exposing , MsgIono , msgIonoToString , msgIono - , MsgItrf - , msgItrfToString - , msgItrf , MsgLinuxCPUState , msgLinuxCPUStateToString , msgLinuxCPUState @@ -580,6 +574,9 @@ module SbpJson exposing , MsgProtectionLevel , msgProtectionLevelToString , msgProtectionLevel + , MsgReferenceFrameParam + , msgReferenceFrameParamToString + , msgReferenceFrameParam , MsgReset , msgResetToString , msgReset @@ -721,6 +718,9 @@ module SbpJson exposing , MsgUserData , msgUserDataToString , msgUserData + , MsgUTCLeapSecond + , msgUTCLeapSecondToString + , msgUTCLeapSecond , MsgUTCTime , msgUTCTimeToString , msgUTCTime @@ -1553,21 +1553,6 @@ type alias MsgFwd = , source : Int } -{-| Emulates the GPS CNAV message, reserving bytes for future broadcast of the drift model -parameters. --} -type alias MsgGPSLeapSecond = - { biasCoeff : Int - , countAfter : Int - , countBefore : Int - , driftCoeff : Int - , driftRateCoeff : Int - , refDN : Int - , refWn : Int - , towS : Int - , wn : Int - } - {-| This message reports the GPS time, representing the time since the GPS epoch began on midnight January 6, 1980 UTC. GPS time counts the weeks and seconds of the week. The weeks begin at the Saturday/Sunday transition. GPS week 0 began at the beginning of the @@ -1758,31 +1743,6 @@ type alias MsgIono = , tNmct : GpsTimeSEC } -type alias MsgItrf = - { deltaX0 : Int - , deltaY0 : Int - , deltaZ0 : Int - , dotDeltaX0 : Int - , dotDeltaY0 : Int - , dotDeltaZ0 : Int - , dotScale : Int - , dotTheta01 : Int - , dotTheta02 : Int - , dotTheta03 : Int - , reT0 : Int - , scale : Int - , sin : Int - , sn : String - , snCounterN : Int - , ssrIod : Int - , theta01 : Int - , theta02 : Int - , theta03 : Int - , tn : String - , tnCounterM : Int - , utn : Int - } - {-| This message indicates the process state of the top 10 heaviest consumers of CPU on the system, including a timestamp. -} @@ -2336,6 +2296,31 @@ type alias MsgProtectionLevel = , wn : Int } +type alias MsgReferenceFrameParam = + { deltaX0 : Int + , deltaY0 : Int + , deltaZ0 : Int + , dotDeltaX0 : Int + , dotDeltaY0 : Int + , dotDeltaZ0 : Int + , dotScale : Int + , dotTheta01 : Int + , dotTheta02 : Int + , dotTheta03 : Int + , reT0 : Int + , scale : Int + , sin : Int + , sn : String + , snCounterN : Int + , ssrIod : Int + , theta01 : Int + , theta02 : Int + , theta03 : Int + , tn : String + , tnCounterM : Int + , utn : Int + } + {-| This message from the host resets the Piksi back into the bootloader. -} type alias MsgReset = { flags : Int @@ -2675,8 +2660,11 @@ type alias MsgSsrOrbitClock = , updateInterval : Int } -{-| Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, -mean=25+2(i-240). +{-| Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, +mean=5+0.5(i-230)., +, +Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, +std=5+0.5(i-230). -} type alias MsgSsrOrbitClockBounds = { constID : Int @@ -2982,6 +2970,21 @@ type alias MsgUserData = { contents : Array Int } +{-| Emulates the GPS CNAV message, reserving bytes for future broadcast of the drift model +parameters. +-} +type alias MsgUTCLeapSecond = + { biasCoeff : Int + , countAfter : Int + , countBefore : Int + , driftCoeff : Int + , driftRateCoeff : Int + , refDN : Int + , refWn : Int + , towS : Int + , wn : Int + } + {-| This message reports the Universal Coordinated Time (UTC). Note the flags which indicate the source of the UTC offset value and source of the time fix. -} @@ -3455,9 +3458,6 @@ msgFrontEndGainToString r = Jenc.encode 0 (encodeMsgFrontEndGain r) msgFwdToString : MsgFwd -> String msgFwdToString r = Jenc.encode 0 (encodeMsgFwd r) -msgGPSLeapSecondToString : MsgGPSLeapSecond -> String -msgGPSLeapSecondToString r = Jenc.encode 0 (encodeMsgGPSLeapSecond r) - msgGPSTimeToString : MsgGPSTime -> String msgGPSTimeToString r = Jenc.encode 0 (encodeMsgGPSTime r) @@ -3500,9 +3500,6 @@ msgInsUpdatesToString r = Jenc.encode 0 (encodeMsgInsUpdates r) msgIonoToString : MsgIono -> String msgIonoToString r = Jenc.encode 0 (encodeMsgIono r) -msgItrfToString : MsgItrf -> String -msgItrfToString r = Jenc.encode 0 (encodeMsgItrf r) - msgLinuxCPUStateToString : MsgLinuxCPUState -> String msgLinuxCPUStateToString r = Jenc.encode 0 (encodeMsgLinuxCPUState r) @@ -3614,6 +3611,9 @@ msgPpsTimeToString r = Jenc.encode 0 (encodeMsgPpsTime r) msgProtectionLevelToString : MsgProtectionLevel -> String msgProtectionLevelToString r = Jenc.encode 0 (encodeMsgProtectionLevel r) +msgReferenceFrameParamToString : MsgReferenceFrameParam -> String +msgReferenceFrameParamToString r = Jenc.encode 0 (encodeMsgReferenceFrameParam r) + msgResetToString : MsgReset -> String msgResetToString r = Jenc.encode 0 (encodeMsgReset r) @@ -3767,6 +3767,9 @@ msgUARTStateToString r = Jenc.encode 0 (encodeMsgUARTState r) msgUserDataToString : MsgUserData -> String msgUserDataToString r = Jenc.encode 0 (encodeMsgUserData r) +msgUTCLeapSecondToString : MsgUTCLeapSecond -> String +msgUTCLeapSecondToString r = Jenc.encode 0 (encodeMsgUTCLeapSecond r) + msgUTCTimeToString : MsgUTCTime -> String msgUTCTimeToString r = Jenc.encode 0 (encodeMsgUTCTime r) @@ -4990,33 +4993,6 @@ encodeMsgFwd x = , ("source", Jenc.int x.source) ] -msgGPSLeapSecond : Jdec.Decoder MsgGPSLeapSecond -msgGPSLeapSecond = - Jpipe.decode MsgGPSLeapSecond - |> Jpipe.required "bias_coeff" Jdec.int - |> Jpipe.required "count_after" Jdec.int - |> Jpipe.required "count_before" Jdec.int - |> Jpipe.required "drift_coeff" Jdec.int - |> Jpipe.required "drift_rate_coeff" Jdec.int - |> Jpipe.required "ref_dn" Jdec.int - |> Jpipe.required "ref_wn" Jdec.int - |> Jpipe.required "tow_s" Jdec.int - |> Jpipe.required "wn" Jdec.int - -encodeMsgGPSLeapSecond : MsgGPSLeapSecond -> Jenc.Value -encodeMsgGPSLeapSecond x = - Jenc.object - [ ("bias_coeff", Jenc.int x.biasCoeff) - , ("count_after", Jenc.int x.countAfter) - , ("count_before", Jenc.int x.countBefore) - , ("drift_coeff", Jenc.int x.driftCoeff) - , ("drift_rate_coeff", Jenc.int x.driftRateCoeff) - , ("ref_dn", Jenc.int x.refDN) - , ("ref_wn", Jenc.int x.refWn) - , ("tow_s", Jenc.int x.towS) - , ("wn", Jenc.int x.wn) - ] - msgGPSTime : Jdec.Decoder MsgGPSTime msgGPSTime = Jpipe.decode MsgGPSTime @@ -5300,59 +5276,6 @@ encodeMsgIono x = , ("t_nmct", encodeGpsTimeSEC x.tNmct) ] -msgItrf : Jdec.Decoder MsgItrf -msgItrf = - Jpipe.decode MsgItrf - |> Jpipe.required "delta_X0" Jdec.int - |> Jpipe.required "delta_Y0" Jdec.int - |> Jpipe.required "delta_Z0" Jdec.int - |> Jpipe.required "dot_delta_X0" Jdec.int - |> Jpipe.required "dot_delta_Y0" Jdec.int - |> Jpipe.required "dot_delta_Z0" Jdec.int - |> Jpipe.required "dot_scale" Jdec.int - |> Jpipe.required "dot_theta_01" Jdec.int - |> Jpipe.required "dot_theta_02" Jdec.int - |> Jpipe.required "dot_theta_03" Jdec.int - |> Jpipe.required "re_t0" Jdec.int - |> Jpipe.required "scale" Jdec.int - |> Jpipe.required "sin" Jdec.int - |> Jpipe.required "sn" Jdec.string - |> Jpipe.required "sn_counter_n" Jdec.int - |> Jpipe.required "ssr_iod" Jdec.int - |> Jpipe.required "theta_01" Jdec.int - |> Jpipe.required "theta_02" Jdec.int - |> Jpipe.required "theta_03" Jdec.int - |> Jpipe.required "tn" Jdec.string - |> Jpipe.required "tn_counter_m" Jdec.int - |> Jpipe.required "utn" Jdec.int - -encodeMsgItrf : MsgItrf -> Jenc.Value -encodeMsgItrf x = - Jenc.object - [ ("delta_X0", Jenc.int x.deltaX0) - , ("delta_Y0", Jenc.int x.deltaY0) - , ("delta_Z0", Jenc.int x.deltaZ0) - , ("dot_delta_X0", Jenc.int x.dotDeltaX0) - , ("dot_delta_Y0", Jenc.int x.dotDeltaY0) - , ("dot_delta_Z0", Jenc.int x.dotDeltaZ0) - , ("dot_scale", Jenc.int x.dotScale) - , ("dot_theta_01", Jenc.int x.dotTheta01) - , ("dot_theta_02", Jenc.int x.dotTheta02) - , ("dot_theta_03", Jenc.int x.dotTheta03) - , ("re_t0", Jenc.int x.reT0) - , ("scale", Jenc.int x.scale) - , ("sin", Jenc.int x.sin) - , ("sn", Jenc.string x.sn) - , ("sn_counter_n", Jenc.int x.snCounterN) - , ("ssr_iod", Jenc.int x.ssrIod) - , ("theta_01", Jenc.int x.theta01) - , ("theta_02", Jenc.int x.theta02) - , ("theta_03", Jenc.int x.theta03) - , ("tn", Jenc.string x.tn) - , ("tn_counter_m", Jenc.int x.tnCounterM) - , ("utn", Jenc.int x.utn) - ] - msgLinuxCPUState : Jdec.Decoder MsgLinuxCPUState msgLinuxCPUState = Jpipe.decode MsgLinuxCPUState @@ -6227,6 +6150,59 @@ encodeMsgProtectionLevel x = , ("wn", Jenc.int x.wn) ] +msgReferenceFrameParam : Jdec.Decoder MsgReferenceFrameParam +msgReferenceFrameParam = + Jpipe.decode MsgReferenceFrameParam + |> Jpipe.required "delta_X0" Jdec.int + |> Jpipe.required "delta_Y0" Jdec.int + |> Jpipe.required "delta_Z0" Jdec.int + |> Jpipe.required "dot_delta_X0" Jdec.int + |> Jpipe.required "dot_delta_Y0" Jdec.int + |> Jpipe.required "dot_delta_Z0" Jdec.int + |> Jpipe.required "dot_scale" Jdec.int + |> Jpipe.required "dot_theta_01" Jdec.int + |> Jpipe.required "dot_theta_02" Jdec.int + |> Jpipe.required "dot_theta_03" Jdec.int + |> Jpipe.required "re_t0" Jdec.int + |> Jpipe.required "scale" Jdec.int + |> Jpipe.required "sin" Jdec.int + |> Jpipe.required "sn" Jdec.string + |> Jpipe.required "sn_counter_n" Jdec.int + |> Jpipe.required "ssr_iod" Jdec.int + |> Jpipe.required "theta_01" Jdec.int + |> Jpipe.required "theta_02" Jdec.int + |> Jpipe.required "theta_03" Jdec.int + |> Jpipe.required "tn" Jdec.string + |> Jpipe.required "tn_counter_m" Jdec.int + |> Jpipe.required "utn" Jdec.int + +encodeMsgReferenceFrameParam : MsgReferenceFrameParam -> Jenc.Value +encodeMsgReferenceFrameParam x = + Jenc.object + [ ("delta_X0", Jenc.int x.deltaX0) + , ("delta_Y0", Jenc.int x.deltaY0) + , ("delta_Z0", Jenc.int x.deltaZ0) + , ("dot_delta_X0", Jenc.int x.dotDeltaX0) + , ("dot_delta_Y0", Jenc.int x.dotDeltaY0) + , ("dot_delta_Z0", Jenc.int x.dotDeltaZ0) + , ("dot_scale", Jenc.int x.dotScale) + , ("dot_theta_01", Jenc.int x.dotTheta01) + , ("dot_theta_02", Jenc.int x.dotTheta02) + , ("dot_theta_03", Jenc.int x.dotTheta03) + , ("re_t0", Jenc.int x.reT0) + , ("scale", Jenc.int x.scale) + , ("sin", Jenc.int x.sin) + , ("sn", Jenc.string x.sn) + , ("sn_counter_n", Jenc.int x.snCounterN) + , ("ssr_iod", Jenc.int x.ssrIod) + , ("theta_01", Jenc.int x.theta01) + , ("theta_02", Jenc.int x.theta02) + , ("theta_03", Jenc.int x.theta03) + , ("tn", Jenc.string x.tn) + , ("tn_counter_m", Jenc.int x.tnCounterM) + , ("utn", Jenc.int x.utn) + ] + msgReset : Jdec.Decoder MsgReset msgReset = Jpipe.decode MsgReset @@ -7332,6 +7308,33 @@ encodeMsgUserData x = [ ("contents", makeArrayEncoder Jenc.int x.contents) ] +msgUTCLeapSecond : Jdec.Decoder MsgUTCLeapSecond +msgUTCLeapSecond = + Jpipe.decode MsgUTCLeapSecond + |> Jpipe.required "bias_coeff" Jdec.int + |> Jpipe.required "count_after" Jdec.int + |> Jpipe.required "count_before" Jdec.int + |> Jpipe.required "drift_coeff" Jdec.int + |> Jpipe.required "drift_rate_coeff" Jdec.int + |> Jpipe.required "ref_dn" Jdec.int + |> Jpipe.required "ref_wn" Jdec.int + |> Jpipe.required "tow_s" Jdec.int + |> Jpipe.required "wn" Jdec.int + +encodeMsgUTCLeapSecond : MsgUTCLeapSecond -> Jenc.Value +encodeMsgUTCLeapSecond x = + Jenc.object + [ ("bias_coeff", Jenc.int x.biasCoeff) + , ("count_after", Jenc.int x.countAfter) + , ("count_before", Jenc.int x.countBefore) + , ("drift_coeff", Jenc.int x.driftCoeff) + , ("drift_rate_coeff", Jenc.int x.driftRateCoeff) + , ("ref_dn", Jenc.int x.refDN) + , ("ref_wn", Jenc.int x.refWn) + , ("tow_s", Jenc.int x.towS) + , ("wn", Jenc.int x.wn) + ] + msgUTCTime : Jdec.Decoder MsgUTCTime msgUTCTime = Jpipe.decode MsgUTCTime diff --git a/sbpjson/javascript/SbpJson.js b/sbpjson/javascript/SbpJson.js index 05b595ffaf..117f57872b 100644 --- a/sbpjson/javascript/SbpJson.js +++ b/sbpjson/javascript/SbpJson.js @@ -72,7 +72,6 @@ // const msgFlashReadResp = Convert.toMsgFlashReadResp(json); // const msgFrontEndGain = Convert.toMsgFrontEndGain(json); // const msgFwd = Convert.toMsgFwd(json); -// const msgGPSLeapSecond = Convert.toMsgGPSLeapSecond(json); // const msgGPSTime = Convert.toMsgGPSTime(json); // const msgGPSTimeGnss = Convert.toMsgGPSTimeGnss(json); // const msgGloBiases = Convert.toMsgGloBiases(json); @@ -87,7 +86,6 @@ // const msgInsStatus = Convert.toMsgInsStatus(json); // const msgInsUpdates = Convert.toMsgInsUpdates(json); // const msgIono = Convert.toMsgIono(json); -// const msgItrf = Convert.toMsgItrf(json); // const msgLinuxCPUState = Convert.toMsgLinuxCPUState(json); // const msgLinuxMemState = Convert.toMsgLinuxMemState(json); // const msgLinuxProcessFdCount = Convert.toMsgLinuxProcessFdCount(json); @@ -123,6 +121,7 @@ // const msgPosLLHGnss = Convert.toMsgPosLLHGnss(json); // const msgPpsTime = Convert.toMsgPpsTime(json); // const msgProtectionLevel = Convert.toMsgProtectionLevel(json); +// const msgReferenceFrameParam = Convert.toMsgReferenceFrameParam(json); // const msgReset = Convert.toMsgReset(json); // const msgResetFilters = Convert.toMsgResetFilters(json); // const msgSbasRaw = Convert.toMsgSbasRaw(json); @@ -170,6 +169,7 @@ // const msgTrackingState = Convert.toMsgTrackingState(json); // const msgUARTState = Convert.toMsgUARTState(json); // const msgUserData = Convert.toMsgUserData(json); +// const msgUTCLeapSecond = Convert.toMsgUTCLeapSecond(json); // const msgUTCTime = Convert.toMsgUTCTime(json); // const msgUTCTimeGnss = Convert.toMsgUTCTimeGnss(json); // const msgVelBody = Convert.toMsgVelBody(json); @@ -774,14 +774,6 @@ function msgFwdToJson(value) { return JSON.stringify(uncast(value, r("MsgFwd")), null, 2); } -function toMsgGPSLeapSecond(json) { - return cast(JSON.parse(json), r("MsgGPSLeapSecond")); -} - -function msgGPSLeapSecondToJson(value) { - return JSON.stringify(uncast(value, r("MsgGPSLeapSecond")), null, 2); -} - function toMsgGPSTime(json) { return cast(JSON.parse(json), r("MsgGPSTime")); } @@ -894,14 +886,6 @@ function msgIonoToJson(value) { return JSON.stringify(uncast(value, r("MsgIono")), null, 2); } -function toMsgItrf(json) { - return cast(JSON.parse(json), r("MsgItrf")); -} - -function msgItrfToJson(value) { - return JSON.stringify(uncast(value, r("MsgItrf")), null, 2); -} - function toMsgLinuxCPUState(json) { return cast(JSON.parse(json), r("MsgLinuxCPUState")); } @@ -1182,6 +1166,14 @@ function msgProtectionLevelToJson(value) { return JSON.stringify(uncast(value, r("MsgProtectionLevel")), null, 2); } +function toMsgReferenceFrameParam(json) { + return cast(JSON.parse(json), r("MsgReferenceFrameParam")); +} + +function msgReferenceFrameParamToJson(value) { + return JSON.stringify(uncast(value, r("MsgReferenceFrameParam")), null, 2); +} + function toMsgReset(json) { return cast(JSON.parse(json), r("MsgReset")); } @@ -1558,6 +1550,14 @@ function msgUserDataToJson(value) { return JSON.stringify(uncast(value, r("MsgUserData")), null, 2); } +function toMsgUTCLeapSecond(json) { + return cast(JSON.parse(json), r("MsgUTCLeapSecond")); +} + +function msgUTCLeapSecondToJson(value) { + return JSON.stringify(uncast(value, r("MsgUTCLeapSecond")), null, 2); +} + function toMsgUTCTime(json) { return cast(JSON.parse(json), r("MsgUTCTime")); } @@ -2402,17 +2402,6 @@ const typeMap = { { json: "protocol", js: "protocol", typ: 0 }, { json: "source", js: "source", typ: 0 }, ], "any"), - "MsgGPSLeapSecond": o([ - { json: "bias_coeff", js: "bias_coeff", typ: 0 }, - { json: "count_after", js: "count_after", typ: 0 }, - { json: "count_before", js: "count_before", typ: 0 }, - { json: "drift_coeff", js: "drift_coeff", typ: 0 }, - { json: "drift_rate_coeff", js: "drift_rate_coeff", typ: 0 }, - { json: "ref_dn", js: "ref_dn", typ: 0 }, - { json: "ref_wn", js: "ref_wn", typ: 0 }, - { json: "tow_s", js: "tow_s", typ: 0 }, - { json: "wn", js: "wn", typ: 0 }, - ], "any"), "MsgGPSTime": o([ { json: "flags", js: "flags", typ: 0 }, { json: "ns_residual", js: "ns_residual", typ: 0 }, @@ -2517,30 +2506,6 @@ const typeMap = { { json: "b3", js: "b3", typ: 3.14 }, { json: "t_nmct", js: "t_nmct", typ: r("GpsTimeSEC") }, ], "any"), - "MsgItrf": o([ - { json: "delta_X0", js: "delta_X0", typ: 0 }, - { json: "delta_Y0", js: "delta_Y0", typ: 0 }, - { json: "delta_Z0", js: "delta_Z0", typ: 0 }, - { json: "dot_delta_X0", js: "dot_delta_X0", typ: 0 }, - { json: "dot_delta_Y0", js: "dot_delta_Y0", typ: 0 }, - { json: "dot_delta_Z0", js: "dot_delta_Z0", typ: 0 }, - { json: "dot_scale", js: "dot_scale", typ: 0 }, - { json: "dot_theta_01", js: "dot_theta_01", typ: 0 }, - { json: "dot_theta_02", js: "dot_theta_02", typ: 0 }, - { json: "dot_theta_03", js: "dot_theta_03", typ: 0 }, - { json: "re_t0", js: "re_t0", typ: 0 }, - { json: "scale", js: "scale", typ: 0 }, - { json: "sin", js: "sin", typ: 0 }, - { json: "sn", js: "sn", typ: "" }, - { json: "sn_counter_n", js: "sn_counter_n", typ: 0 }, - { json: "ssr_iod", js: "ssr_iod", typ: 0 }, - { json: "theta_01", js: "theta_01", typ: 0 }, - { json: "theta_02", js: "theta_02", typ: 0 }, - { json: "theta_03", js: "theta_03", typ: 0 }, - { json: "tn", js: "tn", typ: "" }, - { json: "tn_counter_m", js: "tn_counter_m", typ: 0 }, - { json: "utn", js: "utn", typ: 0 }, - ], "any"), "MsgLinuxCPUState": o([ { json: "cmdline", js: "cmdline", typ: "" }, { json: "flags", js: "flags", typ: 0 }, @@ -2873,6 +2838,30 @@ const typeMap = { { json: "vvpl", js: "vvpl", typ: 0 }, { json: "wn", js: "wn", typ: 0 }, ], "any"), + "MsgReferenceFrameParam": o([ + { json: "delta_X0", js: "delta_X0", typ: 0 }, + { json: "delta_Y0", js: "delta_Y0", typ: 0 }, + { json: "delta_Z0", js: "delta_Z0", typ: 0 }, + { json: "dot_delta_X0", js: "dot_delta_X0", typ: 0 }, + { json: "dot_delta_Y0", js: "dot_delta_Y0", typ: 0 }, + { json: "dot_delta_Z0", js: "dot_delta_Z0", typ: 0 }, + { json: "dot_scale", js: "dot_scale", typ: 0 }, + { json: "dot_theta_01", js: "dot_theta_01", typ: 0 }, + { json: "dot_theta_02", js: "dot_theta_02", typ: 0 }, + { json: "dot_theta_03", js: "dot_theta_03", typ: 0 }, + { json: "re_t0", js: "re_t0", typ: 0 }, + { json: "scale", js: "scale", typ: 0 }, + { json: "sin", js: "sin", typ: 0 }, + { json: "sn", js: "sn", typ: "" }, + { json: "sn_counter_n", js: "sn_counter_n", typ: 0 }, + { json: "ssr_iod", js: "ssr_iod", typ: 0 }, + { json: "theta_01", js: "theta_01", typ: 0 }, + { json: "theta_02", js: "theta_02", typ: 0 }, + { json: "theta_03", js: "theta_03", typ: 0 }, + { json: "tn", js: "tn", typ: "" }, + { json: "tn_counter_m", js: "tn_counter_m", typ: 0 }, + { json: "utn", js: "utn", typ: 0 }, + ], "any"), "MsgReset": o([ { json: "flags", js: "flags", typ: 0 }, ], "any"), @@ -3268,6 +3257,17 @@ const typeMap = { "MsgUserData": o([ { json: "contents", js: "contents", typ: a(0) }, ], "any"), + "MsgUTCLeapSecond": o([ + { json: "bias_coeff", js: "bias_coeff", typ: 0 }, + { json: "count_after", js: "count_after", typ: 0 }, + { json: "count_before", js: "count_before", typ: 0 }, + { json: "drift_coeff", js: "drift_coeff", typ: 0 }, + { json: "drift_rate_coeff", js: "drift_rate_coeff", typ: 0 }, + { json: "ref_dn", js: "ref_dn", typ: 0 }, + { json: "ref_wn", js: "ref_wn", typ: 0 }, + { json: "tow_s", js: "tow_s", typ: 0 }, + { json: "wn", js: "wn", typ: 0 }, + ], "any"), "MsgUTCTime": o([ { json: "day", js: "day", typ: 0 }, { json: "flags", js: "flags", typ: 0 }, @@ -3569,8 +3569,6 @@ module.exports = { "toMsgFrontEndGain": toMsgFrontEndGain, "msgFwdToJson": msgFwdToJson, "toMsgFwd": toMsgFwd, - "msgGPSLeapSecondToJson": msgGPSLeapSecondToJson, - "toMsgGPSLeapSecond": toMsgGPSLeapSecond, "msgGPSTimeToJson": msgGPSTimeToJson, "toMsgGPSTime": toMsgGPSTime, "msgGPSTimeGnssToJson": msgGPSTimeGnssToJson, @@ -3599,8 +3597,6 @@ module.exports = { "toMsgInsUpdates": toMsgInsUpdates, "msgIonoToJson": msgIonoToJson, "toMsgIono": toMsgIono, - "msgItrfToJson": msgItrfToJson, - "toMsgItrf": toMsgItrf, "msgLinuxCPUStateToJson": msgLinuxCPUStateToJson, "toMsgLinuxCPUState": toMsgLinuxCPUState, "msgLinuxMemStateToJson": msgLinuxMemStateToJson, @@ -3671,6 +3667,8 @@ module.exports = { "toMsgPpsTime": toMsgPpsTime, "msgProtectionLevelToJson": msgProtectionLevelToJson, "toMsgProtectionLevel": toMsgProtectionLevel, + "msgReferenceFrameParamToJson": msgReferenceFrameParamToJson, + "toMsgReferenceFrameParam": toMsgReferenceFrameParam, "msgResetToJson": msgResetToJson, "toMsgReset": toMsgReset, "msgResetFiltersToJson": msgResetFiltersToJson, @@ -3765,6 +3763,8 @@ module.exports = { "toMsgUARTState": toMsgUARTState, "msgUserDataToJson": msgUserDataToJson, "toMsgUserData": toMsgUserData, + "msgUTCLeapSecondToJson": msgUTCLeapSecondToJson, + "toMsgUTCLeapSecond": toMsgUTCLeapSecond, "msgUTCTimeToJson": msgUTCTimeToJson, "toMsgUTCTime": toMsgUTCTime, "msgUTCTimeGnssToJson": msgUTCTimeGnssToJson, diff --git a/sbpjson/typescript/SbpJson.ts b/sbpjson/typescript/SbpJson.ts index fda718ebf5..b2a9a0a437 100644 --- a/sbpjson/typescript/SbpJson.ts +++ b/sbpjson/typescript/SbpJson.ts @@ -1,6 +1,6 @@ // To parse this data: // -// import { Convert, AcqSvProfile, AlmanacCommonContent, BoundsHeader, CarrierPhase, CodeBiasesContent, CodePhaseBiasesSatSig, Doppler, EphemerisCommonContent, EstimatedHorizontalErrorEllipse, GNSSInputType, GnssCapb, GnssSignal, GpsTime, GpsTimeSEC, GridElement, GridElementNoStd, GriddedCorrectionHeader, IMUInputType, IntegritySSRHeader, Latency, MeasurementState, MsgAcqResult, MsgAcqSvProfile, MsgAgeCorrections, MsgAlmanacGPS, MsgAlmanacGlo, MsgAngularRate, MsgBasePosECEF, MsgBasePosLLH, MsgBaselineECEF, MsgBaselineHeading, MsgBaselineNED, MsgBootloaderHandshakeResp, MsgBootloaderJumpToApp, MsgCellModemStatus, MsgCommandOutput, MsgCommandReq, MsgCommandResp, MsgCsacTelemetry, MsgCsacTelemetryLabels, MsgDeviceMonitor, MsgDgnssStatus, MsgDops, MsgEphemerisBds, MsgEphemerisGPS, MsgEphemerisGal, MsgEphemerisGlo, MsgEphemerisQzss, MsgEphemerisSbas, MsgEXTEvent, MsgFileioConfigReq, MsgFileioConfigResp, MsgFileioReadDirReq, MsgFileioReadDirResp, MsgFileioReadReq, MsgFileioReadResp, MsgFileioRemove, MsgFileioWriteReq, MsgFileioWriteResp, MsgFlashDone, MsgFlashErase, MsgFlashProgram, MsgFlashReadReq, MsgFlashReadResp, MsgFrontEndGain, MsgFwd, MsgGPSLeapSecond, MsgGPSTime, MsgGPSTimeGnss, MsgGloBiases, MsgGnssCapb, MsgGnssTimeOffset, MsgGroupDelay, MsgGroupMeta, MsgHeartbeat, MsgIarState, MsgImuAux, MsgImuRaw, MsgInsStatus, MsgInsUpdates, MsgIono, MsgItrf, MsgLinuxCPUState, MsgLinuxMemState, MsgLinuxProcessFdCount, MsgLinuxProcessFdSummary, MsgLinuxProcessSocketCounts, MsgLinuxProcessSocketQueues, MsgLinuxSocketUsage, MsgLinuxSysState, MsgLog, MsgM25FlashWriteStatus, MsgMagRaw, MsgMaskSatellite, MsgMeasurementState, MsgNapDeviceDnaResp, MsgNdbEvent, MsgNetworkBandwidthUsage, MsgNetworkStateResp, MsgObs, MsgOdometry, MsgOrientEuler, MsgOrientQuat, MsgOsr, MsgPosECEF, MsgPosECEFCov, MsgPosECEFCovGnss, MsgPosECEFGnss, MsgPosLLH, MsgPosLLHAcc, MsgPosLLHCov, MsgPosLLHCovGnss, MsgPosLLHGnss, MsgPpsTime, MsgProtectionLevel, MsgReset, MsgResetFilters, MsgSbasRaw, MsgSensorAidEvent, MsgSettingsReadByIndexReq, MsgSettingsReadByIndexResp, MsgSettingsReadReq, MsgSettingsReadResp, MsgSettingsRegister, MsgSettingsRegisterResp, MsgSettingsWrite, MsgSettingsWriteResp, MsgSolnMeta, MsgSpecan, MsgSsrCodeBiases, MsgSsrCodePhaseBiasesBounds, MsgSsrFlagHighLevel, MsgSsrFlagIonoGridPointSatLos, MsgSsrFlagIonoGridPoints, MsgSsrFlagIonoTileSatLos, MsgSsrFlagSatellites, MsgSsrFlagTropoGridPoints, MsgSsrGriddedCorrection, MsgSsrGriddedCorrectionBounds, MsgSsrOrbitClock, MsgSsrOrbitClockBounds, MsgSsrOrbitClockBoundsDegradation, MsgSsrPhaseBiases, MsgSsrSatelliteApc, MsgSsrStecCorrection, MsgSsrTileDefinition, MsgStartup, MsgStatusJournal, MsgStatusReport, MsgStmFlashLockSector, MsgStmFlashUnlockSector, MsgStmUniqueIDResp, MsgSvAzEl, MsgThreadState, MsgTrackingIq, MsgTrackingState, MsgUARTState, MsgUserData, MsgUTCTime, MsgUTCTimeGnss, MsgVelBody, MsgVelCog, MsgVelECEF, MsgVelECEFCov, MsgVelECEFCovGnss, MsgVelECEFGnss, MsgVelNED, MsgVelNEDCov, MsgVelNEDCovGnss, MsgVelNEDGnss, MsgWheeltick, NetworkUsage, ObservationHeader, OdoInputType, OrbitClockBound, OrbitClockBoundDegradation, PackedObsContent, PackedOsrContent, Period, PhaseBiasesContent, STECHeader, STECResidual, STECResidualNoStd, STECSatElement, STECSatElementIntegrity, SatelliteAPC, SolutionInputType, StatusJournalItem, SubSystemReport, SvAzEl, SvID, TrackingChannelCorrelation, TrackingChannelState, TroposphericDelayCorrection, TroposphericDelayCorrectionNoStd, UARTChannel } from "./file"; +// import { Convert, AcqSvProfile, AlmanacCommonContent, BoundsHeader, CarrierPhase, CodeBiasesContent, CodePhaseBiasesSatSig, Doppler, EphemerisCommonContent, EstimatedHorizontalErrorEllipse, GNSSInputType, GnssCapb, GnssSignal, GpsTime, GpsTimeSEC, GridElement, GridElementNoStd, GriddedCorrectionHeader, IMUInputType, IntegritySSRHeader, Latency, MeasurementState, MsgAcqResult, MsgAcqSvProfile, MsgAgeCorrections, MsgAlmanacGPS, MsgAlmanacGlo, MsgAngularRate, MsgBasePosECEF, MsgBasePosLLH, MsgBaselineECEF, MsgBaselineHeading, MsgBaselineNED, MsgBootloaderHandshakeResp, MsgBootloaderJumpToApp, MsgCellModemStatus, MsgCommandOutput, MsgCommandReq, MsgCommandResp, MsgCsacTelemetry, MsgCsacTelemetryLabels, MsgDeviceMonitor, MsgDgnssStatus, MsgDops, MsgEphemerisBds, MsgEphemerisGPS, MsgEphemerisGal, MsgEphemerisGlo, MsgEphemerisQzss, MsgEphemerisSbas, MsgEXTEvent, MsgFileioConfigReq, MsgFileioConfigResp, MsgFileioReadDirReq, MsgFileioReadDirResp, MsgFileioReadReq, MsgFileioReadResp, MsgFileioRemove, MsgFileioWriteReq, MsgFileioWriteResp, MsgFlashDone, MsgFlashErase, MsgFlashProgram, MsgFlashReadReq, MsgFlashReadResp, MsgFrontEndGain, MsgFwd, MsgGPSTime, MsgGPSTimeGnss, MsgGloBiases, MsgGnssCapb, MsgGnssTimeOffset, MsgGroupDelay, MsgGroupMeta, MsgHeartbeat, MsgIarState, MsgImuAux, MsgImuRaw, MsgInsStatus, MsgInsUpdates, MsgIono, MsgLinuxCPUState, MsgLinuxMemState, MsgLinuxProcessFdCount, MsgLinuxProcessFdSummary, MsgLinuxProcessSocketCounts, MsgLinuxProcessSocketQueues, MsgLinuxSocketUsage, MsgLinuxSysState, MsgLog, MsgM25FlashWriteStatus, MsgMagRaw, MsgMaskSatellite, MsgMeasurementState, MsgNapDeviceDnaResp, MsgNdbEvent, MsgNetworkBandwidthUsage, MsgNetworkStateResp, MsgObs, MsgOdometry, MsgOrientEuler, MsgOrientQuat, MsgOsr, MsgPosECEF, MsgPosECEFCov, MsgPosECEFCovGnss, MsgPosECEFGnss, MsgPosLLH, MsgPosLLHAcc, MsgPosLLHCov, MsgPosLLHCovGnss, MsgPosLLHGnss, MsgPpsTime, MsgProtectionLevel, MsgReferenceFrameParam, MsgReset, MsgResetFilters, MsgSbasRaw, MsgSensorAidEvent, MsgSettingsReadByIndexReq, MsgSettingsReadByIndexResp, MsgSettingsReadReq, MsgSettingsReadResp, MsgSettingsRegister, MsgSettingsRegisterResp, MsgSettingsWrite, MsgSettingsWriteResp, MsgSolnMeta, MsgSpecan, MsgSsrCodeBiases, MsgSsrCodePhaseBiasesBounds, MsgSsrFlagHighLevel, MsgSsrFlagIonoGridPointSatLos, MsgSsrFlagIonoGridPoints, MsgSsrFlagIonoTileSatLos, MsgSsrFlagSatellites, MsgSsrFlagTropoGridPoints, MsgSsrGriddedCorrection, MsgSsrGriddedCorrectionBounds, MsgSsrOrbitClock, MsgSsrOrbitClockBounds, MsgSsrOrbitClockBoundsDegradation, MsgSsrPhaseBiases, MsgSsrSatelliteApc, MsgSsrStecCorrection, MsgSsrTileDefinition, MsgStartup, MsgStatusJournal, MsgStatusReport, MsgStmFlashLockSector, MsgStmFlashUnlockSector, MsgStmUniqueIDResp, MsgSvAzEl, MsgThreadState, MsgTrackingIq, MsgTrackingState, MsgUARTState, MsgUserData, MsgUTCLeapSecond, MsgUTCTime, MsgUTCTimeGnss, MsgVelBody, MsgVelCog, MsgVelECEF, MsgVelECEFCov, MsgVelECEFCovGnss, MsgVelECEFGnss, MsgVelNED, MsgVelNEDCov, MsgVelNEDCovGnss, MsgVelNEDGnss, MsgWheeltick, NetworkUsage, ObservationHeader, OdoInputType, OrbitClockBound, OrbitClockBoundDegradation, PackedObsContent, PackedOsrContent, Period, PhaseBiasesContent, STECHeader, STECResidual, STECResidualNoStd, STECSatElement, STECSatElementIntegrity, SatelliteAPC, SolutionInputType, StatusJournalItem, SubSystemReport, SvAzEl, SvID, TrackingChannelCorrelation, TrackingChannelState, TroposphericDelayCorrection, TroposphericDelayCorrectionNoStd, UARTChannel } from "./file"; // // const acqSvProfile = Convert.toAcqSvProfile(json); // const almanacCommonContent = Convert.toAlmanacCommonContent(json); @@ -72,7 +72,6 @@ // const msgFlashReadResp = Convert.toMsgFlashReadResp(json); // const msgFrontEndGain = Convert.toMsgFrontEndGain(json); // const msgFwd = Convert.toMsgFwd(json); -// const msgGPSLeapSecond = Convert.toMsgGPSLeapSecond(json); // const msgGPSTime = Convert.toMsgGPSTime(json); // const msgGPSTimeGnss = Convert.toMsgGPSTimeGnss(json); // const msgGloBiases = Convert.toMsgGloBiases(json); @@ -87,7 +86,6 @@ // const msgInsStatus = Convert.toMsgInsStatus(json); // const msgInsUpdates = Convert.toMsgInsUpdates(json); // const msgIono = Convert.toMsgIono(json); -// const msgItrf = Convert.toMsgItrf(json); // const msgLinuxCPUState = Convert.toMsgLinuxCPUState(json); // const msgLinuxMemState = Convert.toMsgLinuxMemState(json); // const msgLinuxProcessFdCount = Convert.toMsgLinuxProcessFdCount(json); @@ -123,6 +121,7 @@ // const msgPosLLHGnss = Convert.toMsgPosLLHGnss(json); // const msgPpsTime = Convert.toMsgPpsTime(json); // const msgProtectionLevel = Convert.toMsgProtectionLevel(json); +// const msgReferenceFrameParam = Convert.toMsgReferenceFrameParam(json); // const msgReset = Convert.toMsgReset(json); // const msgResetFilters = Convert.toMsgResetFilters(json); // const msgSbasRaw = Convert.toMsgSbasRaw(json); @@ -170,6 +169,7 @@ // const msgTrackingState = Convert.toMsgTrackingState(json); // const msgUARTState = Convert.toMsgUARTState(json); // const msgUserData = Convert.toMsgUserData(json); +// const msgUTCLeapSecond = Convert.toMsgUTCLeapSecond(json); // const msgUTCTime = Convert.toMsgUTCTime(json); // const msgUTCTimeGnss = Convert.toMsgUTCTimeGnss(json); // const msgVelBody = Convert.toMsgVelBody(json); @@ -966,22 +966,6 @@ export interface MsgFwd { source: number; } -/** - * Emulates the GPS CNAV message, reserving bytes for future broadcast of the drift model - * parameters. - */ -export interface MsgGPSLeapSecond { - bias_coeff: number; - count_after: number; - count_before: number; - drift_coeff: number; - drift_rate_coeff: number; - ref_dn: number; - ref_wn: number; - tow_s: number; - wn: number; -} - /** * This message reports the GPS time, representing the time since the GPS epoch began on * midnight January 6, 1980 UTC. GPS time counts the weeks and seconds of the week. The @@ -1186,31 +1170,6 @@ export interface MsgIono { t_nmct: GpsTimeSEC; } -export interface MsgItrf { - delta_X0: number; - delta_Y0: number; - delta_Z0: number; - dot_delta_X0: number; - dot_delta_Y0: number; - dot_delta_Z0: number; - dot_scale: number; - dot_theta_01: number; - dot_theta_02: number; - dot_theta_03: number; - re_t0: number; - scale: number; - sin: number; - sn: string; - sn_counter_n: number; - ssr_iod: number; - theta_01: number; - theta_02: number; - theta_03: number; - tn: string; - tn_counter_m: number; - utn: number; -} - /** * This message indicates the process state of the top 10 heaviest consumers of CPU on the * system, including a timestamp. @@ -1816,6 +1775,31 @@ export interface MsgProtectionLevel { wn: number; } +export interface MsgReferenceFrameParam { + delta_X0: number; + delta_Y0: number; + delta_Z0: number; + dot_delta_X0: number; + dot_delta_Y0: number; + dot_delta_Z0: number; + dot_scale: number; + dot_theta_01: number; + dot_theta_02: number; + dot_theta_03: number; + re_t0: number; + scale: number; + sin: number; + sn: string; + sn_counter_n: number; + ssr_iod: number; + theta_01: number; + theta_02: number; + theta_03: number; + tn: string; + tn_counter_m: number; + utn: number; +} + /** * This message from the host resets the Piksi back into the bootloader. */ @@ -2181,8 +2165,11 @@ export interface MsgSsrOrbitClock { } /** - * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, - * mean=25+2(i-240). + * Note 1: Range: 0-17.5 m. i<=200, mean=0.01i; 200230, + * mean=5+0.5(i-230)., + * , + * Note 2: Range: 0-17.5 m. i<=200, std=0.01i; 200230, + * std=5+0.5(i-230). */ export interface MsgSsrOrbitClockBounds { const_id: number; @@ -2523,6 +2510,22 @@ export interface MsgUserData { contents: number[]; } +/** + * Emulates the GPS CNAV message, reserving bytes for future broadcast of the drift model + * parameters. + */ +export interface MsgUTCLeapSecond { + bias_coeff: number; + count_after: number; + count_before: number; + drift_coeff: number; + drift_rate_coeff: number; + ref_dn: number; + ref_wn: number; + tow_s: number; + wn: number; +} + /** * This message reports the Universal Coordinated Time (UTC). Note the flags which indicate * the source of the UTC offset value and source of the time fix. @@ -3350,14 +3353,6 @@ export class Convert { return JSON.stringify(uncast(value, r("MsgFwd")), null, 2); } - public static toMsgGPSLeapSecond(json: string): MsgGPSLeapSecond { - return cast(JSON.parse(json), r("MsgGPSLeapSecond")); - } - - public static msgGPSLeapSecondToJson(value: MsgGPSLeapSecond): string { - return JSON.stringify(uncast(value, r("MsgGPSLeapSecond")), null, 2); - } - public static toMsgGPSTime(json: string): MsgGPSTime { return cast(JSON.parse(json), r("MsgGPSTime")); } @@ -3470,14 +3465,6 @@ export class Convert { return JSON.stringify(uncast(value, r("MsgIono")), null, 2); } - public static toMsgItrf(json: string): MsgItrf { - return cast(JSON.parse(json), r("MsgItrf")); - } - - public static msgItrfToJson(value: MsgItrf): string { - return JSON.stringify(uncast(value, r("MsgItrf")), null, 2); - } - public static toMsgLinuxCPUState(json: string): MsgLinuxCPUState { return cast(JSON.parse(json), r("MsgLinuxCPUState")); } @@ -3758,6 +3745,14 @@ export class Convert { return JSON.stringify(uncast(value, r("MsgProtectionLevel")), null, 2); } + public static toMsgReferenceFrameParam(json: string): MsgReferenceFrameParam { + return cast(JSON.parse(json), r("MsgReferenceFrameParam")); + } + + public static msgReferenceFrameParamToJson(value: MsgReferenceFrameParam): string { + return JSON.stringify(uncast(value, r("MsgReferenceFrameParam")), null, 2); + } + public static toMsgReset(json: string): MsgReset { return cast(JSON.parse(json), r("MsgReset")); } @@ -4134,6 +4129,14 @@ export class Convert { return JSON.stringify(uncast(value, r("MsgUserData")), null, 2); } + public static toMsgUTCLeapSecond(json: string): MsgUTCLeapSecond { + return cast(JSON.parse(json), r("MsgUTCLeapSecond")); + } + + public static msgUTCLeapSecondToJson(value: MsgUTCLeapSecond): string { + return JSON.stringify(uncast(value, r("MsgUTCLeapSecond")), null, 2); + } + public static toMsgUTCTime(json: string): MsgUTCTime { return cast(JSON.parse(json), r("MsgUTCTime")); } @@ -4979,17 +4982,6 @@ const typeMap: any = { { json: "protocol", js: "protocol", typ: 0 }, { json: "source", js: "source", typ: 0 }, ], "any"), - "MsgGPSLeapSecond": o([ - { json: "bias_coeff", js: "bias_coeff", typ: 0 }, - { json: "count_after", js: "count_after", typ: 0 }, - { json: "count_before", js: "count_before", typ: 0 }, - { json: "drift_coeff", js: "drift_coeff", typ: 0 }, - { json: "drift_rate_coeff", js: "drift_rate_coeff", typ: 0 }, - { json: "ref_dn", js: "ref_dn", typ: 0 }, - { json: "ref_wn", js: "ref_wn", typ: 0 }, - { json: "tow_s", js: "tow_s", typ: 0 }, - { json: "wn", js: "wn", typ: 0 }, - ], "any"), "MsgGPSTime": o([ { json: "flags", js: "flags", typ: 0 }, { json: "ns_residual", js: "ns_residual", typ: 0 }, @@ -5094,30 +5086,6 @@ const typeMap: any = { { json: "b3", js: "b3", typ: 3.14 }, { json: "t_nmct", js: "t_nmct", typ: r("GpsTimeSEC") }, ], "any"), - "MsgItrf": o([ - { json: "delta_X0", js: "delta_X0", typ: 0 }, - { json: "delta_Y0", js: "delta_Y0", typ: 0 }, - { json: "delta_Z0", js: "delta_Z0", typ: 0 }, - { json: "dot_delta_X0", js: "dot_delta_X0", typ: 0 }, - { json: "dot_delta_Y0", js: "dot_delta_Y0", typ: 0 }, - { json: "dot_delta_Z0", js: "dot_delta_Z0", typ: 0 }, - { json: "dot_scale", js: "dot_scale", typ: 0 }, - { json: "dot_theta_01", js: "dot_theta_01", typ: 0 }, - { json: "dot_theta_02", js: "dot_theta_02", typ: 0 }, - { json: "dot_theta_03", js: "dot_theta_03", typ: 0 }, - { json: "re_t0", js: "re_t0", typ: 0 }, - { json: "scale", js: "scale", typ: 0 }, - { json: "sin", js: "sin", typ: 0 }, - { json: "sn", js: "sn", typ: "" }, - { json: "sn_counter_n", js: "sn_counter_n", typ: 0 }, - { json: "ssr_iod", js: "ssr_iod", typ: 0 }, - { json: "theta_01", js: "theta_01", typ: 0 }, - { json: "theta_02", js: "theta_02", typ: 0 }, - { json: "theta_03", js: "theta_03", typ: 0 }, - { json: "tn", js: "tn", typ: "" }, - { json: "tn_counter_m", js: "tn_counter_m", typ: 0 }, - { json: "utn", js: "utn", typ: 0 }, - ], "any"), "MsgLinuxCPUState": o([ { json: "cmdline", js: "cmdline", typ: "" }, { json: "flags", js: "flags", typ: 0 }, @@ -5450,6 +5418,30 @@ const typeMap: any = { { json: "vvpl", js: "vvpl", typ: 0 }, { json: "wn", js: "wn", typ: 0 }, ], "any"), + "MsgReferenceFrameParam": o([ + { json: "delta_X0", js: "delta_X0", typ: 0 }, + { json: "delta_Y0", js: "delta_Y0", typ: 0 }, + { json: "delta_Z0", js: "delta_Z0", typ: 0 }, + { json: "dot_delta_X0", js: "dot_delta_X0", typ: 0 }, + { json: "dot_delta_Y0", js: "dot_delta_Y0", typ: 0 }, + { json: "dot_delta_Z0", js: "dot_delta_Z0", typ: 0 }, + { json: "dot_scale", js: "dot_scale", typ: 0 }, + { json: "dot_theta_01", js: "dot_theta_01", typ: 0 }, + { json: "dot_theta_02", js: "dot_theta_02", typ: 0 }, + { json: "dot_theta_03", js: "dot_theta_03", typ: 0 }, + { json: "re_t0", js: "re_t0", typ: 0 }, + { json: "scale", js: "scale", typ: 0 }, + { json: "sin", js: "sin", typ: 0 }, + { json: "sn", js: "sn", typ: "" }, + { json: "sn_counter_n", js: "sn_counter_n", typ: 0 }, + { json: "ssr_iod", js: "ssr_iod", typ: 0 }, + { json: "theta_01", js: "theta_01", typ: 0 }, + { json: "theta_02", js: "theta_02", typ: 0 }, + { json: "theta_03", js: "theta_03", typ: 0 }, + { json: "tn", js: "tn", typ: "" }, + { json: "tn_counter_m", js: "tn_counter_m", typ: 0 }, + { json: "utn", js: "utn", typ: 0 }, + ], "any"), "MsgReset": o([ { json: "flags", js: "flags", typ: 0 }, ], "any"), @@ -5845,6 +5837,17 @@ const typeMap: any = { "MsgUserData": o([ { json: "contents", js: "contents", typ: a(0) }, ], "any"), + "MsgUTCLeapSecond": o([ + { json: "bias_coeff", js: "bias_coeff", typ: 0 }, + { json: "count_after", js: "count_after", typ: 0 }, + { json: "count_before", js: "count_before", typ: 0 }, + { json: "drift_coeff", js: "drift_coeff", typ: 0 }, + { json: "drift_rate_coeff", js: "drift_rate_coeff", typ: 0 }, + { json: "ref_dn", js: "ref_dn", typ: 0 }, + { json: "ref_wn", js: "ref_wn", typ: 0 }, + { json: "tow_s", js: "tow_s", typ: 0 }, + { json: "wn", js: "wn", typ: 0 }, + ], "any"), "MsgUTCTime": o([ { json: "day", js: "day", typ: 0 }, { json: "flags", js: "flags", typ: 0 }, From 05c8756d104943b73a0a7271d6cf42dfc242d29f Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Fri, 3 Jun 2022 12:25:04 -0400 Subject: [PATCH 03/14] update var to let --- generator/sbpg/targets/resources/sbp_js.js.j2 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/generator/sbpg/targets/resources/sbp_js.js.j2 b/generator/sbpg/targets/resources/sbp_js.js.j2 index 7b41725d20..e125725050 100644 --- a/generator/sbpg/targets/resources/sbp_js.js.j2 +++ b/generator/sbpg/targets/resources/sbp_js.js.j2 @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/(((filepath))) with generate.py. + * Automatically generated from spec/yaml/(((filepath))) with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,17 +18,17 @@ * (((description | comment_links | starWordWrap))) ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; ((*- for (file, ident) in include *)) ((*- if ident is list *)) ((*- for ident2 in ident *)) -var (((ident2))) = require("./(((file)))").(((ident2))); +let (((ident2))) = require("./(((file)))").(((ident2))); ((*- endfor *)) ((*- else *)) -var (((ident))) = require("./(((file)))").(((ident))); +let (((ident))) = require("./(((file)))").(((ident))); ((*- endif *)) ((*- endfor *)) @@ -46,7 +46,7 @@ var (((ident))) = require("./(((file)))").(((ident))); *((*- endif *)) * @param sbp An SBP object with a payload to be decoded. */ -var ((( m.identifier | js_classnameify ))) = function (sbp, fields) { +let ((( m.identifier | js_classnameify ))) = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "(((m.identifier)))"; this.fields = (fields || this.parser.parse(sbp.payload)); From c1a32c260ca14cda826ff3ce33178a1f6fe2e468 Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Fri, 3 Jun 2022 13:12:49 -0400 Subject: [PATCH 04/14] make all --- docs/sbp.pdf | Bin 494308 -> 494315 bytes javascript/sbp.bundle.js | 6 +- javascript/sbp/acquisition.js | 40 +++++----- javascript/sbp/bootload.js | 22 +++--- javascript/sbp/ext_events.js | 12 +-- javascript/sbp/file_io.js | 28 +++---- javascript/sbp/flash.js | 30 ++++---- javascript/sbp/gnss.js | 24 +++--- javascript/sbp/imu.js | 14 ++-- javascript/sbp/integrity.js | 38 ++++----- javascript/sbp/linux.js | 32 ++++---- javascript/sbp/logging.js | 16 ++-- javascript/sbp/mag.js | 12 +-- javascript/sbp/navigation.js | 92 +++++++++++----------- javascript/sbp/ndb.js | 26 +++---- javascript/sbp/observation.js | 132 ++++++++++++++++---------------- javascript/sbp/orientation.js | 18 ++--- javascript/sbp/piksi.js | 82 ++++++++++---------- javascript/sbp/sbas.js | 26 +++---- javascript/sbp/settings.js | 30 ++++---- javascript/sbp/solution_meta.js | 22 +++--- javascript/sbp/ssr.js | 96 +++++++++++------------ javascript/sbp/system.js | 40 +++++----- javascript/sbp/tracking.js | 54 ++++++------- javascript/sbp/user.js | 12 +-- javascript/sbp/vehicle.js | 14 ++-- 26 files changed, 459 insertions(+), 459 deletions(-) diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 1a5c58740d0c4265fe29e4193fd90cd416de3ead..228b007c767cf865ca9d6c44830159b687a64208 100644 GIT binary patch delta 35294 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 delta 35314 zcmX8aV|3+g*8t!-r?%Tun^PN8+nRD}+s2&QcBh?MQ`@#}O+B^E@A>-v%Sx_$Ct2B9 zcd~bKl1#LhOjON|4)LYmIgtxp0F3@^aa2M(Z5fZqbYZ0lmhQJ?=K*dshP8ODcybwomvpcVOSa?zfB`bK;DpVpDnDM z1}33lIFez;R@&t$S*spdq4`qYyzCTZ%kgmRIrGl!RcaRb&dk$z{g}7pOV_^ko5DE@ zvYfrepps7H*x!37({JqX1S>V1p<*DGk6KJ;ldc0|81PaRg^Fy;OMH>d&@I^AqE^V& zvDvA8~x2V#}lT6xxIehj`aO@GiX1&nKWs=rDkQmhHVh@d6*VNim} z25ia;B_!Wx=6&@ZHjw>0DN9sjnnSvqAp_*tp|BZDmlNa->M0|9S~6%7UV0og_8#~m z$N-Iy|1MEiPm>h51{7F8Ju(EC2tC8a?I*LQ$TaY>0&*bg3Vb_DwRu_0$rrcZcPDN} z(w${bC+xYItkVtTMLh{ZveMPJPjlcGF4a*v*7I+uIj2Q8K2$)6=h8T9(VG;&2(HS=oE`Z9ii8t)=DBS4G# zu45@Jpnk#v5wV7GTeWDdKudWK%O`E{FMGo2=wSN_)ASDR2#0-)T^`n0QVPvKN%4q? zG~A?E)3ZU3O*0!Ug&$dm@w7ji;=`Bcf7yh*39XzeV>wkxpQD34g34fv2N@+M zo?_vC`_6BiZ}lpnCM&*a@^?{OgTU(toV22BeV57Ns;|-gpUXAXGfjqZij++!6c8^7WVN@*sY|dw`ig9uBXE&?p&RpboX4TU%5}><6!) zN(2uPeWS|rc$Q@z88bSy3=$h-mikVtHm&dY9`j2&!Fy2ept>WL0u6U$G?EsDMw1;= z`2=UA)P*_PkurAtAef%)xX$8`GjcHDZ%M&T6OMzSX2s#%WIG^+;jENS4JDqc-77u1+!b2Sufb58x}tMRu4U*rS9%*y z0|cf5V2Uw>2gg2^V|WJdl(BUokZxaSWPD`mPcO`)!Ci{+h`Qn zXJMhrrAPl|;&3$&fdf28X=yxk!}FV3L|PWY6px3RU7~zL<8sG9ST)T9VF#`z`6c6E zGpM(NBpXmrFL*M$2zqyew{3%?mB!9a$4mKKx$K1usblmPwts(qyY2NPAhd>DC8552 zmUqG^l#be-H;FfYvy)0ZHjfOm(AA?-{U@r-Z1G)@!Ui8Yd(;#CAxb{lIg#I**~X42 z2=e?s-aE>Sy|z2UR#1bXf0&awpn?)P619e;{QA973mnD3l~cGOOghd9%MR)P)mYjl zcr*Cucu^7(%Vfsngw8#twV3(*EvjZ%G#Qg=gS%`JE(5>4SInP_ONy5&^l5R@)IHFD zC#o5jc2C=LAW)~wPUEa`Vt30~aiw(tP5WUVBErXp*S$FOReT)1hl|aaEMa3sY<$hym{D9fg%}(thg~F&4 zW@3TGE=0Thi>VkNWi-~h6DCOc-*&hT3AMyaCCtQ3E(P$$vNHzl57Sf%*&@3A{wx1l zi*z;ieW~k&E=A*X(hvyNeI1Hg;al%FFI+@1=cTX%7xoS!e()dN-DWNcj-_n8U>#%Q zhJ%t}hqZR|8{#rW#a%eMAx3QDq0XvvY{jydiO0UX6A7=O==r^~OZ$Aw)>V3jg9k<9sdK^2s=&UP$dj4B+K~*i;=}Jcf6DoR#OL)RI?Z7ks0OX!uhpugk zAjTR-M3!Wo6`Z@oQQ=D05|;Nq=d#HGTI$UIBI;ClqZMvkGQ$>J8=q z?s&{mVs%jiPi?sIib~$Jjn4z|;>L14s8P_xqv zOa;Tq55RQ4=X3?kELEfbQaBb?a3Zx-gALG%yTQX^%So`p^WIO#V)*lz5{{82t!n6m zt+MMAJfamHjwIK9;VR@}Xi}xBjf3$=RC$>svz~u1F7C3u#6l_9O%yEv2 z7JL4v!=91^=@Y{|$Y`O3nC^<%XI%nt9=mC!r0bSuYmmklN#YWBf7@F$iEN`%Lf?U) z2wqxkdRv$z=y8D}>KmP@xvj<7OA=M^HFGdYZN7ggb8%x@k}^4|4pc2s1%Ze}(`-{* z4>}2w+OGtxVa?IOJDX5Sb==$ANBXx*C^_TIJPs{ZQ-=VFvoxzAyqSawOvCm-)zYoi z$;CvvS|YM3BljItPwcotgVNuI3{GM#@Z{N9A#KBr0t-Ee@qrF5h)nV;3p4cK`Vul5 z)kt3UPN&X*4)b54AmPa*B{RIas6xv!?x5zmbtg(UdP_?k<=EyD*sSd0EokKoEgzjS zT^;;8Xwq~i(GF4Fz$H!W{hhdVf!H@7rE3j7P_ktPLb%DfEGXs*zAaUu@)R(K4q8 zNvRsX2Gms_;waUJKq8e@bkd+oCs=GMpH!F^o&LVuNo1*n$1aas@wFQKr_pp~@_Oq~ zg3WKKA&oEnXkmKQwo!K{DIsl{(TwiM2eizBx2iHHR&Qw{sGjrGlnxaieP8Kq6hzTcDsiTWFfDLvaVK{YJ%yv(Y2Ok z?+h^*0tHK(X)Oi$3@Lr{*gsp?TqiycIW1d{KU!-nn51;vh0(#a8_Juhr!V>~!U^59 z0-_=BONge|+P~dG=DAgmL?x3(S)Y3#J^Dj5wB}9Y&?D zw^7^CC{)yqCTpETsn<5$NoRYL3H1! z-ZZx=*F4z{m%H)GFqb*;Qpg}JmFglN8kyQ}Qd^-#ZBbJw38A`(6m<>Cyh~E?3V$&IdF0TDQPiINMfIGUx17?k!* zCGre;!45NG9ZS@HcY4D;Q}4e6ecu;&J<>`8DhhuHtaj~p z8?mLEnmYejlLV3ywE;8gABabFU0zz9x4v~#`_1kCC~seLfs|)R}~tSPjt0jB^qKB38p}` z!LY#cN!y_z&i<4Sx>yqXW^x0>x><`+zZJ|{g;U>{OYJruP0;06x%eW^Tni)b>=Ys; zcB0rI4;5?AUyv*I>k1HdBh(Rhh23kW^`lfi2H6tZk!@|KJY(P^UTac-vMn?rx6r^; zerH|gILY&*PQ2JG#ksmw_zRn^Jx!I@H6e;BrED_j9p2Oo@1JQe)P(-G9BV0C9m4dx z=T1QgAeGV#B1!H~Y$3t@tr=;4O3?~k`A3*+higO+NwG~QE_L!U@8?W=D9P>0+Kky> zy)GSQN#PhG{jlIGu~`S-E$2>gISox-5=|DV6vtC|W(AZmjn|*S4b2lfgU7=~2Cyy% zUuQ%$U5RK|#c6&qygv1QWTeZ36>-N3+kEQAf)|>!{_>^QE^q&xTvs$L!gS7|x?8&7 z`;{!iUbg42JQ|qDoId?ZyOF~3pwt6NYKy@c#km~p6HEiPy`45qVi3|MBk?vkZOZrm zFl@Oz&5bKjDr!*jHmFdXp#zs+Z+C9dxy*)W=&BG=q7;j#dmvTLdvl5M6N!ota3>nM z;%uV0I;dQ1uL!1*UM@EsS(|45 zd%l?554!{YCn%&hZHrL%M?;0H9El_2Sr%rtcbX`C+W**E=pm%9n)C_jB{Z&?&+$ZL!@1S@KVKGx3AqZDxNY8D!s z*0luJ2gs4s40^JbtCnAqV){=N4~s}`(Jn93&$b{Xq?P_>%0-!dSjY`=Vd$d{f;VRq z(n2(?8x$dIYbCfk(@vNlVrdl<#&Nzdt@CD^dr##Ye_`;Qb&D@z%~X3PiA1Vqi^hg6 zGHIv5)-#f7ra||7`dJsZv6+=6Ldc#jiGx$ptuX=3WU-rd>K33GimBD=;zpATNw(sT zv$VeGH2hi`0X)P^VZQ5OKJKsT*1uhwqt(Bv|HBKR+#e^MlmBH)WVwLHA{Sf?&FQZ? zQ90TE;NuKBH=D7->95dST&-(Aoxq;+moljbZwA`TX4;fnM%gU7d}$4EkWZO_`SO?j9)lLf}u6H~PXiCjWfLTs7jgUQBXqCa8?**aWi`QykTPW0Q|IooxL`0%PIV476A25~}kct@NN?scOo+8EyV_$aGYOhIO@9 z_N6ol-L~t93~WyzRE$j;^!$EQhk9-Ovy<;`6wadnO>1d-4C6Ayia?PIj55wLq<IaL2j~oSLW4v$U^A_s748nop~o*t z!q2JFJ^-oPLtj6I#AFRDjwZ-3$W_-^rnKh-AFQ;7T+sCeL$qJF4tc2s6|b-}SbgXc zDJr0QGUofoS)-F5AnqMSu^St)Zu=iH9L~I8Zrc6t2ZS3%;&M2-Rt)P87zhgNme1&T zSLJY^Kg78i7_T8Q0YYWiwh>TL91(e}{X(2JG{^oa6cGTn&^Yul%)P5I zItg@PZKlTtPW+CqFmWohub<){8sG^U`;HGYwy}JAS|qT2g77;s+t7#AU1iUI0HX;G z7Z3@9!yct1w^lg-<-ZA0r%j=Dl725Zeh>ZQQ*@F5o?$@q(bM~eZczCo)xJ<;rNPG& znlHp`4m2>IWS0g&4vT$9j@i_yj48HSIUiXtbD;i0%(Nb%@&6!|i3I>kWV!m<e(R>NqJ`;Ko6kWe@`3&d73qXd!M)->8)j|3&ZDAbhZ!c04+si*g#S+> zjHVg`00cBnxt<}jnyW(+X5&I7Tl$zA(FejA>?YEu*faxJK!c1IV1G2S;)8Pcg3#S? zhjna2ufW2!ALpOM(H4*njpYS5(1B4%0?#sT6({E!dj+nxG=})x&gue4guz3++7<3? zgP8u3Z&Y0_ojTlmUVQZdSlbvW|3uf`fM8gVilB%F4A&136pJeWfkbO|Q}E-9x&KSk zC&>!}6hVW6^I@rq*130Bl6^dC`jM!L%J!Z_bISH0r6eu1a{B=#AA0w|m-2FQ5Zxlm((S`a=TTcc<4onY^6*Z*fW zMiYN7;1CXUi#f8dq#y)AmGIr=1^1|rt5gtBM4>D7NtDU}?a&}eUxb0A#uA$D;(L+) zuOp_uvF|9IR$L>WgsT=X2@mqL-%h$ocUD6T%8c07Ddf?32LrlJ&2T;ma|hrO0`M)B zv%M(rAOqtt;hfHL?#1AjUo$O1p91ZT8|!e7D(T?(l7 z;X9NqwBx6wsIX}Nx6`xEzP!IfY3CacE@kL{bLp2E9&!oyUQ|u=O>L4s1Pn)pP_UVM z20J;%-orPfYfraqd$TcdFSb@xUTB9^*0q;qt0R-fVGT>{{lC{;sex({GK^f7Nn=;F zG;nH(Rrz}?!Uw8AJ`UI{si=P=chTq=KV3;N(?I>%@Z2~l1gT1PU;CL`WWK9z-Pch{ z-~dEXCwaGQ$6wR@H1x!0zSTB?$84ik4@R`}PJ{n&Bx89Jrk;!g7{N*!3DKcK^edXo zAgc+1iFP=e1-s&D5bWyJ2p;=O!@}3MQVpu=;v(w>Yh(nORC7Am@&iKT5DZXc8$tXO z*CUv~mVwyWW+6{tIGG%2bipiZqG*6(B2K5AS6*`6wL%)%{2{X4Vlyf=^3F^fQ!N77 zVax;XH#p)$U7Kf@!q69FuzU%c5|#Oq38;J22DLZF3dIu+YSnCt&ud zNq{6dN_}j5*Y3V;m$l0dSY{;eQV=!JEBx22 z_a%N=ng}!KQqS+Nnroeg$kJWU^c5gyCb}QC;)EPX^0M^2-^RFS^|&4EqmgTNH|I^! z6T=mn7W~>ivI3rRKyi4n0!Ui>LB#BIN5V;h2H8k9;^{h^-I;R13F*FR53y#zklDV4Xsmg*HDN}a+N6og<7f>R zTfK>jS90WD?UF{~iJ0Cu&JTPSy0hq+-{Y;{r$D$HNc0!eq><=idEi54_-bV{^Nr4NVp{ib&w|J zX%Mw48kehZx=0at`k}Y~s~t8J@-+u?5Y`OsMt_9U_IiJdpD!Gq#whc(Z`nUhGTg`p zMmZ_(i=2zq;1;YX#3N*J(NEZz2&)O>|p^iT97%wLFQUAKJ^h)r@voRZL^U5@Sbdmo{0*j=KBH6|S`sIdA zPaMUm9*;dksug>=}N~1bUDVmcl{_r&eUbT>P>Rx4>8__ zWbj8>qnnpnD60KeSpt7~hNg#qTTEwDlYQ)R&XEHuYw`8Z(w#xrm$|4H7*J;P;IYPH ztxG@sv#Z859Ode%C8Fm?OcDA^a^P|X72|PH+UM|c>H_cT?BGnbHvM7R-@R z5bIf%;E$(;F%7VBGrnrn)WiOg3u($AML=3Win75wEPO-IW7kpCYOjZ~fyI1B)|#X> zLFm>PR>8;Jsm$qP5p>;{e|}Q+*VQ>aILQzs7)e!U7`FC$=GH>-xDgSJ-M0klG4ndK z+)f6{oY5Jc`Ng|qJGIp=N_7jBV!QUjNlwsKagTfWuO@JGAXFz!ssZ@-WQuV9i$zUbz?832AC}{v%N(x3pZAx=hRsCPCEvi1CI1aJaX2WC= z#-*xLD$xKT)CGq!;1CI!95xb8}B;9Z%jhBZng^<6xiN@`K>@@>l~bmAwTk z!Kv^uP+1RGMGRHYc|zXg-PQ#j$N?=6r})k za>=m@rY{tgIxcd%Wd}BX$}Sz#Mm&|I3*Pb$Hlg+p**;IgW z;3I_J`fAB4+gI#$B@smWXc@(w;jBB_;=p{=XZ@SUlqkqx4us2jlmtv8jqUX zm=7lMV&@kYgZ7ehHYS~mGb^AjKNavq?4i7# z`01q_S^k$HbwP*WUV*42mPhbl45Js#*CEc#1AaKbjG3#g zdB~_DcZH?(Q8!?yyW0A6Y55myg;A!fzPO*kZj`9sUe)_m_3?s3PXwqyZk&t;8m?Zb zQ3n}^?qZol(0e}k0ZuZ)3u5jMAREF4AgB-uX3E$Qf^{@A*f0ay^p>HwXY1||$sCNU zz&(l)hY?dfhcCaL5*hmRJooDM?yDt0zX>L?`_Y}9#wysy1iD$_kWpdf1`*dgJSRmz z(=c@>G50H6XMj7Rilswxznz+rdz*$(`bV=%oC25HxZ>}Zn+B_biKFT}o68_b%ICGU zaJSx-wWbKxRaKj6;??iBVcT&0)r21`_Bb7O^*!p*TY0SQ6VhX9(wTIbJVK zq9EMVS?I#tpE22JTs3H4@XX;dA2Gw+PNX zvZhuo8=|ed8RRhUB+)$x3g)+%OXnXm7IymHbkZuvNTlVyRJAn zMfie)`9Ca!XQ888_$g1LU#TFK@Aa?v?+Qh4g7lvgjKmx)#)w%8r{7Ln+Em2Q(&2rV zBMr=5Z3y~KX8u3TcnVUfhIIryg%xx&udHRkU&4>z%>S1ys2>0YFc}*X!ZFK@2@_T+5m^2y@A=4hj=DHk&)e&R!#&q- z`U8oi=f#Qn>u`M3uZY0ZN9H)q?9(e>UfWExtMs=lzVS|3^LFX6-Y2J6@bFIyeGOy@w-xSq-9b|-oNukoJkMT1hWsYm`*zj%=tcuiGsR59 zGFyxI2rWPR%e^^Rnt&pJ03Z6gLCFt35yI~G=ZysBYzY_Nk!ge`#uopt(B7~WsH!+@ zd2o-+zZdhA=Si%C;_(fAciG^l`{7PQCFZ9Gt>C}hlr*qfgEQX|%Hihzy-g#DHnw(K z4_G8S(?Xq+zQmH*TA5>#5C=**ZFlFf=iIlH?9%Dp2CNVBi7=A(xVJ;l#wLgzJy0lP zw~WW$QlXuOl1!~-oLM~*jCp5uahsvl)Xz0IoE-q{ciHC=H^APhv@O=tB2&D!-C~MY|S-NKK1a9j;kn zjA`@@CUCLW=>DB1$~wZ;gIRUIco0(0EHeEH5_X>slZnYbREWn#o3w?thN_I_#Qcv+3)Geo#tREyp?Z1nW2M(+kEh9 zAuM;;ZSCgr&=v@%5Oti&W&`*_R|%<(#M;C}7{K}VY;F2yXhFIZNqB`{-oIBtI?VQW zcjEnbBY0Zk!`s%RMe2OF^erE%Are^V;G?eJUmfzoJerxy0!DX$8^V41M7y&QvN&$m z!pCXd5-%B&p5x6=%uUx)e?mVxnzD+NuutK5y&f+-!FrJgOkXuV;!Qn?SOyWRWRNVW zg2Bsocf*hS>DoxYr1TZ;OoO+(Z%%;$A4SWh=*+*<0v4?SBaun|dO{COe|d>&1lysj3|>6j>v)z(rsnj`nyqKui@8vo^nvQ{6B(6?Y|LP8@S17jHtvJ@UTbh7%}&v!-& z<$jF1<$C`k+x44Uw?uRDh{F(#OAPccPy|C-qFdX2h3MlS!!c;Akc$_ZN`gq#Nah)Z zra&x(;+**EfM8iZv|FoU6XxM5kaT~7bmf0`@T;we4MsXqLAJ21yu0ntY=1bDL3+)r z4R>pMhiFw?ubIhn8{YFuZx8L#YxE`1eD2YJgptG7=@Q@fS)s7@`6G`1BmC6$f)%`7 z?R!t))Y4l%vAxGN9Qw0!h54`im@CiIDVg(aBXWoeEf@B^2WiQiwiMNtfT(?03oB3gyq_#nSvG`6`2R|R*Z}= zB%Ki`8=jaR4t2{+P83m?7VQX~5I0q^+z5;fx(+5qaEGJ-Nm@5vv z=4-qp66whF)6u%4=OBTqzyq>fad(Z>HZC3kt;5+O;LxNv?o{+|Ef){-qG1`CKGO+9+>N|*^EE6Q0do_ z%O3hhyxI~T)3a$G{oTg(Lk1aKd#ib8{sbA6XT>64T9$Zlr*_RA1-<+@-#w?(=Qef< zFfyYPj4^Mpao~!=b=3R?lyz;LeFt2|@i1cE^gxU7iK101z)@rwe z9v;Ni?*0g9eRj|rW$xWATZ}s{7D<~3^<9_|gZOTjIxT(l^fJh|+ zXJ<3#RtUcIk~)iKYo`S<24l4nLRV80`Wx~&z$|;^-W_f{Uf=J4pC2OKafqu1n^Mi~ zIj;U|3oW-~Wkdy5G$4IbCKLt%O2_pejEdOEe>n!yR6BF2TESF z*0Pb~IRd@XAD$Q;ufohDc`oJ;<$t&=OLK{&2)haC`~4Yog?1RO@ zQ@7CXKO3ewo%&TC3%FK>d?e=eU`_rXIm7|tL*pz;EmN7ESA$f;T}6H%$TohU-x6aU zUna6lVm2`n0hgh0IM5rTlf7TXzZ((GEjA<&3vj(5h5?L9G)v8Kjuu!H=S^ORY)+Lm)f6 zkAD`T4S9f~Fd#CiezVxkZIs{=g~S$}fq)$4v=+uHs!ne^mY+D&r$G6a^$9xEfUuC*i$6eyqGWc-B>iq%i?g9)GDTnnfSjeTrRQzTlLNV26jt{oR)2mSsrJ+bxt2`mhN9gsL)aO5^P-l`rp z4!x;3<&XD?Tl!3g3W%RV(G++G3*v@PQ}~-~+^_bMR*4W&}f0rr#F+X07Q zaf6CsVa>@S6q>_x32-rO6Z%kSKE4DQ(f+RiVB`+$gaAaQl6wDlf-TLBp95vQfvk|A zOm}nzp1&BH1349j)|Gg5YtwHKHP#3JYlIYof%PyT`VKKC&tX#Ic;*4Fm2c7yRUYra zo12-H&nO|Gz!)f;M4BpCMls1S_!8Y<)wsb1oc#|$Udi}RArKAZfx#7YObVhL3CLih zv4ax)Xrfy&?foFWzCX+SH2F!uC zrY=?iaRAJTXh7N~oN6E%1P<1w75Bbx0fL8Ry&>U|_9@d+*J1U=m(SxpU=9$pts4aK&s$HISzHwMMPtdT>Eq)I$j0`6 zm-|l}uo(_C1Q9Iy!IzV7gooITM_F-39rgj>pugn$+)va1Fb)zY*DlCN1||TrS{RRu zFqm`0=naX@`(N#+kQfCjLSYAUMKN=t<`-0AoN!9XJ{P_S4rDfeHuO?Er+}bT{}&(~ zSWDJM@&?!(?N*GPbVOds6xi{VxtC4`7hxFy7Ns`TpUQ1;sEK!e* z|Lw6e>l_XF0D!C@Y0oHGwFyUPVN$TyvroT;35Q2Rin@QfL)8pV{cuzsHkfpBsY-Bk z$@qInymd0~WDEtsh9^xWr2Vmcy^z5Uj^vtI4nn!t3jUW7w&kEJMx~>;B>UCj_TK5% zT14~um{QK8P%Xa8u@(8zf4F8j%wL*%z(8OWN2@2bBu`X4b2vf ziGVo+8`wS@_F%66*Su+MhjoYBr&+#SuP_5~Jg+u0I0U$Iy^t5`5anq$nGS^x2FaqPm(wzuRs5GaTkz-e&-=x} zBUU3`pXkx=-qqu1iG{m}LykRj_QQSjtA^-aOaIHMbZm;6VjO9|#Fn&LtmF!b5YQUm=U zTSkci&53JM%o()-4yf(=Z91+*bxBZ{+KHHl(xi4!U7s{ShP1rnU0X~H-%09)L}Z)X zGW7opN{#+DCjIdxIMU+??2Iq;HRk(cwayUN`N9xI22P~HhA_d<9teGVl3gKOOmjp? zDuUZMIRxlJry8UtNosHgw{BgRdYwk2s)t*SRgmOy9=fJ^A<~$Q+FEH~Y)V?wzJr)h z0jZkYaJ2+WTTasW&RQwB>d9Q1pazGhkud0;M|ac11Mg?&zp7aUX8({)px!^qXfM#{kZh0wp6t_DIxH>4M+ zP9b$7fYyu&OurWj^4pM~6DFgR&BB~vE;up=J_Zw}SVE~m69(W@TeMUEf#SSdAh4WG zHW$_FAK-L1sm_oDBMHfS9VO`P87MW()stOxFGuDhuJrx(D~%e(I}cKgY}!ID<&R!r zUWb$7_5fK>%o|icAqP}8nJ}MsJ0h}P5P!)^y@kBSJ5h5jiCnR4$Y>oxz8rym99LfE zV}IP?Hol)OreRH5m>$a1tB3N17d^5K$we_yVngKpMOG97rkos2=s9Fl(qg`+p8iM4 z@83D-<$CLyWHU9GD*zuFTBJ{4zDR_;O`cO4BD!--xE>%HDahvV5Zs~^hzyL6m!e}u z9NkPv-Kjp&^n;73zJK&crIP)zY@{lYz9ysc%S+You9B9dbQ3eKl(w6)cO1~Y)o}u6 z;J?hz#p~Ayj;SncF@%+U|86aciyrkoe--ulP~Qxs6bc!@a%peBW__As=GCePy%Dkv zE#nP+G}P4bA(0e(3cycpK zepTelt&v>frE`sxkD$gQMv_}a3m^*KEeNGecr<4fY&QMoxW6;IaC0-$9ir!lsvEeBB|y5wz#W(i`tCzC2`LVFuWUEPA;mNq7E-G}(m4(P zBPO7aCj|XST&Qf`5J)?NP)|Oe3v{SDmU{92y&os?%`fMfw5a^2*O!0yzb)exbRjz3 zA!j(F!K=xTfi`Ls8EQ_6gW|L04cbL4g0{6C@|=J8Y8+m+wA!WFVrw+c?@q$5FBuu8 z1jmGkwdc+a+Wt6tesA}d0tE9kWaO~#*C^xA$|Yh(=iQ`#_hXkxE>ZQ*s_yxobAO5j zLKcs-ZfyG|`iI_s0fN7~%D*?1g$4oE8xEtL6Fi>9b)R)Wn2Q9JX{k!xn`(lMhDWuZ zl_u}ooUnH1vYn^0Z+s}v01`ip-C1ON@NL~_Zh3z@dg}LWR!qqD_3^qN9jFwnTpTC9 zCez}$Tiv|Bs@92F-nY5FJ2@JiT{|^z?3{XDe)2IK<9+~tot&cn?O60HIn+`z z$EGqi7E;?8Ly6WP>rTSBxZU7~rv9ZlShPw7@ zaQtaJ!2{QBMQ<<+R(KAdKxYq_1BHD|i8)sjnLvV$oEI6o-B<8}V$=JL_7hMZ10Uf) zvq~Z?h5VfGz&Zl6!gz^#n7xlL9KX56KZ(@se~(0|jyXX3)QT4%EV#ZbAn$>^sr~E9 z#)w(^3csAwrJsQg!aZb00acd(gDf-IK!I$lCT zhDdjcTp>Ou9v!HRj8J#TndLKfpvGFHGo)dew_CMBR#8i)D4^dJn>HiG3Rn#>Jt@S| z%BoDP2`ApL$NK0{0K>*a(y=(QFr+AKAKu*^j)nON5X4t-K+?+OA6fnPRf;6rvKO&o ze{@XeLO_|65*%Z*@t6hcGk0%K&zs^!wFS>Oy9&LE7&+o|J4Qy^h_Tkng5Z6wCZFo= z=!$yiXty-oNupG`g&ak~L{H;unlhTk!=mr@Rqp|ICWm9|Ef~R4;D&5J@V8kuv$1NI zvbv?|n>q_ht+11`#-drS2|Z2B-{3Qc@XJ(_P_NoqrV7$YJ_K845~Mb*EH$mx@lNxn z9XR@{l!Kq-y6-GvU&uv$zKp&Y)nz`J{ME|dvx&#Kn_&A+-7GDxm`Azvg|9K&Vqkto z?14lRg7rH^IuJY!vR?{)YOhyYGazsiF!aAbM-xXGU9wqLM@2EkyPprV1}++kb2yAtyMpLxlj z?Vydc?hbo)b1u5)g6T=-?CoWHPR^P+%%aHTT)AY~xg`|%iWFZKzOPDGZE{i`m1l|G zcl@aQ$yum>*6PtHdfLSM9p~|tAeL%v`bDmux3AND&d4m5RMR2`lDsR#;8GO<3vK|- zzesOw$Q!JagGWx=1ZYtp=%rhVu*MG9k;lLiWQ=qrN=aw+hDC%3MR?D#eJPVi2E(3<5`o;Fy>+?YE=5)r!2NsF0Rk#HHr@P zj)_vuiYH;t0nH_ZZ>%ElU%&hxZD$$O<`*=2LPBtNcXxMpcX#*V4h>pLacPlKv{2lo zxI4w&ic4{)=*yqZ+)sDryvuAhDv%4|9!}EbOdyviUJ77U#36;0L zl+b|D$YJQb(3V>&QSB;zc|V?+CoQwtlhQP>&RlJC52wEUSUm$1s#MYqMaYs<)cd&pPyuv|LS3kiT^>GF(Ew>N$2 zv@eu@OjRC4&MuB}bHu4V0zc)j=>BUi(aK`_)VNYRfIWI}JDQ&N(SW zZnenx7?1=FLU7qg!bD`aUWjAnHM}y<337YP&yCu*M03FjS;X~H^mH@~2{@xilj@Gl7E@cb4!rB)H zXH8iZJp_}5z}u{g$FBmlrIGsI{n{BvGiH-%?r<7KoBrk!W9Bt}gti(fnq`7r%A}eq z8Gci7Ejxl1wz>^@+3RZzOsF{OektXuttFRe9^$oL<&FCQ4rV&1_9GyJCr1m@&k5TW zNm>t~5^xnsruZ0aZg^yl11E8P4ur})4OhL898Zo%Pdi|}hrOuU3s9~ouvmkxHa;!N zr2I6wRORKia9k5J(QLW2Qysp=xH^FvC7{?{5P0vrS5_4XkB$hXiEu zO)V$mmD=|VdmRP}{Kt4p1NUI@^51{3SelE1CKb03H4dmYC}@O0U9rZ)zkPWhm4RWf zkX4UqJ~YU<=|*Gn-bd9WX2=Sm+Hm-Wg1yHrG*bS8!Y2O!O0^^$2_W}OB;i4_>FAL@Uc;U8 zDJ76uw}$cS(hC=4D?*>3Hy6rTG?n{11lO9`=b4LAwoP^Lc+571>sxjrjSEA$>xF~J zUk>w}c>l7-4>0h1Chh5gcT#Q8dM-i)Qu=?0W7hjIg}`w4wZkpht=VdbXmlZF<`~`Y z8ZSO9wC+x&9Q-1g|VSc^I!n(&win9oA?N1jyK&j@pi?K`=ic zv7PCWO104wCH+KuELhU1&^lD@;iDL_iHr_1oMUW5lFxm_YyHM3Iy&gmj@FC7dz}aP zVf$UIE1oOHszrvzsav6bph1(cG{AIEz^sO$C7+cK{?VR@#;TpATtZ*_S62n%qP&q8 zP0~*jI-wHo5N>uIn3@KM`7f>ps}OD3?po$DSh%Q`HGM1kU8*wM z;3#3fHvW`v`qbMw+wTzKR0nk@3QLB6Dv#))I*>=DG^{u&$EdA#3TJ4{eS_ZnVMXr& zQ?XGDHJ=$}$Q>WFEd>+g7lbN`1RpVFI$u)XKVvzT5Z$o+Hxna$nIho5U=Ji>2;Nvz zU`7E44iQf}3NXkn(K1B@K+?y>6{*Kq?=W7x);dh-#2f4;i^g!Yj?r1;BF?d*k4zgz z(RHq6=aR`N*eag;XkIv0G|^25B|@qBG#WzOcW`;*yA z#zz16==hX@pLxIOg0e)u*YMTLJ}*#d%ttAad`P+VE1Ksi{CPmkyI%J*`7ZfTYA4il zYKB^kLA$b!P`x_mfw|%#^auHd1eqIvM9{mWuXQe^K%{UnlemUK8Gi`^%-E^XCa%cU z@UL&<>-GZ^;#j8nU$#6|G(ZVNuH8_vjff`%F{i7nMecIS?9`&bJvMdB%2tJ>ntA9k zdSINKB}8(xMVpn!YHNpltzj89@-B4Y{1yoNP+u1R(;Y=JB+Na%((hPgd?RhAoue(u zel&wI+6)P;A(x7}T;&k5_HiENWBeVFF=Z3@RhNP?eY|?qZ;PHD-z6eV zkvI3uX5lKlZ^R)*N6B-DD#^2}wV2aeEN8Zb^`Q_7-wcDD%fJc+;@|z(PuV$iJH;NN z7ZfBTD*zc~7U1hkARls|N+s6FOjG~D$b?tw8pZqDW|XkJ1QFBOZl;#;XzhwHhS|2K ze=vr+o5@TlfX|ZJ{9-?bn?tCOErps4j+4CBXHL*?&DRUge~m&f(|Wu85hXv*U+Dv4 zLR0^;BV{bZS@&-*$YMxxcn-9Tau9boz7n)<$uFOsxnDo>)p8}H`Tm+`g6u>i2nHzC zat}F$2_1@NvT20keFEdr=&-v9 z1Y3#-vcSAtC>(dol`~by=~#G zP&(r&aK0CRMY#Sd&tmji4S}Fa^g7~eY>e0`d)W_iF8q~Mfp0CVB9Zo;N>V+9I~%8P zGYK$4&jqrrl5jIrN~)(WgO)PKBX^|P9(kmnPasH%U@E@Pv);_vF|)HTT!2YebAZ3R;zxZ&{#FvS3tI_8Rh-)~{^_VJ*iyQ^x2z1$j!yz382HP76^D4rI;hecOO|hZqf)Rbw%TF^KCTkR<;Z_pUKQcTWX@oBt+J>0?;_H(BZWZb|*hVIkmz z?+Q<2&tX}+B!iSSo41RitaJ9Bnf0pfEZGqw?uEog5i`xKBF^voys=2l)zf!@C9S|a zulK6K9MN)Z_1?c{oI`%8LmC#i0$SZ1a+=^QsNQo}$(b9YfQJIl~m;a16bz@J5vln05zZJR#_P17lCOow3{KVl-L0NYw zi+WZylF5)>v+ro^jfPYFJ@jvlM`diyG^1<7hK`5LtGHV`)(^i*k1M%Y1Kf{2kdwuzr5GkUrO(ttRe5LC^gbXkJi9X6 zt`4{MJNq5u?079C+SK5`Mi%v4HV9tvJ3)(T{|GzSxCPCHYf9w4KY%3@168PuK5a&_ zcP^e;Ug|PQX%Q`*zko`jF8p+k8y7vcGjFfg+wu59;oT^jk`UpZ^vE(7BYSQ|Vc}%d z{z)Z^DG(RHliC#mq)&A*1)@S9Q>6x*0(l|q3a#OV8XwlKrx0Oc!*ONNvB}wR)_6G} z3}4DcvCSpMI7P|h`-0|hl#d}D&qpx!64q!T^`;{Rb8hOkgpiCR+uHb{zW%)!uJY_8 z8W#miS9gEmzw8@k@qVqhAEx!-SSx9Mw{yAxvPA-7KG<&x>vs)DhliuZ7##efO~nK? z;F?{f3YY;YA@EUH4?_#;_emqx4i?oDg|0OTyH>l(eo8%5-I|rU2;aBT^w6{#I#=@+ zpokb;n7M=vs;NFt3AFeqSmzqXS}o%@n~SS4#7;@ajykb9#tktqnDL0$vfKX==1gKr zVI_BKx(G{o+?7S2{I+eJjDLzl2e%iIZgNZ#SNDFd98yvwiY!(VU#rhj@1X95?Cq;i zqfqZ)i8z$gV>hfJMLQm2sF5TXai~)Yqwx`G>i%`B=42S2K$fSuFP1Y;LA!Vf8r)*T zpQjmoGTYbbX#&x@zca^RG|MMW>NlG8DoI zXTkcqVuXfUEVYb{ah*4hhl}_eI3-LadG%*}%y42VK;;FUKuZTF8a3e^j=ot)htqJ4-%^E}?M09qx8SXxRE2CAa#jVe^zllhN~djo z*Hqf6Z(;wZU9-CefSBgdC~QN%YqXm}Tvb^2YRvh&rE)>yqCys9&0}-do1+My?O`zL zrX*75djtCU9K`t+_0h#)ZOAzsu{eK#qSF$#f`c}zQ&LFQw;a#|yz(5+Wd(9Pm)DRa zgY;ER@ql<>RdKvhDX38FNFGOHj6d{mfg|VoBy#iu@!j(Z12Wg`5227}A=YPhueh~5 zr8-JV3r@r{0iASq?1-4aa>Qvd3ViuA=g*TWR7$V~m&(;A;7z?Ebx4K=O_=T_qQrxB zkw!ZTw}ROk4f}`TS4-MmzWel8(j1r*^cko)}H&VyU1Rr7w- zw8=r)yHd#PprTd#_vL$nG|v&=j+363MF_9?+6Bo2HfE0$baOTX(|+Nn4ez`jtq|qd zkuk06{u`}O^Af0OF39=|lH#Tr|Ldm3>N_P<2qr!rM}6^PV~$&dGr@4pA%2|OIt;+n ze?RyHnz#)%Y1(R=__iXT(@$Z8pfi~bslbDvXS3y85y54FrR2A4j%x9`u+R`3n?$E2 zGxB}jIWnEIPVyiF4z`8x)_r{=`pbYy4cje zv*5lR=n040bS{^0A!l3PIj30fT(0I?G!2>B*LwT;Qqu;2QV^9DHngB|-Mh)e=8EIq z#&&E3xsMu4$U6Wu1btgx4Hhok{hLF6P-=+8e#nSy-a>iEM|0R+cov=AR%l5 zdyDT#ubEQ`m|ck&p=W4Fh@R1Vtolp$oFoo`_zwi4wj)1(l}vTSkExq+C58msz1$Kj z$?D_JKaZ|^K_EJJB{%qe+J}Tj)Y@yXS1J^zsRLvr(ns8cGFW?b^sUPQpK#6&iPSL& zVoksU(C{n(2?(>S$7ze~3xLiWz@bdHLYnj}AbNPoes|YjE~>ISkDEZyhi;Z8xJA4( zb-eGQ5Px9E$k__Zc4oiM&+@QGm%%PA!Mvh5$>8XJ3xQH~6msox)Af!u<}-Yk>Q>|Z z(9NUVT6dD5Q@=bTmhRl#>XjO~mHZI3TxJw^68F3N+tMsvUspKR@LV@`gl0Co6RfQv zO}=i;r;(}MlXZrl*p_rx1)|e;m!HSO`+FC8p?>rRe7<5*vnX<7YPIq^!8*75h5?3> z-eG)1%7$!-ONO4f9L3qsdxve!eOu{|r4Dm1%s5p~K%$19jSJPvL1C~{b+k*!l*sY6 z2zQrjFR-_i?fR`QP8t+7U+!!+-l>4ycX@>RaggMSeceM~rkG_@BxMG{G*ur_2%(&c zO9RlTj|RGnc1{uq$Y^$9oq_sjBiIH#h(f*^)d>O6K?TZw3}K>g9JI(pFQ!Tg%D3NL z$g4!IaoZM$d$4~mC6b_3?RO0s$g(^ueiei1+#7(Pj5;P!$Zbv` z)-CqQNEsht@PM6Ex+se50`sW;U~jPJ{8ta3aHuP%@YUR?+A?#w+w`0<$AQ0LzstO^ z9Z*u{XW+b1rdX&pj6WwTKXpvp<@1kmex?GOrGe=AKH&y`eQBbz2mRh)tRTo z6=vk-_D_4RCS+tauEWTLhl(0nen4~*P~nx5R_QJFFunlH@#j9GfYbCbA)uv z-MP#2^>`^VRa`b-!RNEuU(s$R#FIa3ApbCcOJU7BH2gqQxdl>6voLmig@9pp4!aMmZIWAt{|k*s#@T*qzzmiaXuP3 zU8r+SS9|98AY(M$JLsw|z)AqOhX9G}=+(!bD|MLtDPN_?J96PwgTdF`zJYc0GK3L_3%`;csKoqhv4%)YwxLWC~cR(od{O<&iL zzFD{Z4Asw5o=;6W>;?O`T4U-*+7R^-C$f!Vx)HL-09>mH5b?3mWFJ6&x9}3qw=EG6652p#s3~1AOiiT;l8Vs&j5yQ59-|7mR!=T zZlyN74hgE-MAB@0jUFRdTwyJldNaK%n~khQK64PflzhVRO_5>T&x6U_btBpuuNX@0 z>zVKm$n6*7`fZOT<_&kC0tP_D0PBJpo>uhr;yAdO4CM(I#x}lY(QQ`)jyWGOt0FfN zG02MF)z)OAfbM~yYL-JM3?oxxZpS^?Ne}VZ&!>KN-mYj8lA175a){Ij!di5>g%35j zxw%PyRLuwvBL`Q9W{G3s7Vaj|m)Qia`a9VOpO6TZTa0$XN_eGPpMFb+aqnss`NZ}D zD15z~Ok{J-QflANywG&VhwfTi&}ylP3=c>8-H`i^>1vy{?+b^*SMNDfx4veL`5KW# zAIm(!!g_rAR|}x$7qAnA%Qhp3)?Xq*3P}Iqg`xP}u=E8O4r{6ZrfSNkfCkWbsNY~g zorwny@GAko<8@11A-XRB8#=DaH-uvr2n68@$@A^(Wqh&9)N>p_;v`r7vDM)$~R%~B-V z(NmthXPCO&oquHss&{~1K)lPzSAzqSQYQv;Z^f-wX+d%4p43Hpr}?cD^#dR>9A4gg zm@;`mPppI$XSW{g6(zy=CsZJK{htPoItMla@y7|_f3z~zum7b6uTAw2C{3-3Z1EOe zl;gj3<8%#F0^)5uhii@nWH5G_DOFW8Rjm-Uyg&_H9KRJHNZq=7b@urGi@{4RzXrlV zZguz7v+T9x=jvSwKsIUa%1gLrcw2m3oYlzHnk=Tj>#1qU`LGIAzs$Fkdfd1xO(Lm# z;vL0?Rl-h@NtS6q$NrFWrQn~^z+mZQ6HoQMN>e^`?TqN6b+bFmcEXw0*AJiHqQugd z)S@C^erPYZXJy=!=Bv7E@|(YNLg)Ad84;-asWj}D%!U^i78xuq@@WA9nKHv8K4a(wv$zdh#2wDn`F>TG<$3({))si}HaW=l zCtlpx%E2f19hIx7Dd84pYZ;!iWe0RPA&v@zai=xpMp&^V4JMYyLPNt=JEblBq~*11ft}0rRN5!-5l{WeVJpM;w|wWQaeE9~!%O z$`spWik^dU)g9lTKa@qw=ufzt8=5*UOuZE{>WUQ1&z0&i`gw^U{JL*hX(WM0QVDvV zPy^<*mR>@)5^zBLo*0qw5#LQE(P<0tayziO4xK#)V)JcZ<(I7iCO$k>JyoIRlN%ji z`go->mi$cC?02Sb8O*SMh>1IgJx{Ot7Lg};*5BgdKYbj4T>Got&pJ+`0fREJo`DL_ zf^lZEiTWcVKf={j&wK{?w8l341ReTJEB2iI@>pvjbk0->s)E2g-4yv5$F0 zqD>dCwQeDgXwsj!AI&6= z(i%5I1@=CKTv9Ezw?Uvj^*j7qE&QQD^dOuJY#F>|iJ#w*1{}MK6TUiJi|%Sr+>ofvpV2R{<$qG3CLtIBZX-7gJyV zc^)F9pjkNVYPN2;Lk0qBEH$kNb0A$=ge3=EcQ+mKsdA%_v z^`bz`6YSMP%fH~-b#BlDEbf1iJ(9@5IY@+-Br4FN?UOI4RUx~WZ}Wf=0Z{;Pt4zdW z7ZUTWT~NunN zvzRc|jrE4iw4wn_Y?JLo1eam^cf*Bo?MSAuZiOFXVC){6%dFez4g>M8YtB%9PoF_n zIV`xGlu{y;C$);sww-+4gSy2?kr!-uW4>p?_C0P-;}XPdOdkd(QE7ISV`svKDzX7m zwY%20pWuVca(tc0G{d|7TMjzFm9C=te0WCw7QS;nuce)Ks3(}GnO!i>=hqCjwbkG&t}klMqw-(f1xtnuoo;_VNv zQQTXN}!At=!w`S{lPrPZWko(52Kf~xf zbYC`BC0+w3NJxInoj4^^5W~~@DJ5;IcNe%d^KJ+*M1>+L1BdvAeva2QCd(tL96;@I zVqY;}Y;&0X-SuMP~}Sf@2~4k$K#(qk8=q z1X+I?^u9!U6(2$?SOrTAlW5aG?Ustk|HY%rr9w|fr6RZnX$x(Cy>Me4r=zyebkkK5 zNcU_RE>8Jw-~1*0Ah0YI3}54ZfA-p`Ihux)0s zJ}vW|TC6dD4n-xWyAKs2Y-Pi8@)>tPt$j*cQ+4^+jP{)ms@R`C1#~(!RP2jv@U$kG zMfyqz96ubo$hXNaH8O?=1lcI@yXp%S{NxvydqulttcNx$nrfK zlwHDg*6cgVHj`hKWPAe3QBj*ilA3rk!BQW&tRkJ&2Tn+D*fJWYZ>j*e?;6{N#H{8|VBFhg zrCm(1%3>Ua$&on#-HOW&*dINjg)NC9ZM`OAoC)D(-KMnKDuC?{??(I)(iHJcWZb~U zC|4m*9YlLq)|u?G4T#1I21eW8KAnvZq-x=idLjrOVK;3-KG)#KSA7*aioR_8p(kcB zAA27Tq|pDZy9w)DYz;LSu<927jCpadpyK^W%@J$gxra_WIta+dRnyU4fM-;S$g4prF>m`IQvw5Y9b#b>Dyv|y$iGZ-&$ z1@@xZ<+0#wI2)0*t|K8m|4`fH^DYX*4IWEmp+1SsU7I0vghKNeXQIgW#EpJ@xs4DI zHLqgT_RS4!Re2x0oH(;ds_{?slN4jD;F{8!V~WFgNP9WKQ7g;&j2=E!ny^4(wYv|i zRab?e0{78lSOAVMx+(kt zb}i3hw=?9&2nE?AALH)(6(D5cFn||9LC+~Dg)KW~(C%y-Z<&$ILz&$DAw{GIh#?VL zV{0q|IpRz~OM>nryT^+l3$?C7I1z)aOGc!qZQ$)+yc13lKD9I?()=)DG3e@9r1l(=T?p)m6ZCmr0UGTIl3l{IbNmp z2lTW*;3)4+f~X0Vq7s{L3ND_)+_h~`RQQQPkoUuMA5Vx`I04mPi=Zr$2Cqk*@WdIv znU?PXg0bZxum;v&H%R+W$F^OzBdZ)7uQJ{#L!YlXeJSlOJ6g~Z#e2OrFL?BUxcl#A zO5){`Q6^m9pZ7DP^yV}1Q=&4Nk^YPCXg1+D!mlqJ*hjMY#}2iR6W6nPf&x#1>0PV7 zSR>uab}SGdKB3yg?jj^lz6KT5%7Kubk=}@G9Z(m5aB0KI=Ol{9@Ja5v zOTcS6HT&*0TSGRL?4{&iUMAzP+QfE*!EP)(tqLB)5I3{`5K=W<2Tz(sO zcg8c6T0C6c8)W4L`VGe2^?5B$d08F4LNeesKgn2~KJW|-tx@?eI}WqaIS{l8#HphV zMMRHM-+I1&pNhfe|I_ao7_>B>O0ETi)#w=viU$+Sv1T_i6Ez%!@hlXKAw+-DskpUy z2HyH!{(c*YJrV>1#x-As1D!S?e0CC;8Xo8`yY{N9t*+&aKDw2Xv~WR zF#z!FDibJ5jP zG044i#b0Ia$%@y^YhIx6FHL>kfXh743=9ra8C$nS4~-Nsx*%4o_L$>_HGNzs>21#E zMIZ@?qQ^21TKl2ynVgCQmR_qzZRSEgm)ntoGiuy`q+(rfu@XPUXRfDfV+^wEJgb1D z8!3dxs)d0@)Q{llVDMhsbJ6WcI#&p}4n2Cz2@oJ9kyAiL=4y^%6xrjl7=+(PrsSI_ zMe~@UoXlakJ^5=tsI#2>lVXZDks<4Kt&l!MrW(0Jx5LY~DFzQ2*V?M5&zHRtbh8%g zZ|aYqPE4iiW#&%m!20(e$;N!I~>piG+P}tfq!)RYpKSkn5NSh>0`u;Tbt~}w%PQ1mPic^ zOrM{2+h&L$l?w@4DfA2#Rtg{j(oZlf3E z)~a|BRcUilP~sK4V#_vT#7DQR@x`3wQYJ!|xSI(u$HPz3*R8;GVcgyYk)%(XdxtVU zXvj3zcio4KFLaP4P9i#%MBz+SS0-4*dihd{c?H=CFQxtFTCYG;!T*IZRXnnFQhT%j zt2g*>wZ)k0`_5un1STB1OIi)b-@Z_i-?rhM69IO*MBGqKU? zrk&Ta54zE~hCrZPG)4OT1kR2-cSWdigpVT||J7?$POX~-*=Sm@Vr+%Y=M7VTy-u#e zFi7vRXlc+#2P^K-O&N_=@{)6Sf2Dj%hitPFb2-9%{0#czm?JMGHr4yVUXI#X(6;G>2MG>k|UIWv_ z#N&0us*%ozrGh4HGmr^~#s&kj&cB?^tn*Uv%TO%~4c=Ida%A+-Ayeln-esYBGE`dw zV92n#q*%O8hJ()|DY|Q`f7t|Ie-ocbM&puQtLCER&g0)4{ zuD(0!^thoYk}X4Z9}KXNX<<;KMm{CyB5so>u27DPN@Yf5$3e1L1-d4XzaZb$Xm8XY z{+c4TDG-L%h${%9J+U-lcW^lz53d z!nb(y~4(70$NTi#*8F>Lrn6BmgW0<-@&PBG#CX(WK(f)aB{MD}j)g?G&q$IhexukhzcqQ4m`Pq2+Bzd{Hd8B06C1v;} zBt*!B{#V2pfmO-+ovo)G88<(FYIP=v9zvbr7f7t@HLy22`gJlni)y5%UdS+s+OfWD zcFtlbiP|ulcj$eMwc;8xx`KUPLVH!p_i2gG;UAz$zlf1Bk&EdW7DhntB%Xz!NlYh& zi_sv1Fp`8mgfkO5lL4;Z$G`l2zx#Od&5zS#tjXo1X}+dxlY5!Lt`vHfjQNYU!y@F% zj=qIo8+b0v;ggac7O?W7MSr{`zD4Y|nq z*cJ_8$964~SJ*zmDs@42Floj)gvw7FmN&sBb(VG{yC_wd$5;l?wWwG5%=wU}wAZV` z4J%rJjIbs|q}n8jGIe!exPoh@5@aK0UV-EVV z9QWZj1qZ7^{9ITAX>wUCPfj8li%7iOO%b#*&X~pZGZa(JG!`La2`YwaGzhI)}WU^7V<#^ex9H`5M`B zJ0uR4zvzialRR~hUv@3*@;7#Z8DNYi?8GB=+Kl!N^4GWhd8K7dWT;-tPc;CY(O!r5 z&O4T%{PEh+AKB%wx%gt_Fgr}UC23ZH@WNA1+QPMocXj!8{(eDe>RjM=jkuboy?7Zk z-_|nPr7peOxWby2V~bJJ#1!)mEQ>D-C-8o*swjCqLf+RQ+ubX0*`efV=Q|I~1PjLK zL>E?ShI!#QGcNHcAz$U&A+1z2OC(#NI1?H$(&*z5%T8}=@h0U?!gIxT*eKP!u7cA5 z1<7Emc$HlHM{bLxqe*-&Wj$olBw>Nb{@^1Xv!tU$d2bi(39c)-8#{RA-?KQQ*3YcU zHSv!VkUVkOVgW7yj{&j)b0N^E4yTS_6m&M>DYX=H5C+YKoS>X0ulA8A>YrHk{1dBK z2vH+KEmoQ2G;CQf6Yy}-^LxdsRP}e5lmTkcHPu53^Y_6@ZDQC`8zsM1ypx6q7Khv8+aQf74tp+PQ$abLKiBZIIYG%5|zV z^wMe*$T8l$VDF@m?0w5U;j45hh2iAziVRHJJtC+r=vlu(AL*Y^d!v?BBCFP)Dg<#QvsdKQ(fYxThbg+b-GHL(@ zaqJ?neHFaZ>+m=;ArR&q60YF#9CWS_n+a$Gal!@gQkVAxKtLRKA1s`MdjusYPPz{Z zG($UrmNdgV0#lk{9RV!Oh>l<$Izee5O*4Wc*gv1b*3tNoY&x0vpyQy0ICx;=Lbl9E zGNEX@p!GmMI_+J-nJ{~uey#u`kfK?-d>9PqE(eNAoSY6CLa&CTAV#kTI~=ScJPg2$ z`y3l=->*Pz=3cFVoTgFc1g%7+;{Y`s`B|XzyLkZ#o3`E}LK;~a7oZS^kvVv%Q-RP7 zp=t`{?#%Q6D)6Mz6CiS->kpNE!zc(vdc_zNJbw2Xzy{|XLe7Td9fr<^a1+eVhH?`c zWCpDiO3#K2xd{WVlktI2!tmJ;X~2gI53c8{St~6mXE)42%v)E>K>d7%p_Xh{@Y1nt@j`sr@d!G7keFi2|3lp9<# z7$yhF2{fAn<_h(mK$Pj^O9KsbQn0<`qPkT3qV)GB9KjD|C3wOoTfkKAUnVJ$4`C%K z<>J`Xb!)K9UC%q>axly&Ao*dvCYv0=*LUX?Bq>|8UHTm>K{z6|)r-8aFX(25qrQk` z^!j&{KFJlTDN=t|lPe7GH*6FtD>opVw1AVxxcTIDXuTvx67eL2lS`DuNB$Qb<L zt0V3O9aVrt4K0IX`9+XRe8-L0P4jqbM@kD-$5$PV)u| zQOxn4LZ;ro4s;W4r7AZTzAfvkQ5K+LkE`*2`g5mgm9v+;+{)CuRkpKLfTk~eq2ExC z{}}U9nxS;93Ev44)dmq&zrVp<`V&TFW{}MQR$9?42)6fSpw@W|^|ramvS`j?fK?jQ z{QTNj0(QbWY+^VzLgoR`{4SQ6fPgZ@5$#}*b9Bl?MM{6nhWJ+zJ7K$d+e`kp5{T0- z00g8y+0-fG?gQFdfeeDhB01Nk-zcp8j^|P9#_AF6s2xFePY$GbIK?azV*#Cf6D6}$ z6U{SR6AaVggI@&eYH@zl5qQC=xhN0={8=x}WWHa+A7=svpy~@|*u#AMIEVqQ z-k(Jk`6r0ug zdvBBNFN}5CjxmTfQ`b-Cszw$%-kP3zEj*}^H`GzycIE_#aGSPY{NbY>X zuY3cY|1Uw}!~48F4D-MK(*&)p%V>nJ{qIXufOUsXAqI~uqiz7ed9q* z>id8CXgxGbad2-a__1h^vGJfuDj;ip{1jWCQ9HJ5Fd5s=LP!)?*mo1}$Vi@TJ2Qd_ z+4l<-trW?|Zjs_78z)Pn^|~ZDrX3|V+UEJv$>EFr6UnHeQRZw9|Ni3ALbu-^yMO30 z@4y}ANvHGky4O0x8I5o%-Z8*J1+aTHm=A&aUPj}s*D@w#mR4O zvwm7#$lqhhk6Ji=2)DjBR^21)T<#PNg%EbN%Z^=Ro+hrTNu3E00iITLZk z^cB7Pm}Lm3Af|C-jC;L8q2|;anDU+!*ccigw%obue|1+@Y0wE~P(z%u7)P@2p-}@igbGy0n+QloZyR9GUwG#)T>98aV%h-=woag(Ar`F9 zI)?vQH(ZSm#wUMC&VvJrPwhBNiQe zLq>GpplI$~{gvFX+7GXU^quK+f>pU|E=a&RL>aT37J5na+2-ILR#M%~21GESU#3=0m zuNI+auuZi`_T2mO9AYO}L9rhTKEI2~N1>lyMB3$jia>lIlEn z9Kg6K4Yrx5>ybA|7P&G0$JRVSJIsdlK$!Twaqt~3*%h-6k!snI7DtX zEa}am!MD0zdEd|;c61%XSSa_K0c)nSv!NO}hX4?;C$`Z5LJ_x;YrCHZg?XXfI{tCH z+D>PpU%5hK)0XW*kL*&Xw2%HVKdZm@oA`)f-vg2&iR9`Z=4*?vgOB$jcFpLFrXg+3s~M{vcX4;db#(LNEjY0;8p=$!v`sN}29 z;z1)r5+b4e2x%0cP^o>bRq$~DZj;^0HwHEfUnbM})`4*r<^zt4_TkoDtTbP|=Zy~P z$7zq$8%h+NVoo+X-|eOW-}Q15Y}>P7Z*%eJ$!^QKGdxP6ixop*`mue&dPKLX5*OUl zfs${ywigV-6nHvbi}w1Ng4y#Ha6mC98q0x>e3~vaT1W`(*n!Dx9jF_%PfE&&ZtSm) zGZ~5n5h-DIhl4yf1x5erxxbr{QoT}AF)dp*ZWT`nJZyBmKiS{m?lF_<#`;Fd-~3d}JY=!w zsdCp(0#gtV&&5u-+5t~J^N0T`Tgy}qI}TU)}LD?|>A z>KK^l>_D*?$QHeuNP~%CRMH*P#1h6y+$&!!X9ypX1{F2*bVrqjxrg|BMn{5-24n$E z_4*k?`Aq$l3~`%`g@_M@v$6L|1&{{*bWuA%6#r~TZw49=Df$alL|VSrEuBor&=`~C8PN3D6dY_H;KptMuQjilAn0A}K| zFejAIOoahK)u+^A^u0uwS-t%cwe#Vb=*zq767FD~2`ZImj}q=M=ip&I8^L{m^QKS` z#H;ublo9Rc%TPTbP7 zs!`#~P~pp*5V!m{s+|N2;54`ZPKjIfS#3Q7&H;ZdVd9UR!_h@?>jt$8ZzHEG)gtb{ zyoi>g%9*3enRCVM>{E>>$@!oZQ2xvnire>NZ7l*sL~cDO5qD%w8wijbKF^hlJAOzt z;w6XAbCu%m|AJ~nNlq7cH;Fs@3)OUQg_cC?L7liKZq^1}@NEJO;x4>RHOj6zVk6fq z?uCC_RHF);BO-Eb;%af(&k-uQF3=(FYoAt)*vJtAxo&Z<_@rvOk%f1aBUExYK1YD$ zc8dFY^+&EB5G6V4ySY&?B<{7Z(N@a6xxHYIxPQN*8r9$26xb*34ck`ZwW-`|m|+y1)ZT zPzZ{^I#3|)*DjT_Qh>dFZh|8nD0EVzUkYX7e!EfoZ2%iV1*j4Czvs-L^?h*Pg28|N z^V(1UFt&htaUWPR4L@iEzc6_4qXs`@tou=k!9%46QH8<7+YJ7v&EOHVM_w@aNfC$) z9=*xnr&k*M?1Ki6U19L}M|d0~mt+YHuyUEl6jpc^Nez&L1@MA;Lj%X;&g66IqC8*0J*1{;5`GpI0+ zpQzkoP*r76?E&*_iS(leo9;2#{3(MP^Z1F{4;a*$*O}PT1YS0%zt5oI^9EaQH)wpT zLDTCDnr97Kxce6RwQ{|-dkwaM_B-{STR|Jp8e==y4mv<5&_9B1No@a~Ijw`sck*(& zn!%F>-Nsvq9)7&{D+W7w-kpEkc;Dv?`X4hG_=v&aYYldp07(qJ#bEfG2D=|H82PEe zXx?DYO9tcRV9j73k1#QAFo}C6d4#D)45q(pu%DNB;Aw+{XosFMIQ#>HnXekm-eqtE zn7<22%<&@T{%ml((_o%BIPsSTCvP-Zc(1|YB{ymveFxBacOU4N#A$!g)&WV}`4v4H zl*B6^(4$@AUHOb24T<;md-P~nyw6@r;@#riy+@Bm#Eb9NqfzngKj_gO@f&Z_Bi&}D zd+vOoyApK^RH69CKdt+Cia<*IGb5NjgTBwkC!cL#ejU)AsO+lq8vuL3{6^3O*jnea zEy~y3y}F&3ZD4*oV3U8H-vK&-ZtP_jtIq)M_X76Z`MSGTxAXP`_Kf+1fZccg5YUai zx|5f!o&G3bo0ZQ~`s09IO}=jIWiy`7hAV#x@aOOE2kbKQ*_P+)W?x2hpKYQ3EI0z# zpy#up$!DvXuN#1MSN1&6z1Zvx_1OsNF9O{UtQ)e=05(neY>9vL&w~pnHVQo*i7zqkG43ioB#`j;6WzQrZhRF;rgMn&g`>nZfaV`XyOQP4Z2c z%;0!F{gN!LCiy=mOlEL=rdj;I8a2=H*Ke@?AGEFVN(yCeWOH15?"":"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 F(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 F(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 T(this,t,p);case"ascii":return U(this,t,p);case"latin1":case"binary":return M(this,t,p);case"base64":return L(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 L(e,t,p){return 0===t&&p===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,p))}function T(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 v(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(v,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),v(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(),v(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"),v(e,t)}))}function v(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,v(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="",v=!1,L=["{","}"];(h(p)&&(v=!0,L=["[","]"]),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||v&&0!=p.length?r<0?w(p)?e.stylize(RegExp.prototype.toString.call(p),"regexp"):e.stylize("[Object]","special"):(e.seen.push(p),l=v?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,L)):L[0]+E+L[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]"===v(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===v(e)}function b(e){return E(e)&&("[object Error]"===v(e)||e instanceof Error)}function I(e){return"function"==typeof e}function v(e){return Object.prototype.toString.call(e)}function L(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 T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function U(){var e=new Date,t=[L(e.getHours()),L(e.getMinutes()),L(e.getSeconds())].join(":");return[e.getDate(),T[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):L(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(v,e):v(e))}function v(e){h("emit readable"),e.emit("readable"),D(e)}function L(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(T,e,t))}function T(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 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 F(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 F(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 * @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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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=[];var 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]);var 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]);var 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=[];var 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]);var 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){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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"]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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){var 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]);var 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){var 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]);var 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]);var 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"]);var 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"]);var 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"]);var 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"]);var 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"]),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}},function(e,t,p){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_GNSS",v.prototype.msg_type=554,v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),v.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),v.prototype.fieldSpec.push(["height","writeDoubleLE",8]),v.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV_GNSS",L.prototype.msg_type=561,L.prototype.constructor=L,L.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"),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(["cov_n_n","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_GNSS",T.prototype.msg_type=557,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);var F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.prototype.fieldSpec.push(["flags","writeUInt8",1]);var 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]);var 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]);var 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]);var 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("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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]);var 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").uint8("sn_counter_n").string("sn",{length:31}).uint8("tn_counter_m").string("tn",{length:31}).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_counter_n","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",31]),V.prototype.fieldSpec.push(["tn_counter_m","writeUInt8",1]),V.prototype.fieldSpec.push(["tn","string",31]),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]),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:v,MsgPosLlhGnss:v,561:L,MsgPosLlhCovGnss:L,557:T,MsgVelEcefGnss:T,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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V}},function(e,t,p){var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_QZSS",v.prototype.msg_type=142,v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","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","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_BDS",L.prototype.msg_type=137,L.prototype.constructor=L,L.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"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),L.prototype.fieldSpec.push(["tgd2","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","writeDoubleLE",8]),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]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","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","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var 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]);var 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]);var 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]);var 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]);var 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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var 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]);var 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]);var 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]);var 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]);var 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]);var $=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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:v,MsgEphemerisQzss:v,137:L,MsgEphemerisBds:L,149:T,MsgEphemerisGalDepA:T,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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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){var 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]);var 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]);var 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]);var 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){var 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=[];var 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=[];var 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]);var 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=[];var 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=[];var 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=[];var 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]);var _=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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE",v.prototype.msg_type=43,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["mask","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE_DEP",L.prototype.msg_type=27,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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:v,MsgMaskSatellite:v,27:L,MsgMaskSatelliteDep:L,181:T,MsgDeviceMonitor:T,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){var 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){var 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=[];var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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=[];var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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"]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="STECSatElementIntegrity",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="STECSatElementIntegrity",v.prototype.constructor=v,v.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"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["stec_residual",_.prototype.fieldSpec]),v.prototype.fieldSpec.push(["stec_bound_mu","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_sig","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_mu_dot","writeUInt8",1]),v.prototype.fieldSpec.push(["stec_bound_sig_dot","writeUInt8",1]);var L=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",L.prototype.msg_type=1534,L.prototype.constructor=L,L.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_bound_mu").uint8("tropo_bound_sig").uint8("n_sats").array("stec_sat_list",{type:v.prototype.parser,length:"n_sats"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),L.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),L.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tropo_qi","writeUInt8",1]),L.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),L.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tropo_bound_mu","writeUInt8",1]),L.prototype.fieldSpec.push(["tropo_bound_sig","writeUInt8",1]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_sat_list","array",v.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);var T=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",T.prototype.msg_type=1526,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),T.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),T.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),T.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),T.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),T.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),T.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);var U=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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]);var M=function(e,t){return r.call(this,e),this.messageType="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);var D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);var O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);var x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);var k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);var F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);var B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);var q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);var z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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:v,1534:L,MsgSsrGriddedCorrectionBounds:L,1526:T,MsgSsrTileDefinitionDep:T,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},function(e,t,p){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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){var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var _=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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var 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]);var v=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",v.prototype.msg_type=19,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").array("states",{type:I.prototype.parser,readUntil:"eof"}),v.prototype.fieldSpec=[],v.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:v,MsgTrackingStateDepB:v}},function(e,t,p){var 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){var 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]);var 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}}]); \ 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 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"]),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}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.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("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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").uint8("sn_counter_n").string("sn",{length:31}).uint8("tn_counter_m").string("tn",{length:31}).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_counter_n","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",31]),V.prototype.fieldSpec.push(["tn_counter_m","writeUInt8",1]),V.prototype.fieldSpec.push(["tn","string",31]),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]),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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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="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_bound_mu").uint8("tropo_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_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_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",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",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",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);let O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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,MsgSsrTileDefinitionDep:v,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},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}}]); \ No newline at end of file diff --git a/javascript/sbp/acquisition.js b/javascript/sbp/acquisition.js index ff9676762e..3ba1313e33 100644 --- a/javascript/sbp/acquisition.js +++ b/javascript/sbp/acquisition.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/acquisition.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/acquisition.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,17 +18,17 @@ * Satellite acquisition messages from the device. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message MSG_ACQ_RESULT (0x002F). @@ -46,7 +46,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAcqResult = function (sbp, fields) { +let MsgAcqResult = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ACQ_RESULT"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -82,7 +82,7 @@ MsgAcqResult.prototype.fieldSpec.push(['sid', GnssSignal.prototype.fieldSpec]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAcqResultDepC = function (sbp, fields) { +let MsgAcqResultDepC = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ACQ_RESULT_DEP_C"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -119,7 +119,7 @@ MsgAcqResultDepC.prototype.fieldSpec.push(['sid', GnssSignalDep.prototype.fieldS * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAcqResultDepB = function (sbp, fields) { +let MsgAcqResultDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ACQ_RESULT_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -156,7 +156,7 @@ MsgAcqResultDepB.prototype.fieldSpec.push(['sid', GnssSignalDep.prototype.fieldS * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAcqResultDepA = function (sbp, fields) { +let MsgAcqResultDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ACQ_RESULT_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -202,7 +202,7 @@ MsgAcqResultDepA.prototype.fieldSpec.push(['prn', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var AcqSvProfile = function (sbp, fields) { +let AcqSvProfile = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "AcqSvProfile"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -261,7 +261,7 @@ AcqSvProfile.prototype.fieldSpec.push(['cp', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var AcqSvProfileDep = function (sbp, fields) { +let AcqSvProfileDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "AcqSvProfileDep"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -310,7 +310,7 @@ AcqSvProfileDep.prototype.fieldSpec.push(['cp', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAcqSvProfile = function (sbp, fields) { +let MsgAcqSvProfile = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ACQ_SV_PROFILE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -337,7 +337,7 @@ MsgAcqSvProfile.prototype.fieldSpec.push(['acq_sv_profile', 'array', AcqSvProfil * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAcqSvProfileDep = function (sbp, fields) { +let MsgAcqSvProfileDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ACQ_SV_PROFILE_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/bootload.js b/javascript/sbp/bootload.js index 34b1bd5ad2..49ff9ce858 100644 --- a/javascript/sbp/bootload.js +++ b/javascript/sbp/bootload.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/bootload.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/bootload.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -20,10 +20,10 @@ * message type ID for both the host request and the device response. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_BOOTLOADER_HANDSHAKE_REQ (0x00B3). @@ -34,7 +34,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBootloaderHandshakeReq = function (sbp, fields) { +let MsgBootloaderHandshakeReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BOOTLOADER_HANDSHAKE_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -63,7 +63,7 @@ MsgBootloaderHandshakeReq.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBootloaderHandshakeResp = function (sbp, fields) { +let MsgBootloaderHandshakeResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BOOTLOADER_HANDSHAKE_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -92,7 +92,7 @@ MsgBootloaderHandshakeResp.prototype.fieldSpec.push(['version', 'string', null]) * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBootloaderJumpToApp = function (sbp, fields) { +let MsgBootloaderJumpToApp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BOOTLOADER_JUMP_TO_APP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -120,7 +120,7 @@ MsgBootloaderJumpToApp.prototype.fieldSpec.push(['jump', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgNapDeviceDnaReq = function (sbp, fields) { +let MsgNapDeviceDnaReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_NAP_DEVICE_DNA_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -149,7 +149,7 @@ MsgNapDeviceDnaReq.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgNapDeviceDnaResp = function (sbp, fields) { +let MsgNapDeviceDnaResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_NAP_DEVICE_DNA_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -176,7 +176,7 @@ MsgNapDeviceDnaResp.prototype.fieldSpec.push(['dna', 'array', 'writeUInt8', func * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBootloaderHandshakeDepA = function (sbp, fields) { +let MsgBootloaderHandshakeDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BOOTLOADER_HANDSHAKE_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/ext_events.js b/javascript/sbp/ext_events.js index bb4f243d74..ca08c7b2ae 100644 --- a/javascript/sbp/ext_events.js +++ b/javascript/sbp/ext_events.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/ext_events.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/ext_events.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -19,10 +19,10 @@ * time. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_EXT_EVENT (0x0101). @@ -39,7 +39,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgExtEvent = function (sbp, fields) { +let MsgExtEvent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EXT_EVENT"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/file_io.js b/javascript/sbp/file_io.js index 89675818e8..9bcfc48264 100644 --- a/javascript/sbp/file_io.js +++ b/javascript/sbp/file_io.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/file_io.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/file_io.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -23,10 +23,10 @@ * request and the device response. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_FILEIO_READ_REQ (0x00A8). @@ -47,7 +47,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioReadReq = function (sbp, fields) { +let MsgFileioReadReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_READ_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -84,7 +84,7 @@ MsgFileioReadReq.prototype.fieldSpec.push(['filename', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioReadResp = function (sbp, fields) { +let MsgFileioReadResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_READ_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -122,7 +122,7 @@ MsgFileioReadResp.prototype.fieldSpec.push(['contents', 'array', 'writeUInt8', f * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioReadDirReq = function (sbp, fields) { +let MsgFileioReadDirReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_READ_DIR_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -158,7 +158,7 @@ MsgFileioReadDirReq.prototype.fieldSpec.push(['dirname', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioReadDirResp = function (sbp, fields) { +let MsgFileioReadDirResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_READ_DIR_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -190,7 +190,7 @@ MsgFileioReadDirResp.prototype.fieldSpec.push(['contents', 'array', 'writeUInt8' * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioRemove = function (sbp, fields) { +let MsgFileioRemove = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_REMOVE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -225,7 +225,7 @@ MsgFileioRemove.prototype.fieldSpec.push(['filename', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioWriteReq = function (sbp, fields) { +let MsgFileioWriteReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_WRITE_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -261,7 +261,7 @@ MsgFileioWriteReq.prototype.fieldSpec.push(['data', 'array', 'writeUInt8', funct * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioWriteResp = function (sbp, fields) { +let MsgFileioWriteResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_WRITE_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -290,7 +290,7 @@ MsgFileioWriteResp.prototype.fieldSpec.push(['sequence', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioConfigReq = function (sbp, fields) { +let MsgFileioConfigReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_CONFIG_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -322,7 +322,7 @@ MsgFileioConfigReq.prototype.fieldSpec.push(['sequence', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFileioConfigResp = function (sbp, fields) { +let MsgFileioConfigResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FILEIO_CONFIG_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/flash.js b/javascript/sbp/flash.js index 655af0856a..6a0ed40134 100644 --- a/javascript/sbp/flash.js +++ b/javascript/sbp/flash.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/flash.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/flash.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -21,10 +21,10 @@ * 2.3.1. This module does not apply to Piksi Multi. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_FLASH_PROGRAM (0x00E6). @@ -43,7 +43,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFlashProgram = function (sbp, fields) { +let MsgFlashProgram = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FLASH_PROGRAM"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -78,7 +78,7 @@ MsgFlashProgram.prototype.fieldSpec.push(['data', 'array', 'writeUInt8', functio * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFlashDone = function (sbp, fields) { +let MsgFlashDone = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FLASH_DONE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -111,7 +111,7 @@ MsgFlashDone.prototype.fieldSpec.push(['response', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFlashReadReq = function (sbp, fields) { +let MsgFlashReadReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FLASH_READ_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -148,7 +148,7 @@ MsgFlashReadReq.prototype.fieldSpec.push(['addr_len', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFlashReadResp = function (sbp, fields) { +let MsgFlashReadResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FLASH_READ_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -183,7 +183,7 @@ MsgFlashReadResp.prototype.fieldSpec.push(['addr_len', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFlashErase = function (sbp, fields) { +let MsgFlashErase = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FLASH_ERASE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -213,7 +213,7 @@ MsgFlashErase.prototype.fieldSpec.push(['sector_num', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgStmFlashLockSector = function (sbp, fields) { +let MsgStmFlashLockSector = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_STM_FLASH_LOCK_SECTOR"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -241,7 +241,7 @@ MsgStmFlashLockSector.prototype.fieldSpec.push(['sector', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgStmFlashUnlockSector = function (sbp, fields) { +let MsgStmFlashUnlockSector = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_STM_FLASH_UNLOCK_SECTOR"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -267,7 +267,7 @@ MsgStmFlashUnlockSector.prototype.fieldSpec.push(['sector', 'writeUInt32LE', 4]) * * @param sbp An SBP object with a payload to be decoded. */ -var MsgStmUniqueIdReq = function (sbp, fields) { +let MsgStmUniqueIdReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_STM_UNIQUE_ID_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -294,7 +294,7 @@ MsgStmUniqueIdReq.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgStmUniqueIdResp = function (sbp, fields) { +let MsgStmUniqueIdResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_STM_UNIQUE_ID_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -322,7 +322,7 @@ MsgStmUniqueIdResp.prototype.fieldSpec.push(['stm_id', 'array', 'writeUInt8', fu * * @param sbp An SBP object with a payload to be decoded. */ -var MsgM25FlashWriteStatus = function (sbp, fields) { +let MsgM25FlashWriteStatus = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_M25_FLASH_WRITE_STATUS"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/gnss.js b/javascript/sbp/gnss.js index cc1fe80fa7..de4ecc47d5 100644 --- a/javascript/sbp/gnss.js +++ b/javascript/sbp/gnss.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/gnss.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/gnss.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Various structs shared between modules ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message fragment GnssSignal @@ -35,7 +35,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var GnssSignal = function (sbp, fields) { +let GnssSignal = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GnssSignal"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -65,7 +65,7 @@ GnssSignal.prototype.fieldSpec.push(['code', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var SvId = function (sbp, fields) { +let SvId = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "SvId"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -97,7 +97,7 @@ SvId.prototype.fieldSpec.push(['constellation', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var GnssSignalDep = function (sbp, fields) { +let GnssSignalDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GnssSignalDep"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -129,7 +129,7 @@ GnssSignalDep.prototype.fieldSpec.push(['reserved', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var GPSTimeDep = function (sbp, fields) { +let GPSTimeDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GPSTimeDep"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -159,7 +159,7 @@ GPSTimeDep.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var GPSTimeSec = function (sbp, fields) { +let GPSTimeSec = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GPSTimeSec"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -191,7 +191,7 @@ GPSTimeSec.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var GPSTime = function (sbp, fields) { +let GPSTime = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GPSTime"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -224,7 +224,7 @@ GPSTime.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var CarrierPhase = function (sbp, fields) { +let CarrierPhase = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "CarrierPhase"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/imu.js b/javascript/sbp/imu.js index 4ef11b6114..be7f0b5536 100644 --- a/javascript/sbp/imu.js +++ b/javascript/sbp/imu.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/imu.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/imu.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Inertial Measurement Unit (IMU) messages. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_IMU_RAW (0x0900). @@ -48,7 +48,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgImuRaw = function (sbp, fields) { +let MsgImuRaw = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_IMU_RAW"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -93,7 +93,7 @@ MsgImuRaw.prototype.fieldSpec.push(['gyr_z', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgImuAux = function (sbp, fields) { +let MsgImuAux = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_IMU_AUX"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/integrity.js b/javascript/sbp/integrity.js index e64316dbc0..8544c4c13c 100644 --- a/javascript/sbp/integrity.js +++ b/javascript/sbp/integrity.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/integrity.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/integrity.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,17 +18,17 @@ * Integrity flag messages ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message fragment IntegritySSRHeader @@ -45,7 +45,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var IntegritySSRHeader = function (sbp, fields) { +let IntegritySSRHeader = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "IntegritySSRHeader"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -95,7 +95,7 @@ IntegritySSRHeader.prototype.fieldSpec.push(['chain_id', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrFlagHighLevel = function (sbp, fields) { +let MsgSsrFlagHighLevel = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_FLAG_HIGH_LEVEL"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -154,7 +154,7 @@ MsgSsrFlagHighLevel.prototype.fieldSpec.push(['use_iono_grid_point_sat_los', 'wr * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrFlagSatellites = function (sbp, fields) { +let MsgSsrFlagSatellites = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_FLAG_SATELLITES"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -196,7 +196,7 @@ MsgSsrFlagSatellites.prototype.fieldSpec.push(['faulty_sats', 'array', 'writeUIn * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrFlagTropoGridPoints = function (sbp, fields) { +let MsgSsrFlagTropoGridPoints = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_FLAG_TROPO_GRID_POINTS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -228,7 +228,7 @@ MsgSsrFlagTropoGridPoints.prototype.fieldSpec.push(['faulty_points', 'array', 'w * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrFlagIonoGridPoints = function (sbp, fields) { +let MsgSsrFlagIonoGridPoints = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_FLAG_IONO_GRID_POINTS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -260,7 +260,7 @@ MsgSsrFlagIonoGridPoints.prototype.fieldSpec.push(['faulty_points', 'array', 'wr * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrFlagIonoTileSatLos = function (sbp, fields) { +let MsgSsrFlagIonoTileSatLos = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_FLAG_IONO_TILE_SAT_LOS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -293,7 +293,7 @@ MsgSsrFlagIonoTileSatLos.prototype.fieldSpec.push(['faulty_los', 'array', SvId.p * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrFlagIonoGridPointSatLos = function (sbp, fields) { +let MsgSsrFlagIonoGridPointSatLos = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/linux.js b/javascript/sbp/linux.js index 099e676077..2d6f66184b 100644 --- a/javascript/sbp/linux.js +++ b/javascript/sbp/linux.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/linux.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/linux.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Linux state monitoring. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_LINUX_CPU_STATE_DEP_A (0x7F00). @@ -38,7 +38,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxCpuStateDepA = function (sbp, fields) { +let MsgLinuxCpuStateDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_CPU_STATE_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -78,7 +78,7 @@ MsgLinuxCpuStateDepA.prototype.fieldSpec.push(['cmdline', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxMemStateDepA = function (sbp, fields) { +let MsgLinuxMemStateDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_MEM_STATE_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -118,7 +118,7 @@ MsgLinuxMemStateDepA.prototype.fieldSpec.push(['cmdline', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxSysStateDepA = function (sbp, fields) { +let MsgLinuxSysStateDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_SYS_STATE_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -164,7 +164,7 @@ MsgLinuxSysStateDepA.prototype.fieldSpec.push(['pid_count', 'writeUInt16LE', 2]) * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxProcessSocketCounts = function (sbp, fields) { +let MsgLinuxProcessSocketCounts = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_PROCESS_SOCKET_COUNTS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -213,7 +213,7 @@ MsgLinuxProcessSocketCounts.prototype.fieldSpec.push(['cmdline', 'string', null] * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxProcessSocketQueues = function (sbp, fields) { +let MsgLinuxProcessSocketQueues = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_PROCESS_SOCKET_QUEUES"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -259,7 +259,7 @@ MsgLinuxProcessSocketQueues.prototype.fieldSpec.push(['cmdline', 'string', null] * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxSocketUsage = function (sbp, fields) { +let MsgLinuxSocketUsage = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_SOCKET_USAGE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -295,7 +295,7 @@ MsgLinuxSocketUsage.prototype.fieldSpec.push(['socket_type_counts', 'array', 'wr * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxProcessFdCount = function (sbp, fields) { +let MsgLinuxProcessFdCount = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_PROCESS_FD_COUNT"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -332,7 +332,7 @@ MsgLinuxProcessFdCount.prototype.fieldSpec.push(['cmdline', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxProcessFdSummary = function (sbp, fields) { +let MsgLinuxProcessFdSummary = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_PROCESS_FD_SUMMARY"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -368,7 +368,7 @@ MsgLinuxProcessFdSummary.prototype.fieldSpec.push(['most_opened', 'string', null * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxCpuState = function (sbp, fields) { +let MsgLinuxCpuState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_CPU_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -414,7 +414,7 @@ MsgLinuxCpuState.prototype.fieldSpec.push(['cmdline', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxMemState = function (sbp, fields) { +let MsgLinuxMemState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_MEM_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -460,7 +460,7 @@ MsgLinuxMemState.prototype.fieldSpec.push(['cmdline', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLinuxSysState = function (sbp, fields) { +let MsgLinuxSysState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LINUX_SYS_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/logging.js b/javascript/sbp/logging.js index 0d7e9680c9..bf69cf9285 100644 --- a/javascript/sbp/logging.js +++ b/javascript/sbp/logging.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/logging.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/logging.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Logging and debugging messages from the device. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_LOG (0x0401). @@ -36,7 +36,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgLog = function (sbp, fields) { +let MsgLog = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_LOG"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -72,7 +72,7 @@ MsgLog.prototype.fieldSpec.push(['text', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFwd = function (sbp, fields) { +let MsgFwd = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FWD"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -103,7 +103,7 @@ MsgFwd.prototype.fieldSpec.push(['fwd_payload', 'array', 'writeUInt8', function * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPrintDep = function (sbp, fields) { +let MsgPrintDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_PRINT_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/mag.js b/javascript/sbp/mag.js index c89a206ec3..b56dca4229 100644 --- a/javascript/sbp/mag.js +++ b/javascript/sbp/mag.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/mag.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/mag.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Magnetometer (mag) messages. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_MAG_RAW (0x0902). @@ -38,7 +38,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgMagRaw = function (sbp, fields) { +let MsgMagRaw = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_MAG_RAW"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/navigation.js b/javascript/sbp/navigation.js index fe9de200e0..221e0e4a98 100644 --- a/javascript/sbp/navigation.js +++ b/javascript/sbp/navigation.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/navigation.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/navigation.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -35,10 +35,10 @@ * else), but not a Time of Measurement. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_GPS_TIME (0x0102). @@ -61,7 +61,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGpsTime = function (sbp, fields) { +let MsgGpsTime = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GPS_TIME"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -105,7 +105,7 @@ MsgGpsTime.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGpsTimeGnss = function (sbp, fields) { +let MsgGpsTimeGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GPS_TIME_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -147,7 +147,7 @@ MsgGpsTimeGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgUtcTime = function (sbp, fields) { +let MsgUtcTime = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_UTC_TIME"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -199,7 +199,7 @@ MsgUtcTime.prototype.fieldSpec.push(['ns', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgUtcTimeGnss = function (sbp, fields) { +let MsgUtcTimeGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_UTC_TIME_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -250,7 +250,7 @@ MsgUtcTimeGnss.prototype.fieldSpec.push(['ns', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgDops = function (sbp, fields) { +let MsgDops = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_DOPS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -300,7 +300,7 @@ MsgDops.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosEcef = function (sbp, fields) { +let MsgPosEcef = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_ECEF"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -357,7 +357,7 @@ MsgPosEcef.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosEcefCov = function (sbp, fields) { +let MsgPosEcefCov = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_ECEF_COV"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -418,7 +418,7 @@ MsgPosEcefCov.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosLlh = function (sbp, fields) { +let MsgPosLlh = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_LLH"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -476,7 +476,7 @@ MsgPosLlh.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosLlhCov = function (sbp, fields) { +let MsgPosLlhCov = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_LLH_COV"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -529,7 +529,7 @@ MsgPosLlhCov.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var EstimatedHorizontalErrorEllipse = function (sbp, fields) { +let EstimatedHorizontalErrorEllipse = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "EstimatedHorizontalErrorEllipse"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -585,7 +585,7 @@ EstimatedHorizontalErrorEllipse.prototype.fieldSpec.push(['orientation', 'writeF * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosLlhAcc = function (sbp, fields) { +let MsgPosLlhAcc = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_LLH_ACC"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -645,7 +645,7 @@ MsgPosLlhAcc.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBaselineEcef = function (sbp, fields) { +let MsgBaselineEcef = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASELINE_ECEF"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -695,7 +695,7 @@ MsgBaselineEcef.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBaselineNed = function (sbp, fields) { +let MsgBaselineNed = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASELINE_NED"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -744,7 +744,7 @@ MsgBaselineNed.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelEcef = function (sbp, fields) { +let MsgVelEcef = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_ECEF"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -796,7 +796,7 @@ MsgVelEcef.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelEcefCov = function (sbp, fields) { +let MsgVelEcefCov = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_ECEF_COV"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -855,7 +855,7 @@ MsgVelEcefCov.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelNed = function (sbp, fields) { +let MsgVelNed = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_NED"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -912,7 +912,7 @@ MsgVelNed.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelNedCov = function (sbp, fields) { +let MsgVelNedCov = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_NED_COV"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -972,7 +972,7 @@ MsgVelNedCov.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosEcefGnss = function (sbp, fields) { +let MsgPosEcefGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_ECEF_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1029,7 +1029,7 @@ MsgPosEcefGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosEcefCovGnss = function (sbp, fields) { +let MsgPosEcefCovGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_ECEF_COV_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1090,7 +1090,7 @@ MsgPosEcefCovGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosLlhGnss = function (sbp, fields) { +let MsgPosLlhGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_LLH_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1148,7 +1148,7 @@ MsgPosLlhGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosLlhCovGnss = function (sbp, fields) { +let MsgPosLlhCovGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_LLH_COV_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1205,7 +1205,7 @@ MsgPosLlhCovGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelEcefGnss = function (sbp, fields) { +let MsgVelEcefGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_ECEF_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1257,7 +1257,7 @@ MsgVelEcefGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelEcefCovGnss = function (sbp, fields) { +let MsgVelEcefCovGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_ECEF_COV_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1316,7 +1316,7 @@ MsgVelEcefCovGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelNedGnss = function (sbp, fields) { +let MsgVelNedGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_NED_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1373,7 +1373,7 @@ MsgVelNedGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelNedCovGnss = function (sbp, fields) { +let MsgVelNedCovGnss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_NED_COV_GNSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1441,7 +1441,7 @@ MsgVelNedCovGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelBody = function (sbp, fields) { +let MsgVelBody = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_BODY"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1506,7 +1506,7 @@ MsgVelBody.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelCog = function (sbp, fields) { +let MsgVelCog = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_COG"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1549,7 +1549,7 @@ MsgVelCog.prototype.fieldSpec.push(['flags', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAgeCorrections = function (sbp, fields) { +let MsgAgeCorrections = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_AGE_CORRECTIONS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1589,7 +1589,7 @@ MsgAgeCorrections.prototype.fieldSpec.push(['age', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGpsTimeDepA = function (sbp, fields) { +let MsgGpsTimeDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GPS_TIME_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1628,7 +1628,7 @@ MsgGpsTimeDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgDopsDepA = function (sbp, fields) { +let MsgDopsDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_DOPS_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1676,7 +1676,7 @@ MsgDopsDepA.prototype.fieldSpec.push(['vdop', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosEcefDepA = function (sbp, fields) { +let MsgPosEcefDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_ECEF_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1727,7 +1727,7 @@ MsgPosEcefDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPosLlhDepA = function (sbp, fields) { +let MsgPosLlhDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_POS_LLH_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1777,7 +1777,7 @@ MsgPosLlhDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBaselineEcefDepA = function (sbp, fields) { +let MsgBaselineEcefDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASELINE_ECEF_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1827,7 +1827,7 @@ MsgBaselineEcefDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBaselineNedDepA = function (sbp, fields) { +let MsgBaselineNedDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASELINE_NED_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1876,7 +1876,7 @@ MsgBaselineNedDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelEcefDepA = function (sbp, fields) { +let MsgVelEcefDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_ECEF_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1925,7 +1925,7 @@ MsgVelEcefDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgVelNedDepA = function (sbp, fields) { +let MsgVelNedDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_VEL_NED_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1971,7 +1971,7 @@ MsgVelNedDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBaselineHeadingDepA = function (sbp, fields) { +let MsgBaselineHeadingDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASELINE_HEADING_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2012,7 +2012,7 @@ MsgBaselineHeadingDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgProtectionLevelDepA = function (sbp, fields) { +let MsgProtectionLevelDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_PROTECTION_LEVEL_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2075,7 +2075,7 @@ MsgProtectionLevelDepA.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgProtectionLevel = function (sbp, fields) { +let MsgProtectionLevel = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_PROTECTION_LEVEL"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2152,7 +2152,7 @@ MsgProtectionLevel.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgUtcLeapSecond = function (sbp, fields) { +let MsgUtcLeapSecond = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_UTC_LEAP_SECOND"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2216,7 +2216,7 @@ MsgUtcLeapSecond.prototype.fieldSpec.push(['count_after', 'writeInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgReferenceFrameParam = function (sbp, fields) { +let MsgReferenceFrameParam = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_REFERENCE_FRAME_PARAM"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/ndb.js b/javascript/sbp/ndb.js index ae838185aa..6151df3e4f 100644 --- a/javascript/sbp/ndb.js +++ b/javascript/sbp/ndb.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/ndb.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/ndb.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,17 +18,17 @@ * Messages for logging NDB events. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message MSG_NDB_EVENT (0x0400). @@ -53,7 +53,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgNdbEvent = function (sbp, fields) { +let MsgNdbEvent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_NDB_EVENT"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/observation.js b/javascript/sbp/observation.js index 3d5d01ec01..46d5e91f6d 100644 --- a/javascript/sbp/observation.js +++ b/javascript/sbp/observation.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/observation.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/observation.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -20,17 +20,17 @@ * Swift's cloud GNSS correction product. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message fragment ObservationHeader @@ -44,7 +44,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var ObservationHeader = function (sbp, fields) { +let ObservationHeader = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "ObservationHeader"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -75,7 +75,7 @@ ObservationHeader.prototype.fieldSpec.push(['n_obs', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var Doppler = function (sbp, fields) { +let Doppler = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "Doppler"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -119,7 +119,7 @@ Doppler.prototype.fieldSpec.push(['f', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var PackedObsContent = function (sbp, fields) { +let PackedObsContent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "PackedObsContent"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -168,7 +168,7 @@ PackedObsContent.prototype.fieldSpec.push(['sid', GnssSignal.prototype.fieldSpec * * @param sbp An SBP object with a payload to be decoded. */ -var PackedOsrContent = function (sbp, fields) { +let PackedOsrContent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "PackedOsrContent"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -214,7 +214,7 @@ PackedOsrContent.prototype.fieldSpec.push(['range_std', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgObs = function (sbp, fields) { +let MsgObs = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_OBS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -248,7 +248,7 @@ MsgObs.prototype.fieldSpec.push(['obs', 'array', PackedObsContent.prototype.fiel * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBasePosLlh = function (sbp, fields) { +let MsgBasePosLlh = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASE_POS_LLH"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -285,7 +285,7 @@ MsgBasePosLlh.prototype.fieldSpec.push(['height', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBasePosEcef = function (sbp, fields) { +let MsgBasePosEcef = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASE_POS_ECEF"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -321,7 +321,7 @@ MsgBasePosEcef.prototype.fieldSpec.push(['z', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var EphemerisCommonContent = function (sbp, fields) { +let EphemerisCommonContent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "EphemerisCommonContent"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -362,7 +362,7 @@ EphemerisCommonContent.prototype.fieldSpec.push(['health_bits', 'writeUInt8', 1] * * @param sbp An SBP object with a payload to be decoded. */ -var EphemerisCommonContentDepB = function (sbp, fields) { +let EphemerisCommonContentDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "EphemerisCommonContentDepB"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -403,7 +403,7 @@ EphemerisCommonContentDepB.prototype.fieldSpec.push(['health_bits', 'writeUInt8' * * @param sbp An SBP object with a payload to be decoded. */ -var EphemerisCommonContentDepA = function (sbp, fields) { +let EphemerisCommonContentDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "EphemerisCommonContentDepA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -464,7 +464,7 @@ EphemerisCommonContentDepA.prototype.fieldSpec.push(['health_bits', 'writeUInt8' * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGpsDepE = function (sbp, fields) { +let MsgEphemerisGpsDepE = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GPS_DEP_E"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -558,7 +558,7 @@ MsgEphemerisGpsDepE.prototype.fieldSpec.push(['iodc', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGpsDepF = function (sbp, fields) { +let MsgEphemerisGpsDepF = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GPS_DEP_F"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -654,7 +654,7 @@ MsgEphemerisGpsDepF.prototype.fieldSpec.push(['iodc', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGps = function (sbp, fields) { +let MsgEphemerisGps = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GPS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -748,7 +748,7 @@ MsgEphemerisGps.prototype.fieldSpec.push(['iodc', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisQzss = function (sbp, fields) { +let MsgEphemerisQzss = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_QZSS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -847,7 +847,7 @@ MsgEphemerisQzss.prototype.fieldSpec.push(['iodc', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisBds = function (sbp, fields) { +let MsgEphemerisBds = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_BDS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -944,7 +944,7 @@ MsgEphemerisBds.prototype.fieldSpec.push(['iodc', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGalDepA = function (sbp, fields) { +let MsgEphemerisGalDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GAL_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1043,7 +1043,7 @@ MsgEphemerisGalDepA.prototype.fieldSpec.push(['iodc', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGal = function (sbp, fields) { +let MsgEphemerisGal = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GAL"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1122,7 +1122,7 @@ MsgEphemerisGal.prototype.fieldSpec.push(['source', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisSbasDepA = function (sbp, fields) { +let MsgEphemerisSbasDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_SBAS_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1167,7 +1167,7 @@ MsgEphemerisSbasDepA.prototype.fieldSpec.push(['a_gf1', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGloDepA = function (sbp, fields) { +let MsgEphemerisGloDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GLO_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1210,7 +1210,7 @@ MsgEphemerisGloDepA.prototype.fieldSpec.push(['acc', 'array', 'writeDoubleLE', f * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisSbasDepB = function (sbp, fields) { +let MsgEphemerisSbasDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_SBAS_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1251,7 +1251,7 @@ MsgEphemerisSbasDepB.prototype.fieldSpec.push(['a_gf1', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisSbas = function (sbp, fields) { +let MsgEphemerisSbas = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_SBAS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1296,7 +1296,7 @@ MsgEphemerisSbas.prototype.fieldSpec.push(['a_gf1', 'writeFloatLE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGloDepB = function (sbp, fields) { +let MsgEphemerisGloDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GLO_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1343,7 +1343,7 @@ MsgEphemerisGloDepB.prototype.fieldSpec.push(['acc', 'array', 'writeDoubleLE', f * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGloDepC = function (sbp, fields) { +let MsgEphemerisGloDepC = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GLO_DEP_C"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1393,7 +1393,7 @@ MsgEphemerisGloDepC.prototype.fieldSpec.push(['fcn', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGloDepD = function (sbp, fields) { +let MsgEphemerisGloDepD = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GLO_DEP_D"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1447,7 +1447,7 @@ MsgEphemerisGloDepD.prototype.fieldSpec.push(['iod', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisGlo = function (sbp, fields) { +let MsgEphemerisGlo = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_GLO"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1521,7 +1521,7 @@ MsgEphemerisGlo.prototype.fieldSpec.push(['iod', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisDepD = function (sbp, fields) { +let MsgEphemerisDepD = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_DEP_D"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1629,7 +1629,7 @@ MsgEphemerisDepD.prototype.fieldSpec.push(['reserved', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisDepA = function (sbp, fields) { +let MsgEphemerisDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1732,7 +1732,7 @@ MsgEphemerisDepA.prototype.fieldSpec.push(['prn', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisDepB = function (sbp, fields) { +let MsgEphemerisDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1842,7 +1842,7 @@ MsgEphemerisDepB.prototype.fieldSpec.push(['iode', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgEphemerisDepC = function (sbp, fields) { +let MsgEphemerisDepC = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_EPHEMERIS_DEP_C"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1927,7 +1927,7 @@ MsgEphemerisDepC.prototype.fieldSpec.push(['reserved', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var ObservationHeaderDep = function (sbp, fields) { +let ObservationHeaderDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "ObservationHeaderDep"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1959,7 +1959,7 @@ ObservationHeaderDep.prototype.fieldSpec.push(['n_obs', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var CarrierPhaseDepA = function (sbp, fields) { +let CarrierPhaseDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "CarrierPhaseDepA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1992,7 +1992,7 @@ CarrierPhaseDepA.prototype.fieldSpec.push(['f', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var PackedObsContentDepA = function (sbp, fields) { +let PackedObsContentDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "PackedObsContentDepA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2032,7 +2032,7 @@ PackedObsContentDepA.prototype.fieldSpec.push(['prn', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var PackedObsContentDepB = function (sbp, fields) { +let PackedObsContentDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "PackedObsContentDepB"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2073,7 +2073,7 @@ PackedObsContentDepB.prototype.fieldSpec.push(['sid', GnssSignalDep.prototype.fi * * @param sbp An SBP object with a payload to be decoded. */ -var PackedObsContentDepC = function (sbp, fields) { +let PackedObsContentDepC = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "PackedObsContentDepC"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2108,7 +2108,7 @@ PackedObsContentDepC.prototype.fieldSpec.push(['sid', GnssSignalDep.prototype.fi * * @param sbp An SBP object with a payload to be decoded. */ -var MsgObsDepA = function (sbp, fields) { +let MsgObsDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_OBS_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2141,7 +2141,7 @@ MsgObsDepA.prototype.fieldSpec.push(['obs', 'array', PackedObsContentDepA.protot * * @param sbp An SBP object with a payload to be decoded. */ -var MsgObsDepB = function (sbp, fields) { +let MsgObsDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_OBS_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2176,7 +2176,7 @@ MsgObsDepB.prototype.fieldSpec.push(['obs', 'array', PackedObsContentDepB.protot * * @param sbp An SBP object with a payload to be decoded. */ -var MsgObsDepC = function (sbp, fields) { +let MsgObsDepC = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_OBS_DEP_C"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2215,7 +2215,7 @@ MsgObsDepC.prototype.fieldSpec.push(['obs', 'array', PackedObsContentDepC.protot * * @param sbp An SBP object with a payload to be decoded. */ -var MsgIono = function (sbp, fields) { +let MsgIono = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_IONO"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2259,7 +2259,7 @@ MsgIono.prototype.fieldSpec.push(['b3', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSvConfigurationGpsDep = function (sbp, fields) { +let MsgSvConfigurationGpsDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SV_CONFIGURATION_GPS_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2303,7 +2303,7 @@ MsgSvConfigurationGpsDep.prototype.fieldSpec.push(['l2c_mask', 'writeUInt32LE', * * @param sbp An SBP object with a payload to be decoded. */ -var GnssCapb = function (sbp, fields) { +let GnssCapb = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GnssCapb"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2357,7 +2357,7 @@ GnssCapb.prototype.fieldSpec.push(['gal_e5', 'writeUInt64LE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGnssCapb = function (sbp, fields) { +let MsgGnssCapb = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GNSS_CAPB"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2392,7 +2392,7 @@ MsgGnssCapb.prototype.fieldSpec.push(['gc', GnssCapb.prototype.fieldSpec]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGroupDelayDepA = function (sbp, fields) { +let MsgGroupDelayDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GROUP_DELAY_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2435,7 +2435,7 @@ MsgGroupDelayDepA.prototype.fieldSpec.push(['isc_l2c', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGroupDelayDepB = function (sbp, fields) { +let MsgGroupDelayDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GROUP_DELAY_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2478,7 +2478,7 @@ MsgGroupDelayDepB.prototype.fieldSpec.push(['isc_l2c', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGroupDelay = function (sbp, fields) { +let MsgGroupDelay = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GROUP_DELAY"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2527,7 +2527,7 @@ MsgGroupDelay.prototype.fieldSpec.push(['isc_l2c', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var AlmanacCommonContent = function (sbp, fields) { +let AlmanacCommonContent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "AlmanacCommonContent"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2575,7 +2575,7 @@ AlmanacCommonContent.prototype.fieldSpec.push(['health_bits', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var AlmanacCommonContentDep = function (sbp, fields) { +let AlmanacCommonContentDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "AlmanacCommonContentDep"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2623,7 +2623,7 @@ AlmanacCommonContentDep.prototype.fieldSpec.push(['health_bits', 'writeUInt8', 1 * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAlmanacGpsDep = function (sbp, fields) { +let MsgAlmanacGpsDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ALMANAC_GPS_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2680,7 +2680,7 @@ MsgAlmanacGpsDep.prototype.fieldSpec.push(['af1', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAlmanacGps = function (sbp, fields) { +let MsgAlmanacGps = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ALMANAC_GPS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2734,7 +2734,7 @@ MsgAlmanacGps.prototype.fieldSpec.push(['af1', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAlmanacGloDep = function (sbp, fields) { +let MsgAlmanacGloDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ALMANAC_GLO_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2784,7 +2784,7 @@ MsgAlmanacGloDep.prototype.fieldSpec.push(['omega', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAlmanacGlo = function (sbp, fields) { +let MsgAlmanacGlo = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ALMANAC_GLO"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2831,7 +2831,7 @@ MsgAlmanacGlo.prototype.fieldSpec.push(['omega', 'writeDoubleLE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGloBiases = function (sbp, fields) { +let MsgGloBiases = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GLO_BIASES"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2868,7 +2868,7 @@ MsgGloBiases.prototype.fieldSpec.push(['l2p_bias', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var SvAzEl = function (sbp, fields) { +let SvAzEl = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "SvAzEl"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2899,7 +2899,7 @@ SvAzEl.prototype.fieldSpec.push(['el', 'writeInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSvAzEl = function (sbp, fields) { +let MsgSvAzEl = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SV_AZ_EL"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -2927,7 +2927,7 @@ MsgSvAzEl.prototype.fieldSpec.push(['azel', 'array', SvAzEl.prototype.fieldSpec, * * @param sbp An SBP object with a payload to be decoded. */ -var MsgOsr = function (sbp, fields) { +let MsgOsr = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_OSR"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/orientation.js b/javascript/sbp/orientation.js index db067b7bc2..0fbe381871 100644 --- a/javascript/sbp/orientation.js +++ b/javascript/sbp/orientation.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/orientation.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/orientation.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Orientation Messages ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_BASELINE_HEADING (0x020F). @@ -39,7 +39,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgBaselineHeading = function (sbp, fields) { +let MsgBaselineHeading = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_BASELINE_HEADING"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -85,7 +85,7 @@ MsgBaselineHeading.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgOrientQuat = function (sbp, fields) { +let MsgOrientQuat = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ORIENT_QUAT"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -141,7 +141,7 @@ MsgOrientQuat.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgOrientEuler = function (sbp, fields) { +let MsgOrientEuler = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ORIENT_EULER"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -194,7 +194,7 @@ MsgOrientEuler.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAngularRate = function (sbp, fields) { +let MsgAngularRate = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ANGULAR_RATE"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/piksi.js b/javascript/sbp/piksi.js index f1582a09f0..8e574db4bb 100644 --- a/javascript/sbp/piksi.js +++ b/javascript/sbp/piksi.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/piksi.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/piksi.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -19,17 +19,17 @@ * receiver, including a variety of legacy messages that may no longer be used. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message MSG_ALMANAC (0x0069). @@ -39,7 +39,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgAlmanac = function (sbp, fields) { +let MsgAlmanac = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ALMANAC"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -62,7 +62,7 @@ MsgAlmanac.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSetTime = function (sbp, fields) { +let MsgSetTime = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SET_TIME"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -87,7 +87,7 @@ MsgSetTime.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgReset = function (sbp, fields) { +let MsgReset = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_RESET"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -111,7 +111,7 @@ MsgReset.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgResetDep = function (sbp, fields) { +let MsgResetDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_RESET_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -134,7 +134,7 @@ MsgResetDep.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCwResults = function (sbp, fields) { +let MsgCwResults = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_CW_RESULTS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -157,7 +157,7 @@ MsgCwResults.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCwStart = function (sbp, fields) { +let MsgCwStart = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_CW_START"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -183,7 +183,7 @@ MsgCwStart.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgResetFilters = function (sbp, fields) { +let MsgResetFilters = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_RESET_FILTERS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -207,7 +207,7 @@ MsgResetFilters.prototype.fieldSpec.push(['filter', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgInitBaseDep = function (sbp, fields) { +let MsgInitBaseDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_INIT_BASE_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -237,7 +237,7 @@ MsgInitBaseDep.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgThreadState = function (sbp, fields) { +let MsgThreadState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_THREAD_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -274,7 +274,7 @@ MsgThreadState.prototype.fieldSpec.push(['stack_free', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var UARTChannel = function (sbp, fields) { +let UARTChannel = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "UARTChannel"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -317,7 +317,7 @@ UARTChannel.prototype.fieldSpec.push(['rx_buffer_level', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var Period = function (sbp, fields) { +let Period = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "Period"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -355,7 +355,7 @@ Period.prototype.fieldSpec.push(['current', 'writeInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var Latency = function (sbp, fields) { +let Latency = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "Latency"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -397,7 +397,7 @@ Latency.prototype.fieldSpec.push(['current', 'writeInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgUartState = function (sbp, fields) { +let MsgUartState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_UART_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -435,7 +435,7 @@ MsgUartState.prototype.fieldSpec.push(['obs_period', Period.prototype.fieldSpec] * * @param sbp An SBP object with a payload to be decoded. */ -var MsgUartStateDepa = function (sbp, fields) { +let MsgUartStateDepa = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_UART_STATE_DEPA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -470,7 +470,7 @@ MsgUartStateDepa.prototype.fieldSpec.push(['latency', Latency.prototype.fieldSpe * * @param sbp An SBP object with a payload to be decoded. */ -var MsgIarState = function (sbp, fields) { +let MsgIarState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_IAR_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -499,7 +499,7 @@ MsgIarState.prototype.fieldSpec.push(['num_hyps', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgMaskSatellite = function (sbp, fields) { +let MsgMaskSatellite = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_MASK_SATELLITE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -529,7 +529,7 @@ MsgMaskSatellite.prototype.fieldSpec.push(['sid', GnssSignal.prototype.fieldSpec * * @param sbp An SBP object with a payload to be decoded. */ -var MsgMaskSatelliteDep = function (sbp, fields) { +let MsgMaskSatelliteDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_MASK_SATELLITE_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -563,7 +563,7 @@ MsgMaskSatelliteDep.prototype.fieldSpec.push(['sid', GnssSignalDep.prototype.fie * * @param sbp An SBP object with a payload to be decoded. */ -var MsgDeviceMonitor = function (sbp, fields) { +let MsgDeviceMonitor = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_DEVICE_MONITOR"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -600,7 +600,7 @@ MsgDeviceMonitor.prototype.fieldSpec.push(['fe_temperature', 'writeInt16LE', 2]) * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCommandReq = function (sbp, fields) { +let MsgCommandReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_COMMAND_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -631,7 +631,7 @@ MsgCommandReq.prototype.fieldSpec.push(['command', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCommandResp = function (sbp, fields) { +let MsgCommandResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_COMMAND_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -663,7 +663,7 @@ MsgCommandResp.prototype.fieldSpec.push(['code', 'writeInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCommandOutput = function (sbp, fields) { +let MsgCommandOutput = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_COMMAND_OUTPUT"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -690,7 +690,7 @@ MsgCommandOutput.prototype.fieldSpec.push(['line', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgNetworkStateReq = function (sbp, fields) { +let MsgNetworkStateReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_NETWORK_STATE_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -723,7 +723,7 @@ MsgNetworkStateReq.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgNetworkStateResp = function (sbp, fields) { +let MsgNetworkStateResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_NETWORK_STATE_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -772,7 +772,7 @@ MsgNetworkStateResp.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var NetworkUsage = function (sbp, fields) { +let NetworkUsage = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "NetworkUsage"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -806,7 +806,7 @@ NetworkUsage.prototype.fieldSpec.push(['interface_name', 'string', 16]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgNetworkBandwidthUsage = function (sbp, fields) { +let MsgNetworkBandwidthUsage = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_NETWORK_BANDWIDTH_USAGE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -837,7 +837,7 @@ MsgNetworkBandwidthUsage.prototype.fieldSpec.push(['interfaces', 'array', Networ * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCellModemStatus = function (sbp, fields) { +let MsgCellModemStatus = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_CELL_MODEM_STATUS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -874,7 +874,7 @@ MsgCellModemStatus.prototype.fieldSpec.push(['reserved', 'array', 'writeUInt8', * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSpecanDep = function (sbp, fields) { +let MsgSpecanDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SPECAN_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -919,7 +919,7 @@ MsgSpecanDep.prototype.fieldSpec.push(['amplitude_value', 'array', 'writeUInt8', * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSpecan = function (sbp, fields) { +let MsgSpecan = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SPECAN"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -965,7 +965,7 @@ MsgSpecan.prototype.fieldSpec.push(['amplitude_value', 'array', 'writeUInt8', fu * * @param sbp An SBP object with a payload to be decoded. */ -var MsgFrontEndGain = function (sbp, fields) { +let MsgFrontEndGain = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_FRONT_END_GAIN"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/sbas.js b/javascript/sbp/sbas.js index d4839cf214..81af7557e2 100644 --- a/javascript/sbp/sbas.js +++ b/javascript/sbp/sbas.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/sbas.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/sbas.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,17 +18,17 @@ * SBAS data ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message MSG_SBAS_RAW (0x7777). @@ -44,7 +44,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSbasRaw = function (sbp, fields) { +let MsgSbasRaw = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SBAS_RAW"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/settings.js b/javascript/sbp/settings.js index 3ff20cd6bd..a727cbb001 100644 --- a/javascript/sbp/settings.js +++ b/javascript/sbp/settings.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/settings.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/settings.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -38,10 +38,10 @@ * example. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_SETTINGS_SAVE (0x00A1). @@ -51,7 +51,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsSave = function (sbp, fields) { +let MsgSettingsSave = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_SAVE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -82,7 +82,7 @@ MsgSettingsSave.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsWrite = function (sbp, fields) { +let MsgSettingsWrite = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_WRITE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -116,7 +116,7 @@ MsgSettingsWrite.prototype.fieldSpec.push(['setting', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsWriteResp = function (sbp, fields) { +let MsgSettingsWriteResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_WRITE_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -152,7 +152,7 @@ MsgSettingsWriteResp.prototype.fieldSpec.push(['setting', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsReadReq = function (sbp, fields) { +let MsgSettingsReadReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_READ_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -184,7 +184,7 @@ MsgSettingsReadReq.prototype.fieldSpec.push(['setting', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsReadResp = function (sbp, fields) { +let MsgSettingsReadResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_READ_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -213,7 +213,7 @@ MsgSettingsReadResp.prototype.fieldSpec.push(['setting', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsReadByIndexReq = function (sbp, fields) { +let MsgSettingsReadByIndexReq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_READ_BY_INDEX_REQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -250,7 +250,7 @@ MsgSettingsReadByIndexReq.prototype.fieldSpec.push(['index', 'writeUInt16LE', 2] * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsReadByIndexResp = function (sbp, fields) { +let MsgSettingsReadByIndexResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_READ_BY_INDEX_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -276,7 +276,7 @@ MsgSettingsReadByIndexResp.prototype.fieldSpec.push(['setting', 'string', null]) * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsReadByIndexDone = function (sbp, fields) { +let MsgSettingsReadByIndexDone = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_READ_BY_INDEX_DONE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -304,7 +304,7 @@ MsgSettingsReadByIndexDone.prototype.fieldSpec = []; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsRegister = function (sbp, fields) { +let MsgSettingsRegister = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_REGISTER"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -337,7 +337,7 @@ MsgSettingsRegister.prototype.fieldSpec.push(['setting', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSettingsRegisterResp = function (sbp, fields) { +let MsgSettingsRegisterResp = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SETTINGS_REGISTER_RESP"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/solution_meta.js b/javascript/sbp/solution_meta.js index 23832d74bc..2ad6b4b9c8 100644 --- a/javascript/sbp/solution_meta.js +++ b/javascript/sbp/solution_meta.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/solution_meta.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/solution_meta.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Standardized Metadata messages for Fuzed Solution from Swift Navigation devices. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message fragment SolutionInputType @@ -39,7 +39,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var SolutionInputType = function (sbp, fields) { +let SolutionInputType = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "SolutionInputType"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -84,7 +84,7 @@ SolutionInputType.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSolnMetaDepA = function (sbp, fields) { +let MsgSolnMetaDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SOLN_META_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -147,7 +147,7 @@ MsgSolnMetaDepA.prototype.fieldSpec.push(['sol_in', 'array', SolutionInputType.p * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSolnMeta = function (sbp, fields) { +let MsgSolnMeta = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SOLN_META"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -187,7 +187,7 @@ MsgSolnMeta.prototype.fieldSpec.push(['sol_in', 'array', SolutionInputType.proto * * @param sbp An SBP object with a payload to be decoded. */ -var GNSSInputType = function (sbp, fields) { +let GNSSInputType = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GNSSInputType"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -214,7 +214,7 @@ GNSSInputType.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var IMUInputType = function (sbp, fields) { +let IMUInputType = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "IMUInputType"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -241,7 +241,7 @@ IMUInputType.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var OdoInputType = function (sbp, fields) { +let OdoInputType = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "OdoInputType"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/ssr.js b/javascript/sbp/ssr.js index 2eb711e137..1057cd155d 100644 --- a/javascript/sbp/ssr.js +++ b/javascript/sbp/ssr.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/ssr.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/ssr.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,17 +18,17 @@ * Precise State Space Representation (SSR) corrections format ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message fragment CodeBiasesContent @@ -42,7 +42,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var CodeBiasesContent = function (sbp, fields) { +let CodeBiasesContent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "CodeBiasesContent"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -74,7 +74,7 @@ CodeBiasesContent.prototype.fieldSpec.push(['value', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var PhaseBiasesContent = function (sbp, fields) { +let PhaseBiasesContent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "PhaseBiasesContent"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -117,7 +117,7 @@ PhaseBiasesContent.prototype.fieldSpec.push(['bias', 'writeInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var STECHeader = function (sbp, fields) { +let STECHeader = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "STECHeader"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -165,7 +165,7 @@ STECHeader.prototype.fieldSpec.push(['iod_atmo', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var GriddedCorrectionHeader = function (sbp, fields) { +let GriddedCorrectionHeader = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GriddedCorrectionHeader"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -209,7 +209,7 @@ GriddedCorrectionHeader.prototype.fieldSpec.push(['tropo_quality_indicator', 'wr * * @param sbp An SBP object with a payload to be decoded. */ -var STECSatElement = function (sbp, fields) { +let STECSatElement = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "STECSatElement"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -240,7 +240,7 @@ STECSatElement.prototype.fieldSpec.push(['stec_coeff', 'array', 'writeInt16LE', * * @param sbp An SBP object with a payload to be decoded. */ -var TroposphericDelayCorrectionNoStd = function (sbp, fields) { +let TroposphericDelayCorrectionNoStd = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "TroposphericDelayCorrectionNoStd"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -271,7 +271,7 @@ TroposphericDelayCorrectionNoStd.prototype.fieldSpec.push(['wet', 'writeInt8', 1 * * @param sbp An SBP object with a payload to be decoded. */ -var TroposphericDelayCorrection = function (sbp, fields) { +let TroposphericDelayCorrection = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "TroposphericDelayCorrection"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -302,7 +302,7 @@ TroposphericDelayCorrection.prototype.fieldSpec.push(['stddev', 'writeUInt8', 1] * * @param sbp An SBP object with a payload to be decoded. */ -var STECResidualNoStd = function (sbp, fields) { +let STECResidualNoStd = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "STECResidualNoStd"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -334,7 +334,7 @@ STECResidualNoStd.prototype.fieldSpec.push(['residual', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var STECResidual = function (sbp, fields) { +let STECResidual = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "STECResidual"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -381,7 +381,7 @@ STECResidual.prototype.fieldSpec.push(['stddev', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrOrbitClock = function (sbp, fields) { +let MsgSsrOrbitClock = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_ORBIT_CLOCK"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -442,7 +442,7 @@ MsgSsrOrbitClock.prototype.fieldSpec.push(['c2', 'writeInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrCodeBiases = function (sbp, fields) { +let MsgSsrCodeBiases = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_CODE_BIASES"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -490,7 +490,7 @@ MsgSsrCodeBiases.prototype.fieldSpec.push(['biases', 'array', CodeBiasesContent. * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrPhaseBiases = function (sbp, fields) { +let MsgSsrPhaseBiases = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_PHASE_BIASES"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -538,7 +538,7 @@ MsgSsrPhaseBiases.prototype.fieldSpec.push(['biases', 'array', PhaseBiasesConten * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrStecCorrectionDep = function (sbp, fields) { +let MsgSsrStecCorrectionDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_STEC_CORRECTION_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -570,7 +570,7 @@ MsgSsrStecCorrectionDep.prototype.fieldSpec.push(['stec_sat_list', 'array', STEC * * @param sbp An SBP object with a payload to be decoded. */ -var BoundsHeader = function (sbp, fields) { +let BoundsHeader = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "BoundsHeader"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -608,7 +608,7 @@ BoundsHeader.prototype.fieldSpec.push(['sol_id', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrStecCorrection = function (sbp, fields) { +let MsgSsrStecCorrection = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_STEC_CORRECTION"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -649,7 +649,7 @@ MsgSsrStecCorrection.prototype.fieldSpec.push(['stec_sat_list', 'array', STECSat * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrGriddedCorrection = function (sbp, fields) { +let MsgSsrGriddedCorrection = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_GRIDDED_CORRECTION"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -686,7 +686,7 @@ MsgSsrGriddedCorrection.prototype.fieldSpec.push(['stec_residuals', 'array', STE * * @param sbp An SBP object with a payload to be decoded. */ -var STECSatElementIntegrity = function (sbp, fields) { +let STECSatElementIntegrity = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "STECSatElementIntegrity"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -731,7 +731,7 @@ STECSatElementIntegrity.prototype.fieldSpec.push(['stec_bound_sig_dot', 'writeUI * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrGriddedCorrectionBounds = function (sbp, fields) { +let MsgSsrGriddedCorrectionBounds = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_GRIDDED_CORRECTION_BOUNDS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -808,7 +808,7 @@ MsgSsrGriddedCorrectionBounds.prototype.fieldSpec.push(['stec_sat_list', 'array' * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrTileDefinitionDep = function (sbp, fields) { +let MsgSsrTileDefinitionDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_TILE_DEFINITION_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -882,7 +882,7 @@ MsgSsrTileDefinitionDep.prototype.fieldSpec.push(['bitmask', 'writeUInt64LE', 8] * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrTileDefinition = function (sbp, fields) { +let MsgSsrTileDefinition = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_TILE_DEFINITION"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -935,7 +935,7 @@ MsgSsrTileDefinition.prototype.fieldSpec.push(['bitmask', 'writeUInt64LE', 8]); * * @param sbp An SBP object with a payload to be decoded. */ -var SatelliteAPC = function (sbp, fields) { +let SatelliteAPC = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "SatelliteAPC"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -968,7 +968,7 @@ SatelliteAPC.prototype.fieldSpec.push(['pcv', 'array', 'writeInt8', function () * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrSatelliteApc = function (sbp, fields) { +let MsgSsrSatelliteApc = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_SATELLITE_APC"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1009,7 +1009,7 @@ MsgSsrSatelliteApc.prototype.fieldSpec.push(['apc', 'array', SatelliteAPC.protot * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrOrbitClockDepA = function (sbp, fields) { +let MsgSsrOrbitClockDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_ORBIT_CLOCK_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1069,7 +1069,7 @@ MsgSsrOrbitClockDepA.prototype.fieldSpec.push(['c2', 'writeInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var STECHeaderDepA = function (sbp, fields) { +let STECHeaderDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "STECHeaderDepA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1111,7 +1111,7 @@ STECHeaderDepA.prototype.fieldSpec.push(['iod_atmo', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var GriddedCorrectionHeaderDepA = function (sbp, fields) { +let GriddedCorrectionHeaderDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GriddedCorrectionHeaderDepA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1154,7 +1154,7 @@ GriddedCorrectionHeaderDepA.prototype.fieldSpec.push(['tropo_quality_indicator', * * @param sbp An SBP object with a payload to be decoded. */ -var GridDefinitionHeaderDepA = function (sbp, fields) { +let GridDefinitionHeaderDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "GridDefinitionHeaderDepA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1190,7 +1190,7 @@ GridDefinitionHeaderDepA.prototype.fieldSpec.push(['seq_num', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrStecCorrectionDepA = function (sbp, fields) { +let MsgSsrStecCorrectionDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_STEC_CORRECTION_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1221,7 +1221,7 @@ MsgSsrStecCorrectionDepA.prototype.fieldSpec.push(['stec_sat_list', 'array', STE * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrGriddedCorrectionNoStdDepA = function (sbp, fields) { +let MsgSsrGriddedCorrectionNoStdDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1256,7 +1256,7 @@ MsgSsrGriddedCorrectionNoStdDepA.prototype.fieldSpec.push(['stec_residuals', 'ar * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrGriddedCorrectionDepA = function (sbp, fields) { +let MsgSsrGriddedCorrectionDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_GRIDDED_CORRECTION_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1292,7 +1292,7 @@ MsgSsrGriddedCorrectionDepA.prototype.fieldSpec.push(['stec_residuals', 'array', * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrGridDefinitionDepA = function (sbp, fields) { +let MsgSsrGridDefinitionDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_GRID_DEFINITION_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1330,7 +1330,7 @@ MsgSsrGridDefinitionDepA.prototype.fieldSpec.push(['rle_list', 'array', 'writeUI * * @param sbp An SBP object with a payload to be decoded. */ -var OrbitClockBound = function (sbp, fields) { +let OrbitClockBound = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "OrbitClockBound"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1378,7 +1378,7 @@ OrbitClockBound.prototype.fieldSpec.push(['clock_bound_sig', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrOrbitClockBounds = function (sbp, fields) { +let MsgSsrOrbitClockBounds = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_ORBIT_CLOCK_BOUNDS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1419,7 +1419,7 @@ MsgSsrOrbitClockBounds.prototype.fieldSpec.push(['orbit_clock_bounds', 'array', * * @param sbp An SBP object with a payload to be decoded. */ -var CodePhaseBiasesSatSig = function (sbp, fields) { +let CodePhaseBiasesSatSig = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "CodePhaseBiasesSatSig"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1458,7 +1458,7 @@ CodePhaseBiasesSatSig.prototype.fieldSpec.push(['phase_bias_bound_sig', 'writeUI * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrCodePhaseBiasesBounds = function (sbp, fields) { +let MsgSsrCodePhaseBiasesBounds = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_CODE_PHASE_BIASES_BOUNDS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1500,7 +1500,7 @@ MsgSsrCodePhaseBiasesBounds.prototype.fieldSpec.push(['satellites_signals', 'arr * * @param sbp An SBP object with a payload to be decoded. */ -var OrbitClockBoundDegradation = function (sbp, fields) { +let OrbitClockBoundDegradation = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "OrbitClockBoundDegradation"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -1545,7 +1545,7 @@ OrbitClockBoundDegradation.prototype.fieldSpec.push(['clock_bound_sig_dot', 'wri * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSsrOrbitClockBoundsDegradation = function (sbp, fields) { +let MsgSsrOrbitClockBoundsDegradation = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/system.js b/javascript/sbp/system.js index 207acb045f..9dd768ca91 100644 --- a/javascript/sbp/system.js +++ b/javascript/sbp/system.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/system.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/system.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Standardized system messages from Swift Navigation devices. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_STARTUP (0xFF00). @@ -37,7 +37,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgStartup = function (sbp, fields) { +let MsgStartup = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_STARTUP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -72,7 +72,7 @@ MsgStartup.prototype.fieldSpec.push(['reserved', 'writeUInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgDgnssStatus = function (sbp, fields) { +let MsgDgnssStatus = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_DGNSS_STATUS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -111,7 +111,7 @@ MsgDgnssStatus.prototype.fieldSpec.push(['source', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgHeartbeat = function (sbp, fields) { +let MsgHeartbeat = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_HEARTBEAT"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -141,7 +141,7 @@ MsgHeartbeat.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var SubSystemReport = function (sbp, fields) { +let SubSystemReport = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "SubSystemReport"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -181,7 +181,7 @@ SubSystemReport.prototype.fieldSpec.push(['specific', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgStatusReport = function (sbp, fields) { +let MsgStatusReport = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_STATUS_REPORT"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -219,7 +219,7 @@ MsgStatusReport.prototype.fieldSpec.push(['status', 'array', SubSystemReport.pro * * @param sbp An SBP object with a payload to be decoded. */ -var StatusJournalItem = function (sbp, fields) { +let StatusJournalItem = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "StatusJournalItem"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -253,7 +253,7 @@ StatusJournalItem.prototype.fieldSpec.push(['report', SubSystemReport.prototype. * * @param sbp An SBP object with a payload to be decoded. */ -var MsgStatusJournal = function (sbp, fields) { +let MsgStatusJournal = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_STATUS_JOURNAL"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -289,7 +289,7 @@ MsgStatusJournal.prototype.fieldSpec.push(['journal', 'array', StatusJournalItem * * @param sbp An SBP object with a payload to be decoded. */ -var MsgInsStatus = function (sbp, fields) { +let MsgInsStatus = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_INS_STATUS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -319,7 +319,7 @@ MsgInsStatus.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCsacTelemetry = function (sbp, fields) { +let MsgCsacTelemetry = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_CSAC_TELEMETRY"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -351,7 +351,7 @@ MsgCsacTelemetry.prototype.fieldSpec.push(['telemetry', 'string', null]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgCsacTelemetryLabels = function (sbp, fields) { +let MsgCsacTelemetryLabels = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_CSAC_TELEMETRY_LABELS"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -388,7 +388,7 @@ MsgCsacTelemetryLabels.prototype.fieldSpec.push(['telemetry_labels', 'string', n * * @param sbp An SBP object with a payload to be decoded. */ -var MsgInsUpdates = function (sbp, fields) { +let MsgInsUpdates = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_INS_UPDATES"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -432,7 +432,7 @@ MsgInsUpdates.prototype.fieldSpec.push(['zerovel', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGnssTimeOffset = function (sbp, fields) { +let MsgGnssTimeOffset = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GNSS_TIME_OFFSET"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -474,7 +474,7 @@ MsgGnssTimeOffset.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgPpsTime = function (sbp, fields) { +let MsgPpsTime = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_PPS_TIME"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -513,7 +513,7 @@ MsgPpsTime.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgSensorAidEvent = function (sbp, fields) { +let MsgSensorAidEvent = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_SENSOR_AID_EVENT"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -560,7 +560,7 @@ MsgSensorAidEvent.prototype.fieldSpec.push(['flags', 'writeUInt32LE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgGroupMeta = function (sbp, fields) { +let MsgGroupMeta = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_GROUP_META"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/tracking.js b/javascript/sbp/tracking.js index 3e5e83f4ee..f38bd38d22 100644 --- a/javascript/sbp/tracking.js +++ b/javascript/sbp/tracking.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/tracking.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/tracking.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,17 +18,17 @@ * Satellite code and carrier-phase tracking messages from the device. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; -var CarrierPhase = require("./gnss").CarrierPhase; -var GnssSignal = require("./gnss").GnssSignal; -var GnssSignalDep = require("./gnss").GnssSignalDep; -var GPSTime = require("./gnss").GPSTime; -var GPSTimeDep = require("./gnss").GPSTimeDep; -var GPSTimeSec = require("./gnss").GPSTimeSec; -var SvId = require("./gnss").SvId; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; +let CarrierPhase = require("./gnss").CarrierPhase; +let GnssSignal = require("./gnss").GnssSignal; +let GnssSignalDep = require("./gnss").GnssSignalDep; +let GPSTime = require("./gnss").GPSTime; +let GPSTimeDep = require("./gnss").GPSTimeDep; +let GPSTimeSec = require("./gnss").GPSTimeSec; +let SvId = require("./gnss").SvId; /** * SBP class for message MSG_TRACKING_STATE_DETAILED_DEP_A (0x0021). @@ -66,7 +66,7 @@ var SvId = require("./gnss").SvId; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingStateDetailedDepA = function (sbp, fields) { +let MsgTrackingStateDetailedDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_STATE_DETAILED_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -158,7 +158,7 @@ MsgTrackingStateDetailedDepA.prototype.fieldSpec.push(['misc_flags', 'writeUInt8 * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingStateDetailedDep = function (sbp, fields) { +let MsgTrackingStateDetailedDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_STATE_DETAILED_DEP"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -228,7 +228,7 @@ MsgTrackingStateDetailedDep.prototype.fieldSpec.push(['misc_flags', 'writeUInt8' * * @param sbp An SBP object with a payload to be decoded. */ -var TrackingChannelState = function (sbp, fields) { +let TrackingChannelState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "TrackingChannelState"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -260,7 +260,7 @@ TrackingChannelState.prototype.fieldSpec.push(['cn0', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingState = function (sbp, fields) { +let MsgTrackingState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -291,7 +291,7 @@ MsgTrackingState.prototype.fieldSpec.push(['states', 'array', TrackingChannelSta * * @param sbp An SBP object with a payload to be decoded. */ -var MeasurementState = function (sbp, fields) { +let MeasurementState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MeasurementState"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -321,7 +321,7 @@ MeasurementState.prototype.fieldSpec.push(['cn0', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgMeasurementState = function (sbp, fields) { +let MsgMeasurementState = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_MEASUREMENT_STATE"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -349,7 +349,7 @@ MsgMeasurementState.prototype.fieldSpec.push(['states', 'array', MeasurementStat * * @param sbp An SBP object with a payload to be decoded. */ -var TrackingChannelCorrelation = function (sbp, fields) { +let TrackingChannelCorrelation = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "TrackingChannelCorrelation"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -380,7 +380,7 @@ TrackingChannelCorrelation.prototype.fieldSpec.push(['Q', 'writeInt16LE', 2]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingIq = function (sbp, fields) { +let MsgTrackingIq = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_IQ"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -412,7 +412,7 @@ MsgTrackingIq.prototype.fieldSpec.push(['corrs', 'array', TrackingChannelCorrela * * @param sbp An SBP object with a payload to be decoded. */ -var TrackingChannelCorrelationDep = function (sbp, fields) { +let TrackingChannelCorrelationDep = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "TrackingChannelCorrelationDep"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -443,7 +443,7 @@ TrackingChannelCorrelationDep.prototype.fieldSpec.push(['Q', 'writeInt32LE', 4]) * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingIqDepB = function (sbp, fields) { +let MsgTrackingIqDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_IQ_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -476,7 +476,7 @@ MsgTrackingIqDepB.prototype.fieldSpec.push(['corrs', 'array', TrackingChannelCor * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingIqDepA = function (sbp, fields) { +let MsgTrackingIqDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_IQ_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -509,7 +509,7 @@ MsgTrackingIqDepA.prototype.fieldSpec.push(['corrs', 'array', TrackingChannelCor * * @param sbp An SBP object with a payload to be decoded. */ -var TrackingChannelStateDepA = function (sbp, fields) { +let TrackingChannelStateDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "TrackingChannelStateDepA"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -539,7 +539,7 @@ TrackingChannelStateDepA.prototype.fieldSpec.push(['cn0', 'writeFloatLE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingStateDepA = function (sbp, fields) { +let MsgTrackingStateDepA = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_STATE_DEP_A"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -568,7 +568,7 @@ MsgTrackingStateDepA.prototype.fieldSpec.push(['states', 'array', TrackingChanne * * @param sbp An SBP object with a payload to be decoded. */ -var TrackingChannelStateDepB = function (sbp, fields) { +let TrackingChannelStateDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "TrackingChannelStateDepB"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -598,7 +598,7 @@ TrackingChannelStateDepB.prototype.fieldSpec.push(['cn0', 'writeFloatLE', 4]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgTrackingStateDepB = function (sbp, fields) { +let MsgTrackingStateDepB = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_TRACKING_STATE_DEP_B"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/user.js b/javascript/sbp/user.js index cdf56847e0..f10faf4315 100644 --- a/javascript/sbp/user.js +++ b/javascript/sbp/user.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/user.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/user.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Messages reserved for use by the user. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_USER_DATA (0x0800). @@ -34,7 +34,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgUserData = function (sbp, fields) { +let MsgUserData = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_USER_DATA"; this.fields = (fields || this.parser.parse(sbp.payload)); diff --git a/javascript/sbp/vehicle.js b/javascript/sbp/vehicle.js index 79bf68093e..44a84b2a78 100644 --- a/javascript/sbp/vehicle.js +++ b/javascript/sbp/vehicle.js @@ -10,7 +10,7 @@ */ /********************** - * Automatically generated from piksi/yaml/swiftnav/sbp/vehicle.yaml with generate.py. + * Automatically generated from spec/yaml/swiftnav/sbp/vehicle.yaml with generate.py. * Don't edit this by hand! ********************** * Package description: @@ -18,10 +18,10 @@ * Messages from a vehicle. ***********************/ -var SBP = require('./sbp'); -var Parser = require('./parser'); -var Int64 = require('node-int64'); -var UInt64 = require('cuint').UINT64; +let SBP = require('./sbp'); +let Parser = require('./parser'); +let Int64 = require('node-int64'); +let UInt64 = require('cuint').UINT64; /** * SBP class for message MSG_ODOMETRY (0x0903). @@ -44,7 +44,7 @@ var UInt64 = require('cuint').UINT64; * * @param sbp An SBP object with a payload to be decoded. */ -var MsgOdometry = function (sbp, fields) { +let MsgOdometry = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_ODOMETRY"; this.fields = (fields || this.parser.parse(sbp.payload)); @@ -91,7 +91,7 @@ MsgOdometry.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * @param sbp An SBP object with a payload to be decoded. */ -var MsgWheeltick = function (sbp, fields) { +let MsgWheeltick = function (sbp, fields) { SBP.call(this, sbp); this.messageType = "MSG_WHEELTICK"; this.fields = (fields || this.parser.parse(sbp.payload)); From e442e8bd8b5da7d6ed695f9504b782f9eb9c80cf Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Tue, 7 Jun 2022 15:55:59 -0400 Subject: [PATCH 05/14] Update html python sphinx default language --- python/docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/docs/source/conf.py b/python/docs/source/conf.py index f4ed848e28..50c0ed3c5b 100644 --- a/python/docs/source/conf.py +++ b/python/docs/source/conf.py @@ -78,7 +78,7 @@ # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = 'en' # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: From 812c12c6900731654b5d3fd102afc23d1f31ebea Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Tue, 7 Jun 2022 16:22:28 -0400 Subject: [PATCH 06/14] Update ITRF string definition --- .../test_MsgReferenceFrameParam.yaml | 21 +++++++++---------- spec/yaml/swiftnav/sbp/navigation.yaml | 16 ++++++-------- 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml b/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml index 437158e76d..358fc49aed 100644 --- a/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml +++ b/spec/tests/yaml/swiftnav/sbp/navigation/test_MsgReferenceFrameParam.yaml @@ -6,10 +6,8 @@ tests: - msg: fields: ssr_iod: 1 - sn_counter_n: 2 - sn: "foo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - tn_counter_m: 3 - tn: "bar\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + sn: "foo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + tn: "bar\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" sin: 4 utn: 5 re_t0: 6 @@ -30,18 +28,19 @@ tests: module: sbp.navigation name: MsgReferenceFrameParam msg_type: '580' - raw_json: '{"ssr_iod": 1, "sn_counter_n": 2, "sn": "foo\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", - "tn_counter_m": 3, "tn": "bar\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", + raw_json: '{"ssr_iod": 1, + "sn": "foo\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", + "tn": "bar\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "sin": 4, "utn": 5, "re_t0": 6, "delta_X0": 7, "delta_Y0": 8, "delta_Z0": 9, "theta_01": 10, "theta_02": 11, "theta_03": 12, "scale": 13, "dot_delta_X0": 14, "dot_delta_Y0": 15, "dot_delta_Z0": 16, "dot_theta_01": 17, "dot_theta_02": 18, "dot_theta_03": 19, "dot_scale": 20, "preamble": 85, "msg_type": 580, "sender": 66, "length": 124, - "payload": "AQJmb28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2JhcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAA==", - "crc": 32322}' - raw_packet: VUQCQgB8AQJmb28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2JhcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAEJ+ + "payload": "AWZvbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmFyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAA==", + "crc": 41222}' + raw_packet: VUQCQgB8AWZvbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmFyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAah sbp: preamble: '0x55' msg_type: '0x0244' sender: '0x0042' length: 124 - payload: AQJmb28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2JhcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAA== - crc: '0x7E42' + payload: AWZvbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmFyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAA== + crc: '0xA106' diff --git a/spec/yaml/swiftnav/sbp/navigation.yaml b/spec/yaml/swiftnav/sbp/navigation.yaml index e885458d2d..c8643cc87c 100644 --- a/spec/yaml/swiftnav/sbp/navigation.yaml +++ b/spec/yaml/swiftnav/sbp/navigation.yaml @@ -2486,20 +2486,16 @@ definitions: - ssr_iod: type: u8 desc: SSR IOD parameter. - - sn_counter_n: - type: u8 - desc: Source-Name Counter N. - sn: type: string - size: 31 - desc: Source-Name - - tn_counter_m: - type: u8 - desc: Target-Name Counter M. + encoding: null-terminated + size: 32 + desc: Name of source coordinate-system using the EPSG identification code. - tn: type: string - size: 31 - desc: Target-Name + encoding: null-terminated + size: 32 + desc: Name of target coordinate-system using the EPSG identification code. - sin: type: u8 desc: System Identification Number. From 016bfeb42549c5d7740f9d2fcf87b6d0069fc463 Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Tue, 7 Jun 2022 18:06:13 -0400 Subject: [PATCH 07/14] typo --- spec/yaml/swiftnav/sbp/navigation.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/yaml/swiftnav/sbp/navigation.yaml b/spec/yaml/swiftnav/sbp/navigation.yaml index c8643cc87c..3b782d09b4 100644 --- a/spec/yaml/swiftnav/sbp/navigation.yaml +++ b/spec/yaml/swiftnav/sbp/navigation.yaml @@ -2488,12 +2488,12 @@ definitions: desc: SSR IOD parameter. - sn: type: string - encoding: null-terminated + encoding: null_terminated size: 32 desc: Name of source coordinate-system using the EPSG identification code. - tn: type: string - encoding: null-terminated + encoding: null_terminated size: 32 desc: Name of target coordinate-system using the EPSG identification code. - sin: From 7ebe0d87eada687f71d72839fe9cf38a1935b451 Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Tue, 7 Jun 2022 18:06:26 -0400 Subject: [PATCH 08/14] make all --- c/include/libsbp/legacy/navigation.h | 26 ++++++------ c/include/libsbp/navigation_macros.h | 4 +- .../v4/navigation/MSG_REFERENCE_FRAME_PARAM.h | 14 +----- c/src/v4/navigation.c | 22 ---------- ...ck_sbp_navigation_MsgReferenceFrameParam.c | 40 ++++++------------ ...k_sbp_navigation_MsgReferenceFrameParam.cc | 32 ++++++-------- ...ck_sbp_navigation_MsgReferenceFrameParam.c | 32 ++++++-------- ...k_sbp_navigation_MsgReferenceFrameParam.cc | 32 ++++++-------- docs/sbp.pdf | Bin 494315 -> 494285 bytes haskell/src/SwiftNav/SBP/Navigation.hs | 16 ++----- .../navigation/MsgReferenceFrameParam.java | 24 +++-------- ...navigation_MsgReferenceFrameParamTest.java | 28 ++---------- javascript/sbp.bundle.js | 2 +- javascript/sbp/navigation.js | 18 +++----- jsonschema/MsgReferenceFrameParam.json | 4 -- proto/navigation.proto | 40 +++++++++--------- python/sbp/navigation.py | 18 ++------ rust/sbp/src/messages/navigation.rs | 26 +++--------- ...bp_navigation_msg_reference_frame_param.rs | Bin 6778 -> 6381 bytes sbpjson/elm/SbpJson.elm | 6 --- sbpjson/javascript/SbpJson.js | 2 - sbpjson/typescript/SbpJson.ts | 4 -- 22 files changed, 115 insertions(+), 275 deletions(-) diff --git a/c/include/libsbp/legacy/navigation.h b/c/include/libsbp/legacy/navigation.h index c3403536bf..1bd7e72e6b 100644 --- a/c/include/libsbp/legacy/navigation.h +++ b/c/include/libsbp/legacy/navigation.h @@ -943,19 +943,19 @@ typedef struct SBP_ATTR_PACKED { } msg_utc_leap_second_t; typedef struct SBP_ATTR_PACKED { - u8 ssr_iod; /**< SSR IOD parameter. */ - u8 sn_counter_n; /**< Source-Name Counter N. */ - char sn[31]; /**< Source-Name */ - u8 tn_counter_m; /**< Target-Name Counter M. */ - char tn[31]; /**< Target-Name */ - u8 sin; /**< System Identification Number. */ - u16 utn; /**< Utilized Transformation Message. */ - u16 re_t0; /**< Reference Epoch t0 for transformation parameter - set given as Modified Julian Day (MDJ) Number - minus 44244 days. [1 day] */ - s32 delta_X0; /**< Translation in X for Reference Epoch t0. [0.001 m] */ - s32 delta_Y0; /**< Translation in Y for Reference Epoch t0. [0.001 m] */ - s32 delta_Z0; /**< Translation in Z for Reference Epoch t0. [0.001 m] */ + u8 ssr_iod; /**< SSR IOD parameter. */ + char sn[32]; /**< Name of source coordinate-system using the EPSG + identification code. */ + char tn[32]; /**< Name of target coordinate-system using the EPSG + identification code. */ + u8 sin; /**< System Identification Number. */ + u16 utn; /**< Utilized Transformation Message. */ + u16 re_t0; /**< Reference Epoch t0 for transformation parameter + set given as Modified Julian Day (MDJ) Number + minus 44244 days. [1 day] */ + s32 delta_X0; /**< Translation in X for Reference Epoch t0. [0.001 m] */ + s32 delta_Y0; /**< Translation in Y for Reference Epoch t0. [0.001 m] */ + s32 delta_Z0; /**< Translation in Z for Reference Epoch t0. [0.001 m] */ s32 theta_01; /**< Rotation around the X-axis for Reference Epoch t0. [0.00002 "] */ s32 theta_02; /**< Rotation around the Y-axis for Reference Epoch t0. [0.00002 diff --git a/c/include/libsbp/navigation_macros.h b/c/include/libsbp/navigation_macros.h index c4991a13f7..e2ad5dcf0e 100644 --- a/c/include/libsbp/navigation_macros.h +++ b/c/include/libsbp/navigation_macros.h @@ -1750,7 +1750,7 @@ * msg_reference_frame_param_t::sn (legacy API) before the maximum SBP message * size is exceeded */ -#define SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX 31u +#define SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX 32u /** * The maximum number of items that can be stored in @@ -1758,7 +1758,7 @@ * msg_reference_frame_param_t::tn (legacy API) before the maximum SBP message * size is exceeded */ -#define SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX 31u +#define SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX 32u /** * Encoded length of sbp_msg_reference_frame_param_t (V4 API) and diff --git a/c/include/libsbp/v4/navigation/MSG_REFERENCE_FRAME_PARAM.h b/c/include/libsbp/v4/navigation/MSG_REFERENCE_FRAME_PARAM.h index 1c17fbbbca..e92f9fe49b 100644 --- a/c/include/libsbp/v4/navigation/MSG_REFERENCE_FRAME_PARAM.h +++ b/c/include/libsbp/v4/navigation/MSG_REFERENCE_FRAME_PARAM.h @@ -45,22 +45,12 @@ typedef struct { u8 ssr_iod; /** - * Source-Name Counter N. - */ - u8 sn_counter_n; - - /** - * Source-Name + * Name of source coordinate-system using the EPSG identification code. */ char sn[SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX]; /** - * Target-Name Counter M. - */ - u8 tn_counter_m; - - /** - * Target-Name + * Name of target coordinate-system using the EPSG identification code. */ char tn[SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX]; diff --git a/c/src/v4/navigation.c b/c/src/v4/navigation.c index 18c1b05126..b20903fb78 100644 --- a/c/src/v4/navigation.c +++ b/c/src/v4/navigation.c @@ -6137,17 +6137,11 @@ bool sbp_msg_reference_frame_param_encode_internal( if (!sbp_u8_encode(ctx, &msg->ssr_iod)) { return false; } - if (!sbp_u8_encode(ctx, &msg->sn_counter_n)) { - return false; - } for (size_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX; i++) { if (!sbp_char_encode(ctx, &msg->sn[i])) { return false; } } - if (!sbp_u8_encode(ctx, &msg->tn_counter_m)) { - return false; - } for (size_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX; i++) { if (!sbp_char_encode(ctx, &msg->tn[i])) { return false; @@ -6228,17 +6222,11 @@ bool sbp_msg_reference_frame_param_decode_internal( if (!sbp_u8_decode(ctx, &msg->ssr_iod)) { return false; } - if (!sbp_u8_decode(ctx, &msg->sn_counter_n)) { - return false; - } for (uint8_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX; i++) { if (!sbp_char_decode(ctx, &msg->sn[i])) { return false; } } - if (!sbp_u8_decode(ctx, &msg->tn_counter_m)) { - return false; - } for (uint8_t i = 0; i < SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX; i++) { if (!sbp_char_decode(ctx, &msg->tn[i])) { return false; @@ -6338,11 +6326,6 @@ int sbp_msg_reference_frame_param_cmp( return ret; } - ret = sbp_u8_cmp(&a->sn_counter_n, &b->sn_counter_n); - if (ret != 0) { - return ret; - } - for (uint8_t i = 0; ret == 0 && i < SBP_MSG_REFERENCE_FRAME_PARAM_SN_MAX; i++) { ret = sbp_char_cmp(&a->sn[i], &b->sn[i]); @@ -6351,11 +6334,6 @@ int sbp_msg_reference_frame_param_cmp( return ret; } - ret = sbp_u8_cmp(&a->tn_counter_m, &b->tn_counter_m); - if (ret != 0) { - return ret; - } - for (uint8_t i = 0; ret == 0 && i < SBP_MSG_REFERENCE_FRAME_PARAM_TN_MAX; i++) { ret = sbp_char_cmp(&a->tn[i], &b->tn[i]); diff --git a/c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c b/c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c index 026cdf6b89..d7bd9057b5 100644 --- a/c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c +++ b/c/test/auto_check_sbp_navigation_MsgReferenceFrameParam.c @@ -94,14 +94,14 @@ START_TEST(test_auto_check_sbp_navigation_MsgReferenceFrameParam) { &DUMMY_MEMORY_FOR_CALLBACKS, &n); u8 encoded_frame[] = { - 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, - 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, - 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, - 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 66, 126, + 85, 68, 2, 66, 0, 124, 1, 102, 111, 111, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, + 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, + 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, + 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 6, 161, }; dummy_reset(); @@ -141,13 +141,11 @@ START_TEST(test_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg.reference_frame_param.sn, assign_string, sizeof(assign_string)); } - test_msg.reference_frame_param.sn_counter_n = 2; - test_msg.reference_frame_param.ssr_iod = 1; test_msg.reference_frame_param.theta_01 = 10; @@ -162,13 +160,11 @@ START_TEST(test_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg.reference_frame_param.tn, assign_string, sizeof(assign_string)); } - test_msg.reference_frame_param.tn_counter_m = 3; - test_msg.reference_frame_param.utn = 5; sbp_message_send(&sbp_state, SbpMsgReferenceFrameParam, 66, &test_msg, @@ -277,7 +273,7 @@ START_TEST(test_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; ck_assert_msg( memcmp(&last_msg.msg.reference_frame_param.sn, check_string, sizeof(check_string)) == 0, @@ -286,12 +282,6 @@ START_TEST(test_auto_check_sbp_navigation_MsgReferenceFrameParam) { check_string, last_msg.msg.reference_frame_param.sn); } - ck_assert_msg( - last_msg.msg.reference_frame_param.sn_counter_n == 2, - "incorrect value for last_msg.msg.reference_frame_param.sn_counter_n, " - "expected 2, is %d", - last_msg.msg.reference_frame_param.sn_counter_n); - ck_assert_msg( last_msg.msg.reference_frame_param.ssr_iod == 1, "incorrect value for last_msg.msg.reference_frame_param.ssr_iod, " @@ -322,7 +312,7 @@ START_TEST(test_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; ck_assert_msg( memcmp(&last_msg.msg.reference_frame_param.tn, check_string, sizeof(check_string)) == 0, @@ -331,12 +321,6 @@ START_TEST(test_auto_check_sbp_navigation_MsgReferenceFrameParam) { check_string, last_msg.msg.reference_frame_param.tn); } - ck_assert_msg( - last_msg.msg.reference_frame_param.tn_counter_m == 3, - "incorrect value for last_msg.msg.reference_frame_param.tn_counter_m, " - "expected 3, is %d", - last_msg.msg.reference_frame_param.tn_counter_m); - ck_assert_msg(last_msg.msg.reference_frame_param.utn == 5, "incorrect value for last_msg.msg.reference_frame_param.utn, " "expected 5, is %d", diff --git a/c/test/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc b/c/test/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc index 2cc25696fc..5b11ca773a 100644 --- a/c/test/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc +++ b/c/test/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc @@ -76,14 +76,14 @@ class Test_auto_check_sbp_navigation_MsgReferenceFrameParam0 TEST_F(Test_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { uint8_t encoded_frame[] = { - 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, - 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, - 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, - 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 66, 126, + 85, 68, 2, 66, 0, 124, 1, 102, 111, 111, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, + 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, + 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, + 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 6, 161, }; sbp_msg_reference_frame_param_t test_msg{}; @@ -106,10 +106,9 @@ TEST_F(Test_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg.sn, assign_string, sizeof(assign_string)); } - test_msg.sn_counter_n = 2; test_msg.ssr_iod = 1; test_msg.theta_01 = 10; test_msg.theta_02 = 11; @@ -120,10 +119,9 @@ TEST_F(Test_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg.tn, assign_string, sizeof(assign_string)); } - test_msg.tn_counter_m = 3; test_msg.utn = 5; EXPECT_EQ(send_message(66, test_msg), SBP_OK); @@ -182,14 +180,11 @@ TEST_F(Test_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; EXPECT_EQ(memcmp(last_msg_.sn, check_string, sizeof(check_string)), 0) << "incorrect value for last_msg_.sn, expected string '" << check_string << "', is '" << last_msg_.sn << "'"; } - EXPECT_EQ(last_msg_.sn_counter_n, 2) - << "incorrect value for last_msg_.sn_counter_n, expected 2, is " - << last_msg_.sn_counter_n; EXPECT_EQ(last_msg_.ssr_iod, 1) << "incorrect value for last_msg_.ssr_iod, expected 1, is " << last_msg_.ssr_iod; @@ -208,14 +203,11 @@ TEST_F(Test_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; EXPECT_EQ(memcmp(last_msg_.tn, check_string, sizeof(check_string)), 0) << "incorrect value for last_msg_.tn, expected string '" << check_string << "', is '" << last_msg_.tn << "'"; } - EXPECT_EQ(last_msg_.tn_counter_m, 3) - << "incorrect value for last_msg_.tn_counter_m, expected 3, is " - << last_msg_.tn_counter_m; EXPECT_EQ(last_msg_.utn, 5) << "incorrect value for last_msg_.utn, expected 5, is " << last_msg_.utn; } diff --git a/c/test/legacy/auto_check_sbp_navigation_MsgReferenceFrameParam.c b/c/test/legacy/auto_check_sbp_navigation_MsgReferenceFrameParam.c index 9387c20f23..dc4d02e759 100644 --- a/c/test/legacy/auto_check_sbp_navigation_MsgReferenceFrameParam.c +++ b/c/test/legacy/auto_check_sbp_navigation_MsgReferenceFrameParam.c @@ -122,14 +122,14 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam) { &DUMMY_MEMORY_FOR_CALLBACKS, &n2); u8 encoded_frame[] = { - 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, - 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, - 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, - 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 66, 126, + 85, 68, 2, 66, 0, 124, 1, 102, 111, 111, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, + 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, + 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, + 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 6, 161, }; dummy_reset(); @@ -159,13 +159,12 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg->sn, assign_string, sizeof(assign_string)); if (sizeof(test_msg->sn) == 0) { test_msg_len += sizeof(assign_string); } } - test_msg->sn_counter_n = 2; test_msg->ssr_iod = 1; test_msg->theta_01 = 10; test_msg->theta_02 = 11; @@ -176,13 +175,12 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg->tn, assign_string, sizeof(assign_string)); if (sizeof(test_msg->tn) == 0) { test_msg_len += sizeof(assign_string); } } - test_msg->tn_counter_m = 3; test_msg->utn = 5; sbp_payload_send(&sbp_state, 580, 66, test_msg_len, test_msg_storage, &dummy_write); @@ -283,15 +281,12 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; ck_assert_msg( memcmp(check_msg->sn, check_string, sizeof(check_string)) == 0, "incorrect value for check_msg->sn, expected string '%s', is '%s'", check_string, check_msg->sn); } - ck_assert_msg(check_msg->sn_counter_n == 2, - "incorrect value for sn_counter_n, expected 2, is %d", - check_msg->sn_counter_n); ck_assert_msg(check_msg->ssr_iod == 1, "incorrect value for ssr_iod, expected 1, is %d", check_msg->ssr_iod); @@ -310,15 +305,12 @@ START_TEST(test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; ck_assert_msg( memcmp(check_msg->tn, check_string, sizeof(check_string)) == 0, "incorrect value for check_msg->tn, expected string '%s', is '%s'", check_string, check_msg->tn); } - ck_assert_msg(check_msg->tn_counter_m == 3, - "incorrect value for tn_counter_m, expected 3, is %d", - check_msg->tn_counter_m); ck_assert_msg(check_msg->utn == 5, "incorrect value for utn, expected 5, is %d", check_msg->utn); } diff --git a/c/test/legacy/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc b/c/test/legacy/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc index f239ee5800..83582b4e87 100644 --- a/c/test/legacy/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc +++ b/c/test/legacy/cpp/auto_check_sbp_navigation_MsgReferenceFrameParam.cc @@ -79,14 +79,14 @@ class Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0 TEST_F(Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { uint8_t encoded_frame[] = { - 85, 68, 2, 66, 0, 124, 1, 2, 102, 111, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, - 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, - 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, - 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 66, 126, + 85, 68, 2, 66, 0, 124, 1, 102, 111, 111, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 98, 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 0, 6, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, + 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, + 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, + 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 6, 161, }; uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; @@ -113,13 +113,12 @@ TEST_F(Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg->sn, assign_string, sizeof(assign_string)); if (sizeof(test_msg->sn) == 0) { test_msg_len = (uint8_t)(test_msg_len + sizeof(assign_string)); } } - test_msg->sn_counter_n = 2; test_msg->ssr_iod = 1; test_msg->theta_01 = 10; test_msg->theta_02 = 11; @@ -130,13 +129,12 @@ TEST_F(Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; memcpy(test_msg->tn, assign_string, sizeof(assign_string)); if (sizeof(test_msg->tn) == 0) { test_msg_len = (uint8_t)(test_msg_len + sizeof(assign_string)); } } - test_msg->tn_counter_m = 3; test_msg->utn = 5; EXPECT_EQ(send_message(580, 66, test_msg_len, test_msg_storage), SBP_OK); @@ -190,14 +188,11 @@ TEST_F(Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; EXPECT_EQ(memcmp(last_msg_->sn, check_string, sizeof(check_string)), 0) << "incorrect value for last_msg_->sn, expected string '" << check_string << "', is '" << last_msg_->sn << "'"; } - EXPECT_EQ(last_msg_->sn_counter_n, 2) - << "incorrect value for sn_counter_n, expected 2, is " - << last_msg_->sn_counter_n; EXPECT_EQ(last_msg_->ssr_iod, 1) << "incorrect value for ssr_iod, expected 1, is " << last_msg_->ssr_iod; EXPECT_EQ(last_msg_->theta_01, 10) @@ -215,14 +210,11 @@ TEST_F(Test_legacy_auto_check_sbp_navigation_MsgReferenceFrameParam0, Test) { (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, - (char)0, (char)0, (char)0}; + (char)0, (char)0, (char)0, (char)0}; EXPECT_EQ(memcmp(last_msg_->tn, check_string, sizeof(check_string)), 0) << "incorrect value for last_msg_->tn, expected string '" << check_string << "', is '" << last_msg_->tn << "'"; } - EXPECT_EQ(last_msg_->tn_counter_m, 3) - << "incorrect value for tn_counter_m, expected 3, is " - << last_msg_->tn_counter_m; EXPECT_EQ(last_msg_->utn, 5) << "incorrect value for utn, expected 5, is " << last_msg_->utn; } diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 228b007c767cf865ca9d6c44830159b687a64208..ed6f5d604011435bd80726a038e999ccbfb8b3cf 100644 GIT binary patch delta 50320 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 diff --git a/haskell/src/SwiftNav/SBP/Navigation.hs b/haskell/src/SwiftNav/SBP/Navigation.hs index 215d779664..4e9f2a4313 100644 --- a/haskell/src/SwiftNav/SBP/Navigation.hs +++ b/haskell/src/SwiftNav/SBP/Navigation.hs @@ -2369,14 +2369,10 @@ msgReferenceFrameParam = 0x0244 data MsgReferenceFrameParam = MsgReferenceFrameParam { _msgReferenceFrameParam_ssr_iod :: !Word8 -- ^ SSR IOD parameter. - , _msgReferenceFrameParam_sn_counter_n :: !Word8 - -- ^ Source-Name Counter N. , _msgReferenceFrameParam_sn :: !Text - -- ^ Source-Name - , _msgReferenceFrameParam_tn_counter_m :: !Word8 - -- ^ Target-Name Counter M. + -- ^ Name of source coordinate-system using the EPSG identification code. , _msgReferenceFrameParam_tn :: !Text - -- ^ Target-Name + -- ^ Name of target coordinate-system using the EPSG identification code. , _msgReferenceFrameParam_sin :: !Word8 -- ^ System Identification Number. , _msgReferenceFrameParam_utn :: !Word16 @@ -2417,10 +2413,8 @@ data MsgReferenceFrameParam = MsgReferenceFrameParam instance Binary MsgReferenceFrameParam where get = do _msgReferenceFrameParam_ssr_iod <- getWord8 - _msgReferenceFrameParam_sn_counter_n <- getWord8 - _msgReferenceFrameParam_sn <- decodeUtf8 <$> getByteString 31 - _msgReferenceFrameParam_tn_counter_m <- getWord8 - _msgReferenceFrameParam_tn <- decodeUtf8 <$> getByteString 31 + _msgReferenceFrameParam_sn <- decodeUtf8 <$> getByteString 32 + _msgReferenceFrameParam_tn <- decodeUtf8 <$> getByteString 32 _msgReferenceFrameParam_sin <- getWord8 _msgReferenceFrameParam_utn <- getWord16le _msgReferenceFrameParam_re_t0 <- getWord16le @@ -2442,9 +2436,7 @@ instance Binary MsgReferenceFrameParam where put MsgReferenceFrameParam {..} = do putWord8 _msgReferenceFrameParam_ssr_iod - putWord8 _msgReferenceFrameParam_sn_counter_n putByteString $ encodeUtf8 _msgReferenceFrameParam_sn - putWord8 _msgReferenceFrameParam_tn_counter_m putByteString $ encodeUtf8 _msgReferenceFrameParam_tn putWord8 _msgReferenceFrameParam_sin putWord16le _msgReferenceFrameParam_utn diff --git a/java/src/com/swiftnav/sbp/navigation/MsgReferenceFrameParam.java b/java/src/com/swiftnav/sbp/navigation/MsgReferenceFrameParam.java index b3bd2f9278..52bf3143cb 100644 --- a/java/src/com/swiftnav/sbp/navigation/MsgReferenceFrameParam.java +++ b/java/src/com/swiftnav/sbp/navigation/MsgReferenceFrameParam.java @@ -24,16 +24,10 @@ public class MsgReferenceFrameParam extends SBPMessage { /** SSR IOD parameter. */ public int ssr_iod; - /** Source-Name Counter N. */ - public int sn_counter_n; - - /** Source-Name */ + /** Name of source coordinate-system using the EPSG identification code. */ public String sn; - /** Target-Name Counter M. */ - public int tn_counter_m; - - /** Target-Name */ + /** Name of target coordinate-system using the EPSG identification code. */ public String tn; /** System Identification Number. */ @@ -107,10 +101,8 @@ public MsgReferenceFrameParam(SBPMessage msg) throws SBPBinaryException { protected void parse(Parser parser) throws SBPBinaryException { /* Parse fields from binary */ ssr_iod = parser.getU8(); - sn_counter_n = parser.getU8(); - sn = parser.getString(31); - tn_counter_m = parser.getU8(); - tn = parser.getString(31); + sn = parser.getString(32); + tn = parser.getString(32); sin = parser.getU8(); utn = parser.getU16(); re_t0 = parser.getU16(); @@ -133,10 +125,8 @@ protected void parse(Parser parser) throws SBPBinaryException { @Override protected void build(Builder builder) { builder.putU8(ssr_iod); - builder.putU8(sn_counter_n); - builder.putString(sn, 31); - builder.putU8(tn_counter_m); - builder.putString(tn, 31); + builder.putString(sn, 32); + builder.putString(tn, 32); builder.putU8(sin); builder.putU16(utn); builder.putU16(re_t0); @@ -160,9 +150,7 @@ protected void build(Builder builder) { public JSONObject toJSON() { JSONObject obj = super.toJSON(); obj.put("ssr_iod", ssr_iod); - obj.put("sn_counter_n", sn_counter_n); obj.put("sn", sn); - obj.put("tn_counter_m", tn_counter_m); obj.put("tn", tn); obj.put("sin", sin); obj.put("utn", utn); diff --git a/java/test/auto_check_sbp_navigation_MsgReferenceFrameParamTest.java b/java/test/auto_check_sbp_navigation_MsgReferenceFrameParamTest.java index a5b6a37622..fa0f4ac4fb 100644 --- a/java/test/auto_check_sbp_navigation_MsgReferenceFrameParamTest.java +++ b/java/test/auto_check_sbp_navigation_MsgReferenceFrameParamTest.java @@ -34,7 +34,6 @@ public void test1() throws Throwable { byte[] payload = new byte[] { (byte) 1, - (byte) 2, (byte) 102, (byte) 111, (byte) 111, @@ -66,7 +65,7 @@ public void test1() throws Throwable { (byte) 0, (byte) 0, (byte) 0, - (byte) 3, + (byte) 0, (byte) 98, (byte) 97, (byte) 114, @@ -98,6 +97,7 @@ public void test1() throws Throwable { (byte) 0, (byte) 0, (byte) 0, + (byte) 0, (byte) 4, (byte) 5, (byte) 0, @@ -287,17 +287,7 @@ public void test1() throws Throwable { expected = 4L; org.junit.Assert.assertEquals(value, expected); } - org.junit.Assert.assertEquals(msg.sn, "foo"); - value = msg.sn_counter_n; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.sn_counter_n + "' != '" + 2 + "'", - value.equals(BigInteger.valueOf(2L))); - } else { - value = value.longValue(); - expected = 2L; - org.junit.Assert.assertEquals(value, expected); - } + org.junit.Assert.assertEquals(msg.sn, "foo"); value = msg.ssr_iod; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( @@ -337,17 +327,7 @@ public void test1() throws Throwable { expected = 12L; org.junit.Assert.assertEquals(value, expected); } - org.junit.Assert.assertEquals(msg.tn, "bar"); - value = msg.tn_counter_m; - if (value instanceof BigInteger) { - org.junit.Assert.assertTrue( - "'" + msg.tn_counter_m + "' != '" + 3 + "'", - value.equals(BigInteger.valueOf(3L))); - } else { - value = value.longValue(); - expected = 3L; - org.junit.Assert.assertEquals(value, expected); - } + org.junit.Assert.assertEquals(msg.tn, "bar"); value = msg.utn; if (value instanceof BigInteger) { org.junit.Assert.assertTrue( diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index 8a37bc5a75..5ac50c82fd 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -12,4 +12,4 @@ var r=p(25),o=p(26),i=p(16);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647 * @author Feross Aboukhadijeh * @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"]),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}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.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("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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").uint8("sn_counter_n").string("sn",{length:31}).uint8("tn_counter_m").string("tn",{length:31}).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_counter_n","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",31]),V.prototype.fieldSpec.push(["tn_counter_m","writeUInt8",1]),V.prototype.fieldSpec.push(["tn","string",31]),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]),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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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="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_bound_mu").uint8("tropo_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_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_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",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",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",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);let O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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,MsgSsrTileDefinitionDep:v,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},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}}]); \ 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 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"]),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}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",k.prototype.msg_type=516,k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["x","writeInt32LE",4]),k.prototype.fieldSpec.push(["y","writeInt32LE",4]),k.prototype.fieldSpec.push(["z","writeInt32LE",4]),k.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",F.prototype.msg_type=517,F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["n","writeInt32LE",4]),F.prototype.fieldSpec.push(["e","writeInt32LE",4]),F.prototype.fieldSpec.push(["d","writeInt32LE",4]),F.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.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("bias_coeff").int16("drift_coeff").int8("drift_rate_coeff").int8("count_before").uint16("tow_s").uint16("wn").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["bias_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_coeff","writeInt16LE",2]),H.prototype.fieldSpec.push(["drift_rate_coeff","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["tow_s","writeUInt16LE",2]),H.prototype.fieldSpec.push(["wn","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]),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:k,MsgVelEcefDepA:k,517:F,MsgVelNedDepA:F,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V}},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 k=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_DEP_C",k.prototype.msg_type=71,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),k.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),k.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),k.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["w","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),k.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),k.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),k.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),k.prototype.fieldSpec.push(["valid","writeUInt8",1]),k.prototype.fieldSpec.push(["healthy","writeUInt8",1]),k.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),k.prototype.fieldSpec.push(["iode","writeUInt8",1]),k.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),k.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let F=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),F.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:F.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",F.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:F.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",F.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:k,MsgEphemerisDepC:k,ObservationHeaderDep:F,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="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_bound_mu").uint8("tropo_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_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_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",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",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",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",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="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.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"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);let O=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};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let R=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};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let P=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};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let N=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};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=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};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",k.prototype.msg_type=1502,k.prototype.constructor=k,k.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:x.prototype.parser,length:"n_sats"}),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),k.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),k.prototype.fieldSpec.push(["const_id","writeUInt8",1]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let F=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",F.prototype.constructor=F,F.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"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),F.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),F.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let B=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};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,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_signals").array("satellites_signals",{type:F.prototype.parser,length:"n_sats_signals"}),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_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",F.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.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"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let z=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};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.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:q.prototype.parser}),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(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.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,MsgSsrTileDefinitionDep:v,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:k,MsgSsrOrbitClockBounds:k,CodePhaseBiasesSatSig:F,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},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}}]); \ No newline at end of file diff --git a/javascript/sbp/navigation.js b/javascript/sbp/navigation.js index 221e0e4a98..637c808215 100644 --- a/javascript/sbp/navigation.js +++ b/javascript/sbp/navigation.js @@ -2191,10 +2191,8 @@ MsgUtcLeapSecond.prototype.fieldSpec.push(['count_after', 'writeInt8', 1]); * Fields in the SBP payload (`sbp.payload`): * @field ssr_iod number (unsigned 8-bit int, 1 byte) SSR IOD parameter. - * @field sn_counter_n number (unsigned 8-bit int, 1 byte) Source-Name Counter N. - * @field sn string Source-Name - * @field tn_counter_m number (unsigned 8-bit int, 1 byte) Target-Name Counter M. - * @field tn string Target-Name + * @field sn string Name of source coordinate-system using the EPSG identification code. + * @field tn string Name of target coordinate-system using the EPSG identification code. * @field sin number (unsigned 8-bit int, 1 byte) System Identification Number. * @field utn number (unsigned 16-bit int, 2 bytes) Utilized Transformation Message. * @field re_t0 number (unsigned 16-bit int, 2 bytes) Reference Epoch t0 for transformation parameter set given as Modified Julian Day @@ -2230,10 +2228,8 @@ MsgReferenceFrameParam.prototype.constructor = MsgReferenceFrameParam; MsgReferenceFrameParam.prototype.parser = new Parser() .endianess('little') .uint8('ssr_iod') - .uint8('sn_counter_n') - .string('sn', { length: 31 }) - .uint8('tn_counter_m') - .string('tn', { length: 31 }) + .string('sn', { length: 32 }) + .string('tn', { length: 32 }) .uint8('sin') .uint16('utn') .uint16('re_t0') @@ -2253,10 +2249,8 @@ MsgReferenceFrameParam.prototype.parser = new Parser() .int16('dot_scale'); MsgReferenceFrameParam.prototype.fieldSpec = []; MsgReferenceFrameParam.prototype.fieldSpec.push(['ssr_iod', 'writeUInt8', 1]); -MsgReferenceFrameParam.prototype.fieldSpec.push(['sn_counter_n', 'writeUInt8', 1]); -MsgReferenceFrameParam.prototype.fieldSpec.push(['sn', 'string', 31]); -MsgReferenceFrameParam.prototype.fieldSpec.push(['tn_counter_m', 'writeUInt8', 1]); -MsgReferenceFrameParam.prototype.fieldSpec.push(['tn', 'string', 31]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['sn', 'string', 32]); +MsgReferenceFrameParam.prototype.fieldSpec.push(['tn', 'string', 32]); MsgReferenceFrameParam.prototype.fieldSpec.push(['sin', 'writeUInt8', 1]); MsgReferenceFrameParam.prototype.fieldSpec.push(['utn', 'writeUInt16LE', 2]); MsgReferenceFrameParam.prototype.fieldSpec.push(['re_t0', 'writeUInt16LE', 2]); diff --git a/jsonschema/MsgReferenceFrameParam.json b/jsonschema/MsgReferenceFrameParam.json index e801d7f146..6ec19a4118 100644 --- a/jsonschema/MsgReferenceFrameParam.json +++ b/jsonschema/MsgReferenceFrameParam.json @@ -17,9 +17,7 @@ "type": "object", "properties": { "ssr_iod": {"type": "integer"}, - "sn_counter_n": {"type": "integer"}, "sn": {"type": "string"}, - "tn_counter_m": {"type": "integer"}, "tn": {"type": "string"}, "sin": {"type": "integer"}, "utn": {"type": "integer"}, @@ -41,9 +39,7 @@ }, "required": [ "ssr_iod", - "sn_counter_n", "sn", - "tn_counter_m", "tn", "sin", "utn", diff --git a/proto/navigation.proto b/proto/navigation.proto index 7f3464bbb9..e31a7663b5 100644 --- a/proto/navigation.proto +++ b/proto/navigation.proto @@ -673,25 +673,23 @@ None */ message MsgReferenceFrameParam { uint32 ssr_iod = 1; - uint32 sn_counter_n = 2; - string sn = 3; - uint32 tn_counter_m = 4; - string tn = 5; - uint32 sin = 6; - uint32 utn = 7; - uint32 re_t0 = 8; - sint32 delta_X0 = 9; - sint32 delta_Y0 = 10; - sint32 delta_Z0 = 11; - sint32 theta_01 = 12; - sint32 theta_02 = 13; - sint32 theta_03 = 14; - sint32 scale = 15; - sint32 dot_delta_X0 = 16; - sint32 dot_delta_Y0 = 17; - sint32 dot_delta_Z0 = 18; - sint32 dot_theta_01 = 19; - sint32 dot_theta_02 = 20; - sint32 dot_theta_03 = 21; - sint32 dot_scale = 22; + string sn = 2; + string tn = 3; + uint32 sin = 4; + uint32 utn = 5; + uint32 re_t0 = 6; + sint32 delta_X0 = 7; + sint32 delta_Y0 = 8; + sint32 delta_Z0 = 9; + sint32 theta_01 = 10; + sint32 theta_02 = 11; + sint32 theta_03 = 12; + sint32 scale = 13; + sint32 dot_delta_X0 = 14; + sint32 dot_delta_Y0 = 15; + sint32 dot_delta_Z0 = 16; + sint32 dot_theta_01 = 17; + sint32 dot_theta_02 = 18; + sint32 dot_theta_03 = 19; + sint32 dot_scale = 20; } \ No newline at end of file diff --git a/python/sbp/navigation.py b/python/sbp/navigation.py index cf7a3dd41a..1ccdb9d276 100755 --- a/python/sbp/navigation.py +++ b/python/sbp/navigation.py @@ -5254,14 +5254,10 @@ class MsgReferenceFrameParam(SBP): SBP parent object to inherit from. ssr_iod : int SSR IOD parameter. - sn_counter_n : int - Source-Name Counter N. sn : string - Source-Name - tn_counter_m : int - Target-Name Counter M. + Name of source coordinate-system using the EPSG identification code. tn : string - Target-Name + Name of target coordinate-system using the EPSG identification code. sin : int System Identification Number. utn : int @@ -5303,10 +5299,8 @@ class MsgReferenceFrameParam(SBP): """ _parser = construct.Struct( 'ssr_iod' / construct.Int8ul, - 'sn_counter_n' / construct.Int8ul, - 'sn'/ construct.Bytes(31), - 'tn_counter_m' / construct.Int8ul, - 'tn'/ construct.Bytes(31), + 'sn'/ construct.Bytes(32), + 'tn'/ construct.Bytes(32), 'sin' / construct.Int8ul, 'utn' / construct.Int16ul, 're_t0' / construct.Int16ul, @@ -5326,9 +5320,7 @@ class MsgReferenceFrameParam(SBP): 'dot_scale' / construct.Int16sl,) __slots__ = [ 'ssr_iod', - 'sn_counter_n', 'sn', - 'tn_counter_m', 'tn', 'sin', 'utn', @@ -5360,9 +5352,7 @@ def __init__(self, sbp=None, **kwargs): self.msg_type = SBP_MSG_REFERENCE_FRAME_PARAM self.sender = kwargs.pop('sender', SENDER_ID) self.ssr_iod = kwargs.pop('ssr_iod') - self.sn_counter_n = kwargs.pop('sn_counter_n') self.sn = kwargs.pop('sn') - self.tn_counter_m = kwargs.pop('tn_counter_m') self.tn = kwargs.pop('tn') self.sin = kwargs.pop('sin') self.utn = kwargs.pop('utn') diff --git a/rust/sbp/src/messages/navigation.rs b/rust/sbp/src/messages/navigation.rs index 9a9c31b63b..4eef53b413 100644 --- a/rust/sbp/src/messages/navigation.rs +++ b/rust/sbp/src/messages/navigation.rs @@ -6009,18 +6009,12 @@ pub mod msg_reference_frame_param { /// SSR IOD parameter. #[cfg_attr(feature = "serde", serde(rename(serialize = "ssr_iod")))] pub ssr_iod: u8, - /// Source-Name Counter N. - #[cfg_attr(feature = "serde", serde(rename(serialize = "sn_counter_n")))] - pub sn_counter_n: u8, - /// Source-Name + /// Name of source coordinate-system using the EPSG identification code. #[cfg_attr(feature = "serde", serde(rename(serialize = "sn")))] - pub sn: SbpString<[u8; 31], Unterminated>, - /// Target-Name Counter M. - #[cfg_attr(feature = "serde", serde(rename(serialize = "tn_counter_m")))] - pub tn_counter_m: u8, - /// Target-Name + pub sn: SbpString<[u8; 32], NullTerminated>, + /// Name of target coordinate-system using the EPSG identification code. #[cfg_attr(feature = "serde", serde(rename(serialize = "tn")))] - pub tn: SbpString<[u8; 31], Unterminated>, + pub tn: SbpString<[u8; 32], NullTerminated>, /// System Identification Number. #[cfg_attr(feature = "serde", serde(rename(serialize = "sin")))] pub sin: u8, @@ -6110,10 +6104,8 @@ pub mod msg_reference_frame_param { impl WireFormat for MsgReferenceFrameParam { const MIN_LEN: usize = ::MIN_LEN - + ::MIN_LEN - + as WireFormat>::MIN_LEN - + ::MIN_LEN - + as WireFormat>::MIN_LEN + + as WireFormat>::MIN_LEN + + as WireFormat>::MIN_LEN + ::MIN_LEN + ::MIN_LEN + ::MIN_LEN @@ -6133,9 +6125,7 @@ pub mod msg_reference_frame_param { + ::MIN_LEN; fn len(&self) -> usize { WireFormat::len(&self.ssr_iod) - + WireFormat::len(&self.sn_counter_n) + WireFormat::len(&self.sn) - + WireFormat::len(&self.tn_counter_m) + WireFormat::len(&self.tn) + WireFormat::len(&self.sin) + WireFormat::len(&self.utn) @@ -6157,9 +6147,7 @@ pub mod msg_reference_frame_param { } fn write(&self, buf: &mut B) { WireFormat::write(&self.ssr_iod, buf); - WireFormat::write(&self.sn_counter_n, buf); WireFormat::write(&self.sn, buf); - WireFormat::write(&self.tn_counter_m, buf); WireFormat::write(&self.tn, buf); WireFormat::write(&self.sin, buf); WireFormat::write(&self.utn, buf); @@ -6183,9 +6171,7 @@ pub mod msg_reference_frame_param { MsgReferenceFrameParam { sender_id: None, ssr_iod: WireFormat::parse_unchecked(buf), - sn_counter_n: WireFormat::parse_unchecked(buf), sn: WireFormat::parse_unchecked(buf), - tn_counter_m: WireFormat::parse_unchecked(buf), tn: WireFormat::parse_unchecked(buf), sin: WireFormat::parse_unchecked(buf), utn: WireFormat::parse_unchecked(buf), diff --git a/rust/sbp/tests/integration/auto_check_sbp_navigation_msg_reference_frame_param.rs b/rust/sbp/tests/integration/auto_check_sbp_navigation_msg_reference_frame_param.rs index 0f3690bba650222d325068e50b491613d957eafa..f2571b1aca46e0f5402c5bb01ae902f098eb1a8b 100644 GIT binary patch delta 92 zcmexm^44&J8uMgLW{b&j%vO_UGi!nA0A`-a94uE^brcNE3^zY!DdwI0R$OIr0k`Pn jKA{*OTVt}Iu=nIX5w^`*A_mNG$w}fM$)e5blEI7sl4Kr` delta 212 zcmaEB_{(I28Z)EOWEEzs$w!&Z8I31TW7gSxlv#q2%}htZ(8z4_BbH*`$*+Z!C-I6- z?h}duGK=`~;*;}B^GZ^S;`4MAj3z6JXiF5Mh^1B(q$Zc7rT`@aIhDAPBqs-odv1;q zHfM&Jc}5ImruyUnaWDQ7gdw>)3dTT#b;MDG;N}`nP83n*Mv|M%$nCLtmUu8D0QP4{ Ai2wiq diff --git a/sbpjson/elm/SbpJson.elm b/sbpjson/elm/SbpJson.elm index 1ca2d8ba20..03f1ccac01 100644 --- a/sbpjson/elm/SbpJson.elm +++ b/sbpjson/elm/SbpJson.elm @@ -2311,13 +2311,11 @@ type alias MsgReferenceFrameParam = , scale : Int , sin : Int , sn : String - , snCounterN : Int , ssrIod : Int , theta01 : Int , theta02 : Int , theta03 : Int , tn : String - , tnCounterM : Int , utn : Int } @@ -6167,13 +6165,11 @@ msgReferenceFrameParam = |> Jpipe.required "scale" Jdec.int |> Jpipe.required "sin" Jdec.int |> Jpipe.required "sn" Jdec.string - |> Jpipe.required "sn_counter_n" Jdec.int |> Jpipe.required "ssr_iod" Jdec.int |> Jpipe.required "theta_01" Jdec.int |> Jpipe.required "theta_02" Jdec.int |> Jpipe.required "theta_03" Jdec.int |> Jpipe.required "tn" Jdec.string - |> Jpipe.required "tn_counter_m" Jdec.int |> Jpipe.required "utn" Jdec.int encodeMsgReferenceFrameParam : MsgReferenceFrameParam -> Jenc.Value @@ -6193,13 +6189,11 @@ encodeMsgReferenceFrameParam x = , ("scale", Jenc.int x.scale) , ("sin", Jenc.int x.sin) , ("sn", Jenc.string x.sn) - , ("sn_counter_n", Jenc.int x.snCounterN) , ("ssr_iod", Jenc.int x.ssrIod) , ("theta_01", Jenc.int x.theta01) , ("theta_02", Jenc.int x.theta02) , ("theta_03", Jenc.int x.theta03) , ("tn", Jenc.string x.tn) - , ("tn_counter_m", Jenc.int x.tnCounterM) , ("utn", Jenc.int x.utn) ] diff --git a/sbpjson/javascript/SbpJson.js b/sbpjson/javascript/SbpJson.js index 117f57872b..1631d4f28a 100644 --- a/sbpjson/javascript/SbpJson.js +++ b/sbpjson/javascript/SbpJson.js @@ -2853,13 +2853,11 @@ const typeMap = { { json: "scale", js: "scale", typ: 0 }, { json: "sin", js: "sin", typ: 0 }, { json: "sn", js: "sn", typ: "" }, - { json: "sn_counter_n", js: "sn_counter_n", typ: 0 }, { json: "ssr_iod", js: "ssr_iod", typ: 0 }, { json: "theta_01", js: "theta_01", typ: 0 }, { json: "theta_02", js: "theta_02", typ: 0 }, { json: "theta_03", js: "theta_03", typ: 0 }, { json: "tn", js: "tn", typ: "" }, - { json: "tn_counter_m", js: "tn_counter_m", typ: 0 }, { json: "utn", js: "utn", typ: 0 }, ], "any"), "MsgReset": o([ diff --git a/sbpjson/typescript/SbpJson.ts b/sbpjson/typescript/SbpJson.ts index b2a9a0a437..4def6bea6e 100644 --- a/sbpjson/typescript/SbpJson.ts +++ b/sbpjson/typescript/SbpJson.ts @@ -1790,13 +1790,11 @@ export interface MsgReferenceFrameParam { scale: number; sin: number; sn: string; - sn_counter_n: number; ssr_iod: number; theta_01: number; theta_02: number; theta_03: number; tn: string; - tn_counter_m: number; utn: number; } @@ -5433,13 +5431,11 @@ const typeMap: any = { { json: "scale", js: "scale", typ: 0 }, { json: "sin", js: "sin", typ: 0 }, { json: "sn", js: "sn", typ: "" }, - { json: "sn_counter_n", js: "sn_counter_n", typ: 0 }, { json: "ssr_iod", js: "ssr_iod", typ: 0 }, { json: "theta_01", js: "theta_01", typ: 0 }, { json: "theta_02", js: "theta_02", typ: 0 }, { json: "theta_03", js: "theta_03", typ: 0 }, { json: "tn", js: "tn", typ: "" }, - { json: "tn_counter_m", js: "tn_counter_m", typ: 0 }, { json: "utn", js: "utn", typ: 0 }, ], "any"), "MsgReset": o([ From b151fe93d47e2665f204c537f334b3a21d9a0017 Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Wed, 8 Jun 2022 11:24:35 -0400 Subject: [PATCH 09/14] Addressing PR comments --- spec/yaml/swiftnav/sbp/navigation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/yaml/swiftnav/sbp/navigation.yaml b/spec/yaml/swiftnav/sbp/navigation.yaml index 3b782d09b4..db9e74ed36 100644 --- a/spec/yaml/swiftnav/sbp/navigation.yaml +++ b/spec/yaml/swiftnav/sbp/navigation.yaml @@ -2481,7 +2481,7 @@ definitions: - MSG_REFERENCE_FRAME_PARAM: id: 0x0244 - short_desc: Reference Frame Transformation Parameter + short_desc: Reference Frame Transformation Parameters fields: - ssr_iod: type: u8 From d943052aa494ec1df3e8cefaa02550248fd0a84a Mon Sep 17 00:00:00 2001 From: fpezzinosn Date: Wed, 8 Jun 2022 13:28:36 -0400 Subject: [PATCH 10/14] make all --- docs/sbp.pdf | Bin 494285 -> 494293 bytes proto/navigation.proto | 2 +- rust/sbp/src/messages/mod.rs | 2 +- rust/sbp/src/messages/navigation.rs | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sbp.pdf b/docs/sbp.pdf index ed6f5d604011435bd80726a038e999ccbfb8b3cf..df0f1726c2ae65d63274e63c92dd566821758190 100644 GIT binary patch delta 55408 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 delta 55497 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