[
  {
    "packet": "Packet_Scalar_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "c": 0
        }
      },
      {
        "packed": "ffffffffffffff80",
        "unpacked": {
          "a": 0,
          "c": 144115188075855871
        }
      },
      {
        "packed": "0081018202830380",
        "unpacked": {
          "a": 0,
          "c": 283686952306183
        }
      },
      {
        "packed": "000000000000007f",
        "unpacked": {
          "a": 127,
          "c": 0
        }
      },
      {
        "packed": "ffffffffffffffff",
        "unpacked": {
          "a": 127,
          "c": 144115188075855871
        }
      },
      {
        "packed": "00810182028303ff",
        "unpacked": {
          "a": 127,
          "c": 283686952306183
        }
      },
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "c": 0
        }
      },
      {
        "packed": "ffffffffffffff80",
        "unpacked": {
          "a": 0,
          "c": 144115188075855871
        }
      },
      {
        "packed": "0081018202830380",
        "unpacked": {
          "a": 0,
          "c": 283686952306183
        }
      }
    ]
  },
  {
    "packet": "Packet_Enum_Field",
    "tests": [
      {
        "packed": "0000000000000001",
        "unpacked": {
          "a": 1,
          "c": 0
        }
      },
      {
        "packed": "ffffffffffffff81",
        "unpacked": {
          "a": 1,
          "c": 144115188075855871
        }
      },
      {
        "packed": "08090a0b0c0d0e81",
        "unpacked": {
          "a": 1,
          "c": 4523477106694685
        }
      },
      {
        "packed": "0000000000000002",
        "unpacked": {
          "a": 2,
          "c": 0
        }
      },
      {
        "packed": "ffffffffffffff82",
        "unpacked": {
          "a": 2,
          "c": 144115188075855871
        }
      },
      {
        "packed": "08090a0b0c0d0e82",
        "unpacked": {
          "a": 2,
          "c": 4523477106694685
        }
      }
    ]
  },
  {
    "packet": "Packet_Reserved_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "c": 0
        }
      },
      {
        "packed": "fffffffffffffe00",
        "unpacked": {
          "a": 0,
          "c": 36028797018963967
        }
      },
      {
        "packed": "1011121314152c00",
        "unpacked": {
          "a": 0,
          "c": 2261184477268630
        }
      },
      {
        "packed": "000000000000007f",
        "unpacked": {
          "a": 127,
          "c": 0
        }
      },
      {
        "packed": "fffffffffffffe7f",
        "unpacked": {
          "a": 127,
          "c": 36028797018963967
        }
      },
      {
        "packed": "1011121314152c7f",
        "unpacked": {
          "a": 127,
          "c": 2261184477268630
        }
      },
      {
        "packed": "0000000000000007",
        "unpacked": {
          "a": 7,
          "c": 0
        }
      },
      {
        "packed": "fffffffffffffe07",
        "unpacked": {
          "a": 7,
          "c": 36028797018963967
        }
      },
      {
        "packed": "1011121314152c07",
        "unpacked": {
          "a": 7,
          "c": 2261184477268630
        }
      }
    ]
  },
  {
    "packet": "Packet_Size_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "b": []
        }
      },
      {
        "packed": "00000000000000071f102122232425",
        "unpacked": {
          "a": 0,
          "b": [
            31,
            16,
            33,
            34,
            35,
            36,
            37
          ]
        }
      },
      {
        "packed": "fffffffffffffff8",
        "unpacked": {
          "a": 2305843009213693951,
          "b": []
        }
      },
      {
        "packed": "ffffffffffffffff1f102122232425",
        "unpacked": {
          "a": 2305843009213693951,
          "b": [
            31,
            16,
            33,
            34,
            35,
            36,
            37
          ]
        }
      },
      {
        "packed": "0b8c0c8d0d8e0ef0",
        "unpacked": {
          "a": 104006728889254366,
          "b": []
        }
      },
      {
        "packed": "0b8c0c8d0d8e0ef71f102122232425",
        "unpacked": {
          "a": 104006728889254366,
          "b": [
            31,
            16,
            33,
            34,
            35,
            36,
            37
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Count_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "b": []
        }
      },
      {
        "packed": "00000000000000072c2f2e31303332",
        "unpacked": {
          "a": 0,
          "b": [
            44,
            47,
            46,
            49,
            48,
            51,
            50
          ]
        }
      },
      {
        "packed": "fffffffffffffff8",
        "unpacked": {
          "a": 2305843009213693951,
          "b": []
        }
      },
      {
        "packed": "ffffffffffffffff2c2f2e31303332",
        "unpacked": {
          "a": 2305843009213693951,
          "b": [
            44,
            47,
            46,
            49,
            48,
            51,
            50
          ]
        }
      },
      {
        "packed": "2262728292a2b2c8",
        "unpacked": {
          "a": 309708581267330649,
          "b": []
        }
      },
      {
        "packed": "2262728292a2b2cf2c2f2e31303332",
        "unpacked": {
          "a": 309708581267330649,
          "b": [
            44,
            47,
            46,
            49,
            48,
            51,
            50
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_FixedScalar_Field",
    "tests": [
      {
        "packed": "0000000000000007",
        "unpacked": {
          "b": 0
        }
      },
      {
        "packed": "ffffffffffffff87",
        "unpacked": {
          "b": 144115188075855871
        }
      },
      {
        "packed": "346a6c6e70727587",
        "unpacked": {
          "b": 29507425461658859
        }
      }
    ]
  },
  {
    "packet": "Packet_FixedEnum_Field",
    "tests": [
      {
        "packed": "0000000000000001",
        "unpacked": {
          "b": 0
        }
      },
      {
        "packed": "ffffffffffffff81",
        "unpacked": {
          "b": 144115188075855871
        }
      },
      {
        "packed": "38f0f4f8fd010501",
        "unpacked": {
          "b": 32055067271627274
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "payload": []
        }
      },
      {
        "packed": "0743444546474049",
        "unpacked": {
          "payload": [
            67,
            68,
            69,
            70,
            71,
            64,
            73
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_SizeModifier",
    "tests": [
      {
        "packed": "02",
        "unpacked": {
          "payload": []
        }
      },
      {
        "packed": "074a4b4c4d4e",
        "unpacked": {
          "payload": [
            74,
            75,
            76,
            77,
            78
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_UnknownSize",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "payload": [],
          "a": 0
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "payload": [],
          "a": 65535
        }
      },
      {
        "packed": "52a5",
        "unpacked": {
          "payload": [],
          "a": 21157
        }
      },
      {
        "packed": "4f485152530000",
        "unpacked": {
          "payload": [
            79,
            72,
            81,
            82,
            83
          ],
          "a": 0
        }
      },
      {
        "packed": "4f48515253ffff",
        "unpacked": {
          "payload": [
            79,
            72,
            81,
            82,
            83
          ],
          "a": 65535
        }
      },
      {
        "packed": "4f4851525352a5",
        "unpacked": {
          "payload": [
            79,
            72,
            81,
            82,
            83
          ],
          "a": 21157
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_UnknownSize_Terminal",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": 0,
          "payload": []
        }
      },
      {
        "packed": "000050595a5b5c",
        "unpacked": {
          "a": 0,
          "payload": [
            80,
            89,
            90,
            91,
            92
          ]
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "a": 65535,
          "payload": []
        }
      },
      {
        "packed": "ffff50595a5b5c",
        "unpacked": {
          "a": 65535,
          "payload": [
            80,
            89,
            90,
            91,
            92
          ]
        }
      },
      {
        "packed": "52b7",
        "unpacked": {
          "a": 21175,
          "payload": []
        }
      },
      {
        "packed": "52b750595a5b5c",
        "unpacked": {
          "a": 21175,
          "payload": [
            80,
            89,
            90,
            91,
            92
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Body_Field_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "payload": []
        }
      },
      {
        "packed": "075d5e5f58616263",
        "unpacked": {
          "payload": [
            93,
            94,
            95,
            88,
            97,
            98,
            99
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Body_Field_UnknownSize",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "payload": [],
          "a": 0
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "payload": [],
          "a": 65535
        }
      },
      {
        "packed": "6b4a",
        "unpacked": {
          "payload": [],
          "a": 27466
        }
      },
      {
        "packed": "64656667600000",
        "unpacked": {
          "payload": [
            100,
            101,
            102,
            103,
            96
          ],
          "a": 0
        }
      },
      {
        "packed": "6465666760ffff",
        "unpacked": {
          "payload": [
            100,
            101,
            102,
            103,
            96
          ],
          "a": 65535
        }
      },
      {
        "packed": "64656667606b4a",
        "unpacked": {
          "payload": [
            100,
            101,
            102,
            103,
            96
          ],
          "a": 27466
        }
      }
    ]
  },
  {
    "packet": "Packet_Body_Field_UnknownSize_Terminal",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": 0,
          "payload": []
        }
      },
      {
        "packed": "00006d6e6f6871",
        "unpacked": {
          "a": 0,
          "payload": [
            109,
            110,
            111,
            104,
            113
          ]
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "a": 65535,
          "payload": []
        }
      },
      {
        "packed": "ffff6d6e6f6871",
        "unpacked": {
          "a": 65535,
          "payload": [
            109,
            110,
            111,
            104,
            113
          ]
        }
      },
      {
        "packed": "6b5c",
        "unpacked": {
          "a": 27484,
          "payload": []
        }
      },
      {
        "packed": "6b5c6d6e6f6871",
        "unpacked": {
          "a": 27484,
          "payload": [
            109,
            110,
            111,
            104,
            113
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_ScalarGroup_Field",
    "tests": [
      {
        "packed": "002a",
        "unpacked": {}
      }
    ]
  },
  {
    "packet": "Packet_EnumGroup_Field",
    "tests": [
      {
        "packed": "aabb",
        "unpacked": {}
      }
    ]
  },
  {
    "packet": "Packet_Checksum_Field_FromStart",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "a": 0,
          "b": 0,
          "crc": 0
        }
      },
      {
        "packed": "0000fffffe",
        "unpacked": {
          "a": 0,
          "b": 65535,
          "crc": 254
        }
      },
      {
        "packed": "000073a518",
        "unpacked": {
          "a": 0,
          "b": 29605,
          "crc": 24
        }
      },
      {
        "packed": "ffff0000fe",
        "unpacked": {
          "a": 65535,
          "b": 0,
          "crc": 254
        }
      },
      {
        "packed": "fffffffffc",
        "unpacked": {
          "a": 65535,
          "b": 65535,
          "crc": 252
        }
      },
      {
        "packed": "ffff73a516",
        "unpacked": {
          "a": 65535,
          "b": 29605,
          "crc": 22
        }
      },
      {
        "packed": "7393000006",
        "unpacked": {
          "a": 29587,
          "b": 0,
          "crc": 6
        }
      },
      {
        "packed": "7393ffff04",
        "unpacked": {
          "a": 29587,
          "b": 65535,
          "crc": 4
        }
      },
      {
        "packed": "739373a51e",
        "unpacked": {
          "a": 29587,
          "b": 29605,
          "crc": 30
        }
      }
    ]
  },
  {
    "packet": "Packet_Checksum_Field_FromEnd",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 0,
          "b": 0
        }
      },
      {
        "packed": "000000ffff",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 0,
          "b": 65535
        }
      },
      {
        "packed": "0000007bee",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 0,
          "b": 31726
        }
      },
      {
        "packed": "00ffff0000",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 65535,
          "b": 0
        }
      },
      {
        "packed": "00ffffffff",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 65535,
          "b": 65535
        }
      },
      {
        "packed": "00ffff7bee",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 65535,
          "b": 31726
        }
      },
      {
        "packed": "007bdc0000",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 31708,
          "b": 0
        }
      },
      {
        "packed": "007bdcffff",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 31708,
          "b": 65535
        }
      },
      {
        "packed": "007bdc7bee",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 31708,
          "b": 31726
        }
      },
      {
        "packed": "767770797a5000000000",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 0,
          "b": 0
        }
      },
      {
        "packed": "767770797a500000ffff",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 0,
          "b": 65535
        }
      },
      {
        "packed": "767770797a5000007bee",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 0,
          "b": 31726
        }
      },
      {
        "packed": "767770797a50ffff0000",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 65535,
          "b": 0
        }
      },
      {
        "packed": "767770797a50ffffffff",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 65535,
          "b": 65535
        }
      },
      {
        "packed": "767770797a50ffff7bee",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 65535,
          "b": 31726
        }
      },
      {
        "packed": "767770797a507bdc0000",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 31708,
          "b": 0
        }
      },
      {
        "packed": "767770797a507bdcffff",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 31708,
          "b": 65535
        }
      },
      {
        "packed": "767770797a507bdc7bee",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 31708,
          "b": 31726
        }
      }
    ]
  },
  {
    "packet": "Packet_Struct_Field",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "0003788182",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": [
              120,
              129,
              130
            ]
          }
        }
      },
      {
        "packed": "ff00",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "ff03788182",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": [
              120,
              129,
              130
            ]
          }
        }
      },
      {
        "packed": "7f00",
        "unpacked": {
          "a": {
            "a": 127
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "7f03788182",
        "unpacked": {
          "a": {
            "a": 127
          },
          "b": {
            "array": [
              120,
              129,
              130
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_ConstantSize",
    "tests": [
      {
        "packed": "83848586",
        "unpacked": {
          "array": [
            131,
            132,
            133,
            134
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0f8780898a8b8c8d8e8f889192939495",
        "unpacked": {
          "array": [
            135,
            128,
            137,
            138,
            139,
            140,
            141,
            142,
            143,
            136,
            145,
            146,
            147,
            148,
            149
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0f969790999a9b9c9d9e9f98a1a2a3a4",
        "unpacked": {
          "array": [
            150,
            151,
            144,
            153,
            154,
            155,
            156,
            157,
            158,
            159,
            152,
            161,
            162,
            163,
            164
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "a5a6a7",
        "unpacked": {
          "array": [
            165,
            166,
            167
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_ConstantSize",
    "tests": [
      {
        "packed": "a541ad53ad65ad77",
        "unpacked": {
          "array": [
            42305,
            44371,
            44389,
            44407
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0ead81b593b5a5b5b7b5c1bdd3bde5",
        "unpacked": {
          "array": [
            44417,
            46483,
            46501,
            46519,
            46529,
            48595,
            48613
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0fbdf7be01c613c625c637c641ce53ce65ce77ce81d693d6a5d6b7d6c1ded3",
        "unpacked": {
          "array": [
            48631,
            48641,
            50707,
            50725,
            50743,
            50753,
            52819,
            52837,
            52855,
            52865,
            54931,
            54949,
            54967,
            54977,
            57043
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "dee5def7df01",
        "unpacked": {
          "array": [
            57061,
            57079,
            57089
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_ConstantSize",
    "tests": [
      {
        "packed": "aabbccddaabbccdd",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_VariableSize",
    "tests": [
      {
        "packed": "0eaabbccddaabbccddaabbccddaabb",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_VariableCount",
    "tests": [
      {
        "packed": "0faabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabb",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_UnknownSize",
    "tests": [
      {
        "packed": "aabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccdd",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445
          ]
        }
      },
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_ConstantSize",
    "tests": [
      {
        "packed": "00ffe200",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 226
            },
            {
              "a": 0
            }
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f00ffe400ffe500ffe600ffe700ffe0",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 228
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 229
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 230
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 231
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 224
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f00ffea00ffeb00ffec00ffed00ffee",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 234
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 235
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 236
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 237
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 238
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_UnknownSize",
    "tests": [
      {
        "packed": "00ffe800fff100fff200fff300fff400fff500fff600fff700fff000fff900ff",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 232
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 241
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 242
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 243
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 244
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 245
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 246
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 247
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 240
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 249
            },
            {
              "a": 0
            },
            {
              "a": 255
            }
          ]
        }
      },
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_ConstantSize",
    "tests": [
      {
        "packed": "0003fbfcfd0003fef801",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                251,
                252,
                253
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                254,
                248,
                1
              ]
            }
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f0003050607000300090a00030b0c0d",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                5,
                6,
                7
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                0,
                9,
                10
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                11,
                12,
                13
              ]
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f00031112130003141516000317101900031a1b1c00031d1e1f0003182122000323242500",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                17,
                18,
                19
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                20,
                21,
                22
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                23,
                16,
                25
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                26,
                27,
                28
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                29,
                30,
                31
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                24,
                33,
                34
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                35,
                36,
                37
              ]
            },
            {
              "array": []
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_UnknownSize",
    "tests": [
      {
        "packed": "0003292a2b00032c2d2e00032f283100033233340003353637000330393a00033b3c3d00033e3f3800034142430003444546000347404900034a4b4c00034d4e4f000348515200035354550003565750",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                41,
                42,
                43
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                44,
                45,
                46
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                47,
                40,
                49
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                50,
                51,
                52
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                53,
                54,
                55
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                48,
                57,
                58
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                59,
                60,
                61
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                62,
                63,
                56
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                65,
                66,
                67
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                68,
                69,
                70
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                71,
                64,
                73
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                74,
                75,
                76
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                77,
                78,
                79
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                72,
                81,
                82
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                83,
                84,
                85
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                86,
                87,
                80
              ]
            }
          ]
        }
      },
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_SizeModifier",
    "tests": [
      {
        "packed": "0d00035c5d5e00035f586100",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                92,
                93,
                94
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                95,
                88,
                97
              ]
            },
            {
              "array": []
            }
          ]
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_VariableSize_Padded",
    "tests": [
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0e632e63386b4a6b5c6b6e6b78738a0000",
        "unpacked": {
          "array": [
            25390,
            25400,
            27466,
            27484,
            27502,
            27512,
            29578
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_VariableCount_Padded",
    "tests": [
      {
        "packed": "07000373747500037677700003797a7b00",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                115,
                116,
                117
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                118,
                119,
                112
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                121,
                122,
                123
              ]
            },
            {
              "array": []
            }
          ]
        }
      },
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Optional_Scalar_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "a": null,
          "b": null
        }
      },
      {
        "packed": "0300000000",
        "unpacked": {
          "a": null,
          "b": 0
        }
      },
      {
        "packed": "03ffffffff",
        "unpacked": {
          "a": null,
          "b": 4294967295
        }
      },
      {
        "packed": "0384141c25",
        "unpacked": {
          "a": null,
          "b": 2215910437
        }
      },
      {
        "packed": "00000000",
        "unpacked": {
          "a": 0,
          "b": null
        }
      },
      {
        "packed": "0200000000000000",
        "unpacked": {
          "a": 0,
          "b": 0
        }
      },
      {
        "packed": "02000000ffffffff",
        "unpacked": {
          "a": 0,
          "b": 4294967295
        }
      },
      {
        "packed": "0200000084141c25",
        "unpacked": {
          "a": 0,
          "b": 2215910437
        }
      },
      {
        "packed": "00ffffff",
        "unpacked": {
          "a": 16777215,
          "b": null
        }
      },
      {
        "packed": "02ffffff00000000",
        "unpacked": {
          "a": 16777215,
          "b": 0
        }
      },
      {
        "packed": "02ffffffffffffff",
        "unpacked": {
          "a": 16777215,
          "b": 4294967295
        }
      },
      {
        "packed": "02ffffff84141c25",
        "unpacked": {
          "a": 16777215,
          "b": 2215910437
        }
      },
      {
        "packed": "007bfc01",
        "unpacked": {
          "a": 8125441,
          "b": null
        }
      },
      {
        "packed": "027bfc0100000000",
        "unpacked": {
          "a": 8125441,
          "b": 0
        }
      },
      {
        "packed": "027bfc01ffffffff",
        "unpacked": {
          "a": 8125441,
          "b": 4294967295
        }
      },
      {
        "packed": "027bfc0184141c25",
        "unpacked": {
          "a": 8125441,
          "b": 2215910437
        }
      }
    ]
  },
  {
    "packet": "Packet_Optional_Enum_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "a": null,
          "b": null
        }
      },
      {
        "packed": "03aabb",
        "unpacked": {
          "a": null,
          "b": 43707
        }
      },
      {
        "packed": "03ccdd",
        "unpacked": {
          "a": null,
          "b": 52445
        }
      },
      {
        "packed": "00aabb",
        "unpacked": {
          "a": 43707,
          "b": null
        }
      },
      {
        "packed": "02aabbaabb",
        "unpacked": {
          "a": 43707,
          "b": 43707
        }
      },
      {
        "packed": "02aabbccdd",
        "unpacked": {
          "a": 43707,
          "b": 52445
        }
      },
      {
        "packed": "00ccdd",
        "unpacked": {
          "a": 52445,
          "b": null
        }
      },
      {
        "packed": "02ccddaabb",
        "unpacked": {
          "a": 52445,
          "b": 43707
        }
      },
      {
        "packed": "02ccddccdd",
        "unpacked": {
          "a": 52445,
          "b": 52445
        }
      }
    ]
  },
  {
    "packet": "Packet_Optional_Struct_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "a": null,
          "b": null
        }
      },
      {
        "packed": "0300",
        "unpacked": {
          "a": null,
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "0303878089",
        "unpacked": {
          "a": null,
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      },
      {
        "packed": "0000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": null
        }
      },
      {
        "packed": "020000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "020003878089",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      },
      {
        "packed": "00ff",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": null
        }
      },
      {
        "packed": "02ff00",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "02ff03878089",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      },
      {
        "packed": "0086",
        "unpacked": {
          "a": {
            "a": 134
          },
          "b": null
        }
      },
      {
        "packed": "028600",
        "unpacked": {
          "a": {
            "a": 134
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "028603878089",
        "unpacked": {
          "a": {
            "a": 134
          },
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "ScalarParent",
    "tests": [
      {
        "packed": "000100",
        "unpacked": {
          "a": 0,
          "b": 0
        },
        "packet": "ScalarChild_A"
      },
      {
        "packed": "0001ff",
        "unpacked": {
          "a": 0,
          "b": 255
        },
        "packet": "ScalarChild_A"
      },
      {
        "packed": "00017f",
        "unpacked": {
          "a": 0,
          "b": 127
        },
        "packet": "ScalarChild_A"
      },
      {
        "packed": "01020000",
        "unpacked": {
          "a": 1,
          "c": 0
        },
        "packet": "ScalarChild_B"
      },
      {
        "packed": "0102ffff",
        "unpacked": {
          "a": 1,
          "c": 65535
        },
        "packet": "ScalarChild_B"
      },
      {
        "packed": "01027c01",
        "unpacked": {
          "a": 1,
          "c": 31745
        },
        "packet": "ScalarChild_B"
      },
      {
        "packed": "020100",
        "unpacked": {
          "a": 2,
          "b": 0
        },
        "packet": "AliasedChild_A"
      },
      {
        "packed": "0201ff",
        "unpacked": {
          "a": 2,
          "b": 255
        },
        "packet": "AliasedChild_A"
      },
      {
        "packed": "020185",
        "unpacked": {
          "a": 2,
          "b": 133
        },
        "packet": "AliasedChild_A"
      },
      {
        "packed": "03020000",
        "unpacked": {
          "a": 3,
          "c": 0
        },
        "packet": "AliasedChild_B"
      },
      {
        "packed": "0302ffff",
        "unpacked": {
          "a": 3,
          "c": 65535
        },
        "packet": "AliasedChild_B"
      },
      {
        "packed": "03028437",
        "unpacked": {
          "a": 3,
          "c": 33847
        },
        "packet": "AliasedChild_B"
      }
    ]
  },
  {
    "packet": "EnumParent",
    "tests": [
      {
        "packed": "aabb0100",
        "unpacked": {
          "a": 43707,
          "b": 0
        },
        "packet": "EnumChild_A"
      },
      {
        "packed": "aabb01ff",
        "unpacked": {
          "a": 43707,
          "b": 255
        },
        "packet": "EnumChild_A"
      },
      {
        "packed": "aabb0182",
        "unpacked": {
          "a": 43707,
          "b": 130
        },
        "packet": "EnumChild_A"
      },
      {
        "packed": "ccdd020000",
        "unpacked": {
          "a": 52445,
          "c": 0
        },
        "packet": "EnumChild_B"
      },
      {
        "packed": "ccdd02ffff",
        "unpacked": {
          "a": 52445,
          "c": 65535
        },
        "packet": "EnumChild_B"
      },
      {
        "packed": "ccdd02841c",
        "unpacked": {
          "a": 52445,
          "c": 33820
        },
        "packet": "EnumChild_B"
      }
    ]
  },
  {
    "packet": "Struct_Enum_Field",
    "tests": [
      {
        "packed": "0000000000000001",
        "unpacked": {
          "s": {
            "a": 1,
            "c": 0
          }
        }
      },
      {
        "packed": "ffffffffffffff81",
        "unpacked": {
          "s": {
            "a": 1,
            "c": 144115188075855871
          }
        }
      },
      {
        "packed": "84444c545c646f01",
        "unpacked": {
          "s": {
            "a": 1,
            "c": 74459583098702046
          }
        }
      },
      {
        "packed": "0000000000000002",
        "unpacked": {
          "s": {
            "a": 2,
            "c": 0
          }
        }
      },
      {
        "packed": "ffffffffffffff82",
        "unpacked": {
          "s": {
            "a": 2,
            "c": 144115188075855871
          }
        }
      },
      {
        "packed": "84444c545c646f02",
        "unpacked": {
          "s": {
            "a": 2,
            "c": 74459583098702046
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Reserved_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "c": 0
          }
        }
      },
      {
        "packed": "fffffffffffffe00",
        "unpacked": {
          "s": {
            "a": 0,
            "c": 36028797018963967
          }
        }
      },
      {
        "packed": "8c848c949ca4ac00",
        "unpacked": {
          "s": {
            "a": 0,
            "c": 19776118031536726
          }
        }
      },
      {
        "packed": "000000000000007f",
        "unpacked": {
          "s": {
            "a": 127,
            "c": 0
          }
        }
      },
      {
        "packed": "fffffffffffffe7f",
        "unpacked": {
          "s": {
            "a": 127,
            "c": 36028797018963967
          }
        }
      },
      {
        "packed": "8c848c949ca4ac7f",
        "unpacked": {
          "s": {
            "a": 127,
            "c": 19776118031536726
          }
        }
      },
      {
        "packed": "0000000000000047",
        "unpacked": {
          "s": {
            "a": 71,
            "c": 0
          }
        }
      },
      {
        "packed": "fffffffffffffe47",
        "unpacked": {
          "s": {
            "a": 71,
            "c": 36028797018963967
          }
        }
      },
      {
        "packed": "8c848c949ca4ac47",
        "unpacked": {
          "s": {
            "a": 71,
            "c": 19776118031536726
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Size_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": []
          }
        }
      },
      {
        "packed": "00000000000000079e9fa0a1a2a3a4",
        "unpacked": {
          "s": {
            "a": 0,
            "b": [
              158,
              159,
              160,
              161,
              162,
              163,
              164
            ]
          }
        }
      },
      {
        "packed": "fffffffffffffff8",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": []
          }
        }
      },
      {
        "packed": "ffffffffffffffff9e9fa0a1a2a3a4",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": [
              158,
              159,
              160,
              161,
              162,
              163,
              164
            ]
          }
        }
      },
      {
        "packed": "965e62666a6e70e8",
        "unpacked": {
          "s": {
            "a": 1354400743188975133,
            "b": []
          }
        }
      },
      {
        "packed": "965e62666a6e70ef9e9fa0a1a2a3a4",
        "unpacked": {
          "s": {
            "a": 1354400743188975133,
            "b": [
              158,
              159,
              160,
              161,
              162,
              163,
              164
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Count_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": []
          }
        }
      },
      {
        "packed": "0000000000000007adaeafa0b1b2b3",
        "unpacked": {
          "s": {
            "a": 0,
            "b": [
              173,
              174,
              175,
              160,
              177,
              178,
              179
            ]
          }
        }
      },
      {
        "packed": "fffffffffffffff8",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": []
          }
        }
      },
      {
        "packed": "ffffffffffffffffadaeafa0b1b2b3",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": [
              173,
              174,
              175,
              160,
              177,
              178,
              179
            ]
          }
        }
      },
      {
        "packed": "d2d353d454d555e0",
        "unpacked": {
          "s": {
            "a": 1898947267434031804,
            "b": []
          }
        }
      },
      {
        "packed": "d2d353d454d555e7adaeafa0b1b2b3",
        "unpacked": {
          "s": {
            "a": 1898947267434031804,
            "b": [
              173,
              174,
              175,
              160,
              177,
              178,
              179
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_FixedScalar_Field",
    "tests": [
      {
        "packed": "0000000000000007",
        "unpacked": {
          "s": {
            "b": 0
          }
        }
      },
      {
        "packed": "ffffffffffffff87",
        "unpacked": {
          "s": {
            "b": 144115188075855871
          }
        }
      },
      {
        "packed": "bb4b5b6b7b8b9d07",
        "unpacked": {
          "s": {
            "b": 105437353324517178
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_FixedEnum_Field",
    "tests": [
      {
        "packed": "0000000000000001",
        "unpacked": {
          "s": {
            "b": 0
          }
        }
      },
      {
        "packed": "ffffffffffffff81",
        "unpacked": {
          "s": {
            "b": 144115188075855871
          }
        }
      },
      {
        "packed": "b77797b7d7f80081",
        "unpacked": {
          "s": {
            "b": 103282828492402689
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_ScalarGroup_Field",
    "tests": [
      {
        "packed": "002a",
        "unpacked": {
          "s": {}
        }
      }
    ]
  },
  {
    "packet": "Struct_EnumGroup_Field",
    "tests": [
      {
        "packed": "aabb",
        "unpacked": {
          "s": {}
        }
      }
    ]
  },
  {
    "packet": "Struct_Checksum_Field_FromStart",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 0,
            "crc": 0
          }
        }
      },
      {
        "packed": "0000fffffe",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 65535,
            "crc": 254
          }
        }
      },
      {
        "packed": "0000f105f6",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 61701,
            "crc": 246
          }
        }
      },
      {
        "packed": "ffff0000fe",
        "unpacked": {
          "s": {
            "a": 65535,
            "b": 0,
            "crc": 254
          }
        }
      },
      {
        "packed": "fffffffffc",
        "unpacked": {
          "s": {
            "a": 65535,
            "b": 65535,
            "crc": 252
          }
        }
      },
      {
        "packed": "fffff105f4",
        "unpacked": {
          "s": {
            "a": 65535,
            "b": 61701,
            "crc": 244
          }
        }
      },
      {
        "packed": "f083000073",
        "unpacked": {
          "s": {
            "a": 61571,
            "b": 0,
            "crc": 115
          }
        }
      },
      {
        "packed": "f083ffff71",
        "unpacked": {
          "s": {
            "a": 61571,
            "b": 65535,
            "crc": 113
          }
        }
      },
      {
        "packed": "f083f10569",
        "unpacked": {
          "s": {
            "a": 61571,
            "b": 61701,
            "crc": 105
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Checksum_Field_FromEnd",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 0,
            "b": 0
          }
        }
      },
      {
        "packed": "000000ffff",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 0,
            "b": 65535
          }
        }
      },
      {
        "packed": "000000f34e",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 0,
            "b": 62286
          }
        }
      },
      {
        "packed": "00ffff0000",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 65535,
            "b": 0
          }
        }
      },
      {
        "packed": "00ffffffff",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 65535,
            "b": 65535
          }
        }
      },
      {
        "packed": "00fffff34e",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 65535,
            "b": 62286
          }
        }
      },
      {
        "packed": "00f2cc0000",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 62156,
            "b": 0
          }
        }
      },
      {
        "packed": "00f2ccffff",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 62156,
            "b": 65535
          }
        }
      },
      {
        "packed": "00f2ccf34e",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 62156,
            "b": 62286
          }
        }
      },
      {
        "packed": "c6c7c8c9cae800000000",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 0,
            "b": 0
          }
        }
      },
      {
        "packed": "c6c7c8c9cae80000ffff",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 0,
            "b": 65535
          }
        }
      },
      {
        "packed": "c6c7c8c9cae80000f34e",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 0,
            "b": 62286
          }
        }
      },
      {
        "packed": "c6c7c8c9cae8ffff0000",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 65535,
            "b": 0
          }
        }
      },
      {
        "packed": "c6c7c8c9cae8ffffffff",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 65535,
            "b": 65535
          }
        }
      },
      {
        "packed": "c6c7c8c9cae8fffff34e",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 65535,
            "b": 62286
          }
        }
      },
      {
        "packed": "c6c7c8c9cae8f2cc0000",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 62156,
            "b": 0
          }
        }
      },
      {
        "packed": "c6c7c8c9cae8f2ccffff",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 62156,
            "b": 65535
          }
        }
      },
      {
        "packed": "c6c7c8c9cae8f2ccf34e",
        "unpacked": {
          "s": {
            "payload": [
              198,
              199,
              200,
              201,
              202
            ],
            "crc": 232,
            "a": 62156,
            "b": 62286
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Struct_Field",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "0003d0d1d2",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": [
              208,
              209,
              210
            ]
          }
        }
      },
      {
        "packed": "ff00",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "ff03d0d1d2",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": [
              208,
              209,
              210
            ]
          }
        }
      },
      {
        "packed": "cf00",
        "unpacked": {
          "a": {
            "a": 207
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "cf03d0d1d2",
        "unpacked": {
          "a": {
            "a": 207
          },
          "b": {
            "array": [
              208,
              209,
              210
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_ConstantSize",
    "tests": [
      {
        "packed": "d3d4d5d6",
        "unpacked": {
          "s": {
            "array": [
              211,
              212,
              213,
              214
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0fd7d8d9dadbdcdddedfe0e1e2e3e4e5",
        "unpacked": {
          "s": {
            "array": [
              215,
              216,
              217,
              218,
              219,
              220,
              221,
              222,
              223,
              224,
              225,
              226,
              227,
              228,
              229
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0fe6e7e8e9eaebecedeeeff0f1f2f3f4",
        "unpacked": {
          "s": {
            "array": [
              230,
              231,
              232,
              233,
              234,
              235,
              236,
              237,
              238,
              239,
              240,
              241,
              242,
              243,
              244
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "f5f6f7",
        "unpacked": {
          "s": {
            "array": [
              245,
              246,
              247
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_ConstantSize",
    "tests": [
      {
        "packed": "fe39febbff3dff80",
        "unpacked": {
          "s": {
            "array": [
              65081,
              65211,
              65341,
              65408
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0e004200c4014601c8024a02cc034e",
        "unpacked": {
          "s": {
            "array": [
              66,
              196,
              326,
              456,
              586,
              716,
              846
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0f03d0045204d4055605d8065a06dc075e07e0086208e4096609e80a6a0aec",
        "unpacked": {
          "s": {
            "array": [
              976,
              1106,
              1236,
              1366,
              1496,
              1626,
              1756,
              1886,
              2016,
              2146,
              2276,
              2406,
              2536,
              2666,
              2796
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0b6e0bf00c72",
        "unpacked": {
          "s": {
            "array": [
              2926,
              3056,
              3186
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_ConstantSize",
    "tests": [
      {
        "packed": "aabbccddaabbccdd",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_VariableSize",
    "tests": [
      {
        "packed": "0eaabbccddaabbccddaabbccddaabb",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_VariableCount",
    "tests": [
      {
        "packed": "0faabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabb",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_UnknownSize",
    "tests": [
      {
        "packed": "aabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccdd",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445
            ]
          }
        }
      },
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_ConstantSize",
    "tests": [
      {
        "packed": "00ff3300",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 51
              },
              {
                "a": 0
              }
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f00ff3500ff3600ff3700ff3800ff39",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 53
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 54
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 55
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 56
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 57
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f00ff3b00ff3c00ff3d00ff3e00ff3f",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 59
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 60
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 61
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 62
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 63
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_UnknownSize",
    "tests": [
      {
        "packed": "00ff4100ff4200ff4300ff4400ff4500ff4600ff4700ff4800ff4900ff4a00ff",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 65
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 66
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 67
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 68
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 69
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 70
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 71
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 72
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 73
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 74
              },
              {
                "a": 0
              },
              {
                "a": 255
              }
            ]
          }
        }
      },
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_ConstantSize",
    "tests": [
      {
        "packed": "00034c4d4e00034f5051",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  76,
                  77,
                  78
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  79,
                  80,
                  81
                ]
              }
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f0003555657000358595a00035b5c5d",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  85,
                  86,
                  87
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  88,
                  89,
                  90
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  91,
                  92,
                  93
                ]
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f00036162630003646566000367686900036a6b6c00036d6e6f0003707172000373747500",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  97,
                  98,
                  99
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  100,
                  101,
                  102
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  103,
                  104,
                  105
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  106,
                  107,
                  108
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  109,
                  110,
                  111
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  112,
                  113,
                  114
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  115,
                  116,
                  117
                ]
              },
              {
                "array": []
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_UnknownSize",
    "tests": [
      {
        "packed": "0003797a7b00037c7d7e00037f408100038283840003858687000388898a00038b8c8d00038e8f9000039192930003949596000397989900039a9b9c00039d9e9f0003a0a1a20003a3a4a50003a6a7a8",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  121,
                  122,
                  123
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  124,
                  125,
                  126
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  127,
                  64,
                  129
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  130,
                  131,
                  132
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  133,
                  134,
                  135
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  136,
                  137,
                  138
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  139,
                  140,
                  141
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  142,
                  143,
                  144
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  145,
                  146,
                  147
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  148,
                  149,
                  150
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  151,
                  152,
                  153
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  154,
                  155,
                  156
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  157,
                  158,
                  159
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  160,
                  161,
                  162
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  163,
                  164,
                  165
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  166,
                  167,
                  168
                ]
              }
            ]
          }
        }
      },
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_SizeModifier",
    "tests": [
      {
        "packed": "0d0003acadae0003afb0b100",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  172,
                  173,
                  174
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  175,
                  176,
                  177
                ]
              },
              {
                "array": []
              }
            ]
          }
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_VariableSize_Padded",
    "tests": [
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0ead76adf8ae7aaefcaf7eafc0f0420000",
        "unpacked": {
          "s": {
            "array": [
              44406,
              44536,
              44666,
              44796,
              44926,
              44992,
              61506
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_VariableCount_Padded",
    "tests": [
      {
        "packed": "070003c3c4c50003c6c7c80003c9cacb00",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  195,
                  196,
                  197
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  198,
                  199,
                  200
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  201,
                  202,
                  203
                ]
              },
              {
                "array": []
              }
            ]
          }
        }
      },
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Optional_Scalar_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "s": {
            "a": null,
            "b": null
          }
        }
      },
      {
        "packed": "0300000000",
        "unpacked": {
          "s": {
            "a": null,
            "b": 0
          }
        }
      },
      {
        "packed": "03ffffffff",
        "unpacked": {
          "s": {
            "a": null,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "03f777b7e0",
        "unpacked": {
          "s": {
            "a": null,
            "b": 4151818208
          }
        }
      },
      {
        "packed": "00000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": null
          }
        }
      },
      {
        "packed": "0200000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 0
          }
        }
      },
      {
        "packed": "02000000ffffffff",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "02000000f777b7e0",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 4151818208
          }
        }
      },
      {
        "packed": "00ffffff",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": null
          }
        }
      },
      {
        "packed": "02ffffff00000000",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": 0
          }
        }
      },
      {
        "packed": "02ffffffffffffff",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "02fffffff777b7e0",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": 4151818208
          }
        }
      },
      {
        "packed": "00f6b6dc",
        "unpacked": {
          "s": {
            "a": 16168668,
            "b": null
          }
        }
      },
      {
        "packed": "02f6b6dc00000000",
        "unpacked": {
          "s": {
            "a": 16168668,
            "b": 0
          }
        }
      },
      {
        "packed": "02f6b6dcffffffff",
        "unpacked": {
          "s": {
            "a": 16168668,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "02f6b6dcf777b7e0",
        "unpacked": {
          "s": {
            "a": 16168668,
            "b": 4151818208
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Optional_Enum_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "s": {
            "a": null,
            "b": null
          }
        }
      },
      {
        "packed": "03aabb",
        "unpacked": {
          "s": {
            "a": null,
            "b": 43707
          }
        }
      },
      {
        "packed": "03ccdd",
        "unpacked": {
          "s": {
            "a": null,
            "b": 52445
          }
        }
      },
      {
        "packed": "00aabb",
        "unpacked": {
          "s": {
            "a": 43707,
            "b": null
          }
        }
      },
      {
        "packed": "02aabbaabb",
        "unpacked": {
          "s": {
            "a": 43707,
            "b": 43707
          }
        }
      },
      {
        "packed": "02aabbccdd",
        "unpacked": {
          "s": {
            "a": 43707,
            "b": 52445
          }
        }
      },
      {
        "packed": "00ccdd",
        "unpacked": {
          "s": {
            "a": 52445,
            "b": null
          }
        }
      },
      {
        "packed": "02ccddaabb",
        "unpacked": {
          "s": {
            "a": 52445,
            "b": 43707
          }
        }
      },
      {
        "packed": "02ccddccdd",
        "unpacked": {
          "s": {
            "a": 52445,
            "b": 52445
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Optional_Struct_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "s": {
            "a": null,
            "b": null
          }
        }
      },
      {
        "packed": "0300",
        "unpacked": {
          "s": {
            "a": null,
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "0303e2e3e4",
        "unpacked": {
          "s": {
            "a": null,
            "b": {
              "array": [
                226,
                227,
                228
              ]
            }
          }
        }
      },
      {
        "packed": "0000",
        "unpacked": {
          "s": {
            "a": {
              "a": 0
            },
            "b": null
          }
        }
      },
      {
        "packed": "020000",
        "unpacked": {
          "s": {
            "a": {
              "a": 0
            },
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "020003e2e3e4",
        "unpacked": {
          "s": {
            "a": {
              "a": 0
            },
            "b": {
              "array": [
                226,
                227,
                228
              ]
            }
          }
        }
      },
      {
        "packed": "00ff",
        "unpacked": {
          "s": {
            "a": {
              "a": 255
            },
            "b": null
          }
        }
      },
      {
        "packed": "02ff00",
        "unpacked": {
          "s": {
            "a": {
              "a": 255
            },
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "02ff03e2e3e4",
        "unpacked": {
          "s": {
            "a": {
              "a": 255
            },
            "b": {
              "array": [
                226,
                227,
                228
              ]
            }
          }
        }
      },
      {
        "packed": "00e1",
        "unpacked": {
          "s": {
            "a": {
              "a": 225
            },
            "b": null
          }
        }
      },
      {
        "packed": "02e100",
        "unpacked": {
          "s": {
            "a": {
              "a": 225
            },
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "02e103e2e3e4",
        "unpacked": {
          "s": {
            "a": {
              "a": 225
            },
            "b": {
              "array": [
                226,
                227,
                228
              ]
            }
          }
        }
      }
    ]
  }
]
