summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-10-16 14:58:00 +0200
committerMax <msuraev@sysmocom.de>2017-12-11 10:36:47 +0000
commit32e5641dbbfd91b650a9ec8cf62d28fd22109e9e (patch)
tree401803f3b61944c3264c341a54878c8456c61110 /tests
parent9dd3bf0cb4e780b54772f4abe1e2966b09f99301 (diff)
Add functions for extended RACH coding
Add support for extended RACH (11 bit) according 3GPP TS 45.003 ยง5.3.2: * convolutional code with puncturing * encoding/decoding routines * corresponding tests Change-Id: I85a34a82d5cd39a594ee89d91a2338226066ab5d Related: OS#1548
Diffstat (limited to 'tests')
-rw-r--r--tests/coding/coding_test.c41
-rw-r--r--tests/coding/coding_test.ok30720
-rw-r--r--tests/conv/conv_gsm0503_test.ok8
3 files changed, 30767 insertions, 2 deletions
diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c
index b77410fd..511dbb7b 100644
--- a/tests/coding/coding_test.c
+++ b/tests/coding/coding_test.c
@@ -110,7 +110,7 @@ static void test_rach(uint8_t bsic, uint8_t ra)
/* Encode L2 message */
printf("Encoding: %02x\n", ra);
- gsm0503_rach_encode(bursts_u, &ra, bsic);
+ gsm0503_rach_ext_encode(bursts_u, ra, bsic, false);
/* Prepare soft-bits */
osmo_ubit2sbit(bursts_s, bursts_u, 36);
@@ -126,7 +126,38 @@ static void test_rach(uint8_t bsic, uint8_t ra)
gsm0503_rach_decode(&result, bursts_s, bsic);
printf("Decoded: %02x\n", result);
- OSMO_ASSERT(ra == result);
+ if (ra != result)
+ printf("FAIL [RACH]: encoded %u != %u decoded\n", ra, result);
+
+ printf("\n");
+}
+
+static void test_rach_ext(uint8_t bsic, uint16_t ra)
+{
+ uint16_t result = 3000; /* Max ext. RA is 2^11 = 2048 */
+ ubit_t bursts_u[36];
+ sbit_t bursts_s[36];
+
+ /* Encode L2 message */
+ printf("Encoding: %02x\n", ra);
+ gsm0503_rach_ext_encode(bursts_u, ra, bsic, true);
+
+ /* Prepare soft-bits */
+ osmo_ubit2sbit(bursts_s, bursts_u, 36);
+
+ printf("U-Bits: %s\n", osmo_ubit_dump(bursts_u, 36));
+
+ printf("S-Bits: %s\n", osmo_hexdump((uint8_t *)bursts_s, 36));
+
+ /* Destroy some bits */
+ memset(bursts_s + 9, 0, 8);
+
+ /* Decode, correcting errors */
+ gsm0503_rach_ext_decode(&result, bursts_s, bsic);
+ printf("Decoded: %02x\n", result);
+
+ if (ra != result)
+ printf("FAIL [RACH ext]: encoded %u != %u decoded\n", ra, result);
printf("\n");
}
@@ -332,6 +363,12 @@ int main(int argc, char **argv)
test_rach(0x1a, i);
}
+ for (i = 0; i < 2048; i++) {
+ test_rach_ext(0x3f, i);
+ test_rach_ext(0x00, i);
+ test_rach_ext(0x1a, i);
+ }
+
for (i = 0; i < len_l2; i++)
test_sch(test_l2[i]);
diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok
index 619f038b..8813af20 100644
--- a/tests/coding/coding_test.ok
+++ b/tests/coding/coding_test.ok
@@ -3880,6 +3880,30726 @@ U-Bits: 111010011010101001001101010001111111
S-Bits: 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 81 7f 81 7f 7f 81 7f 7f 81 81 7f 81 7f 81 7f 7f 7f 81 81 81 81 81 81 81
Decoded: ff
+Encoding: 00
+U-Bits: 000000000000000000000000000000000000
+S-Bits: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
+Decoded: 00
+
+Encoding: 00
+U-Bits: 000000000000000000011101001101001001
+S-Bits: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 7f 81 7f 7f 81
+Decoded: 00
+
+Encoding: 00
+U-Bits: 000000000000000000011010000101110111
+S-Bits: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 81 81 81 7f 81 81 81
+Decoded: 00
+
+Encoding: 01
+U-Bits: 110111100000000000011101001100100010
+S-Bits: 81 81 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 7f
+Decoded: 01
+
+Encoding: 01
+U-Bits: 110111100000000000000000000001101011
+S-Bits: 81 81 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 81 81
+Decoded: 01
+
+Encoding: 01
+U-Bits: 110111100000000000000111001001010101
+S-Bits: 81 81 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81
+Decoded: 01
+
+Encoding: 02
+U-Bits: 010001111000000000000111010011001001
+S-Bits: 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 81
+Decoded: 02
+
+Encoding: 02
+U-Bits: 010001111000000000011010011110000000
+S-Bits: 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f
+Decoded: 02
+
+Encoding: 02
+U-Bits: 010001111000000000011101010110111110
+S-Bits: 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 81 81 81 81 81 7f
+Decoded: 02
+
+Encoding: 03
+U-Bits: 100110011000000000011010011111101011
+S-Bits: 81 7f 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 81 81 7f 81 7f 81 81
+Decoded: 03
+
+Encoding: 03
+U-Bits: 100110011000000000000111010010100010
+S-Bits: 81 7f 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 7f 81 7f
+Decoded: 03
+
+Encoding: 03
+U-Bits: 100110011000000000000000011010011100
+S-Bits: 81 7f 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 7f 7f
+Decoded: 03
+
+Encoding: 04
+U-Bits: 001010011110000000011101010000011000
+S-Bits: 7f 7f 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f
+Decoded: 04
+
+Encoding: 04
+U-Bits: 001010011110000000000000011101010001
+S-Bits: 7f 7f 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 81
+Decoded: 04
+
+Encoding: 04
+U-Bits: 001010011110000000000111010101101111
+S-Bits: 7f 7f 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 81 81 81 81
+Decoded: 04
+
+Encoding: 05
+U-Bits: 111101111110000000000000011100111010
+S-Bits: 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 81 7f
+Decoded: 05
+
+Encoding: 05
+U-Bits: 111101111110000000011101010001110011
+S-Bits: 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 81 81 81 7f 7f 81 81
+Decoded: 05
+
+Encoding: 05
+U-Bits: 111101111110000000011010011001001101
+S-Bits: 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 81 81 7f 81
+Decoded: 05
+
+Encoding: 06
+U-Bits: 011011100110000000011010000011010001
+S-Bits: 7f 81 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 81
+Decoded: 06
+
+Encoding: 06
+U-Bits: 011011100110000000000111001110011000
+S-Bits: 7f 81 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f
+Decoded: 06
+
+Encoding: 06
+U-Bits: 011011100110000000000000000110100110
+S-Bits: 7f 81 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f
+Decoded: 06
+
+Encoding: 07
+U-Bits: 101100000110000000000111001111110011
+S-Bits: 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 81 81
+Decoded: 07
+
+Encoding: 07
+U-Bits: 101100000110000000011010000010111010
+S-Bits: 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 81 7f
+Decoded: 07
+
+Encoding: 07
+U-Bits: 101100000110000000011101001010000100
+S-Bits: 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f
+Decoded: 07
+
+Encoding: 08
+U-Bits: 000110100111100000000111010100000100
+S-Bits: 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f
+Decoded: 08
+
+Encoding: 08
+U-Bits: 000110100111100000011010011001001101
+S-Bits: 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 81 81 7f 81
+Decoded: 08
+
+Encoding: 08
+U-Bits: 000110100111100000011101010001110011
+S-Bits: 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 81 81 81 7f 7f 81 81
+Decoded: 08
+
+Encoding: 09
+U-Bits: 110001000111100000011010011000100110
+S-Bits: 81 81 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 7f 81 7f 7f 81 81 7f
+Decoded: 09
+
+Encoding: 09
+U-Bits: 110001000111100000000111010101101111
+S-Bits: 81 81 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 81 81 81 81
+Decoded: 09
+
+Encoding: 09
+U-Bits: 110001000111100000000000011101010001
+S-Bits: 81 81 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 81
+Decoded: 09
+
+Encoding: 0a
+U-Bits: 010111011111100000000000000111001101
+S-Bits: 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 7f 81
+Decoded: 0a
+
+Encoding: 0a
+U-Bits: 010111011111100000011101001010000100
+S-Bits: 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f
+Decoded: 0a
+
+Encoding: 0a
+U-Bits: 010111011111100000011010000010111010
+S-Bits: 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 81 7f
+Decoded: 0a
+
+Encoding: 0b
+U-Bits: 100000111111100000011101001011101111
+S-Bits: 81 7f 7f 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 81 81 7f 81 81 81 81
+Decoded: 0b
+
+Encoding: 0b
+U-Bits: 100000111111100000000000000110100110
+S-Bits: 81 7f 7f 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f
+Decoded: 0b
+
+Encoding: 0b
+U-Bits: 100000111111100000000111001110011000
+S-Bits: 81 7f 7f 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f
+Decoded: 0b
+
+Encoding: 0c
+U-Bits: 001100111001100000011010000100011100
+S-Bits: 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 7f 7f
+Decoded: 0c
+
+Encoding: 0c
+U-Bits: 001100111001100000000111001001010101
+S-Bits: 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81
+Decoded: 0c
+
+Encoding: 0c
+U-Bits: 001100111001100000000000000001101011
+S-Bits: 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 81 81
+Decoded: 0c
+
+Encoding: 0d
+U-Bits: 111011011001100000000111001000111110
+S-Bits: 81 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 7f
+Decoded: 0d
+
+Encoding: 0d
+U-Bits: 111011011001100000011010000101110111
+S-Bits: 81 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 81 81 81 7f 81 81 81
+Decoded: 0d
+
+Encoding: 0d
+U-Bits: 111011011001100000011101001101001001
+S-Bits: 81 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 7f 81 7f 7f 81
+Decoded: 0d
+
+Encoding: 0e
+U-Bits: 011101000001100000011101010111010101
+S-Bits: 7f 81 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81
+Decoded: 0e
+
+Encoding: 0e
+U-Bits: 011101000001100000000000011010011100
+S-Bits: 7f 81 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 7f 7f
+Decoded: 0e
+
+Encoding: 0e
+U-Bits: 011101000001100000000111010010100010
+S-Bits: 7f 81 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 7f 81 7f
+Decoded: 0e
+
+Encoding: 0f
+U-Bits: 101010100001100000000000011011110111
+S-Bits: 81 7f 81 7f 81 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81
+Decoded: 0f
+
+Encoding: 0f
+U-Bits: 101010100001100000011101010110111110
+S-Bits: 81 7f 81 7f 81 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 81 81 81 81 81 7f
+Decoded: 0f
+
+Encoding: 0f
+U-Bits: 101010100001100000011010011110000000
+S-Bits: 81 7f 81 7f 81 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f
+Decoded: 0f
+
+Encoding: 10
+U-Bits: 000001101001111000000001110101000010
+S-Bits: 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 81 7f
+Decoded: 10
+
+Encoding: 10
+U-Bits: 000001101001111000011100111000001011
+S-Bits: 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 81 81
+Decoded: 10
+
+Encoding: 10
+U-Bits: 000001101001111000011011110000110101
+S-Bits: 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 7f 81
+Decoded: 10
+
+Encoding: 11
+U-Bits: 110110001001111000011100111001100000
+S-Bits: 81 81 7f 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f
+Decoded: 11
+
+Encoding: 11
+U-Bits: 110110001001111000000001110100101001
+S-Bits: 81 81 7f 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 81
+Decoded: 11
+
+Encoding: 11
+U-Bits: 110110001001111000000110111100010111
+S-Bits: 81 81 7f 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 81 81 81
+Decoded: 11
+
+Encoding: 12
+U-Bits: 010000010001111000000110100110001011
+S-Bits: 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 7f 81 7f 81 81
+Decoded: 12
+
+Encoding: 12
+U-Bits: 010000010001111000011011101011000010
+S-Bits: 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 81 7f
+Decoded: 12
+
+Encoding: 12
+U-Bits: 010000010001111000011100100011111100
+S-Bits: 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 81 7f 7f
+Decoded: 12
+
+Encoding: 13
+U-Bits: 100111110001111000011011101010101001
+S-Bits: 81 7f 7f 81 81 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 7f 81 7f 81 7f 7f 81
+Decoded: 13
+
+Encoding: 13
+U-Bits: 100111110001111000000110100111100000
+S-Bits: 81 7f 7f 81 81 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f
+Decoded: 13
+
+Encoding: 13
+U-Bits: 100111110001111000000001101111011110
+S-Bits: 81 7f 7f 81 81 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 7f
+Decoded: 13
+
+Encoding: 14
+U-Bits: 001011110111111000011100100101011010
+S-Bits: 7f 7f 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 81 7f 81 81 7f 81 7f
+Decoded: 14
+
+Encoding: 14
+U-Bits: 001011110111111000000001101000010011
+S-Bits: 7f 7f 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 81 81
+Decoded: 14
+
+Encoding: 14
+U-Bits: 001011110111111000000110100000101101
+S-Bits: 7f 7f 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 81
+Decoded: 14
+
+Encoding: 15
+U-Bits: 111100010111111000000001101001111000
+S-Bits: 81 81 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f
+Decoded: 15
+
+Encoding: 15
+U-Bits: 111100010111111000011100100100110001
+S-Bits: 81 81 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 7f 81 81 7f 7f 7f 81
+Decoded: 15
+
+Encoding: 15
+U-Bits: 111100010111111000011011101100001111
+S-Bits: 81 81 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 7f 7f 7f 81 81 81 81
+Decoded: 15
+
+Encoding: 16
+U-Bits: 011010001111111000011011110110010011
+S-Bits: 7f 81 81 7f 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 7f 7f 81 7f 7f 81 81
+Decoded: 16
+
+Encoding: 16
+U-Bits: 011010001111111000000110111011011010
+S-Bits: 7f 81 81 7f 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 81 81 7f 81 7f
+Decoded: 16
+
+Encoding: 16
+U-Bits: 011010001111111000000001110011100100
+S-Bits: 7f 81 81 7f 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 7f 7f
+Decoded: 16
+
+Encoding: 17
+U-Bits: 101101101111111000000110111010110001
+S-Bits: 81 7f 81 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 7f 81
+Decoded: 17
+
+Encoding: 17
+U-Bits: 101101101111111000011011110111111000
+S-Bits: 81 7f 81 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f
+Decoded: 17
+
+Encoding: 17
+U-Bits: 101101101111111000011100111111000110
+S-Bits: 81 7f 81 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 7f 81 81 7f
+Decoded: 17
+
+Encoding: 18
+U-Bits: 000111001110011000000110100001000110
+S-Bits: 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 7f
+Decoded: 18
+
+Encoding: 18
+U-Bits: 000111001110011000011011101100001111
+S-Bits: 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 7f 7f 7f 81 81 81 81
+Decoded: 18
+
+Encoding: 18
+U-Bits: 000111001110011000011100100100110001
+S-Bits: 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 7f 81 81 7f 7f 7f 81
+Decoded: 18
+
+Encoding: 19
+U-Bits: 110000101110011000011011101101100100
+S-Bits: 81 81 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 81 81 7f 7f 81 7f 7f
+Decoded: 19
+
+Encoding: 19
+U-Bits: 110000101110011000000110100000101101
+S-Bits: 81 81 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 81
+Decoded: 19
+
+Encoding: 19
+U-Bits: 110000101110011000000001101000010011
+S-Bits: 81 81 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 81 81
+Decoded: 19
+
+Encoding: 1a
+U-Bits: 010110110110011000000001110010001111
+S-Bits: 7f 81 7f 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81
+Decoded: 1a
+
+Encoding: 1a
+U-Bits: 010110110110011000011100111111000110
+S-Bits: 7f 81 7f 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 7f 81 81 7f
+Decoded: 1a
+
+Encoding: 1a
+U-Bits: 010110110110011000011011110111111000
+S-Bits: 7f 81 7f 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f
+Decoded: 1a
+
+Encoding: 1b
+U-Bits: 100001010110011000011100111110101101
+S-Bits: 81 7f 7f 7f 7f 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 81 81 7f 81 7f 81 81 7f 81
+Decoded: 1b
+
+Encoding: 1b
+U-Bits: 100001010110011000000001110011100100
+S-Bits: 81 7f 7f 7f 7f 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 7f 7f
+Decoded: 1b
+
+Encoding: 1b
+U-Bits: 100001010110011000000110111011011010
+S-Bits: 81 7f 7f 7f 7f 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 81 81 7f 81 7f
+Decoded: 1b
+
+Encoding: 1c
+U-Bits: 001101010000011000011011110001011110
+S-Bits: 7f 7f 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 81 81 81 81 7f
+Decoded: 1c
+
+Encoding: 1c
+U-Bits: 001101010000011000000110111100010111
+S-Bits: 7f 7f 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 81 81 81
+Decoded: 1c
+
+Encoding: 1c
+U-Bits: 001101010000011000000001110100101001
+S-Bits: 7f 7f 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 81
+Decoded: 1c
+
+Encoding: 1d
+U-Bits: 111010110000011000000110111101111100
+S-Bits: 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 7f 7f
+Decoded: 1d
+
+Encoding: 1d
+U-Bits: 111010110000011000011011110000110101
+S-Bits: 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 7f 81
+Decoded: 1d
+
+Encoding: 1d
+U-Bits: 111010110000011000011100111000001011
+S-Bits: 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 81 81
+Decoded: 1d
+
+Encoding: 1e
+U-Bits: 011100101000011000011100100010010111
+S-Bits: 7f 81 81 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 7f 7f 81 7f 81 81 81
+Decoded: 1e
+
+Encoding: 1e
+U-Bits: 011100101000011000000001101111011110
+S-Bits: 7f 81 81 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 7f
+Decoded: 1e
+
+Encoding: 1e
+U-Bits: 011100101000011000000110100111100000
+S-Bits: 7f 81 81 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f
+Decoded: 1e
+
+Encoding: 1f
+U-Bits: 101011001000011000000001101110110101
+S-Bits: 81 7f 81 7f 81 81 7f 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 81 7f 81
+Decoded: 1f
+
+Encoding: 1f
+U-Bits: 101011001000011000011100100011111100
+S-Bits: 81 7f 81 7f 81 81 7f 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 81 7f 7f
+Decoded: 1f
+
+Encoding: 1f
+U-Bits: 101011001000011000011011101011000010
+S-Bits: 81 7f 81 7f 81 81 7f 7f 81 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 81 7f
+Decoded: 1f
+
+Encoding: 20
+U-Bits: 000000011010011110000000011101010001
+S-Bits: 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 81
+Decoded: 20
+
+Encoding: 20
+U-Bits: 000000011010011110011101010000011000
+S-Bits: 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f
+Decoded: 20
+
+Encoding: 20
+U-Bits: 000000011010011110011010011000100110
+S-Bits: 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 7f 81 7f 7f 81 81 7f
+Decoded: 20
+
+Encoding: 21
+U-Bits: 110111111010011110011101010001110011
+S-Bits: 81 81 7f 81 81 81 81 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 81 81 81 7f 7f 81 81
+Decoded: 21
+
+Encoding: 21
+U-Bits: 110111111010011110000000011100111010
+S-Bits: 81 81 7f 81 81 81 81 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 81 7f
+Decoded: 21
+
+Encoding: 21
+U-Bits: 110111111010011110000111010100000100
+S-Bits: 81 81 7f 81 81 81 81 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f
+Decoded: 21
+
+Encoding: 22
+U-Bits: 010001100010011110000111001110011000
+S-Bits: 7f 81 7f 7f 7f 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f
+Decoded: 22
+
+Encoding: 22
+U-Bits: 010001100010011110011010000011010001
+S-Bits: 7f 81 7f 7f 7f 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 81
+Decoded: 22
+
+Encoding: 22
+U-Bits: 010001100010011110011101001011101111
+S-Bits: 7f 81 7f 7f 7f 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 81 81 7f 81 81 81 81
+Decoded: 22
+
+Encoding: 23
+U-Bits: 100110000010011110011010000010111010
+S-Bits: 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 81 7f
+Decoded: 23
+
+Encoding: 23
+U-Bits: 100110000010011110000111001111110011
+S-Bits: 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 81 81
+Decoded: 23
+
+Encoding: 23
+U-Bits: 100110000010011110000000000111001101
+S-Bits: 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 7f 81
+Decoded: 23
+
+Encoding: 24
+U-Bits: 001010000100011110011101001101001001
+S-Bits: 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 7f 81 7f 7f 81
+Decoded: 24
+
+Encoding: 24
+U-Bits: 001010000100011110000000000000000000
+S-Bits: 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
+Decoded: 24
+
+Encoding: 24
+U-Bits: 001010000100011110000111001000111110
+S-Bits: 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 7f
+Decoded: 24
+
+Encoding: 25
+U-Bits: 111101100100011110000000000001101011
+S-Bits: 81 81 81 81 7f 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 81 81
+Decoded: 25
+
+Encoding: 25
+U-Bits: 111101100100011110011101001100100010
+S-Bits: 81 81 81 81 7f 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 7f
+Decoded: 25
+
+Encoding: 25
+U-Bits: 111101100100011110011010000100011100
+S-Bits: 81 81 81 81 7f 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 7f 7f
+Decoded: 25
+
+Encoding: 26
+U-Bits: 011011111100011110011010011110000000
+S-Bits: 7f 81 81 7f 81 81 81 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f
+Decoded: 26
+
+Encoding: 26
+U-Bits: 011011111100011110000111010011001001
+S-Bits: 7f 81 81 7f 81 81 81 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 81
+Decoded: 26
+
+Encoding: 26
+U-Bits: 011011111100011110000000011011110111
+S-Bits: 7f 81 81 7f 81 81 81 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81
+Decoded: 26
+
+Encoding: 27
+U-Bits: 101100011100011110000111010010100010
+S-Bits: 81 7f 81 81 7f 7f 7f 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 7f 81 7f
+Decoded: 27
+
+Encoding: 27
+U-Bits: 101100011100011110011010011111101011
+S-Bits: 81 7f 81 81 7f 7f 7f 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 81 81 7f 81 7f 81 81
+Decoded: 27
+
+Encoding: 27
+U-Bits: 101100011100011110011101010111010101
+S-Bits: 81 7f 81 81 7f 7f 7f 81 81 81 7f 7f 7f 81 81 81 81 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81
+Decoded: 27
+
+Encoding: 28
+U-Bits: 000110111101111110000111001001010101
+S-Bits: 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81
+Decoded: 28
+
+Encoding: 28
+U-Bits: 000110111101111110011010000100011100
+S-Bits: 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 81 7f 7f
+Decoded: 28
+
+Encoding: 28
+U-Bits: 000110111101111110011101001100100010
+S-Bits: 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 7f
+Decoded: 28
+
+Encoding: 29
+U-Bits: 110001011101111110011010000101110111
+S-Bits: 81 81 7f 7f 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 81 81 81 7f 81 81 81
+Decoded: 29
+
+Encoding: 29
+U-Bits: 110001011101111110000111001000111110
+S-Bits: 81 81 7f 7f 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 7f
+Decoded: 29
+
+Encoding: 29
+U-Bits: 110001011101111110000000000000000000
+S-Bits: 81 81 7f 7f 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
+Decoded: 29
+
+Encoding: 2a
+U-Bits: 010111000101111110000000011010011100
+S-Bits: 7f 81 7f 81 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 7f 7f
+Decoded: 2a
+
+Encoding: 2a
+U-Bits: 010111000101111110011101010111010101
+S-Bits: 7f 81 7f 81 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81
+Decoded: 2a
+
+Encoding: 2a
+U-Bits: 010111000101111110011010011111101011
+S-Bits: 7f 81 7f 81 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 81 81 7f 81 7f 81 81
+Decoded: 2a
+
+Encoding: 2b
+U-Bits: 100000100101111110011101010110111110
+S-Bits: 81 7f 7f 7f 7f 7f 81 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 81 81 81 81 81 7f
+Decoded: 2b
+
+Encoding: 2b
+U-Bits: 100000100101111110000000011011110111
+S-Bits: 81 7f 7f 7f 7f 7f 81 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81
+Decoded: 2b
+
+Encoding: 2b
+U-Bits: 100000100101111110000111010011001001
+S-Bits: 81 7f 7f 7f 7f 7f 81 7f 7f 81 7f 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 81
+Decoded: 2b
+
+Encoding: 2c
+U-Bits: 001100100011111110011010011001001101
+S-Bits: 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 81 81 7f 81
+Decoded: 2c
+
+Encoding: 2c
+U-Bits: 001100100011111110000111010100000100
+S-Bits: 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f
+Decoded: 2c
+
+Encoding: 2c
+U-Bits: 001100100011111110000000011100111010
+S-Bits: 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 81 7f
+Decoded: 2c
+
+Encoding: 2d
+U-Bits: 111011000011111110000111010101101111
+S-Bits: 81 81 81 7f 81 81 7f 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 81 81 81 81
+Decoded: 2d
+
+Encoding: 2d
+U-Bits: 111011000011111110011010011000100110
+S-Bits: 81 81 81 7f 81 81 7f 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 7f 81 7f 7f 81 81 7f
+Decoded: 2d
+
+Encoding: 2d
+U-Bits: 111011000011111110011101010000011000
+S-Bits: 81 81 81 7f 81 81 7f 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f
+Decoded: 2d
+
+Encoding: 2e
+U-Bits: 011101011011111110011101001010000100
+S-Bits: 7f 81 81 81 7f 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f
+Decoded: 2e
+
+Encoding: 2e
+U-Bits: 011101011011111110000000000111001101
+S-Bits: 7f 81 81 81 7f 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 7f 81
+Decoded: 2e
+
+Encoding: 2e
+U-Bits: 011101011011111110000111001111110011
+S-Bits: 7f 81 81 81 7f 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 81 81
+Decoded: 2e
+
+Encoding: 2f
+U-Bits: 101010111011111110000000000110100110
+S-Bits: 81 7f 81 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f
+Decoded: 2f
+
+Encoding: 2f
+U-Bits: 101010111011111110011101001011101111
+S-Bits: 81 7f 81 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 81 81 7f 81 81 81 81
+Decoded: 2f
+
+Encoding: 2f
+U-Bits: 101010111011111110011010000011010001
+S-Bits: 81 7f 81 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 81
+Decoded: 2f
+
+Encoding: 30
+U-Bits: 000001110011100110000001101000010011
+S-Bits: 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 81 81
+Decoded: 30
+
+Encoding: 30
+U-Bits: 000001110011100110011100100101011010
+S-Bits: 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 81 7f 81 81 7f 81 7f
+Decoded: 30
+
+Encoding: 30
+U-Bits: 000001110011100110011011101101100100
+S-Bits: 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 81 81 7f 7f 81 7f 7f
+Decoded: 30
+
+Encoding: 31
+U-Bits: 110110010011100110011100100100110001
+S-Bits: 81 81 7f 81 81 7f 7f 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 7f 7f 81 7f 7f 81 81 7f 7f 7f 81
+Decoded: 31
+
+Encoding: 31
+U-Bits: 110110010011100110000001101001111000
+S-Bits: 81 81 7f 81 81 7f 7f 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f
+Decoded: 31
+
+Encoding: 31
+U-Bits: 110110010011100110000110100001000110
+S-Bits: 81 81 7f 81 81 7f 7f 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 81 7f
+Decoded: 31
+
+Encoding: 32
+U-Bits: 010000001011100110000110111011011010
+S-Bits: 7f 81 7f 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 81 81 7f 81 7f
+Decoded: 32
+
+Encoding: 32
+U-Bits: 010000001011100110011011110110010011
+S-Bits: 7f 81 7f 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 81 7f 81 81 7f 7f 81 7f 7f 81 81
+Decoded: 32
+
+Encoding: 32
+U-Bits: 010000001011100110011100111110101101
+S-Bits: 7f 81 7f 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 81 81 81 81 7f 81 7f 81 81 7f 81
+Decoded: 32
+
+Encoding: 33
+U-Bits: 100111101011100110011011110111111000
+S-Bits: 81 7f 7f 81 81 81 81 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 81 7f 7f 7f
+Decoded: 33
+
+Encoding: 33
+U-Bits: 100111101011100110000110111010110001
+S-Bits: 81 7f 7f 81 81 81 81 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 7f 81
+Decoded: 33
+
+Encoding: 33
+U-Bits: 100111101011100110000001110010001111
+S-Bits: 81 7f 7f 81 81 81 81 7f 81 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81
+Decoded: 33
+
+Encoding: 34
+U-Bits: 001011101101100110011100111000001011
+S-Bits: 7f 7f 81 7f 81 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 81 81
+Decoded: 34
+
+Encoding: 34
+U-Bits: 001011101101100110000001110101000010
+S-Bits: 7f 7f 81 7f 81 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 81 7f
+Decoded: 34
+
+Encoding: 34
+U-Bits: 001011101101100110000110111101111100
+S-Bits: 7f 7f 81 7f 81 81 81 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 7f 7f
+Decoded: 34
+
+Encoding: 35
+U-Bits: 111100001101100110000001110100101001
+S-Bits: 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 81
+Decoded: 35
+
+Encoding: 35
+U-Bits: 111100001101100110011100111001100000
+S-Bits: 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f
+Decoded: 35
+
+Encoding: 35
+U-Bits: 111100001101100110011011110001011110
+S-Bits: 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 81 81 81 81 7f
+Decoded: 35
+
+Encoding: 36
+U-Bits: 011010010101100110011011101011000010
+S-Bits: 7f 81 81 7f 81 7f 7f 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 81 7f
+Decoded: 36
+
+Encoding: 36
+U-Bits: 011010010101100110000110100110001011
+S-Bits: 7f 81 81 7f 81 7f 7f 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 7f 81 7f 81 81
+Decoded: 36
+
+Encoding: 36
+U-Bits: 011010010101100110000001101110110101
+S-Bits: 7f 81 81 7f 81 7f 7f 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 7f 81 81 7f 81 7f 81
+Decoded: 36
+
+Encoding: 37
+U-Bits: 101101110101100110000110100111100000
+S-Bits: 81 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f
+Decoded: 37
+
+Encoding: 37
+U-Bits: 101101110101100110011011101010101001
+S-Bits: 81 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 7f 81 7f 81 7f 7f 81
+Decoded: 37
+
+Encoding: 37
+U-Bits: 101101110101100110011100100010010111
+S-Bits: 81 7f 81 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 7f 7f 81 7f 81 81 81
+Decoded: 37
+
+Encoding: 38
+U-Bits: 000111010100000110000110111100010111
+S-Bits: 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 81 81 81
+Decoded: 38
+
+Encoding: 38
+U-Bits: 000111010100000110011011110001011110
+S-Bits: 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 81 81 81 81 7f
+Decoded: 38
+
+Encoding: 38
+U-Bits: 000111010100000110011100111001100000
+S-Bits: 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f
+Decoded: 38
+
+Encoding: 39
+U-Bits: 110000110100000110011011110000110101
+S-Bits: 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 7f 81 81 7f 81 7f 81
+Decoded: 39
+
+Encoding: 39
+U-Bits: 110000110100000110000110111101111100
+S-Bits: 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 81 7f 7f
+Decoded: 39
+
+Encoding: 39
+U-Bits: 110000110100000110000001110101000010
+S-Bits: 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 7f 81 7f 7f 7f 7f 81 7f
+Decoded: 39
+
+Encoding: 3a
+U-Bits: 010110101100000110000001101111011110
+S-Bits: 7f 81 7f 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 81 81 81 81 7f
+Decoded: 3a
+
+Encoding: 3a
+U-Bits: 010110101100000110011100100010010111
+S-Bits: 7f 81 7f 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 7f 7f 81 7f 81 81 81
+Decoded: 3a
+
+Encoding: 3a
+U-Bits: 010110101100000110011011101010101001
+S-Bits: 7f 81 7f 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 7f 81 81 81 7f 81 7f 81 7f 81 7f 81 7f 7f 81
+Decoded: 3a
+
+Encoding: 3b
+U-Bits: 100001001100000110011100100011111100
+S-Bits: 81 7f 7f 7f 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 81 7f 7f 81 7f 7f 7f 81 81 81 81 81 81 7f 7f
+Decoded: 3b
+
+Encoding: 3b
+U-Bits: 100001001100000110000001101110110101
+S-Bits: