Skip to content

Latest commit

 

History

History
513 lines (490 loc) · 85.3 KB

heartbleed-tests.md

File metadata and controls

513 lines (490 loc) · 85.3 KB

Input Specification:

We assume the last 4 bytes of the binary input from the fuzzer to be the length of the text.

E.g. assume the following binary input string from the fuzzer (hexadecimal form):

4A4D485755575A534D414E525852605A5D0005000000 

It is then divided into two parts:

  1. text input: 4A4D485755575A534D414E525852605A5D00
  2. length: 05000000 ==> length of input string is 5 bytes

Then, the function would return: 4A4D485755

Test Augmentation (TA):

We generated 1 random binary string for each run, and then, we placed the length of that string to the end.

1. Functional test sets

a. AFL test set

functional = "\
0180000000030A00030A 00010010001000 \
5E860A0180000000FC0A00030A 992D000FBE10005E98070001000612030A10001800 86000100100A \
61711F000000000000F400000000000D0500007F 5E5E5EEE80FE010101010101010101010101010300905E \
45006461711F19001818181818181818E305E5003005000001000000F4FFE2FF00013000FA000000000000000100000D40000000 \
45004500181818181818181818401818181818181818E30000004005000001000000F4FFE2FF0001300000000001000010000000100000F20000F4FF18181818181818FF181818181818181818401818181818181818E30000004005000001000000F4FFE2FF00013000FA0068000000FF0001008000FA0068000000FF00010080000000 \
4500181818181818CECECECECECECECE00FA0068000000FF0080810001000068000000FF000100800000300500001000013097FA00FF181818181818181818401818181818181818E30000004005000001000000F4FFE2FF000130CECED7CECECECECECECECECE00FA0068000000FF0080810001000068000000FF0001008000003005F4FFE2FF000130CECED7CECECECECECECECECE00FA0068000000FF0080810001000068000000FF000100800000300500001000013097FA00FF181818181818181818401818181818181818E30000004005000001000000F4FFE2FF000130CECED7CECECECECECECECECE00FA0068000000FF0080810001000068000000FF00010080000030050000010000000000FF00DA0000010000000000FF00DA008481000100 \
0B00000000004000000000000000001B640100080A 22292D0A37A4C60A000000 \
1301002978 20000001003302000100 FFFF7F1304002961 20640B081300830A \
1301FFFF000000FF0000000000000000000000400000000000000000FF00100000000000000000000000000000000040000000 \
001D01003D00000000000000000000000000000000000000000000000000000000000000000000F700000000000001000000000040000000000004000000000000000000000000000000000000000000FFEC000000000000000E00000B000000000000000023000000000000000000000000000000000E0000000000000000FCFFFF800000BF \
001D01003D000000004000000000000000000000000000000E000000000000000000000000001AF7000000000000010000000000400000000000040000000000000000E2FF0000000000000000000000FFEC000000000000000E00000B00F6FFFFFF00000023000000000000000000000000000000000F0000000000000000FCFF00810000BF \
DDF7C5100000C5 7905007905 EC0100FF7F 00000200003B C05A0A00190A \
0A0A0A0A0A0A0A0A0A0A0A7F000A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A00010A \
6C01000100E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7FFE70015807FFFE764007F69 \
C0000000000000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F00000000FFFF0000001BFFFFFFE3FFEA000000FFFFFFE30080000002 \
000000000000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FC0000000000000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F00000000FFFF0000001BFFFFFFE3FFEA000000FFFFFFE3008000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F00009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FF19F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F909F9F9F9F9F9F9F9F9F9F9F9F9F9F000000EAFFFF0000001BFFFFFFE3FFEA000000FFFFFFE300800100019F9F9F9F9F9F9F9F9F9F9F9F5B9F9F9F9F9F9F9F9F9F9F9F9F9F9FB60000A6A6A6A6A6A6A6A6A6A6A6E3FFEA000000FFFFFFE30080010001 \
000400F720 0001000010 0010000000 420A00001D \
0400107FFFFFFF00F793000010000400F720000000 00020001E1 2020030008030000FF \
00FF9E8D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9EFFFF00F79300001010000400F720 \
4949494949494949494949494949494949494949494949494949494949492F2749804949494949494949494949494949494949494949494949006305 \
0001001F000000000000000000000000000000000000000000000000000E000000000000000000000000000000ECFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000016000000000000000080000000 \
000081818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181816581818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181000000 \
EA01EA01014001000000 004A0A004A0A \
A50202020202020202020202020202020200100222A5C6A5A5A5A5A5A5C6A5E803220002EF \
1007001020 E7000000000003006F00 \
E87E7E7E7E7E7E7E7E7E7E6C7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E667E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E1A40E90100000000644464000B0A \
0E0E0E00020202F901020202020202020202020202027F00000022A5C6A5A5A5A5A5002300000000000000000000000000000000004000000000000E0000000000000000000000000000000000000001EAEB0040010000FFEA0016000000000000000065000000000000000000000000580080000000 \
AEAEAEAEAEAEAEAEAEAEAEAE00AEAEAEAEAEAEAE2300000000000000000000000000000000004000000000000E0000000000000000000000000000000000000001EAEB00000000000000000000000000000000000000004000000000000E0000000000000000000000000000000000000001EAEB00000000000000000000000000580081000000"

    expected = [ 
    "01800000000320202020", "00010020202020202020202020202020", "5E860A0180000000FC20", 
"992D000FBE10005E9807000100061203", "86", "61711F0000", "5E5E5E", 
"45006461711F19001818181818181818E305E5003005000001000000F4FFE2FF00013000FA000000000000000100000D20202020202020202020202020202020", 
"45004500181818181818181818401818181818181818E30000004005000001000000F4FFE2FF0001300000000001000010000000100000F20000F4FF18181818181818FF181818181818181818401818181818181818E30000004005000001000000F4FFE2FF00013000FA0068000000FF0001008000FA0068000000FF000100", 
"4500181818181818CECECECECECECECE00FA0068000000FF0080810001000068000000FF000100800000300500001000013097FA00FF181818181818181818401818181818181818E30000004005000001000000F4FFE2FF000130CECED7CECECECECECECECECE00FA0068000000FF0080810001000068000000FF000100800000", 
"0B", "22292D0A37A4C6202020", "13", "2000", "FFFF7F13", 
"20640B08202020202020202020202020202020", 
"1301FFFF000000FF0000000000000000000000400000000000000000FF0010000000000000000000000000000000002020202020202020202020202020202000", 
"001D01003D00000000000000000000000000000000000000000000000000000000000000000000F700000000000001000000000040000000000004000000000000000000000000000000000000000000FFEC000000000000000E00000B000000000000000023000000000000000000000000000000000E0000000000000000FC", 
"001D01003D000000004000000000000000000000000000000E000000000000000000000000001AF7000000000000010000000000400000000000040000000000000000E2FF0000000000000000000000FFEC000000000000000E00000B00F6FFFFFF00000023000000000000000000000000000000000F0000000000000000FCFF", 
"DDF7C520202020202020202020202020", 
"7920202020", "EC", "0000", "C05A2020202020202020", "0A0A0A0A0A0A0A0A0A0A", 
"6C01000100E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7FFE70015807FFFE7202020202020202020202020202020", 
"C0000000000000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F00000000FFFF0000001BFFFFFFE3FFEA000000FFFFFFE3", 
"000000000000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FC0000000000000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F00000000FFFF0000001BFFFFFFE3FFEA000000FFFFFFE3008000009F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F", 
"00202020", "00", "00202020202020202020202020202020", "42202020202020202020", 
"0400107FFFFFFF00F793000010000400F7202020202020202020202020202020", 
"0020", "202003", "00FF9E8D", 
"4949494949494949494949494949494949494949494949494949494949492F274980494949494949494949494949494949494949494949492020202020202020202020202020202000", 
"0001001F000000000000000000000000000000000000000000000000000E000000000000000000000000000000ECFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000000000000000001600000000000000", 
"000081818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181", 
"EA", "004A2020202020202020", 
"A50202020202020202020202020202020200100222A5C6A5A5A5A5A5A5C6A5E80320", 
"10202020202020", "E70000", 
"E87E7E7E7E7E7E7E7E7E7E6C7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E667E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E1A40E901000000006444202020202020202020202020202020", 
"0E0E0E00020202F901020202020202020202020202027F00000022A5C6A5A5A5A5A5002300000000000000000000000000000000004000000000000E0000000000000000000000000000000000000001EAEB0040010000FFEA001600000000000000006500000000000000000000000058002020202020202020202020202020", 
"AEAEAEAEAEAEAEAEAEAEAEAE00AEAEAEAEAEAEAE2300000000000000000000000000000000004000000000000E0000000000000000000000000000000000000001EAEB00000000000000000000000000000000000000004000000000000E0000000000000000000000000000000000000001EAEB00000000000000000000000000"
    ]  

b. AFL-TA test set

functional = "\
4A4D48475A5B495D5F57485B4657454F434C555C465D58484D54605C494659515C42564F55575A534D414E525852605A5D5442000000 \
4D4D4847E4E4E4E4E4E4E4E4E4E4E4E5E4E4E4E4E4E4E4E41B1B1B1BFF7F00001B1B1B1B00041B \
334D4847555C595D58484D44334D48475A5B625D58484D44605C4946591000000400001B \
4C554D44484D44605C49465901434C555C594F58484E52585260445D54427D0599100A000000 \
0000DB5A5B4962FFFFC54C5B4CFF5D5F5748001AFF7F58484D54605C4D0AFFFF000002005D00 \
4A4D48534D414E5C46575A475A5B495D585202494659515C425E00000200475A5B495D48345C40495D605C494619516E6D79420A4F010300005A008000000000585202005D3FDB5A5B4962FFFF555C465D58484D54607F54607F494659515C42564F55575A475A5B495D5852020000FA0000FA57484CC54C5B4C5B495D583602005D3242000000 \
4A4D485755575A534D414E525852605A5D0001000000 \
4C5500000101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010101011AFF7F10004D543F5C4D00000080000204 \
4C5500000101010101010101000000000101010101010100FFFC0000000000000000000000000000000000000000000000000000000000F3FF00000000000000000000000000ED00000000000000000000000000000000000000000000000000000000010000000000000000000000010101012CFF7F10004D543F5C4D00000081000204 \
4D5D53494C544448425D5C47444A464F5D5416000000 \
4D5D5349444A464F5D54454D5241584C45565D51524F5952454956505C59585D2C000000 \
4D1600005D534A464F5D5416000000 \
4D5D53494C54442A427F5C47444A464F5D540F000000 \
4D6B47A392A37FFFA3B3A39CA3A3A3A3A3A3A3A3A3A3A3A3A3A35C47444A464F5D5402000000 \
4D6853494C54444800100000444A464F5D5401000000 \
4D5D5300004D0000A3A4A35C47444A164D5D5349715C5F44004D0000A3A3A35354000000A3A4A35C47444A164D5D5349715C5F444744000000 \
4D5D5349425D5C47444D6853494C54444800100000444A464F5D544A464F5D5406000000 \
4DD3D348484848484848FFFF494C4C404843405C47D3D3D3D3D3D3D3D3D3D3D3D348484848484848D310001600005D534A464F5D5416004D00D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3FFFF490000007F435D5C47D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3FFD3D3D3B5D3D3D3EDD3D35D53494C444A464F5D5416000000 \
FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFD80000000 \
81818100DF80815E1212FB2211EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF0EEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEAEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFD909F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF4448425D5C47444A464F5D54454D5241584C45565D51524F5952454956505C59585D2C000000EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF01EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE1EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFBEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF1A12EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFBEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF1212221212127FFD111A1212ED22120981001081 \
6043454A5E5606000000 6043454A5E565F4145545C0B000000 \
7D43454A5E46081943454A5E46454A5E46081906001901 60454ABC454A400002000000 \
60454A9D56F200140010FF 60437F0000A201000000 4A205606000000 \
6043454A3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E5606000000 7E030000BF \
7D0002004AFFFF00005E46081919064A5E42450200000044454AFFFF00005E46081919064A5E42454A5E460843450019014A5E46084345001901 \
7E000000000000F5FF0100000000000000040000000000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FEFF000000000000000000000000000000000000000000000000000000000000000080005C21 \
7E03007E00000000000100000000000000000000000000000000000000000000000000000000000000000000FEFF00000000000000000000000000000000000000000000000000000000000000000009000000000000000000000044804AFFFF00005E46081919064A5E424502F1FFFF43454AFFFF00005E46081919060000000000810000BF \
41495D4E554A42454C55454A5052415910000000 \
41495D4E554A42454C55454A5052415959435D51534B4341414B485346555F475D5C5451455656514A5A5A594B5A52445C4E544F59564F5960564B464A494C46445F5749544C595E4552564F4C475247554552000000 \
614A550F000300645910004400 41496D2F004050100013C3 \
41495D4E554A52445C4E544F59564F5960564B464A494C464442454C554A4A5052415910000000 52415910000000 \
594B10000000 41495D4E554A42454C555D4E554A42454C55454AFA0000FA03000000454A5052415903000000 \
41454C55454A505241590C00005241590C000000 41495CDF000080454C55454A6B63415901000053 \
41F6F6F6F6F6F6F6F6E0E0E0E0E0E0E0E0E0E056E0EEE0E0E0E0FCE0E0E0E0F0E0E0E0E0E00400405000416A04000000 \
41645D2E554A42454C3B454C55454A5052989898984A50523C8F0A98989898989862FF989898989898594A5A5A594B5A52445C4E544F59564F5960564B464A494C46445F574954989862FF9898454A50524198989898454A5052419898989898989859989862FF9898454A50524198524198989898989898454A50524198989898989898989898A7985910000000 \
7F000045645D2E554A42454C3B454C4A50523C8F0A98989898989862FF989898989898594A5A5A594B5A52445C50544F59FF41495D4E554A56454C55454A505241591062FF9898454A50524198989898459898624A5042419898989898989859989862FABCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCDBBCBCBCBCBCBC03000000454A5052415998989898988698454A5052419898989898989898987880005910 \
BCBCFC495C818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818100BCBC \
484B4D554A4E495851595C48534C425554495A425A4B434156505550494E43445F505A2B000000 \
484B4D555B5A5A545C524E574A4E495851595C48534C425554495A425A4B434156505550494E43445F505A485D425F4E5B5A554D455741595F5B5A58455C583F000000 \
484B36554A4E695851595C4800EE425538495A5B5A4E43445F505A2B000000 2E0150752B016958000004000000 \
484B3F554A4E635851595C48534C425554F580425B4B00000010554B3F55170000FF51595C48534C425554F580425A4B50404E43445F505A2B554A4E635851645C48534C425554F580425B000000 \
484B4D554A4E495851595C69D1505554495A425A4B434156505550494E43445F505A0E000000 487F00171000494E \
482727272727312727272756D05551FFFFFFF2000000000100000000000043225F500001004000 484B0001000000 \
484B4D554A4E495851595C3F534C395554495A425A4B434156505550494E43445F505A02000000 E803000055 \
484B4D555A80425A4B50404E424242424242424242424242424C5A5554495A175A4B43415648534C4255544A5A425A64425A80425A4B50404E43445F505A2B554A505A2B554A4E633F534C395554495A425A4B435851645C48534C42555550494E43445F4B505F505A2B554A4E635851645C48534C42553750494E43445F505A2B000000 \
8F5B5A55595F5B5A58455C584C4255544980728000FF00FF8F5A545C524E574A4E495851595C48534C425554495A425A4B434156505550494E43445F505A485D425F4E5B5A554D4557FF7F5F5B5A58455C583F000080725A425A4B434156505550494E43445F505A485D425F4E5B5A554D455741595F5B5A58455C583F0000807280007F17 \
002D3E7F4A69495851595C23534C425554545A425A4B434156504550494E43445F3E4D554800000200495851595D23534C425554495A425A4B434156504550494E505A2B00818181818181818181818181818181818181818181818181818181818181817E818181818181818181818181818181818181818181818185818181818181008100"

expected = [ 
"4A4D48475A5B495D5F57485B4657454F434C555C465D58484D54605C494659515C42564F55575A534D414E525852605A5D5420202020202020202020202020202020", 
"4D4D4847E4E4E4E4E4E4E4E4E4E4E4E5E4E4E4E4E4E4E4E41B1B1B", 
"334D4847", "4C554D44484D44605C49", "0000", 
"4A4D48534D414E5C46575A475A5B495D585202494659515C425E00000200475A5B495D48345C40495D605C494619516E6D79420A4F010300005A0080000000005852", "4A", 
"4C5500000101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010101011AFF7F10004D543F5C4D000000", 
"4C5500000101010101010101000000000101010101010100FFFC0000000000000000000000000000000000000000000000000000000000F3FF00000000000000000000000000ED00000000000000000000000000000000000000000000000000000000010000000000000000000000010101012CFF7F10004D543F5C4D00000020", 
"4D5D53494C544448425D5C47444A464F5D5420202020", 
"4D5D5349444A464F5D54454D5241584C45565D51524F5952454956505C59585D202020202020202020202020", 
"4D1600005D534A464F5D542020202020202020202020", "4D5D53494C54442A427F5C47444A46", "4D6B", "4D", 
"4D5D5300004D0000A3A4A35C47444A164D5D5349715C5F44004D0000A3A3A35354000000A3A4A35C47444A164D5D5349715C5F4447202020202020202020202020202020", 
"4D5D5349425D", "4DD3D348484848484848FFFF494C4C404843405C47D3", 
"FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFD202020202020202020202020202020", 
"81818100DF80815E1212FB2211EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF0EEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEAEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFD909F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF", 
"6043454A5E56", "6043454A5E565F4145545C", "7D43454A5E46", "6045", 
"60454A9D56F20020202020202020202020202020", "60", "4A2056202020", "6043454A3E3E", "7E2020", 
"7D0002004AFFFF00005E46081919064A5E42450200000044454AFFFF00005E46081919064A5E42454A5E460843450019014A5E460843202020202020202020202020202020", 
"7E000000000000F5FF0100000000000000040000000000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FEFF00000000000000000000000000000000000000000000000000000000000000002020202020202020202020202020202000", 
"7E03007E00000000000100000000000000000000000000000000000000000000000000000000000000000000FEFF00000000000000000000000000000000000000000000000000000000000000000009000000000000000000000044804AFFFF00005E46081919064A5E424502F1FFFF43454AFFFF00005E460819190600000000", 
"41495D4E554A42454C55454A50524159", 
"41495D4E554A42454C55454A5052415959435D51534B4341414B485346555F475D5C5451455656514A5A5A594B5A52445C4E544F59564F5960564B464A494C46445F5749544C595E4552564F4C4752475545", 
"614A550F000300645920202020202020", 
"41496D2F004050202020202020202020", "41495D4E554A52445C4E544F59564F59", 
"52415920202020202020202020202020", "594B2020202020202020202020202020", 
"41495D", "41454C55454A505241590C00", "41", "41F6F6F6", "41645D2E554A42454C3B454C55454A50", 
"7F000045645D2E554A42454C3B454C4A50523C8F0A98989898989862FF989898989898594A5A5A594B5A52445C50544F59FF41495D4E554A56454C55454A505241591062FF9898454A50524198989898459898624A5042419898989898989859989862FABCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCDBBCBCBCBCBCBC03", 
"BCBCFC495C81818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181", 
"484B4D554A4E495851595C48534C425554495A425A4B434156505550494E43445F505A2020202020202020", 
"484B4D555B5A5A545C524E574A4E495851595C48534C425554495A425A4B434156505550494E43445F505A485D425F4E5B5A554D455741595F5B5A58455C58", 
"484B36554A4E695851595C4800EE425538495A5B5A4E43445F505A20202020202020202020202020202020", 
"2E015075", 
"484B3F554A4E635851595C48534C425554F580425B4B00000010554B3F55170000FF51595C48534C425554F580425A4B50404E43445F505A2B554A4E635851645C48534C425554F580422020202020202020202020202020202000", 
"484B4D554A4E495851595C69D150", "487F0017202020202020202020202020", "48", "48", "484B", "E82020", 
"484B4D555A80425A4B50404E424242424242424242424242424C5A5554495A175A4B43415648534C425554", 
"8F5B5A55595F5B5A58455C584C4255544980728000FF00FF8F5A545C524E574A4E495851595C48534C425554495A425A4B434156505550494E43445F505A485D425F4E5B5A554D4557FF7F5F5B5A58455C583F000080725A425A4B434156505550494E43445F505A485D425F4E5B5A554D455741595F5B5A58455C583F000080", 
"002D3E7F4A69495851595C23534C425554545A425A4B434156504550494E43445F3E4D554800000200495851595D23534C425554495A425A4B434156504550494E505A2B00818181818181818181818181818181818181818181818181818181818181817E81818181818181818181818181818181818181818181818581818181", 
    ] 

c. Hashfuzz test set

functional = "\
DE40FFFF0137D00001000000 A3001057A30010000000 4010001D40 \
57A31B000000FF0C00FFEA 57040010E0 000A0F008000 \
000243820202020221000002FF0102020202020207020202020202020202020002EE \
08222222FFA50A0022000000000000000000000000000000000000000004000001008D00000004000000000400000100A50000000400000100A503E8000400A5F5 \
00024382240004020202020443820202020221000002FF0102020702020002020202FA0000000A0220000500004382240202060202020202020202020002000002FF1302020202023E07020202020202FA020202000081 \
00000000000000800000000B0D000000F2F3FFFF000000DCFF0000E5FF0000002100FFFFFFFF0100000000000001000000000040000000 \
00159F00000000010000000000CACACA10CACACACACACACACACACAFFFF0000060000F000E5FF0000002100000090004000000000210C0000000000F2DFFFFFF1F1F1F1F16B6BF1F1F1F1F1F10000000000000000F2FFFFFFF1F1F1F1F1F1F1F1F1D7F1F1F100000100F1F10000000000F1F140000000000080007F000B000000 \
00159F00000000010002438202020080210000CACACACACACACACAFFFF01000000001000E5FF000A0F0080000000000000F1F10000130B0000400000000000000000000000F2DFFFFFF1F1F1F1F16B6BF1F1F1F1F1F10000000000000400F2FFFFFF40F1F1F1F1F1F1F1F1D7F1F10701000100F1F10000000000F1F10000160B000000 \
00159F04000000010000000000CACACA10CACACACACACACACACAEAE8FF0000000000F09F9F9F9F9FF1F1F1EBEBEBEB7FFFF100000100F1EBEBEBEBEB0000219F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FF1F1F1EBEBEBEB7FFFF100000100F1EBEBEBEBEBEBEBEBEBEBEBEBEBEB6BEBEBEBEBEBEBEBEBEBEBEBF10031000000F1FE00DD0000000080007F000B000000 \
00159F00000000010000000000CACACA10CACA64CACACACACACACAFFFF0000000000F000E5FF40000021000000000080FFFF00010000009D000000020000210C000000F0FFF2DFFF0058585858585858585858586400572A0080000000FFFFFFF1F1F1CACACACACACACACAFFFF0000000000F000F1F16B6BF1F1F1F1F1D200000000F1F1F100000100F1F10000000000F100040000E000F2FFFF04F2F1F1F1F1F11000F1D7F212F100000100F1F10000000000F1F10000000000008000000080000000 \
00159FD00000000100000000002AF0F16B6BF1CACACACA3636585858586400572AF1F1D7F1F1F100000100F1F100000CF1F1F1F1F1F1F9F1F1D7F1F1F100000100F1F10000F1F10000000000000000004000210C0000000000F2DFFFFFF1F1CACACA10CACAF11000000000F1F159000000000080007FFF7F000000 \
00159F00000000010000000000CACACA10CACACACACACACACACACAFFFF0000000000F000E5FF00000080000000000001000000014000000000210C0000000000F2DFFF0000F2DFFFFFF1F1F1F1F16B6BF1F1F1F1F1F10000000000000000F2FFFFFFF1F1F1F1F1F1F1F1F1D7F100000000F1F100000000000280007F000B000000 \
00159F00000000010000000000CACACA10CACACA00010000CACACAFFFF0000000000F000E5FF000000210000000000010000000100002490004000000000210C0000000000F2DFFFFFF1E2F1F1F16B6BF1DFF1F1F1F100000000000000F10000001300F1F100000020000080007F000B000000 \
A30010577500104A8224000402020202FB4382020202020000000C21000002FF0102020202020207FA0102020202020202022002020202FA0220000500003982008002FF1302020202023E07020202070202FA020010579F4B104A8224000402020202FB43820202020221000002FF0102020202020207020202020202020202020002020202FA0000000A0220000500004382240002FF1302020202023E07020202070202FA0202020202000081000064 \
98899898989898989498DF9890679898981C011000980B 980A00000A FF00001000FF7F \
00000000FFFFF7F1100000000000020108000101000004 080808001008 C80400920A 800200990A \
988998989803E8989898759898A3919191919191919191919191919191919191919191919898989898989F98989898989898988F98DF9890679898981C011000980B \
9300008000000056560F000000000000DDFFFFFF0056565656565656567F150B000000000000000001000000565656565656567FFFFFFF5656805756564872565656560F000000000000000000000056565656565656567FFFFFFF565680575656000000000100000056565656565656567FFFFFFF5656805756564872565656560F000000 \
9300009300008000000056560F000000000000DDFFFFFF0056565656565656567F150B000000000000000001000000565656565656567FFFFFFF5656805756564872565656560F000000E00000000000000056565656565656567FFFFFFF565680575656000000000100000056565656565656567FFFFFFF5656805756564872565600000F \
9300009300008000000056560F000000000000DDFFFFFF005656560F000000000000000000000056565656565656567F16FFFF56568057565600565680575656485C565656560F000000000000000000000056565656565656567F16FFFF565680575656000000001000000056565656565656567FFFFFFF5656805756564872568000000F \
93EB80000000150F00000000000000000000000000000000D70056565656565676567FFFFFFF0000000000000000000056565656565676567FFF001600000000000000000000565600000040000000565656565656565600000000000000000000000001000000 \
000000001B0000000000568057A4005600000015C00056565656565676567FFFFFFF00000000000000000056FF5656805756560040000000565E51565656565600000F00008181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181810000EC \
D2090000FF 452081478016004019 090400FFFF B9B9B9B997B9B9B9B97FE402008014 FFF800010000E3 D2090074B9 \
1A1A1A1A1A2E1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2E1A1A1A1A1A1A1A1A1A1A1A2E1A1A1A1A1A1A04001A88 \
00B9B9F7FFF7F7F7F7F7F7F7DAF7CAECECECECECECECECECECECECECECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECDBECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECCDECECECECECECECECCAF7F7CA00010000EC \
00B9B9F7FFF7F7F7F7F7F7F7DAF7CAECECECEDECECF1ECECECECDEECECECECECECECECEEF7ECECEE0EECECECECECECECECECECECCAF7F7F7EBECF7ECECECECECECECECECECECECECEC13ECECECECECECECEEEC07ECECECEEEC07ECECEC64ECECEC8000CAF7F7CA64ECECEC8000CAECECECECEC64ECECEC8000CA13ECECECECECECECEEEC07ECECEC640000EC \
00B9B9F7FFF7F7F7F7F7DBF7DAF7CAECECECECECECECECECF7ECECECECECECCAF7F7F6F7ECF7ECECECECECECECECECECECECECECECECECDFECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECECECECECECECECECECECECECECDAECECECED00ECCFECCAF7F7CA00010000EC \
00B9B9F7FFF7F7F7F8F7F7F7DAF7CAECECECECECECECECECECECECECECECEC3EECECECECF7EC0DECECECECECECECECECECECECECCAF7F7F7F7ECF7EC40000000ECECECECECECECECECECECECF8ECECECECECECECCA00ECECECECECECECECECECECECECECECECECECECECECECECECECB0ECECECECECECECECCAF7F7ECEC010000EC \
00B9B9F7FFF7F7F7F7F7F7F7DAF7CAECECECECECECECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECDBECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC08ECECECECCDECECECECECECECECCAF7F7CA00010000EC \
00B9B9F7FFF7F7F7F7F7F7F7DAF7CAECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECF7F7F7F7ECF7ECECECECDBECECECECECECECECECECF7ECECECECECECECECECECECECECECECCAECECECECECECECECECECECECECECECECECECECCDECECECECECECECECCAF7F7CA00010000EC \
000000B9B9F7FFF7F7F7F7F7DBF7DAF7CAECECECECECECEDECECF7ECECECECECECCAF7F7F6F7ECF7ECECECECECECECECECECECECECECECECECDFECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECECECECECECECECECECECECECECDAECECECED00ECCFECCAF7F780000100 \
0000B9B9F7FFF7F7F7F7F7F7F7DAF7CAECECECECF7F7F7F7F7F80ADAF7CAECECECECECECECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECDBECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECFA0000FAECEC08ECECECECCDECECECECECECECECCAF7F7CA00010000ECECECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECDBECECECECECECECECECECECECECECECECECECECECECECECECECCAF7F7CA00010000ECECECECECECECECECECECECECECECECECECECECECECFA0000FAECEC08ECECECECCDECECECECECECECECCAF7F7CA00010000 \
D20000CAB9F7FC3EECACECA1F7EC0DECECECECECECECECFFECF7F7ECF7EC3D00E609ECECECECECECECECEC26ECECF8ECFCACECECECECCA00ECECECCB0FF7F7F7ECF7CCEC4EECECECECF6ECECD20000CAB9F7EC3EECECECA1F7EC0DEC80ECECECEC74747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474FCECECECECECCA00ECECECCAF7F7F7F7ECF7CCEC4EECECECECECECECECECFFECF7F7ECF7EC4000D200ECECECECECECECECEC15ECECF8C7ECECECB0ECECECECECECECECECCAF7FF12000000 \
00000001010101010101010101010101010101010101010101010101010101010101010101D201010101010101010101010101010101010101010101010101010101010101010101010110010101010101010101010101011601010100FF00000001010101010101010101010101010101010101010101010101010101010101010101D201010101010101010101010101010101010101010101010101010101010101010101010110010101010101010101010101010101010100FF01010101410101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101EF \
B9F70AF7FFBF09000000F60000000000000000000000004061FF00000000E1F4FF008181818181828181788181818182818181818181818181818181000081F70AF7FFBF09000000000000000000000000000000004061FF0000000000F5FF7F000000818182818181810081988181818281818181818181818181788181818182818181818181818181818181858100570A \
0601001000 0601001000C104 00C21000B0ED \
000034000000000000000000000000000000000000000000000000000000003C000000000000000076F4FEFF1000100A \
070740000707070B07FFFF8000FF7F000100A501 \
FF00102229000001004306 20000A00A610 000006001CF4 00020004E4 FF01002E01 \
00003400000000000000000000000000000000000000000000003E00000000FF0000F3CB00009A00000000008000FF7F000100A50100000076F4FE000707070B0707070707FFFF8000117F0001000B0707070707FFFF80E30000FF7FFFDFE100000010EEFF0000000000003C004A00000000FF7F000100A50100000076F4FEFFA50100000076F4FEFF1000100A \
064000000100000F000000002000FAFF00000000000000000000000000000000000000000000000000000000000000000040000000 \
00003400000000000000000000000000000000000000000000003E00000000FF0000F3CB00009A00006400008000FF7F0080000001FFFFA5010000000010EEFF0000000000003C004A00FFFFFFFFFFFFFFFFA5010000000010EEFF0000000000003C004A00000000FF7F000100A50100000076F4FEFFA50100000076F4FEFF1000100A \
00003400000000000000000000000000000300000000000000003ECB00009AC8C8C8C8C8C8C8C8C8E9C8C8C8C8C8C8C8C8C8C8C8C807010707FFFF8000117F0001000B0707070707FFFF80E30000FF7FFFDFE100000010EEFF0000000000003C004A00000000FF7F000100A50100000076F4FEFFA50100000076F4FE000100100A \
000034000000000000000000000000E9FFFFFF0000003E00800000FF0000F3CB00009A00000000008000FF7F000100A50100000076F4FE000707070B0707070707FFFF8000117F0000EAFFFF80E30000FF7FFFE30000FF7FFFDFE100000010EEFF00000000000000000000F70000000000000000000000070707FFFF8000117F000100FFFF8000100A \
000034000000F3FF0000000000000000000000000001000000003E00000000FF0000F3CB00000076F4FEFFA50100F9FF75F4FEFF1000000076F401000707070B0707070707FFFFFFFF80DE0000FF7FFF640000000010EEFF0000000000003C004A00000000FF7F000100A50100009A00000000008000FF7F000100A50100100A \
00003400000000000000000000000000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000000000E3FF00007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF0000000000000000000000F9FF07FF80E30000FFFFFFE3FF000000FFDFE1008100100A \
0600003400000000EF000000C8C8C8C8C8C807010707FFFF8000117F0001000B0707070707FFFF80E30000000000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000000000E3FF00007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF0000000000000000000000F9FF07FF80E30000FFFFFFE3FF0000000000FF7FFFDF000000000000030000000000000000C8C8C8C8C8C8C8C8C8C807010707FFFF8000117F0001000B0707070707FFFF80E30000FF7FFFDFE100000010EEFF0000000000003C0049FFF90000FF7F001300A50100000076F4FEFFA501F8830076F4FE00010010 \
00003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3010000000000E31300007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100810010000000E31300007F008000A5010000008F0000005500800000FF0000F3CB00009A00060000000000F70000FF0000000000000000FF7F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100810010000000E31300007F008000A5010000008FF4FE0007FF80E30000FF7FFFE3FF000000FFDFE100F4FE0007FF80E30000FF7FFFE3FF000000FF0000180000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000003400000000000000000000180000000000E9FFFFFF0000005500800000FF0076F4CB00009A00060000FF0000F70000FF0000000000E31300007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100810010000000E31300007F008000A5010000008F0023005500800000FF0000F3CB00009A00060000000000F70000FF0000000000E31300007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF000000000E0000FFDE0000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100810010000000E31300007F008000A5010000008FF4FE0007FF80E30000FF7FFFE3FF000000FFDFE100F4FE0007FF80E30018FF7FFFE3FF000000FFDFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3DFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3FEFFFFF6FFDFE1008100100A \
00003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3010000000000E31300007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF000000000E00FF0000000000E31300007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EE0000005500800000FF0000F3CB00009A00060000000000F70000FF000000000000DFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100810010000000E31300007F008000A5010000008F0023005500800000FF0000F3CB00009A00060000000000F700000000000000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100810010000000E31300007F008000A5010000008FFF000000000E0000FFDE0000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100810010000000E31300007F008000A5010000008FF4FE0007FF80E30000FF7FFFE3FF000000FFDFE100F4FE0007FF80E30018FF7FFFE3FF000000FFDFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3DFE100000010EEFF000000000E000000000000F9FF07FF80E30000FFFFFFE3FEFFFFF6FFDFE1008100100A \
0001000080 246E6E6E0000001114930000000F000000 DEA8800000001E00000000000000000000000700020B \
242424242424242424242424242424242424242424240010DC FDFDFF63001802000000 \
6E00000000000C40005D00006400200200000000009B000000000000000001000000000000005A0000FFFA0000000000000F40005D0000640020020000000C4000000A \
0001246E6E6E00E024192424249101246E6E6EF6FF2424242431242424242400FF242424312A24252424242424242424242424242424242424FFFFFF0D000400 \
6E00000000009B00000000000000000100000000009AFFF400000000000001000000000000005A0000FFFA0000000000FFFA0000000000000F40005D000064002002000F40005D000000000064002002000000000000005A001B000F40005D000064002002000000000000005A001BFFFA0000640020020000000C000B0C4000000A \
006E00000000640000009300000000FAF800FA010000000000A9FFF4E6000C40000000FF5A001B000F40005D00DF6400FF005D000064002002000F40005D00000000005A001B00844000E5FF00F5FF000000010000FF0000002000005A001B002D40005D0000FFFF1FF50000004A000000 \
006E00000000640000009300000000FAF800FA010000000000A9FFF4E6000C40000000FF5A001B000F40005D00DF6400FF005D000064002002000F1D005D00000000005A001B00844000E5FF00F5FF000000010000FF0000002000005A221B002D40005D0000FFFF1FF50000004A000000 \
6E00006E00000000640000009300000000FAF800FA010000000000A9FFF4E6000C40000000FF5A001B000F40005D00DF6400FF005D000064001D02000F1D005D00000009005A001B00844000E5FF00F5FF000000010000FF000000006400002000005A221B002D40005D0000FFFF1FF50080000000 \
6E9B15000000000000000100000000009AFA0000FA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B00000000000000000000000000000000000000000000FA0000640020020000000C000B0C00000000009B15000000000000000100000000009AFA0000FA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B00000000000000000000000000000000000000000000FA0000640020020000000C000B0C4000000A \
0003E88181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818100808181818181818181818181818181000000 \
6E9B15000000000000000100000000009AFA0000FA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B00000000000000000000000000000000000000000000FA000064002003020000000C000B0C00000000009B15000000000000000100000000009AFA0000FA0000000000000000001B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B00000000000000000000000000000000000000000000FA0000640020020000000C000B0C4000000A \
006E9B15000000000000000100000000009AFA0000FA00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002003020000000C000B0C00000000009B150000000000001E010000000000BAFA0000FA0000000000000000001B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFE600000000000000005B000000000000000000000000001C0000000000000000FA0000640020020000000CFFFF80000000"

expected = [ 
"DE", "A3001057A30020202020202020202020", "40202020202020202020202020202020", "57A31B000000FF2020202020", 
"57202020", "000A20202020202020202020202020", "0002", "08222222", "0002", 
"00000000000000800000000B0D000000F2F3FFFF000000DCFF0000E5FF0000002100FFFFFFFF0100000000000001000000000020202020202020202020202020", 
"00159F0000000001000000", "00159F0000000001000243", "00159F0400000001000000", 
"00159F00000000010000000000CACACA10CACA64CACACACACACACAFFFF0000000000F000E5FF40000021000000000080FFFF00010000009D000000020000210C000000F0FFF2DFFF0058585858585858585858586400572A0080000000FFFFFFF1F1F1CACACACACACACACAFFFF0000000000F000F1F16B6BF1F1F1F1F1D20000", 
"00159FD00000000100000000002AF0F16B6BF1CACACACA3636585858586400572AF1F1D7F1F1F100000100F1F100000CF1F1F1F1F1F1F9F1F1D7F1F1F100000100F1F10000F1F10000000000000000004000210C0000000000F2DFFFFFF1F1CACACA10CACAF11000000000F1F159000000000080007FFF2020202020202020", 
"00159F0000000001000000", "00159F0000000001000000", 
"A30010577500104A8224000402020202FB4382020202020000000C21000002FF0102020202020207FA0102020202020202022002020202FA0220000500003982008002FF1302020202023E07020202070202FA020010579F4B104A8224000402020202FB43820202020221000002FF010202020202020702020202020202020202", 
"98899898989898989498DF9890679898", "98202020202020202020", 
"FF000020202020202020202020202020", "00", "0808202020202020", "C8202020", 
"8020", "988998989803E8989898759898A39191", "9300008000000056560F0000000000", 
"9300009300008000000056560F000000000000DDFFFFFF0056565656565656567F150B000000000000000001000000565656565656567FFFFFFF5656805756564872565656560F000000E00000000000000056565656", 
"9300009300008000000056560F000000000000DDFFFFFF005656560F000000000000000000000056565656565656567F16FFFF56568057565600565680575656485C565656560F000000000000000000000056565656565656567F16FFFF565680575656000000001000000056565656565656567FFFFFFF5656805756564872", "93", 
"000000001B0000000000568057A4005600000015C00056565656565676567FFFFFFF00000000000000000056FF5656805756560040000000565E51565656565600000F0000818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181", 
"D22020202020202020", "45208147802020202020202020202020202020202000", 
"09202020", "B9B9", "FF", "D22020202020202020", "1A1A1A1A", "00", 
"00B9B9F7FFF7F7F7F7F7F7F7DAF7CAECECECEDECECF1ECECECECDEECECECECECECECECEEF7ECECEE0EECECECECECECECECECECECCAF7F7F7EBECF7ECECECECECECECECECECECECECEC13ECECECECECECECEEEC07ECECECEEEC07ECECEC64ECECEC8000CA", 
"00", "00", "00", "00", 
"000000B9B9F7FFF7F7F7F7F7DBF7DAF7CAECECECECECECEDECECF7ECECECECECECCAF7F7F6F7ECF7ECECECECECECECECECECECECECECECECECDFECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECECECECECECECECECECECECECECDAECECECED00ECCFECCAF7F720202020202020202020", 
"0000B9B9F7FFF7F7F7F7F7F7F7DAF7CAECECECECF7F7F7F7F7F80ADAF7CAECECECECECECECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECDBECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECFA0000FAECEC08ECECECECCDECECECECECECECECCAF7F7CA00010000ECECECECECECECECECECF7ECECECECECECECECECECECECECECECCAF7F7F7F7ECF7ECECECECDBECECECECECECECECECECECECECECECECECECECECECECECECECCAF7F7CA00010000ECECECECECECECECECECECECECECECECECECECECECECFA0000FAECEC08ECECECECCDECECECECECECECECCAF7F7CA2020", 
"D20000CAB9F7FC3EECACECA1F7EC0DECECEC", 
"00000001010101010101010101010101010101010101010101010101010101010101010101D201010101010101010101010101010101010101010101010101010101010101010101010110010101010101010101010101011601010100FF00000001010101010101010101010101010101010101010101010101010101010101010101D201010101010101010101010101010101010101010101010101010101010101010101010110010101010101010101010101010101010100FF010101014101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101012020202020", 
"B9F70AF7FFBF09000000F60000000000000000000000004061FF00000000E1F4FF008181818181828181788181818182818181818181818181818181000081F70AF7FFBF09000000000000000000000000000000004061FF0000000000F5FF7F000000818182818181810081988181818281818181818181818181788181818182", 
"06", "06010020202020202020202020202020", "00C22020202020202020202020202020", 
"00003400000000000000000000000000", "07", "FF", "20002020202020202020", 
"000020202020", "0020", "FF", "00003400000000000000000000000000", 
"064000000100000F000000002000FAFF000000000000000000000000000000000000000000000000000000000000000000202020202020202020202020202020", 
"00003400000000000000000000000000", "00", 
"000034000000000000000000000000E9FFFFFF0000003E00800000FF0000F3CB00009A00000000008000FF7F000100A50100000076F4FE000707070B0707070707FFFF8000117F0000EAFFFF80E30000FF7FFFE30000FF7FFFDFE100000010EEFF00000000000000000000F70000000000000000000000070707FFFF8000117F", "00", 
"00003400000000000000000000000000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000000000E3FF00007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF0000000000000000000000F9FF07FF80E30000FFFFFFE3FF000000FFDFE100202020", 
"0600003400000000EF000000C8C8C8C8C8C807010707FFFF8000117F0001000B0707070707FFFF80E30000000000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000000000E3FF00007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE100000010EEFF0000000000000000000000F9FF07FF80E30000FFFFFFE3FF0000000000FF7FFFDF000000000000030000000000000000C8C8C8C8C8C8C8C8C8C807010707FFFF8000117F0001000B0707070707FFFF80E30000FF7FFFDFE100000010EEFF0000000000003C0049FFF90000FF7F001300A50100000076F4FEFFA501F8830076F4FE2020", 
"00003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3010000000000E31300007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE1000000", 
"00003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3CB00009A00060000000000F70000FF0000003400000000000000000000180000000000E9FFFFFF0000005500800000FF0000F3010000000000E31300007F008000A50100000076F4FE0007FF80E30000FF7FFFE3FF000000FFDFE1000000", 
"00", "246E6E6E0000001114930000002020", "DEA8800000001E", 
"242424242424242424242424242424242424242424202020202020202020202020202020", "FDFD", 
"6E00000000000C40005D00006400200200000000009B000000000000000001000000000000005A0000FFFA0000000000000F40005D0000640020020000000C20", 
"0001246E6E6E00E02419242424", 
"6E00000000009B00000000000000000100000000009AFFF400000000000001000000000000005A0000FFFA0000000000FFFA0000000000000F40005D00006400", 
"006E00000000640000009300000000FAF800FA010000000000A9FFF4E6000C40000000FF5A001B000F40005D00DF6400FF005D000064002002000F40005D00000000005A001B00844000", 
"006E00000000640000009300000000FAF800FA010000000000A9FFF4E6000C40000000FF5A001B000F40005D00DF6400FF005D000064002002000F1D005D00000000005A001B00844000", 
"6E00006E00000000640000009300000000FAF800FA010000000000A9FFF4E6000C40000000FF5A001B000F40005D00DF6400FF005D000064001D02000F1D005D00000009005A001B00844000E5FF00F5FF000000010000FF000000006400002000005A221B002D40005D0000FFFF1FF500202020202020202020202020202020", 
"6E9B15000000000000000100000000009AFA0000FA00000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 
"0003E8818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181810080818181818181818181818181812020202020202020202020202020", 
"6E9B15000000000000000100000000009AFA0000FA00000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 
"006E9B15000000000000000100000000009AFA0000FA00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002003020000000C000B0C00000000009B150000000000001E010000000000BAFA0000FA0000000000000000001B0000000000000000000000000000"  
    ] 

d. Hash-TA test set

functional = "\
465E58515341585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F45435F5D5D4C60595B5B5C595F574D4D5044465A5841465642564A494A3F000000 \
465E58515341585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F45435F5D5D4C60595B5B5C595F574D4D5044465A5841465642564A494A3F000000 \
B21D1D1D3D02B21D1D1D3D0100000A \
00B21D1D1D3D01000010 \
EA00100000E1 \
0080000A0A0500000000040A00000A \
001D403D050005000049 \
E10102000210 \
465E585153554E5A585A4A545C4D5F4250544755515F45452D4545415C505C445F455C554E5A585A4A545C4D5F4250544755515F4545454545452D45454545454545435F5D5D4C60595B5B5C595F574D5A5841465642564A494A3F000000 \
465E58515341585B4D445C4E5A585A4A545C4D5F585A4A545C4A494A515F45445C505CFF5CFF000000554E5A000055505CFF000000554E5A425054505565F84D5F4250000000 \
465E585153554E5A585A4A545C4D5F4250544755515F4545454545452D454541585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F4545454545452D45454550544755515F45435F5D5D4C454E5A585A4A545C4D45454545454564435F5D00000000000000005F574D4D6C44465A5841465642564A494A3F000000 \
465E585153554E5A585A4A545C4D5F4250544755515F4545454545452D454541585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F4545454545452D4545454545454545454545454545454545454545454545435F5D5D4C4D445C505C445F455C554E605F4545454560595B5B5C595F574D4D50444645452D454541585B4D445C505C564A494A3F000000 \
465E585153554E5A585A4A545C4D5F42505447484848484848484848484848484848484848484848484848484848484855515F4545454545452D454541585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F4545454545452D454545454545454545454545454545455D45454545000000015D5D4C60595B5B5C595F574D4D6C444444444444444444444444465A5841465642564A494A3F000000 \
465E585153554E5A585A4A545C4D5F4250544755515F4545454545452D454541585B4D445C50455D4C60595B5B5C595C405F455C014E5A585A4A545C4D5F4250544D55515F454545455D4C60595B5B5C595F574D4D6C44465A5841465642564A494A3F004C60595B5B5C595F574D4D6C44465A5841465642564A494A3F000000 \
465E585153554E43445C505C445F285C554E5A585A4A545C4D5F4250544755515F4545454545452D45454545454545454545BA454545574D4D6C4446454526435F5D5D375A585AD1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D10000000000000000000000000000000050544755515F4545454545452D4545455642564A494A3F000000 \
465E585153554EA5585A4A545D5D5D5D5D5D5D5DFF5F5C465E585153554E5A585A4A54445C505C445F455C554E5A585A00015C4D5F4260544700405F45D3454545452D4545454545454501004545454545454545454545435F5D5D4C60595B5B5C595F574D4D6C44466845444545654545454545454545505C445F455C554E5A585A4A545C4D5F4260544700405F45D345454545454545435F5D5D4C60595B5B5C595F574D4D6C44465A584146563C564A494A3F000000 \
465E58554E5A585A4A545C000000800050544758515F4545454545452D4545454545454545454545452A45454545454545454545435F5D5D4C60595B5B5C595F574D4D6C44465A5841465642564A499B9B855643564A499B9B9B9B9B9B9B9B9B9BA59B9B9B9B9B9B9B9BFF2A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9BFF7F9B9B9B9B9B9B9B4A80000000 \
00FF58516D554E5A585A4A547FFF5F4250544755355F454545454D5F4250544755515F45452D5445414A4A4E4A4A6C4A554E5A545C4D5F4250585A4A545C4D5F4250544755515F4545454545452D45454545454545454545454545454545454545454500202D4545454545454545435F5D5D4C60715B001000005B5C595F574D4D6C44465A58414656424C60715B001000005B5C595F574D4D6C44465A5841564A494A3F000000 \
465E58FF53554E5A585A4A545C625F424755515F4545454545005C445F285C554E5A585A4A545C4D5F4250544755515F455C014E5A585A4A545C4D5F4250544D4B515F45454545FF7F60595B5B5C595F574D4D6C44465A584146000003E8494A3F004C60595B5B5C595F454541585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F4545454545452D45454545454545454545454545454545574D4D50445C50455D4C60595B5B5C595C405F455C014E5A585A4A545C4D5F42505480FF515F45564545FF7F60595B5B5CFF5F5760595B5B5CFF5F574D4D6C44465A5841460000035B5B5C595F574D4D6C44465A5B41465642564A494A3F000000 \
465E585153554E5A585A4A540000000050544755515F4545454545452D45465E585153554E5A585A4A540000000050544755515F4545454545452D454541585B4D445C50455D6E60595B5B5C595C405F455C014E5A585A4A545C4D5F4250544D55515F454545455D4C60595B5B5C595F574D4D6C44465A5841465642564A494A3F004C60595B5B5C595F574D4D6C44465A5841465642564A494A3F0000004541585B4D445C50455D4C72595B5B5C595C405F455C014E5A585A4A545C4D5F4250544D55515F454545455D4C60595B5B5C595F574D4D6C44465A5841465642564A494A3F004C60595B5B5C595F574D4D6C44465A5841465642564A494A3F000000 \
465E585153554E48483E0001484848484848484855515F45452D45454545454548524848485F4250544755515F434545454548484848484848484848484848484848484848484848484855515F4545454545452D454548585B4D444D505C445F455C554E10005A4A545C4D5F42505447555447454545454545454545455D45454545000000FFFFFF7F60595B5B5C595F574D4D6C444444444444444444444444465A5841467642564A494A3F005A585A4A545C4D5F4250515F4545FFFF45452D454545454545454545454545454545455D45454545000000015D5D4C60595B5B5C595F574D4D6C674444444444444444444462465A5841465642564A494A3F000000 \
00001E00819181818181818181818181818181818181818181818181818181818181817E8181818181818181818181818181758181818181818181818181818181818181818181818181818181818181818181818181816C8181818181818181818181817E81818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181819081818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818170818181818181818181818181818181818181818181818181818181818181818181819081818181818181818181818181818181818181818181818181818181818181818181818181818181818181000080 \
544A4456565E454A5E58484D485F54555D554156565A58415F554E51534C505043575C2B000000 \
544A4456565E454A5E58484D485F54555F554E516048525351554846534C505043575C4B554F5F51445F4759585E5956524746514E58435E4C4A445E5645000000 \
000000647474747474744188554E51534C503943575C2B000000582C484D485F4A5E554E54555D554156565A5874747474747474747474747474FFFFFF7F744188554E51534C800043575C2B000000 \
544A4456325E454A5E584858484D485F55555D5541565674583F5F554E515C2B000000 \
544A44564E51534C505043575F554E485F54555D554156565A58415F554E51534C50415F554E485F54555D554156565A58415F554E51534C505043575C4E51534C50415F554E485F54555D554156565A58415F554E515043575C2C00516D4C502B000000 \
544A4456565E444A5E58484D315F54555D554156565A58415F554E51534C505043575C0B0000D5 \
42534C3450545454545454545454545443570A20000000 \
544A6400565E454A5E58B74D485F54558A56FF56C85A5841FF394E4E5C020000004E5C0200007A \
544A4456565645575658484D485F54555D544A4456565E444A5F54535D5541565A000175634E51534CF4000000040000FB \
544A2556565E454A5E58484D4D5F54555D3E4156565A58B95F554E516D4C505043570001000000 \
54D84456565E454A5E58484D485F54555D5541DEDEDEDEDEDEDEDEDEDE584151552251534C502FFF575C2B0026544A4E51534C505043575D554156565A58415F554E485F54555D554156564456325E454A5E584858484D485F55555D5541565674583F5F554E544A44000026262626264626262626262626462626262626262626262626262626262626262626DEDEDE58415F554E51534C502F4357422B000010 \
544A4556484C48484848484848484848484848484848485E5848000001004D485F54555A58415F4A5E584861484452565E04005E58484D485F54555D554156565A58415F4A5E58484D486B54555E4A5E58484D486B54555E554156565A58415F55554E51534C505043554156565A58415F55554E51534C505043575C2B000000 \
544A4456565A4A444D485F0054555A5841001242534C3450545454545454545454545454545454AB54545443570A20000000004861484452565E0455565A58415F56565E4458415F56565E454A5E5F4A5E584861485D554156565A58415F554E55565A58415F56565E4458415F56565E454A5E544BE080546C000000575C2B000000 \
5D554156565A582F5F554E70F4555A58415F554E51534C4A5E58484D54555D554156565A4253353450544A5E58B74D315F54555D554156565A58415F554E51534C505043575C0B004D485F54558A56FF56C85A5841FF394E4E5C025454545473544C4A5E58484D54555D554156565A54545454545447545454546943570A2000000058415F554E51534C505043575C27000000 \
544A4456565EBB4A5E58484D317554555D5858484D317554555D5541564D485F54557B5661B84C50504341564D485F54558A56614758484D317554555D5858484D317554555D5541545454545458484D317554555D5541545454545454545454545454545454544C5050733654545454545454545454544C50505E3600800000D5 \
5D554156565A582F5F554E70F4555A58415F554E51534C4A5E58484D54555D554156565A4253353450544A5E58B74D315D54555D554156565A58415F554E51534C505043575C0B004D485F54558A56FF56C85A5841FF394E4E5C025454545473544C4A5E58484D54555D554156565A5454545454544754545454694300402000000058415F554E51534C505043575C27000000 \
5D554156567FFF2F5F554E70F4555A58415F554E51534C4A5E58484D54555D554156565A4253353450544A5E58B74D315F54555D554156565A58415F554E51534C505043575C0B004D485F54558A56FF56C85A5841FF394E4E5C025454545473544C4A5E58484D54555D554156565A54545454545445545454546943570A2000000058415F554E51534C505043575C27000000 \
5D554156565A582F5F554E70F4555A58415F554E51534C4A5E58484D54555D55419E565A425335346D544A5E58B74D315F54555D554156565A58415F554E51534C505043575C0B004D485F54558A56FF56C85A5841FF394E4E5C025454545473544C4A5E58484D54555D554156565A54545454545447545454546943570A2000000058415F554E51534C505043575C27000000 \
5D51534C4A5E58484D54555D554156565A4253353450544A5E58484D54555D554156565A4253353450544A6658B74D315F54555D554156565A58415F554E51534C50504357700B004D485F54558A56FF56C85A5841FF394E4E00025454545473544C4A5E58484D545E58484D54555D554156565A4253353450544A6658B74D315F54555D554100FF5A58415F6C4E51534C50504357700B004D485F54558A56FF56C85A5841FF394E4E00025454545473544C4A5E58484D54555D554156565A54545454545447545454546943570A2000000058415F555D554156565A54545454545447545454546943570A2000000058415F554E51534C505043575C27000000 \
5D800000005E58484D4B555D554156565A4253353450544A5E58484D54555D504356700B004D485F54558A56FF56C85A5841FF394E4E00025454545473544C4A5E58484D545E58484D54555D5541563C5A4253353400014A6658B74D315F54555D554100FF5A58415F474E51534C505043578F0BED4D485F54558A56FF56C85A5841FF394E4E00025454545473C85A5841FF394E4E00025454545473544C4A5E58484D54555D554156000000445E565A54545454545447545454546943570A2000000058415F555D554156565A54545454545447545454546943570A200053534156565A5841535353535353535300004F415F554E51534C505043575C27000000 \
8B58485F54558A56FF56C85A5841FF394E4E0002545C545473544C4ADE58484D545E58484D54555D5541563C5A4253353400014A6658B74D315F54555D554100FF5A58E25F474E51533B505043578F0BED4D485F54558A56FF56C85A6E41FF3A4E4E0002545454546EC85A5841FF394E4E0002545454C3738A56FF72C85A5841FF394E4E00025454545473544C00004ADE58484D545E544C4A5E58484D5455608181778181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181819181818181818181818181818181818181818181818181810044FF \
4C515955515657445F4C595453465943575242425A5D5A554650555956515C41425455524A4C5548574D5B4953534B49444D4A5D494336000000 \
4C51595504000000 \
7FFF595504005504 \
38595504000000 \
4C515955044C51595510000000 \
4C5120000100FF7F \
4C51595564181818181818181818181818000000 \
067F64560D000000 \
4C51595502000000 \
0010000000 \
5001006400 \
FA0100FA00 \
8A00201B20202020203F202020202020202020202020202020200020262020200000007F202000007F20202D671B004000FF00 \
8A00201B9A9A9A9A9A9A9A9A9A9A9A439A9A9A9A203F202020202020202020209A9A9A9A9A9A9A9A202020202020202020200020262020200000007F202000007F9A9A9A9A20202D671B004000FF00 \
002020208A00201B9A9A9A9A9A9A9A9A20202020202020209A9A9A9A9A859A00FFFF9A9A9A9A9A9A202020FF00009A9A9A9A9A439A9A789A203F202020202020202020209A9A9A9A9A9A9A0000007F2020030651595564201818181818181819181818181818181892181820202D671B800080FF \
0010000040595504000000100000F0FFFFFF0800E300000900000000000000000000000600000000000000000000000000000000000008000000001A0000001D005548574D5B4953534B49444D4A00000000000000000000FFFFFFFF77FFF759550400000000000000000000000000000008000000001A0000001D0000000000000000000081000000 \
0000000000405955040000001004000000000008000000000000000D00000000000000000000009B7F0000FFFFFFFF001A0000000000000007FFF6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001A0000000000E10B000000000000007F00000040644D0A040000001004400000000000007F000000282828282828282828282828282828282828080000004000FA0000F6FF08000000000000000D000A220000000000000000000000131A07000C000000000000007F000000400000001A000000001A00000000001B0D000000000000000000001A001A0000595504000000100403F1000000 \
434F445C50594B56445751504E594B5656465E5F6041545E434D4B4F545E5F574C42525B5A5C505E52414D5F5957544E5C514C5B515F58544B42425F3C000000 \
434F445C50594B56445751504E594B5656465E5F6041545E434D4B4F545E5F574C42525B5A5C505E52412A000000 \
434F445C50594B56445751504E594B5656465E5F6041545E264D4B4F545E5F574C42525E52414D5F5957544E5C514C5B515758544B42425F1B000000 \
434F445C50594B56445751504E594B5656465E5F6041544F434D4B4F545E60574C42525B5A5C504C42525B5A5C505E52414D5F595754665C514C5B5F3C000000 \
434F445C50594B56445751504E594B5656465E5F4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6041544E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E544B42425F3C000000 \
434B445C50594B56565151504E594B5656465E5F6041545E434D4B4F545E5F574C42725B5A5C50007F414D434D4D4D494D4D4D4D205E264D0B4F545E5F574C42525E52414D5F5957544E5C514C5B51574D5F544B42425F0F00FFFB \
434F445C465E5F60410B4F545E5F574C62535E52414D5F5975545E5241594B56205751504E59595656465E5F4D5F7257544E5C4C42525B5A5C504C42525B5A5C505E52514C5B51535E52414D5F5975545E5241594B56205751504E595FC4544B42425F574C42525E52404D5F5957544E5C514C5B51574D5F544B42425F3C000000 \
434F545E5F574C42525B5A5C505E52414D5F5957544E5C514C3B514F545E5F574C42525B5A5C505EFFFF4D5F5957544E5C514C3B515F58544B4258563C5C505E5241000000 \
0000000100005E5F544E5C514C5B516058544B42425F10001000 \
434F445C50594B56445751504E594B5656461C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C5E5F6041545E434D4B4F545E44574C42525B5A5C00641C1C1C1C1C1C1C5E5F60415456434D4B4F545E5F574C42525B5A5C505E4C414D5F5957544E5C514C5B515F56465E5F6041545E434D4B4F545E5F574C42725B5A5C50007F42544B42425F3C000000 \
43656568456565000000018665655C65656565656565545E434D5C4F545E5F574C5B5A5C3A5E52414D5F5955544E5C374C5B515F58544B42425F3C00004E00014E4E4E4E4E4E4E4E4E4E4E000004004E00 \
434F445C50596D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D4B56445751502E594B5656425E616041545E434D4B4F545E5F574C425E485A5C505E52414D5F5957544E5C51345B515F58544B4242E803000000 \
434F445C50594B56445751504E594B5156465E5F6041545E434D4B4F547A5F574C42525B100000005B42525B5E5F909090909090909090909090909090909090909090909090909090514C5B515F58644B42425F3C302B2B2B2B2B0F515F58544B42425F3C302B2B2B2B2B2B2B2B2B4B42425F7F4D2B2B2B2B2B2B2B33333333333333333333333333333333333333332B000000 \
434F445C5E434D4B4F545E5F574C42414D5F5957484E5C514C4D515F50594B56445751504E594B5656465E5F6041545E434D4B4F355E5F574CFF52505E52607F545E434D4B4F545E5F574C42414D5F5957544E5C514C4D5B5A5C505E52607F545E434D4B4F545E5F574C42414D5F5957544E5C514C4D515F58544B42425F3C000000 \
434F4B5656465E5F6041545E264D4B445C50594B564457515000015C514C42525B5A5C505E52465E5F6037545E264D4B445C50594B56445C50644B56445751504E4E785B510D5841545E4B4DF080545E5F5751504E4E785B510D5841545E4B4DF080545E5F574C42525B5A5C505E52414D5F6B57A64E5C514C5B515F58544B423A5F3C000000 \
474F445C2A634B569C9C9C9C9C9C9C9C0001000000 \
434F445C502B2B643B0F6B5F58544B42425F3C303542525B5A5C505E52414D5F5957544E5C514C5B510F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5F58544242515F602B445751504E2B2B2B800F515F5F573542525B5A5C505E52414D5F5957542B2B2B2B2B2B2B2B594B56445751504E2B2B2B2B0F725F5F573542525B5A5C505E52414D5F5957544E5C514C5B515F58544B4242515F603D000000 \
43425F3C0042424F445C50594B56445751504E594B56564657544E5C5F6041545E43544B42425F3C005E104F50594B56465751504E592D5656465E5F4041545E434D4B4F54535F574C425E7F414D5F5957544E5C5F604154FFFFFF7F425F3C0042424F445C50594B56445751504E594B5656465742425F3C0042000010000000 \
554F44540E007436 \
434F445C50594BD9D9D9D9D9D9D9D9D9D93C00004E00014E4E4E4E4E4E4E4E4E4E4E0041545E434D4B4F545E5F574C1042525B5A5C505E52414D5F59D9D9D9D9D956445751504E594B5656465E5F6041545E43A74B4F54465EFF0041805E434D4B4A545E5F570100524C5B544E5C512E5B405F58544B515F58544B42420080000000 \
0000000000434F48506BABD9D9D9E2D9D9445C506B4BD9D9D9D9D9D9D9D9D9D93C421CD9D9D975757575757575757575757575757575757575757575757575757575757575757575827575757575757575757555757775757575757575757575754C1042525B5A5C505E52414D5F59D94A54705F570100524C3D54544BD9D9D9D9564457D9D9525B5A5C505E52414D5F59D94A54705F570100524C3D54544BD9D9D9D9564457D9D9D9D9D9D9D9D9D93C42D9D9D9D9757551504C774B5656465E5F5E5F57010C524C3D54435CFF2E5BD9D9D9D9564457D9D9D94D524C3D54435C7C2F5B00000100005E5F76FFFF80005A5160405F58542E515F58544B4242008000 \
000000434F445C506BABD9D9D9D9D9D9445C506B4BD9D9D9D9D9D9D9D9D9D93C00D9D980007C00214E00014E4E4E4E4E4E4E4E4301004E4E390041547E434D4B4F545E5F574C1042527F0000005E52414D5F5900204BD9D9D9D956445751504E774B5656465E5F604154545E4B4DF080545EFF0041A35E434D4B4A545E5F570100524C3D54435C512E5B00000120005E5F54FFFF80005B5160405F58544B515F59544B42420081000000 \
41505B4F4B494141555C4443514F4B5A59454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E5F445F4E45605A43605A5E435455465E4641000000 \
41505B4F4B494141555C4443514F4B5A59454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E5F445F4E45605A43605A5E435455465E4657526048464E545D5E5142584760564A5E444E5D5D505C564E5E495C000000 \
41505B4F4B494141555C444351524B5A4E44605A43605A5E435455465E4659454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E5F445F4E44605A43605A5E435432465E4641000000 \
41605B4F4B494141555C4443514F4B5A59454E0E504243434343494352551052554F4D58515D465BDC5E424C5F41415C434343434F415200000001575E5F445F4E45575E5F445F4E45725A43603A5E435455465E6741000000 \
5C4443514F4B5A59454E415042422E5F2C415C445B58444A5241415C445B58444A31415C445B58444A5252555A52555A43605A5E465E4641000000 \
41505B4F4B494141555C4443514F4B5A59454E4150424D4C5F41415C445B58444A5252555A52554F4D58515D465B575E5F445F4E45605A43605A5E435455465E4601000000 \
41505B4F4B492141554E4443514F4B4150424D4C5F415C445B417F5C305B5844000000005A52554F4D58515D465B575E5F445F4EFF605A43605A5E43514F4B5A59454E4150424D4C5F415B575E5F445F4E445B4B44000000005A52FF605A43605A5E43514F4B5A59454E4150424DAE5F415C445B58444A5252555A52554F4D5854554641555C4443514F4BAE59454E415042424C5F41415C445B58444A52525E464100F200 \
41505B4F4B494141555C4443514F4B5A59454E415042424C5F41415C445B58444A5242555A52554F4D58515D465B575E5F445F4E45605A43605A6A435455A8000002000000 \
4150534F4B494141555C4443514F4B4A5252555A52554F4D58515D465B575A41415C445B58444A5252555A52554F4D58435D465B575E5F445F4E456059454E415042424C5F41415C445B58444A5252555A52554F4D58435D465B575E5F445F5C25B15C445B4354554E5A254F5844004E45605A43605A5E435455465E6241000000 \
4150514F4B494141555C254351406B5A59454E415042804C5F41415C445B58444A5252555A52554F4D585168686868686868686868000041555C254351406B5A7F004E414642424C5F41806868686868685D465B575E5F445F4E45515D465B577F5C445B58444A5252555A52555E5F444B58444A5252600000006455605A43605A5E80FF55465E4641000000 \
01008200000C00E751 \
4159454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E505B564B494141555C4443514F4B5A59454E41414AE24C5F47415C445B58444A5252555A52554F4D58515D465B575E5F465B575E5F445F4E45515D465B577F5C445B58445B4354554E5255445F4E45605A43605A5E435455465E4641000000 \
C1505B4F59454E415C5546000000005E461E000000 \
41505B4F4B494141555C4443514F4B5A59454E858585855D465BDC5E424C5F4151515151515151515151515151515151515151515151415C5C434343434F41520000858585415C445B58444A527455434343434F41520000858585415C445B58444A5274555A52554F4D58515D465B575E5F585F4E45605A4300015E435455465E4641000000 \
4141444A5252555A52554F4D58435D465B575E5F445F4E456059454E41555C4443514F4B5A59454E415042424C5F41415C445B585858585858585858585858CF58585858585858585858444A52554F4D58515D2A60575E5F445F4E45605A435252555A52554F4D58515D2A60575E5F445F4E45605A43605A5E435455465E6441000000 \
41505B00000020415541556744435152514F4B5259454E415042415C445B5144505252555A2B554F4D58515D465B57444443514F4B5A59454E415042422E5F2C415C445B585B58444A0052555A52555E47445F7203605A43605A5F8B545505FFFF05000000 \
41435252555A52554F4D58515D2A60575E5F445F4E45604C5F41415C445B58444A5252555A5255424242424242424242424242424242424242424242424242424242424F4D58515D465B8001514F4B5A59454E415042424C5F41415C445B58445F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4A5239555A52554F4D5800005F4E45605A43605A5E435455465E4641000000 \
4148A7415042424C5F41415C445B58444A5252555A52604F4D58425D465B575E505B4B4B494141555C6243514F5B4F4B494141555C4443514B5A59484E415042424C5F41415C445B584441415C44800000005252555A52604F4D76425D465B575E5FF3434E452B5252555A52604F4D76425D465B575E5FF3434E45605F43605A5E435455465E0080000000 \
41505B4F59454E41555C4443514F4B5A59454E415042424C5F41FB5C544B494141555C4443514F4B5A59454E415042424C5F41415C595B5844044C5F05FFFF051341415C25B15C445B4354554E5A4F4351524B5A4E44605A43605A5E435455465E4659454E5B4F4B58515D465B575E5F445F5A45605A436041415C445B58444A5252555A52554F4D58515D465B575E5F445F5A5E435455565E4601000000 \
440008004346 \
41505B4F65494141555B4F5C4443504F4B5A59454E415F41415C445B5844445844445B58444A5252555A527474747474747474747474742A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A74747474747474747474554F4D58515D465B575E5F445F4E45605A43605A5E435455465E52554F4D58515D465B575E5F445F4E45605A43605A5E435455465E4641004641000000 \
41505B4F4B494141555C44435042424C5F415E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E675E5E5E5E5E5E5E5E415C445B58444A5252555A52554F3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4D58515D465B575E5F445F4E45605B4F4B20413241415C25B15C445B4354554E5A255A43605A5E6A5455465E4644000800434641000000 \
41505B4F59454E41555C4443514F4B5A59454E295042424C5F41FB5C544B584141555C4443514F4B5A59454E415042424C5F41415C595B7444044C5F05FFFF051341415C25B15C445B4354554E5A4F4351524B5A4E44605A43605A5E435455465E4659454E5B4F4B58515D465B575E5F445F5A45605A436041415C445B58444A7452555A52554F4D58515D465B575E5F445F5A5E435455565E4601000000 \
41505B4F4B492141554E4443514F4B4150424D4C5F415C445B417F5D305B5844000000005A52554F4D58515D465B575E5F445F4EFF605A43605A5E43514F4B5A59454E4150424D4C5F415B575E5F445F4E445B4B44000000005A52FF605A43605A5E43514F4B5A59454E4150424DAE5F415C445B58444A5252555A52554F2A5854554641555C4443514F4BAE59454E41504254545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454424C5F41415C445B58444A525200464100F200 \
48000041505B4F4B492141554E4443514F4B4150424D4C5F415C445B417F5D305B5844000000005A52554F4D58515D465B575E5F445F4EFF605A43605A5E43514F4B5A59454E4950424D4C5F415B575E5F445F4E445B4B44000000005A52FF605A43605A5E43514F4B5A59454E4150424DAE5F415C445B58444A5252555A52554F2A5854554641555C4443514F4BAE59454E41504254545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545C255454545454545454545454545454545454545454545454545454545454545454545454545454545454545454424C5F41415C445B58444A5252004641 \
41505B514F4B5A59454E295042424C5F41FB5C544B584141555C44435100015A59454E415042424C5F41415C595B7444044C5F05FFFF051341415C25B15C445B4354554E5A4F4351524B5A4E44605A43605A5E435455465E4659454E5B4F4B58515D465B575E5F445F5A5F605A436051415C445B58444A74526E5A52554F4D58515D465B574343434343434343434343434343434343434343434343434343434343434343435643434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343435E5F445F5A5E435455565E5401000000 \
48000001F4514F4B5A59454E295042424C5F41FB5C544B584140555C44435100015A59454E2B5042424C5F41415C595B7444044C5F05FFFF051341415C25B15C445B4354554E5A4F8E51524B5A4E44605A43605A5E435455465E4659454E5B0A0A0A0A0A0A0A0A0A0A0A008000000A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A4F4B58515D465B575E5F445F5A5F605A436051415C81000028"

expected = [ 
"465E58515341585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F45435F5D5D4C60595B5B5C595F574D4D5044465A5841465642564A494A", 
"465E58515341585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F45435F5D5D4C60595B5B5C595F574D4D5044465A5841465642564A494A", 
"B2", "00", "EA002020202020202020202020202020",
"0080000A0A0500000000", "001D403D05", "E101", 
"465E585153554E5A585A4A545C4D5F4250544755515F45452D4545415C505C445F455C554E5A585A4A545C4D5F4250544755515F4545454545452D45454545", 
"465E58515341585B4D445C4E5A585A4A545C4D5F585A4A545C4A494A515F45445C505CFF5CFF000000554E5A000055505CFF000000554E5A425054505565F84D5F422020202020202020202020202020", 
"465E585153554E5A585A4A545C4D5F4250544755515F4545454545452D454541585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F454545", 
"465E585153554E5A585A4A545C4D5F4250544755515F4545454545452D454541585B4D445C505C445F455C554E5A585A4A545C4D5F4250544755515F454545", 
"465E585153554E5A585A4A545C4D5F42505447484848484848484848484848484848484848484848484848484848484855515F4545454545452D454541585B", 
"465E585153554E5A585A4A545C4D5F4250544755515F4545454545452D454541585B4D445C50455D4C60595B5B5C595C405F455C014E5A585A4A545C4D5F42", 
"465E585153554E43445C505C445F285C554E5A585A4A545C4D5F4250544755515F4545454545452D45454545454545454545BA454545574D4D6C4446454526", 
"465E585153554EA5585A4A545D5D5D5D5D5D5D5DFF5F5C465E585153554E5A585A4A54445C505C445F455C554E5A585A00015C4D5F4260544700405F45D345", 
"465E58554E5A585A4A545C000000800050544758515F4545454545452D4545454545454545454545452A45454545454545454545435F5D5D4C60595B5B5C595F574D4D6C44465A5841465642564A499B9B855643564A499B9B9B9B9B9B9B9B9B9BA59B9B9B9B9B9B9B9BFF2A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9BFF7F9B9B9B", 
"00FF58516D554E5A585A4A547FFF5F4250544755355F454545454D5F4250544755515F45452D5445414A4A4E4A4A6C4A554E5A545C4D5F4250585A4A545C4D", 
"465E58FF53554E5A585A4A545C625F424755515F4545454545005C445F285C554E5A585A4A545C4D5F4250544755515F455C014E5A585A4A545C4D5F425054", 
"465E585153554E5A585A4A540000000050544755515F4545454545452D45465E585153554E5A585A4A540000000050544755515F4545454545452D45454158", 
"465E585153554E48483E0001484848484848484855515F45452D45454545454548524848485F4250544755515F434545454548484848484848484848484848", 
"00001E00819181818181818181818181818181818181818181818181818181818181817E8181818181818181818181818181758181818181818181818181818181818181818181818181818181818181818181818181816C8181818181818181818181817E81818181818181818181818181818181818181818181818181818181", 
"544A4456565E454A5E58484D485F54555D554156565A58415F554E51534C505043575C2020202020202020", 
"544A4456565E454A5E58484D485F54555F554E516048525351554846534C505043575C4B554F5F51445F4759585E5956524746514E58435E4C4A445E562020202020202020", 
"000000647474747474744188554E51534C503943575C2B000000582C484D485F4A5E554E54555D55415656", 
"544A4456325E454A5E584858484D485F55555D5541565674583F5F554E515C202020202020202020202020", 
"544A44564E51534C505043575F554E485F54555D554156565A58415F554E51534C50415F554E485F54555D", 
"544A4456565E444A5E5848", "42534C3450545454545454545454545443570A20202020202020202020202020", 
"544A", "544A4456", "54", 
"54D84456565E454A5E58484D485F54555D5541DEDEDEDEDEDEDEDEDEDE584151552251534C502FFF575C2B", 
"544A4556484C48484848484848484848484848484848485E5848000001004D485F54555A58415F4A5E5848", 
"544A4456565A4A444D485F0054555A5841001242534C3450545454545454545454545454545454AB545454", 
"5D554156565A582F5F554E70F4555A58415F554E51534C4A5E58484D54555D554156565A425335", 
"544A4456565EBB4A5E58484D317554555D5858484D317554555D5541564D485F54557B5661B84C50504341564D485F54558A56614758484D317554555D5858484D317554555D5541545454545458484D317554555D5541545454545454545454545454545454544C5050733654545454545454545454544C50505E3600202020", 
"5D554156565A582F5F554E70F4555A58415F554E51534C4A5E58484D54555D554156565A425335", 
"5D554156567FFF2F5F554E70F4555A58415F554E51534C4A5E58484D54555D554156565A425335", 
"5D554156565A582F5F554E70F4555A58415F554E51534C4A5E58484D54555D55419E565A425335", 
"5D51534C4A5E58484D54555D554156565A4253353450544A5E58484D54555D554156565A425335", 
"5D800000005E58484D4B555D554156565A4253353450544A5E58484D54555D504356700B004D48", 
"8B58485F54558A56FF56C85A5841FF394E4E0002545C545473544C4ADE58484D545E58484D54555D5541563C5A4253353400014A6658B74D315F54555D554100FF5A58E25F474E51533B505043578F0BED4D485F54558A56FF56C85A6E41FF3A4E4E0002545454546EC85A5841FF394E4E0002545454C3738A56FF72C85A5841FF", 
"4C515955515657445F4C595453465943575242425A5D5A554650555956515C41425455524A4C5548574D5B4953534B49444D4A5D4943", 
"4C515955", "7FFF5955", "38595520", "4C515955044C51595520202020202020", "4C", 
"4C5159556418181818181818181818182020202020202020", "067F6456202020202020202020", "4C51", 
"00202020202020202020202020202020", "50", "FA", 
"8A00201B20202020203F202020202020202020202020202020200020262020200000007F202000007F20202D671B002020202020202020202020202020202000", 
"8A00201B9A9A9A9A9A9A9A9A9A9A9A439A9A9A9A203F202020202020202020209A9A9A9A9A9A9A9A202020202020202020200020262020200000007F20200000", 
"002020208A00201B9A9A9A9A9A9A9A9A20202020202020209A9A9A9A9A859A00FFFF9A9A9A9A9A9A202020FF00009A9A9A9A9A439A9A789A203F202020202020202020209A9A9A9A9A9A9A0000007F2020030651595564201818181818181819181818181818181892181820202D671B20202020202020202020202020202020", 
"0010000040595504000000100000F0FFFFFF0800E300000900000000000000000000000600000000000000000000000000000000000008000000001A0000001D005548574D5B4953534B49444D4A00000000000000000000FFFFFFFF77FFF759550400000000000000000000000000000008000000001A0000001D000000000000", 
"0000000000405955040000001004000000000008000000000000000D00000000000000000000009B7F0000FFFFFFFF001A0000000000000007FFF6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001A0000000000E10B000000000000007F00000040644D0A040000001004400000000000007F000000282828282828282828282828282828282828080000004000FA0000F6FF08000000000000000D000A220000000000000000000000131A07000C000000000000007F000000400000001A000000001A00000000001B0D000000000000000000001A", 
"434F445C50594B56445751504E594B5656465E5F6041545E434D4B4F545E5F574C42525B5A5C505E52414D5F5957544E5C514C5B515F58544B42425F", 
"434F445C50594B56445751504E594B5656465E5F6041545E434D4B4F545E5F574C42525B5A5C505E5241", "434F445C50594B56445751504E594B5656465E5F6041545E264D4B", 
"434F445C50594B56445751504E594B5656465E5F6041544F434D4B4F545E60574C42525B5A5C504C42525B5A5C505E52414D5F595754665C514C5B5F", 
"434F445C50594B56445751504E594B5656465E5F4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6041544E4E4E4E4E4E", 
"434B445C50594B56565151504E594B", 
"434F445C465E5F60410B4F545E5F574C62535E52414D5F5975545E5241594B56205751504E59595656465E5F4D5F7257544E5C4C42525B5A5C504C42", 
"434F545E5F574C42525B5A5C505E52414D5F5957544E5C514C3B514F545E5F574C42525B5A5C505EFFFF4D5F5957544E5C514C3B515F58544B4258563C5C505E52", 
"0000000100005E5F544E5C514C5B5160", 
"434F445C50594B56445751504E594B5656461C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C5E5F6041545E434D4B4F545E44574C42525B5A5C00641C", 
"43656568", "434F44", "434F445C50594B56445751504E594B5156465E5F6041545E434D4B4F547A5F574C42525B100000005B4252", 
"434F445C5E434D4B4F545E5F574C42414D5F5957484E5C514C4D515F50594B56445751504E594B5656465E5F6041545E434D4B4F355E5F574CFF5250", 
"434F4B5656465E5F6041545E264D4B445C50594B564457515000015C514C42525B5A5C505E52465E5F6037545E264D4B445C50594B56445C50644B56", 
"47", 
"434F445C502B2B643B0F6B5F58544B42425F3C303542525B5A5C505E52414D5F5957544E5C514C5B510F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F", 
"43425F3C0042424F445C50594B564457", "554F445420202020202020202020", 
"434F445C50594BD9D9D9D9D9D9D9D9D9D93C00004E00014E4E4E4E4E4E4E4E4E4E4E0041545E434D4B4F545E5F574C1042525B5A5C505E52414D5F59D9D9D9D9D956445751504E594B5656465E5F6041545E43A74B4F54465EFF0041805E434D4B4A545E5F570100524C5B544E5C512E5B405F58544B515F58544B4242002020", 
"0000000000434F48506BABD9D9D9E2D9D9445C506B4BD9D9D9D9D9D9D9D9D9D93C421CD9D9D975757575757575757575757575757575757575757575757575757575", 
"000000434F445C506BABD9D9D9D9D9D9445C506B4BD9D9D9D9D9D9D9D9D9D93C00D9D980007C00214E00014E4E4E4E4E4E4E4E4301004E4E390041547E434D4B4F545E5F574C1042527F0000005E52414D5F5900204BD9D9D9D956445751504E774B5656465E5F604154545E4B4DF080545EFF0041A35E434D4B4A545E5F570100", 
"41505B4F4B494141555C4443514F4B5A59454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E5F445F4E45605A43605A5E435455465E46", 
"41505B4F4B494141555C4443514F4B5A59454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E5F445F4E45605A43605A5E435455465E4657526048464E545D5E5142584760564A5E444E5D5D505C564E5E49", 
"41505B4F4B494141555C444351524B5A4E44605A43605A5E435455465E4659454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E5F445F", 
"41605B4F4B494141555C4443514F4B5A59454E0E504243434343494352551052554F4D58515D465BDC5E424C5F41415C434343434F415200000001575E5F445F4E", 
"5C4443514F4B5A59454E415042422E5F2C415C445B58444A5241415C445B58444A31415C445B58444A5252555A52555A43605A5E465E4620202020202020202020", 
"41", 
"41505B4F4B492141554E4443514F4B4150424D4C5F415C445B417F5C305B5844000000005A52554F4D58515D465B575E5F445F4EFF605A43605A5E43514F4B5A59", 
"4150", 
"4150534F4B494141555C4443514F4B4A5252555A52554F4D58515D465B575A41415C445B58444A5252555A52554F4D58435D465B575E5F445F4E456059454E4150", 
"4150514F4B494141555C254351406B5A59454E415042804C5F41415C445B58444A5252555A52554F4D585168686868686868686868000041555C254351406B5A7F", 
"010082000020202020202020", 
"4159454E415042424C5F41415C445B58444A5252555A52554F4D58515D465B575E505B564B494141555C4443514F4B5A59454E41414AE24C5F47415C445B58444A", 
"C1505B4F59454E415C5546000000005E4620202020202020202020202020", 
"41505B4F4B494141555C4443514F4B5A59454E858585855D465BDC5E424C5F4151515151515151515151515151515151515151515151415C5C434343434F415200", 
"4141444A5252555A52554F4D58435D465B575E5F445F4E456059454E41555C4443514F4B5A59454E415042424C5F41415C445B585858585858585858585858CF58", 
"41505B0000", 
"41435252555A52554F4D58515D2A60575E5F445F4E45604C5F41415C445B58444A5252555A52554242424242424242424242424242424242424242424242424242", 
"4148A7415042424C5F41415C445B58444A5252555A52604F4D58425D465B575E505B4B4B494141555C6243514F5B4F4B494141555C4443514B5A59484E415042424C5F41415C445B584441415C44800000005252555A52604F4D76425D465B575E5FF3434E452B5252555A52604F4D76425D465B575E5FF3434E45605F43605A", 
"41", "4400202020202020", 
"41505B4F65494141555B4F5C4443504F4B5A59454E415F41415C445B5844445844445B58444A5252555A527474747474747474747474742A2A2A2A2A2A2A2A2A2A", 
"41505B4F4B494141555C44435042424C5F415E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E675E5E5E5E5E5E5E5E415C445B58444A5252555A52554F3A3A3A3A3A3A", 
"41", 
"41505B4F4B492141554E4443514F4B4150424D4C5F415C445B417F5D305B5844000000005A52554F4D58515D465B575E5F445F4EFF605A43605A5E43514F4B5A59", 
"48000041505B4F4B492141554E4443514F4B4150424D4C5F415C445B417F5D305B5844000000005A52554F4D58515D465B575E5F445F4EFF605A43605A5E43514F4B5A59454E4950424D4C5F415B575E5F44", 
"41", 
"48000001F4514F4B5A59454E295042424C5F41FB5C544B584140555C44435100015A59454E2B5042424C5F41415C595B7444044C5F05FFFF051341415C25B15C445B4354554E5A4F8E51524B5A4E44605A43605A5E435455465E4659454E5B0A0A0A0A0A0A0A0A0A0A0A008000000A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A", 
    ] 

Hypertest set

entropy  = "01752CBFCEB93FFEFE 01752CBFCEB93FFF59"
entropy += "01752CBFCEB93FFE2B 01752CBFCEB93FFCFF"
entropy += "01752CBFCEB93FFC91 012FEEABD7E60AE48E"
entropy += "012252C07F5B0DAEA9 013D48C681503D277B"
entropy += "01A7AEF5D27819E41A 01FAFC5CBCF02F4650"
entropy += "018AE9697732222E0F 0193DFCFB5E5149F1D"
entropy += "01F405F559E71F2324 0125EB0EAA893E5953"
entropy += "01182C504A420B01F6 0140142A3BD005EAF1"
entropy += "017C2CC29200349E74 0172CA68E4000C7E61"
entropy += "011EE2DD9B7818172B 0175BCD2FD223B61CD"
entropy += "017B31E2DFE427DB45 014BDC42DCA30BEC61"
entropy += "01281E700967038F71 01D3E2D8561F2CD3DE"
entropy += "01B202A335721290B3 01B4001CCE681391D1"
entropy += "01922115E4C52B4381 012878E050E1200476"
entropy += "0110B87555B70D05BB 01944E7CA6473A320D"
entropy += "019B520207B308C527 01C072AFD86C0120A4"
entropy += "7CCADC1F702F4429 4273E005E903A88B"
entropy += "808B7A0E6028D7B2 9D8221199100E0E7"
entropy += "77ABCF99330E9440 3DDE23AD1E341929"
entropy += "3BFB79B91A257EE7 63E6ACFD631E86AF"