1
2(********************************************************************)
3(*                                                                  *)
4(*  chkbitdata.sd7  Checks functions from the bitdata.s7i library.  *)
5(*  Copyright (C) 2019, 2021  Thomas Mertes                         *)
6(*                                                                  *)
7(*  This program is free software; you can redistribute it and/or   *)
8(*  modify it under the terms of the GNU General Public License as  *)
9(*  published by the Free Software Foundation; either version 2 of  *)
10(*  the License, or (at your option) any later version.             *)
11(*                                                                  *)
12(*  This program is distributed in the hope that it will be useful, *)
13(*  but WITHOUT ANY WARRANTY; without even the implied warranty of  *)
14(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   *)
15(*  GNU General Public License for more details.                    *)
16(*                                                                  *)
17(*  You should have received a copy of the GNU General Public       *)
18(*  License along with this program; if not, write to the           *)
19(*  Free Software Foundation, Inc., 51 Franklin Street,             *)
20(*  Fifth Floor, Boston, MA  02110-1301, USA.                       *)
21(*                                                                  *)
22(********************************************************************)
23
24
25$ include "seed7_05.s7i";
26  include "bitdata.s7i";
27  include "strifile.s7i";
28
29
30const func boolean: chkGetBitLsb (in string: stri, in integer: bytePos,
31    in integer: bitPos, in integer: bitsExpected,
32    in integer: bytePosExpected, in integer: bitPosExpected) is func
33  result
34    var boolean: okay is TRUE;
35  local
36    var integer: bytePosVar is 0;
37    var integer: bitPosVar is 0;
38    var integer: bits is 0;
39    var char: ch is ' ';
40    var file: testFile is STD_NULL;
41  begin
42    bytePosVar := bytePos;
43    bitPosVar := bitPos;
44    bits := getBitLsb(stri, bytePosVar, bitPosVar);
45    if bits <> bitsExpected or bytePosVar <> bytePosExpected or bitPosVar <> bitPosExpected then
46      okay := FALSE;
47      write("getBitLsb(\"");
48      for ch range stri do
49        write("\\2#" <& ord(ch) radix 2 <& ";");
50      end for;
51      writeln("\", " <& bytePos <& ", " <& bitPos <& ")");
52      if bits <> bitsExpected then
53        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
54      end if;
55      if bytePosVar <> bytePosExpected then
56        writeln(" ***** Expected bytePos " <& bytePosExpected <& " found " <& bytePosVar);
57      end if;
58      if bitPosVar <> bitPosExpected then
59        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
60      end if;
61    end if;
62    testFile := openStriFile(stri);
63    ignore(gets(testFile, pred(bytePos)));
64    if bitPos = 0 then
65      bitPosVar := 8;
66    else
67      bitPosVar := bitPos;
68      testFile.bufferChar := getc(testFile);
69    end if;
70    bits := getBitLsb(testFile, bitPosVar);
71    if bits <> bitsExpected or (bitPosExpected = 0 and bitPosVar <> 8) or
72        (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
73      okay := FALSE;
74      write("\"");
75      for ch range stri do
76        write("\\2#" <& ord(ch) radix 2 <& ";");
77      end for;
78      writeln("\": getBitLsb(testFile, " <& bitPos <& ")");
79      if bits <> bitsExpected then
80        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
81      end if;
82      if (bitPosExpected = 0 and bitPosVar <> 8) or
83          (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
84        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
85      end if;
86    end if;
87  end func;
88
89
90const proc: chkGetBitLsb is func
91  begin
92    if  chkGetBitLsb("\2#0;",                   1, 0, 2#0, 1, 1) and
93        chkGetBitLsb("\2#000;",                 1, 1, 2#0, 1, 2) and
94        chkGetBitLsb("\2#101;",                 1, 1, 2#0, 1, 2) and
95        chkGetBitLsb("\2#01001;",               1, 2, 2#0, 1, 3) and
96        chkGetBitLsb("\2#10010;",               1, 2, 2#0, 1, 3) and
97        chkGetBitLsb("\2#0100010;",             1, 3, 2#0, 1, 4) and
98        chkGetBitLsb("\2#1010101;",             1, 3, 2#0, 1, 4) and
99        chkGetBitLsb("\2#10100101;\2#0;",       1, 4, 2#0, 1, 5) and
100        chkGetBitLsb("\2#01101011;\2#1;",       1, 4, 2#0, 1, 5) and
101        chkGetBitLsb("\2#11001011;\2#010;",     1, 5, 2#0, 1, 6) and
102        chkGetBitLsb("\2#11010011;\2#100;",     1, 5, 2#0, 1, 6) and
103        chkGetBitLsb("\2#10010011;\2#01001;",   1, 6, 2#0, 1, 7) and
104        chkGetBitLsb("\2#10110101;\2#11010;",   1, 6, 2#0, 1, 7) and
105        chkGetBitLsb("\2#00110101;\2#0110101;", 1, 7, 2#0, 2, 0) and
106        chkGetBitLsb("\2#01011001;\2#1011001;", 1, 7, 2#0, 2, 0) and
107        chkGetBitLsb("\2#1;",                   1, 0, 2#1, 1, 1) and
108        chkGetBitLsb("\2#010;",                 1, 1, 2#1, 1, 2) and
109        chkGetBitLsb("\2#111;",                 1, 1, 2#1, 1, 2) and
110        chkGetBitLsb("\2#01101;",               1, 2, 2#1, 1, 3) and
111        chkGetBitLsb("\2#10110;",               1, 2, 2#1, 1, 3) and
112        chkGetBitLsb("\2#0101010;",             1, 3, 2#1, 1, 4) and
113        chkGetBitLsb("\2#1011101;",             1, 3, 2#1, 1, 4) and
114        chkGetBitLsb("\2#10110101;\2#0;",       1, 4, 2#1, 1, 5) and
115        chkGetBitLsb("\2#01111011;\2#1;",       1, 4, 2#1, 1, 5) and
116        chkGetBitLsb("\2#11101011;\2#010;",     1, 5, 2#1, 1, 6) and
117        chkGetBitLsb("\2#11110011;\2#100;",     1, 5, 2#1, 1, 6) and
118        chkGetBitLsb("\2#11010011;\2#01001;",   1, 6, 2#1, 1, 7) and
119        chkGetBitLsb("\2#11110101;\2#11010;",   1, 6, 2#1, 1, 7) and
120        chkGetBitLsb("\2#10110101;\2#0110101;", 1, 7, 2#1, 2, 0) and
121        chkGetBitLsb("\2#11011001;\2#1011001;", 1, 7, 2#1, 2, 0) then
122      writeln("getBitLsb works correct.");
123    end if;
124  end func;
125
126
127const func boolean: chkGetBitsLsb (in string: stri, in integer: bytePos,
128    in integer: bitPos, in integer: bitsNeeded, in integer: bitsExpected,
129    in integer: bytePosExpected, in integer: bitPosExpected) is func
130  result
131    var boolean: okay is TRUE;
132  local
133    var integer: bytePosVar is 0;
134    var integer: bitPosVar is 0;
135    var integer: bits is 0;
136    var char: ch is ' ';
137    var file: testFile is STD_NULL;
138  begin
139    bytePosVar := bytePos;
140    bitPosVar := bitPos;
141    bits := getBitsLsb(stri, bytePosVar, bitPosVar, bitsNeeded);
142    if bits <> bitsExpected or bytePosVar <> bytePosExpected or bitPosVar <> bitPosExpected then
143      okay := FALSE;
144      write("getBitsLsb(\"");
145      for ch range stri do
146        write("\\2#" <& ord(ch) radix 2 <& ";");
147      end for;
148      writeln("\", " <& bytePos <& ", " <& bitPos <& ", " <& bitsNeeded <& ")");
149      if bits <> bitsExpected then
150        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
151      end if;
152      if bytePosVar <> bytePosExpected then
153        writeln(" ***** Expected bytePos " <& bytePosExpected <& " found " <& bytePosVar);
154      end if;
155      if bitPosVar <> bitPosExpected then
156        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
157      end if;
158    end if;
159    testFile := openStriFile(stri);
160    ignore(gets(testFile, pred(bytePos)));
161    if bitPos = 0 then
162      bitPosVar := 8;
163    else
164      bitPosVar := bitPos;
165      testFile.bufferChar := getc(testFile);
166    end if;
167    bits := getBitsLsb(testFile, bitPosVar, bitsNeeded);
168    if bits <> bitsExpected or (bitPosExpected = 0 and bitPosVar <> 8) or
169        (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
170      okay := FALSE;
171      write("\"");
172      for ch range stri do
173        write("\\2#" <& ord(ch) radix 2 <& ";");
174      end for;
175      writeln("\": getBitsLsb(testFile, " <& bitPos <& ", " <& bitsNeeded <& ")");
176      if bits <> bitsExpected then
177        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
178      end if;
179      if (bitPosExpected = 0 and bitPosVar <> 8) or
180          (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
181        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
182      end if;
183    end if;
184  end func;
185
186
187const proc: chkGetBitsLsb is func
188  begin
189    if  chkGetBitsLsb("\2#0;",                                                   1, 0,  1,                     2#0, 1, 1) and
190        chkGetBitsLsb("\2#000;",                                                 1, 1,  1,                     2#0, 1, 2) and
191        chkGetBitsLsb("\2#101;",                                                 1, 1,  1,                     2#0, 1, 2) and
192        chkGetBitsLsb("\2#01001;",                                               1, 2,  1,                     2#0, 1, 3) and
193        chkGetBitsLsb("\2#10010;",                                               1, 2,  1,                     2#0, 1, 3) and
194        chkGetBitsLsb("\2#0100010;",                                             1, 3,  1,                     2#0, 1, 4) and
195        chkGetBitsLsb("\2#1010101;",                                             1, 3,  1,                     2#0, 1, 4) and
196        chkGetBitsLsb("\2#10100101;\2#0;",                                       1, 4,  1,                     2#0, 1, 5) and
197        chkGetBitsLsb("\2#01101011;\2#1;",                                       1, 4,  1,                     2#0, 1, 5) and
198        chkGetBitsLsb("\2#11001011;\2#010;",                                     1, 5,  1,                     2#0, 1, 6) and
199        chkGetBitsLsb("\2#11010011;\2#100;",                                     1, 5,  1,                     2#0, 1, 6) and
200        chkGetBitsLsb("\2#10010011;\2#01001;",                                   1, 6,  1,                     2#0, 1, 7) and
201        chkGetBitsLsb("\2#10110101;\2#11010;",                                   1, 6,  1,                     2#0, 1, 7) and
202        chkGetBitsLsb("\2#00110101;\2#0110101;",                                 1, 7,  1,                     2#0, 2, 0) and
203        chkGetBitsLsb("\2#01011001;\2#1011001;",                                 1, 7,  1,                     2#0, 2, 0) and
204        chkGetBitsLsb("\2#1;",                                                   1, 0,  1,                     2#1, 1, 1) and
205        chkGetBitsLsb("\2#010;",                                                 1, 1,  1,                     2#1, 1, 2) and
206        chkGetBitsLsb("\2#111;",                                                 1, 1,  1,                     2#1, 1, 2) and
207        chkGetBitsLsb("\2#01101;",                                               1, 2,  1,                     2#1, 1, 3) and
208        chkGetBitsLsb("\2#10110;",                                               1, 2,  1,                     2#1, 1, 3) and
209        chkGetBitsLsb("\2#0101010;",                                             1, 3,  1,                     2#1, 1, 4) and
210        chkGetBitsLsb("\2#1011101;",                                             1, 3,  1,                     2#1, 1, 4) and
211        chkGetBitsLsb("\2#10110101;\2#0;",                                       1, 4,  1,                     2#1, 1, 5) and
212        chkGetBitsLsb("\2#01111011;\2#1;",                                       1, 4,  1,                     2#1, 1, 5) and
213        chkGetBitsLsb("\2#11101011;\2#010;",                                     1, 5,  1,                     2#1, 1, 6) and
214        chkGetBitsLsb("\2#11110011;\2#100;",                                     1, 5,  1,                     2#1, 1, 6) and
215        chkGetBitsLsb("\2#11010011;\2#01001;",                                   1, 6,  1,                     2#1, 1, 7) and
216        chkGetBitsLsb("\2#11110101;\2#11010;",                                   1, 6,  1,                     2#1, 1, 7) and
217        chkGetBitsLsb("\2#10110101;\2#0110101;",                                 1, 7,  1,                     2#1, 2, 0) and
218        chkGetBitsLsb("\2#11011001;\2#1011001;",                                 1, 7,  1,                     2#1, 2, 0) and
219        chkGetBitsLsb("\2#01;",                                                  1, 0,  2,                    2#01, 1, 2) and
220        chkGetBitsLsb("\2#0010;",                                                1, 1,  2,                    2#01, 1, 3) and
221        chkGetBitsLsb("\2#1011;",                                                1, 1,  2,                    2#01, 1, 3) and
222        chkGetBitsLsb("\2#010101;",                                              1, 2,  2,                    2#01, 1, 4) and
223        chkGetBitsLsb("\2#100110;",                                              1, 2,  2,                    2#01, 1, 4) and
224        chkGetBitsLsb("\2#01001010;",                                            1, 3,  2,                    2#01, 1, 5) and
225        chkGetBitsLsb("\2#10101101;",                                            1, 3,  2,                    2#01, 1, 5) and
226        chkGetBitsLsb("\2#01010101;\2#01;",                                      1, 4,  2,                    2#01, 1, 6) and
227        chkGetBitsLsb("\2#11011011;\2#10;",                                      1, 4,  2,                    2#01, 1, 6) and
228        chkGetBitsLsb("\2#10101011;\2#0101;",                                    1, 5,  2,                    2#01, 1, 7) and
229        chkGetBitsLsb("\2#10110011;\2#1001;",                                    1, 5,  2,                    2#01, 1, 7) and
230        chkGetBitsLsb("\2#01010011;\2#010011;",                                  1, 6,  2,                    2#01, 2, 0) and
231        chkGetBitsLsb("\2#01110101;\2#110101;",                                  1, 6,  2,                    2#01, 2, 0) and
232        chkGetBitsLsb("\2#10110101;\2#01101010;",                                1, 7,  2,                    2#01, 2, 1) and
233        chkGetBitsLsb("\2#11011001;\2#10110010;",                                1, 7,  2,                    2#01, 2, 1) and
234        chkGetBitsLsb("\2#10;",                                                  1, 0,  2,                    2#10, 1, 2) and
235        chkGetBitsLsb("\2#0100;",                                                1, 1,  2,                    2#10, 1, 3) and
236        chkGetBitsLsb("\2#1101;",                                                1, 1,  2,                    2#10, 1, 3) and
237        chkGetBitsLsb("\2#011001;",                                              1, 2,  2,                    2#10, 1, 4) and
238        chkGetBitsLsb("\2#101010;",                                              1, 2,  2,                    2#10, 1, 4) and
239        chkGetBitsLsb("\2#01010010;",                                            1, 3,  2,                    2#10, 1, 5) and
240        chkGetBitsLsb("\2#10110101;",                                            1, 3,  2,                    2#10, 1, 5) and
241        chkGetBitsLsb("\2#01100101;\2#01;",                                      1, 4,  2,                    2#10, 1, 6) and
242        chkGetBitsLsb("\2#11101011;\2#10;",                                      1, 4,  2,                    2#10, 1, 6) and
243        chkGetBitsLsb("\2#11001011;\2#0101;",                                    1, 5,  2,                    2#10, 1, 7) and
244        chkGetBitsLsb("\2#11010011;\2#1001;",                                    1, 5,  2,                    2#10, 1, 7) and
245        chkGetBitsLsb("\2#10010011;\2#010011;",                                  1, 6,  2,                    2#10, 2, 0) and
246        chkGetBitsLsb("\2#10110101;\2#110101;",                                  1, 6,  2,                    2#10, 2, 0) and
247        chkGetBitsLsb("\2#00110101;\2#01101011;",                                1, 7,  2,                    2#10, 2, 1) and
248        chkGetBitsLsb("\2#01011001;\2#10110011;",                                1, 7,  2,                    2#10, 2, 1) and
249        chkGetBitsLsb("\2#010;",                                                 1, 0,  3,                   2#010, 1, 3) and
250        chkGetBitsLsb("\2#00100;",                                               1, 1,  3,                   2#010, 1, 4) and
251        chkGetBitsLsb("\2#10101;",                                               1, 1,  3,                   2#010, 1, 4) and
252        chkGetBitsLsb("\2#0101001;",                                             1, 2,  3,                   2#010, 1, 5) and
253        chkGetBitsLsb("\2#1001010;",                                             1, 2,  3,                   2#010, 1, 5) and
254        chkGetBitsLsb("\2#10010010;\2#0;",                                       1, 3,  3,                   2#010, 1, 6) and
255        chkGetBitsLsb("\2#01010101;\2#1;",                                       1, 3,  3,                   2#010, 1, 6) and
256        chkGetBitsLsb("\2#10100101;\2#010;",                                     1, 4,  3,                   2#010, 1, 7) and
257        chkGetBitsLsb("\2#10101011;\2#101;",                                     1, 4,  3,                   2#010, 1, 7) and
258        chkGetBitsLsb("\2#01001011;\2#01011;",                                   1, 5,  3,                   2#010, 2, 0) and
259        chkGetBitsLsb("\2#01010011;\2#10011;",                                   1, 5,  3,                   2#010, 2, 0) and
260        chkGetBitsLsb("\2#10010011;\2#0100110;",                                 1, 6,  3,                   2#010, 2, 1) and
261        chkGetBitsLsb("\2#10110101;\2#1101010;",                                 1, 6,  3,                   2#010, 2, 1) and
262        chkGetBitsLsb("\2#00110101;\2#11010101;\2#0;",                           1, 7,  3,                   2#010, 2, 2) and
263        chkGetBitsLsb("\2#01011001;\2#01100101;\2#1;",                           1, 7,  3,                   2#010, 2, 2) and
264        chkGetBitsLsb("\2#101;",                                                 1, 0,  3,                   2#101, 1, 3) and
265        chkGetBitsLsb("\2#01010;",                                               1, 1,  3,                   2#101, 1, 4) and
266        chkGetBitsLsb("\2#11011;",                                               1, 1,  3,                   2#101, 1, 4) and
267        chkGetBitsLsb("\2#0110101;",                                             1, 2,  3,                   2#101, 1, 5) and
268        chkGetBitsLsb("\2#1010110;",                                             1, 2,  3,                   2#101, 1, 5) and
269        chkGetBitsLsb("\2#10101010;\2#0;",                                       1, 3,  3,                   2#101, 1, 6) and
270        chkGetBitsLsb("\2#01101101;\2#1;",                                       1, 3,  3,                   2#101, 1, 6) and
271        chkGetBitsLsb("\2#11010101;\2#010;",                                     1, 4,  3,                   2#101, 1, 7) and
272        chkGetBitsLsb("\2#11011011;\2#101;",                                     1, 4,  3,                   2#101, 1, 7) and
273        chkGetBitsLsb("\2#10101011;\2#01011;",                                   1, 5,  3,                   2#101, 2, 0) and
274        chkGetBitsLsb("\2#10110011;\2#10011;",                                   1, 5,  3,                   2#101, 2, 0) and
275        chkGetBitsLsb("\2#01010011;\2#0100111;",                                 1, 6,  3,                   2#101, 2, 1) and
276        chkGetBitsLsb("\2#01110101;\2#1101011;",                                 1, 6,  3,                   2#101, 2, 1) and
277        chkGetBitsLsb("\2#10110101;\2#11010110;\2#0;",                           1, 7,  3,                   2#101, 2, 2) and
278        chkGetBitsLsb("\2#11011001;\2#01100110;\2#1;",                           1, 7,  3,                   2#101, 2, 2) and
279        chkGetBitsLsb("\2#0101;",                                                1, 0,  4,                  2#0101, 1, 4) and
280        chkGetBitsLsb("\2#001010;",                                              1, 1,  4,                  2#0101, 1, 5) and
281        chkGetBitsLsb("\2#101011;",                                              1, 1,  4,                  2#0101, 1, 5) and
282        chkGetBitsLsb("\2#01010101;",                                            1, 2,  4,                  2#0101, 1, 6) and
283        chkGetBitsLsb("\2#10010110;",                                            1, 2,  4,                  2#0101, 1, 6) and
284        chkGetBitsLsb("\2#00101010;\2#01;",                                      1, 3,  4,                  2#0101, 1, 7) and
285        chkGetBitsLsb("\2#10101101;\2#10;",                                      1, 3,  4,                  2#0101, 1, 7) and
286        chkGetBitsLsb("\2#01010101;\2#0101;",                                    1, 4,  4,                  2#0101, 2, 0) and
287        chkGetBitsLsb("\2#01011011;\2#1011;",                                    1, 4,  4,                  2#0101, 2, 0) and
288        chkGetBitsLsb("\2#10101011;\2#010110;",                                  1, 5,  4,                  2#0101, 2, 1) and
289        chkGetBitsLsb("\2#10110011;\2#100110;",                                  1, 5,  4,                  2#0101, 2, 1) and
290        chkGetBitsLsb("\2#01010011;\2#01001101;",                                1, 6,  4,                  2#0101, 2, 2) and
291        chkGetBitsLsb("\2#01110101;\2#11010101;",                                1, 6,  4,                  2#0101, 2, 2) and
292        chkGetBitsLsb("\2#10110101;\2#10101010;\2#01;",                          1, 7,  4,                  2#0101, 2, 3) and
293        chkGetBitsLsb("\2#11011001;\2#11001010;\2#10;",                          1, 7,  4,                  2#0101, 2, 3) and
294        chkGetBitsLsb("\2#1011;",                                                1, 0,  4,                  2#1011, 1, 4) and
295        chkGetBitsLsb("\2#010110;",                                              1, 1,  4,                  2#1011, 1, 5) and
296        chkGetBitsLsb("\2#110111;",                                              1, 1,  4,                  2#1011, 1, 5) and
297        chkGetBitsLsb("\2#01101101;",                                            1, 2,  4,                  2#1011, 1, 6) and
298        chkGetBitsLsb("\2#10101110;",                                            1, 2,  4,                  2#1011, 1, 6) and
299        chkGetBitsLsb("\2#01011010;\2#01;",                                      1, 3,  4,                  2#1011, 1, 7) and
300        chkGetBitsLsb("\2#11011101;\2#10;",                                      1, 3,  4,                  2#1011, 1, 7) and
301        chkGetBitsLsb("\2#10110101;\2#0101;",                                    1, 4,  4,                  2#1011, 2, 0) and
302        chkGetBitsLsb("\2#10111011;\2#1011;",                                    1, 4,  4,                  2#1011, 2, 0) and
303        chkGetBitsLsb("\2#01101011;\2#010111;",                                  1, 5,  4,                  2#1011, 2, 1) and
304        chkGetBitsLsb("\2#01110011;\2#100111;",                                  1, 5,  4,                  2#1011, 2, 1) and
305        chkGetBitsLsb("\2#11010011;\2#01001110;",                                1, 6,  4,                  2#1011, 2, 2) and
306        chkGetBitsLsb("\2#11110101;\2#11010110;",                                1, 6,  4,                  2#1011, 2, 2) and
307        chkGetBitsLsb("\2#10110101;\2#10101101;\2#01;",                          1, 7,  4,                  2#1011, 2, 3) and
308        chkGetBitsLsb("\2#11011001;\2#11001101;\2#10;",                          1, 7,  4,                  2#1011, 2, 3) and
309        chkGetBitsLsb("\2#01011;",                                               1, 0,  5,                 2#01011, 1, 5) and
310        chkGetBitsLsb("\2#0010110;",                                             1, 1,  5,                 2#01011, 1, 6) and
311        chkGetBitsLsb("\2#1010111;",                                             1, 1,  5,                 2#01011, 1, 6) and
312        chkGetBitsLsb("\2#10101101;\2#0;",                                       1, 2,  5,                 2#01011, 1, 7) and
313        chkGetBitsLsb("\2#00101110;\2#1;",                                       1, 2,  5,                 2#01011, 1, 7) and
314        chkGetBitsLsb("\2#01011010;\2#010;",                                     1, 3,  5,                 2#01011, 2, 0) and
315        chkGetBitsLsb("\2#01011101;\2#101;",                                     1, 3,  5,                 2#01011, 2, 0) and
316        chkGetBitsLsb("\2#10110101;\2#01010;",                                   1, 4,  5,                 2#01011, 2, 1) and
317        chkGetBitsLsb("\2#10111011;\2#10110;",                                   1, 4,  5,                 2#01011, 2, 1) and
318        chkGetBitsLsb("\2#01101011;\2#0101101;",                                 1, 5,  5,                 2#01011, 2, 2) and
319        chkGetBitsLsb("\2#01110011;\2#1001101;",                                 1, 5,  5,                 2#01011, 2, 2) and
320        chkGetBitsLsb("\2#11010011;\2#10011010;\2#0;",                           1, 6,  5,                 2#01011, 2, 3) and
321        chkGetBitsLsb("\2#11110101;\2#10101010;\2#1;",                           1, 6,  5,                 2#01011, 2, 3) and
322        chkGetBitsLsb("\2#10110101;\2#01010101;\2#011;",                         1, 7,  5,                 2#01011, 2, 4) and
323        chkGetBitsLsb("\2#11011001;\2#10010101;\2#101;",                         1, 7,  5,                 2#01011, 2, 4) and
324        chkGetBitsLsb("\2#10011;",                                               1, 0,  5,                 2#10011, 1, 5) and
325        chkGetBitsLsb("\2#0100110;",                                             1, 1,  5,                 2#10011, 1, 6) and
326        chkGetBitsLsb("\2#1100111;",                                             1, 1,  5,                 2#10011, 1, 6) and
327        chkGetBitsLsb("\2#11001101;\2#0;",                                       1, 2,  5,                 2#10011, 1, 7) and
328        chkGetBitsLsb("\2#01001110;\2#1;",                                       1, 2,  5,                 2#10011, 1, 7) and
329        chkGetBitsLsb("\2#10011010;\2#010;",                                     1, 3,  5,                 2#10011, 2, 0) and
330        chkGetBitsLsb("\2#10011101;\2#101;",                                     1, 3,  5,                 2#10011, 2, 0) and
331        chkGetBitsLsb("\2#00110101;\2#01011;",                                   1, 4,  5,                 2#10011, 2, 1) and
332        chkGetBitsLsb("\2#00111011;\2#10111;",                                   1, 4,  5,                 2#10011, 2, 1) and
333        chkGetBitsLsb("\2#01101011;\2#0101110;",                                 1, 5,  5,                 2#10011, 2, 2) and
334        chkGetBitsLsb("\2#01110011;\2#1001110;",                                 1, 5,  5,                 2#10011, 2, 2) and
335        chkGetBitsLsb("\2#11010011;\2#10011100;\2#0;",                           1, 6,  5,                 2#10011, 2, 3) and
336        chkGetBitsLsb("\2#11110101;\2#10101100;\2#1;",                           1, 6,  5,                 2#10011, 2, 3) and
337        chkGetBitsLsb("\2#10110101;\2#01011001;\2#011;",                         1, 7,  5,                 2#10011, 2, 4) and
338        chkGetBitsLsb("\2#11011001;\2#10011001;\2#101;",                         1, 7,  5,                 2#10011, 2, 4) and
339        chkGetBitsLsb("\2#010011;",                                              1, 0,  6,                2#010011, 1, 6) and
340        chkGetBitsLsb("\2#00100110;",                                            1, 1,  6,                2#010011, 1, 7) and
341        chkGetBitsLsb("\2#10100111;",                                            1, 1,  6,                2#010011, 1, 7) and
342        chkGetBitsLsb("\2#01001101;\2#01;",                                      1, 2,  6,                2#010011, 2, 0) and
343        chkGetBitsLsb("\2#01001110;\2#10;",                                      1, 2,  6,                2#010011, 2, 0) and
344        chkGetBitsLsb("\2#10011010;\2#0100;",                                    1, 3,  6,                2#010011, 2, 1) and
345        chkGetBitsLsb("\2#10011101;\2#1010;",                                    1, 3,  6,                2#010011, 2, 1) and
346        chkGetBitsLsb("\2#00110101;\2#010101;",                                  1, 4,  6,                2#010011, 2, 2) and
347        chkGetBitsLsb("\2#00111011;\2#101101;",                                  1, 4,  6,                2#010011, 2, 2) and
348        chkGetBitsLsb("\2#01101011;\2#01011010;",                                1, 5,  6,                2#010011, 2, 3) and
349        chkGetBitsLsb("\2#01110011;\2#10011010;",                                1, 5,  6,                2#010011, 2, 3) and
350        chkGetBitsLsb("\2#11010011;\2#00110100;\2#01;",                          1, 6,  6,                2#010011, 2, 4) and
351        chkGetBitsLsb("\2#11110101;\2#01010100;\2#11;",                          1, 6,  6,                2#010011, 2, 4) and
352        chkGetBitsLsb("\2#10110101;\2#10101001;\2#0110;",                        1, 7,  6,                2#010011, 2, 5) and
353        chkGetBitsLsb("\2#11011001;\2#00101001;\2#1011;",                        1, 7,  6,                2#010011, 2, 5) and
354        chkGetBitsLsb("\2#110101;",                                              1, 0,  6,                2#110101, 1, 6) and
355        chkGetBitsLsb("\2#01101010;",                                            1, 1,  6,                2#110101, 1, 7) and
356        chkGetBitsLsb("\2#11101011;",                                            1, 1,  6,                2#110101, 1, 7) and
357        chkGetBitsLsb("\2#11010101;\2#01;",                                      1, 2,  6,                2#110101, 2, 0) and
358        chkGetBitsLsb("\2#11010110;\2#10;",                                      1, 2,  6,                2#110101, 2, 0) and
359        chkGetBitsLsb("\2#10101010;\2#0101;",                                    1, 3,  6,                2#110101, 2, 1) and
360        chkGetBitsLsb("\2#10101101;\2#1011;",                                    1, 3,  6,                2#110101, 2, 1) and
361        chkGetBitsLsb("\2#01010101;\2#010111;",                                  1, 4,  6,                2#110101, 2, 2) and
362        chkGetBitsLsb("\2#01011011;\2#101111;",                                  1, 4,  6,                2#110101, 2, 2) and
363        chkGetBitsLsb("\2#10101011;\2#01011110;",                                1, 5,  6,                2#110101, 2, 3) and
364        chkGetBitsLsb("\2#10110011;\2#10011110;",                                1, 5,  6,                2#110101, 2, 3) and
365        chkGetBitsLsb("\2#01010011;\2#00111101;\2#01;",                          1, 6,  6,                2#110101, 2, 4) and
366        chkGetBitsLsb("\2#01110101;\2#01011101;\2#11;",                          1, 6,  6,                2#110101, 2, 4) and
367        chkGetBitsLsb("\2#10110101;\2#10111010;\2#0110;",                        1, 7,  6,                2#110101, 2, 5) and
368        chkGetBitsLsb("\2#11011001;\2#00111010;\2#1011;",                        1, 7,  6,                2#110101, 2, 5) and
369        chkGetBitsLsb("\2#0110101;",                                             1, 0,  7,               2#0110101, 1, 7) and
370        chkGetBitsLsb("\2#01101010;\2#0;",                                       1, 1,  7,               2#0110101, 2, 0) and
371        chkGetBitsLsb("\2#01101011;\2#1;",                                       1, 1,  7,               2#0110101, 2, 0) and
372        chkGetBitsLsb("\2#11010101;\2#010;",                                     1, 2,  7,               2#0110101, 2, 1) and
373        chkGetBitsLsb("\2#11010110;\2#100;",                                     1, 2,  7,               2#0110101, 2, 1) and
374        chkGetBitsLsb("\2#10101010;\2#01001;",                                   1, 3,  7,               2#0110101, 2, 2) and
375        chkGetBitsLsb("\2#10101101;\2#10101;",                                   1, 3,  7,               2#0110101, 2, 2) and
376        chkGetBitsLsb("\2#01010101;\2#0101011;",                                 1, 4,  7,               2#0110101, 2, 3) and
377        chkGetBitsLsb("\2#01011011;\2#1011011;",                                 1, 4,  7,               2#0110101, 2, 3) and
378        chkGetBitsLsb("\2#10101011;\2#10110110;\2#0;",                           1, 5,  7,               2#0110101, 2, 4) and
379        chkGetBitsLsb("\2#10110011;\2#00110110;\2#1;",                           1, 5,  7,               2#0110101, 2, 4) and
380        chkGetBitsLsb("\2#01010011;\2#01101101;\2#010;",                         1, 6,  7,               2#0110101, 2, 5) and
381        chkGetBitsLsb("\2#01110101;\2#10101101;\2#110;",                         1, 6,  7,               2#0110101, 2, 5) and
382        chkGetBitsLsb("\2#10110101;\2#01011010;\2#01101;",                       1, 7,  7,               2#0110101, 2, 6) and
383        chkGetBitsLsb("\2#11011001;\2#01011010;\2#10110;",                       1, 7,  7,               2#0110101, 2, 6) and
384        chkGetBitsLsb("\2#1011001;",                                             1, 0,  7,               2#1011001, 1, 7) and
385        chkGetBitsLsb("\2#10110010;\2#0;",                                       1, 1,  7,               2#1011001, 2, 0) and
386        chkGetBitsLsb("\2#10110011;\2#1;",                                       1, 1,  7,               2#1011001, 2, 0) and
387        chkGetBitsLsb("\2#01100101;\2#011;",                                     1, 2,  7,               2#1011001, 2, 1) and
388        chkGetBitsLsb("\2#01100110;\2#101;",                                     1, 2,  7,               2#1011001, 2, 1) and
389        chkGetBitsLsb("\2#11001010;\2#01010;",                                   1, 3,  7,               2#1011001, 2, 2) and
390        chkGetBitsLsb("\2#11001101;\2#10110;",                                   1, 3,  7,               2#1011001, 2, 2) and
391        chkGetBitsLsb("\2#10010101;\2#0101101;",                                 1, 4,  7,               2#1011001, 2, 3) and
392        chkGetBitsLsb("\2#10011011;\2#1011101;",                                 1, 4,  7,               2#1011001, 2, 3) and
393        chkGetBitsLsb("\2#00101011;\2#10111011;\2#0;",                           1, 5,  7,               2#1011001, 2, 4) and
394        chkGetBitsLsb("\2#00110011;\2#00111011;\2#1;",                           1, 5,  7,               2#1011001, 2, 4) and
395        chkGetBitsLsb("\2#01010011;\2#01110110;\2#010;",                         1, 6,  7,               2#1011001, 2, 5) and
396        chkGetBitsLsb("\2#01110101;\2#10110110;\2#110;",                         1, 6,  7,               2#1011001, 2, 5) and
397        chkGetBitsLsb("\2#10110101;\2#01101100;\2#01101;",                       1, 7,  7,               2#1011001, 2, 6) and
398        chkGetBitsLsb("\2#11011001;\2#01101100;\2#10110;",                       1, 7,  7,               2#1011001, 2, 6) and
399        chkGetBitsLsb("\2#01011001;",                                            1, 0,  8,              2#01011001, 2, 0) and
400        chkGetBitsLsb("\2#10110010;\2#00;",                                      1, 1,  8,              2#01011001, 2, 1) and
401        chkGetBitsLsb("\2#10110011;\2#10;",                                      1, 1,  8,              2#01011001, 2, 1) and
402        chkGetBitsLsb("\2#01100101;\2#0101;",                                    1, 2,  8,              2#01011001, 2, 2) and
403        chkGetBitsLsb("\2#01100110;\2#1001;",                                    1, 2,  8,              2#01011001, 2, 2) and
404        chkGetBitsLsb("\2#11001010;\2#010010;",                                  1, 3,  8,              2#01011001, 2, 3) and
405        chkGetBitsLsb("\2#11001101;\2#101010;",                                  1, 3,  8,              2#01011001, 2, 3) and
406        chkGetBitsLsb("\2#10010101;\2#01010101;",                                1, 4,  8,              2#01011001, 2, 4) and
407        chkGetBitsLsb("\2#10011011;\2#10110101;",                                1, 4,  8,              2#01011001, 2, 4) and
408        chkGetBitsLsb("\2#00101011;\2#01101011;\2#01;",                          1, 5,  8,              2#01011001, 2, 5) and
409        chkGetBitsLsb("\2#00110011;\2#01101011;\2#10;",                          1, 5,  8,              2#01011001, 2, 5) and
410        chkGetBitsLsb("\2#01010011;\2#11010110;\2#0100;",                        1, 6,  8,              2#01011001, 2, 6) and
411        chkGetBitsLsb("\2#01110101;\2#01010110;\2#1101;",                        1, 6,  8,              2#01011001, 2, 6) and
412        chkGetBitsLsb("\2#10110101;\2#10101100;\2#011010;",                      1, 7,  8,              2#01011001, 2, 7) and
413        chkGetBitsLsb("\2#11011001;\2#10101100;\2#101100;",                      1, 7,  8,              2#01011001, 2, 7) and
414        chkGetBitsLsb("\2#10100011;",                                            1, 0,  8,              2#10100011, 2, 0) and
415        chkGetBitsLsb("\2#01000110;\2#01;",                                      1, 1,  8,              2#10100011, 2, 1) and
416        chkGetBitsLsb("\2#01000111;\2#11;",                                      1, 1,  8,              2#10100011, 2, 1) and
417        chkGetBitsLsb("\2#10001101;\2#0110;",                                    1, 2,  8,              2#10100011, 2, 2) and
418        chkGetBitsLsb("\2#10001110;\2#1010;",                                    1, 2,  8,              2#10100011, 2, 2) and
419        chkGetBitsLsb("\2#00011010;\2#010101;",                                  1, 3,  8,              2#10100011, 2, 3) and
420        chkGetBitsLsb("\2#00011101;\2#101101;",                                  1, 3,  8,              2#10100011, 2, 3) and
421        chkGetBitsLsb("\2#00110101;\2#01011010;",                                1, 4,  8,              2#10100011, 2, 4) and
422        chkGetBitsLsb("\2#00111011;\2#10111010;",                                1, 4,  8,              2#10100011, 2, 4) and
423        chkGetBitsLsb("\2#01101011;\2#01110100;\2#01;",                          1, 5,  8,              2#10100011, 2, 5) and
424        chkGetBitsLsb("\2#01110011;\2#01110100;\2#10;",                          1, 5,  8,              2#10100011, 2, 5) and
425        chkGetBitsLsb("\2#11010011;\2#11101000;\2#0100;",                        1, 6,  8,              2#10100011, 2, 6) and
426        chkGetBitsLsb("\2#11110101;\2#01101000;\2#1101;",                        1, 6,  8,              2#10100011, 2, 6) and
427        chkGetBitsLsb("\2#10110101;\2#11010001;\2#011010;",                      1, 7,  8,              2#10100011, 2, 7) and
428        chkGetBitsLsb("\2#11011001;\2#11010001;\2#101100;",                      1, 7,  8,              2#10100011, 2, 7) and
429        chkGetBitsLsb("\2#10100011;\2#0;",                                       1, 0,  9,             2#010100011, 2, 1) and
430        chkGetBitsLsb("\2#01000110;\2#001;",                                     1, 1,  9,             2#010100011, 2, 2) and
431        chkGetBitsLsb("\2#01000111;\2#101;",                                     1, 1,  9,             2#010100011, 2, 2) and
432        chkGetBitsLsb("\2#10001101;\2#01010;",                                   1, 2,  9,             2#010100011, 2, 3) and
433        chkGetBitsLsb("\2#10001110;\2#10010;",                                   1, 2,  9,             2#010100011, 2, 3) and
434        chkGetBitsLsb("\2#00011010;\2#0100101;",                                 1, 3,  9,             2#010100011, 2, 4) and
435        chkGetBitsLsb("\2#00011101;\2#1010101;",                                 1, 3,  9,             2#010100011, 2, 4) and
436        chkGetBitsLsb("\2#00110101;\2#10101010;\2#0;",                           1, 4,  9,             2#010100011, 2, 5) and
437        chkGetBitsLsb("\2#00111011;\2#01101010;\2#1;",                           1, 4,  9,             2#010100011, 2, 5) and
438        chkGetBitsLsb("\2#01101011;\2#11010100;\2#010;",                         1, 5,  9,             2#010100011, 2, 6) and
439        chkGetBitsLsb("\2#01110011;\2#11010100;\2#100;",                         1, 5,  9,             2#010100011, 2, 6) and
440        chkGetBitsLsb("\2#11010011;\2#10101000;\2#01001;",                       1, 6,  9,             2#010100011, 2, 7) and
441        chkGetBitsLsb("\2#11110101;\2#10101000;\2#11010;",                       1, 6,  9,             2#010100011, 2, 7) and
442        chkGetBitsLsb("\2#10110101;\2#01010001;\2#0110101;",                     1, 7,  9,             2#010100011, 3, 0) and
443        chkGetBitsLsb("\2#11011001;\2#01010001;\2#1011001;",                     1, 7,  9,             2#010100011, 3, 0) and
444        chkGetBitsLsb("\2#10110111;\2#1;",                                       1, 0,  9,             2#110110111, 2, 1) and
445        chkGetBitsLsb("\2#01101110;\2#011;",                                     1, 1,  9,             2#110110111, 2, 2) and
446        chkGetBitsLsb("\2#01101111;\2#111;",                                     1, 1,  9,             2#110110111, 2, 2) and
447        chkGetBitsLsb("\2#11011101;\2#01110;",                                   1, 2,  9,             2#110110111, 2, 3) and
448        chkGetBitsLsb("\2#11011110;\2#10110;",                                   1, 2,  9,             2#110110111, 2, 3) and
449        chkGetBitsLsb("\2#10111010;\2#0101101;",                                 1, 3,  9,             2#110110111, 2, 4) and
450        chkGetBitsLsb("\2#10111101;\2#1011101;",                                 1, 3,  9,             2#110110111, 2, 4) and
451        chkGetBitsLsb("\2#01110101;\2#10111011;\2#0;",                           1, 4,  9,             2#110110111, 2, 5) and
452        chkGetBitsLsb("\2#01111011;\2#01111011;\2#1;",                           1, 4,  9,             2#110110111, 2, 5) and
453        chkGetBitsLsb("\2#11101011;\2#11110110;\2#010;",                         1, 5,  9,             2#110110111, 2, 6) and
454        chkGetBitsLsb("\2#11110011;\2#11110110;\2#100;",                         1, 5,  9,             2#110110111, 2, 6) and
455        chkGetBitsLsb("\2#11010011;\2#11101101;\2#01001;",                       1, 6,  9,             2#110110111, 2, 7) and
456        chkGetBitsLsb("\2#11110101;\2#11101101;\2#11010;",                       1, 6,  9,             2#110110111, 2, 7) and
457        chkGetBitsLsb("\2#10110101;\2#11011011;\2#0110101;",                     1, 7,  9,             2#110110111, 3, 0) and
458        chkGetBitsLsb("\2#11011001;\2#11011011;\2#1011001;",                     1, 7,  9,             2#110110111, 3, 0) and
459        chkGetBitsLsb("\2#10110111;\2#01;",                                      1, 0, 10,            2#0110110111, 2, 2) and
460        chkGetBitsLsb("\2#01101110;\2#0011;",                                    1, 1, 10,            2#0110110111, 2, 3) and
461        chkGetBitsLsb("\2#01101111;\2#1011;",                                    1, 1, 10,            2#0110110111, 2, 3) and
462        chkGetBitsLsb("\2#11011101;\2#010110;",                                  1, 2, 10,            2#0110110111, 2, 4) and
463        chkGetBitsLsb("\2#11011110;\2#100110;",                                  1, 2, 10,            2#0110110111, 2, 4) and
464        chkGetBitsLsb("\2#10111010;\2#01001101;",                                1, 3, 10,            2#0110110111, 2, 5) and
465        chkGetBitsLsb("\2#10111101;\2#10101101;",                                1, 3, 10,            2#0110110111, 2, 5) and
466        chkGetBitsLsb("\2#01110101;\2#01011011;\2#01;",                          1, 4, 10,            2#0110110111, 2, 6) and
467        chkGetBitsLsb("\2#01111011;\2#11011011;\2#10;",                          1, 4, 10,            2#0110110111, 2, 6) and
468        chkGetBitsLsb("\2#11101011;\2#10110110;\2#0101;",                        1, 5, 10,            2#0110110111, 2, 7) and
469        chkGetBitsLsb("\2#11110011;\2#10110110;\2#1001;",                        1, 5, 10,            2#0110110111, 2, 7) and
470        chkGetBitsLsb("\2#11010011;\2#01101101;\2#010011;",                      1, 6, 10,            2#0110110111, 3, 0) and
471        chkGetBitsLsb("\2#11110101;\2#01101101;\2#110101;",                      1, 6, 10,            2#0110110111, 3, 0) and
472        chkGetBitsLsb("\2#10110101;\2#11011011;\2#01101010;",                    1, 7, 10,            2#0110110111, 3, 1) and
473        chkGetBitsLsb("\2#11011001;\2#11011011;\2#10110010;",                    1, 7, 10,            2#0110110111, 3, 1) and
474        chkGetBitsLsb("\2#00010011;\2#11;",                                      1, 0, 10,            2#1100010011, 2, 2) and
475        chkGetBitsLsb("\2#00100110;\2#0110;",                                    1, 1, 10,            2#1100010011, 2, 3) and
476        chkGetBitsLsb("\2#00100111;\2#1110;",                                    1, 1, 10,            2#1100010011, 2, 3) and
477        chkGetBitsLsb("\2#01001101;\2#011100;",                                  1, 2, 10,            2#1100010011, 2, 4) and
478        chkGetBitsLsb("\2#01001110;\2#101100;",                                  1, 2, 10,            2#1100010011, 2, 4) and
479        chkGetBitsLsb("\2#10011010;\2#01011000;",                                1, 3, 10,            2#1100010011, 2, 5) and
480        chkGetBitsLsb("\2#10011101;\2#10111000;",                                1, 3, 10,            2#1100010011, 2, 5) and
481        chkGetBitsLsb("\2#00110101;\2#01110001;\2#01;",                          1, 4, 10,            2#1100010011, 2, 6) and
482        chkGetBitsLsb("\2#00111011;\2#11110001;\2#10;",                          1, 4, 10,            2#1100010011, 2, 6) and
483        chkGetBitsLsb("\2#01101011;\2#11100010;\2#0101;",                        1, 5, 10,            2#1100010011, 2, 7) and
484        chkGetBitsLsb("\2#01110011;\2#11100010;\2#1001;",                        1, 5, 10,            2#1100010011, 2, 7) and
485        chkGetBitsLsb("\2#11010011;\2#11000100;\2#010011;",                      1, 6, 10,            2#1100010011, 3, 0) and
486        chkGetBitsLsb("\2#11110101;\2#11000100;\2#110101;",                      1, 6, 10,            2#1100010011, 3, 0) and
487        chkGetBitsLsb("\2#10110101;\2#10001001;\2#01101011;",                    1, 7, 10,            2#1100010011, 3, 1) and
488        chkGetBitsLsb("\2#11011001;\2#10001001;\2#10110011;",                    1, 7, 10,            2#1100010011, 3, 1) and
489        chkGetBitsLsb("\2#00010011;\2#011;",                                     1, 0, 11,           2#01100010011, 2, 3) and
490        chkGetBitsLsb("\2#00100110;\2#00110;",                                   1, 1, 11,           2#01100010011, 2, 4) and
491        chkGetBitsLsb("\2#00100111;\2#10110;",                                   1, 1, 11,           2#01100010011, 2, 4) and
492        chkGetBitsLsb("\2#01001101;\2#0101100;",                                 1, 2, 11,           2#01100010011, 2, 5) and
493        chkGetBitsLsb("\2#01001110;\2#1001100;",                                 1, 2, 11,           2#01100010011, 2, 5) and
494        chkGetBitsLsb("\2#10011010;\2#10011000;\2#0;",                           1, 3, 11,           2#01100010011, 2, 6) and
495        chkGetBitsLsb("\2#10011101;\2#01011000;\2#1;",                           1, 3, 11,           2#01100010011, 2, 6) and
496        chkGetBitsLsb("\2#00110101;\2#10110001;\2#010;",                         1, 4, 11,           2#01100010011, 2, 7) and
497        chkGetBitsLsb("\2#00111011;\2#10110001;\2#101;",                         1, 4, 11,           2#01100010011, 2, 7) and
498        chkGetBitsLsb("\2#01101011;\2#01100010;\2#01011;",                       1, 5, 11,           2#01100010011, 3, 0) and
499        chkGetBitsLsb("\2#01110011;\2#01100010;\2#10011;",                       1, 5, 11,           2#01100010011, 3, 0) and
500        chkGetBitsLsb("\2#11010011;\2#11000100;\2#0100110;",                     1, 6, 11,           2#01100010011, 3, 1) and
501        chkGetBitsLsb("\2#11110101;\2#11000100;\2#1101010;",                     1, 6, 11,           2#01100010011, 3, 1) and
502        chkGetBitsLsb("\2#10110101;\2#10001001;\2#11010101;\2#0;",               1, 7, 11,           2#01100010011, 3, 2) and
503        chkGetBitsLsb("\2#11011001;\2#10001001;\2#01100101;\2#1;",               1, 7, 11,           2#01100010011, 3, 2) and
504        chkGetBitsLsb("\2#10100111;\2#101;",                                     1, 0, 11,           2#10110100111, 2, 3) and
505        chkGetBitsLsb("\2#01001110;\2#01011;",                                   1, 1, 11,           2#10110100111, 2, 4) and
506        chkGetBitsLsb("\2#01001111;\2#11011;",                                   1, 1, 11,           2#10110100111, 2, 4) and
507        chkGetBitsLsb("\2#10011101;\2#0110110;",                                 1, 2, 11,           2#10110100111, 2, 5) and
508        chkGetBitsLsb("\2#10011110;\2#1010110;",                                 1, 2, 11,           2#10110100111, 2, 5) and
509        chkGetBitsLsb("\2#00111010;\2#10101101;\2#0;",                           1, 3, 11,           2#10110100111, 2, 6) and
510        chkGetBitsLsb("\2#00111101;\2#01101101;\2#1;",                           1, 3, 11,           2#10110100111, 2, 6) and
511        chkGetBitsLsb("\2#01110101;\2#11011010;\2#010;",                         1, 4, 11,           2#10110100111, 2, 7) and
512        chkGetBitsLsb("\2#01111011;\2#11011010;\2#101;",                         1, 4, 11,           2#10110100111, 2, 7) and
513        chkGetBitsLsb("\2#11101011;\2#10110100;\2#01011;",                       1, 5, 11,           2#10110100111, 3, 0) and
514        chkGetBitsLsb("\2#11110011;\2#10110100;\2#10011;",                       1, 5, 11,           2#10110100111, 3, 0) and
515        chkGetBitsLsb("\2#11010011;\2#01101001;\2#0100111;",                     1, 6, 11,           2#10110100111, 3, 1) and
516        chkGetBitsLsb("\2#11110101;\2#01101001;\2#1101011;",                     1, 6, 11,           2#10110100111, 3, 1) and
517        chkGetBitsLsb("\2#10110101;\2#11010011;\2#11010110;\2#0;",               1, 7, 11,           2#10110100111, 3, 2) and
518        chkGetBitsLsb("\2#11011001;\2#11010011;\2#01100110;\2#1;",               1, 7, 11,           2#10110100111, 3, 2) and
519        chkGetBitsLsb("\2#10100111;\2#0101;",                                    1, 0, 12,          2#010110100111, 2, 4) and
520        chkGetBitsLsb("\2#01001110;\2#001011;",                                  1, 1, 12,          2#010110100111, 2, 5) and
521        chkGetBitsLsb("\2#01001111;\2#101011;",                                  1, 1, 12,          2#010110100111, 2, 5) and
522        chkGetBitsLsb("\2#10011101;\2#01010110;",                                1, 2, 12,          2#010110100111, 2, 6) and
523        chkGetBitsLsb("\2#10011110;\2#10010110;",                                1, 2, 12,          2#010110100111, 2, 6) and
524        chkGetBitsLsb("\2#00111010;\2#00101101;\2#01;",                          1, 3, 12,          2#010110100111, 2, 7) and
525        chkGetBitsLsb("\2#00111101;\2#10101101;\2#10;",                          1, 3, 12,          2#010110100111, 2, 7) and
526        chkGetBitsLsb("\2#01110101;\2#01011010;\2#0101;",                        1, 4, 12,          2#010110100111, 3, 0) and
527        chkGetBitsLsb("\2#01111011;\2#01011010;\2#1011;",                        1, 4, 12,          2#010110100111, 3, 0) and
528        chkGetBitsLsb("\2#11101011;\2#10110100;\2#010110;",                      1, 5, 12,          2#010110100111, 3, 1) and
529        chkGetBitsLsb("\2#11110011;\2#10110100;\2#100110;",                      1, 5, 12,          2#010110100111, 3, 1) and
530        chkGetBitsLsb("\2#11010011;\2#01101001;\2#01001101;",                    1, 6, 12,          2#010110100111, 3, 2) and
531        chkGetBitsLsb("\2#11110101;\2#01101001;\2#11010101;",                    1, 6, 12,          2#010110100111, 3, 2) and
532        chkGetBitsLsb("\2#10110101;\2#11010011;\2#10101010;\2#01;",              1, 7, 12,          2#010110100111, 3, 3) and
533        chkGetBitsLsb("\2#11011001;\2#11010011;\2#11001010;\2#10;",              1, 7, 12,          2#010110100111, 3, 3) and
534        chkGetBitsLsb("\2#10001101;\2#1011;",                                    1, 0, 12,          2#101110001101, 2, 4) and
535        chkGetBitsLsb("\2#00011010;\2#010111;",                                  1, 1, 12,          2#101110001101, 2, 5) and
536        chkGetBitsLsb("\2#00011011;\2#110111;",                                  1, 1, 12,          2#101110001101, 2, 5) and
537        chkGetBitsLsb("\2#00110101;\2#01101110;",                                1, 2, 12,          2#101110001101, 2, 6) and
538        chkGetBitsLsb("\2#00110110;\2#10101110;",                                1, 2, 12,          2#101110001101, 2, 6) and
539        chkGetBitsLsb("\2#01101010;\2#01011100;\2#01;",                          1, 3, 12,          2#101110001101, 2, 7) and
540        chkGetBitsLsb("\2#01101101;\2#11011100;\2#10;",                          1, 3, 12,          2#101110001101, 2, 7) and
541        chkGetBitsLsb("\2#11010101;\2#10111000;\2#0101;",                        1, 4, 12,          2#101110001101, 3, 0) and
542        chkGetBitsLsb("\2#11011011;\2#10111000;\2#1011;",                        1, 4, 12,          2#101110001101, 3, 0) and
543        chkGetBitsLsb("\2#10101011;\2#01110001;\2#010111;",                      1, 5, 12,          2#101110001101, 3, 1) and
544        chkGetBitsLsb("\2#10110011;\2#01110001;\2#100111;",                      1, 5, 12,          2#101110001101, 3, 1) and
545        chkGetBitsLsb("\2#01010011;\2#11100011;\2#01001110;",                    1, 6, 12,          2#101110001101, 3, 2) and
546        chkGetBitsLsb("\2#01110101;\2#11100011;\2#11010110;",                    1, 6, 12,          2#101110001101, 3, 2) and
547        chkGetBitsLsb("\2#10110101;\2#11000110;\2#10101101;\2#01;",              1, 7, 12,          2#101110001101, 3, 3) and
548        chkGetBitsLsb("\2#11011001;\2#11000110;\2#11001101;\2#10;",              1, 7, 12,          2#101110001101, 3, 3) and
549        chkGetBitsLsb("\2#10001101;\2#01011;",                                   1, 0, 13,         2#0101110001101, 2, 5) and
550        chkGetBitsLsb("\2#00011010;\2#0010111;",                                 1, 1, 13,         2#0101110001101, 2, 6) and
551        chkGetBitsLsb("\2#00011011;\2#1010111;",                                 1, 1, 13,         2#0101110001101, 2, 6) and
552        chkGetBitsLsb("\2#00110101;\2#10101110;\2#0;",                           1, 2, 13,         2#0101110001101, 2, 7) and
553        chkGetBitsLsb("\2#00110110;\2#00101110;\2#1;",                           1, 2, 13,         2#0101110001101, 2, 7) and
554        chkGetBitsLsb("\2#01101010;\2#01011100;\2#010;",                         1, 3, 13,         2#0101110001101, 3, 0) and
555        chkGetBitsLsb("\2#01101101;\2#01011100;\2#101;",                         1, 3, 13,         2#0101110001101, 3, 0) and
556        chkGetBitsLsb("\2#11010101;\2#10111000;\2#01010;",                       1, 4, 13,         2#0101110001101, 3, 1) and
557        chkGetBitsLsb("\2#11011011;\2#10111000;\2#10110;",                       1, 4, 13,         2#0101110001101, 3, 1) and
558        chkGetBitsLsb("\2#10101011;\2#01110001;\2#0101101;",                     1, 5, 13,         2#0101110001101, 3, 2) and
559        chkGetBitsLsb("\2#10110011;\2#01110001;\2#1001101;",                     1, 5, 13,         2#0101110001101, 3, 2) and
560        chkGetBitsLsb("\2#01010011;\2#11100011;\2#10011010;\2#0;",               1, 6, 13,         2#0101110001101, 3, 3) and
561        chkGetBitsLsb("\2#01110101;\2#11100011;\2#10101010;\2#1;",               1, 6, 13,         2#0101110001101, 3, 3) and
562        chkGetBitsLsb("\2#10110101;\2#11000110;\2#01010101;\2#011;",             1, 7, 13,         2#0101110001101, 3, 4) and
563        chkGetBitsLsb("\2#11011001;\2#11000110;\2#10010101;\2#101;",             1, 7, 13,         2#0101110001101, 3, 4) and
564        chkGetBitsLsb("\2#00110111;\2#11011;",                                   1, 0, 13,         2#1101100110111, 2, 5) and
565        chkGetBitsLsb("\2#01101110;\2#0110110;",                                 1, 1, 13,         2#1101100110111, 2, 6) and
566        chkGetBitsLsb("\2#01101111;\2#1110110;",                                 1, 1, 13,         2#1101100110111, 2, 6) and
567        chkGetBitsLsb("\2#11011101;\2#11101100;\2#0;",                           1, 2, 13,         2#1101100110111, 2, 7) and
568        chkGetBitsLsb("\2#11011110;\2#01101100;\2#1;",                           1, 2, 13,         2#1101100110111, 2, 7) and
569        chkGetBitsLsb("\2#10111010;\2#11011001;\2#010;",                         1, 3, 13,         2#1101100110111, 3, 0) and
570        chkGetBitsLsb("\2#10111101;\2#11011001;\2#101;",                         1, 3, 13,         2#1101100110111, 3, 0) and
571        chkGetBitsLsb("\2#01110101;\2#10110011;\2#01011;",                       1, 4, 13,         2#1101100110111, 3, 1) and
572        chkGetBitsLsb("\2#01111011;\2#10110011;\2#10111;",                       1, 4, 13,         2#1101100110111, 3, 1) and
573        chkGetBitsLsb("\2#11101011;\2#01100110;\2#0101111;",                     1, 5, 13,         2#1101100110111, 3, 2) and
574        chkGetBitsLsb("\2#11110011;\2#01100110;\2#1001111;",                     1, 5, 13,         2#1101100110111, 3, 2) and
575        chkGetBitsLsb("\2#11010011;\2#11001101;\2#10011110;\2#0;",               1, 6, 13,         2#1101100110111, 3, 3) and
576        chkGetBitsLsb("\2#11110101;\2#11001101;\2#10101110;\2#1;",               1, 6, 13,         2#1101100110111, 3, 3) and
577        chkGetBitsLsb("\2#10110101;\2#10011011;\2#01011101;\2#011;",             1, 7, 13,         2#1101100110111, 3, 4) and
578        chkGetBitsLsb("\2#11011001;\2#10011011;\2#10011101;\2#101;",             1, 7, 13,         2#1101100110111, 3, 4) and
579        chkGetBitsLsb("\2#00110111;\2#011011;",                                  1, 0, 14,        2#01101100110111, 2, 6) and
580        chkGetBitsLsb("\2#01101110;\2#00110110;",                                1, 1, 14,        2#01101100110111, 2, 7) and
581        chkGetBitsLsb("\2#01101111;\2#10110110;",                                1, 1, 14,        2#01101100110111, 2, 7) and
582        chkGetBitsLsb("\2#11011101;\2#01101100;\2#01;",                          1, 2, 14,        2#01101100110111, 3, 0) and
583        chkGetBitsLsb("\2#11011110;\2#01101100;\2#10;",                          1, 2, 14,        2#01101100110111, 3, 0) and
584        chkGetBitsLsb("\2#10111010;\2#11011001;\2#0100;",                        1, 3, 14,        2#01101100110111, 3, 1) and
585        chkGetBitsLsb("\2#10111101;\2#11011001;\2#1010;",                        1, 3, 14,        2#01101100110111, 3, 1) and
586        chkGetBitsLsb("\2#01110101;\2#10110011;\2#010101;",                      1, 4, 14,        2#01101100110111, 3, 2) and
587        chkGetBitsLsb("\2#01111011;\2#10110011;\2#101101;",                      1, 4, 14,        2#01101100110111, 3, 2) and
588        chkGetBitsLsb("\2#11101011;\2#01100110;\2#01011011;",                    1, 5, 14,        2#01101100110111, 3, 3) and
589        chkGetBitsLsb("\2#11110011;\2#01100110;\2#10011011;",                    1, 5, 14,        2#01101100110111, 3, 3) and
590        chkGetBitsLsb("\2#11010011;\2#11001101;\2#00110110;\2#01;",              1, 6, 14,        2#01101100110111, 3, 4) and
591        chkGetBitsLsb("\2#11110101;\2#11001101;\2#01010110;\2#11;",              1, 6, 14,        2#01101100110111, 3, 4) and
592        chkGetBitsLsb("\2#10110101;\2#10011011;\2#10101101;\2#0110;",            1, 7, 14,        2#01101100110111, 3, 5) and
593        chkGetBitsLsb("\2#11011001;\2#10011011;\2#00101101;\2#1011;",            1, 7, 14,        2#01101100110111, 3, 5) and
594        chkGetBitsLsb("\2#11010101;\2#100110;",                                  1, 0, 14,        2#10011011010101, 2, 6) and
595        chkGetBitsLsb("\2#10101010;\2#01001101;",                                1, 1, 14,        2#10011011010101, 2, 7) and
596        chkGetBitsLsb("\2#10101011;\2#11001101;",                                1, 1, 14,        2#10011011010101, 2, 7) and
597        chkGetBitsLsb("\2#01010101;\2#10011011;\2#01;",                          1, 2, 14,        2#10011011010101, 3, 0) and
598        chkGetBitsLsb("\2#01010110;\2#10011011;\2#10;",                          1, 2, 14,        2#10011011010101, 3, 0) and
599        chkGetBitsLsb("\2#10101010;\2#00110110;\2#0101;",                        1, 3, 14,        2#10011011010101, 3, 1) and
600        chkGetBitsLsb("\2#10101101;\2#00110110;\2#1011;",                        1, 3, 14,        2#10011011010101, 3, 1) and
601        chkGetBitsLsb("\2#01010101;\2#01101101;\2#010110;",                      1, 4, 14,        2#10011011010101, 3, 2) and
602        chkGetBitsLsb("\2#01011011;\2#01101101;\2#101110;",                      1, 4, 14,        2#10011011010101, 3, 2) and
603        chkGetBitsLsb("\2#10101011;\2#11011010;\2#01011100;",                    1, 5, 14,        2#10011011010101, 3, 3) and
604        chkGetBitsLsb("\2#10110011;\2#11011010;\2#10011100;",                    1, 5, 14,        2#10011011010101, 3, 3) and
605        chkGetBitsLsb("\2#01010011;\2#10110101;\2#00111001;\2#01;",              1, 6, 14,        2#10011011010101, 3, 4) and
606        chkGetBitsLsb("\2#01110101;\2#10110101;\2#01011001;\2#11;",              1, 6, 14,        2#10011011010101, 3, 4) and
607        chkGetBitsLsb("\2#10110101;\2#01101010;\2#10110011;\2#0110;",            1, 7, 14,        2#10011011010101, 3, 5) and
608        chkGetBitsLsb("\2#11011001;\2#01101010;\2#00110011;\2#1011;",            1, 7, 14,        2#10011011010101, 3, 5) and
609        chkGetBitsLsb("\2#11010101;\2#0100110;",                                 1, 0, 15,       2#010011011010101, 2, 7) and
610        chkGetBitsLsb("\2#10101010;\2#01001101;\2#0;",                           1, 1, 15,       2#010011011010101, 3, 0) and
611        chkGetBitsLsb("\2#10101011;\2#01001101;\2#1;",                           1, 1, 15,       2#010011011010101, 3, 0) and
612        chkGetBitsLsb("\2#01010101;\2#10011011;\2#010;",                         1, 2, 15,       2#010011011010101, 3, 1) and
613        chkGetBitsLsb("\2#01010110;\2#10011011;\2#100;",                         1, 2, 15,       2#010011011010101, 3, 1) and
614        chkGetBitsLsb("\2#10101010;\2#00110110;\2#01001;",                       1, 3, 15,       2#010011011010101, 3, 2) and
615        chkGetBitsLsb("\2#10101101;\2#00110110;\2#10101;",                       1, 3, 15,       2#010011011010101, 3, 2) and
616        chkGetBitsLsb("\2#01010101;\2#01101101;\2#0101010;",                     1, 4, 15,       2#010011011010101, 3, 3) and
617        chkGetBitsLsb("\2#01011011;\2#01101101;\2#1011010;",                     1, 4, 15,       2#010011011010101, 3, 3) and
618        chkGetBitsLsb("\2#10101011;\2#11011010;\2#10110100;\2#0;",               1, 5, 15,       2#010011011010101, 3, 4) and
619        chkGetBitsLsb("\2#10110011;\2#11011010;\2#00110100;\2#1;",               1, 5, 15,       2#010011011010101, 3, 4) and
620        chkGetBitsLsb("\2#01010011;\2#10110101;\2#01101001;\2#010;",             1, 6, 15,       2#010011011010101, 3, 5) and
621        chkGetBitsLsb("\2#01110101;\2#10110101;\2#10101001;\2#110;",             1, 6, 15,       2#010011011010101, 3, 5) and
622        chkGetBitsLsb("\2#10110101;\2#01101010;\2#01010011;\2#01101;",           1, 7, 15,       2#010011011010101, 3, 6) and
623        chkGetBitsLsb("\2#11011001;\2#01101010;\2#01010011;\2#10110;",           1, 7, 15,       2#010011011010101, 3, 6) and
624        chkGetBitsLsb("\2#11011001;\2#1001011;",                                 1, 0, 15,       2#100101111011001, 2, 7) and
625        chkGetBitsLsb("\2#10110010;\2#10010111;\2#0;",                           1, 1, 15,       2#100101111011001, 3, 0) and
626        chkGetBitsLsb("\2#10110011;\2#10010111;\2#1;",                           1, 1, 15,       2#100101111011001, 3, 0) and
627        chkGetBitsLsb("\2#01100101;\2#00101111;\2#011;",                         1, 2, 15,       2#100101111011001, 3, 1) and
628        chkGetBitsLsb("\2#01100110;\2#00101111;\2#101;",                         1, 2, 15,       2#100101111011001, 3, 1) and
629        chkGetBitsLsb("\2#11001010;\2#01011110;\2#01010;",                       1, 3, 15,       2#100101111011001, 3, 2) and
630        chkGetBitsLsb("\2#11001101;\2#01011110;\2#10110;",                       1, 3, 15,       2#100101111011001, 3, 2) and
631        chkGetBitsLsb("\2#10010101;\2#10111101;\2#0101100;",                     1, 4, 15,       2#100101111011001, 3, 3) and
632        chkGetBitsLsb("\2#10011011;\2#10111101;\2#1011100;",                     1, 4, 15,       2#100101111011001, 3, 3) and
633        chkGetBitsLsb("\2#00101011;\2#01111011;\2#10111001;\2#0;",               1, 5, 15,       2#100101111011001, 3, 4) and
634        chkGetBitsLsb("\2#00110011;\2#01111011;\2#00111001;\2#1;",               1, 5, 15,       2#100101111011001, 3, 4) and
635        chkGetBitsLsb("\2#01010011;\2#11110110;\2#01110010;\2#010;",             1, 6, 15,       2#100101111011001, 3, 5) and
636        chkGetBitsLsb("\2#01110101;\2#11110110;\2#10110010;\2#110;",             1, 6, 15,       2#100101111011001, 3, 5) and
637        chkGetBitsLsb("\2#10110101;\2#11101100;\2#01100101;\2#01101;",           1, 7, 15,       2#100101111011001, 3, 6) and
638        chkGetBitsLsb("\2#11011001;\2#11101100;\2#01100101;\2#10110;",           1, 7, 15,       2#100101111011001, 3, 6) and
639        chkGetBitsLsb("\2#11011001;\2#01001011;",                                1, 0, 16,      2#0100101111011001, 3, 0) and
640        chkGetBitsLsb("\2#10110010;\2#10010111;\2#00;",                          1, 1, 16,      2#0100101111011001, 3, 1) and
641        chkGetBitsLsb("\2#10110011;\2#10010111;\2#10;",                          1, 1, 16,      2#0100101111011001, 3, 1) and
642        chkGetBitsLsb("\2#01100101;\2#00101111;\2#0101;",                        1, 2, 16,      2#0100101111011001, 3, 2) and
643        chkGetBitsLsb("\2#01100110;\2#00101111;\2#1001;",                        1, 2, 16,      2#0100101111011001, 3, 2) and
644        chkGetBitsLsb("\2#11001010;\2#01011110;\2#010010;",                      1, 3, 16,      2#0100101111011001, 3, 3) and
645        chkGetBitsLsb("\2#11001101;\2#01011110;\2#101010;",                      1, 3, 16,      2#0100101111011001, 3, 3) and
646        chkGetBitsLsb("\2#10010101;\2#10111101;\2#01010100;",                    1, 4, 16,      2#0100101111011001, 3, 4) and
647        chkGetBitsLsb("\2#10011011;\2#10111101;\2#10110100;",                    1, 4, 16,      2#0100101111011001, 3, 4) and
648        chkGetBitsLsb("\2#00101011;\2#01111011;\2#01101001;\2#01;",              1, 5, 16,      2#0100101111011001, 3, 5) and
649        chkGetBitsLsb("\2#00110011;\2#01111011;\2#01101001;\2#10;",              1, 5, 16,      2#0100101111011001, 3, 5) and
650        chkGetBitsLsb("\2#01010011;\2#11110110;\2#11010010;\2#0100;",            1, 6, 16,      2#0100101111011001, 3, 6) and
651        chkGetBitsLsb("\2#01110101;\2#11110110;\2#01010010;\2#1101;",            1, 6, 16,      2#0100101111011001, 3, 6) and
652        chkGetBitsLsb("\2#10110101;\2#11101100;\2#10100101;\2#011010;",          1, 7, 16,      2#0100101111011001, 3, 7) and
653        chkGetBitsLsb("\2#11011001;\2#11101100;\2#10100101;\2#101100;",          1, 7, 16,      2#0100101111011001, 3, 7) and
654        chkGetBitsLsb("\2#01100111;\2#11011000;",                                1, 0, 16,      2#1101100001100111, 3, 0) and
655        chkGetBitsLsb("\2#11001110;\2#10110000;\2#01;",                          1, 1, 16,      2#1101100001100111, 3, 1) and
656        chkGetBitsLsb("\2#11001111;\2#10110000;\2#11;",                          1, 1, 16,      2#1101100001100111, 3, 1) and
657        chkGetBitsLsb("\2#10011101;\2#01100001;\2#0111;",                        1, 2, 16,      2#1101100001100111, 3, 2) and
658        chkGetBitsLsb("\2#10011110;\2#01100001;\2#1011;",                        1, 2, 16,      2#1101100001100111, 3, 2) and
659        chkGetBitsLsb("\2#00111010;\2#11000011;\2#010110;",                      1, 3, 16,      2#1101100001100111, 3, 3) and
660        chkGetBitsLsb("\2#00111101;\2#11000011;\2#101110;",                      1, 3, 16,      2#1101100001100111, 3, 3) and
661        chkGetBitsLsb("\2#01110101;\2#10000110;\2#01011101;",                    1, 4, 16,      2#1101100001100111, 3, 4) and
662        chkGetBitsLsb("\2#01111011;\2#10000110;\2#10111101;",                    1, 4, 16,      2#1101100001100111, 3, 4) and
663        chkGetBitsLsb("\2#11101011;\2#00001100;\2#01111011;\2#01;",              1, 5, 16,      2#1101100001100111, 3, 5) and
664        chkGetBitsLsb("\2#11110011;\2#00001100;\2#01111011;\2#10;",              1, 5, 16,      2#1101100001100111, 3, 5) and
665        chkGetBitsLsb("\2#11010011;\2#00011001;\2#11110110;\2#0100;",            1, 6, 16,      2#1101100001100111, 3, 6) and
666        chkGetBitsLsb("\2#11110101;\2#00011001;\2#01110110;\2#1101;",            1, 6, 16,      2#1101100001100111, 3, 6) and
667        chkGetBitsLsb("\2#10110101;\2#00110011;\2#11101100;\2#011010;",          1, 7, 16,      2#1101100001100111, 3, 7) and
668        chkGetBitsLsb("\2#11011001;\2#00110011;\2#11101100;\2#101100;",          1, 7, 16,      2#1101100001100111, 3, 7) and
669        chkGetBitsLsb("\2#01100111;\2#11011000;\2#0;",                           1, 0, 17,     2#01101100001100111, 3, 1) and
670        chkGetBitsLsb("\2#11001110;\2#10110000;\2#001;",                         1, 1, 17,     2#01101100001100111, 3, 2) and
671        chkGetBitsLsb("\2#11001111;\2#10110000;\2#101;",                         1, 1, 17,     2#01101100001100111, 3, 2) and
672        chkGetBitsLsb("\2#10011101;\2#01100001;\2#01011;",                       1, 2, 17,     2#01101100001100111, 3, 3) and
673        chkGetBitsLsb("\2#10011110;\2#01100001;\2#10011;",                       1, 2, 17,     2#01101100001100111, 3, 3) and
674        chkGetBitsLsb("\2#00111010;\2#11000011;\2#0100110;",                     1, 3, 17,     2#01101100001100111, 3, 4) and
675        chkGetBitsLsb("\2#00111101;\2#11000011;\2#1010110;",                     1, 3, 17,     2#01101100001100111, 3, 4) and
676        chkGetBitsLsb("\2#01110101;\2#10000110;\2#10101101;\2#0;",               1, 4, 17,     2#01101100001100111, 3, 5) and
677        chkGetBitsLsb("\2#01111011;\2#10000110;\2#01101101;\2#1;",               1, 4, 17,     2#01101100001100111, 3, 5) and
678        chkGetBitsLsb("\2#11101011;\2#00001100;\2#11011011;\2#010;",             1, 5, 17,     2#01101100001100111, 3, 6) and
679        chkGetBitsLsb("\2#11110011;\2#00001100;\2#11011011;\2#100;",             1, 5, 17,     2#01101100001100111, 3, 6) and
680        chkGetBitsLsb("\2#11010011;\2#00011001;\2#10110110;\2#01001;",           1, 6, 17,     2#01101100001100111, 3, 7) and
681        chkGetBitsLsb("\2#11110101;\2#00011001;\2#10110110;\2#11010;",           1, 6, 17,     2#01101100001100111, 3, 7) and
682        chkGetBitsLsb("\2#10110101;\2#00110011;\2#01101100;\2#0110101;",         1, 7, 17,     2#01101100001100111, 4, 0) and
683        chkGetBitsLsb("\2#11011001;\2#00110011;\2#01101100;\2#1011001;",         1, 7, 17,     2#01101100001100111, 4, 0) and
684        chkGetBitsLsb("\2#10011101;\2#01000101;\2#1;",                           1, 0, 17,     2#10100010110011101, 3, 1) and
685        chkGetBitsLsb("\2#00111010;\2#10001011;\2#010;",                         1, 1, 17,     2#10100010110011101, 3, 2) and
686        chkGetBitsLsb("\2#00111011;\2#10001011;\2#110;",                         1, 1, 17,     2#10100010110011101, 3, 2) and
687        chkGetBitsLsb("\2#01110101;\2#00010110;\2#01101;",                       1, 2, 17,     2#10100010110011101, 3, 3) and
688        chkGetBitsLsb("\2#01110110;\2#00010110;\2#10101;",                       1, 2, 17,     2#10100010110011101, 3, 3) and
689        chkGetBitsLsb("\2#11101010;\2#00101100;\2#0101010;",                     1, 3, 17,     2#10100010110011101, 3, 4) and
690        chkGetBitsLsb("\2#11101101;\2#00101100;\2#1011010;",                     1, 3, 17,     2#10100010110011101, 3, 4) and
691        chkGetBitsLsb("\2#11010101;\2#01011001;\2#10110100;\2#0;",               1, 4, 17,     2#10100010110011101, 3, 5) and
692        chkGetBitsLsb("\2#11011011;\2#01011001;\2#01110100;\2#1;",               1, 4, 17,     2#10100010110011101, 3, 5) and
693        chkGetBitsLsb("\2#10101011;\2#10110011;\2#11101000;\2#010;",             1, 5, 17,     2#10100010110011101, 3, 6) and
694        chkGetBitsLsb("\2#10110011;\2#10110011;\2#11101000;\2#100;",             1, 5, 17,     2#10100010110011101, 3, 6) and
695        chkGetBitsLsb("\2#01010011;\2#01100111;\2#11010001;\2#01001;",           1, 6, 17,     2#10100010110011101, 3, 7) and
696        chkGetBitsLsb("\2#01110101;\2#01100111;\2#11010001;\2#11010;",           1, 6, 17,     2#10100010110011101, 3, 7) and
697        chkGetBitsLsb("\2#10110101;\2#11001110;\2#10100010;\2#0110101;",         1, 7, 17,     2#10100010110011101, 4, 0) and
698        chkGetBitsLsb("\2#11011001;\2#11001110;\2#10100010;\2#1011001;",         1, 7, 17,     2#10100010110011101, 4, 0) and
699        chkGetBitsLsb("\2#10011101;\2#01000101;\2#01;",                          1, 0, 18,    2#010100010110011101, 3, 2) and
700        chkGetBitsLsb("\2#00111010;\2#10001011;\2#0010;",                        1, 1, 18,    2#010100010110011101, 3, 3) and
701        chkGetBitsLsb("\2#00111011;\2#10001011;\2#1010;",                        1, 1, 18,    2#010100010110011101, 3, 3) and
702        chkGetBitsLsb("\2#01110101;\2#00010110;\2#010101;",                      1, 2, 18,    2#010100010110011101, 3, 4) and
703        chkGetBitsLsb("\2#01110110;\2#00010110;\2#100101;",                      1, 2, 18,    2#010100010110011101, 3, 4) and
704        chkGetBitsLsb("\2#11101010;\2#00101100;\2#01001010;",                    1, 3, 18,    2#010100010110011101, 3, 5) and
705        chkGetBitsLsb("\2#11101101;\2#00101100;\2#10101010;",                    1, 3, 18,    2#010100010110011101, 3, 5) and
706        chkGetBitsLsb("\2#11010101;\2#01011001;\2#01010100;\2#01;",              1, 4, 18,    2#010100010110011101, 3, 6) and
707        chkGetBitsLsb("\2#11011011;\2#01011001;\2#11010100;\2#10;",              1, 4, 18,    2#010100010110011101, 3, 6) and
708        chkGetBitsLsb("\2#10101011;\2#10110011;\2#10101000;\2#0101;",            1, 5, 18,    2#010100010110011101, 3, 7) and
709        chkGetBitsLsb("\2#10110011;\2#10110011;\2#10101000;\2#1001;",            1, 5, 18,    2#010100010110011101, 3, 7) and
710        chkGetBitsLsb("\2#01010011;\2#01100111;\2#01010001;\2#010011;",          1, 6, 18,    2#010100010110011101, 4, 0) and
711        chkGetBitsLsb("\2#01110101;\2#01100111;\2#01010001;\2#110101;",          1, 6, 18,    2#010100010110011101, 4, 0) and
712        chkGetBitsLsb("\2#10110101;\2#11001110;\2#10100010;\2#01101010;",        1, 7, 18,    2#010100010110011101, 4, 1) and
713        chkGetBitsLsb("\2#11011001;\2#11001110;\2#10100010;\2#10110010;",        1, 7, 18,    2#010100010110011101, 4, 1) and
714        chkGetBitsLsb("\2#11011101;\2#10010100;\2#10;",                          1, 0, 18,    2#101001010011011101, 3, 2) and
715        chkGetBitsLsb("\2#10111010;\2#00101001;\2#0101;",                        1, 1, 18,    2#101001010011011101, 3, 3) and
716        chkGetBitsLsb("\2#10111011;\2#00101001;\2#1101;",                        1, 1, 18,    2#101001010011011101, 3, 3) and
717        chkGetBitsLsb("\2#01110101;\2#01010011;\2#011010;",                      1, 2, 18,    2#101001010011011101, 3, 4) and
718        chkGetBitsLsb("\2#01110110;\2#01010011;\2#101010;",                      1, 2, 18,    2#101001010011011101, 3, 4) and
719        chkGetBitsLsb("\2#11101010;\2#10100110;\2#01010100;",                    1, 3, 18,    2#101001010011011101, 3, 5) and
720        chkGetBitsLsb("\2#11101101;\2#10100110;\2#10110100;",                    1, 3, 18,    2#101001010011011101, 3, 5) and
721        chkGetBitsLsb("\2#11010101;\2#01001101;\2#01101001;\2#01;",              1, 4, 18,    2#101001010011011101, 3, 6) and
722        chkGetBitsLsb("\2#11011011;\2#01001101;\2#11101001;\2#10;",              1, 4, 18,    2#101001010011011101, 3, 6) and
723        chkGetBitsLsb("\2#10101011;\2#10011011;\2#11010010;\2#0101;",            1, 5, 18,    2#101001010011011101, 3, 7) and
724        chkGetBitsLsb("\2#10110011;\2#10011011;\2#11010010;\2#1001;",            1, 5, 18,    2#101001010011011101, 3, 7) and
725        chkGetBitsLsb("\2#01010011;\2#00110111;\2#10100101;\2#010011;",          1, 6, 18,    2#101001010011011101, 4, 0) and
726        chkGetBitsLsb("\2#01110101;\2#00110111;\2#10100101;\2#110101;",          1, 6, 18,    2#101001010011011101, 4, 0) and
727        chkGetBitsLsb("\2#10110101;\2#01101110;\2#01001010;\2#01101011;",        1, 7, 18,    2#101001010011011101, 4, 1) and
728        chkGetBitsLsb("\2#11011001;\2#01101110;\2#01001010;\2#10110011;",        1, 7, 18,    2#101001010011011101, 4, 1) and
729        chkGetBitsLsb("\2#11011101;\2#10010100;\2#010;",                         1, 0, 19,   2#0101001010011011101, 3, 3) and
730        chkGetBitsLsb("\2#10111010;\2#00101001;\2#00101;",                       1, 1, 19,   2#0101001010011011101, 3, 4) and
731        chkGetBitsLsb("\2#10111011;\2#00101001;\2#10101;",                       1, 1, 19,   2#0101001010011011101, 3, 4) and
732        chkGetBitsLsb("\2#01110101;\2#01010011;\2#0101010;",                     1, 2, 19,   2#0101001010011011101, 3, 5) and
733        chkGetBitsLsb("\2#01110110;\2#01010011;\2#1001010;",                     1, 2, 19,   2#0101001010011011101, 3, 5) and
734        chkGetBitsLsb("\2#11101010;\2#10100110;\2#10010100;\2#0;",               1, 3, 19,   2#0101001010011011101, 3, 6) and
735        chkGetBitsLsb("\2#11101101;\2#10100110;\2#01010100;\2#1;",               1, 3, 19,   2#0101001010011011101, 3, 6) and
736        chkGetBitsLsb("\2#11010101;\2#01001101;\2#10101001;\2#010;",             1, 4, 19,   2#0101001010011011101, 3, 7) and
737        chkGetBitsLsb("\2#11011011;\2#01001101;\2#10101001;\2#101;",             1, 4, 19,   2#0101001010011011101, 3, 7) and
738        chkGetBitsLsb("\2#10101011;\2#10011011;\2#01010010;\2#01011;",           1, 5, 19,   2#0101001010011011101, 4, 0) and
739        chkGetBitsLsb("\2#10110011;\2#10011011;\2#01010010;\2#10011;",           1, 5, 19,   2#0101001010011011101, 4, 0) and
740        chkGetBitsLsb("\2#01010011;\2#00110111;\2#10100101;\2#0100110;",         1, 6, 19,   2#0101001010011011101, 4, 1) and
741        chkGetBitsLsb("\2#01110101;\2#00110111;\2#10100101;\2#1101010;",         1, 6, 19,   2#0101001010011011101, 4, 1) and
742        chkGetBitsLsb("\2#10110101;\2#01101110;\2#01001010;\2#11010101;\2#0;",   1, 7, 19,   2#0101001010011011101, 4, 2) and
743        chkGetBitsLsb("\2#11011001;\2#01101110;\2#01001010;\2#01100101;\2#1;",   1, 7, 19,   2#0101001010011011101, 4, 2) and
744        chkGetBitsLsb("\2#11001001;\2#11011001;\2#110;",                         1, 0, 19,   2#1101101100111001001, 3, 3) and
745        chkGetBitsLsb("\2#10010010;\2#10110011;\2#01101;",                       1, 1, 19,   2#1101101100111001001, 3, 4) and
746        chkGetBitsLsb("\2#10010011;\2#10110011;\2#11101;",                       1, 1, 19,   2#1101101100111001001, 3, 4) and
747        chkGetBitsLsb("\2#00100101;\2#01100111;\2#0111011;",                     1, 2, 19,   2#1101101100111001001, 3, 5) and
748        chkGetBitsLsb("\2#00100110;\2#01100111;\2#1011011;",                     1, 2, 19,   2#1101101100111001001, 3, 5) and
749        chkGetBitsLsb("\2#01001010;\2#11001110;\2#10110110;\2#0;",               1, 3, 19,   2#1101101100111001001, 3, 6) and
750        chkGetBitsLsb("\2#01001101;\2#11001110;\2#01110110;\2#1;",               1, 3, 19,   2#1101101100111001001, 3, 6) and
751        chkGetBitsLsb("\2#10010101;\2#10011100;\2#11101101;\2#010;",             1, 4, 19,   2#1101101100111001001, 3, 7) and
752        chkGetBitsLsb("\2#10011011;\2#10011100;\2#11101101;\2#101;",             1, 4, 19,   2#1101101100111001001, 3, 7) and
753        chkGetBitsLsb("\2#00101011;\2#00111001;\2#11011011;\2#01011;",           1, 5, 19,   2#1101101100111001001, 4, 0) and
754        chkGetBitsLsb("\2#00110011;\2#00111001;\2#11011011;\2#10011;",           1, 5, 19,   2#1101101100111001001, 4, 0) and
755        chkGetBitsLsb("\2#01010011;\2#01110010;\2#10110110;\2#0100111;",         1, 6, 19,   2#1101101100111001001, 4, 1) and
756        chkGetBitsLsb("\2#01110101;\2#01110010;\2#10110110;\2#1101011;",         1, 6, 19,   2#1101101100111001001, 4, 1) and
757        chkGetBitsLsb("\2#10110101;\2#11100100;\2#01101100;\2#11010111;\2#0;",   1, 7, 19,   2#1101101100111001001, 4, 2) and
758        chkGetBitsLsb("\2#11011001;\2#11100100;\2#01101100;\2#01100111;\2#1;",   1, 7, 19,   2#1101101100111001001, 4, 2) and
759        chkGetBitsLsb("\2#11001001;\2#11011001;\2#0110;",                        1, 0, 20,  2#01101101100111001001, 3, 4) and
760        chkGetBitsLsb("\2#10010010;\2#10110011;\2#001101;",                      1, 1, 20,  2#01101101100111001001, 3, 5) and
761        chkGetBitsLsb("\2#10010011;\2#10110011;\2#101101;",                      1, 1, 20,  2#01101101100111001001, 3, 5) and
762        chkGetBitsLsb("\2#00100101;\2#01100111;\2#01011011;",                    1, 2, 20,  2#01101101100111001001, 3, 6) and
763        chkGetBitsLsb("\2#00100110;\2#01100111;\2#10011011;",                    1, 2, 20,  2#01101101100111001001, 3, 6) and
764        chkGetBitsLsb("\2#01001010;\2#11001110;\2#00110110;\2#01;",              1, 3, 20,  2#01101101100111001001, 3, 7) and
765        chkGetBitsLsb("\2#01001101;\2#11001110;\2#10110110;\2#10;",              1, 3, 20,  2#01101101100111001001, 3, 7) and
766        chkGetBitsLsb("\2#10010101;\2#10011100;\2#01101101;\2#0101;",            1, 4, 20,  2#01101101100111001001, 4, 0) and
767        chkGetBitsLsb("\2#10011011;\2#10011100;\2#01101101;\2#1011;",            1, 4, 20,  2#01101101100111001001, 4, 0) and
768        chkGetBitsLsb("\2#00101011;\2#00111001;\2#11011011;\2#010110;",          1, 5, 20,  2#01101101100111001001, 4, 1) and
769        chkGetBitsLsb("\2#00110011;\2#00111001;\2#11011011;\2#100110;",          1, 5, 20,  2#01101101100111001001, 4, 1) and
770        chkGetBitsLsb("\2#01010011;\2#01110010;\2#10110110;\2#01001101;",        1, 6, 20,  2#01101101100111001001, 4, 2) and
771        chkGetBitsLsb("\2#01110101;\2#01110010;\2#10110110;\2#11010101;",        1, 6, 20,  2#01101101100111001001, 4, 2) and
772        chkGetBitsLsb("\2#10110101;\2#11100100;\2#01101100;\2#10101011;\2#01;",  1, 7, 20,  2#01101101100111001001, 4, 3) and
773        chkGetBitsLsb("\2#11011001;\2#11100100;\2#01101100;\2#11001011;\2#10;",  1, 7, 20,  2#01101101100111001001, 4, 3) and
774        chkGetBitsLsb("\2#11001001;\2#01111110;\2#1110;",                        1, 0, 20,  2#11100111111011001001, 3, 4) and
775        chkGetBitsLsb("\2#10010010;\2#11111101;\2#011100;",                      1, 1, 20,  2#11100111111011001001, 3, 5) and
776        chkGetBitsLsb("\2#10010011;\2#11111101;\2#111100;",                      1, 1, 20,  2#11100111111011001001, 3, 5) and
777        chkGetBitsLsb("\2#00100101;\2#11111011;\2#01111001;",                    1, 2, 20,  2#11100111111011001001, 3, 6) and
778        chkGetBitsLsb("\2#00100110;\2#11111011;\2#10111001;",                    1, 2, 20,  2#11100111111011001001, 3, 6) and
779        chkGetBitsLsb("\2#01001010;\2#11110110;\2#01110011;\2#01;",              1, 3, 20,  2#11100111111011001001, 3, 7) and
780        chkGetBitsLsb("\2#01001101;\2#11110110;\2#11110011;\2#10;",              1, 3, 20,  2#11100111111011001001, 3, 7) and
781        chkGetBitsLsb("\2#10010101;\2#11101100;\2#11100111;\2#0101;",            1, 4, 20,  2#11100111111011001001, 4, 0) and
782        chkGetBitsLsb("\2#10011011;\2#11101100;\2#11100111;\2#1011;",            1, 4, 20,  2#11100111111011001001, 4, 0) and
783        chkGetBitsLsb("\2#00101011;\2#11011001;\2#11001111;\2#010111;",          1, 5, 20,  2#11100111111011001001, 4, 1) and
784        chkGetBitsLsb("\2#00110011;\2#11011001;\2#11001111;\2#100111;",          1, 5, 20,  2#11100111111011001001, 4, 1) and
785        chkGetBitsLsb("\2#01010011;\2#10110010;\2#10011111;\2#01001111;",        1, 6, 20,  2#11100111111011001001, 4, 2) and
786        chkGetBitsLsb("\2#01110101;\2#10110010;\2#10011111;\2#11010111;",        1, 6, 20,  2#11100111111011001001, 4, 2) and
787        chkGetBitsLsb("\2#10110101;\2#01100100;\2#00111111;\2#10101111;\2#01;",  1, 7, 20,  2#11100111111011001001, 4, 3) and
788        chkGetBitsLsb("\2#11011001;\2#01100100;\2#00111111;\2#11001111;\2#10;",  1, 7, 20,  2#11100111111011001001, 4, 3) and
789        chkGetBitsLsb("\2#11001001;\2#01111110;\2#01110;",                       1, 0, 21, 2#011100111111011001001, 3, 5) and
790        chkGetBitsLsb("\2#10010010;\2#11111101;\2#0011100;",                     1, 1, 21, 2#011100111111011001001, 3, 6) and
791        chkGetBitsLsb("\2#10010011;\2#11111101;\2#1011100;",                     1, 1, 21, 2#011100111111011001001, 3, 6) and
792        chkGetBitsLsb("\2#00100101;\2#11111011;\2#10111001;\2#0;",               1, 2, 21, 2#011100111111011001001, 3, 7) and
793        chkGetBitsLsb("\2#00100110;\2#11111011;\2#00111001;\2#1;",               1, 2, 21, 2#011100111111011001001, 3, 7) and
794        chkGetBitsLsb("\2#01001010;\2#11110110;\2#01110011;\2#010;",             1, 3, 21, 2#011100111111011001001, 4, 0) and
795        chkGetBitsLsb("\2#01001101;\2#11110110;\2#01110011;\2#101;",             1, 3, 21, 2#011100111111011001001, 4, 0) and
796        chkGetBitsLsb("\2#10010101;\2#11101100;\2#11100111;\2#01010;",           1, 4, 21, 2#011100111111011001001, 4, 1) and
797        chkGetBitsLsb("\2#10011011;\2#11101100;\2#11100111;\2#10110;",           1, 4, 21, 2#011100111111011001001, 4, 1) and
798        chkGetBitsLsb("\2#00101011;\2#11011001;\2#11001111;\2#0101101;",         1, 5, 21, 2#011100111111011001001, 4, 2) and
799        chkGetBitsLsb("\2#00110011;\2#11011001;\2#11001111;\2#1001101;",         1, 5, 21, 2#011100111111011001001, 4, 2) and
800        chkGetBitsLsb("\2#01010011;\2#10110010;\2#10011111;\2#10011011;\2#0;",   1, 6, 21, 2#011100111111011001001, 4, 3) and
801        chkGetBitsLsb("\2#01110101;\2#10110010;\2#10011111;\2#10101011;\2#1;",   1, 6, 21, 2#011100111111011001001, 4, 3) and
802        chkGetBitsLsb("\2#10110101;\2#01100100;\2#00111111;\2#01010111;\2#011;", 1, 7, 21, 2#011100111111011001001, 4, 4) and
803        chkGetBitsLsb("\2#11011001;\2#01100100;\2#00111111;\2#10010111;\2#101;", 1, 7, 21, 2#011100111111011001001, 4, 4) and
804        chkGetBitsLsb("\2#11000111;\2#00100101;\2#10100;",                       1, 0, 21, 2#101000010010111000111, 3, 5) and
805        chkGetBitsLsb("\2#10001110;\2#01001011;\2#0101000;",                     1, 1, 21, 2#101000010010111000111, 3, 6) and
806        chkGetBitsLsb("\2#10001111;\2#01001011;\2#1101000;",                     1, 1, 21, 2#101000010010111000111, 3, 6) and
807        chkGetBitsLsb("\2#00011101;\2#10010111;\2#11010000;\2#0;",               1, 2, 21, 2#101000010010111000111, 3, 7) and
808        chkGetBitsLsb("\2#00011110;\2#10010111;\2#01010000;\2#1;",               1, 2, 21, 2#101000010010111000111, 3, 7) and
809        chkGetBitsLsb("\2#00111010;\2#00101110;\2#10100001;\2#010;",             1, 3, 21, 2#101000010010111000111, 4, 0) and
810        chkGetBitsLsb("\2#00111101;\2#00101110;\2#10100001;\2#101;",             1, 3, 21, 2#101000010010111000111, 4, 0) and
811        chkGetBitsLsb("\2#01110101;\2#01011100;\2#01000010;\2#01011;",           1, 4, 21, 2#101000010010111000111, 4, 1) and
812        chkGetBitsLsb("\2#01111011;\2#01011100;\2#01000010;\2#10111;",           1, 4, 21, 2#101000010010111000111, 4, 1) and
813        chkGetBitsLsb("\2#11101011;\2#10111000;\2#10000100;\2#0101110;",         1, 5, 21, 2#101000010010111000111, 4, 2) and
814        chkGetBitsLsb("\2#11110011;\2#10111000;\2#10000100;\2#1001110;",         1, 5, 21, 2#101000010010111000111, 4, 2) and
815        chkGetBitsLsb("\2#11010011;\2#01110001;\2#00001001;\2#10011101;\2#0;",   1, 6, 21, 2#101000010010111000111, 4, 3) and
816        chkGetBitsLsb("\2#11110101;\2#01110001;\2#00001001;\2#10101101;\2#1;",   1, 6, 21, 2#101000010010111000111, 4, 3) and
817        chkGetBitsLsb("\2#10110101;\2#11100011;\2#00010010;\2#01011010;\2#011;", 1, 7, 21, 2#101000010010111000111, 4, 4) and
818        chkGetBitsLsb("\2#11011001;\2#11100011;\2#00010010;\2#10011010;\2#101;", 1, 7, 21, 2#101000010010111000111, 4, 4) then
819      writeln("getBitsLsb works correct.");
820    end if;
821  end func;
822
823
824const func boolean: chkPeekBitsLsb (in string: stri, in integer: bytePos,
825    in integer: bitPos, in integer: bitsNeeded, in integer: bitsExpected) is func
826  result
827    var boolean: okay is TRUE;
828  local
829    var integer: bits is 0;
830    var char: ch is ' ';
831  begin
832    bits := peekBitsLsb(stri, bytePos, bitPos, bitsNeeded);
833    if bits <> bitsExpected then
834      okay := FALSE;
835      write("peekBitsLsb(\"");
836      for ch range stri do
837        write("\\2#" <& ord(ch) radix 2 <& ";");
838      end for;
839      writeln("\", " <& bytePos <& ", " <& bitPos <& ", " <& bitsNeeded <& ")");
840      writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
841    end if;
842  end func;
843
844
845const proc: chkPeekBitsLsb is func
846  begin
847    if  chkPeekBitsLsb("\2#0;",                                                   1, 0,  1,                     2#0) and
848        chkPeekBitsLsb("\2#000;",                                                 1, 1,  1,                     2#0) and
849        chkPeekBitsLsb("\2#101;",                                                 1, 1,  1,                     2#0) and
850        chkPeekBitsLsb("\2#01001;",                                               1, 2,  1,                     2#0) and
851        chkPeekBitsLsb("\2#10010;",                                               1, 2,  1,                     2#0) and
852        chkPeekBitsLsb("\2#0100010;",                                             1, 3,  1,                     2#0) and
853        chkPeekBitsLsb("\2#1010101;",                                             1, 3,  1,                     2#0) and
854        chkPeekBitsLsb("\2#10100101;\2#0;",                                       1, 4,  1,                     2#0) and
855        chkPeekBitsLsb("\2#01101011;\2#1;",                                       1, 4,  1,                     2#0) and
856        chkPeekBitsLsb("\2#11001011;\2#010;",                                     1, 5,  1,                     2#0) and
857        chkPeekBitsLsb("\2#11010011;\2#100;",                                     1, 5,  1,                     2#0) and
858        chkPeekBitsLsb("\2#10010011;\2#01001;",                                   1, 6,  1,                     2#0) and
859        chkPeekBitsLsb("\2#10110101;\2#11010;",                                   1, 6,  1,                     2#0) and
860        chkPeekBitsLsb("\2#00110101;\2#0110101;",                                 1, 7,  1,                     2#0) and
861        chkPeekBitsLsb("\2#01011001;\2#1011001;",                                 1, 7,  1,                     2#0) and
862        chkPeekBitsLsb("\2#1;",                                                   1, 0,  1,                     2#1) and
863        chkPeekBitsLsb("\2#010;",                                                 1, 1,  1,                     2#1) and
864        chkPeekBitsLsb("\2#111;",                                                 1, 1,  1,                     2#1) and
865        chkPeekBitsLsb("\2#01101;",                                               1, 2,  1,                     2#1) and
866        chkPeekBitsLsb("\2#10110;",                                               1, 2,  1,                     2#1) and
867        chkPeekBitsLsb("\2#0101010;",                                             1, 3,  1,                     2#1) and
868        chkPeekBitsLsb("\2#1011101;",                                             1, 3,  1,                     2#1) and
869        chkPeekBitsLsb("\2#10110101;\2#0;",                                       1, 4,  1,                     2#1) and
870        chkPeekBitsLsb("\2#01111011;\2#1;",                                       1, 4,  1,                     2#1) and
871        chkPeekBitsLsb("\2#11101011;\2#010;",                                     1, 5,  1,                     2#1) and
872        chkPeekBitsLsb("\2#11110011;\2#100;",                                     1, 5,  1,                     2#1) and
873        chkPeekBitsLsb("\2#11010011;\2#01001;",                                   1, 6,  1,                     2#1) and
874        chkPeekBitsLsb("\2#11110101;\2#11010;",                                   1, 6,  1,                     2#1) and
875        chkPeekBitsLsb("\2#10110101;\2#0110101;",                                 1, 7,  1,                     2#1) and
876        chkPeekBitsLsb("\2#11011001;\2#1011001;",                                 1, 7,  1,                     2#1) and
877        chkPeekBitsLsb("\2#01;",                                                  1, 0,  2,                    2#01) and
878        chkPeekBitsLsb("\2#0010;",                                                1, 1,  2,                    2#01) and
879        chkPeekBitsLsb("\2#1011;",                                                1, 1,  2,                    2#01) and
880        chkPeekBitsLsb("\2#010101;",                                              1, 2,  2,                    2#01) and
881        chkPeekBitsLsb("\2#100110;",                                              1, 2,  2,                    2#01) and
882        chkPeekBitsLsb("\2#01001010;",                                            1, 3,  2,                    2#01) and
883        chkPeekBitsLsb("\2#10101101;",                                            1, 3,  2,                    2#01) and
884        chkPeekBitsLsb("\2#01010101;\2#01;",                                      1, 4,  2,                    2#01) and
885        chkPeekBitsLsb("\2#11011011;\2#10;",                                      1, 4,  2,                    2#01) and
886        chkPeekBitsLsb("\2#10101011;\2#0101;",                                    1, 5,  2,                    2#01) and
887        chkPeekBitsLsb("\2#10110011;\2#1001;",                                    1, 5,  2,                    2#01) and
888        chkPeekBitsLsb("\2#01010011;\2#010011;",                                  1, 6,  2,                    2#01) and
889        chkPeekBitsLsb("\2#01110101;\2#110101;",                                  1, 6,  2,                    2#01) and
890        chkPeekBitsLsb("\2#10110101;\2#01101010;",                                1, 7,  2,                    2#01) and
891        chkPeekBitsLsb("\2#11011001;\2#10110010;",                                1, 7,  2,                    2#01) and
892        chkPeekBitsLsb("\2#10;",                                                  1, 0,  2,                    2#10) and
893        chkPeekBitsLsb("\2#0100;",                                                1, 1,  2,                    2#10) and
894        chkPeekBitsLsb("\2#1101;",                                                1, 1,  2,                    2#10) and
895        chkPeekBitsLsb("\2#011001;",                                              1, 2,  2,                    2#10) and
896        chkPeekBitsLsb("\2#101010;",                                              1, 2,  2,                    2#10) and
897        chkPeekBitsLsb("\2#01010010;",                                            1, 3,  2,                    2#10) and
898        chkPeekBitsLsb("\2#10110101;",                                            1, 3,  2,                    2#10) and
899        chkPeekBitsLsb("\2#01100101;\2#01;",                                      1, 4,  2,                    2#10) and
900        chkPeekBitsLsb("\2#11101011;\2#10;",                                      1, 4,  2,                    2#10) and
901        chkPeekBitsLsb("\2#11001011;\2#0101;",                                    1, 5,  2,                    2#10) and
902        chkPeekBitsLsb("\2#11010011;\2#1001;",                                    1, 5,  2,                    2#10) and
903        chkPeekBitsLsb("\2#10010011;\2#010011;",                                  1, 6,  2,                    2#10) and
904        chkPeekBitsLsb("\2#10110101;\2#110101;",                                  1, 6,  2,                    2#10) and
905        chkPeekBitsLsb("\2#00110101;\2#01101011;",                                1, 7,  2,                    2#10) and
906        chkPeekBitsLsb("\2#01011001;\2#10110011;",                                1, 7,  2,                    2#10) and
907        chkPeekBitsLsb("\2#010;",                                                 1, 0,  3,                   2#010) and
908        chkPeekBitsLsb("\2#00100;",                                               1, 1,  3,                   2#010) and
909        chkPeekBitsLsb("\2#10101;",                                               1, 1,  3,                   2#010) and
910        chkPeekBitsLsb("\2#0101001;",                                             1, 2,  3,                   2#010) and
911        chkPeekBitsLsb("\2#1001010;",                                             1, 2,  3,                   2#010) and
912        chkPeekBitsLsb("\2#10010010;\2#0;",                                       1, 3,  3,                   2#010) and
913        chkPeekBitsLsb("\2#01010101;\2#1;",                                       1, 3,  3,                   2#010) and
914        chkPeekBitsLsb("\2#10100101;\2#010;",                                     1, 4,  3,                   2#010) and
915        chkPeekBitsLsb("\2#10101011;\2#101;",                                     1, 4,  3,                   2#010) and
916        chkPeekBitsLsb("\2#01001011;\2#01011;",                                   1, 5,  3,                   2#010) and
917        chkPeekBitsLsb("\2#01010011;\2#10011;",                                   1, 5,  3,                   2#010) and
918        chkPeekBitsLsb("\2#10010011;\2#0100110;",                                 1, 6,  3,                   2#010) and
919        chkPeekBitsLsb("\2#10110101;\2#1101010;",                                 1, 6,  3,                   2#010) and
920        chkPeekBitsLsb("\2#00110101;\2#11010101;\2#0;",                           1, 7,  3,                   2#010) and
921        chkPeekBitsLsb("\2#01011001;\2#01100101;\2#1;",                           1, 7,  3,                   2#010) and
922        chkPeekBitsLsb("\2#101;",                                                 1, 0,  3,                   2#101) and
923        chkPeekBitsLsb("\2#01010;",                                               1, 1,  3,                   2#101) and
924        chkPeekBitsLsb("\2#11011;",                                               1, 1,  3,                   2#101) and
925        chkPeekBitsLsb("\2#0110101;",                                             1, 2,  3,                   2#101) and
926        chkPeekBitsLsb("\2#1010110;",                                             1, 2,  3,                   2#101) and
927        chkPeekBitsLsb("\2#10101010;\2#0;",                                       1, 3,  3,                   2#101) and
928        chkPeekBitsLsb("\2#01101101;\2#1;",                                       1, 3,  3,                   2#101) and
929        chkPeekBitsLsb("\2#11010101;\2#010;",                                     1, 4,  3,                   2#101) and
930        chkPeekBitsLsb("\2#11011011;\2#101;",                                     1, 4,  3,                   2#101) and
931        chkPeekBitsLsb("\2#10101011;\2#01011;",                                   1, 5,  3,                   2#101) and
932        chkPeekBitsLsb("\2#10110011;\2#10011;",                                   1, 5,  3,                   2#101) and
933        chkPeekBitsLsb("\2#01010011;\2#0100111;",                                 1, 6,  3,                   2#101) and
934        chkPeekBitsLsb("\2#01110101;\2#1101011;",                                 1, 6,  3,                   2#101) and
935        chkPeekBitsLsb("\2#10110101;\2#11010110;\2#0;",                           1, 7,  3,                   2#101) and
936        chkPeekBitsLsb("\2#11011001;\2#01100110;\2#1;",                           1, 7,  3,                   2#101) and
937        chkPeekBitsLsb("\2#0101;",                                                1, 0,  4,                  2#0101) and
938        chkPeekBitsLsb("\2#001010;",                                              1, 1,  4,                  2#0101) and
939        chkPeekBitsLsb("\2#101011;",                                              1, 1,  4,                  2#0101) and
940        chkPeekBitsLsb("\2#01010101;",                                            1, 2,  4,                  2#0101) and
941        chkPeekBitsLsb("\2#10010110;",                                            1, 2,  4,                  2#0101) and
942        chkPeekBitsLsb("\2#00101010;\2#01;",                                      1, 3,  4,                  2#0101) and
943        chkPeekBitsLsb("\2#10101101;\2#10;",                                      1, 3,  4,                  2#0101) and
944        chkPeekBitsLsb("\2#01010101;\2#0101;",                                    1, 4,  4,                  2#0101) and
945        chkPeekBitsLsb("\2#01011011;\2#1011;",                                    1, 4,  4,                  2#0101) and
946        chkPeekBitsLsb("\2#10101011;\2#010110;",                                  1, 5,  4,                  2#0101) and
947        chkPeekBitsLsb("\2#10110011;\2#100110;",                                  1, 5,  4,                  2#0101) and
948        chkPeekBitsLsb("\2#01010011;\2#01001101;",                                1, 6,  4,                  2#0101) and
949        chkPeekBitsLsb("\2#01110101;\2#11010101;",                                1, 6,  4,                  2#0101) and
950        chkPeekBitsLsb("\2#10110101;\2#10101010;\2#01;",                          1, 7,  4,                  2#0101) and
951        chkPeekBitsLsb("\2#11011001;\2#11001010;\2#10;",                          1, 7,  4,                  2#0101) and
952        chkPeekBitsLsb("\2#1011;",                                                1, 0,  4,                  2#1011) and
953        chkPeekBitsLsb("\2#010110;",                                              1, 1,  4,                  2#1011) and
954        chkPeekBitsLsb("\2#110111;",                                              1, 1,  4,                  2#1011) and
955        chkPeekBitsLsb("\2#01101101;",                                            1, 2,  4,                  2#1011) and
956        chkPeekBitsLsb("\2#10101110;",                                            1, 2,  4,                  2#1011) and
957        chkPeekBitsLsb("\2#01011010;\2#01;",                                      1, 3,  4,                  2#1011) and
958        chkPeekBitsLsb("\2#11011101;\2#10;",                                      1, 3,  4,                  2#1011) and
959        chkPeekBitsLsb("\2#10110101;\2#0101;",                                    1, 4,  4,                  2#1011) and
960        chkPeekBitsLsb("\2#10111011;\2#1011;",                                    1, 4,  4,                  2#1011) and
961        chkPeekBitsLsb("\2#01101011;\2#010111;",                                  1, 5,  4,                  2#1011) and
962        chkPeekBitsLsb("\2#01110011;\2#100111;",                                  1, 5,  4,                  2#1011) and
963        chkPeekBitsLsb("\2#11010011;\2#01001110;",                                1, 6,  4,                  2#1011) and
964        chkPeekBitsLsb("\2#11110101;\2#11010110;",                                1, 6,  4,                  2#1011) and
965        chkPeekBitsLsb("\2#10110101;\2#10101101;\2#01;",                          1, 7,  4,                  2#1011) and
966        chkPeekBitsLsb("\2#11011001;\2#11001101;\2#10;",                          1, 7,  4,                  2#1011) and
967        chkPeekBitsLsb("\2#01011;",                                               1, 0,  5,                 2#01011) and
968        chkPeekBitsLsb("\2#0010110;",                                             1, 1,  5,                 2#01011) and
969        chkPeekBitsLsb("\2#1010111;",                                             1, 1,  5,                 2#01011) and
970        chkPeekBitsLsb("\2#10101101;\2#0;",                                       1, 2,  5,                 2#01011) and
971        chkPeekBitsLsb("\2#00101110;\2#1;",                                       1, 2,  5,                 2#01011) and
972        chkPeekBitsLsb("\2#01011010;\2#010;",                                     1, 3,  5,                 2#01011) and
973        chkPeekBitsLsb("\2#01011101;\2#101;",                                     1, 3,  5,                 2#01011) and
974        chkPeekBitsLsb("\2#10110101;\2#01010;",                                   1, 4,  5,                 2#01011) and
975        chkPeekBitsLsb("\2#10111011;\2#10110;",                                   1, 4,  5,                 2#01011) and
976        chkPeekBitsLsb("\2#01101011;\2#0101101;",                                 1, 5,  5,                 2#01011) and
977        chkPeekBitsLsb("\2#01110011;\2#1001101;",                                 1, 5,  5,                 2#01011) and
978        chkPeekBitsLsb("\2#11010011;\2#10011010;\2#0;",                           1, 6,  5,                 2#01011) and
979        chkPeekBitsLsb("\2#11110101;\2#10101010;\2#1;",                           1, 6,  5,                 2#01011) and
980        chkPeekBitsLsb("\2#10110101;\2#01010101;\2#011;",                         1, 7,  5,                 2#01011) and
981        chkPeekBitsLsb("\2#11011001;\2#10010101;\2#101;",                         1, 7,  5,                 2#01011) and
982        chkPeekBitsLsb("\2#10011;",                                               1, 0,  5,                 2#10011) and
983        chkPeekBitsLsb("\2#0100110;",                                             1, 1,  5,                 2#10011) and
984        chkPeekBitsLsb("\2#1100111;",                                             1, 1,  5,                 2#10011) and
985        chkPeekBitsLsb("\2#11001101;\2#0;",                                       1, 2,  5,                 2#10011) and
986        chkPeekBitsLsb("\2#01001110;\2#1;",                                       1, 2,  5,                 2#10011) and
987        chkPeekBitsLsb("\2#10011010;\2#010;",                                     1, 3,  5,                 2#10011) and
988        chkPeekBitsLsb("\2#10011101;\2#101;",                                     1, 3,  5,                 2#10011) and
989        chkPeekBitsLsb("\2#00110101;\2#01011;",                                   1, 4,  5,                 2#10011) and
990        chkPeekBitsLsb("\2#00111011;\2#10111;",                                   1, 4,  5,                 2#10011) and
991        chkPeekBitsLsb("\2#01101011;\2#0101110;",                                 1, 5,  5,                 2#10011) and
992        chkPeekBitsLsb("\2#01110011;\2#1001110;",                                 1, 5,  5,                 2#10011) and
993        chkPeekBitsLsb("\2#11010011;\2#10011100;\2#0;",                           1, 6,  5,                 2#10011) and
994        chkPeekBitsLsb("\2#11110101;\2#10101100;\2#1;",                           1, 6,  5,                 2#10011) and
995        chkPeekBitsLsb("\2#10110101;\2#01011001;\2#011;",                         1, 7,  5,                 2#10011) and
996        chkPeekBitsLsb("\2#11011001;\2#10011001;\2#101;",                         1, 7,  5,                 2#10011) and
997        chkPeekBitsLsb("\2#010011;",                                              1, 0,  6,                2#010011) and
998        chkPeekBitsLsb("\2#00100110;",                                            1, 1,  6,                2#010011) and
999        chkPeekBitsLsb("\2#10100111;",                                            1, 1,  6,                2#010011) and
1000        chkPeekBitsLsb("\2#01001101;\2#01;",                                      1, 2,  6,                2#010011) and
1001        chkPeekBitsLsb("\2#01001110;\2#10;",                                      1, 2,  6,                2#010011) and
1002        chkPeekBitsLsb("\2#10011010;\2#0100;",                                    1, 3,  6,                2#010011) and
1003        chkPeekBitsLsb("\2#10011101;\2#1010;",                                    1, 3,  6,                2#010011) and
1004        chkPeekBitsLsb("\2#00110101;\2#010101;",                                  1, 4,  6,                2#010011) and
1005        chkPeekBitsLsb("\2#00111011;\2#101101;",                                  1, 4,  6,                2#010011) and
1006        chkPeekBitsLsb("\2#01101011;\2#01011010;",                                1, 5,  6,                2#010011) and
1007        chkPeekBitsLsb("\2#01110011;\2#10011010;",                                1, 5,  6,                2#010011) and
1008        chkPeekBitsLsb("\2#11010011;\2#00110100;\2#01;",                          1, 6,  6,                2#010011) and
1009        chkPeekBitsLsb("\2#11110101;\2#01010100;\2#11;",                          1, 6,  6,                2#010011) and
1010        chkPeekBitsLsb("\2#10110101;\2#10101001;\2#0110;",                        1, 7,  6,                2#010011) and
1011        chkPeekBitsLsb("\2#11011001;\2#00101001;\2#1011;",                        1, 7,  6,                2#010011) and
1012        chkPeekBitsLsb("\2#110101;",                                              1, 0,  6,                2#110101) and
1013        chkPeekBitsLsb("\2#01101010;",                                            1, 1,  6,                2#110101) and
1014        chkPeekBitsLsb("\2#11101011;",                                            1, 1,  6,                2#110101) and
1015        chkPeekBitsLsb("\2#11010101;\2#01;",                                      1, 2,  6,                2#110101) and
1016        chkPeekBitsLsb("\2#11010110;\2#10;",                                      1, 2,  6,                2#110101) and
1017        chkPeekBitsLsb("\2#10101010;\2#0101;",                                    1, 3,  6,                2#110101) and
1018        chkPeekBitsLsb("\2#10101101;\2#1011;",                                    1, 3,  6,                2#110101) and
1019        chkPeekBitsLsb("\2#01010101;\2#010111;",                                  1, 4,  6,                2#110101) and
1020        chkPeekBitsLsb("\2#01011011;\2#101111;",                                  1, 4,  6,                2#110101) and
1021        chkPeekBitsLsb("\2#10101011;\2#01011110;",                                1, 5,  6,                2#110101) and
1022        chkPeekBitsLsb("\2#10110011;\2#10011110;",                                1, 5,  6,                2#110101) and
1023        chkPeekBitsLsb("\2#01010011;\2#00111101;\2#01;",                          1, 6,  6,                2#110101) and
1024        chkPeekBitsLsb("\2#01110101;\2#01011101;\2#11;",                          1, 6,  6,                2#110101) and
1025        chkPeekBitsLsb("\2#10110101;\2#10111010;\2#0110;",                        1, 7,  6,                2#110101) and
1026        chkPeekBitsLsb("\2#11011001;\2#00111010;\2#1011;",                        1, 7,  6,                2#110101) and
1027        chkPeekBitsLsb("\2#0110101;",                                             1, 0,  7,               2#0110101) and
1028        chkPeekBitsLsb("\2#01101010;\2#0;",                                       1, 1,  7,               2#0110101) and
1029        chkPeekBitsLsb("\2#01101011;\2#1;",                                       1, 1,  7,               2#0110101) and
1030        chkPeekBitsLsb("\2#11010101;\2#010;",                                     1, 2,  7,               2#0110101) and
1031        chkPeekBitsLsb("\2#11010110;\2#100;",                                     1, 2,  7,               2#0110101) and
1032        chkPeekBitsLsb("\2#10101010;\2#01001;",                                   1, 3,  7,               2#0110101) and
1033        chkPeekBitsLsb("\2#10101101;\2#10101;",                                   1, 3,  7,               2#0110101) and
1034        chkPeekBitsLsb("\2#01010101;\2#0101011;",                                 1, 4,  7,               2#0110101) and
1035        chkPeekBitsLsb("\2#01011011;\2#1011011;",                                 1, 4,  7,               2#0110101) and
1036        chkPeekBitsLsb("\2#10101011;\2#10110110;\2#0;",                           1, 5,  7,               2#0110101) and
1037        chkPeekBitsLsb("\2#10110011;\2#00110110;\2#1;",                           1, 5,  7,               2#0110101) and
1038        chkPeekBitsLsb("\2#01010011;\2#01101101;\2#010;",                         1, 6,  7,               2#0110101) and
1039        chkPeekBitsLsb("\2#01110101;\2#10101101;\2#110;",                         1, 6,  7,               2#0110101) and
1040        chkPeekBitsLsb("\2#10110101;\2#01011010;\2#01101;",                       1, 7,  7,               2#0110101) and
1041        chkPeekBitsLsb("\2#11011001;\2#01011010;\2#10110;",                       1, 7,  7,               2#0110101) and
1042        chkPeekBitsLsb("\2#1011001;",                                             1, 0,  7,               2#1011001) and
1043        chkPeekBitsLsb("\2#10110010;\2#0;",                                       1, 1,  7,               2#1011001) and
1044        chkPeekBitsLsb("\2#10110011;\2#1;",                                       1, 1,  7,               2#1011001) and
1045        chkPeekBitsLsb("\2#01100101;\2#011;",                                     1, 2,  7,               2#1011001) and
1046        chkPeekBitsLsb("\2#01100110;\2#101;",                                     1, 2,  7,               2#1011001) and
1047        chkPeekBitsLsb("\2#11001010;\2#01010;",                                   1, 3,  7,               2#1011001) and
1048        chkPeekBitsLsb("\2#11001101;\2#10110;",                                   1, 3,  7,               2#1011001) and
1049        chkPeekBitsLsb("\2#10010101;\2#0101101;",                                 1, 4,  7,               2#1011001) and
1050        chkPeekBitsLsb("\2#10011011;\2#1011101;",                                 1, 4,  7,               2#1011001) and
1051        chkPeekBitsLsb("\2#00101011;\2#10111011;\2#0;",                           1, 5,  7,               2#1011001) and
1052        chkPeekBitsLsb("\2#00110011;\2#00111011;\2#1;",                           1, 5,  7,               2#1011001) and
1053        chkPeekBitsLsb("\2#01010011;\2#01110110;\2#010;",                         1, 6,  7,               2#1011001) and
1054        chkPeekBitsLsb("\2#01110101;\2#10110110;\2#110;",                         1, 6,  7,               2#1011001) and
1055        chkPeekBitsLsb("\2#10110101;\2#01101100;\2#01101;",                       1, 7,  7,               2#1011001) and
1056        chkPeekBitsLsb("\2#11011001;\2#01101100;\2#10110;",                       1, 7,  7,               2#1011001) and
1057        chkPeekBitsLsb("\2#01011001;",                                            1, 0,  8,              2#01011001) and
1058        chkPeekBitsLsb("\2#10110010;\2#00;",                                      1, 1,  8,              2#01011001) and
1059        chkPeekBitsLsb("\2#10110011;\2#10;",                                      1, 1,  8,              2#01011001) and
1060        chkPeekBitsLsb("\2#01100101;\2#0101;",                                    1, 2,  8,              2#01011001) and
1061        chkPeekBitsLsb("\2#01100110;\2#1001;",                                    1, 2,  8,              2#01011001) and
1062        chkPeekBitsLsb("\2#11001010;\2#010010;",                                  1, 3,  8,              2#01011001) and
1063        chkPeekBitsLsb("\2#11001101;\2#101010;",                                  1, 3,  8,              2#01011001) and
1064        chkPeekBitsLsb("\2#10010101;\2#01010101;",                                1, 4,  8,              2#01011001) and
1065        chkPeekBitsLsb("\2#10011011;\2#10110101;",                                1, 4,  8,              2#01011001) and
1066        chkPeekBitsLsb("\2#00101011;\2#01101011;\2#01;",                          1, 5,  8,              2#01011001) and
1067        chkPeekBitsLsb("\2#00110011;\2#01101011;\2#10;",                          1, 5,  8,              2#01011001) and
1068        chkPeekBitsLsb("\2#01010011;\2#11010110;\2#0100;",                        1, 6,  8,              2#01011001) and
1069        chkPeekBitsLsb("\2#01110101;\2#01010110;\2#1101;",                        1, 6,  8,              2#01011001) and
1070        chkPeekBitsLsb("\2#10110101;\2#10101100;\2#011010;",                      1, 7,  8,              2#01011001) and
1071        chkPeekBitsLsb("\2#11011001;\2#10101100;\2#101100;",                      1, 7,  8,              2#01011001) and
1072        chkPeekBitsLsb("\2#10100011;",                                            1, 0,  8,              2#10100011) and
1073        chkPeekBitsLsb("\2#01000110;\2#01;",                                      1, 1,  8,              2#10100011) and
1074        chkPeekBitsLsb("\2#01000111;\2#11;",                                      1, 1,  8,              2#10100011) and
1075        chkPeekBitsLsb("\2#10001101;\2#0110;",                                    1, 2,  8,              2#10100011) and
1076        chkPeekBitsLsb("\2#10001110;\2#1010;",                                    1, 2,  8,              2#10100011) and
1077        chkPeekBitsLsb("\2#00011010;\2#010101;",                                  1, 3,  8,              2#10100011) and
1078        chkPeekBitsLsb("\2#00011101;\2#101101;",                                  1, 3,  8,              2#10100011) and
1079        chkPeekBitsLsb("\2#00110101;\2#01011010;",                                1, 4,  8,              2#10100011) and
1080        chkPeekBitsLsb("\2#00111011;\2#10111010;",                                1, 4,  8,              2#10100011) and
1081        chkPeekBitsLsb("\2#01101011;\2#01110100;\2#01;",                          1, 5,  8,              2#10100011) and
1082        chkPeekBitsLsb("\2#01110011;\2#01110100;\2#10;",                          1, 5,  8,              2#10100011) and
1083        chkPeekBitsLsb("\2#11010011;\2#11101000;\2#0100;",                        1, 6,  8,              2#10100011) and
1084        chkPeekBitsLsb("\2#11110101;\2#01101000;\2#1101;",                        1, 6,  8,              2#10100011) and
1085        chkPeekBitsLsb("\2#10110101;\2#11010001;\2#011010;",                      1, 7,  8,              2#10100011) and
1086        chkPeekBitsLsb("\2#11011001;\2#11010001;\2#101100;",                      1, 7,  8,              2#10100011) and
1087        chkPeekBitsLsb("\2#10100011;\2#0;",                                       1, 0,  9,             2#010100011) and
1088        chkPeekBitsLsb("\2#01000110;\2#001;",                                     1, 1,  9,             2#010100011) and
1089        chkPeekBitsLsb("\2#01000111;\2#101;",                                     1, 1,  9,             2#010100011) and
1090        chkPeekBitsLsb("\2#10001101;\2#01010;",                                   1, 2,  9,             2#010100011) and
1091        chkPeekBitsLsb("\2#10001110;\2#10010;",                                   1, 2,  9,             2#010100011) and
1092        chkPeekBitsLsb("\2#00011010;\2#0100101;",                                 1, 3,  9,             2#010100011) and
1093        chkPeekBitsLsb("\2#00011101;\2#1010101;",                                 1, 3,  9,             2#010100011) and
1094        chkPeekBitsLsb("\2#00110101;\2#10101010;\2#0;",                           1, 4,  9,             2#010100011) and
1095        chkPeekBitsLsb("\2#00111011;\2#01101010;\2#1;",                           1, 4,  9,             2#010100011) and
1096        chkPeekBitsLsb("\2#01101011;\2#11010100;\2#010;",                         1, 5,  9,             2#010100011) and
1097        chkPeekBitsLsb("\2#01110011;\2#11010100;\2#100;",                         1, 5,  9,             2#010100011) and
1098        chkPeekBitsLsb("\2#11010011;\2#10101000;\2#01001;",                       1, 6,  9,             2#010100011) and
1099        chkPeekBitsLsb("\2#11110101;\2#10101000;\2#11010;",                       1, 6,  9,             2#010100011) and
1100        chkPeekBitsLsb("\2#10110101;\2#01010001;\2#0110101;",                     1, 7,  9,             2#010100011) and
1101        chkPeekBitsLsb("\2#11011001;\2#01010001;\2#1011001;",                     1, 7,  9,             2#010100011) and
1102        chkPeekBitsLsb("\2#10110111;\2#1;",                                       1, 0,  9,             2#110110111) and
1103        chkPeekBitsLsb("\2#01101110;\2#011;",                                     1, 1,  9,             2#110110111) and
1104        chkPeekBitsLsb("\2#01101111;\2#111;",                                     1, 1,  9,             2#110110111) and
1105        chkPeekBitsLsb("\2#11011101;\2#01110;",                                   1, 2,  9,             2#110110111) and
1106        chkPeekBitsLsb("\2#11011110;\2#10110;",                                   1, 2,  9,             2#110110111) and
1107        chkPeekBitsLsb("\2#10111010;\2#0101101;",                                 1, 3,  9,             2#110110111) and
1108        chkPeekBitsLsb("\2#10111101;\2#1011101;",                                 1, 3,  9,             2#110110111) and
1109        chkPeekBitsLsb("\2#01110101;\2#10111011;\2#0;",                           1, 4,  9,             2#110110111) and
1110        chkPeekBitsLsb("\2#01111011;\2#01111011;\2#1;",                           1, 4,  9,             2#110110111) and
1111        chkPeekBitsLsb("\2#11101011;\2#11110110;\2#010;",                         1, 5,  9,             2#110110111) and
1112        chkPeekBitsLsb("\2#11110011;\2#11110110;\2#100;",                         1, 5,  9,             2#110110111) and
1113        chkPeekBitsLsb("\2#11010011;\2#11101101;\2#01001;",                       1, 6,  9,             2#110110111) and
1114        chkPeekBitsLsb("\2#11110101;\2#11101101;\2#11010;",                       1, 6,  9,             2#110110111) and
1115        chkPeekBitsLsb("\2#10110101;\2#11011011;\2#0110101;",                     1, 7,  9,             2#110110111) and
1116        chkPeekBitsLsb("\2#11011001;\2#11011011;\2#1011001;",                     1, 7,  9,             2#110110111) and
1117        chkPeekBitsLsb("\2#10110111;\2#01;",                                      1, 0, 10,            2#0110110111) and
1118        chkPeekBitsLsb("\2#01101110;\2#0011;",                                    1, 1, 10,            2#0110110111) and
1119        chkPeekBitsLsb("\2#01101111;\2#1011;",                                    1, 1, 10,            2#0110110111) and
1120        chkPeekBitsLsb("\2#11011101;\2#010110;",                                  1, 2, 10,            2#0110110111) and
1121        chkPeekBitsLsb("\2#11011110;\2#100110;",                                  1, 2, 10,            2#0110110111) and
1122        chkPeekBitsLsb("\2#10111010;\2#01001101;",                                1, 3, 10,            2#0110110111) and
1123        chkPeekBitsLsb("\2#10111101;\2#10101101;",                                1, 3, 10,            2#0110110111) and
1124        chkPeekBitsLsb("\2#01110101;\2#01011011;\2#01;",                          1, 4, 10,            2#0110110111) and
1125        chkPeekBitsLsb("\2#01111011;\2#11011011;\2#10;",                          1, 4, 10,            2#0110110111) and
1126        chkPeekBitsLsb("\2#11101011;\2#10110110;\2#0101;",                        1, 5, 10,            2#0110110111) and
1127        chkPeekBitsLsb("\2#11110011;\2#10110110;\2#1001;",                        1, 5, 10,            2#0110110111) and
1128        chkPeekBitsLsb("\2#11010011;\2#01101101;\2#010011;",                      1, 6, 10,            2#0110110111) and
1129        chkPeekBitsLsb("\2#11110101;\2#01101101;\2#110101;",                      1, 6, 10,            2#0110110111) and
1130        chkPeekBitsLsb("\2#10110101;\2#11011011;\2#01101010;",                    1, 7, 10,            2#0110110111) and
1131        chkPeekBitsLsb("\2#11011001;\2#11011011;\2#10110010;",                    1, 7, 10,            2#0110110111) and
1132        chkPeekBitsLsb("\2#00010011;\2#11;",                                      1, 0, 10,            2#1100010011) and
1133        chkPeekBitsLsb("\2#00100110;\2#0110;",                                    1, 1, 10,            2#1100010011) and
1134        chkPeekBitsLsb("\2#00100111;\2#1110;",                                    1, 1, 10,            2#1100010011) and
1135        chkPeekBitsLsb("\2#01001101;\2#011100;",                                  1, 2, 10,            2#1100010011) and
1136        chkPeekBitsLsb("\2#01001110;\2#101100;",                                  1, 2, 10,            2#1100010011) and
1137        chkPeekBitsLsb("\2#10011010;\2#01011000;",                                1, 3, 10,            2#1100010011) and
1138        chkPeekBitsLsb("\2#10011101;\2#10111000;",                                1, 3, 10,            2#1100010011) and
1139        chkPeekBitsLsb("\2#00110101;\2#01110001;\2#01;",                          1, 4, 10,            2#1100010011) and
1140        chkPeekBitsLsb("\2#00111011;\2#11110001;\2#10;",                          1, 4, 10,            2#1100010011) and
1141        chkPeekBitsLsb("\2#01101011;\2#11100010;\2#0101;",                        1, 5, 10,            2#1100010011) and
1142        chkPeekBitsLsb("\2#01110011;\2#11100010;\2#1001;",                        1, 5, 10,            2#1100010011) and
1143        chkPeekBitsLsb("\2#11010011;\2#11000100;\2#010011;",                      1, 6, 10,            2#1100010011) and
1144        chkPeekBitsLsb("\2#11110101;\2#11000100;\2#110101;",                      1, 6, 10,            2#1100010011) and
1145        chkPeekBitsLsb("\2#10110101;\2#10001001;\2#01101011;",                    1, 7, 10,            2#1100010011) and
1146        chkPeekBitsLsb("\2#11011001;\2#10001001;\2#10110011;",                    1, 7, 10,            2#1100010011) and
1147        chkPeekBitsLsb("\2#00010011;\2#011;",                                     1, 0, 11,           2#01100010011) and
1148        chkPeekBitsLsb("\2#00100110;\2#00110;",                                   1, 1, 11,           2#01100010011) and
1149        chkPeekBitsLsb("\2#00100111;\2#10110;",                                   1, 1, 11,           2#01100010011) and
1150        chkPeekBitsLsb("\2#01001101;\2#0101100;",                                 1, 2, 11,           2#01100010011) and
1151        chkPeekBitsLsb("\2#01001110;\2#1001100;",                                 1, 2, 11,           2#01100010011) and
1152        chkPeekBitsLsb("\2#10011010;\2#10011000;\2#0;",                           1, 3, 11,           2#01100010011) and
1153        chkPeekBitsLsb("\2#10011101;\2#01011000;\2#1;",                           1, 3, 11,           2#01100010011) and
1154        chkPeekBitsLsb("\2#00110101;\2#10110001;\2#010;",                         1, 4, 11,           2#01100010011) and
1155        chkPeekBitsLsb("\2#00111011;\2#10110001;\2#101;",                         1, 4, 11,           2#01100010011) and
1156        chkPeekBitsLsb("\2#01101011;\2#01100010;\2#01011;",                       1, 5, 11,           2#01100010011) and
1157        chkPeekBitsLsb("\2#01110011;\2#01100010;\2#10011;",                       1, 5, 11,           2#01100010011) and
1158        chkPeekBitsLsb("\2#11010011;\2#11000100;\2#0100110;",                     1, 6, 11,           2#01100010011) and
1159        chkPeekBitsLsb("\2#11110101;\2#11000100;\2#1101010;",                     1, 6, 11,           2#01100010011) and
1160        chkPeekBitsLsb("\2#10110101;\2#10001001;\2#11010101;\2#0;",               1, 7, 11,           2#01100010011) and
1161        chkPeekBitsLsb("\2#11011001;\2#10001001;\2#01100101;\2#1;",               1, 7, 11,           2#01100010011) and
1162        chkPeekBitsLsb("\2#10100111;\2#101;",                                     1, 0, 11,           2#10110100111) and
1163        chkPeekBitsLsb("\2#01001110;\2#01011;",                                   1, 1, 11,           2#10110100111) and
1164        chkPeekBitsLsb("\2#01001111;\2#11011;",                                   1, 1, 11,           2#10110100111) and
1165        chkPeekBitsLsb("\2#10011101;\2#0110110;",                                 1, 2, 11,           2#10110100111) and
1166        chkPeekBitsLsb("\2#10011110;\2#1010110;",                                 1, 2, 11,           2#10110100111) and
1167        chkPeekBitsLsb("\2#00111010;\2#10101101;\2#0;",                           1, 3, 11,           2#10110100111) and
1168        chkPeekBitsLsb("\2#00111101;\2#01101101;\2#1;",                           1, 3, 11,           2#10110100111) and
1169        chkPeekBitsLsb("\2#01110101;\2#11011010;\2#010;",                         1, 4, 11,           2#10110100111) and
1170        chkPeekBitsLsb("\2#01111011;\2#11011010;\2#101;",                         1, 4, 11,           2#10110100111) and
1171        chkPeekBitsLsb("\2#11101011;\2#10110100;\2#01011;",                       1, 5, 11,           2#10110100111) and
1172        chkPeekBitsLsb("\2#11110011;\2#10110100;\2#10011;",                       1, 5, 11,           2#10110100111) and
1173        chkPeekBitsLsb("\2#11010011;\2#01101001;\2#0100111;",                     1, 6, 11,           2#10110100111) and
1174        chkPeekBitsLsb("\2#11110101;\2#01101001;\2#1101011;",                     1, 6, 11,           2#10110100111) and
1175        chkPeekBitsLsb("\2#10110101;\2#11010011;\2#11010110;\2#0;",               1, 7, 11,           2#10110100111) and
1176        chkPeekBitsLsb("\2#11011001;\2#11010011;\2#01100110;\2#1;",               1, 7, 11,           2#10110100111) and
1177        chkPeekBitsLsb("\2#10100111;\2#0101;",                                    1, 0, 12,          2#010110100111) and
1178        chkPeekBitsLsb("\2#01001110;\2#001011;",                                  1, 1, 12,          2#010110100111) and
1179        chkPeekBitsLsb("\2#01001111;\2#101011;",                                  1, 1, 12,          2#010110100111) and
1180        chkPeekBitsLsb("\2#10011101;\2#01010110;",                                1, 2, 12,          2#010110100111) and
1181        chkPeekBitsLsb("\2#10011110;\2#10010110;",                                1, 2, 12,          2#010110100111) and
1182        chkPeekBitsLsb("\2#00111010;\2#00101101;\2#01;",                          1, 3, 12,          2#010110100111) and
1183        chkPeekBitsLsb("\2#00111101;\2#10101101;\2#10;",                          1, 3, 12,          2#010110100111) and
1184        chkPeekBitsLsb("\2#01110101;\2#01011010;\2#0101;",                        1, 4, 12,          2#010110100111) and
1185        chkPeekBitsLsb("\2#01111011;\2#01011010;\2#1011;",                        1, 4, 12,          2#010110100111) and
1186        chkPeekBitsLsb("\2#11101011;\2#10110100;\2#010110;",                      1, 5, 12,          2#010110100111) and
1187        chkPeekBitsLsb("\2#11110011;\2#10110100;\2#100110;",                      1, 5, 12,          2#010110100111) and
1188        chkPeekBitsLsb("\2#11010011;\2#01101001;\2#01001101;",                    1, 6, 12,          2#010110100111) and
1189        chkPeekBitsLsb("\2#11110101;\2#01101001;\2#11010101;",                    1, 6, 12,          2#010110100111) and
1190        chkPeekBitsLsb("\2#10110101;\2#11010011;\2#10101010;\2#01;",              1, 7, 12,          2#010110100111) and
1191        chkPeekBitsLsb("\2#11011001;\2#11010011;\2#11001010;\2#10;",              1, 7, 12,          2#010110100111) and
1192        chkPeekBitsLsb("\2#10001101;\2#1011;",                                    1, 0, 12,          2#101110001101) and
1193        chkPeekBitsLsb("\2#00011010;\2#010111;",                                  1, 1, 12,          2#101110001101) and
1194        chkPeekBitsLsb("\2#00011011;\2#110111;",                                  1, 1, 12,          2#101110001101) and
1195        chkPeekBitsLsb("\2#00110101;\2#01101110;",                                1, 2, 12,          2#101110001101) and
1196        chkPeekBitsLsb("\2#00110110;\2#10101110;",                                1, 2, 12,          2#101110001101) and
1197        chkPeekBitsLsb("\2#01101010;\2#01011100;\2#01;",                          1, 3, 12,          2#101110001101) and
1198        chkPeekBitsLsb("\2#01101101;\2#11011100;\2#10;",                          1, 3, 12,          2#101110001101) and
1199        chkPeekBitsLsb("\2#11010101;\2#10111000;\2#0101;",                        1, 4, 12,          2#101110001101) and
1200        chkPeekBitsLsb("\2#11011011;\2#10111000;\2#1011;",                        1, 4, 12,          2#101110001101) and
1201        chkPeekBitsLsb("\2#10101011;\2#01110001;\2#010111;",                      1, 5, 12,          2#101110001101) and
1202        chkPeekBitsLsb("\2#10110011;\2#01110001;\2#100111;",                      1, 5, 12,          2#101110001101) and
1203        chkPeekBitsLsb("\2#01010011;\2#11100011;\2#01001110;",                    1, 6, 12,          2#101110001101) and
1204        chkPeekBitsLsb("\2#01110101;\2#11100011;\2#11010110;",                    1, 6, 12,          2#101110001101) and
1205        chkPeekBitsLsb("\2#10110101;\2#11000110;\2#10101101;\2#01;",              1, 7, 12,          2#101110001101) and
1206        chkPeekBitsLsb("\2#11011001;\2#11000110;\2#11001101;\2#10;",              1, 7, 12,          2#101110001101) and
1207        chkPeekBitsLsb("\2#10001101;\2#01011;",                                   1, 0, 13,         2#0101110001101) and
1208        chkPeekBitsLsb("\2#00011010;\2#0010111;",                                 1, 1, 13,         2#0101110001101) and
1209        chkPeekBitsLsb("\2#00011011;\2#1010111;",                                 1, 1, 13,         2#0101110001101) and
1210        chkPeekBitsLsb("\2#00110101;\2#10101110;\2#0;",                           1, 2, 13,         2#0101110001101) and
1211        chkPeekBitsLsb("\2#00110110;\2#00101110;\2#1;",                           1, 2, 13,         2#0101110001101) and
1212        chkPeekBitsLsb("\2#01101010;\2#01011100;\2#010;",                         1, 3, 13,         2#0101110001101) and
1213        chkPeekBitsLsb("\2#01101101;\2#01011100;\2#101;",                         1, 3, 13,         2#0101110001101) and
1214        chkPeekBitsLsb("\2#11010101;\2#10111000;\2#01010;",                       1, 4, 13,         2#0101110001101) and
1215        chkPeekBitsLsb("\2#11011011;\2#10111000;\2#10110;",                       1, 4, 13,         2#0101110001101) and
1216        chkPeekBitsLsb("\2#10101011;\2#01110001;\2#0101101;",                     1, 5, 13,         2#0101110001101) and
1217        chkPeekBitsLsb("\2#10110011;\2#01110001;\2#1001101;",                     1, 5, 13,         2#0101110001101) and
1218        chkPeekBitsLsb("\2#01010011;\2#11100011;\2#10011010;\2#0;",               1, 6, 13,         2#0101110001101) and
1219        chkPeekBitsLsb("\2#01110101;\2#11100011;\2#10101010;\2#1;",               1, 6, 13,         2#0101110001101) and
1220        chkPeekBitsLsb("\2#10110101;\2#11000110;\2#01010101;\2#011;",             1, 7, 13,         2#0101110001101) and
1221        chkPeekBitsLsb("\2#11011001;\2#11000110;\2#10010101;\2#101;",             1, 7, 13,         2#0101110001101) and
1222        chkPeekBitsLsb("\2#00110111;\2#11011;",                                   1, 0, 13,         2#1101100110111) and
1223        chkPeekBitsLsb("\2#01101110;\2#0110110;",                                 1, 1, 13,         2#1101100110111) and
1224        chkPeekBitsLsb("\2#01101111;\2#1110110;",                                 1, 1, 13,         2#1101100110111) and
1225        chkPeekBitsLsb("\2#11011101;\2#11101100;\2#0;",                           1, 2, 13,         2#1101100110111) and
1226        chkPeekBitsLsb("\2#11011110;\2#01101100;\2#1;",                           1, 2, 13,         2#1101100110111) and
1227        chkPeekBitsLsb("\2#10111010;\2#11011001;\2#010;",                         1, 3, 13,         2#1101100110111) and
1228        chkPeekBitsLsb("\2#10111101;\2#11011001;\2#101;",                         1, 3, 13,         2#1101100110111) and
1229        chkPeekBitsLsb("\2#01110101;\2#10110011;\2#01011;",                       1, 4, 13,         2#1101100110111) and
1230        chkPeekBitsLsb("\2#01111011;\2#10110011;\2#10111;",                       1, 4, 13,         2#1101100110111) and
1231        chkPeekBitsLsb("\2#11101011;\2#01100110;\2#0101111;",                     1, 5, 13,         2#1101100110111) and
1232        chkPeekBitsLsb("\2#11110011;\2#01100110;\2#1001111;",                     1, 5, 13,         2#1101100110111) and
1233        chkPeekBitsLsb("\2#11010011;\2#11001101;\2#10011110;\2#0;",               1, 6, 13,         2#1101100110111) and
1234        chkPeekBitsLsb("\2#11110101;\2#11001101;\2#10101110;\2#1;",               1, 6, 13,         2#1101100110111) and
1235        chkPeekBitsLsb("\2#10110101;\2#10011011;\2#01011101;\2#011;",             1, 7, 13,         2#1101100110111) and
1236        chkPeekBitsLsb("\2#11011001;\2#10011011;\2#10011101;\2#101;",             1, 7, 13,         2#1101100110111) and
1237        chkPeekBitsLsb("\2#00110111;\2#011011;",                                  1, 0, 14,        2#01101100110111) and
1238        chkPeekBitsLsb("\2#01101110;\2#00110110;",                                1, 1, 14,        2#01101100110111) and
1239        chkPeekBitsLsb("\2#01101111;\2#10110110;",                                1, 1, 14,        2#01101100110111) and
1240        chkPeekBitsLsb("\2#11011101;\2#01101100;\2#01;",                          1, 2, 14,        2#01101100110111) and
1241        chkPeekBitsLsb("\2#11011110;\2#01101100;\2#10;",                          1, 2, 14,        2#01101100110111) and
1242        chkPeekBitsLsb("\2#10111010;\2#11011001;\2#0100;",                        1, 3, 14,        2#01101100110111) and
1243        chkPeekBitsLsb("\2#10111101;\2#11011001;\2#1010;",                        1, 3, 14,        2#01101100110111) and
1244        chkPeekBitsLsb("\2#01110101;\2#10110011;\2#010101;",                      1, 4, 14,        2#01101100110111) and
1245        chkPeekBitsLsb("\2#01111011;\2#10110011;\2#101101;",                      1, 4, 14,        2#01101100110111) and
1246        chkPeekBitsLsb("\2#11101011;\2#01100110;\2#01011011;",                    1, 5, 14,        2#01101100110111) and
1247        chkPeekBitsLsb("\2#11110011;\2#01100110;\2#10011011;",                    1, 5, 14,        2#01101100110111) and
1248        chkPeekBitsLsb("\2#11010011;\2#11001101;\2#00110110;\2#01;",              1, 6, 14,        2#01101100110111) and
1249        chkPeekBitsLsb("\2#11110101;\2#11001101;\2#01010110;\2#11;",              1, 6, 14,        2#01101100110111) and
1250        chkPeekBitsLsb("\2#10110101;\2#10011011;\2#10101101;\2#0110;",            1, 7, 14,        2#01101100110111) and
1251        chkPeekBitsLsb("\2#11011001;\2#10011011;\2#00101101;\2#1011;",            1, 7, 14,        2#01101100110111) and
1252        chkPeekBitsLsb("\2#11010101;\2#100110;",                                  1, 0, 14,        2#10011011010101) and
1253        chkPeekBitsLsb("\2#10101010;\2#01001101;",                                1, 1, 14,        2#10011011010101) and
1254        chkPeekBitsLsb("\2#10101011;\2#11001101;",                                1, 1, 14,        2#10011011010101) and
1255        chkPeekBitsLsb("\2#01010101;\2#10011011;\2#01;",                          1, 2, 14,        2#10011011010101) and
1256        chkPeekBitsLsb("\2#01010110;\2#10011011;\2#10;",                          1, 2, 14,        2#10011011010101) and
1257        chkPeekBitsLsb("\2#10101010;\2#00110110;\2#0101;",                        1, 3, 14,        2#10011011010101) and
1258        chkPeekBitsLsb("\2#10101101;\2#00110110;\2#1011;",                        1, 3, 14,        2#10011011010101) and
1259        chkPeekBitsLsb("\2#01010101;\2#01101101;\2#010110;",                      1, 4, 14,        2#10011011010101) and
1260        chkPeekBitsLsb("\2#01011011;\2#01101101;\2#101110;",                      1, 4, 14,        2#10011011010101) and
1261        chkPeekBitsLsb("\2#10101011;\2#11011010;\2#01011100;",                    1, 5, 14,        2#10011011010101) and
1262        chkPeekBitsLsb("\2#10110011;\2#11011010;\2#10011100;",                    1, 5, 14,        2#10011011010101) and
1263        chkPeekBitsLsb("\2#01010011;\2#10110101;\2#00111001;\2#01;",              1, 6, 14,        2#10011011010101) and
1264        chkPeekBitsLsb("\2#01110101;\2#10110101;\2#01011001;\2#11;",              1, 6, 14,        2#10011011010101) and
1265        chkPeekBitsLsb("\2#10110101;\2#01101010;\2#10110011;\2#0110;",            1, 7, 14,        2#10011011010101) and
1266        chkPeekBitsLsb("\2#11011001;\2#01101010;\2#00110011;\2#1011;",            1, 7, 14,        2#10011011010101) and
1267        chkPeekBitsLsb("\2#11010101;\2#0100110;",                                 1, 0, 15,       2#010011011010101) and
1268        chkPeekBitsLsb("\2#10101010;\2#01001101;\2#0;",                           1, 1, 15,       2#010011011010101) and
1269        chkPeekBitsLsb("\2#10101011;\2#01001101;\2#1;",                           1, 1, 15,       2#010011011010101) and
1270        chkPeekBitsLsb("\2#01010101;\2#10011011;\2#010;",                         1, 2, 15,       2#010011011010101) and
1271        chkPeekBitsLsb("\2#01010110;\2#10011011;\2#100;",                         1, 2, 15,       2#010011011010101) and
1272        chkPeekBitsLsb("\2#10101010;\2#00110110;\2#01001;",                       1, 3, 15,       2#010011011010101) and
1273        chkPeekBitsLsb("\2#10101101;\2#00110110;\2#10101;",                       1, 3, 15,       2#010011011010101) and
1274        chkPeekBitsLsb("\2#01010101;\2#01101101;\2#0101010;",                     1, 4, 15,       2#010011011010101) and
1275        chkPeekBitsLsb("\2#01011011;\2#01101101;\2#1011010;",                     1, 4, 15,       2#010011011010101) and
1276        chkPeekBitsLsb("\2#10101011;\2#11011010;\2#10110100;\2#0;",               1, 5, 15,       2#010011011010101) and
1277        chkPeekBitsLsb("\2#10110011;\2#11011010;\2#00110100;\2#1;",               1, 5, 15,       2#010011011010101) and
1278        chkPeekBitsLsb("\2#01010011;\2#10110101;\2#01101001;\2#010;",             1, 6, 15,       2#010011011010101) and
1279        chkPeekBitsLsb("\2#01110101;\2#10110101;\2#10101001;\2#110;",             1, 6, 15,       2#010011011010101) and
1280        chkPeekBitsLsb("\2#10110101;\2#01101010;\2#01010011;\2#01101;",           1, 7, 15,       2#010011011010101) and
1281        chkPeekBitsLsb("\2#11011001;\2#01101010;\2#01010011;\2#10110;",           1, 7, 15,       2#010011011010101) and
1282        chkPeekBitsLsb("\2#11011001;\2#1001011;",                                 1, 0, 15,       2#100101111011001) and
1283        chkPeekBitsLsb("\2#10110010;\2#10010111;\2#0;",                           1, 1, 15,       2#100101111011001) and
1284        chkPeekBitsLsb("\2#10110011;\2#10010111;\2#1;",                           1, 1, 15,       2#100101111011001) and
1285        chkPeekBitsLsb("\2#01100101;\2#00101111;\2#011;",                         1, 2, 15,       2#100101111011001) and
1286        chkPeekBitsLsb("\2#01100110;\2#00101111;\2#101;",                         1, 2, 15,       2#100101111011001) and
1287        chkPeekBitsLsb("\2#11001010;\2#01011110;\2#01010;",                       1, 3, 15,       2#100101111011001) and
1288        chkPeekBitsLsb("\2#11001101;\2#01011110;\2#10110;",                       1, 3, 15,       2#100101111011001) and
1289        chkPeekBitsLsb("\2#10010101;\2#10111101;\2#0101100;",                     1, 4, 15,       2#100101111011001) and
1290        chkPeekBitsLsb("\2#10011011;\2#10111101;\2#1011100;",                     1, 4, 15,       2#100101111011001) and
1291        chkPeekBitsLsb("\2#00101011;\2#01111011;\2#10111001;\2#0;",               1, 5, 15,       2#100101111011001) and
1292        chkPeekBitsLsb("\2#00110011;\2#01111011;\2#00111001;\2#1;",               1, 5, 15,       2#100101111011001) and
1293        chkPeekBitsLsb("\2#01010011;\2#11110110;\2#01110010;\2#010;",             1, 6, 15,       2#100101111011001) and
1294        chkPeekBitsLsb("\2#01110101;\2#11110110;\2#10110010;\2#110;",             1, 6, 15,       2#100101111011001) and
1295        chkPeekBitsLsb("\2#10110101;\2#11101100;\2#01100101;\2#01101;",           1, 7, 15,       2#100101111011001) and
1296        chkPeekBitsLsb("\2#11011001;\2#11101100;\2#01100101;\2#10110;",           1, 7, 15,       2#100101111011001) and
1297        chkPeekBitsLsb("\2#11011001;\2#01001011;",                                1, 0, 16,      2#0100101111011001) and
1298        chkPeekBitsLsb("\2#10110010;\2#10010111;\2#00;",                          1, 1, 16,      2#0100101111011001) and
1299        chkPeekBitsLsb("\2#10110011;\2#10010111;\2#10;",                          1, 1, 16,      2#0100101111011001) and
1300        chkPeekBitsLsb("\2#01100101;\2#00101111;\2#0101;",                        1, 2, 16,      2#0100101111011001) and
1301        chkPeekBitsLsb("\2#01100110;\2#00101111;\2#1001;",                        1, 2, 16,      2#0100101111011001) and
1302        chkPeekBitsLsb("\2#11001010;\2#01011110;\2#010010;",                      1, 3, 16,      2#0100101111011001) and
1303        chkPeekBitsLsb("\2#11001101;\2#01011110;\2#101010;",                      1, 3, 16,      2#0100101111011001) and
1304        chkPeekBitsLsb("\2#10010101;\2#10111101;\2#01010100;",                    1, 4, 16,      2#0100101111011001) and
1305        chkPeekBitsLsb("\2#10011011;\2#10111101;\2#10110100;",                    1, 4, 16,      2#0100101111011001) and
1306        chkPeekBitsLsb("\2#00101011;\2#01111011;\2#01101001;\2#01;",              1, 5, 16,      2#0100101111011001) and
1307        chkPeekBitsLsb("\2#00110011;\2#01111011;\2#01101001;\2#10;",              1, 5, 16,      2#0100101111011001) and
1308        chkPeekBitsLsb("\2#01010011;\2#11110110;\2#11010010;\2#0100;",            1, 6, 16,      2#0100101111011001) and
1309        chkPeekBitsLsb("\2#01110101;\2#11110110;\2#01010010;\2#1101;",            1, 6, 16,      2#0100101111011001) and
1310        chkPeekBitsLsb("\2#10110101;\2#11101100;\2#10100101;\2#011010;",          1, 7, 16,      2#0100101111011001) and
1311        chkPeekBitsLsb("\2#11011001;\2#11101100;\2#10100101;\2#101100;",          1, 7, 16,      2#0100101111011001) and
1312        chkPeekBitsLsb("\2#01100111;\2#11011000;",                                1, 0, 16,      2#1101100001100111) and
1313        chkPeekBitsLsb("\2#11001110;\2#10110000;\2#01;",                          1, 1, 16,      2#1101100001100111) and
1314        chkPeekBitsLsb("\2#11001111;\2#10110000;\2#11;",                          1, 1, 16,      2#1101100001100111) and
1315        chkPeekBitsLsb("\2#10011101;\2#01100001;\2#0111;",                        1, 2, 16,      2#1101100001100111) and
1316        chkPeekBitsLsb("\2#10011110;\2#01100001;\2#1011;",                        1, 2, 16,      2#1101100001100111) and
1317        chkPeekBitsLsb("\2#00111010;\2#11000011;\2#010110;",                      1, 3, 16,      2#1101100001100111) and
1318        chkPeekBitsLsb("\2#00111101;\2#11000011;\2#101110;",                      1, 3, 16,      2#1101100001100111) and
1319        chkPeekBitsLsb("\2#01110101;\2#10000110;\2#01011101;",                    1, 4, 16,      2#1101100001100111) and
1320        chkPeekBitsLsb("\2#01111011;\2#10000110;\2#10111101;",                    1, 4, 16,      2#1101100001100111) and
1321        chkPeekBitsLsb("\2#11101011;\2#00001100;\2#01111011;\2#01;",              1, 5, 16,      2#1101100001100111) and
1322        chkPeekBitsLsb("\2#11110011;\2#00001100;\2#01111011;\2#10;",              1, 5, 16,      2#1101100001100111) and
1323        chkPeekBitsLsb("\2#11010011;\2#00011001;\2#11110110;\2#0100;",            1, 6, 16,      2#1101100001100111) and
1324        chkPeekBitsLsb("\2#11110101;\2#00011001;\2#01110110;\2#1101;",            1, 6, 16,      2#1101100001100111) and
1325        chkPeekBitsLsb("\2#10110101;\2#00110011;\2#11101100;\2#011010;",          1, 7, 16,      2#1101100001100111) and
1326        chkPeekBitsLsb("\2#11011001;\2#00110011;\2#11101100;\2#101100;",          1, 7, 16,      2#1101100001100111) and
1327        chkPeekBitsLsb("\2#01100111;\2#11011000;\2#0;",                           1, 0, 17,     2#01101100001100111) and
1328        chkPeekBitsLsb("\2#11001110;\2#10110000;\2#001;",                         1, 1, 17,     2#01101100001100111) and
1329        chkPeekBitsLsb("\2#11001111;\2#10110000;\2#101;",                         1, 1, 17,     2#01101100001100111) and
1330        chkPeekBitsLsb("\2#10011101;\2#01100001;\2#01011;",                       1, 2, 17,     2#01101100001100111) and
1331        chkPeekBitsLsb("\2#10011110;\2#01100001;\2#10011;",                       1, 2, 17,     2#01101100001100111) and
1332        chkPeekBitsLsb("\2#00111010;\2#11000011;\2#0100110;",                     1, 3, 17,     2#01101100001100111) and
1333        chkPeekBitsLsb("\2#00111101;\2#11000011;\2#1010110;",                     1, 3, 17,     2#01101100001100111) and
1334        chkPeekBitsLsb("\2#01110101;\2#10000110;\2#10101101;\2#0;",               1, 4, 17,     2#01101100001100111) and
1335        chkPeekBitsLsb("\2#01111011;\2#10000110;\2#01101101;\2#1;",               1, 4, 17,     2#01101100001100111) and
1336        chkPeekBitsLsb("\2#11101011;\2#00001100;\2#11011011;\2#010;",             1, 5, 17,     2#01101100001100111) and
1337        chkPeekBitsLsb("\2#11110011;\2#00001100;\2#11011011;\2#100;",             1, 5, 17,     2#01101100001100111) and
1338        chkPeekBitsLsb("\2#11010011;\2#00011001;\2#10110110;\2#01001;",           1, 6, 17,     2#01101100001100111) and
1339        chkPeekBitsLsb("\2#11110101;\2#00011001;\2#10110110;\2#11010;",           1, 6, 17,     2#01101100001100111) and
1340        chkPeekBitsLsb("\2#10110101;\2#00110011;\2#01101100;\2#0110101;",         1, 7, 17,     2#01101100001100111) and
1341        chkPeekBitsLsb("\2#11011001;\2#00110011;\2#01101100;\2#1011001;",         1, 7, 17,     2#01101100001100111) and
1342        chkPeekBitsLsb("\2#10011101;\2#01000101;\2#1;",                           1, 0, 17,     2#10100010110011101) and
1343        chkPeekBitsLsb("\2#00111010;\2#10001011;\2#010;",                         1, 1, 17,     2#10100010110011101) and
1344        chkPeekBitsLsb("\2#00111011;\2#10001011;\2#110;",                         1, 1, 17,     2#10100010110011101) and
1345        chkPeekBitsLsb("\2#01110101;\2#00010110;\2#01101;",                       1, 2, 17,     2#10100010110011101) and
1346        chkPeekBitsLsb("\2#01110110;\2#00010110;\2#10101;",                       1, 2, 17,     2#10100010110011101) and
1347        chkPeekBitsLsb("\2#11101010;\2#00101100;\2#0101010;",                     1, 3, 17,     2#10100010110011101) and
1348        chkPeekBitsLsb("\2#11101101;\2#00101100;\2#1011010;",                     1, 3, 17,     2#10100010110011101) and
1349        chkPeekBitsLsb("\2#11010101;\2#01011001;\2#10110100;\2#0;",               1, 4, 17,     2#10100010110011101) and
1350        chkPeekBitsLsb("\2#11011011;\2#01011001;\2#01110100;\2#1;",               1, 4, 17,     2#10100010110011101) and
1351        chkPeekBitsLsb("\2#10101011;\2#10110011;\2#11101000;\2#010;",             1, 5, 17,     2#10100010110011101) and
1352        chkPeekBitsLsb("\2#10110011;\2#10110011;\2#11101000;\2#100;",             1, 5, 17,     2#10100010110011101) and
1353        chkPeekBitsLsb("\2#01010011;\2#01100111;\2#11010001;\2#01001;",           1, 6, 17,     2#10100010110011101) and
1354        chkPeekBitsLsb("\2#01110101;\2#01100111;\2#11010001;\2#11010;",           1, 6, 17,     2#10100010110011101) and
1355        chkPeekBitsLsb("\2#10110101;\2#11001110;\2#10100010;\2#0110101;",         1, 7, 17,     2#10100010110011101) and
1356        chkPeekBitsLsb("\2#11011001;\2#11001110;\2#10100010;\2#1011001;",         1, 7, 17,     2#10100010110011101) and
1357        chkPeekBitsLsb("\2#10011101;\2#01000101;\2#01;",                          1, 0, 18,    2#010100010110011101) and
1358        chkPeekBitsLsb("\2#00111010;\2#10001011;\2#0010;",                        1, 1, 18,    2#010100010110011101) and
1359        chkPeekBitsLsb("\2#00111011;\2#10001011;\2#1010;",                        1, 1, 18,    2#010100010110011101) and
1360        chkPeekBitsLsb("\2#01110101;\2#00010110;\2#010101;",                      1, 2, 18,    2#010100010110011101) and
1361        chkPeekBitsLsb("\2#01110110;\2#00010110;\2#100101;",                      1, 2, 18,    2#010100010110011101) and
1362        chkPeekBitsLsb("\2#11101010;\2#00101100;\2#01001010;",                    1, 3, 18,    2#010100010110011101) and
1363        chkPeekBitsLsb("\2#11101101;\2#00101100;\2#10101010;",                    1, 3, 18,    2#010100010110011101) and
1364        chkPeekBitsLsb("\2#11010101;\2#01011001;\2#01010100;\2#01;",              1, 4, 18,    2#010100010110011101) and
1365        chkPeekBitsLsb("\2#11011011;\2#01011001;\2#11010100;\2#10;",              1, 4, 18,    2#010100010110011101) and
1366        chkPeekBitsLsb("\2#10101011;\2#10110011;\2#10101000;\2#0101;",            1, 5, 18,    2#010100010110011101) and
1367        chkPeekBitsLsb("\2#10110011;\2#10110011;\2#10101000;\2#1001;",            1, 5, 18,    2#010100010110011101) and
1368        chkPeekBitsLsb("\2#01010011;\2#01100111;\2#01010001;\2#010011;",          1, 6, 18,    2#010100010110011101) and
1369        chkPeekBitsLsb("\2#01110101;\2#01100111;\2#01010001;\2#110101;",          1, 6, 18,    2#010100010110011101) and
1370        chkPeekBitsLsb("\2#10110101;\2#11001110;\2#10100010;\2#01101010;",        1, 7, 18,    2#010100010110011101) and
1371        chkPeekBitsLsb("\2#11011001;\2#11001110;\2#10100010;\2#10110010;",        1, 7, 18,    2#010100010110011101) and
1372        chkPeekBitsLsb("\2#11011101;\2#10010100;\2#10;",                          1, 0, 18,    2#101001010011011101) and
1373        chkPeekBitsLsb("\2#10111010;\2#00101001;\2#0101;",                        1, 1, 18,    2#101001010011011101) and
1374        chkPeekBitsLsb("\2#10111011;\2#00101001;\2#1101;",                        1, 1, 18,    2#101001010011011101) and
1375        chkPeekBitsLsb("\2#01110101;\2#01010011;\2#011010;",                      1, 2, 18,    2#101001010011011101) and
1376        chkPeekBitsLsb("\2#01110110;\2#01010011;\2#101010;",                      1, 2, 18,    2#101001010011011101) and
1377        chkPeekBitsLsb("\2#11101010;\2#10100110;\2#01010100;",                    1, 3, 18,    2#101001010011011101) and
1378        chkPeekBitsLsb("\2#11101101;\2#10100110;\2#10110100;",                    1, 3, 18,    2#101001010011011101) and
1379        chkPeekBitsLsb("\2#11010101;\2#01001101;\2#01101001;\2#01;",              1, 4, 18,    2#101001010011011101) and
1380        chkPeekBitsLsb("\2#11011011;\2#01001101;\2#11101001;\2#10;",              1, 4, 18,    2#101001010011011101) and
1381        chkPeekBitsLsb("\2#10101011;\2#10011011;\2#11010010;\2#0101;",            1, 5, 18,    2#101001010011011101) and
1382        chkPeekBitsLsb("\2#10110011;\2#10011011;\2#11010010;\2#1001;",            1, 5, 18,    2#101001010011011101) and
1383        chkPeekBitsLsb("\2#01010011;\2#00110111;\2#10100101;\2#010011;",          1, 6, 18,    2#101001010011011101) and
1384        chkPeekBitsLsb("\2#01110101;\2#00110111;\2#10100101;\2#110101;",          1, 6, 18,    2#101001010011011101) and
1385        chkPeekBitsLsb("\2#10110101;\2#01101110;\2#01001010;\2#01101011;",        1, 7, 18,    2#101001010011011101) and
1386        chkPeekBitsLsb("\2#11011001;\2#01101110;\2#01001010;\2#10110011;",        1, 7, 18,    2#101001010011011101) and
1387        chkPeekBitsLsb("\2#11011101;\2#10010100;\2#010;",                         1, 0, 19,   2#0101001010011011101) and
1388        chkPeekBitsLsb("\2#10111010;\2#00101001;\2#00101;",                       1, 1, 19,   2#0101001010011011101) and
1389        chkPeekBitsLsb("\2#10111011;\2#00101001;\2#10101;",                       1, 1, 19,   2#0101001010011011101) and
1390        chkPeekBitsLsb("\2#01110101;\2#01010011;\2#0101010;",                     1, 2, 19,   2#0101001010011011101) and
1391        chkPeekBitsLsb("\2#01110110;\2#01010011;\2#1001010;",                     1, 2, 19,   2#0101001010011011101) and
1392        chkPeekBitsLsb("\2#11101010;\2#10100110;\2#10010100;\2#0;",               1, 3, 19,   2#0101001010011011101) and
1393        chkPeekBitsLsb("\2#11101101;\2#10100110;\2#01010100;\2#1;",               1, 3, 19,   2#0101001010011011101) and
1394        chkPeekBitsLsb("\2#11010101;\2#01001101;\2#10101001;\2#010;",             1, 4, 19,   2#0101001010011011101) and
1395        chkPeekBitsLsb("\2#11011011;\2#01001101;\2#10101001;\2#101;",             1, 4, 19,   2#0101001010011011101) and
1396        chkPeekBitsLsb("\2#10101011;\2#10011011;\2#01010010;\2#01011;",           1, 5, 19,   2#0101001010011011101) and
1397        chkPeekBitsLsb("\2#10110011;\2#10011011;\2#01010010;\2#10011;",           1, 5, 19,   2#0101001010011011101) and
1398        chkPeekBitsLsb("\2#01010011;\2#00110111;\2#10100101;\2#0100110;",         1, 6, 19,   2#0101001010011011101) and
1399        chkPeekBitsLsb("\2#01110101;\2#00110111;\2#10100101;\2#1101010;",         1, 6, 19,   2#0101001010011011101) and
1400        chkPeekBitsLsb("\2#10110101;\2#01101110;\2#01001010;\2#11010101;\2#0;",   1, 7, 19,   2#0101001010011011101) and
1401        chkPeekBitsLsb("\2#11011001;\2#01101110;\2#01001010;\2#01100101;\2#1;",   1, 7, 19,   2#0101001010011011101) and
1402        chkPeekBitsLsb("\2#11001001;\2#11011001;\2#110;",                         1, 0, 19,   2#1101101100111001001) and
1403        chkPeekBitsLsb("\2#10010010;\2#10110011;\2#01101;",                       1, 1, 19,   2#1101101100111001001) and
1404        chkPeekBitsLsb("\2#10010011;\2#10110011;\2#11101;",                       1, 1, 19,   2#1101101100111001001) and
1405        chkPeekBitsLsb("\2#00100101;\2#01100111;\2#0111011;",                     1, 2, 19,   2#1101101100111001001) and
1406        chkPeekBitsLsb("\2#00100110;\2#01100111;\2#1011011;",                     1, 2, 19,   2#1101101100111001001) and
1407        chkPeekBitsLsb("\2#01001010;\2#11001110;\2#10110110;\2#0;",               1, 3, 19,   2#1101101100111001001) and
1408        chkPeekBitsLsb("\2#01001101;\2#11001110;\2#01110110;\2#1;",               1, 3, 19,   2#1101101100111001001) and
1409        chkPeekBitsLsb("\2#10010101;\2#10011100;\2#11101101;\2#010;",             1, 4, 19,   2#1101101100111001001) and
1410        chkPeekBitsLsb("\2#10011011;\2#10011100;\2#11101101;\2#101;",             1, 4, 19,   2#1101101100111001001) and
1411        chkPeekBitsLsb("\2#00101011;\2#00111001;\2#11011011;\2#01011;",           1, 5, 19,   2#1101101100111001001) and
1412        chkPeekBitsLsb("\2#00110011;\2#00111001;\2#11011011;\2#10011;",           1, 5, 19,   2#1101101100111001001) and
1413        chkPeekBitsLsb("\2#01010011;\2#01110010;\2#10110110;\2#0100111;",         1, 6, 19,   2#1101101100111001001) and
1414        chkPeekBitsLsb("\2#01110101;\2#01110010;\2#10110110;\2#1101011;",         1, 6, 19,   2#1101101100111001001) and
1415        chkPeekBitsLsb("\2#10110101;\2#11100100;\2#01101100;\2#11010111;\2#0;",   1, 7, 19,   2#1101101100111001001) and
1416        chkPeekBitsLsb("\2#11011001;\2#11100100;\2#01101100;\2#01100111;\2#1;",   1, 7, 19,   2#1101101100111001001) and
1417        chkPeekBitsLsb("\2#11001001;\2#11011001;\2#0110;",                        1, 0, 20,  2#01101101100111001001) and
1418        chkPeekBitsLsb("\2#10010010;\2#10110011;\2#001101;",                      1, 1, 20,  2#01101101100111001001) and
1419        chkPeekBitsLsb("\2#10010011;\2#10110011;\2#101101;",                      1, 1, 20,  2#01101101100111001001) and
1420        chkPeekBitsLsb("\2#00100101;\2#01100111;\2#01011011;",                    1, 2, 20,  2#01101101100111001001) and
1421        chkPeekBitsLsb("\2#00100110;\2#01100111;\2#10011011;",                    1, 2, 20,  2#01101101100111001001) and
1422        chkPeekBitsLsb("\2#01001010;\2#11001110;\2#00110110;\2#01;",              1, 3, 20,  2#01101101100111001001) and
1423        chkPeekBitsLsb("\2#01001101;\2#11001110;\2#10110110;\2#10;",              1, 3, 20,  2#01101101100111001001) and
1424        chkPeekBitsLsb("\2#10010101;\2#10011100;\2#01101101;\2#0101;",            1, 4, 20,  2#01101101100111001001) and
1425        chkPeekBitsLsb("\2#10011011;\2#10011100;\2#01101101;\2#1011;",            1, 4, 20,  2#01101101100111001001) and
1426        chkPeekBitsLsb("\2#00101011;\2#00111001;\2#11011011;\2#010110;",          1, 5, 20,  2#01101101100111001001) and
1427        chkPeekBitsLsb("\2#00110011;\2#00111001;\2#11011011;\2#100110;",          1, 5, 20,  2#01101101100111001001) and
1428        chkPeekBitsLsb("\2#01010011;\2#01110010;\2#10110110;\2#01001101;",        1, 6, 20,  2#01101101100111001001) and
1429        chkPeekBitsLsb("\2#01110101;\2#01110010;\2#10110110;\2#11010101;",        1, 6, 20,  2#01101101100111001001) and
1430        chkPeekBitsLsb("\2#10110101;\2#11100100;\2#01101100;\2#10101011;\2#01;",  1, 7, 20,  2#01101101100111001001) and
1431        chkPeekBitsLsb("\2#11011001;\2#11100100;\2#01101100;\2#11001011;\2#10;",  1, 7, 20,  2#01101101100111001001) and
1432        chkPeekBitsLsb("\2#11001001;\2#01111110;\2#1110;",                        1, 0, 20,  2#11100111111011001001) and
1433        chkPeekBitsLsb("\2#10010010;\2#11111101;\2#011100;",                      1, 1, 20,  2#11100111111011001001) and
1434        chkPeekBitsLsb("\2#10010011;\2#11111101;\2#111100;",                      1, 1, 20,  2#11100111111011001001) and
1435        chkPeekBitsLsb("\2#00100101;\2#11111011;\2#01111001;",                    1, 2, 20,  2#11100111111011001001) and
1436        chkPeekBitsLsb("\2#00100110;\2#11111011;\2#10111001;",                    1, 2, 20,  2#11100111111011001001) and
1437        chkPeekBitsLsb("\2#01001010;\2#11110110;\2#01110011;\2#01;",              1, 3, 20,  2#11100111111011001001) and
1438        chkPeekBitsLsb("\2#01001101;\2#11110110;\2#11110011;\2#10;",              1, 3, 20,  2#11100111111011001001) and
1439        chkPeekBitsLsb("\2#10010101;\2#11101100;\2#11100111;\2#0101;",            1, 4, 20,  2#11100111111011001001) and
1440        chkPeekBitsLsb("\2#10011011;\2#11101100;\2#11100111;\2#1011;",            1, 4, 20,  2#11100111111011001001) and
1441        chkPeekBitsLsb("\2#00101011;\2#11011001;\2#11001111;\2#010111;",          1, 5, 20,  2#11100111111011001001) and
1442        chkPeekBitsLsb("\2#00110011;\2#11011001;\2#11001111;\2#100111;",          1, 5, 20,  2#11100111111011001001) and
1443        chkPeekBitsLsb("\2#01010011;\2#10110010;\2#10011111;\2#01001111;",        1, 6, 20,  2#11100111111011001001) and
1444        chkPeekBitsLsb("\2#01110101;\2#10110010;\2#10011111;\2#11010111;",        1, 6, 20,  2#11100111111011001001) and
1445        chkPeekBitsLsb("\2#10110101;\2#01100100;\2#00111111;\2#10101111;\2#01;",  1, 7, 20,  2#11100111111011001001) and
1446        chkPeekBitsLsb("\2#11011001;\2#01100100;\2#00111111;\2#11001111;\2#10;",  1, 7, 20,  2#11100111111011001001) and
1447        chkPeekBitsLsb("\2#11001001;\2#01111110;\2#01110;",                       1, 0, 21, 2#011100111111011001001) and
1448        chkPeekBitsLsb("\2#10010010;\2#11111101;\2#0011100;",                     1, 1, 21, 2#011100111111011001001) and
1449        chkPeekBitsLsb("\2#10010011;\2#11111101;\2#1011100;",                     1, 1, 21, 2#011100111111011001001) and
1450        chkPeekBitsLsb("\2#00100101;\2#11111011;\2#10111001;\2#0;",               1, 2, 21, 2#011100111111011001001) and
1451        chkPeekBitsLsb("\2#00100110;\2#11111011;\2#00111001;\2#1;",               1, 2, 21, 2#011100111111011001001) and
1452        chkPeekBitsLsb("\2#01001010;\2#11110110;\2#01110011;\2#010;",             1, 3, 21, 2#011100111111011001001) and
1453        chkPeekBitsLsb("\2#01001101;\2#11110110;\2#01110011;\2#101;",             1, 3, 21, 2#011100111111011001001) and
1454        chkPeekBitsLsb("\2#10010101;\2#11101100;\2#11100111;\2#01010;",           1, 4, 21, 2#011100111111011001001) and
1455        chkPeekBitsLsb("\2#10011011;\2#11101100;\2#11100111;\2#10110;",           1, 4, 21, 2#011100111111011001001) and
1456        chkPeekBitsLsb("\2#00101011;\2#11011001;\2#11001111;\2#0101101;",         1, 5, 21, 2#011100111111011001001) and
1457        chkPeekBitsLsb("\2#00110011;\2#11011001;\2#11001111;\2#1001101;",         1, 5, 21, 2#011100111111011001001) and
1458        chkPeekBitsLsb("\2#01010011;\2#10110010;\2#10011111;\2#10011011;\2#0;",   1, 6, 21, 2#011100111111011001001) and
1459        chkPeekBitsLsb("\2#01110101;\2#10110010;\2#10011111;\2#10101011;\2#1;",   1, 6, 21, 2#011100111111011001001) and
1460        chkPeekBitsLsb("\2#10110101;\2#01100100;\2#00111111;\2#01010111;\2#011;", 1, 7, 21, 2#011100111111011001001) and
1461        chkPeekBitsLsb("\2#11011001;\2#01100100;\2#00111111;\2#10010111;\2#101;", 1, 7, 21, 2#011100111111011001001) and
1462        chkPeekBitsLsb("\2#11000111;\2#00100101;\2#10100;",                       1, 0, 21, 2#101000010010111000111) and
1463        chkPeekBitsLsb("\2#10001110;\2#01001011;\2#0101000;",                     1, 1, 21, 2#101000010010111000111) and
1464        chkPeekBitsLsb("\2#10001111;\2#01001011;\2#1101000;",                     1, 1, 21, 2#101000010010111000111) and
1465        chkPeekBitsLsb("\2#00011101;\2#10010111;\2#11010000;\2#0;",               1, 2, 21, 2#101000010010111000111) and
1466        chkPeekBitsLsb("\2#00011110;\2#10010111;\2#01010000;\2#1;",               1, 2, 21, 2#101000010010111000111) and
1467        chkPeekBitsLsb("\2#00111010;\2#00101110;\2#10100001;\2#010;",             1, 3, 21, 2#101000010010111000111) and
1468        chkPeekBitsLsb("\2#00111101;\2#00101110;\2#10100001;\2#101;",             1, 3, 21, 2#101000010010111000111) and
1469        chkPeekBitsLsb("\2#01110101;\2#01011100;\2#01000010;\2#01011;",           1, 4, 21, 2#101000010010111000111) and
1470        chkPeekBitsLsb("\2#01111011;\2#01011100;\2#01000010;\2#10111;",           1, 4, 21, 2#101000010010111000111) and
1471        chkPeekBitsLsb("\2#11101011;\2#10111000;\2#10000100;\2#0101110;",         1, 5, 21, 2#101000010010111000111) and
1472        chkPeekBitsLsb("\2#11110011;\2#10111000;\2#10000100;\2#1001110;",         1, 5, 21, 2#101000010010111000111) and
1473        chkPeekBitsLsb("\2#11010011;\2#01110001;\2#00001001;\2#10011101;\2#0;",   1, 6, 21, 2#101000010010111000111) and
1474        chkPeekBitsLsb("\2#11110101;\2#01110001;\2#00001001;\2#10101101;\2#1;",   1, 6, 21, 2#101000010010111000111) and
1475        chkPeekBitsLsb("\2#10110101;\2#11100011;\2#00010010;\2#01011010;\2#011;", 1, 7, 21, 2#101000010010111000111) and
1476        chkPeekBitsLsb("\2#11011001;\2#11100011;\2#00010010;\2#10011010;\2#101;", 1, 7, 21, 2#101000010010111000111) then
1477      writeln("peekBitsLsb works correct.");
1478    end if;
1479  end func;
1480
1481
1482const func boolean: chkPutBitLsb (in string: stri, in integer: bitPos,
1483    in integer: bit, in string: striExpected, in integer: bitPosExpected) is func
1484  result
1485    var boolean: okay is TRUE;
1486  local
1487    var string: striVar is "";
1488    var integer: bitPosVar is 0;
1489    var file: testFile is STD_NULL;
1490  begin
1491    striVar := stri;
1492    bitPosVar := bitPos;
1493    putBitLsb(striVar, bitPosVar, bit);
1494    if striVar <> striExpected or bitPosVar <> bitPosExpected then
1495      okay := FALSE;
1496      write("putBitLsb(\"");
1497      if length(stri) >= 1 then
1498        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
1499      end if;
1500      writeln("\", " <& bitPos <& ", " <& bit radix 2 <& ")");
1501      if striVar <> striExpected  then
1502        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
1503      end if;
1504      if bitPosVar <> bitPosExpected then
1505        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
1506      end if;
1507    end if;
1508    if bitPos = 0 then
1509      testFile := openStriFile(stri);
1510      testFile.bufferChar := '\0;';
1511    else
1512      testFile := openStriFile(stri[.. pred(length(stri))]);
1513      testFile.bufferChar := stri[length(stri)];
1514    end if;
1515    bitPosVar := bitPos;
1516    putBitLsb(testFile, bitPosVar, bit);
1517    seek(testFile, 1);
1518    striVar := gets(testFile, length(testFile));
1519    if bitPosVar <> 0 then
1520      striVar &:= testFile.bufferChar;
1521    end if;
1522    if striVar <> striExpected or bitPosVar <> bitPosExpected or (bitPosVar = 0 and testFile.bufferChar <> '\0;') then
1523      okay := FALSE;
1524      write("\"");
1525      if length(stri) >= 1 then
1526        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
1527      end if;
1528      writeln("\": putBitLsb(testFile, " <& bitPos <& ", " <& bit radix 2 <& ")");
1529      if striVar <> striExpected  then
1530        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
1531      end if;
1532      if bitPosVar <> bitPosExpected then
1533        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
1534      end if;
1535      if bitPosVar = 0 and testFile.bufferChar <> '\0;' then
1536        writeln(" ***** Expected bufferChar to be '\\0;' if bitPos is 0. Found '\\" <& ord(testFile.bufferChar) <& ";'");
1537      end if;
1538    end if;
1539  end func;
1540
1541
1542const proc: chkPutBitLsb is func
1543  begin
1544    if  chkPutBitLsb(           "", 0, 2#0, "\2#0;", 1) and
1545        chkPutBitLsb(      "\2#0;", 1, 2#0, "\2#00;", 2) and
1546        chkPutBitLsb(      "\2#1;", 1, 2#0, "\2#01;", 2) and
1547        chkPutBitLsb(     "\2#01;", 2, 2#0, "\2#001;", 3) and
1548        chkPutBitLsb(     "\2#10;", 2, 2#0, "\2#010;", 3) and
1549        chkPutBitLsb(    "\2#010;", 3, 2#0, "\2#0010;", 4) and
1550        chkPutBitLsb(    "\2#101;", 3, 2#0, "\2#0101;", 4) and
1551        chkPutBitLsb(   "\2#0101;", 4, 2#0, "\2#00101;", 5) and
1552        chkPutBitLsb(   "\2#1011;", 4, 2#0, "\2#01011;", 5) and
1553        chkPutBitLsb(  "\2#01011;", 5, 2#0, "\2#001011;", 6) and
1554        chkPutBitLsb(  "\2#10011;", 5, 2#0, "\2#010011;", 6) and
1555        chkPutBitLsb( "\2#010011;", 6, 2#0, "\2#0010011;", 7) and
1556        chkPutBitLsb( "\2#110101;", 6, 2#0, "\2#0110101;", 7) and
1557        chkPutBitLsb("\2#0110101;", 7, 2#0, "\2#00110101;", 0) and
1558        chkPutBitLsb("\2#1011001;", 7, 2#0, "\2#01011001;", 0) and
1559        chkPutBitLsb(           "", 0, 2#1, "\2#1;", 1) and
1560        chkPutBitLsb(      "\2#0;", 1, 2#1, "\2#10;", 2) and
1561        chkPutBitLsb(      "\2#1;", 1, 2#1, "\2#11;", 2) and
1562        chkPutBitLsb(     "\2#01;", 2, 2#1, "\2#101;", 3) and
1563        chkPutBitLsb(     "\2#10;", 2, 2#1, "\2#110;", 3) and
1564        chkPutBitLsb(    "\2#010;", 3, 2#1, "\2#1010;", 4) and
1565        chkPutBitLsb(    "\2#101;", 3, 2#1, "\2#1101;", 4) and
1566        chkPutBitLsb(   "\2#0101;", 4, 2#1, "\2#10101;", 5) and
1567        chkPutBitLsb(   "\2#1011;", 4, 2#1, "\2#11011;", 5) and
1568        chkPutBitLsb(  "\2#01011;", 5, 2#1, "\2#101011;", 6) and
1569        chkPutBitLsb(  "\2#10011;", 5, 2#1, "\2#110011;", 6) and
1570        chkPutBitLsb( "\2#010011;", 6, 2#1, "\2#1010011;", 7) and
1571        chkPutBitLsb( "\2#110101;", 6, 2#1, "\2#1110101;", 7) and
1572        chkPutBitLsb("\2#0110101;", 7, 2#1, "\2#10110101;", 0) and
1573        chkPutBitLsb("\2#1011001;", 7, 2#1, "\2#11011001;", 0) then
1574      writeln("putBitLsb works correct.");
1575    end if;
1576  end func;
1577
1578
1579const func boolean: chkPutBitsLsb (in string: stri, in integer: bitPos,
1580    in integer: bits, in integer: bitsToWrite, in string: striExpected,
1581    in integer: bitPosExpected) is func
1582  result
1583    var boolean: okay is TRUE;
1584  local
1585    var string: striVar is "";
1586    var integer: bitPosVar is 0;
1587    var file: testFile is STD_NULL;
1588  begin
1589    striVar := stri;
1590    bitPosVar := bitPos;
1591    putBitsLsb(striVar, bitPosVar, bits, bitsToWrite);
1592    if striVar <> striExpected or bitPosVar <> bitPosExpected then
1593      okay := FALSE;
1594      write("putBitsLsb(\"");
1595      if length(stri) >= 1 then
1596        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
1597      end if;
1598      writeln("\", " <& bitPos <& ", " <& bits radix 2 <& ", " <& bitsToWrite <& ")");
1599      if striVar <> striExpected  then
1600        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
1601      end if;
1602      if bitPosVar <> bitPosExpected then
1603        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
1604      end if;
1605    end if;
1606    if bitPos = 0 then
1607      testFile := openStriFile(stri);
1608      testFile.bufferChar := '\0;';
1609    else
1610      testFile := openStriFile(stri[.. pred(length(stri))]);
1611      testFile.bufferChar := stri[length(stri)];
1612    end if;
1613    bitPosVar := bitPos;
1614    putBitsLsb(testFile, bitPosVar, bits, bitsToWrite);
1615    seek(testFile, 1);
1616    striVar := gets(testFile, length(testFile));
1617    if bitPosVar <> 0 then
1618      striVar &:= testFile.bufferChar;
1619    end if;
1620    if striVar <> striExpected or bitPosVar <> bitPosExpected or (bitPosVar = 0 and testFile.bufferChar <> '\0;') then
1621      okay := FALSE;
1622      write("\"");
1623      if length(stri) >= 1 then
1624        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
1625      end if;
1626      writeln("\": putBitsLsb(testFile, " <& bitPos <& ", " <& bits radix 2 <& ", " <& bitsToWrite <& ")");
1627      if striVar <> striExpected  then
1628        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
1629      end if;
1630      if bitPosVar <> bitPosExpected then
1631        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
1632      end if;
1633      if bitPosVar = 0 and testFile.bufferChar <> '\0;' then
1634        writeln(" ***** Expected bufferChar to be '\\0;' if bitPos is 0. Found '\\" <& ord(testFile.bufferChar) <& ";'");
1635      end if;
1636    end if;
1637  end func;
1638
1639
1640const proc: chkPutBitsLsb is func
1641  begin
1642    if  chkPutBitsLsb(           "", 0,                     2#0,  1, "\2#0;", 1) and
1643        chkPutBitsLsb(      "\2#0;", 1,                     2#0,  1, "\2#00;", 2) and
1644        chkPutBitsLsb(      "\2#1;", 1,                     2#0,  1, "\2#01;", 2) and
1645        chkPutBitsLsb(     "\2#01;", 2,                     2#0,  1, "\2#001;", 3) and
1646        chkPutBitsLsb(     "\2#10;", 2,                     2#0,  1, "\2#010;", 3) and
1647        chkPutBitsLsb(    "\2#010;", 3,                     2#0,  1, "\2#0010;", 4) and
1648        chkPutBitsLsb(    "\2#101;", 3,                     2#0,  1, "\2#0101;", 4) and
1649        chkPutBitsLsb(   "\2#0101;", 4,                     2#0,  1, "\2#00101;", 5) and
1650        chkPutBitsLsb(   "\2#1011;", 4,                     2#0,  1, "\2#01011;", 5) and
1651        chkPutBitsLsb(  "\2#01011;", 5,                     2#0,  1, "\2#001011;", 6) and
1652        chkPutBitsLsb(  "\2#10011;", 5,                     2#0,  1, "\2#010011;", 6) and
1653        chkPutBitsLsb( "\2#010011;", 6,                     2#0,  1, "\2#0010011;", 7) and
1654        chkPutBitsLsb( "\2#110101;", 6,                     2#0,  1, "\2#0110101;", 7) and
1655        chkPutBitsLsb("\2#0110101;", 7,                     2#0,  1, "\2#00110101;", 0) and
1656        chkPutBitsLsb("\2#1011001;", 7,                     2#0,  1, "\2#01011001;", 0) and
1657        chkPutBitsLsb(           "", 0,                     2#1,  1, "\2#1;", 1) and
1658        chkPutBitsLsb(      "\2#0;", 1,                     2#1,  1, "\2#10;", 2) and
1659        chkPutBitsLsb(      "\2#1;", 1,                     2#1,  1, "\2#11;", 2) and
1660        chkPutBitsLsb(     "\2#01;", 2,                     2#1,  1, "\2#101;", 3) and
1661        chkPutBitsLsb(     "\2#10;", 2,                     2#1,  1, "\2#110;", 3) and
1662        chkPutBitsLsb(    "\2#010;", 3,                     2#1,  1, "\2#1010;", 4) and
1663        chkPutBitsLsb(    "\2#101;", 3,                     2#1,  1, "\2#1101;", 4) and
1664        chkPutBitsLsb(   "\2#0101;", 4,                     2#1,  1, "\2#10101;", 5) and
1665        chkPutBitsLsb(   "\2#1011;", 4,                     2#1,  1, "\2#11011;", 5) and
1666        chkPutBitsLsb(  "\2#01011;", 5,                     2#1,  1, "\2#101011;", 6) and
1667        chkPutBitsLsb(  "\2#10011;", 5,                     2#1,  1, "\2#110011;", 6) and
1668        chkPutBitsLsb( "\2#010011;", 6,                     2#1,  1, "\2#1010011;", 7) and
1669        chkPutBitsLsb( "\2#110101;", 6,                     2#1,  1, "\2#1110101;", 7) and
1670        chkPutBitsLsb("\2#0110101;", 7,                     2#1,  1, "\2#10110101;", 0) and
1671        chkPutBitsLsb("\2#1011001;", 7,                     2#1,  1, "\2#11011001;", 0) and
1672        chkPutBitsLsb(           "", 0,                    2#01,  2, "\2#01;", 2) and
1673        chkPutBitsLsb(      "\2#0;", 1,                    2#01,  2, "\2#010;", 3) and
1674        chkPutBitsLsb(      "\2#1;", 1,                    2#01,  2, "\2#011;", 3) and
1675        chkPutBitsLsb(     "\2#01;", 2,                    2#01,  2, "\2#0101;", 4) and
1676        chkPutBitsLsb(     "\2#10;", 2,                    2#01,  2, "\2#0110;", 4) and
1677        chkPutBitsLsb(    "\2#010;", 3,                    2#01,  2, "\2#01010;", 5) and
1678        chkPutBitsLsb(    "\2#101;", 3,                    2#01,  2, "\2#01101;", 5) and
1679        chkPutBitsLsb(   "\2#0101;", 4,                    2#01,  2, "\2#010101;", 6) and
1680        chkPutBitsLsb(   "\2#1011;", 4,                    2#01,  2, "\2#011011;", 6) and
1681        chkPutBitsLsb(  "\2#01011;", 5,                    2#01,  2, "\2#0101011;", 7) and
1682        chkPutBitsLsb(  "\2#10011;", 5,                    2#01,  2, "\2#0110011;", 7) and
1683        chkPutBitsLsb( "\2#010011;", 6,                    2#01,  2, "\2#01010011;", 0) and
1684        chkPutBitsLsb( "\2#110101;", 6,                    2#01,  2, "\2#01110101;", 0) and
1685        chkPutBitsLsb("\2#0110101;", 7,                    2#01,  2, "\2#10110101;\2#0;", 1) and
1686        chkPutBitsLsb("\2#1011001;", 7,                    2#01,  2, "\2#11011001;\2#0;", 1) and
1687        chkPutBitsLsb(           "", 0,                    2#10,  2, "\2#10;", 2) and
1688        chkPutBitsLsb(      "\2#0;", 1,                    2#10,  2, "\2#100;", 3) and
1689        chkPutBitsLsb(      "\2#1;", 1,                    2#10,  2, "\2#101;", 3) and
1690        chkPutBitsLsb(     "\2#01;", 2,                    2#10,  2, "\2#1001;", 4) and
1691        chkPutBitsLsb(     "\2#10;", 2,                    2#10,  2, "\2#1010;", 4) and
1692        chkPutBitsLsb(    "\2#010;", 3,                    2#10,  2, "\2#10010;", 5) and
1693        chkPutBitsLsb(    "\2#101;", 3,                    2#10,  2, "\2#10101;", 5) and
1694        chkPutBitsLsb(   "\2#0101;", 4,                    2#10,  2, "\2#100101;", 6) and
1695        chkPutBitsLsb(   "\2#1011;", 4,                    2#10,  2, "\2#101011;", 6) and
1696        chkPutBitsLsb(  "\2#01011;", 5,                    2#10,  2, "\2#1001011;", 7) and
1697        chkPutBitsLsb(  "\2#10011;", 5,                    2#10,  2, "\2#1010011;", 7) and
1698        chkPutBitsLsb( "\2#010011;", 6,                    2#10,  2, "\2#10010011;", 0) and
1699        chkPutBitsLsb( "\2#110101;", 6,                    2#10,  2, "\2#10110101;", 0) and
1700        chkPutBitsLsb("\2#0110101;", 7,                    2#10,  2, "\2#00110101;\2#1;", 1) and
1701        chkPutBitsLsb("\2#1011001;", 7,                    2#10,  2, "\2#01011001;\2#1;", 1) and
1702        chkPutBitsLsb(           "", 0,                   2#010,  3, "\2#010;", 3) and
1703        chkPutBitsLsb(      "\2#0;", 1,                   2#010,  3, "\2#0100;", 4) and
1704        chkPutBitsLsb(      "\2#1;", 1,                   2#010,  3, "\2#0101;", 4) and
1705        chkPutBitsLsb(     "\2#01;", 2,                   2#010,  3, "\2#01001;", 5) and
1706        chkPutBitsLsb(     "\2#10;", 2,                   2#010,  3, "\2#01010;", 5) and
1707        chkPutBitsLsb(    "\2#010;", 3,                   2#010,  3, "\2#010010;", 6) and
1708        chkPutBitsLsb(    "\2#101;", 3,                   2#010,  3, "\2#010101;", 6) and
1709        chkPutBitsLsb(   "\2#0101;", 4,                   2#010,  3, "\2#0100101;", 7) and
1710        chkPutBitsLsb(   "\2#1011;", 4,                   2#010,  3, "\2#0101011;", 7) and
1711        chkPutBitsLsb(  "\2#01011;", 5,                   2#010,  3, "\2#01001011;", 0) and
1712        chkPutBitsLsb(  "\2#10011;", 5,                   2#010,  3, "\2#01010011;", 0) and
1713        chkPutBitsLsb( "\2#010011;", 6,                   2#010,  3, "\2#10010011;\2#0;", 1) and
1714        chkPutBitsLsb( "\2#110101;", 6,                   2#010,  3, "\2#10110101;\2#0;", 1) and
1715        chkPutBitsLsb("\2#0110101;", 7,                   2#010,  3, "\2#00110101;\2#01;", 2) and
1716        chkPutBitsLsb("\2#1011001;", 7,                   2#010,  3, "\2#01011001;\2#01;", 2) and
1717        chkPutBitsLsb(           "", 0,                   2#101,  3, "\2#101;", 3) and
1718        chkPutBitsLsb(      "\2#0;", 1,                   2#101,  3, "\2#1010;", 4) and
1719        chkPutBitsLsb(      "\2#1;", 1,                   2#101,  3, "\2#1011;", 4) and
1720        chkPutBitsLsb(     "\2#01;", 2,                   2#101,  3, "\2#10101;", 5) and
1721        chkPutBitsLsb(     "\2#10;", 2,                   2#101,  3, "\2#10110;", 5) and
1722        chkPutBitsLsb(    "\2#010;", 3,                   2#101,  3, "\2#101010;", 6) and
1723        chkPutBitsLsb(    "\2#101;", 3,                   2#101,  3, "\2#101101;", 6) and
1724        chkPutBitsLsb(   "\2#0101;", 4,                   2#101,  3, "\2#1010101;", 7) and
1725        chkPutBitsLsb(   "\2#1011;", 4,                   2#101,  3, "\2#1011011;", 7) and
1726        chkPutBitsLsb(  "\2#01011;", 5,                   2#101,  3, "\2#10101011;", 0) and
1727        chkPutBitsLsb(  "\2#10011;", 5,                   2#101,  3, "\2#10110011;", 0) and
1728        chkPutBitsLsb( "\2#010011;", 6,                   2#101,  3, "\2#01010011;\2#1;", 1) and
1729        chkPutBitsLsb( "\2#110101;", 6,                   2#101,  3, "\2#01110101;\2#1;", 1) and
1730        chkPutBitsLsb("\2#0110101;", 7,                   2#101,  3, "\2#10110101;\2#10;", 2) and
1731        chkPutBitsLsb("\2#1011001;", 7,                   2#101,  3, "\2#11011001;\2#10;", 2) and
1732        chkPutBitsLsb(           "", 0,                  2#0101,  4, "\2#0101;", 4) and
1733        chkPutBitsLsb(      "\2#0;", 1,                  2#0101,  4, "\2#01010;", 5) and
1734        chkPutBitsLsb(      "\2#1;", 1,                  2#0101,  4, "\2#01011;", 5) and
1735        chkPutBitsLsb(     "\2#01;", 2,                  2#0101,  4, "\2#010101;", 6) and
1736        chkPutBitsLsb(     "\2#10;", 2,                  2#0101,  4, "\2#010110;", 6) and
1737        chkPutBitsLsb(    "\2#010;", 3,                  2#0101,  4, "\2#0101010;", 7) and
1738        chkPutBitsLsb(    "\2#101;", 3,                  2#0101,  4, "\2#0101101;", 7) and
1739        chkPutBitsLsb(   "\2#0101;", 4,                  2#0101,  4, "\2#01010101;", 0) and
1740        chkPutBitsLsb(   "\2#1011;", 4,                  2#0101,  4, "\2#01011011;", 0) and
1741        chkPutBitsLsb(  "\2#01011;", 5,                  2#0101,  4, "\2#10101011;\2#0;", 1) and
1742        chkPutBitsLsb(  "\2#10011;", 5,                  2#0101,  4, "\2#10110011;\2#0;", 1) and
1743        chkPutBitsLsb( "\2#010011;", 6,                  2#0101,  4, "\2#01010011;\2#01;", 2) and
1744        chkPutBitsLsb( "\2#110101;", 6,                  2#0101,  4, "\2#01110101;\2#01;", 2) and
1745        chkPutBitsLsb("\2#0110101;", 7,                  2#0101,  4, "\2#10110101;\2#010;", 3) and
1746        chkPutBitsLsb("\2#1011001;", 7,                  2#0101,  4, "\2#11011001;\2#010;", 3) and
1747        chkPutBitsLsb(           "", 0,                  2#1011,  4, "\2#1011;", 4) and
1748        chkPutBitsLsb(      "\2#0;", 1,                  2#1011,  4, "\2#10110;", 5) and
1749        chkPutBitsLsb(      "\2#1;", 1,                  2#1011,  4, "\2#10111;", 5) and
1750        chkPutBitsLsb(     "\2#01;", 2,                  2#1011,  4, "\2#101101;", 6) and
1751        chkPutBitsLsb(     "\2#10;", 2,                  2#1011,  4, "\2#101110;", 6) and
1752        chkPutBitsLsb(    "\2#010;", 3,                  2#1011,  4, "\2#1011010;", 7) and
1753        chkPutBitsLsb(    "\2#101;", 3,                  2#1011,  4, "\2#1011101;", 7) and
1754        chkPutBitsLsb(   "\2#0101;", 4,                  2#1011,  4, "\2#10110101;", 0) and
1755        chkPutBitsLsb(   "\2#1011;", 4,                  2#1011,  4, "\2#10111011;", 0) and
1756        chkPutBitsLsb(  "\2#01011;", 5,                  2#1011,  4, "\2#01101011;\2#1;", 1) and
1757        chkPutBitsLsb(  "\2#10011;", 5,                  2#1011,  4, "\2#01110011;\2#1;", 1) and
1758        chkPutBitsLsb( "\2#010011;", 6,                  2#1011,  4, "\2#11010011;\2#10;", 2) and
1759        chkPutBitsLsb( "\2#110101;", 6,                  2#1011,  4, "\2#11110101;\2#10;", 2) and
1760        chkPutBitsLsb("\2#0110101;", 7,                  2#1011,  4, "\2#10110101;\2#101;", 3) and
1761        chkPutBitsLsb("\2#1011001;", 7,                  2#1011,  4, "\2#11011001;\2#101;", 3) and
1762        chkPutBitsLsb(           "", 0,                 2#01011,  5, "\2#01011;", 5) and
1763        chkPutBitsLsb(      "\2#0;", 1,                 2#01011,  5, "\2#010110;", 6) and
1764        chkPutBitsLsb(      "\2#1;", 1,                 2#01011,  5, "\2#010111;", 6) and
1765        chkPutBitsLsb(     "\2#01;", 2,                 2#01011,  5, "\2#0101101;", 7) and
1766        chkPutBitsLsb(     "\2#10;", 2,                 2#01011,  5, "\2#0101110;", 7) and
1767        chkPutBitsLsb(    "\2#010;", 3,                 2#01011,  5, "\2#01011010;", 0) and
1768        chkPutBitsLsb(    "\2#101;", 3,                 2#01011,  5, "\2#01011101;", 0) and
1769        chkPutBitsLsb(   "\2#0101;", 4,                 2#01011,  5, "\2#10110101;\2#0;", 1) and
1770        chkPutBitsLsb(   "\2#1011;", 4,                 2#01011,  5, "\2#10111011;\2#0;", 1) and
1771        chkPutBitsLsb(  "\2#01011;", 5,                 2#01011,  5, "\2#01101011;\2#01;", 2) and
1772        chkPutBitsLsb(  "\2#10011;", 5,                 2#01011,  5, "\2#01110011;\2#01;", 2) and
1773        chkPutBitsLsb( "\2#010011;", 6,                 2#01011,  5, "\2#11010011;\2#010;", 3) and
1774        chkPutBitsLsb( "\2#110101;", 6,                 2#01011,  5, "\2#11110101;\2#010;", 3) and
1775        chkPutBitsLsb("\2#0110101;", 7,                 2#01011,  5, "\2#10110101;\2#0101;", 4) and
1776        chkPutBitsLsb("\2#1011001;", 7,                 2#01011,  5, "\2#11011001;\2#0101;", 4) and
1777        chkPutBitsLsb(           "", 0,                 2#10011,  5, "\2#10011;", 5) and
1778        chkPutBitsLsb(      "\2#0;", 1,                 2#10011,  5, "\2#100110;", 6) and
1779        chkPutBitsLsb(      "\2#1;", 1,                 2#10011,  5, "\2#100111;", 6) and
1780        chkPutBitsLsb(     "\2#01;", 2,                 2#10011,  5, "\2#1001101;", 7) and
1781        chkPutBitsLsb(     "\2#10;", 2,                 2#10011,  5, "\2#1001110;", 7) and
1782        chkPutBitsLsb(    "\2#010;", 3,                 2#10011,  5, "\2#10011010;", 0) and
1783        chkPutBitsLsb(    "\2#101;", 3,                 2#10011,  5, "\2#10011101;", 0) and
1784        chkPutBitsLsb(   "\2#0101;", 4,                 2#10011,  5, "\2#00110101;\2#1;", 1) and
1785        chkPutBitsLsb(   "\2#1011;", 4,                 2#10011,  5, "\2#00111011;\2#1;", 1) and
1786        chkPutBitsLsb(  "\2#01011;", 5,                 2#10011,  5, "\2#01101011;\2#10;", 2) and
1787        chkPutBitsLsb(  "\2#10011;", 5,                 2#10011,  5, "\2#01110011;\2#10;", 2) and
1788        chkPutBitsLsb( "\2#010011;", 6,                 2#10011,  5, "\2#11010011;\2#100;", 3) and
1789        chkPutBitsLsb( "\2#110101;", 6,                 2#10011,  5, "\2#11110101;\2#100;", 3) and
1790        chkPutBitsLsb("\2#0110101;", 7,                 2#10011,  5, "\2#10110101;\2#1001;", 4) and
1791        chkPutBitsLsb("\2#1011001;", 7,                 2#10011,  5, "\2#11011001;\2#1001;", 4) and
1792        chkPutBitsLsb(           "", 0,                2#010011,  6, "\2#010011;", 6) and
1793        chkPutBitsLsb(      "\2#0;", 1,                2#010011,  6, "\2#0100110;", 7) and
1794        chkPutBitsLsb(      "\2#1;", 1,                2#010011,  6, "\2#0100111;", 7) and
1795        chkPutBitsLsb(     "\2#01;", 2,                2#010011,  6, "\2#01001101;", 0) and
1796        chkPutBitsLsb(     "\2#10;", 2,                2#010011,  6, "\2#01001110;", 0) and
1797        chkPutBitsLsb(    "\2#010;", 3,                2#010011,  6, "\2#10011010;\2#0;", 1) and
1798        chkPutBitsLsb(    "\2#101;", 3,                2#010011,  6, "\2#10011101;\2#0;", 1) and
1799        chkPutBitsLsb(   "\2#0101;", 4,                2#010011,  6, "\2#00110101;\2#01;", 2) and
1800        chkPutBitsLsb(   "\2#1011;", 4,                2#010011,  6, "\2#00111011;\2#01;", 2) and
1801        chkPutBitsLsb(  "\2#01011;", 5,                2#010011,  6, "\2#01101011;\2#010;", 3) and
1802        chkPutBitsLsb(  "\2#10011;", 5,                2#010011,  6, "\2#01110011;\2#010;", 3) and
1803        chkPutBitsLsb( "\2#010011;", 6,                2#010011,  6, "\2#11010011;\2#0100;", 4) and
1804        chkPutBitsLsb( "\2#110101;", 6,                2#010011,  6, "\2#11110101;\2#0100;", 4) and
1805        chkPutBitsLsb("\2#0110101;", 7,                2#010011,  6, "\2#10110101;\2#01001;", 5) and
1806        chkPutBitsLsb("\2#1011001;", 7,                2#010011,  6, "\2#11011001;\2#01001;", 5) and
1807        chkPutBitsLsb(           "", 0,                2#110101,  6, "\2#110101;", 6) and
1808        chkPutBitsLsb(      "\2#0;", 1,                2#110101,  6, "\2#1101010;", 7) and
1809        chkPutBitsLsb(      "\2#1;", 1,                2#110101,  6, "\2#1101011;", 7) and
1810        chkPutBitsLsb(     "\2#01;", 2,                2#110101,  6, "\2#11010101;", 0) and
1811        chkPutBitsLsb(     "\2#10;", 2,                2#110101,  6, "\2#11010110;", 0) and
1812        chkPutBitsLsb(    "\2#010;", 3,                2#110101,  6, "\2#10101010;\2#1;", 1) and
1813        chkPutBitsLsb(    "\2#101;", 3,                2#110101,  6, "\2#10101101;\2#1;", 1) and
1814        chkPutBitsLsb(   "\2#0101;", 4,                2#110101,  6, "\2#01010101;\2#11;", 2) and
1815        chkPutBitsLsb(   "\2#1011;", 4,                2#110101,  6, "\2#01011011;\2#11;", 2) and
1816        chkPutBitsLsb(  "\2#01011;", 5,                2#110101,  6, "\2#10101011;\2#110;", 3) and
1817        chkPutBitsLsb(  "\2#10011;", 5,                2#110101,  6, "\2#10110011;\2#110;", 3) and
1818        chkPutBitsLsb( "\2#010011;", 6,                2#110101,  6, "\2#01010011;\2#1101;", 4) and
1819        chkPutBitsLsb( "\2#110101;", 6,                2#110101,  6, "\2#01110101;\2#1101;", 4) and
1820        chkPutBitsLsb("\2#0110101;", 7,                2#110101,  6, "\2#10110101;\2#11010;", 5) and
1821        chkPutBitsLsb("\2#1011001;", 7,                2#110101,  6, "\2#11011001;\2#11010;", 5) and
1822        chkPutBitsLsb(           "", 0,               2#0110101,  7, "\2#0110101;", 7) and
1823        chkPutBitsLsb(      "\2#0;", 1,               2#0110101,  7, "\2#01101010;", 0) and
1824        chkPutBitsLsb(      "\2#1;", 1,               2#0110101,  7, "\2#01101011;", 0) and
1825        chkPutBitsLsb(     "\2#01;", 2,               2#0110101,  7, "\2#11010101;\2#0;", 1) and
1826        chkPutBitsLsb(     "\2#10;", 2,               2#0110101,  7, "\2#11010110;\2#0;", 1) and
1827        chkPutBitsLsb(    "\2#010;", 3,               2#0110101,  7, "\2#10101010;\2#01;", 2) and
1828        chkPutBitsLsb(    "\2#101;", 3,               2#0110101,  7, "\2#10101101;\2#01;", 2) and
1829        chkPutBitsLsb(   "\2#0101;", 4,               2#0110101,  7, "\2#01010101;\2#011;", 3) and
1830        chkPutBitsLsb(   "\2#1011;", 4,               2#0110101,  7, "\2#01011011;\2#011;", 3) and
1831        chkPutBitsLsb(  "\2#01011;", 5,               2#0110101,  7, "\2#10101011;\2#0110;", 4) and
1832        chkPutBitsLsb(  "\2#10011;", 5,               2#0110101,  7, "\2#10110011;\2#0110;", 4) and
1833        chkPutBitsLsb( "\2#010011;", 6,               2#0110101,  7, "\2#01010011;\2#01101;", 5) and
1834        chkPutBitsLsb( "\2#110101;", 6,               2#0110101,  7, "\2#01110101;\2#01101;", 5) and
1835        chkPutBitsLsb("\2#0110101;", 7,               2#0110101,  7, "\2#10110101;\2#011010;", 6) and
1836        chkPutBitsLsb("\2#1011001;", 7,               2#0110101,  7, "\2#11011001;\2#011010;", 6) and
1837        chkPutBitsLsb(           "", 0,               2#1011001,  7, "\2#1011001;", 7) and
1838        chkPutBitsLsb(      "\2#0;", 1,               2#1011001,  7, "\2#10110010;", 0) and
1839        chkPutBitsLsb(      "\2#1;", 1,               2#1011001,  7, "\2#10110011;", 0) and
1840        chkPutBitsLsb(     "\2#01;", 2,               2#1011001,  7, "\2#01100101;\2#1;", 1) and
1841        chkPutBitsLsb(     "\2#10;", 2,               2#1011001,  7, "\2#01100110;\2#1;", 1) and
1842        chkPutBitsLsb(    "\2#010;", 3,               2#1011001,  7, "\2#11001010;\2#10;", 2) and
1843        chkPutBitsLsb(    "\2#101;", 3,               2#1011001,  7, "\2#11001101;\2#10;", 2) and
1844        chkPutBitsLsb(   "\2#0101;", 4,               2#1011001,  7, "\2#10010101;\2#101;", 3) and
1845        chkPutBitsLsb(   "\2#1011;", 4,               2#1011001,  7, "\2#10011011;\2#101;", 3) and
1846        chkPutBitsLsb(  "\2#01011;", 5,               2#1011001,  7, "\2#00101011;\2#1011;", 4) and
1847        chkPutBitsLsb(  "\2#10011;", 5,               2#1011001,  7, "\2#00110011;\2#1011;", 4) and
1848        chkPutBitsLsb( "\2#010011;", 6,               2#1011001,  7, "\2#01010011;\2#10110;", 5) and
1849        chkPutBitsLsb( "\2#110101;", 6,               2#1011001,  7, "\2#01110101;\2#10110;", 5) and
1850        chkPutBitsLsb("\2#0110101;", 7,               2#1011001,  7, "\2#10110101;\2#101100;", 6) and
1851        chkPutBitsLsb("\2#1011001;", 7,               2#1011001,  7, "\2#11011001;\2#101100;", 6) and
1852        chkPutBitsLsb(           "", 0,              2#01011001,  8, "\2#01011001;", 0) and
1853        chkPutBitsLsb(      "\2#0;", 1,              2#01011001,  8, "\2#10110010;\2#0;", 1) and
1854        chkPutBitsLsb(      "\2#1;", 1,              2#01011001,  8, "\2#10110011;\2#0;", 1) and
1855        chkPutBitsLsb(     "\2#01;", 2,              2#01011001,  8, "\2#01100101;\2#01;", 2) and
1856        chkPutBitsLsb(     "\2#10;", 2,              2#01011001,  8, "\2#01100110;\2#01;", 2) and
1857        chkPutBitsLsb(    "\2#010;", 3,              2#01011001,  8, "\2#11001010;\2#010;", 3) and
1858        chkPutBitsLsb(    "\2#101;", 3,              2#01011001,  8, "\2#11001101;\2#010;", 3) and
1859        chkPutBitsLsb(   "\2#0101;", 4,              2#01011001,  8, "\2#10010101;\2#0101;", 4) and
1860        chkPutBitsLsb(   "\2#1011;", 4,              2#01011001,  8, "\2#10011011;\2#0101;", 4) and
1861        chkPutBitsLsb(  "\2#01011;", 5,              2#01011001,  8, "\2#00101011;\2#01011;", 5) and
1862        chkPutBitsLsb(  "\2#10011;", 5,              2#01011001,  8, "\2#00110011;\2#01011;", 5) and
1863        chkPutBitsLsb( "\2#010011;", 6,              2#01011001,  8, "\2#01010011;\2#010110;", 6) and
1864        chkPutBitsLsb( "\2#110101;", 6,              2#01011001,  8, "\2#01110101;\2#010110;", 6) and
1865        chkPutBitsLsb("\2#0110101;", 7,              2#01011001,  8, "\2#10110101;\2#0101100;", 7) and
1866        chkPutBitsLsb("\2#1011001;", 7,              2#01011001,  8, "\2#11011001;\2#0101100;", 7) and
1867        chkPutBitsLsb(           "", 0,              2#10100011,  8, "\2#10100011;", 0) and
1868        chkPutBitsLsb(      "\2#0;", 1,              2#10100011,  8, "\2#01000110;\2#1;", 1) and
1869        chkPutBitsLsb(      "\2#1;", 1,              2#10100011,  8, "\2#01000111;\2#1;", 1) and
1870        chkPutBitsLsb(     "\2#01;", 2,              2#10100011,  8, "\2#10001101;\2#10;", 2) and
1871        chkPutBitsLsb(     "\2#10;", 2,              2#10100011,  8, "\2#10001110;\2#10;", 2) and
1872        chkPutBitsLsb(    "\2#010;", 3,              2#10100011,  8, "\2#00011010;\2#101;", 3) and
1873        chkPutBitsLsb(    "\2#101;", 3,              2#10100011,  8, "\2#00011101;\2#101;", 3) and
1874        chkPutBitsLsb(   "\2#0101;", 4,              2#10100011,  8, "\2#00110101;\2#1010;", 4) and
1875        chkPutBitsLsb(   "\2#1011;", 4,              2#10100011,  8, "\2#00111011;\2#1010;", 4) and
1876        chkPutBitsLsb(  "\2#01011;", 5,              2#10100011,  8, "\2#01101011;\2#10100;", 5) and
1877        chkPutBitsLsb(  "\2#10011;", 5,              2#10100011,  8, "\2#01110011;\2#10100;", 5) and
1878        chkPutBitsLsb( "\2#010011;", 6,              2#10100011,  8, "\2#11010011;\2#101000;", 6) and
1879        chkPutBitsLsb( "\2#110101;", 6,              2#10100011,  8, "\2#11110101;\2#101000;", 6) and
1880        chkPutBitsLsb("\2#0110101;", 7,              2#10100011,  8, "\2#10110101;\2#1010001;", 7) and
1881        chkPutBitsLsb("\2#1011001;", 7,              2#10100011,  8, "\2#11011001;\2#1010001;", 7) and
1882        chkPutBitsLsb(           "", 0,             2#010100011,  9, "\2#10100011;\2#0;", 1) and
1883        chkPutBitsLsb(      "\2#0;", 1,             2#010100011,  9, "\2#01000110;\2#01;", 2) and
1884        chkPutBitsLsb(      "\2#1;", 1,             2#010100011,  9, "\2#01000111;\2#01;", 2) and
1885        chkPutBitsLsb(     "\2#01;", 2,             2#010100011,  9, "\2#10001101;\2#010;", 3) and
1886        chkPutBitsLsb(     "\2#10;", 2,             2#010100011,  9, "\2#10001110;\2#010;", 3) and
1887        chkPutBitsLsb(    "\2#010;", 3,             2#010100011,  9, "\2#00011010;\2#0101;", 4) and
1888        chkPutBitsLsb(    "\2#101;", 3,             2#010100011,  9, "\2#00011101;\2#0101;", 4) and
1889        chkPutBitsLsb(   "\2#0101;", 4,             2#010100011,  9, "\2#00110101;\2#01010;", 5) and
1890        chkPutBitsLsb(   "\2#1011;", 4,             2#010100011,  9, "\2#00111011;\2#01010;", 5) and
1891        chkPutBitsLsb(  "\2#01011;", 5,             2#010100011,  9, "\2#01101011;\2#010100;", 6) and
1892        chkPutBitsLsb(  "\2#10011;", 5,             2#010100011,  9, "\2#01110011;\2#010100;", 6) and
1893        chkPutBitsLsb( "\2#010011;", 6,             2#010100011,  9, "\2#11010011;\2#0101000;", 7) and
1894        chkPutBitsLsb( "\2#110101;", 6,             2#010100011,  9, "\2#11110101;\2#0101000;", 7) and
1895        chkPutBitsLsb("\2#0110101;", 7,             2#010100011,  9, "\2#10110101;\2#01010001;", 0) and
1896        chkPutBitsLsb("\2#1011001;", 7,             2#010100011,  9, "\2#11011001;\2#01010001;", 0) and
1897        chkPutBitsLsb(           "", 0,             2#110110111,  9, "\2#10110111;\2#1;", 1) and
1898        chkPutBitsLsb(      "\2#0;", 1,             2#110110111,  9, "\2#01101110;\2#11;", 2) and
1899        chkPutBitsLsb(      "\2#1;", 1,             2#110110111,  9, "\2#01101111;\2#11;", 2) and
1900        chkPutBitsLsb(     "\2#01;", 2,             2#110110111,  9, "\2#11011101;\2#110;", 3) and
1901        chkPutBitsLsb(     "\2#10;", 2,             2#110110111,  9, "\2#11011110;\2#110;", 3) and
1902        chkPutBitsLsb(    "\2#010;", 3,             2#110110111,  9, "\2#10111010;\2#1101;", 4) and
1903        chkPutBitsLsb(    "\2#101;", 3,             2#110110111,  9, "\2#10111101;\2#1101;", 4) and
1904        chkPutBitsLsb(   "\2#0101;", 4,             2#110110111,  9, "\2#01110101;\2#11011;", 5) and
1905        chkPutBitsLsb(   "\2#1011;", 4,             2#110110111,  9, "\2#01111011;\2#11011;", 5) and
1906        chkPutBitsLsb(  "\2#01011;", 5,             2#110110111,  9, "\2#11101011;\2#110110;", 6) and
1907        chkPutBitsLsb(  "\2#10011;", 5,             2#110110111,  9, "\2#11110011;\2#110110;", 6) and
1908        chkPutBitsLsb( "\2#010011;", 6,             2#110110111,  9, "\2#11010011;\2#1101101;", 7) and
1909        chkPutBitsLsb( "\2#110101;", 6,             2#110110111,  9, "\2#11110101;\2#1101101;", 7) and
1910        chkPutBitsLsb("\2#0110101;", 7,             2#110110111,  9, "\2#10110101;\2#11011011;", 0) and
1911        chkPutBitsLsb("\2#1011001;", 7,             2#110110111,  9, "\2#11011001;\2#11011011;", 0) and
1912        chkPutBitsLsb(           "", 0,            2#0110110111, 10, "\2#10110111;\2#01;", 2) and
1913        chkPutBitsLsb(      "\2#0;", 1,            2#0110110111, 10, "\2#01101110;\2#011;", 3) and
1914        chkPutBitsLsb(      "\2#1;", 1,            2#0110110111, 10, "\2#01101111;\2#011;", 3) and
1915        chkPutBitsLsb(     "\2#01;", 2,            2#0110110111, 10, "\2#11011101;\2#0110;", 4) and
1916        chkPutBitsLsb(     "\2#10;", 2,            2#0110110111, 10, "\2#11011110;\2#0110;", 4) and
1917        chkPutBitsLsb(    "\2#010;", 3,            2#0110110111, 10, "\2#10111010;\2#01101;", 5) and
1918        chkPutBitsLsb(    "\2#101;", 3,            2#0110110111, 10, "\2#10111101;\2#01101;", 5) and
1919        chkPutBitsLsb(   "\2#0101;", 4,            2#0110110111, 10, "\2#01110101;\2#011011;", 6) and
1920        chkPutBitsLsb(   "\2#1011;", 4,            2#0110110111, 10, "\2#01111011;\2#011011;", 6) and
1921        chkPutBitsLsb(  "\2#01011;", 5,            2#0110110111, 10, "\2#11101011;\2#0110110;", 7) and
1922        chkPutBitsLsb(  "\2#10011;", 5,            2#0110110111, 10, "\2#11110011;\2#0110110;", 7) and
1923        chkPutBitsLsb( "\2#010011;", 6,            2#0110110111, 10, "\2#11010011;\2#01101101;", 0) and
1924        chkPutBitsLsb( "\2#110101;", 6,            2#0110110111, 10, "\2#11110101;\2#01101101;", 0) and
1925        chkPutBitsLsb("\2#0110101;", 7,            2#0110110111, 10, "\2#10110101;\2#11011011;\2#0;", 1) and
1926        chkPutBitsLsb("\2#1011001;", 7,            2#0110110111, 10, "\2#11011001;\2#11011011;\2#0;", 1) and
1927        chkPutBitsLsb(           "", 0,            2#1100010011, 10, "\2#00010011;\2#11;", 2) and
1928        chkPutBitsLsb(      "\2#0;", 1,            2#1100010011, 10, "\2#00100110;\2#110;", 3) and
1929        chkPutBitsLsb(      "\2#1;", 1,            2#1100010011, 10, "\2#00100111;\2#110;", 3) and
1930        chkPutBitsLsb(     "\2#01;", 2,            2#1100010011, 10, "\2#01001101;\2#1100;", 4) and
1931        chkPutBitsLsb(     "\2#10;", 2,            2#1100010011, 10, "\2#01001110;\2#1100;", 4) and
1932        chkPutBitsLsb(    "\2#010;", 3,            2#1100010011, 10, "\2#10011010;\2#11000;", 5) and
1933        chkPutBitsLsb(    "\2#101;", 3,            2#1100010011, 10, "\2#10011101;\2#11000;", 5) and
1934        chkPutBitsLsb(   "\2#0101;", 4,            2#1100010011, 10, "\2#00110101;\2#110001;", 6) and
1935        chkPutBitsLsb(   "\2#1011;", 4,            2#1100010011, 10, "\2#00111011;\2#110001;", 6) and
1936        chkPutBitsLsb(  "\2#01011;", 5,            2#1100010011, 10, "\2#01101011;\2#1100010;", 7) and
1937        chkPutBitsLsb(  "\2#10011;", 5,            2#1100010011, 10, "\2#01110011;\2#1100010;", 7) and
1938        chkPutBitsLsb( "\2#010011;", 6,            2#1100010011, 10, "\2#11010011;\2#11000100;", 0) and
1939        chkPutBitsLsb( "\2#110101;", 6,            2#1100010011, 10, "\2#11110101;\2#11000100;", 0) and
1940        chkPutBitsLsb("\2#0110101;", 7,            2#1100010011, 10, "\2#10110101;\2#10001001;\2#1;", 1) and
1941        chkPutBitsLsb("\2#1011001;", 7,            2#1100010011, 10, "\2#11011001;\2#10001001;\2#1;", 1) and
1942        chkPutBitsLsb(           "", 0,           2#01100010011, 11, "\2#00010011;\2#011;", 3) and
1943        chkPutBitsLsb(      "\2#0;", 1,           2#01100010011, 11, "\2#00100110;\2#0110;", 4) and
1944        chkPutBitsLsb(      "\2#1;", 1,           2#01100010011, 11, "\2#00100111;\2#0110;", 4) and
1945        chkPutBitsLsb(     "\2#01;", 2,           2#01100010011, 11, "\2#01001101;\2#01100;", 5) and
1946        chkPutBitsLsb(     "\2#10;", 2,           2#01100010011, 11, "\2#01001110;\2#01100;", 5) and
1947        chkPutBitsLsb(    "\2#010;", 3,           2#01100010011, 11, "\2#10011010;\2#011000;", 6) and
1948        chkPutBitsLsb(    "\2#101;", 3,           2#01100010011, 11, "\2#10011101;\2#011000;", 6) and
1949        chkPutBitsLsb(   "\2#0101;", 4,           2#01100010011, 11, "\2#00110101;\2#0110001;", 7) and
1950        chkPutBitsLsb(   "\2#1011;", 4,           2#01100010011, 11, "\2#00111011;\2#0110001;", 7) and
1951        chkPutBitsLsb(  "\2#01011;", 5,           2#01100010011, 11, "\2#01101011;\2#01100010;", 0) and
1952        chkPutBitsLsb(  "\2#10011;", 5,           2#01100010011, 11, "\2#01110011;\2#01100010;", 0) and
1953        chkPutBitsLsb( "\2#010011;", 6,           2#01100010011, 11, "\2#11010011;\2#11000100;\2#0;", 1) and
1954        chkPutBitsLsb( "\2#110101;", 6,           2#01100010011, 11, "\2#11110101;\2#11000100;\2#0;", 1) and
1955        chkPutBitsLsb("\2#0110101;", 7,           2#01100010011, 11, "\2#10110101;\2#10001001;\2#01;", 2) and
1956        chkPutBitsLsb("\2#1011001;", 7,           2#01100010011, 11, "\2#11011001;\2#10001001;\2#01;", 2) and
1957        chkPutBitsLsb(           "", 0,           2#10110100111, 11, "\2#10100111;\2#101;", 3) and
1958        chkPutBitsLsb(      "\2#0;", 1,           2#10110100111, 11, "\2#01001110;\2#1011;", 4) and
1959        chkPutBitsLsb(      "\2#1;", 1,           2#10110100111, 11, "\2#01001111;\2#1011;", 4) and
1960        chkPutBitsLsb(     "\2#01;", 2,           2#10110100111, 11, "\2#10011101;\2#10110;", 5) and
1961        chkPutBitsLsb(     "\2#10;", 2,           2#10110100111, 11, "\2#10011110;\2#10110;", 5) and
1962        chkPutBitsLsb(    "\2#010;", 3,           2#10110100111, 11, "\2#00111010;\2#101101;", 6) and
1963        chkPutBitsLsb(    "\2#101;", 3,           2#10110100111, 11, "\2#00111101;\2#101101;", 6) and
1964        chkPutBitsLsb(   "\2#0101;", 4,           2#10110100111, 11, "\2#01110101;\2#1011010;", 7) and
1965        chkPutBitsLsb(   "\2#1011;", 4,           2#10110100111, 11, "\2#01111011;\2#1011010;", 7) and
1966        chkPutBitsLsb(  "\2#01011;", 5,           2#10110100111, 11, "\2#11101011;\2#10110100;", 0) and
1967        chkPutBitsLsb(  "\2#10011;", 5,           2#10110100111, 11, "\2#11110011;\2#10110100;", 0) and
1968        chkPutBitsLsb( "\2#010011;", 6,           2#10110100111, 11, "\2#11010011;\2#01101001;\2#1;", 1) and
1969        chkPutBitsLsb( "\2#110101;", 6,           2#10110100111, 11, "\2#11110101;\2#01101001;\2#1;", 1) and
1970        chkPutBitsLsb("\2#0110101;", 7,           2#10110100111, 11, "\2#10110101;\2#11010011;\2#10;", 2) and
1971        chkPutBitsLsb("\2#1011001;", 7,           2#10110100111, 11, "\2#11011001;\2#11010011;\2#10;", 2) and
1972        chkPutBitsLsb(           "", 0,          2#010110100111, 12, "\2#10100111;\2#0101;", 4) and
1973        chkPutBitsLsb(      "\2#0;", 1,          2#010110100111, 12, "\2#01001110;\2#01011;", 5) and
1974        chkPutBitsLsb(      "\2#1;", 1,          2#010110100111, 12, "\2#01001111;\2#01011;", 5) and
1975        chkPutBitsLsb(     "\2#01;", 2,          2#010110100111, 12, "\2#10011101;\2#010110;", 6) and
1976        chkPutBitsLsb(     "\2#10;", 2,          2#010110100111, 12, "\2#10011110;\2#010110;", 6) and
1977        chkPutBitsLsb(    "\2#010;", 3,          2#010110100111, 12, "\2#00111010;\2#0101101;", 7) and
1978        chkPutBitsLsb(    "\2#101;", 3,          2#010110100111, 12, "\2#00111101;\2#0101101;", 7) and
1979        chkPutBitsLsb(   "\2#0101;", 4,          2#010110100111, 12, "\2#01110101;\2#01011010;", 0) and
1980        chkPutBitsLsb(   "\2#1011;", 4,          2#010110100111, 12, "\2#01111011;\2#01011010;", 0) and
1981        chkPutBitsLsb(  "\2#01011;", 5,          2#010110100111, 12, "\2#11101011;\2#10110100;\2#0;", 1) and
1982        chkPutBitsLsb(  "\2#10011;", 5,          2#010110100111, 12, "\2#11110011;\2#10110100;\2#0;", 1) and
1983        chkPutBitsLsb( "\2#010011;", 6,          2#010110100111, 12, "\2#11010011;\2#01101001;\2#01;", 2) and
1984        chkPutBitsLsb( "\2#110101;", 6,          2#010110100111, 12, "\2#11110101;\2#01101001;\2#01;", 2) and
1985        chkPutBitsLsb("\2#0110101;", 7,          2#010110100111, 12, "\2#10110101;\2#11010011;\2#010;", 3) and
1986        chkPutBitsLsb("\2#1011001;", 7,          2#010110100111, 12, "\2#11011001;\2#11010011;\2#010;", 3) and
1987        chkPutBitsLsb(           "", 0,          2#101110001101, 12, "\2#10001101;\2#1011;", 4) and
1988        chkPutBitsLsb(      "\2#0;", 1,          2#101110001101, 12, "\2#00011010;\2#10111;", 5) and
1989        chkPutBitsLsb(      "\2#1;", 1,          2#101110001101, 12, "\2#00011011;\2#10111;", 5) and
1990        chkPutBitsLsb(     "\2#01;", 2,          2#101110001101, 12, "\2#00110101;\2#101110;", 6) and
1991        chkPutBitsLsb(     "\2#10;", 2,          2#101110001101, 12, "\2#00110110;\2#101110;", 6) and
1992        chkPutBitsLsb(    "\2#010;", 3,          2#101110001101, 12, "\2#01101010;\2#1011100;", 7) and
1993        chkPutBitsLsb(    "\2#101;", 3,          2#101110001101, 12, "\2#01101101;\2#1011100;", 7) and
1994        chkPutBitsLsb(   "\2#0101;", 4,          2#101110001101, 12, "\2#11010101;\2#10111000;", 0) and
1995        chkPutBitsLsb(   "\2#1011;", 4,          2#101110001101, 12, "\2#11011011;\2#10111000;", 0) and
1996        chkPutBitsLsb(  "\2#01011;", 5,          2#101110001101, 12, "\2#10101011;\2#01110001;\2#1;", 1) and
1997        chkPutBitsLsb(  "\2#10011;", 5,          2#101110001101, 12, "\2#10110011;\2#01110001;\2#1;", 1) and
1998        chkPutBitsLsb( "\2#010011;", 6,          2#101110001101, 12, "\2#01010011;\2#11100011;\2#10;", 2) and
1999        chkPutBitsLsb( "\2#110101;", 6,          2#101110001101, 12, "\2#01110101;\2#11100011;\2#10;", 2) and
2000        chkPutBitsLsb("\2#0110101;", 7,          2#101110001101, 12, "\2#10110101;\2#11000110;\2#101;", 3) and
2001        chkPutBitsLsb("\2#1011001;", 7,          2#101110001101, 12, "\2#11011001;\2#11000110;\2#101;", 3) and
2002        chkPutBitsLsb(           "", 0,         2#0101110001101, 13, "\2#10001101;\2#01011;", 5) and
2003        chkPutBitsLsb(      "\2#0;", 1,         2#0101110001101, 13, "\2#00011010;\2#010111;", 6) and
2004        chkPutBitsLsb(      "\2#1;", 1,         2#0101110001101, 13, "\2#00011011;\2#010111;", 6) and
2005        chkPutBitsLsb(     "\2#01;", 2,         2#0101110001101, 13, "\2#00110101;\2#0101110;", 7) and
2006        chkPutBitsLsb(     "\2#10;", 2,         2#0101110001101, 13, "\2#00110110;\2#0101110;", 7) and
2007        chkPutBitsLsb(    "\2#010;", 3,         2#0101110001101, 13, "\2#01101010;\2#01011100;", 0) and
2008        chkPutBitsLsb(    "\2#101;", 3,         2#0101110001101, 13, "\2#01101101;\2#01011100;", 0) and
2009        chkPutBitsLsb(   "\2#0101;", 4,         2#0101110001101, 13, "\2#11010101;\2#10111000;\2#0;", 1) and
2010        chkPutBitsLsb(   "\2#1011;", 4,         2#0101110001101, 13, "\2#11011011;\2#10111000;\2#0;", 1) and
2011        chkPutBitsLsb(  "\2#01011;", 5,         2#0101110001101, 13, "\2#10101011;\2#01110001;\2#01;", 2) and
2012        chkPutBitsLsb(  "\2#10011;", 5,         2#0101110001101, 13, "\2#10110011;\2#01110001;\2#01;", 2) and
2013        chkPutBitsLsb( "\2#010011;", 6,         2#0101110001101, 13, "\2#01010011;\2#11100011;\2#010;", 3) and
2014        chkPutBitsLsb( "\2#110101;", 6,         2#0101110001101, 13, "\2#01110101;\2#11100011;\2#010;", 3) and
2015        chkPutBitsLsb("\2#0110101;", 7,         2#0101110001101, 13, "\2#10110101;\2#11000110;\2#0101;", 4) and
2016        chkPutBitsLsb("\2#1011001;", 7,         2#0101110001101, 13, "\2#11011001;\2#11000110;\2#0101;", 4) and
2017        chkPutBitsLsb(           "", 0,         2#1101100110111, 13, "\2#00110111;\2#11011;", 5) and
2018        chkPutBitsLsb(      "\2#0;", 1,         2#1101100110111, 13, "\2#01101110;\2#110110;", 6) and
2019        chkPutBitsLsb(      "\2#1;", 1,         2#1101100110111, 13, "\2#01101111;\2#110110;", 6) and
2020        chkPutBitsLsb(     "\2#01;", 2,         2#1101100110111, 13, "\2#11011101;\2#1101100;", 7) and
2021        chkPutBitsLsb(     "\2#10;", 2,         2#1101100110111, 13, "\2#11011110;\2#1101100;", 7) and
2022        chkPutBitsLsb(    "\2#010;", 3,         2#1101100110111, 13, "\2#10111010;\2#11011001;", 0) and
2023        chkPutBitsLsb(    "\2#101;", 3,         2#1101100110111, 13, "\2#10111101;\2#11011001;", 0) and
2024        chkPutBitsLsb(   "\2#0101;", 4,         2#1101100110111, 13, "\2#01110101;\2#10110011;\2#1;", 1) and
2025        chkPutBitsLsb(   "\2#1011;", 4,         2#1101100110111, 13, "\2#01111011;\2#10110011;\2#1;", 1) and
2026        chkPutBitsLsb(  "\2#01011;", 5,         2#1101100110111, 13, "\2#11101011;\2#01100110;\2#11;", 2) and
2027        chkPutBitsLsb(  "\2#10011;", 5,         2#1101100110111, 13, "\2#11110011;\2#01100110;\2#11;", 2) and
2028        chkPutBitsLsb( "\2#010011;", 6,         2#1101100110111, 13, "\2#11010011;\2#11001101;\2#110;", 3) and
2029        chkPutBitsLsb( "\2#110101;", 6,         2#1101100110111, 13, "\2#11110101;\2#11001101;\2#110;", 3) and
2030        chkPutBitsLsb("\2#0110101;", 7,         2#1101100110111, 13, "\2#10110101;\2#10011011;\2#1101;", 4) and
2031        chkPutBitsLsb("\2#1011001;", 7,         2#1101100110111, 13, "\2#11011001;\2#10011011;\2#1101;", 4) and
2032        chkPutBitsLsb(           "", 0,        2#01101100110111, 14, "\2#00110111;\2#011011;", 6) and
2033        chkPutBitsLsb(      "\2#0;", 1,        2#01101100110111, 14, "\2#01101110;\2#0110110;", 7) and
2034        chkPutBitsLsb(      "\2#1;", 1,        2#01101100110111, 14, "\2#01101111;\2#0110110;", 7) and
2035        chkPutBitsLsb(     "\2#01;", 2,        2#01101100110111, 14, "\2#11011101;\2#01101100;", 0) and
2036        chkPutBitsLsb(     "\2#10;", 2,        2#01101100110111, 14, "\2#11011110;\2#01101100;", 0) and
2037        chkPutBitsLsb(    "\2#010;", 3,        2#01101100110111, 14, "\2#10111010;\2#11011001;\2#0;", 1) and
2038        chkPutBitsLsb(    "\2#101;", 3,        2#01101100110111, 14, "\2#10111101;\2#11011001;\2#0;", 1) and
2039        chkPutBitsLsb(   "\2#0101;", 4,        2#01101100110111, 14, "\2#01110101;\2#10110011;\2#01;", 2) and
2040        chkPutBitsLsb(   "\2#1011;", 4,        2#01101100110111, 14, "\2#01111011;\2#10110011;\2#01;", 2) and
2041        chkPutBitsLsb(  "\2#01011;", 5,        2#01101100110111, 14, "\2#11101011;\2#01100110;\2#011;", 3) and
2042        chkPutBitsLsb(  "\2#10011;", 5,        2#01101100110111, 14, "\2#11110011;\2#01100110;\2#011;", 3) and
2043        chkPutBitsLsb( "\2#010011;", 6,        2#01101100110111, 14, "\2#11010011;\2#11001101;\2#0110;", 4) and
2044        chkPutBitsLsb( "\2#110101;", 6,        2#01101100110111, 14, "\2#11110101;\2#11001101;\2#0110;", 4) and
2045        chkPutBitsLsb("\2#0110101;", 7,        2#01101100110111, 14, "\2#10110101;\2#10011011;\2#01101;", 5) and
2046        chkPutBitsLsb("\2#1011001;", 7,        2#01101100110111, 14, "\2#11011001;\2#10011011;\2#01101;", 5) and
2047        chkPutBitsLsb(           "", 0,        2#10011011010101, 14, "\2#11010101;\2#100110;", 6) and
2048        chkPutBitsLsb(      "\2#0;", 1,        2#10011011010101, 14, "\2#10101010;\2#1001101;", 7) and
2049        chkPutBitsLsb(      "\2#1;", 1,        2#10011011010101, 14, "\2#10101011;\2#1001101;", 7) and
2050        chkPutBitsLsb(     "\2#01;", 2,        2#10011011010101, 14, "\2#01010101;\2#10011011;", 0) and
2051        chkPutBitsLsb(     "\2#10;", 2,        2#10011011010101, 14, "\2#01010110;\2#10011011;", 0) and
2052        chkPutBitsLsb(    "\2#010;", 3,        2#10011011010101, 14, "\2#10101010;\2#00110110;\2#1;", 1) and
2053        chkPutBitsLsb(    "\2#101;", 3,        2#10011011010101, 14, "\2#10101101;\2#00110110;\2#1;", 1) and
2054        chkPutBitsLsb(   "\2#0101;", 4,        2#10011011010101, 14, "\2#01010101;\2#01101101;\2#10;", 2) and
2055        chkPutBitsLsb(   "\2#1011;", 4,        2#10011011010101, 14, "\2#01011011;\2#01101101;\2#10;", 2) and
2056        chkPutBitsLsb(  "\2#01011;", 5,        2#10011011010101, 14, "\2#10101011;\2#11011010;\2#100;", 3) and
2057        chkPutBitsLsb(  "\2#10011;", 5,        2#10011011010101, 14, "\2#10110011;\2#11011010;\2#100;", 3) and
2058        chkPutBitsLsb( "\2#010011;", 6,        2#10011011010101, 14, "\2#01010011;\2#10110101;\2#1001;", 4) and
2059        chkPutBitsLsb( "\2#110101;", 6,        2#10011011010101, 14, "\2#01110101;\2#10110101;\2#1001;", 4) and
2060        chkPutBitsLsb("\2#0110101;", 7,        2#10011011010101, 14, "\2#10110101;\2#01101010;\2#10011;", 5) and
2061        chkPutBitsLsb("\2#1011001;", 7,        2#10011011010101, 14, "\2#11011001;\2#01101010;\2#10011;", 5) and
2062        chkPutBitsLsb(           "", 0,       2#010011011010101, 15, "\2#11010101;\2#0100110;", 7) and
2063        chkPutBitsLsb(      "\2#0;", 1,       2#010011011010101, 15, "\2#10101010;\2#01001101;", 0) and
2064        chkPutBitsLsb(      "\2#1;", 1,       2#010011011010101, 15, "\2#10101011;\2#01001101;", 0) and
2065        chkPutBitsLsb(     "\2#01;", 2,       2#010011011010101, 15, "\2#01010101;\2#10011011;\2#0;", 1) and
2066        chkPutBitsLsb(     "\2#10;", 2,       2#010011011010101, 15, "\2#01010110;\2#10011011;\2#0;", 1) and
2067        chkPutBitsLsb(    "\2#010;", 3,       2#010011011010101, 15, "\2#10101010;\2#00110110;\2#01;", 2) and
2068        chkPutBitsLsb(    "\2#101;", 3,       2#010011011010101, 15, "\2#10101101;\2#00110110;\2#01;", 2) and
2069        chkPutBitsLsb(   "\2#0101;", 4,       2#010011011010101, 15, "\2#01010101;\2#01101101;\2#010;", 3) and
2070        chkPutBitsLsb(   "\2#1011;", 4,       2#010011011010101, 15, "\2#01011011;\2#01101101;\2#010;", 3) and
2071        chkPutBitsLsb(  "\2#01011;", 5,       2#010011011010101, 15, "\2#10101011;\2#11011010;\2#0100;", 4) and
2072        chkPutBitsLsb(  "\2#10011;", 5,       2#010011011010101, 15, "\2#10110011;\2#11011010;\2#0100;", 4) and
2073        chkPutBitsLsb( "\2#010011;", 6,       2#010011011010101, 15, "\2#01010011;\2#10110101;\2#01001;", 5) and
2074        chkPutBitsLsb( "\2#110101;", 6,       2#010011011010101, 15, "\2#01110101;\2#10110101;\2#01001;", 5) and
2075        chkPutBitsLsb("\2#0110101;", 7,       2#010011011010101, 15, "\2#10110101;\2#01101010;\2#010011;", 6) and
2076        chkPutBitsLsb("\2#1011001;", 7,       2#010011011010101, 15, "\2#11011001;\2#01101010;\2#010011;", 6) and
2077        chkPutBitsLsb(           "", 0,       2#100101111011001, 15, "\2#11011001;\2#1001011;", 7) and
2078        chkPutBitsLsb(      "\2#0;", 1,       2#100101111011001, 15, "\2#10110010;\2#10010111;", 0) and
2079        chkPutBitsLsb(      "\2#1;", 1,       2#100101111011001, 15, "\2#10110011;\2#10010111;", 0) and
2080        chkPutBitsLsb(     "\2#01;", 2,       2#100101111011001, 15, "\2#01100101;\2#00101111;\2#1;", 1) and
2081        chkPutBitsLsb(     "\2#10;", 2,       2#100101111011001, 15, "\2#01100110;\2#00101111;\2#1;", 1) and
2082        chkPutBitsLsb(    "\2#010;", 3,       2#100101111011001, 15, "\2#11001010;\2#01011110;\2#10;", 2) and
2083        chkPutBitsLsb(    "\2#101;", 3,       2#100101111011001, 15, "\2#11001101;\2#01011110;\2#10;", 2) and
2084        chkPutBitsLsb(   "\2#0101;", 4,       2#100101111011001, 15, "\2#10010101;\2#10111101;\2#100;", 3) and
2085        chkPutBitsLsb(   "\2#1011;", 4,       2#100101111011001, 15, "\2#10011011;\2#10111101;\2#100;", 3) and
2086        chkPutBitsLsb(  "\2#01011;", 5,       2#100101111011001, 15, "\2#00101011;\2#01111011;\2#1001;", 4) and
2087        chkPutBitsLsb(  "\2#10011;", 5,       2#100101111011001, 15, "\2#00110011;\2#01111011;\2#1001;", 4) and
2088        chkPutBitsLsb( "\2#010011;", 6,       2#100101111011001, 15, "\2#01010011;\2#11110110;\2#10010;", 5) and
2089        chkPutBitsLsb( "\2#110101;", 6,       2#100101111011001, 15, "\2#01110101;\2#11110110;\2#10010;", 5) and
2090        chkPutBitsLsb("\2#0110101;", 7,       2#100101111011001, 15, "\2#10110101;\2#11101100;\2#100101;", 6) and
2091        chkPutBitsLsb("\2#1011001;", 7,       2#100101111011001, 15, "\2#11011001;\2#11101100;\2#100101;", 6) and
2092        chkPutBitsLsb(           "", 0,      2#0100101111011001, 16, "\2#11011001;\2#01001011;", 0) and
2093        chkPutBitsLsb(      "\2#0;", 1,      2#0100101111011001, 16, "\2#10110010;\2#10010111;\2#0;", 1) and
2094        chkPutBitsLsb(      "\2#1;", 1,      2#0100101111011001, 16, "\2#10110011;\2#10010111;\2#0;", 1) and
2095        chkPutBitsLsb(     "\2#01;", 2,      2#0100101111011001, 16, "\2#01100101;\2#00101111;\2#01;", 2) and
2096        chkPutBitsLsb(     "\2#10;", 2,      2#0100101111011001, 16, "\2#01100110;\2#00101111;\2#01;", 2) and
2097        chkPutBitsLsb(    "\2#010;", 3,      2#0100101111011001, 16, "\2#11001010;\2#01011110;\2#010;", 3) and
2098        chkPutBitsLsb(    "\2#101;", 3,      2#0100101111011001, 16, "\2#11001101;\2#01011110;\2#010;", 3) and
2099        chkPutBitsLsb(   "\2#0101;", 4,      2#0100101111011001, 16, "\2#10010101;\2#10111101;\2#0100;", 4) and
2100        chkPutBitsLsb(   "\2#1011;", 4,      2#0100101111011001, 16, "\2#10011011;\2#10111101;\2#0100;", 4) and
2101        chkPutBitsLsb(  "\2#01011;", 5,      2#0100101111011001, 16, "\2#00101011;\2#01111011;\2#01001;", 5) and
2102        chkPutBitsLsb(  "\2#10011;", 5,      2#0100101111011001, 16, "\2#00110011;\2#01111011;\2#01001;", 5) and
2103        chkPutBitsLsb( "\2#010011;", 6,      2#0100101111011001, 16, "\2#01010011;\2#11110110;\2#010010;", 6) and
2104        chkPutBitsLsb( "\2#110101;", 6,      2#0100101111011001, 16, "\2#01110101;\2#11110110;\2#010010;", 6) and
2105        chkPutBitsLsb("\2#0110101;", 7,      2#0100101111011001, 16, "\2#10110101;\2#11101100;\2#0100101;", 7) and
2106        chkPutBitsLsb("\2#1011001;", 7,      2#0100101111011001, 16, "\2#11011001;\2#11101100;\2#0100101;", 7) and
2107        chkPutBitsLsb(           "", 0,      2#1101100001100111, 16, "\2#01100111;\2#11011000;", 0) and
2108        chkPutBitsLsb(      "\2#0;", 1,      2#1101100001100111, 16, "\2#11001110;\2#10110000;\2#1;", 1) and
2109        chkPutBitsLsb(      "\2#1;", 1,      2#1101100001100111, 16, "\2#11001111;\2#10110000;\2#1;", 1) and
2110        chkPutBitsLsb(     "\2#01;", 2,      2#1101100001100111, 16, "\2#10011101;\2#01100001;\2#11;", 2) and
2111        chkPutBitsLsb(     "\2#10;", 2,      2#1101100001100111, 16, "\2#10011110;\2#01100001;\2#11;", 2) and
2112        chkPutBitsLsb(    "\2#010;", 3,      2#1101100001100111, 16, "\2#00111010;\2#11000011;\2#110;", 3) and
2113        chkPutBitsLsb(    "\2#101;", 3,      2#1101100001100111, 16, "\2#00111101;\2#11000011;\2#110;", 3) and
2114        chkPutBitsLsb(   "\2#0101;", 4,      2#1101100001100111, 16, "\2#01110101;\2#10000110;\2#1101;", 4) and
2115        chkPutBitsLsb(   "\2#1011;", 4,      2#1101100001100111, 16, "\2#01111011;\2#10000110;\2#1101;", 4) and
2116        chkPutBitsLsb(  "\2#01011;", 5,      2#1101100001100111, 16, "\2#11101011;\2#00001100;\2#11011;", 5) and
2117        chkPutBitsLsb(  "\2#10011;", 5,      2#1101100001100111, 16, "\2#11110011;\2#00001100;\2#11011;", 5) and
2118        chkPutBitsLsb( "\2#010011;", 6,      2#1101100001100111, 16, "\2#11010011;\2#00011001;\2#110110;", 6) and
2119        chkPutBitsLsb( "\2#110101;", 6,      2#1101100001100111, 16, "\2#11110101;\2#00011001;\2#110110;", 6) and
2120        chkPutBitsLsb("\2#0110101;", 7,      2#1101100001100111, 16, "\2#10110101;\2#00110011;\2#1101100;", 7) and
2121        chkPutBitsLsb("\2#1011001;", 7,      2#1101100001100111, 16, "\2#11011001;\2#00110011;\2#1101100;", 7) and
2122        chkPutBitsLsb(           "", 0,     2#01101100001100111, 17, "\2#01100111;\2#11011000;\2#0;", 1) and
2123        chkPutBitsLsb(      "\2#0;", 1,     2#01101100001100111, 17, "\2#11001110;\2#10110000;\2#01;", 2) and
2124        chkPutBitsLsb(      "\2#1;", 1,     2#01101100001100111, 17, "\2#11001111;\2#10110000;\2#01;", 2) and
2125        chkPutBitsLsb(     "\2#01;", 2,     2#01101100001100111, 17, "\2#10011101;\2#01100001;\2#011;", 3) and
2126        chkPutBitsLsb(     "\2#10;", 2,     2#01101100001100111, 17, "\2#10011110;\2#01100001;\2#011;", 3) and
2127        chkPutBitsLsb(    "\2#010;", 3,     2#01101100001100111, 17, "\2#00111010;\2#11000011;\2#0110;", 4) and
2128        chkPutBitsLsb(    "\2#101;", 3,     2#01101100001100111, 17, "\2#00111101;\2#11000011;\2#0110;", 4) and
2129        chkPutBitsLsb(   "\2#0101;", 4,     2#01101100001100111, 17, "\2#01110101;\2#10000110;\2#01101;", 5) and
2130        chkPutBitsLsb(   "\2#1011;", 4,     2#01101100001100111, 17, "\2#01111011;\2#10000110;\2#01101;", 5) and
2131        chkPutBitsLsb(  "\2#01011;", 5,     2#01101100001100111, 17, "\2#11101011;\2#00001100;\2#011011;", 6) and
2132        chkPutBitsLsb(  "\2#10011;", 5,     2#01101100001100111, 17, "\2#11110011;\2#00001100;\2#011011;", 6) and
2133        chkPutBitsLsb( "\2#010011;", 6,     2#01101100001100111, 17, "\2#11010011;\2#00011001;\2#0110110;", 7) and
2134        chkPutBitsLsb( "\2#110101;", 6,     2#01101100001100111, 17, "\2#11110101;\2#00011001;\2#0110110;", 7) and
2135        chkPutBitsLsb("\2#0110101;", 7,     2#01101100001100111, 17, "\2#10110101;\2#00110011;\2#01101100;", 0) and
2136        chkPutBitsLsb("\2#1011001;", 7,     2#01101100001100111, 17, "\2#11011001;\2#00110011;\2#01101100;", 0) and
2137        chkPutBitsLsb(           "", 0,     2#10100010110011101, 17, "\2#10011101;\2#01000101;\2#1;", 1) and
2138        chkPutBitsLsb(      "\2#0;", 1,     2#10100010110011101, 17, "\2#00111010;\2#10001011;\2#10;", 2) and
2139        chkPutBitsLsb(      "\2#1;", 1,     2#10100010110011101, 17, "\2#00111011;\2#10001011;\2#10;", 2) and
2140        chkPutBitsLsb(     "\2#01;", 2,     2#10100010110011101, 17, "\2#01110101;\2#00010110;\2#101;", 3) and
2141        chkPutBitsLsb(     "\2#10;", 2,     2#10100010110011101, 17, "\2#01110110;\2#00010110;\2#101;", 3) and
2142        chkPutBitsLsb(    "\2#010;", 3,     2#10100010110011101, 17, "\2#11101010;\2#00101100;\2#1010;", 4) and
2143        chkPutBitsLsb(    "\2#101;", 3,     2#10100010110011101, 17, "\2#11101101;\2#00101100;\2#1010;", 4) and
2144        chkPutBitsLsb(   "\2#0101;", 4,     2#10100010110011101, 17, "\2#11010101;\2#01011001;\2#10100;", 5) and
2145        chkPutBitsLsb(   "\2#1011;", 4,     2#10100010110011101, 17, "\2#11011011;\2#01011001;\2#10100;", 5) and
2146        chkPutBitsLsb(  "\2#01011;", 5,     2#10100010110011101, 17, "\2#10101011;\2#10110011;\2#101000;", 6) and
2147        chkPutBitsLsb(  "\2#10011;", 5,     2#10100010110011101, 17, "\2#10110011;\2#10110011;\2#101000;", 6) and
2148        chkPutBitsLsb( "\2#010011;", 6,     2#10100010110011101, 17, "\2#01010011;\2#01100111;\2#1010001;", 7) and
2149        chkPutBitsLsb( "\2#110101;", 6,     2#10100010110011101, 17, "\2#01110101;\2#01100111;\2#1010001;", 7) and
2150        chkPutBitsLsb("\2#0110101;", 7,     2#10100010110011101, 17, "\2#10110101;\2#11001110;\2#10100010;", 0) and
2151        chkPutBitsLsb("\2#1011001;", 7,     2#10100010110011101, 17, "\2#11011001;\2#11001110;\2#10100010;", 0) and
2152        chkPutBitsLsb(           "", 0,    2#010100010110011101, 18, "\2#10011101;\2#01000101;\2#01;", 2) and
2153        chkPutBitsLsb(      "\2#0;", 1,    2#010100010110011101, 18, "\2#00111010;\2#10001011;\2#010;", 3) and
2154        chkPutBitsLsb(      "\2#1;", 1,    2#010100010110011101, 18, "\2#00111011;\2#10001011;\2#010;", 3) and
2155        chkPutBitsLsb(     "\2#01;", 2,    2#010100010110011101, 18, "\2#01110101;\2#00010110;\2#0101;", 4) and
2156        chkPutBitsLsb(     "\2#10;", 2,    2#010100010110011101, 18, "\2#01110110;\2#00010110;\2#0101;", 4) and
2157        chkPutBitsLsb(    "\2#010;", 3,    2#010100010110011101, 18, "\2#11101010;\2#00101100;\2#01010;", 5) and
2158        chkPutBitsLsb(    "\2#101;", 3,    2#010100010110011101, 18, "\2#11101101;\2#00101100;\2#01010;", 5) and
2159        chkPutBitsLsb(   "\2#0101;", 4,    2#010100010110011101, 18, "\2#11010101;\2#01011001;\2#010100;", 6) and
2160        chkPutBitsLsb(   "\2#1011;", 4,    2#010100010110011101, 18, "\2#11011011;\2#01011001;\2#010100;", 6) and
2161        chkPutBitsLsb(  "\2#01011;", 5,    2#010100010110011101, 18, "\2#10101011;\2#10110011;\2#0101000;", 7) and
2162        chkPutBitsLsb(  "\2#10011;", 5,    2#010100010110011101, 18, "\2#10110011;\2#10110011;\2#0101000;", 7) and
2163        chkPutBitsLsb( "\2#010011;", 6,    2#010100010110011101, 18, "\2#01010011;\2#01100111;\2#01010001;", 0) and
2164        chkPutBitsLsb( "\2#110101;", 6,    2#010100010110011101, 18, "\2#01110101;\2#01100111;\2#01010001;", 0) and
2165        chkPutBitsLsb("\2#0110101;", 7,    2#010100010110011101, 18, "\2#10110101;\2#11001110;\2#10100010;\2#0;", 1) and
2166        chkPutBitsLsb("\2#1011001;", 7,    2#010100010110011101, 18, "\2#11011001;\2#11001110;\2#10100010;\2#0;", 1) and
2167        chkPutBitsLsb(           "", 0,    2#101001010011011101, 18, "\2#11011101;\2#10010100;\2#10;", 2) and
2168        chkPutBitsLsb(      "\2#0;", 1,    2#101001010011011101, 18, "\2#10111010;\2#00101001;\2#101;", 3) and
2169        chkPutBitsLsb(      "\2#1;", 1,    2#101001010011011101, 18, "\2#10111011;\2#00101001;\2#101;", 3) and
2170        chkPutBitsLsb(     "\2#01;", 2,    2#101001010011011101, 18, "\2#01110101;\2#01010011;\2#1010;", 4) and
2171        chkPutBitsLsb(     "\2#10;", 2,    2#101001010011011101, 18, "\2#01110110;\2#01010011;\2#1010;", 4) and
2172        chkPutBitsLsb(    "\2#010;", 3,    2#101001010011011101, 18, "\2#11101010;\2#10100110;\2#10100;", 5) and
2173        chkPutBitsLsb(    "\2#101;", 3,    2#101001010011011101, 18, "\2#11101101;\2#10100110;\2#10100;", 5) and
2174        chkPutBitsLsb(   "\2#0101;", 4,    2#101001010011011101, 18, "\2#11010101;\2#01001101;\2#101001;", 6) and
2175        chkPutBitsLsb(   "\2#1011;", 4,    2#101001010011011101, 18, "\2#11011011;\2#01001101;\2#101001;", 6) and
2176        chkPutBitsLsb(  "\2#01011;", 5,    2#101001010011011101, 18, "\2#10101011;\2#10011011;\2#1010010;", 7) and
2177        chkPutBitsLsb(  "\2#10011;", 5,    2#101001010011011101, 18, "\2#10110011;\2#10011011;\2#1010010;", 7) and
2178        chkPutBitsLsb( "\2#010011;", 6,    2#101001010011011101, 18, "\2#01010011;\2#00110111;\2#10100101;", 0) and
2179        chkPutBitsLsb( "\2#110101;", 6,    2#101001010011011101, 18, "\2#01110101;\2#00110111;\2#10100101;", 0) and
2180        chkPutBitsLsb("\2#0110101;", 7,    2#101001010011011101, 18, "\2#10110101;\2#01101110;\2#01001010;\2#1;", 1) and
2181        chkPutBitsLsb("\2#1011001;", 7,    2#101001010011011101, 18, "\2#11011001;\2#01101110;\2#01001010;\2#1;", 1) and
2182        chkPutBitsLsb(           "", 0,   2#0101001010011011101, 19, "\2#11011101;\2#10010100;\2#010;", 3) and
2183        chkPutBitsLsb(      "\2#0;", 1,   2#0101001010011011101, 19, "\2#10111010;\2#00101001;\2#0101;", 4) and
2184        chkPutBitsLsb(      "\2#1;", 1,   2#0101001010011011101, 19, "\2#10111011;\2#00101001;\2#0101;", 4) and
2185        chkPutBitsLsb(     "\2#01;", 2,   2#0101001010011011101, 19, "\2#01110101;\2#01010011;\2#01010;", 5) and
2186        chkPutBitsLsb(     "\2#10;", 2,   2#0101001010011011101, 19, "\2#01110110;\2#01010011;\2#01010;", 5) and
2187        chkPutBitsLsb(    "\2#010;", 3,   2#0101001010011011101, 19, "\2#11101010;\2#10100110;\2#010100;", 6) and
2188        chkPutBitsLsb(    "\2#101;", 3,   2#0101001010011011101, 19, "\2#11101101;\2#10100110;\2#010100;", 6) and
2189        chkPutBitsLsb(   "\2#0101;", 4,   2#0101001010011011101, 19, "\2#11010101;\2#01001101;\2#0101001;", 7) and
2190        chkPutBitsLsb(   "\2#1011;", 4,   2#0101001010011011101, 19, "\2#11011011;\2#01001101;\2#0101001;", 7) and
2191        chkPutBitsLsb(  "\2#01011;", 5,   2#0101001010011011101, 19, "\2#10101011;\2#10011011;\2#01010010;", 0) and
2192        chkPutBitsLsb(  "\2#10011;", 5,   2#0101001010011011101, 19, "\2#10110011;\2#10011011;\2#01010010;", 0) and
2193        chkPutBitsLsb( "\2#010011;", 6,   2#0101001010011011101, 19, "\2#01010011;\2#00110111;\2#10100101;\2#0;", 1) and
2194        chkPutBitsLsb( "\2#110101;", 6,   2#0101001010011011101, 19, "\2#01110101;\2#00110111;\2#10100101;\2#0;", 1) and
2195        chkPutBitsLsb("\2#0110101;", 7,   2#0101001010011011101, 19, "\2#10110101;\2#01101110;\2#01001010;\2#01;", 2) and
2196        chkPutBitsLsb("\2#1011001;", 7,   2#0101001010011011101, 19, "\2#11011001;\2#01101110;\2#01001010;\2#01;", 2) and
2197        chkPutBitsLsb(           "", 0,   2#1101101100111001001, 19, "\2#11001001;\2#11011001;\2#110;", 3) and
2198        chkPutBitsLsb(      "\2#0;", 1,   2#1101101100111001001, 19, "\2#10010010;\2#10110011;\2#1101;", 4) and
2199        chkPutBitsLsb(      "\2#1;", 1,   2#1101101100111001001, 19, "\2#10010011;\2#10110011;\2#1101;", 4) and
2200        chkPutBitsLsb(     "\2#01;", 2,   2#1101101100111001001, 19, "\2#00100101;\2#01100111;\2#11011;", 5) and
2201        chkPutBitsLsb(     "\2#10;", 2,   2#1101101100111001001, 19, "\2#00100110;\2#01100111;\2#11011;", 5) and
2202        chkPutBitsLsb(    "\2#010;", 3,   2#1101101100111001001, 19, "\2#01001010;\2#11001110;\2#110110;", 6) and
2203        chkPutBitsLsb(    "\2#101;", 3,   2#1101101100111001001, 19, "\2#01001101;\2#11001110;\2#110110;", 6) and
2204        chkPutBitsLsb(   "\2#0101;", 4,   2#1101101100111001001, 19, "\2#10010101;\2#10011100;\2#1101101;", 7) and
2205        chkPutBitsLsb(   "\2#1011;", 4,   2#1101101100111001001, 19, "\2#10011011;\2#10011100;\2#1101101;", 7) and
2206        chkPutBitsLsb(  "\2#01011;", 5,   2#1101101100111001001, 19, "\2#00101011;\2#00111001;\2#11011011;", 0) and
2207        chkPutBitsLsb(  "\2#10011;", 5,   2#1101101100111001001, 19, "\2#00110011;\2#00111001;\2#11011011;", 0) and
2208        chkPutBitsLsb( "\2#010011;", 6,   2#1101101100111001001, 19, "\2#01010011;\2#01110010;\2#10110110;\2#1;", 1) and
2209        chkPutBitsLsb( "\2#110101;", 6,   2#1101101100111001001, 19, "\2#01110101;\2#01110010;\2#10110110;\2#1;", 1) and
2210        chkPutBitsLsb("\2#0110101;", 7,   2#1101101100111001001, 19, "\2#10110101;\2#11100100;\2#01101100;\2#11;", 2) and
2211        chkPutBitsLsb("\2#1011001;", 7,   2#1101101100111001001, 19, "\2#11011001;\2#11100100;\2#01101100;\2#11;", 2) and
2212        chkPutBitsLsb(           "", 0,  2#01101101100111001001, 20, "\2#11001001;\2#11011001;\2#0110;", 4) and
2213        chkPutBitsLsb(      "\2#0;", 1,  2#01101101100111001001, 20, "\2#10010010;\2#10110011;\2#01101;", 5) and
2214        chkPutBitsLsb(      "\2#1;", 1,  2#01101101100111001001, 20, "\2#10010011;\2#10110011;\2#01101;", 5) and
2215        chkPutBitsLsb(     "\2#01;", 2,  2#01101101100111001001, 20, "\2#00100101;\2#01100111;\2#011011;", 6) and
2216        chkPutBitsLsb(     "\2#10;", 2,  2#01101101100111001001, 20, "\2#00100110;\2#01100111;\2#011011;", 6) and
2217        chkPutBitsLsb(    "\2#010;", 3,  2#01101101100111001001, 20, "\2#01001010;\2#11001110;\2#0110110;", 7) and
2218        chkPutBitsLsb(    "\2#101;", 3,  2#01101101100111001001, 20, "\2#01001101;\2#11001110;\2#0110110;", 7) and
2219        chkPutBitsLsb(   "\2#0101;", 4,  2#01101101100111001001, 20, "\2#10010101;\2#10011100;\2#01101101;", 0) and
2220        chkPutBitsLsb(   "\2#1011;", 4,  2#01101101100111001001, 20, "\2#10011011;\2#10011100;\2#01101101;", 0) and
2221        chkPutBitsLsb(  "\2#01011;", 5,  2#01101101100111001001, 20, "\2#00101011;\2#00111001;\2#11011011;\2#0;", 1) and
2222        chkPutBitsLsb(  "\2#10011;", 5,  2#01101101100111001001, 20, "\2#00110011;\2#00111001;\2#11011011;\2#0;", 1) and
2223        chkPutBitsLsb( "\2#010011;", 6,  2#01101101100111001001, 20, "\2#01010011;\2#01110010;\2#10110110;\2#01;", 2) and
2224        chkPutBitsLsb( "\2#110101;", 6,  2#01101101100111001001, 20, "\2#01110101;\2#01110010;\2#10110110;\2#01;", 2) and
2225        chkPutBitsLsb("\2#0110101;", 7,  2#01101101100111001001, 20, "\2#10110101;\2#11100100;\2#01101100;\2#011;", 3) and
2226        chkPutBitsLsb("\2#1011001;", 7,  2#01101101100111001001, 20, "\2#11011001;\2#11100100;\2#01101100;\2#011;", 3) and
2227        chkPutBitsLsb(           "", 0,  2#11100111111011001001, 20, "\2#11001001;\2#01111110;\2#1110;", 4) and
2228        chkPutBitsLsb(      "\2#0;", 1,  2#11100111111011001001, 20, "\2#10010010;\2#11111101;\2#11100;", 5) and
2229        chkPutBitsLsb(      "\2#1;", 1,  2#11100111111011001001, 20, "\2#10010011;\2#11111101;\2#11100;", 5) and
2230        chkPutBitsLsb(     "\2#01;", 2,  2#11100111111011001001, 20, "\2#00100101;\2#11111011;\2#111001;", 6) and
2231        chkPutBitsLsb(     "\2#10;", 2,  2#11100111111011001001, 20, "\2#00100110;\2#11111011;\2#111001;", 6) and
2232        chkPutBitsLsb(    "\2#010;", 3,  2#11100111111011001001, 20, "\2#01001010;\2#11110110;\2#1110011;", 7) and
2233        chkPutBitsLsb(    "\2#101;", 3,  2#11100111111011001001, 20, "\2#01001101;\2#11110110;\2#1110011;", 7) and
2234        chkPutBitsLsb(   "\2#0101;", 4,  2#11100111111011001001, 20, "\2#10010101;\2#11101100;\2#11100111;", 0) and
2235        chkPutBitsLsb(   "\2#1011;", 4,  2#11100111111011001001, 20, "\2#10011011;\2#11101100;\2#11100111;", 0) and
2236        chkPutBitsLsb(  "\2#01011;", 5,  2#11100111111011001001, 20, "\2#00101011;\2#11011001;\2#11001111;\2#1;", 1) and
2237        chkPutBitsLsb(  "\2#10011;", 5,  2#11100111111011001001, 20, "\2#00110011;\2#11011001;\2#11001111;\2#1;", 1) and
2238        chkPutBitsLsb( "\2#010011;", 6,  2#11100111111011001001, 20, "\2#01010011;\2#10110010;\2#10011111;\2#11;", 2) and
2239        chkPutBitsLsb( "\2#110101;", 6,  2#11100111111011001001, 20, "\2#01110101;\2#10110010;\2#10011111;\2#11;", 2) and
2240        chkPutBitsLsb("\2#0110101;", 7,  2#11100111111011001001, 20, "\2#10110101;\2#01100100;\2#00111111;\2#111;", 3) and
2241        chkPutBitsLsb("\2#1011001;", 7,  2#11100111111011001001, 20, "\2#11011001;\2#01100100;\2#00111111;\2#111;", 3) and
2242        chkPutBitsLsb(           "", 0, 2#011100111111011001001, 21, "\2#11001001;\2#01111110;\2#01110;", 5) and
2243        chkPutBitsLsb(      "\2#0;", 1, 2#011100111111011001001, 21, "\2#10010010;\2#11111101;\2#011100;", 6) and
2244        chkPutBitsLsb(      "\2#1;", 1, 2#011100111111011001001, 21, "\2#10010011;\2#11111101;\2#011100;", 6) and
2245        chkPutBitsLsb(     "\2#01;", 2, 2#011100111111011001001, 21, "\2#00100101;\2#11111011;\2#0111001;", 7) and
2246        chkPutBitsLsb(     "\2#10;", 2, 2#011100111111011001001, 21, "\2#00100110;\2#11111011;\2#0111001;", 7) and
2247        chkPutBitsLsb(    "\2#010;", 3, 2#011100111111011001001, 21, "\2#01001010;\2#11110110;\2#01110011;", 0) and
2248        chkPutBitsLsb(    "\2#101;", 3, 2#011100111111011001001, 21, "\2#01001101;\2#11110110;\2#01110011;", 0) and
2249        chkPutBitsLsb(   "\2#0101;", 4, 2#011100111111011001001, 21, "\2#10010101;\2#11101100;\2#11100111;\2#0;", 1) and
2250        chkPutBitsLsb(   "\2#1011;", 4, 2#011100111111011001001, 21, "\2#10011011;\2#11101100;\2#11100111;\2#0;", 1) and
2251        chkPutBitsLsb(  "\2#01011;", 5, 2#011100111111011001001, 21, "\2#00101011;\2#11011001;\2#11001111;\2#01;", 2) and
2252        chkPutBitsLsb(  "\2#10011;", 5, 2#011100111111011001001, 21, "\2#00110011;\2#11011001;\2#11001111;\2#01;", 2) and
2253        chkPutBitsLsb( "\2#010011;", 6, 2#011100111111011001001, 21, "\2#01010011;\2#10110010;\2#10011111;\2#011;", 3) and
2254        chkPutBitsLsb( "\2#110101;", 6, 2#011100111111011001001, 21, "\2#01110101;\2#10110010;\2#10011111;\2#011;", 3) and
2255        chkPutBitsLsb("\2#0110101;", 7, 2#011100111111011001001, 21, "\2#10110101;\2#01100100;\2#00111111;\2#0111;", 4) and
2256        chkPutBitsLsb("\2#1011001;", 7, 2#011100111111011001001, 21, "\2#11011001;\2#01100100;\2#00111111;\2#0111;", 4) and
2257        chkPutBitsLsb(           "", 0, 2#101000010010111000111, 21, "\2#11000111;\2#00100101;\2#10100;", 5) and
2258        chkPutBitsLsb(      "\2#0;", 1, 2#101000010010111000111, 21, "\2#10001110;\2#01001011;\2#101000;", 6) and
2259        chkPutBitsLsb(      "\2#1;", 1, 2#101000010010111000111, 21, "\2#10001111;\2#01001011;\2#101000;", 6) and
2260        chkPutBitsLsb(     "\2#01;", 2, 2#101000010010111000111, 21, "\2#00011101;\2#10010111;\2#1010000;", 7) and
2261        chkPutBitsLsb(     "\2#10;", 2, 2#101000010010111000111, 21, "\2#00011110;\2#10010111;\2#1010000;", 7) and
2262        chkPutBitsLsb(    "\2#010;", 3, 2#101000010010111000111, 21, "\2#00111010;\2#00101110;\2#10100001;", 0) and
2263        chkPutBitsLsb(    "\2#101;", 3, 2#101000010010111000111, 21, "\2#00111101;\2#00101110;\2#10100001;", 0) and
2264        chkPutBitsLsb(   "\2#0101;", 4, 2#101000010010111000111, 21, "\2#01110101;\2#01011100;\2#01000010;\2#1;", 1) and
2265        chkPutBitsLsb(   "\2#1011;", 4, 2#101000010010111000111, 21, "\2#01111011;\2#01011100;\2#01000010;\2#1;", 1) and
2266        chkPutBitsLsb(  "\2#01011;", 5, 2#101000010010111000111, 21, "\2#11101011;\2#10111000;\2#10000100;\2#10;", 2) and
2267        chkPutBitsLsb(  "\2#10011;", 5, 2#101000010010111000111, 21, "\2#11110011;\2#10111000;\2#10000100;\2#10;", 2) and
2268        chkPutBitsLsb( "\2#010011;", 6, 2#101000010010111000111, 21, "\2#11010011;\2#01110001;\2#00001001;\2#101;", 3) and
2269        chkPutBitsLsb( "\2#110101;", 6, 2#101000010010111000111, 21, "\2#11110101;\2#01110001;\2#00001001;\2#101;", 3) and
2270        chkPutBitsLsb("\2#0110101;", 7, 2#101000010010111000111, 21, "\2#10110101;\2#11100011;\2#00010010;\2#1010;", 4) and
2271        chkPutBitsLsb("\2#1011001;", 7, 2#101000010010111000111, 21, "\2#11011001;\2#11100011;\2#00010010;\2#1010;", 4) then
2272      writeln("putBitsLsb works correct.");
2273    end if;
2274  end func;
2275
2276
2277const func boolean: chkGetBitMsb (in string: stri, in integer: bytePos,
2278    in integer: bitPos, in integer: bitsExpected,
2279    in integer: bytePosExpected, in integer: bitPosExpected) is func
2280  result
2281    var boolean: okay is TRUE;
2282  local
2283    var integer: bytePosVar is 0;
2284    var integer: bitPosVar is 0;
2285    var integer: bits is 0;
2286    var char: ch is ' ';
2287    var file: testFile is STD_NULL;
2288  begin
2289    bytePosVar := bytePos;
2290    bitPosVar := bitPos;
2291    bits := getBitMsb(stri, bytePosVar, bitPosVar);
2292    if bits <> bitsExpected or bytePosVar <> bytePosExpected or bitPosVar <> bitPosExpected then
2293      okay := FALSE;
2294      write("getBitMsb(\"");
2295      for ch range stri do
2296        write("\\2#" <& ord(ch) radix 2 lpad0 8 <& ";");
2297      end for;
2298      writeln("\", " <& bytePos <& ", " <& bitPos <& ")");
2299      if bits <> bitsExpected then
2300        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
2301      end if;
2302      if bytePosVar <> bytePosExpected then
2303        writeln(" ***** Expected bytePos " <& bytePosExpected <& " found " <& bytePosVar);
2304      end if;
2305      if bitPosVar <> bitPosExpected then
2306        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
2307      end if;
2308    end if;
2309    testFile := openStriFile(stri);
2310    ignore(gets(testFile, pred(bytePos)));
2311    if bitPos = 0 then
2312      bitPosVar := 8;
2313    else
2314      bitPosVar := bitPos;
2315      testFile.bufferChar := getc(testFile);
2316    end if;
2317    bits := getBitMsb(testFile, bitPosVar);
2318    if bits <> bitsExpected or (bitPosExpected = 0 and bitPosVar <> 8) or
2319        (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
2320      okay := FALSE;
2321      write("\"");
2322      for ch range stri do
2323        write("\\2#" <& ord(ch) radix 2 <& ";");
2324      end for;
2325      writeln("\": getBitMsb(testFile, " <& bitPos <& ")");
2326      if bits <> bitsExpected then
2327        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
2328      end if;
2329      if (bitPosExpected = 0 and bitPosVar <> 8) or
2330          (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
2331        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
2332      end if;
2333    end if;
2334  end func;
2335
2336
2337const proc: chkGetBitMsb is func
2338  begin
2339    if  chkGetBitMsb("\2#00000000;",             1, 0, 2#0, 1, 1) and
2340        chkGetBitMsb("\2#00000000;",             1, 1, 2#0, 1, 2) and
2341        chkGetBitMsb("\2#10100000;",             1, 1, 2#0, 1, 2) and
2342        chkGetBitMsb("\2#01001000;",             1, 2, 2#0, 1, 3) and
2343        chkGetBitMsb("\2#10010000;",             1, 2, 2#0, 1, 3) and
2344        chkGetBitMsb("\2#01000100;",             1, 3, 2#0, 1, 4) and
2345        chkGetBitMsb("\2#10101010;",             1, 3, 2#0, 1, 4) and
2346        chkGetBitMsb("\2#01010010;\2#10000000;", 1, 4, 2#0, 1, 5) and
2347        chkGetBitMsb("\2#10110101;\2#10000000;", 1, 4, 2#0, 1, 5) and
2348        chkGetBitMsb("\2#01011001;\2#01100000;", 1, 5, 2#0, 1, 6) and
2349        chkGetBitMsb("\2#10011010;\2#01100000;", 1, 5, 2#0, 1, 6) and
2350        chkGetBitMsb("\2#01001100;\2#10011000;", 1, 6, 2#0, 1, 7) and
2351        chkGetBitMsb("\2#11010101;\2#10101000;", 1, 6, 2#0, 1, 7) and
2352        chkGetBitMsb("\2#01101010;\2#01101010;", 1, 7, 2#0, 2, 0) and
2353        chkGetBitMsb("\2#10110010;\2#10110010;", 1, 7, 2#0, 2, 0) and
2354        chkGetBitMsb("\2#10000000;",             1, 0, 2#1, 1, 1) and
2355        chkGetBitMsb("\2#01000000;",             1, 1, 2#1, 1, 2) and
2356        chkGetBitMsb("\2#11100000;",             1, 1, 2#1, 1, 2) and
2357        chkGetBitMsb("\2#01101000;",             1, 2, 2#1, 1, 3) and
2358        chkGetBitMsb("\2#10110000;",             1, 2, 2#1, 1, 3) and
2359        chkGetBitMsb("\2#01010100;",             1, 3, 2#1, 1, 4) and
2360        chkGetBitMsb("\2#10111010;",             1, 3, 2#1, 1, 4) and
2361        chkGetBitMsb("\2#01011010;\2#10000000;", 1, 4, 2#1, 1, 5) and
2362        chkGetBitMsb("\2#10111101;\2#10000000;", 1, 4, 2#1, 1, 5) and
2363        chkGetBitMsb("\2#01011101;\2#01100000;", 1, 5, 2#1, 1, 6) and
2364        chkGetBitMsb("\2#10011110;\2#01100000;", 1, 5, 2#1, 1, 6) and
2365        chkGetBitMsb("\2#01001110;\2#10011000;", 1, 6, 2#1, 1, 7) and
2366        chkGetBitMsb("\2#11010111;\2#10101000;", 1, 6, 2#1, 1, 7) and
2367        chkGetBitMsb("\2#01101011;\2#01101010;", 1, 7, 2#1, 2, 0) and
2368        chkGetBitMsb("\2#10110011;\2#10110010;", 1, 7, 2#1, 2, 0) then
2369      writeln("getBitMsb works correct.");
2370    end if;
2371  end func;
2372
2373
2374const func boolean: chkGetBitsMsb (in string: stri, in integer: bytePos,
2375    in integer: bitPos, in integer: bitsNeeded, in integer: bitsExpected,
2376    in integer: bytePosExpected, in integer: bitPosExpected) is func
2377  result
2378    var boolean: okay is TRUE;
2379  local
2380    var integer: bytePosVar is 0;
2381    var integer: bitPosVar is 0;
2382    var integer: bits is 0;
2383    var char: ch is ' ';
2384    var file: testFile is STD_NULL;
2385  begin
2386    bytePosVar := bytePos;
2387    bitPosVar := bitPos;
2388    bits := getBitsMsb(stri, bytePosVar, bitPosVar, bitsNeeded);
2389    if bits <> bitsExpected or bytePosVar <> bytePosExpected or bitPosVar <> bitPosExpected then
2390      okay := FALSE;
2391      write("getBitsMsb(\"");
2392      for ch range stri do
2393        write("\\2#" <& ord(ch) radix 2 lpad0 8 <& ";");
2394      end for;
2395      writeln("\", " <& bytePos <& ", " <& bitPos <& ", " <& bitsNeeded <& ")");
2396      if bits <> bitsExpected then
2397        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
2398      end if;
2399      if bytePosVar <> bytePosExpected then
2400        writeln(" ***** Expected bytePos " <& bytePosExpected <& " found " <& bytePosVar);
2401      end if;
2402      if bitPosVar <> bitPosExpected then
2403        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
2404      end if;
2405    end if;
2406    testFile := openStriFile(stri);
2407    ignore(gets(testFile, pred(bytePos)));
2408    if bitPos = 0 then
2409      bitPosVar := 8;
2410    else
2411      bitPosVar := bitPos;
2412      testFile.bufferChar := getc(testFile);
2413    end if;
2414    bits := getBitsMsb(testFile, bitPosVar, bitsNeeded);
2415    if bits <> bitsExpected or (bitPosExpected = 0 and bitPosVar <> 8) or
2416        (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
2417      okay := FALSE;
2418      write("\"");
2419      for ch range stri do
2420        write("\\2#" <& ord(ch) radix 2 <& ";");
2421      end for;
2422      writeln("\": getBitsMsb(testFile, " <& bitPos <& ", " <& bitsNeeded <& ")");
2423      if bits <> bitsExpected then
2424        writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
2425      end if;
2426      if (bitPosExpected = 0 and bitPosVar <> 8) or
2427          (bitPosExpected <> 0 and bitPosVar <> bitPosExpected) then
2428        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
2429      end if;
2430    end if;
2431  end func;
2432
2433
2434const proc: chkGetBitsMsb is func
2435  begin
2436    if  chkGetBitsMsb("\2#00000000;",                                                 1, 0,  1,                     2#0, 1, 1) and
2437        chkGetBitsMsb("\2#00000000;",                                                 1, 1,  1,                     2#0, 1, 2) and
2438        chkGetBitsMsb("\2#10100000;",                                                 1, 1,  1,                     2#0, 1, 2) and
2439        chkGetBitsMsb("\2#01001000;",                                                 1, 2,  1,                     2#0, 1, 3) and
2440        chkGetBitsMsb("\2#10010000;",                                                 1, 2,  1,                     2#0, 1, 3) and
2441        chkGetBitsMsb("\2#01000100;",                                                 1, 3,  1,                     2#0, 1, 4) and
2442        chkGetBitsMsb("\2#10101010;",                                                 1, 3,  1,                     2#0, 1, 4) and
2443        chkGetBitsMsb("\2#01010010;\2#10000000;",                                     1, 4,  1,                     2#0, 1, 5) and
2444        chkGetBitsMsb("\2#10110101;\2#10000000;",                                     1, 4,  1,                     2#0, 1, 5) and
2445        chkGetBitsMsb("\2#01011001;\2#01100000;",                                     1, 5,  1,                     2#0, 1, 6) and
2446        chkGetBitsMsb("\2#10011010;\2#01100000;",                                     1, 5,  1,                     2#0, 1, 6) and
2447        chkGetBitsMsb("\2#01001100;\2#10011000;",                                     1, 6,  1,                     2#0, 1, 7) and
2448        chkGetBitsMsb("\2#11010101;\2#10101000;",                                     1, 6,  1,                     2#0, 1, 7) and
2449        chkGetBitsMsb("\2#01101010;\2#01101010;",                                     1, 7,  1,                     2#0, 2, 0) and
2450        chkGetBitsMsb("\2#10110010;\2#10110010;",                                     1, 7,  1,                     2#0, 2, 0) and
2451        chkGetBitsMsb("\2#10000000;",                                                 1, 0,  1,                     2#1, 1, 1) and
2452        chkGetBitsMsb("\2#01000000;",                                                 1, 1,  1,                     2#1, 1, 2) and
2453        chkGetBitsMsb("\2#11100000;",                                                 1, 1,  1,                     2#1, 1, 2) and
2454        chkGetBitsMsb("\2#01101000;",                                                 1, 2,  1,                     2#1, 1, 3) and
2455        chkGetBitsMsb("\2#10110000;",                                                 1, 2,  1,                     2#1, 1, 3) and
2456        chkGetBitsMsb("\2#01010100;",                                                 1, 3,  1,                     2#1, 1, 4) and
2457        chkGetBitsMsb("\2#10111010;",                                                 1, 3,  1,                     2#1, 1, 4) and
2458        chkGetBitsMsb("\2#01011010;\2#10000000;",                                     1, 4,  1,                     2#1, 1, 5) and
2459        chkGetBitsMsb("\2#10111101;\2#10000000;",                                     1, 4,  1,                     2#1, 1, 5) and
2460        chkGetBitsMsb("\2#01011101;\2#01100000;",                                     1, 5,  1,                     2#1, 1, 6) and
2461        chkGetBitsMsb("\2#10011110;\2#01100000;",                                     1, 5,  1,                     2#1, 1, 6) and
2462        chkGetBitsMsb("\2#01001110;\2#10011000;",                                     1, 6,  1,                     2#1, 1, 7) and
2463        chkGetBitsMsb("\2#11010111;\2#10101000;",                                     1, 6,  1,                     2#1, 1, 7) and
2464        chkGetBitsMsb("\2#01101011;\2#01101010;",                                     1, 7,  1,                     2#1, 2, 0) and
2465        chkGetBitsMsb("\2#10110011;\2#10110010;",                                     1, 7,  1,                     2#1, 2, 0) and
2466        chkGetBitsMsb("\2#01000000;",                                                 1, 0,  2,                    2#01, 1, 2) and
2467        chkGetBitsMsb("\2#00100000;",                                                 1, 1,  2,                    2#01, 1, 3) and
2468        chkGetBitsMsb("\2#10110000;",                                                 1, 1,  2,                    2#01, 1, 3) and
2469        chkGetBitsMsb("\2#01010100;",                                                 1, 2,  2,                    2#01, 1, 4) and
2470        chkGetBitsMsb("\2#10011000;",                                                 1, 2,  2,                    2#01, 1, 4) and
2471        chkGetBitsMsb("\2#01001010;",                                                 1, 3,  2,                    2#01, 1, 5) and
2472        chkGetBitsMsb("\2#10101101;",                                                 1, 3,  2,                    2#01, 1, 5) and
2473        chkGetBitsMsb("\2#01010101;\2#01000000;",                                     1, 4,  2,                    2#01, 1, 6) and
2474        chkGetBitsMsb("\2#10110110;\2#11000000;",                                     1, 4,  2,                    2#01, 1, 6) and
2475        chkGetBitsMsb("\2#01011010;\2#10110000;",                                     1, 5,  2,                    2#01, 1, 7) and
2476        chkGetBitsMsb("\2#10011011;\2#00110000;",                                     1, 5,  2,                    2#01, 1, 7) and
2477        chkGetBitsMsb("\2#01001101;\2#01001100;",                                     1, 6,  2,                    2#01, 2, 0) and
2478        chkGetBitsMsb("\2#11010101;\2#11010100;",                                     1, 6,  2,                    2#01, 2, 0) and
2479        chkGetBitsMsb("\2#01101010;\2#10110101;",                                     1, 7,  2,                    2#01, 2, 1) and
2480        chkGetBitsMsb("\2#10110010;\2#11011001;",                                     1, 7,  2,                    2#01, 2, 1) and
2481        chkGetBitsMsb("\2#10000000;",                                                 1, 0,  2,                    2#10, 1, 2) and
2482        chkGetBitsMsb("\2#01000000;",                                                 1, 1,  2,                    2#10, 1, 3) and
2483        chkGetBitsMsb("\2#11010000;",                                                 1, 1,  2,                    2#10, 1, 3) and
2484        chkGetBitsMsb("\2#01100100;",                                                 1, 2,  2,                    2#10, 1, 4) and
2485        chkGetBitsMsb("\2#10101000;",                                                 1, 2,  2,                    2#10, 1, 4) and
2486        chkGetBitsMsb("\2#01010010;",                                                 1, 3,  2,                    2#10, 1, 5) and
2487        chkGetBitsMsb("\2#10110101;",                                                 1, 3,  2,                    2#10, 1, 5) and
2488        chkGetBitsMsb("\2#01011001;\2#01000000;",                                     1, 4,  2,                    2#10, 1, 6) and
2489        chkGetBitsMsb("\2#10111010;\2#11000000;",                                     1, 4,  2,                    2#10, 1, 6) and
2490        chkGetBitsMsb("\2#01011100;\2#10110000;",                                     1, 5,  2,                    2#10, 1, 7) and
2491        chkGetBitsMsb("\2#10011101;\2#00110000;",                                     1, 5,  2,                    2#10, 1, 7) and
2492        chkGetBitsMsb("\2#01001110;\2#01001100;",                                     1, 6,  2,                    2#10, 2, 0) and
2493        chkGetBitsMsb("\2#11010110;\2#11010100;",                                     1, 6,  2,                    2#10, 2, 0) and
2494        chkGetBitsMsb("\2#01101011;\2#00110101;",                                     1, 7,  2,                    2#10, 2, 1) and
2495        chkGetBitsMsb("\2#10110011;\2#01011001;",                                     1, 7,  2,                    2#10, 2, 1) and
2496        chkGetBitsMsb("\2#01000000;",                                                 1, 0,  3,                   2#010, 1, 3) and
2497        chkGetBitsMsb("\2#00100000;",                                                 1, 1,  3,                   2#010, 1, 4) and
2498        chkGetBitsMsb("\2#10101000;",                                                 1, 1,  3,                   2#010, 1, 4) and
2499        chkGetBitsMsb("\2#01010010;",                                                 1, 2,  3,                   2#010, 1, 5) and
2500        chkGetBitsMsb("\2#10010100;",                                                 1, 2,  3,                   2#010, 1, 5) and
2501        chkGetBitsMsb("\2#01001001;\2#00000000;",                                     1, 3,  3,                   2#010, 1, 6) and
2502        chkGetBitsMsb("\2#10101010;\2#10000000;",                                     1, 3,  3,                   2#010, 1, 6) and
2503        chkGetBitsMsb("\2#01010100;\2#10100000;",                                     1, 4,  3,                   2#010, 1, 7) and
2504        chkGetBitsMsb("\2#10110101;\2#01100000;",                                     1, 4,  3,                   2#010, 1, 7) and
2505        chkGetBitsMsb("\2#01011010;\2#01011000;",                                     1, 5,  3,                   2#010, 2, 0) and
2506        chkGetBitsMsb("\2#10011010;\2#10011000;",                                     1, 5,  3,                   2#010, 2, 0) and
2507        chkGetBitsMsb("\2#01001101;\2#00100110;",                                     1, 6,  3,                   2#010, 2, 1) and
2508        chkGetBitsMsb("\2#11010101;\2#01101010;",                                     1, 6,  3,                   2#010, 2, 1) and
2509        chkGetBitsMsb("\2#01101010;\2#10011010;\2#10000000;",                         1, 7,  3,                   2#010, 2, 2) and
2510        chkGetBitsMsb("\2#10110010;\2#10101100;\2#10000000;",                         1, 7,  3,                   2#010, 2, 2) and
2511        chkGetBitsMsb("\2#10100000;",                                                 1, 0,  3,                   2#101, 1, 3) and
2512        chkGetBitsMsb("\2#01010000;",                                                 1, 1,  3,                   2#101, 1, 4) and
2513        chkGetBitsMsb("\2#11011000;",                                                 1, 1,  3,                   2#101, 1, 4) and
2514        chkGetBitsMsb("\2#01101010;",                                                 1, 2,  3,                   2#101, 1, 5) and
2515        chkGetBitsMsb("\2#10101100;",                                                 1, 2,  3,                   2#101, 1, 5) and
2516        chkGetBitsMsb("\2#01010101;\2#00000000;",                                     1, 3,  3,                   2#101, 1, 6) and
2517        chkGetBitsMsb("\2#10110110;\2#10000000;",                                     1, 3,  3,                   2#101, 1, 6) and
2518        chkGetBitsMsb("\2#01011010;\2#10100000;",                                     1, 4,  3,                   2#101, 1, 7) and
2519        chkGetBitsMsb("\2#10111011;\2#01100000;",                                     1, 4,  3,                   2#101, 1, 7) and
2520        chkGetBitsMsb("\2#01011101;\2#01011000;",                                     1, 5,  3,                   2#101, 2, 0) and
2521        chkGetBitsMsb("\2#10011101;\2#10011000;",                                     1, 5,  3,                   2#101, 2, 0) and
2522        chkGetBitsMsb("\2#01001110;\2#10100110;",                                     1, 6,  3,                   2#101, 2, 1) and
2523        chkGetBitsMsb("\2#11010110;\2#11101010;",                                     1, 6,  3,                   2#101, 2, 1) and
2524        chkGetBitsMsb("\2#01101011;\2#01011010;\2#10000000;",                         1, 7,  3,                   2#101, 2, 2) and
2525        chkGetBitsMsb("\2#10110011;\2#01101100;\2#10000000;",                         1, 7,  3,                   2#101, 2, 2) and
2526        chkGetBitsMsb("\2#01010000;",                                                 1, 0,  4,                  2#0101, 1, 4) and
2527        chkGetBitsMsb("\2#00101000;",                                                 1, 1,  4,                  2#0101, 1, 5) and
2528        chkGetBitsMsb("\2#10101100;",                                                 1, 1,  4,                  2#0101, 1, 5) and
2529        chkGetBitsMsb("\2#01010101;",                                                 1, 2,  4,                  2#0101, 1, 6) and
2530        chkGetBitsMsb("\2#10010110;",                                                 1, 2,  4,                  2#0101, 1, 6) and
2531        chkGetBitsMsb("\2#01001010;\2#10000000;",                                     1, 3,  4,                  2#0101, 1, 7) and
2532        chkGetBitsMsb("\2#10101011;\2#01000000;",                                     1, 3,  4,                  2#0101, 1, 7) and
2533        chkGetBitsMsb("\2#01010101;\2#01010000;",                                     1, 4,  4,                  2#0101, 2, 0) and
2534        chkGetBitsMsb("\2#10110101;\2#10110000;",                                     1, 4,  4,                  2#0101, 2, 0) and
2535        chkGetBitsMsb("\2#01011010;\2#10101100;",                                     1, 5,  4,                  2#0101, 2, 1) and
2536        chkGetBitsMsb("\2#10011010;\2#11001100;",                                     1, 5,  4,                  2#0101, 2, 1) and
2537        chkGetBitsMsb("\2#01001101;\2#01010011;",                                     1, 6,  4,                  2#0101, 2, 2) and
2538        chkGetBitsMsb("\2#11010101;\2#01110101;",                                     1, 6,  4,                  2#0101, 2, 2) and
2539        chkGetBitsMsb("\2#01101010;\2#10101101;\2#01000000;",                         1, 7,  4,                  2#0101, 2, 3) and
2540        chkGetBitsMsb("\2#10110010;\2#10110110;\2#01000000;",                         1, 7,  4,                  2#0101, 2, 3) and
2541        chkGetBitsMsb("\2#10110000;",                                                 1, 0,  4,                  2#1011, 1, 4) and
2542        chkGetBitsMsb("\2#01011000;",                                                 1, 1,  4,                  2#1011, 1, 5) and
2543        chkGetBitsMsb("\2#11011100;",                                                 1, 1,  4,                  2#1011, 1, 5) and
2544        chkGetBitsMsb("\2#01101101;",                                                 1, 2,  4,                  2#1011, 1, 6) and
2545        chkGetBitsMsb("\2#10101110;",                                                 1, 2,  4,                  2#1011, 1, 6) and
2546        chkGetBitsMsb("\2#01010110;\2#10000000;",                                     1, 3,  4,                  2#1011, 1, 7) and
2547        chkGetBitsMsb("\2#10110111;\2#01000000;",                                     1, 3,  4,                  2#1011, 1, 7) and
2548        chkGetBitsMsb("\2#01011011;\2#01010000;",                                     1, 4,  4,                  2#1011, 2, 0) and
2549        chkGetBitsMsb("\2#10111011;\2#10110000;",                                     1, 4,  4,                  2#1011, 2, 0) and
2550        chkGetBitsMsb("\2#01011101;\2#10101100;",                                     1, 5,  4,                  2#1011, 2, 1) and
2551        chkGetBitsMsb("\2#10011101;\2#11001100;",                                     1, 5,  4,                  2#1011, 2, 1) and
2552        chkGetBitsMsb("\2#01001110;\2#11010011;",                                     1, 6,  4,                  2#1011, 2, 2) and
2553        chkGetBitsMsb("\2#11010110;\2#11110101;",                                     1, 6,  4,                  2#1011, 2, 2) and
2554        chkGetBitsMsb("\2#01101011;\2#01101101;\2#01000000;",                         1, 7,  4,                  2#1011, 2, 3) and
2555        chkGetBitsMsb("\2#10110011;\2#01110110;\2#01000000;",                         1, 7,  4,                  2#1011, 2, 3) and
2556        chkGetBitsMsb("\2#01011000;",                                                 1, 0,  5,                 2#01011, 1, 5) and
2557        chkGetBitsMsb("\2#00101100;",                                                 1, 1,  5,                 2#01011, 1, 6) and
2558        chkGetBitsMsb("\2#10101110;",                                                 1, 1,  5,                 2#01011, 1, 6) and
2559        chkGetBitsMsb("\2#01010110;\2#10000000;",                                     1, 2,  5,                 2#01011, 1, 7) and
2560        chkGetBitsMsb("\2#10010111;\2#00000000;",                                     1, 2,  5,                 2#01011, 1, 7) and
2561        chkGetBitsMsb("\2#01001011;\2#01000000;",                                     1, 3,  5,                 2#01011, 2, 0) and
2562        chkGetBitsMsb("\2#10101011;\2#10100000;",                                     1, 3,  5,                 2#01011, 2, 0) and
2563        chkGetBitsMsb("\2#01010101;\2#10101000;",                                     1, 4,  5,                 2#01011, 2, 1) and
2564        chkGetBitsMsb("\2#10110101;\2#11011000;",                                     1, 4,  5,                 2#01011, 2, 1) and
2565        chkGetBitsMsb("\2#01011010;\2#11010110;",                                     1, 5,  5,                 2#01011, 2, 2) and
2566        chkGetBitsMsb("\2#10011010;\2#11100110;",                                     1, 5,  5,                 2#01011, 2, 2) and
2567        chkGetBitsMsb("\2#01001101;\2#01101001;\2#10000000;",                         1, 6,  5,                 2#01011, 2, 3) and
2568        chkGetBitsMsb("\2#11010101;\2#01111010;\2#10000000;",                         1, 6,  5,                 2#01011, 2, 3) and
2569        chkGetBitsMsb("\2#01101010;\2#10110110;\2#10100000;",                         1, 7,  5,                 2#01011, 2, 4) and
2570        chkGetBitsMsb("\2#10110010;\2#10111011;\2#00100000;",                         1, 7,  5,                 2#01011, 2, 4) and
2571        chkGetBitsMsb("\2#10011000;",                                                 1, 0,  5,                 2#10011, 1, 5) and
2572        chkGetBitsMsb("\2#01001100;",                                                 1, 1,  5,                 2#10011, 1, 6) and
2573        chkGetBitsMsb("\2#11001110;",                                                 1, 1,  5,                 2#10011, 1, 6) and
2574        chkGetBitsMsb("\2#01100110;\2#10000000;",                                     1, 2,  5,                 2#10011, 1, 7) and
2575        chkGetBitsMsb("\2#10100111;\2#00000000;",                                     1, 2,  5,                 2#10011, 1, 7) and
2576        chkGetBitsMsb("\2#01010011;\2#01000000;",                                     1, 3,  5,                 2#10011, 2, 0) and
2577        chkGetBitsMsb("\2#10110011;\2#10100000;",                                     1, 3,  5,                 2#10011, 2, 0) and
2578        chkGetBitsMsb("\2#01011001;\2#10101000;",                                     1, 4,  5,                 2#10011, 2, 1) and
2579        chkGetBitsMsb("\2#10111001;\2#11011000;",                                     1, 4,  5,                 2#10011, 2, 1) and
2580        chkGetBitsMsb("\2#01011100;\2#11010110;",                                     1, 5,  5,                 2#10011, 2, 2) and
2581        chkGetBitsMsb("\2#10011100;\2#11100110;",                                     1, 5,  5,                 2#10011, 2, 2) and
2582        chkGetBitsMsb("\2#01001110;\2#01101001;\2#10000000;",                         1, 6,  5,                 2#10011, 2, 3) and
2583        chkGetBitsMsb("\2#11010110;\2#01111010;\2#10000000;",                         1, 6,  5,                 2#10011, 2, 3) and
2584        chkGetBitsMsb("\2#01101011;\2#00110110;\2#10100000;",                         1, 7,  5,                 2#10011, 2, 4) and
2585        chkGetBitsMsb("\2#10110011;\2#00111011;\2#00100000;",                         1, 7,  5,                 2#10011, 2, 4) and
2586        chkGetBitsMsb("\2#01001100;",                                                 1, 0,  6,                2#010011, 1, 6) and
2587        chkGetBitsMsb("\2#00100110;",                                                 1, 1,  6,                2#010011, 1, 7) and
2588        chkGetBitsMsb("\2#10100111;",                                                 1, 1,  6,                2#010011, 1, 7) and
2589        chkGetBitsMsb("\2#01010011;\2#01000000;",                                     1, 2,  6,                2#010011, 2, 0) and
2590        chkGetBitsMsb("\2#10010011;\2#10000000;",                                     1, 2,  6,                2#010011, 2, 0) and
2591        chkGetBitsMsb("\2#01001001;\2#10100000;",                                     1, 3,  6,                2#010011, 2, 1) and
2592        chkGetBitsMsb("\2#10101001;\2#11010000;",                                     1, 3,  6,                2#010011, 2, 1) and
2593        chkGetBitsMsb("\2#01010100;\2#11010100;",                                     1, 4,  6,                2#010011, 2, 2) and
2594        chkGetBitsMsb("\2#10110100;\2#11101100;",                                     1, 4,  6,                2#010011, 2, 2) and
2595        chkGetBitsMsb("\2#01011010;\2#01101011;",                                     1, 5,  6,                2#010011, 2, 3) and
2596        chkGetBitsMsb("\2#10011010;\2#01110011;",                                     1, 5,  6,                2#010011, 2, 3) and
2597        chkGetBitsMsb("\2#01001101;\2#00110100;\2#11000000;",                         1, 6,  6,                2#010011, 2, 4) and
2598        chkGetBitsMsb("\2#11010101;\2#00111101;\2#01000000;",                         1, 6,  6,                2#010011, 2, 4) and
2599        chkGetBitsMsb("\2#01101010;\2#10011011;\2#01010000;",                         1, 7,  6,                2#010011, 2, 5) and
2600        chkGetBitsMsb("\2#10110010;\2#10011101;\2#10010000;",                         1, 7,  6,                2#010011, 2, 5) and
2601        chkGetBitsMsb("\2#11010100;",                                                 1, 0,  6,                2#110101, 1, 6) and
2602        chkGetBitsMsb("\2#01101010;",                                                 1, 1,  6,                2#110101, 1, 7) and
2603        chkGetBitsMsb("\2#11101011;",                                                 1, 1,  6,                2#110101, 1, 7) and
2604        chkGetBitsMsb("\2#01110101;\2#01000000;",                                     1, 2,  6,                2#110101, 2, 0) and
2605        chkGetBitsMsb("\2#10110101;\2#10000000;",                                     1, 2,  6,                2#110101, 2, 0) and
2606        chkGetBitsMsb("\2#01011010;\2#10100000;",                                     1, 3,  6,                2#110101, 2, 1) and
2607        chkGetBitsMsb("\2#10111010;\2#11010000;",                                     1, 3,  6,                2#110101, 2, 1) and
2608        chkGetBitsMsb("\2#01011101;\2#01010100;",                                     1, 4,  6,                2#110101, 2, 2) and
2609        chkGetBitsMsb("\2#10111101;\2#01101100;",                                     1, 4,  6,                2#110101, 2, 2) and
2610        chkGetBitsMsb("\2#01011110;\2#10101011;",                                     1, 5,  6,                2#110101, 2, 3) and
2611        chkGetBitsMsb("\2#10011110;\2#10110011;",                                     1, 5,  6,                2#110101, 2, 3) and
2612        chkGetBitsMsb("\2#01001111;\2#01010100;\2#11000000;",                         1, 6,  6,                2#110101, 2, 4) and
2613        chkGetBitsMsb("\2#11010111;\2#01011101;\2#01000000;",                         1, 6,  6,                2#110101, 2, 4) and
2614        chkGetBitsMsb("\2#01101011;\2#10101011;\2#01010000;",                         1, 7,  6,                2#110101, 2, 5) and
2615        chkGetBitsMsb("\2#10110011;\2#10101101;\2#10010000;",                         1, 7,  6,                2#110101, 2, 5) and
2616        chkGetBitsMsb("\2#01101010;",                                                 1, 0,  7,               2#0110101, 1, 7) and
2617        chkGetBitsMsb("\2#00110101;\2#00000000;",                                     1, 1,  7,               2#0110101, 2, 0) and
2618        chkGetBitsMsb("\2#10110101;\2#10000000;",                                     1, 1,  7,               2#0110101, 2, 0) and
2619        chkGetBitsMsb("\2#01011010;\2#10100000;",                                     1, 2,  7,               2#0110101, 2, 1) and
2620        chkGetBitsMsb("\2#10011010;\2#11000000;",                                     1, 2,  7,               2#0110101, 2, 1) and
2621        chkGetBitsMsb("\2#01001101;\2#01010000;",                                     1, 3,  7,               2#0110101, 2, 2) and
2622        chkGetBitsMsb("\2#10101101;\2#01101000;",                                     1, 3,  7,               2#0110101, 2, 2) and
2623        chkGetBitsMsb("\2#01010110;\2#10101010;",                                     1, 4,  7,               2#0110101, 2, 3) and
2624        chkGetBitsMsb("\2#10110110;\2#10110110;",                                     1, 4,  7,               2#0110101, 2, 3) and
2625        chkGetBitsMsb("\2#01011011;\2#01010101;\2#10000000;",                         1, 5,  7,               2#0110101, 2, 4) and
2626        chkGetBitsMsb("\2#10011011;\2#01011001;\2#10000000;",                         1, 5,  7,               2#0110101, 2, 4) and
2627        chkGetBitsMsb("\2#01001101;\2#10101010;\2#01100000;",                         1, 6,  7,               2#0110101, 2, 5) and
2628        chkGetBitsMsb("\2#11010101;\2#10101110;\2#10100000;",                         1, 6,  7,               2#0110101, 2, 5) and
2629        chkGetBitsMsb("\2#01101010;\2#11010101;\2#10101000;",                         1, 7,  7,               2#0110101, 2, 6) and
2630        chkGetBitsMsb("\2#10110010;\2#11010110;\2#11001000;",                         1, 7,  7,               2#0110101, 2, 6) and
2631        chkGetBitsMsb("\2#10110010;",                                                 1, 0,  7,               2#1011001, 1, 7) and
2632        chkGetBitsMsb("\2#01011001;\2#00000000;",                                     1, 1,  7,               2#1011001, 2, 0) and
2633        chkGetBitsMsb("\2#11011001;\2#10000000;",                                     1, 1,  7,               2#1011001, 2, 0) and
2634        chkGetBitsMsb("\2#01101100;\2#10100000;",                                     1, 2,  7,               2#1011001, 2, 1) and
2635        chkGetBitsMsb("\2#10101100;\2#11000000;",                                     1, 2,  7,               2#1011001, 2, 1) and
2636        chkGetBitsMsb("\2#01010110;\2#01010000;",                                     1, 3,  7,               2#1011001, 2, 2) and
2637        chkGetBitsMsb("\2#10110110;\2#01101000;",                                     1, 3,  7,               2#1011001, 2, 2) and
2638        chkGetBitsMsb("\2#01011011;\2#00101010;",                                     1, 4,  7,               2#1011001, 2, 3) and
2639        chkGetBitsMsb("\2#10111011;\2#00110110;",                                     1, 4,  7,               2#1011001, 2, 3) and
2640        chkGetBitsMsb("\2#01011101;\2#10010101;\2#10000000;",                         1, 5,  7,               2#1011001, 2, 4) and
2641        chkGetBitsMsb("\2#10011101;\2#10011001;\2#10000000;",                         1, 5,  7,               2#1011001, 2, 4) and
2642        chkGetBitsMsb("\2#01001110;\2#11001010;\2#01100000;",                         1, 6,  7,               2#1011001, 2, 5) and
2643        chkGetBitsMsb("\2#11010110;\2#11001110;\2#10100000;",                         1, 6,  7,               2#1011001, 2, 5) and
2644        chkGetBitsMsb("\2#01101011;\2#01100101;\2#10101000;",                         1, 7,  7,               2#1011001, 2, 6) and
2645        chkGetBitsMsb("\2#10110011;\2#01100110;\2#11001000;",                         1, 7,  7,               2#1011001, 2, 6) and
2646        chkGetBitsMsb("\2#01011001;",                                                 1, 0,  8,              2#01011001, 2, 0) and
2647        chkGetBitsMsb("\2#00101100;\2#10000000;",                                     1, 1,  8,              2#01011001, 2, 1) and
2648        chkGetBitsMsb("\2#10101100;\2#11000000;",                                     1, 1,  8,              2#01011001, 2, 1) and
2649        chkGetBitsMsb("\2#01010110;\2#01010000;",                                     1, 2,  8,              2#01011001, 2, 2) and
2650        chkGetBitsMsb("\2#10010110;\2#01100000;",                                     1, 2,  8,              2#01011001, 2, 2) and
2651        chkGetBitsMsb("\2#01001011;\2#00101000;",                                     1, 3,  8,              2#01011001, 2, 3) and
2652        chkGetBitsMsb("\2#10101011;\2#00110100;",                                     1, 3,  8,              2#01011001, 2, 3) and
2653        chkGetBitsMsb("\2#01010101;\2#10010101;",                                     1, 4,  8,              2#01011001, 2, 4) and
2654        chkGetBitsMsb("\2#10110101;\2#10011011;",                                     1, 4,  8,              2#01011001, 2, 4) and
2655        chkGetBitsMsb("\2#01011010;\2#11001010;\2#11000000;",                         1, 5,  8,              2#01011001, 2, 5) and
2656        chkGetBitsMsb("\2#10011010;\2#11001100;\2#11000000;",                         1, 5,  8,              2#01011001, 2, 5) and
2657        chkGetBitsMsb("\2#01001101;\2#01100101;\2#00110000;",                         1, 6,  8,              2#01011001, 2, 6) and
2658        chkGetBitsMsb("\2#11010101;\2#01100111;\2#01010000;",                         1, 6,  8,              2#01011001, 2, 6) and
2659        chkGetBitsMsb("\2#01101010;\2#10110010;\2#11010100;",                         1, 7,  8,              2#01011001, 2, 7) and
2660        chkGetBitsMsb("\2#10110010;\2#10110011;\2#01100100;",                         1, 7,  8,              2#01011001, 2, 7) and
2661        chkGetBitsMsb("\2#10100011;",                                                 1, 0,  8,              2#10100011, 2, 0) and
2662        chkGetBitsMsb("\2#01010001;\2#10000000;",                                     1, 1,  8,              2#10100011, 2, 1) and
2663        chkGetBitsMsb("\2#11010001;\2#11000000;",                                     1, 1,  8,              2#10100011, 2, 1) and
2664        chkGetBitsMsb("\2#01101000;\2#11010000;",                                     1, 2,  8,              2#10100011, 2, 2) and
2665        chkGetBitsMsb("\2#10101000;\2#11100000;",                                     1, 2,  8,              2#10100011, 2, 2) and
2666        chkGetBitsMsb("\2#01010100;\2#01101000;",                                     1, 3,  8,              2#10100011, 2, 3) and
2667        chkGetBitsMsb("\2#10110100;\2#01110100;",                                     1, 3,  8,              2#10100011, 2, 3) and
2668        chkGetBitsMsb("\2#01011010;\2#00110101;",                                     1, 4,  8,              2#10100011, 2, 4) and
2669        chkGetBitsMsb("\2#10111010;\2#00111011;",                                     1, 4,  8,              2#10100011, 2, 4) and
2670        chkGetBitsMsb("\2#01011101;\2#00011010;\2#11000000;",                         1, 5,  8,              2#10100011, 2, 5) and
2671        chkGetBitsMsb("\2#10011101;\2#00011100;\2#11000000;",                         1, 5,  8,              2#10100011, 2, 5) and
2672        chkGetBitsMsb("\2#01001110;\2#10001101;\2#00110000;",                         1, 6,  8,              2#10100011, 2, 6) and
2673        chkGetBitsMsb("\2#11010110;\2#10001111;\2#01010000;",                         1, 6,  8,              2#10100011, 2, 6) and
2674        chkGetBitsMsb("\2#01101011;\2#01000110;\2#11010100;",                         1, 7,  8,              2#10100011, 2, 7) and
2675        chkGetBitsMsb("\2#10110011;\2#01000111;\2#01100100;",                         1, 7,  8,              2#10100011, 2, 7) and
2676        chkGetBitsMsb("\2#01010001;\2#10000000;",                                     1, 0,  9,             2#010100011, 2, 1) and
2677        chkGetBitsMsb("\2#00101000;\2#11000000;",                                     1, 1,  9,             2#010100011, 2, 2) and
2678        chkGetBitsMsb("\2#10101000;\2#11100000;",                                     1, 1,  9,             2#010100011, 2, 2) and
2679        chkGetBitsMsb("\2#01010100;\2#01101000;",                                     1, 2,  9,             2#010100011, 2, 3) and
2680        chkGetBitsMsb("\2#10010100;\2#01110000;",                                     1, 2,  9,             2#010100011, 2, 3) and
2681        chkGetBitsMsb("\2#01001010;\2#00110100;",                                     1, 3,  9,             2#010100011, 2, 4) and
2682        chkGetBitsMsb("\2#10101010;\2#00111010;",                                     1, 3,  9,             2#010100011, 2, 4) and
2683        chkGetBitsMsb("\2#01010101;\2#00011010;\2#10000000;",                         1, 4,  9,             2#010100011, 2, 5) and
2684        chkGetBitsMsb("\2#10110101;\2#00011101;\2#10000000;",                         1, 4,  9,             2#010100011, 2, 5) and
2685        chkGetBitsMsb("\2#01011010;\2#10001101;\2#01100000;",                         1, 5,  9,             2#010100011, 2, 6) and
2686        chkGetBitsMsb("\2#10011010;\2#10001110;\2#01100000;",                         1, 5,  9,             2#010100011, 2, 6) and
2687        chkGetBitsMsb("\2#01001101;\2#01000110;\2#10011000;",                         1, 6,  9,             2#010100011, 2, 7) and
2688        chkGetBitsMsb("\2#11010101;\2#01000111;\2#10101000;",                         1, 6,  9,             2#010100011, 2, 7) and
2689        chkGetBitsMsb("\2#01101010;\2#10100011;\2#01101010;",                         1, 7,  9,             2#010100011, 3, 0) and
2690        chkGetBitsMsb("\2#10110010;\2#10100011;\2#10110010;",                         1, 7,  9,             2#010100011, 3, 0) and
2691        chkGetBitsMsb("\2#11011011;\2#10000000;",                                     1, 0,  9,             2#110110111, 2, 1) and
2692        chkGetBitsMsb("\2#01101101;\2#11000000;",                                     1, 1,  9,             2#110110111, 2, 2) and
2693        chkGetBitsMsb("\2#11101101;\2#11100000;",                                     1, 1,  9,             2#110110111, 2, 2) and
2694        chkGetBitsMsb("\2#01110110;\2#11101000;",                                     1, 2,  9,             2#110110111, 2, 3) and
2695        chkGetBitsMsb("\2#10110110;\2#11110000;",                                     1, 2,  9,             2#110110111, 2, 3) and
2696        chkGetBitsMsb("\2#01011011;\2#01110100;",                                     1, 3,  9,             2#110110111, 2, 4) and
2697        chkGetBitsMsb("\2#10111011;\2#01111010;",                                     1, 3,  9,             2#110110111, 2, 4) and
2698        chkGetBitsMsb("\2#01011101;\2#10111010;\2#10000000;",                         1, 4,  9,             2#110110111, 2, 5) and
2699        chkGetBitsMsb("\2#10111101;\2#10111101;\2#10000000;",                         1, 4,  9,             2#110110111, 2, 5) and
2700        chkGetBitsMsb("\2#01011110;\2#11011101;\2#01100000;",                         1, 5,  9,             2#110110111, 2, 6) and
2701        chkGetBitsMsb("\2#10011110;\2#11011110;\2#01100000;",                         1, 5,  9,             2#110110111, 2, 6) and
2702        chkGetBitsMsb("\2#01001111;\2#01101110;\2#10011000;",                         1, 6,  9,             2#110110111, 2, 7) and
2703        chkGetBitsMsb("\2#11010111;\2#01101111;\2#10101000;",                         1, 6,  9,             2#110110111, 2, 7) and
2704        chkGetBitsMsb("\2#01101011;\2#10110111;\2#01101010;",                         1, 7,  9,             2#110110111, 3, 0) and
2705        chkGetBitsMsb("\2#10110011;\2#10110111;\2#10110010;",                         1, 7,  9,             2#110110111, 3, 0) and
2706        chkGetBitsMsb("\2#01101101;\2#11000000;",                                     1, 0, 10,            2#0110110111, 2, 2) and
2707        chkGetBitsMsb("\2#00110110;\2#11100000;",                                     1, 1, 10,            2#0110110111, 2, 3) and
2708        chkGetBitsMsb("\2#10110110;\2#11110000;",                                     1, 1, 10,            2#0110110111, 2, 3) and
2709        chkGetBitsMsb("\2#01011011;\2#01110100;",                                     1, 2, 10,            2#0110110111, 2, 4) and
2710        chkGetBitsMsb("\2#10011011;\2#01111000;",                                     1, 2, 10,            2#0110110111, 2, 4) and
2711        chkGetBitsMsb("\2#01001101;\2#10111010;",                                     1, 3, 10,            2#0110110111, 2, 5) and
2712        chkGetBitsMsb("\2#10101101;\2#10111101;",                                     1, 3, 10,            2#0110110111, 2, 5) and
2713        chkGetBitsMsb("\2#01010110;\2#11011101;\2#01000000;",                         1, 4, 10,            2#0110110111, 2, 6) and
2714        chkGetBitsMsb("\2#10110110;\2#11011110;\2#11000000;",                         1, 4, 10,            2#0110110111, 2, 6) and
2715        chkGetBitsMsb("\2#01011011;\2#01101110;\2#10110000;",                         1, 5, 10,            2#0110110111, 2, 7) and
2716        chkGetBitsMsb("\2#10011011;\2#01101111;\2#00110000;",                         1, 5, 10,            2#0110110111, 2, 7) and
2717        chkGetBitsMsb("\2#01001101;\2#10110111;\2#01001100;",                         1, 6, 10,            2#0110110111, 3, 0) and
2718        chkGetBitsMsb("\2#11010101;\2#10110111;\2#11010100;",                         1, 6, 10,            2#0110110111, 3, 0) and
2719        chkGetBitsMsb("\2#01101010;\2#11011011;\2#10110101;",                         1, 7, 10,            2#0110110111, 3, 1) and
2720        chkGetBitsMsb("\2#10110010;\2#11011011;\2#11011001;",                         1, 7, 10,            2#0110110111, 3, 1) and
2721        chkGetBitsMsb("\2#11000100;\2#11000000;",                                     1, 0, 10,            2#1100010011, 2, 2) and
2722        chkGetBitsMsb("\2#01100010;\2#01100000;",                                     1, 1, 10,            2#1100010011, 2, 3) and
2723        chkGetBitsMsb("\2#11100010;\2#01110000;",                                     1, 1, 10,            2#1100010011, 2, 3) and
2724        chkGetBitsMsb("\2#01110001;\2#00110100;",                                     1, 2, 10,            2#1100010011, 2, 4) and
2725        chkGetBitsMsb("\2#10110001;\2#00111000;",                                     1, 2, 10,            2#1100010011, 2, 4) and
2726        chkGetBitsMsb("\2#01011000;\2#10011010;",                                     1, 3, 10,            2#1100010011, 2, 5) and
2727        chkGetBitsMsb("\2#10111000;\2#10011101;",                                     1, 3, 10,            2#1100010011, 2, 5) and
2728        chkGetBitsMsb("\2#01011100;\2#01001101;\2#01000000;",                         1, 4, 10,            2#1100010011, 2, 6) and
2729        chkGetBitsMsb("\2#10111100;\2#01001110;\2#11000000;",                         1, 4, 10,            2#1100010011, 2, 6) and
2730        chkGetBitsMsb("\2#01011110;\2#00100110;\2#10110000;",                         1, 5, 10,            2#1100010011, 2, 7) and
2731        chkGetBitsMsb("\2#10011110;\2#00100111;\2#00110000;",                         1, 5, 10,            2#1100010011, 2, 7) and
2732        chkGetBitsMsb("\2#01001111;\2#00010011;\2#01001100;",                         1, 6, 10,            2#1100010011, 3, 0) and
2733        chkGetBitsMsb("\2#11010111;\2#00010011;\2#11010100;",                         1, 6, 10,            2#1100010011, 3, 0) and
2734        chkGetBitsMsb("\2#01101011;\2#10001001;\2#10110101;",                         1, 7, 10,            2#1100010011, 3, 1) and
2735        chkGetBitsMsb("\2#10110011;\2#10001001;\2#11011001;",                         1, 7, 10,            2#1100010011, 3, 1) and
2736        chkGetBitsMsb("\2#01100010;\2#01100000;",                                     1, 0, 11,           2#01100010011, 2, 3) and
2737        chkGetBitsMsb("\2#00110001;\2#00110000;",                                     1, 1, 11,           2#01100010011, 2, 4) and
2738        chkGetBitsMsb("\2#10110001;\2#00111000;",                                     1, 1, 11,           2#01100010011, 2, 4) and
2739        chkGetBitsMsb("\2#01011000;\2#10011010;",                                     1, 2, 11,           2#01100010011, 2, 5) and
2740        chkGetBitsMsb("\2#10011000;\2#10011100;",                                     1, 2, 11,           2#01100010011, 2, 5) and
2741        chkGetBitsMsb("\2#01001100;\2#01001101;\2#00000000;",                         1, 3, 11,           2#01100010011, 2, 6) and
2742        chkGetBitsMsb("\2#10101100;\2#01001110;\2#10000000;",                         1, 3, 11,           2#01100010011, 2, 6) and
2743        chkGetBitsMsb("\2#01010110;\2#00100110;\2#10100000;",                         1, 4, 11,           2#01100010011, 2, 7) and
2744        chkGetBitsMsb("\2#10110110;\2#00100111;\2#01100000;",                         1, 4, 11,           2#01100010011, 2, 7) and
2745        chkGetBitsMsb("\2#01011011;\2#00010011;\2#01011000;",                         1, 5, 11,           2#01100010011, 3, 0) and
2746        chkGetBitsMsb("\2#10011011;\2#00010011;\2#10011000;",                         1, 5, 11,           2#01100010011, 3, 0) and
2747        chkGetBitsMsb("\2#01001101;\2#10001001;\2#10100110;",                         1, 6, 11,           2#01100010011, 3, 1) and
2748        chkGetBitsMsb("\2#11010101;\2#10001001;\2#11101010;",                         1, 6, 11,           2#01100010011, 3, 1) and
2749        chkGetBitsMsb("\2#01101010;\2#11000100;\2#11011010;\2#10000000;",             1, 7, 11,           2#01100010011, 3, 2) and
2750        chkGetBitsMsb("\2#10110010;\2#11000100;\2#11101100;\2#10000000;",             1, 7, 11,           2#01100010011, 3, 2) and
2751        chkGetBitsMsb("\2#10110100;\2#11100000;",                                     1, 0, 11,           2#10110100111, 2, 3) and
2752        chkGetBitsMsb("\2#01011010;\2#01110000;",                                     1, 1, 11,           2#10110100111, 2, 4) and
2753        chkGetBitsMsb("\2#11011010;\2#01111000;",                                     1, 1, 11,           2#10110100111, 2, 4) and
2754        chkGetBitsMsb("\2#01101101;\2#00111010;",                                     1, 2, 11,           2#10110100111, 2, 5) and
2755        chkGetBitsMsb("\2#10101101;\2#00111100;",                                     1, 2, 11,           2#10110100111, 2, 5) and
2756        chkGetBitsMsb("\2#01010110;\2#10011101;\2#00000000;",                         1, 3, 11,           2#10110100111, 2, 6) and
2757        chkGetBitsMsb("\2#10110110;\2#10011110;\2#10000000;",                         1, 3, 11,           2#10110100111, 2, 6) and
2758        chkGetBitsMsb("\2#01011011;\2#01001110;\2#10100000;",                         1, 4, 11,           2#10110100111, 2, 7) and
2759        chkGetBitsMsb("\2#10111011;\2#01001111;\2#01100000;",                         1, 4, 11,           2#10110100111, 2, 7) and
2760        chkGetBitsMsb("\2#01011101;\2#10100111;\2#01011000;",                         1, 5, 11,           2#10110100111, 3, 0) and
2761        chkGetBitsMsb("\2#10011101;\2#10100111;\2#10011000;",                         1, 5, 11,           2#10110100111, 3, 0) and
2762        chkGetBitsMsb("\2#01001110;\2#11010011;\2#10100110;",                         1, 6, 11,           2#10110100111, 3, 1) and
2763        chkGetBitsMsb("\2#11010110;\2#11010011;\2#11101010;",                         1, 6, 11,           2#10110100111, 3, 1) and
2764        chkGetBitsMsb("\2#01101011;\2#01101001;\2#11011010;\2#10000000;",             1, 7, 11,           2#10110100111, 3, 2) and
2765        chkGetBitsMsb("\2#10110011;\2#01101001;\2#11101100;\2#10000000;",             1, 7, 11,           2#10110100111, 3, 2) and
2766        chkGetBitsMsb("\2#01011010;\2#01110000;",                                     1, 0, 12,          2#010110100111, 2, 4) and
2767        chkGetBitsMsb("\2#00101101;\2#00111000;",                                     1, 1, 12,          2#010110100111, 2, 5) and
2768        chkGetBitsMsb("\2#10101101;\2#00111100;",                                     1, 1, 12,          2#010110100111, 2, 5) and
2769        chkGetBitsMsb("\2#01010110;\2#10011101;",                                     1, 2, 12,          2#010110100111, 2, 6) and
2770        chkGetBitsMsb("\2#10010110;\2#10011110;",                                     1, 2, 12,          2#010110100111, 2, 6) and
2771        chkGetBitsMsb("\2#01001011;\2#01001110;\2#10000000;",                         1, 3, 12,          2#010110100111, 2, 7) and
2772        chkGetBitsMsb("\2#10101011;\2#01001111;\2#01000000;",                         1, 3, 12,          2#010110100111, 2, 7) and
2773        chkGetBitsMsb("\2#01010101;\2#10100111;\2#01010000;",                         1, 4, 12,          2#010110100111, 3, 0) and
2774        chkGetBitsMsb("\2#10110101;\2#10100111;\2#10110000;",                         1, 4, 12,          2#010110100111, 3, 0) and
2775        chkGetBitsMsb("\2#01011010;\2#11010011;\2#10101100;",                         1, 5, 12,          2#010110100111, 3, 1) and
2776        chkGetBitsMsb("\2#10011010;\2#11010011;\2#11001100;",                         1, 5, 12,          2#010110100111, 3, 1) and
2777        chkGetBitsMsb("\2#01001101;\2#01101001;\2#11010011;",                         1, 6, 12,          2#010110100111, 3, 2) and
2778        chkGetBitsMsb("\2#11010101;\2#01101001;\2#11110101;",                         1, 6, 12,          2#010110100111, 3, 2) and
2779        chkGetBitsMsb("\2#01101010;\2#10110100;\2#11101101;\2#01000000;",             1, 7, 12,          2#010110100111, 3, 3) and
2780        chkGetBitsMsb("\2#10110010;\2#10110100;\2#11110110;\2#01000000;",             1, 7, 12,          2#010110100111, 3, 3) and
2781        chkGetBitsMsb("\2#10111000;\2#11010000;",                                     1, 0, 12,          2#101110001101, 2, 4) and
2782        chkGetBitsMsb("\2#01011100;\2#01101000;",                                     1, 1, 12,          2#101110001101, 2, 5) and
2783        chkGetBitsMsb("\2#11011100;\2#01101100;",                                     1, 1, 12,          2#101110001101, 2, 5) and
2784        chkGetBitsMsb("\2#01101110;\2#00110101;",                                     1, 2, 12,          2#101110001101, 2, 6) and
2785        chkGetBitsMsb("\2#10101110;\2#00110110;",                                     1, 2, 12,          2#101110001101, 2, 6) and
2786        chkGetBitsMsb("\2#01010111;\2#00011010;\2#10000000;",                         1, 3, 12,          2#101110001101, 2, 7) and
2787        chkGetBitsMsb("\2#10110111;\2#00011011;\2#01000000;",                         1, 3, 12,          2#101110001101, 2, 7) and
2788        chkGetBitsMsb("\2#01011011;\2#10001101;\2#01010000;",                         1, 4, 12,          2#101110001101, 3, 0) and
2789        chkGetBitsMsb("\2#10111011;\2#10001101;\2#10110000;",                         1, 4, 12,          2#101110001101, 3, 0) and
2790        chkGetBitsMsb("\2#01011101;\2#11000110;\2#10101100;",                         1, 5, 12,          2#101110001101, 3, 1) and
2791        chkGetBitsMsb("\2#10011101;\2#11000110;\2#11001100;",                         1, 5, 12,          2#101110001101, 3, 1) and
2792        chkGetBitsMsb("\2#01001110;\2#11100011;\2#01010011;",                         1, 6, 12,          2#101110001101, 3, 2) and
2793        chkGetBitsMsb("\2#11010110;\2#11100011;\2#01110101;",                         1, 6, 12,          2#101110001101, 3, 2) and
2794        chkGetBitsMsb("\2#01101011;\2#01110001;\2#10101101;\2#01000000;",             1, 7, 12,          2#101110001101, 3, 3) and
2795        chkGetBitsMsb("\2#10110011;\2#01110001;\2#10110110;\2#01000000;",             1, 7, 12,          2#101110001101, 3, 3) and
2796        chkGetBitsMsb("\2#01011100;\2#01101000;",                                     1, 0, 13,         2#0101110001101, 2, 5) and
2797        chkGetBitsMsb("\2#00101110;\2#00110100;",                                     1, 1, 13,         2#0101110001101, 2, 6) and
2798        chkGetBitsMsb("\2#10101110;\2#00110110;",                                     1, 1, 13,         2#0101110001101, 2, 6) and
2799        chkGetBitsMsb("\2#01010111;\2#00011010;\2#10000000;",                         1, 2, 13,         2#0101110001101, 2, 7) and
2800        chkGetBitsMsb("\2#10010111;\2#00011011;\2#00000000;",                         1, 2, 13,         2#0101110001101, 2, 7) and
2801        chkGetBitsMsb("\2#01001011;\2#10001101;\2#01000000;",                         1, 3, 13,         2#0101110001101, 3, 0) and
2802        chkGetBitsMsb("\2#10101011;\2#10001101;\2#10100000;",                         1, 3, 13,         2#0101110001101, 3, 0) and
2803        chkGetBitsMsb("\2#01010101;\2#11000110;\2#10101000;",                         1, 4, 13,         2#0101110001101, 3, 1) and
2804        chkGetBitsMsb("\2#10110101;\2#11000110;\2#11011000;",                         1, 4, 13,         2#0101110001101, 3, 1) and
2805        chkGetBitsMsb("\2#01011010;\2#11100011;\2#01010110;",                         1, 5, 13,         2#0101110001101, 3, 2) and
2806        chkGetBitsMsb("\2#10011010;\2#11100011;\2#01100110;",                         1, 5, 13,         2#0101110001101, 3, 2) and
2807        chkGetBitsMsb("\2#01001101;\2#01110001;\2#10101001;\2#10000000;",             1, 6, 13,         2#0101110001101, 3, 3) and
2808        chkGetBitsMsb("\2#11010101;\2#01110001;\2#10111010;\2#10000000;",             1, 6, 13,         2#0101110001101, 3, 3) and
2809        chkGetBitsMsb("\2#01101010;\2#10111000;\2#11010110;\2#10100000;",             1, 7, 13,         2#0101110001101, 3, 4) and
2810        chkGetBitsMsb("\2#10110010;\2#10111000;\2#11011011;\2#00100000;",             1, 7, 13,         2#0101110001101, 3, 4) and
2811        chkGetBitsMsb("\2#11011001;\2#10111000;",                                     1, 0, 13,         2#1101100110111, 2, 5) and
2812        chkGetBitsMsb("\2#01101100;\2#11011100;",                                     1, 1, 13,         2#1101100110111, 2, 6) and
2813        chkGetBitsMsb("\2#11101100;\2#11011110;",                                     1, 1, 13,         2#1101100110111, 2, 6) and
2814        chkGetBitsMsb("\2#01110110;\2#01101110;\2#10000000;",                         1, 2, 13,         2#1101100110111, 2, 7) and
2815        chkGetBitsMsb("\2#10110110;\2#01101111;\2#00000000;",                         1, 2, 13,         2#1101100110111, 2, 7) and
2816        chkGetBitsMsb("\2#01011011;\2#00110111;\2#01000000;",                         1, 3, 13,         2#1101100110111, 3, 0) and
2817        chkGetBitsMsb("\2#10111011;\2#00110111;\2#10100000;",                         1, 3, 13,         2#1101100110111, 3, 0) and
2818        chkGetBitsMsb("\2#01011101;\2#10011011;\2#10101000;",                         1, 4, 13,         2#1101100110111, 3, 1) and
2819        chkGetBitsMsb("\2#10111101;\2#10011011;\2#11011000;",                         1, 4, 13,         2#1101100110111, 3, 1) and
2820        chkGetBitsMsb("\2#01011110;\2#11001101;\2#11010110;",                         1, 5, 13,         2#1101100110111, 3, 2) and
2821        chkGetBitsMsb("\2#10011110;\2#11001101;\2#11100110;",                         1, 5, 13,         2#1101100110111, 3, 2) and
2822        chkGetBitsMsb("\2#01001111;\2#01100110;\2#11101001;\2#10000000;",             1, 6, 13,         2#1101100110111, 3, 3) and
2823        chkGetBitsMsb("\2#11010111;\2#01100110;\2#11111010;\2#10000000;",             1, 6, 13,         2#1101100110111, 3, 3) and
2824        chkGetBitsMsb("\2#01101011;\2#10110011;\2#01110110;\2#10100000;",             1, 7, 13,         2#1101100110111, 3, 4) and
2825        chkGetBitsMsb("\2#10110011;\2#10110011;\2#01111011;\2#00100000;",             1, 7, 13,         2#1101100110111, 3, 4) and
2826        chkGetBitsMsb("\2#01101100;\2#11011100;",                                     1, 0, 14,        2#01101100110111, 2, 6) and
2827        chkGetBitsMsb("\2#00110110;\2#01101110;",                                     1, 1, 14,        2#01101100110111, 2, 7) and
2828        chkGetBitsMsb("\2#10110110;\2#01101111;",                                     1, 1, 14,        2#01101100110111, 2, 7) and
2829        chkGetBitsMsb("\2#01011011;\2#00110111;\2#01000000;",                         1, 2, 14,        2#01101100110111, 3, 0) and
2830        chkGetBitsMsb("\2#10011011;\2#00110111;\2#10000000;",                         1, 2, 14,        2#01101100110111, 3, 0) and
2831        chkGetBitsMsb("\2#01001101;\2#10011011;\2#10100000;",                         1, 3, 14,        2#01101100110111, 3, 1) and
2832        chkGetBitsMsb("\2#10101101;\2#10011011;\2#11010000;",                         1, 3, 14,        2#01101100110111, 3, 1) and
2833        chkGetBitsMsb("\2#01010110;\2#11001101;\2#11010100;",                         1, 4, 14,        2#01101100110111, 3, 2) and
2834        chkGetBitsMsb("\2#10110110;\2#11001101;\2#11101100;",                         1, 4, 14,        2#01101100110111, 3, 2) and
2835        chkGetBitsMsb("\2#01011011;\2#01100110;\2#11101011;",                         1, 5, 14,        2#01101100110111, 3, 3) and
2836        chkGetBitsMsb("\2#10011011;\2#01100110;\2#11110011;",                         1, 5, 14,        2#01101100110111, 3, 3) and
2837        chkGetBitsMsb("\2#01001101;\2#10110011;\2#01110100;\2#11000000;",             1, 6, 14,        2#01101100110111, 3, 4) and
2838        chkGetBitsMsb("\2#11010101;\2#10110011;\2#01111101;\2#01000000;",             1, 6, 14,        2#01101100110111, 3, 4) and
2839        chkGetBitsMsb("\2#01101010;\2#11011001;\2#10111011;\2#01010000;",             1, 7, 14,        2#01101100110111, 3, 5) and
2840        chkGetBitsMsb("\2#10110010;\2#11011001;\2#10111101;\2#10010000;",             1, 7, 14,        2#01101100110111, 3, 5) and
2841        chkGetBitsMsb("\2#10011011;\2#01010100;",                                     1, 0, 14,        2#10011011010101, 2, 6) and
2842        chkGetBitsMsb("\2#01001101;\2#10101010;",                                     1, 1, 14,        2#10011011010101, 2, 7) and
2843        chkGetBitsMsb("\2#11001101;\2#10101011;",                                     1, 1, 14,        2#10011011010101, 2, 7) and
2844        chkGetBitsMsb("\2#01100110;\2#11010101;\2#01000000;",                         1, 2, 14,        2#10011011010101, 3, 0) and
2845        chkGetBitsMsb("\2#10100110;\2#11010101;\2#10000000;",                         1, 2, 14,        2#10011011010101, 3, 0) and
2846        chkGetBitsMsb("\2#01010011;\2#01101010;\2#10100000;",                         1, 3, 14,        2#10011011010101, 3, 1) and
2847        chkGetBitsMsb("\2#10110011;\2#01101010;\2#11010000;",                         1, 3, 14,        2#10011011010101, 3, 1) and
2848        chkGetBitsMsb("\2#01011001;\2#10110101;\2#01010100;",                         1, 4, 14,        2#10011011010101, 3, 2) and
2849        chkGetBitsMsb("\2#10111001;\2#10110101;\2#01101100;",                         1, 4, 14,        2#10011011010101, 3, 2) and
2850        chkGetBitsMsb("\2#01011100;\2#11011010;\2#10101011;",                         1, 5, 14,        2#10011011010101, 3, 3) and
2851        chkGetBitsMsb("\2#10011100;\2#11011010;\2#10110011;",                         1, 5, 14,        2#10011011010101, 3, 3) and
2852        chkGetBitsMsb("\2#01001110;\2#01101101;\2#01010100;\2#11000000;",             1, 6, 14,        2#10011011010101, 3, 4) and
2853        chkGetBitsMsb("\2#11010110;\2#01101101;\2#01011101;\2#01000000;",             1, 6, 14,        2#10011011010101, 3, 4) and
2854        chkGetBitsMsb("\2#01101011;\2#00110110;\2#10101011;\2#01010000;",             1, 7, 14,        2#10011011010101, 3, 5) and
2855        chkGetBitsMsb("\2#10110011;\2#00110110;\2#10101101;\2#10010000;",             1, 7, 14,        2#10011011010101, 3, 5) and
2856        chkGetBitsMsb("\2#01001101;\2#10101010;",                                     1, 0, 15,       2#010011011010101, 2, 7) and
2857        chkGetBitsMsb("\2#00100110;\2#11010101;\2#00000000;",                         1, 1, 15,       2#010011011010101, 3, 0) and
2858        chkGetBitsMsb("\2#10100110;\2#11010101;\2#10000000;",                         1, 1, 15,       2#010011011010101, 3, 0) and
2859        chkGetBitsMsb("\2#01010011;\2#01101010;\2#10100000;",                         1, 2, 15,       2#010011011010101, 3, 1) and
2860        chkGetBitsMsb("\2#10010011;\2#01101010;\2#11000000;",                         1, 2, 15,       2#010011011010101, 3, 1) and
2861        chkGetBitsMsb("\2#01001001;\2#10110101;\2#01010000;",                         1, 3, 15,       2#010011011010101, 3, 2) and
2862        chkGetBitsMsb("\2#10101001;\2#10110101;\2#01101000;",                         1, 3, 15,       2#010011011010101, 3, 2) and
2863        chkGetBitsMsb("\2#01010100;\2#11011010;\2#10101010;",                         1, 4, 15,       2#010011011010101, 3, 3) and
2864        chkGetBitsMsb("\2#10110100;\2#11011010;\2#10110110;",                         1, 4, 15,       2#010011011010101, 3, 3) and
2865        chkGetBitsMsb("\2#01011010;\2#01101101;\2#01010101;\2#10000000;",             1, 5, 15,       2#010011011010101, 3, 4) and
2866        chkGetBitsMsb("\2#10011010;\2#01101101;\2#01011001;\2#10000000;",             1, 5, 15,       2#010011011010101, 3, 4) and
2867        chkGetBitsMsb("\2#01001101;\2#00110110;\2#10101010;\2#01100000;",             1, 6, 15,       2#010011011010101, 3, 5) and
2868        chkGetBitsMsb("\2#11010101;\2#00110110;\2#10101110;\2#10100000;",             1, 6, 15,       2#010011011010101, 3, 5) and
2869        chkGetBitsMsb("\2#01101010;\2#10011011;\2#01010101;\2#10101000;",             1, 7, 15,       2#010011011010101, 3, 6) and
2870        chkGetBitsMsb("\2#10110010;\2#10011011;\2#01010110;\2#11001000;",             1, 7, 15,       2#010011011010101, 3, 6) and
2871        chkGetBitsMsb("\2#10010111;\2#10110010;",                                     1, 0, 15,       2#100101111011001, 2, 7) and
2872        chkGetBitsMsb("\2#01001011;\2#11011001;\2#00000000;",                         1, 1, 15,       2#100101111011001, 3, 0) and
2873        chkGetBitsMsb("\2#11001011;\2#11011001;\2#10000000;",                         1, 1, 15,       2#100101111011001, 3, 0) and
2874        chkGetBitsMsb("\2#01100101;\2#11101100;\2#10100000;",                         1, 2, 15,       2#100101111011001, 3, 1) and
2875        chkGetBitsMsb("\2#10100101;\2#11101100;\2#11000000;",                         1, 2, 15,       2#100101111011001, 3, 1) and
2876        chkGetBitsMsb("\2#01010010;\2#11110110;\2#01010000;",                         1, 3, 15,       2#100101111011001, 3, 2) and
2877        chkGetBitsMsb("\2#10110010;\2#11110110;\2#01101000;",                         1, 3, 15,       2#100101111011001, 3, 2) and
2878        chkGetBitsMsb("\2#01011001;\2#01111011;\2#00101010;",                         1, 4, 15,       2#100101111011001, 3, 3) and
2879        chkGetBitsMsb("\2#10111001;\2#01111011;\2#00110110;",                         1, 4, 15,       2#100101111011001, 3, 3) and
2880        chkGetBitsMsb("\2#01011100;\2#10111101;\2#10010101;\2#10000000;",             1, 5, 15,       2#100101111011001, 3, 4) and
2881        chkGetBitsMsb("\2#10011100;\2#10111101;\2#10011001;\2#10000000;",             1, 5, 15,       2#100101111011001, 3, 4) and
2882        chkGetBitsMsb("\2#01001110;\2#01011110;\2#11001010;\2#01100000;",             1, 6, 15,       2#100101111011001, 3, 5) and
2883        chkGetBitsMsb("\2#11010110;\2#01011110;\2#11001110;\2#10100000;",             1, 6, 15,       2#100101111011001, 3, 5) and
2884        chkGetBitsMsb("\2#01101011;\2#00101111;\2#01100101;\2#10101000;",             1, 7, 15,       2#100101111011001, 3, 6) and
2885        chkGetBitsMsb("\2#10110011;\2#00101111;\2#01100110;\2#11001000;",             1, 7, 15,       2#100101111011001, 3, 6) and
2886        chkGetBitsMsb("\2#01001011;\2#11011001;",                                     1, 0, 16,      2#0100101111011001, 3, 0) and
2887        chkGetBitsMsb("\2#00100101;\2#11101100;\2#10000000;",                         1, 1, 16,      2#0100101111011001, 3, 1) and
2888        chkGetBitsMsb("\2#10100101;\2#11101100;\2#11000000;",                         1, 1, 16,      2#0100101111011001, 3, 1) and
2889        chkGetBitsMsb("\2#01010010;\2#11110110;\2#01010000;",                         1, 2, 16,      2#0100101111011001, 3, 2) and
2890        chkGetBitsMsb("\2#10010010;\2#11110110;\2#01100000;",                         1, 2, 16,      2#0100101111011001, 3, 2) and
2891        chkGetBitsMsb("\2#01001001;\2#01111011;\2#00101000;",                         1, 3, 16,      2#0100101111011001, 3, 3) and
2892        chkGetBitsMsb("\2#10101001;\2#01111011;\2#00110100;",                         1, 3, 16,      2#0100101111011001, 3, 3) and
2893        chkGetBitsMsb("\2#01010100;\2#10111101;\2#10010101;",                         1, 4, 16,      2#0100101111011001, 3, 4) and
2894        chkGetBitsMsb("\2#10110100;\2#10111101;\2#10011011;",                         1, 4, 16,      2#0100101111011001, 3, 4) and
2895        chkGetBitsMsb("\2#01011010;\2#01011110;\2#11001010;\2#11000000;",             1, 5, 16,      2#0100101111011001, 3, 5) and
2896        chkGetBitsMsb("\2#10011010;\2#01011110;\2#11001100;\2#11000000;",             1, 5, 16,      2#0100101111011001, 3, 5) and
2897        chkGetBitsMsb("\2#01001101;\2#00101111;\2#01100101;\2#00110000;",             1, 6, 16,      2#0100101111011001, 3, 6) and
2898        chkGetBitsMsb("\2#11010101;\2#00101111;\2#01100111;\2#01010000;",             1, 6, 16,      2#0100101111011001, 3, 6) and
2899        chkGetBitsMsb("\2#01101010;\2#10010111;\2#10110010;\2#11010100;",             1, 7, 16,      2#0100101111011001, 3, 7) and
2900        chkGetBitsMsb("\2#10110010;\2#10010111;\2#10110011;\2#01100100;",             1, 7, 16,      2#0100101111011001, 3, 7) and
2901        chkGetBitsMsb("\2#11011000;\2#01100111;",                                     1, 0, 16,      2#1101100001100111, 3, 0) and
2902        chkGetBitsMsb("\2#01101100;\2#00110011;\2#10000000;",                         1, 1, 16,      2#1101100001100111, 3, 1) and
2903        chkGetBitsMsb("\2#11101100;\2#00110011;\2#11000000;",                         1, 1, 16,      2#1101100001100111, 3, 1) and
2904        chkGetBitsMsb("\2#01110110;\2#00011001;\2#11010000;",                         1, 2, 16,      2#1101100001100111, 3, 2) and
2905        chkGetBitsMsb("\2#10110110;\2#00011001;\2#11100000;",                         1, 2, 16,      2#1101100001100111, 3, 2) and
2906        chkGetBitsMsb("\2#01011011;\2#00001100;\2#11101000;",                         1, 3, 16,      2#1101100001100111, 3, 3) and
2907        chkGetBitsMsb("\2#10111011;\2#00001100;\2#11110100;",                         1, 3, 16,      2#1101100001100111, 3, 3) and
2908        chkGetBitsMsb("\2#01011101;\2#10000110;\2#01110101;",                         1, 4, 16,      2#1101100001100111, 3, 4) and
2909        chkGetBitsMsb("\2#10111101;\2#10000110;\2#01111011;",                         1, 4, 16,      2#1101100001100111, 3, 4) and
2910        chkGetBitsMsb("\2#01011110;\2#11000011;\2#00111010;\2#11000000;",             1, 5, 16,      2#1101100001100111, 3, 5) and
2911        chkGetBitsMsb("\2#10011110;\2#11000011;\2#00111100;\2#11000000;",             1, 5, 16,      2#1101100001100111, 3, 5) and
2912        chkGetBitsMsb("\2#01001111;\2#01100001;\2#10011101;\2#00110000;",             1, 6, 16,      2#1101100001100111, 3, 6) and
2913        chkGetBitsMsb("\2#11010111;\2#01100001;\2#10011111;\2#01010000;",             1, 6, 16,      2#1101100001100111, 3, 6) and
2914        chkGetBitsMsb("\2#01101011;\2#10110000;\2#11001110;\2#11010100;",             1, 7, 16,      2#1101100001100111, 3, 7) and
2915        chkGetBitsMsb("\2#10110011;\2#10110000;\2#11001111;\2#01100100;",             1, 7, 16,      2#1101100001100111, 3, 7) and
2916        chkGetBitsMsb("\2#01101100;\2#00110011;\2#10000000;",                         1, 0, 17,     2#01101100001100111, 3, 1) and
2917        chkGetBitsMsb("\2#00110110;\2#00011001;\2#11000000;",                         1, 1, 17,     2#01101100001100111, 3, 2) and
2918        chkGetBitsMsb("\2#10110110;\2#00011001;\2#11100000;",                         1, 1, 17,     2#01101100001100111, 3, 2) and
2919        chkGetBitsMsb("\2#01011011;\2#00001100;\2#11101000;",                         1, 2, 17,     2#01101100001100111, 3, 3) and
2920        chkGetBitsMsb("\2#10011011;\2#00001100;\2#11110000;",                         1, 2, 17,     2#01101100001100111, 3, 3) and
2921        chkGetBitsMsb("\2#01001101;\2#10000110;\2#01110100;",                         1, 3, 17,     2#01101100001100111, 3, 4) and
2922        chkGetBitsMsb("\2#10101101;\2#10000110;\2#01111010;",                         1, 3, 17,     2#01101100001100111, 3, 4) and
2923        chkGetBitsMsb("\2#01010110;\2#11000011;\2#00111010;\2#10000000;",             1, 4, 17,     2#01101100001100111, 3, 5) and
2924        chkGetBitsMsb("\2#10110110;\2#11000011;\2#00111101;\2#10000000;",             1, 4, 17,     2#01101100001100111, 3, 5) and
2925        chkGetBitsMsb("\2#01011011;\2#01100001;\2#10011101;\2#01100000;",             1, 5, 17,     2#01101100001100111, 3, 6) and
2926        chkGetBitsMsb("\2#10011011;\2#01100001;\2#10011110;\2#01100000;",             1, 5, 17,     2#01101100001100111, 3, 6) and
2927        chkGetBitsMsb("\2#01001101;\2#10110000;\2#11001110;\2#10011000;",             1, 6, 17,     2#01101100001100111, 3, 7) and
2928        chkGetBitsMsb("\2#11010101;\2#10110000;\2#11001111;\2#10101000;",             1, 6, 17,     2#01101100001100111, 3, 7) and
2929        chkGetBitsMsb("\2#01101010;\2#11011000;\2#01100111;\2#01101010;",             1, 7, 17,     2#01101100001100111, 4, 0) and
2930        chkGetBitsMsb("\2#10110010;\2#11011000;\2#01100111;\2#10110010;",             1, 7, 17,     2#01101100001100111, 4, 0) and
2931        chkGetBitsMsb("\2#10100010;\2#11001110;\2#10000000;",                         1, 0, 17,     2#10100010110011101, 3, 1) and
2932        chkGetBitsMsb("\2#01010001;\2#01100111;\2#01000000;",                         1, 1, 17,     2#10100010110011101, 3, 2) and
2933        chkGetBitsMsb("\2#11010001;\2#01100111;\2#01100000;",                         1, 1, 17,     2#10100010110011101, 3, 2) and
2934        chkGetBitsMsb("\2#01101000;\2#10110011;\2#10101000;",                         1, 2, 17,     2#10100010110011101, 3, 3) and
2935        chkGetBitsMsb("\2#10101000;\2#10110011;\2#10110000;",                         1, 2, 17,     2#10100010110011101, 3, 3) and
2936        chkGetBitsMsb("\2#01010100;\2#01011001;\2#11010100;",                         1, 3, 17,     2#10100010110011101, 3, 4) and
2937        chkGetBitsMsb("\2#10110100;\2#01011001;\2#11011010;",                         1, 3, 17,     2#10100010110011101, 3, 4) and
2938        chkGetBitsMsb("\2#01011010;\2#00101100;\2#11101010;\2#10000000;",             1, 4, 17,     2#10100010110011101, 3, 5) and
2939        chkGetBitsMsb("\2#10111010;\2#00101100;\2#11101101;\2#10000000;",             1, 4, 17,     2#10100010110011101, 3, 5) and
2940        chkGetBitsMsb("\2#01011101;\2#00010110;\2#01110101;\2#01100000;",             1, 5, 17,     2#10100010110011101, 3, 6) and
2941        chkGetBitsMsb("\2#10011101;\2#00010110;\2#01110110;\2#01100000;",             1, 5, 17,     2#10100010110011101, 3, 6) and
2942        chkGetBitsMsb("\2#01001110;\2#10001011;\2#00111010;\2#10011000;",             1, 6, 17,     2#10100010110011101, 3, 7) and
2943        chkGetBitsMsb("\2#11010110;\2#10001011;\2#00111011;\2#10101000;",             1, 6, 17,     2#10100010110011101, 3, 7) and
2944        chkGetBitsMsb("\2#01101011;\2#01000101;\2#10011101;\2#01101010;",             1, 7, 17,     2#10100010110011101, 4, 0) and
2945        chkGetBitsMsb("\2#10110011;\2#01000101;\2#10011101;\2#10110010;",             1, 7, 17,     2#10100010110011101, 4, 0) and
2946        chkGetBitsMsb("\2#01010001;\2#01100111;\2#01000000;",                         1, 0, 18,    2#010100010110011101, 3, 2) and
2947        chkGetBitsMsb("\2#00101000;\2#10110011;\2#10100000;",                         1, 1, 18,    2#010100010110011101, 3, 3) and
2948        chkGetBitsMsb("\2#10101000;\2#10110011;\2#10110000;",                         1, 1, 18,    2#010100010110011101, 3, 3) and
2949        chkGetBitsMsb("\2#01010100;\2#01011001;\2#11010100;",                         1, 2, 18,    2#010100010110011101, 3, 4) and
2950        chkGetBitsMsb("\2#10010100;\2#01011001;\2#11011000;",                         1, 2, 18,    2#010100010110011101, 3, 4) and
2951        chkGetBitsMsb("\2#01001010;\2#00101100;\2#11101010;",                         1, 3, 18,    2#010100010110011101, 3, 5) and
2952        chkGetBitsMsb("\2#10101010;\2#00101100;\2#11101101;",                         1, 3, 18,    2#010100010110011101, 3, 5) and
2953        chkGetBitsMsb("\2#01010101;\2#00010110;\2#01110101;\2#01000000;",             1, 4, 18,    2#010100010110011101, 3, 6) and
2954        chkGetBitsMsb("\2#10110101;\2#00010110;\2#01110110;\2#11000000;",             1, 4, 18,    2#010100010110011101, 3, 6) and
2955        chkGetBitsMsb("\2#01011010;\2#10001011;\2#00111010;\2#10110000;",             1, 5, 18,    2#010100010110011101, 3, 7) and
2956        chkGetBitsMsb("\2#10011010;\2#10001011;\2#00111011;\2#00110000;",             1, 5, 18,    2#010100010110011101, 3, 7) and
2957        chkGetBitsMsb("\2#01001101;\2#01000101;\2#10011101;\2#01001100;",             1, 6, 18,    2#010100010110011101, 4, 0) and
2958        chkGetBitsMsb("\2#11010101;\2#01000101;\2#10011101;\2#11010100;",             1, 6, 18,    2#010100010110011101, 4, 0) and
2959        chkGetBitsMsb("\2#01101010;\2#10100010;\2#11001110;\2#10110101;",             1, 7, 18,    2#010100010110011101, 4, 1) and
2960        chkGetBitsMsb("\2#10110010;\2#10100010;\2#11001110;\2#11011001;",             1, 7, 18,    2#010100010110011101, 4, 1) and
2961        chkGetBitsMsb("\2#10100101;\2#00110111;\2#01000000;",                         1, 0, 18,    2#101001010011011101, 3, 2) and
2962        chkGetBitsMsb("\2#01010010;\2#10011011;\2#10100000;",                         1, 1, 18,    2#101001010011011101, 3, 3) and
2963        chkGetBitsMsb("\2#11010010;\2#10011011;\2#10110000;",                         1, 1, 18,    2#101001010011011101, 3, 3) and
2964        chkGetBitsMsb("\2#01101001;\2#01001101;\2#11010100;",                         1, 2, 18,    2#101001010011011101, 3, 4) and
2965        chkGetBitsMsb("\2#10101001;\2#01001101;\2#11011000;",                         1, 2, 18,    2#101001010011011101, 3, 4) and
2966        chkGetBitsMsb("\2#01010100;\2#10100110;\2#11101010;",                         1, 3, 18,    2#101001010011011101, 3, 5) and
2967        chkGetBitsMsb("\2#10110100;\2#10100110;\2#11101101;",                         1, 3, 18,    2#101001010011011101, 3, 5) and
2968        chkGetBitsMsb("\2#01011010;\2#01010011;\2#01110101;\2#01000000;",             1, 4, 18,    2#101001010011011101, 3, 6) and
2969        chkGetBitsMsb("\2#10111010;\2#01010011;\2#01110110;\2#11000000;",             1, 4, 18,    2#101001010011011101, 3, 6) and
2970        chkGetBitsMsb("\2#01011101;\2#00101001;\2#10111010;\2#10110000;",             1, 5, 18,    2#101001010011011101, 3, 7) and
2971        chkGetBitsMsb("\2#10011101;\2#00101001;\2#10111011;\2#00110000;",             1, 5, 18,    2#101001010011011101, 3, 7) and
2972        chkGetBitsMsb("\2#01001110;\2#10010100;\2#11011101;\2#01001100;",             1, 6, 18,    2#101001010011011101, 4, 0) and
2973        chkGetBitsMsb("\2#11010110;\2#10010100;\2#11011101;\2#11010100;",             1, 6, 18,    2#101001010011011101, 4, 0) and
2974        chkGetBitsMsb("\2#01101011;\2#01001010;\2#01101110;\2#10110101;",             1, 7, 18,    2#101001010011011101, 4, 1) and
2975        chkGetBitsMsb("\2#10110011;\2#01001010;\2#01101110;\2#11011001;",             1, 7, 18,    2#101001010011011101, 4, 1) and
2976        chkGetBitsMsb("\2#01010010;\2#10011011;\2#10100000;",                         1, 0, 19,   2#0101001010011011101, 3, 3) and
2977        chkGetBitsMsb("\2#00101001;\2#01001101;\2#11010000;",                         1, 1, 19,   2#0101001010011011101, 3, 4) and
2978        chkGetBitsMsb("\2#10101001;\2#01001101;\2#11011000;",                         1, 1, 19,   2#0101001010011011101, 3, 4) and
2979        chkGetBitsMsb("\2#01010100;\2#10100110;\2#11101010;",                         1, 2, 19,   2#0101001010011011101, 3, 5) and
2980        chkGetBitsMsb("\2#10010100;\2#10100110;\2#11101100;",                         1, 2, 19,   2#0101001010011011101, 3, 5) and
2981        chkGetBitsMsb("\2#01001010;\2#01010011;\2#01110101;\2#00000000;",             1, 3, 19,   2#0101001010011011101, 3, 6) and
2982        chkGetBitsMsb("\2#10101010;\2#01010011;\2#01110110;\2#10000000;",             1, 3, 19,   2#0101001010011011101, 3, 6) and
2983        chkGetBitsMsb("\2#01010101;\2#00101001;\2#10111010;\2#10100000;",             1, 4, 19,   2#0101001010011011101, 3, 7) and
2984        chkGetBitsMsb("\2#10110101;\2#00101001;\2#10111011;\2#01100000;",             1, 4, 19,   2#0101001010011011101, 3, 7) and
2985        chkGetBitsMsb("\2#01011010;\2#10010100;\2#11011101;\2#01011000;",             1, 5, 19,   2#0101001010011011101, 4, 0) and
2986        chkGetBitsMsb("\2#10011010;\2#10010100;\2#11011101;\2#10011000;",             1, 5, 19,   2#0101001010011011101, 4, 0) and
2987        chkGetBitsMsb("\2#01001101;\2#01001010;\2#01101110;\2#10100110;",             1, 6, 19,   2#0101001010011011101, 4, 1) and
2988        chkGetBitsMsb("\2#11010101;\2#01001010;\2#01101110;\2#11101010;",             1, 6, 19,   2#0101001010011011101, 4, 1) and
2989        chkGetBitsMsb("\2#01101010;\2#10100101;\2#00110111;\2#01011010;\2#10000000;", 1, 7, 19,   2#0101001010011011101, 4, 2) and
2990        chkGetBitsMsb("\2#10110010;\2#10100101;\2#00110111;\2#01101100;\2#10000000;", 1, 7, 19,   2#0101001010011011101, 4, 2) and
2991        chkGetBitsMsb("\2#11011011;\2#00111001;\2#00100000;",                         1, 0, 19,   2#1101101100111001001, 3, 3) and
2992        chkGetBitsMsb("\2#01101101;\2#10011100;\2#10010000;",                         1, 1, 19,   2#1101101100111001001, 3, 4) and
2993        chkGetBitsMsb("\2#11101101;\2#10011100;\2#10011000;",                         1, 1, 19,   2#1101101100111001001, 3, 4) and
2994        chkGetBitsMsb("\2#01110110;\2#11001110;\2#01001010;",                         1, 2, 19,   2#1101101100111001001, 3, 5) and
2995        chkGetBitsMsb("\2#10110110;\2#11001110;\2#01001100;",                         1, 2, 19,   2#1101101100111001001, 3, 5) and
2996        chkGetBitsMsb("\2#01011011;\2#01100111;\2#00100101;\2#00000000;",             1, 3, 19,   2#1101101100111001001, 3, 6) and
2997        chkGetBitsMsb("\2#10111011;\2#01100111;\2#00100110;\2#10000000;",             1, 3, 19,   2#1101101100111001001, 3, 6) and
2998        chkGetBitsMsb("\2#01011101;\2#10110011;\2#10010010;\2#10100000;",             1, 4, 19,   2#1101101100111001001, 3, 7) and
2999        chkGetBitsMsb("\2#10111101;\2#10110011;\2#10010011;\2#01100000;",             1, 4, 19,   2#1101101100111001001, 3, 7) and
3000        chkGetBitsMsb("\2#01011110;\2#11011001;\2#11001001;\2#01011000;",             1, 5, 19,   2#1101101100111001001, 4, 0) and
3001        chkGetBitsMsb("\2#10011110;\2#11011001;\2#11001001;\2#10011000;",             1, 5, 19,   2#1101101100111001001, 4, 0) and
3002        chkGetBitsMsb("\2#01001111;\2#01101100;\2#11100100;\2#10100110;",             1, 6, 19,   2#1101101100111001001, 4, 1) and
3003        chkGetBitsMsb("\2#11010111;\2#01101100;\2#11100100;\2#11101010;",             1, 6, 19,   2#1101101100111001001, 4, 1) and
3004        chkGetBitsMsb("\2#01101011;\2#10110110;\2#01110010;\2#01011010;\2#10000000;", 1, 7, 19,   2#1101101100111001001, 4, 2) and
3005        chkGetBitsMsb("\2#10110011;\2#10110110;\2#01110010;\2#01101100;\2#10000000;", 1, 7, 19,   2#1101101100111001001, 4, 2) and
3006        chkGetBitsMsb("\2#01101101;\2#10011100;\2#10010000;",                         1, 0, 20,  2#01101101100111001001, 3, 4) and
3007        chkGetBitsMsb("\2#00110110;\2#11001110;\2#01001000;",                         1, 1, 20,  2#01101101100111001001, 3, 5) and
3008        chkGetBitsMsb("\2#10110110;\2#11001110;\2#01001100;",                         1, 1, 20,  2#01101101100111001001, 3, 5) and
3009        chkGetBitsMsb("\2#01011011;\2#01100111;\2#00100101;",                         1, 2, 20,  2#01101101100111001001, 3, 6) and
3010        chkGetBitsMsb("\2#10011011;\2#01100111;\2#00100110;",                         1, 2, 20,  2#01101101100111001001, 3, 6) and
3011        chkGetBitsMsb("\2#01001101;\2#10110011;\2#10010010;\2#10000000;",             1, 3, 20,  2#01101101100111001001, 3, 7) and
3012        chkGetBitsMsb("\2#10101101;\2#10110011;\2#10010011;\2#01000000;",             1, 3, 20,  2#01101101100111001001, 3, 7) and
3013        chkGetBitsMsb("\2#01010110;\2#11011001;\2#11001001;\2#01010000;",             1, 4, 20,  2#01101101100111001001, 4, 0) and
3014        chkGetBitsMsb("\2#10110110;\2#11011001;\2#11001001;\2#10110000;",             1, 4, 20,  2#01101101100111001001, 4, 0) and
3015        chkGetBitsMsb("\2#01011011;\2#01101100;\2#11100100;\2#10101100;",             1, 5, 20,  2#01101101100111001001, 4, 1) and
3016        chkGetBitsMsb("\2#10011011;\2#01101100;\2#11100100;\2#11001100;",             1, 5, 20,  2#01101101100111001001, 4, 1) and
3017        chkGetBitsMsb("\2#01001101;\2#10110110;\2#01110010;\2#01010011;",             1, 6, 20,  2#01101101100111001001, 4, 2) and
3018        chkGetBitsMsb("\2#11010101;\2#10110110;\2#01110010;\2#01110101;",             1, 6, 20,  2#01101101100111001001, 4, 2) and
3019        chkGetBitsMsb("\2#01101010;\2#11011011;\2#00111001;\2#00101101;\2#01000000;", 1, 7, 20,  2#01101101100111001001, 4, 3) and
3020        chkGetBitsMsb("\2#10110010;\2#11011011;\2#00111001;\2#00110110;\2#01000000;", 1, 7, 20,  2#01101101100111001001, 4, 3) and
3021        chkGetBitsMsb("\2#11100111;\2#11101100;\2#10010000;",                         1, 0, 20,  2#11100111111011001001, 3, 4) and
3022        chkGetBitsMsb("\2#01110011;\2#11110110;\2#01001000;",                         1, 1, 20,  2#11100111111011001001, 3, 5) and
3023        chkGetBitsMsb("\2#11110011;\2#11110110;\2#01001100;",                         1, 1, 20,  2#11100111111011001001, 3, 5) and
3024        chkGetBitsMsb("\2#01111001;\2#11111011;\2#00100101;",                         1, 2, 20,  2#11100111111011001001, 3, 6) and
3025        chkGetBitsMsb("\2#10111001;\2#11111011;\2#00100110;",                         1, 2, 20,  2#11100111111011001001, 3, 6) and
3026        chkGetBitsMsb("\2#01011100;\2#11111101;\2#10010010;\2#10000000;",             1, 3, 20,  2#11100111111011001001, 3, 7) and
3027        chkGetBitsMsb("\2#10111100;\2#11111101;\2#10010011;\2#01000000;",             1, 3, 20,  2#11100111111011001001, 3, 7) and
3028        chkGetBitsMsb("\2#01011110;\2#01111110;\2#11001001;\2#01010000;",             1, 4, 20,  2#11100111111011001001, 4, 0) and
3029        chkGetBitsMsb("\2#10111110;\2#01111110;\2#11001001;\2#10110000;",             1, 4, 20,  2#11100111111011001001, 4, 0) and
3030        chkGetBitsMsb("\2#01011111;\2#00111111;\2#01100100;\2#10101100;",             1, 5, 20,  2#11100111111011001001, 4, 1) and
3031        chkGetBitsMsb("\2#10011111;\2#00111111;\2#01100100;\2#11001100;",             1, 5, 20,  2#11100111111011001001, 4, 1) and
3032        chkGetBitsMsb("\2#01001111;\2#10011111;\2#10110010;\2#01010011;",             1, 6, 20,  2#11100111111011001001, 4, 2) and
3033        chkGetBitsMsb("\2#11010111;\2#10011111;\2#10110010;\2#01110101;",             1, 6, 20,  2#11100111111011001001, 4, 2) and
3034        chkGetBitsMsb("\2#01101011;\2#11001111;\2#11011001;\2#00101101;\2#01000000;", 1, 7, 20,  2#11100111111011001001, 4, 3) and
3035        chkGetBitsMsb("\2#10110011;\2#11001111;\2#11011001;\2#00110110;\2#01000000;", 1, 7, 20,  2#11100111111011001001, 4, 3) and
3036        chkGetBitsMsb("\2#01110011;\2#11110110;\2#01001000;",                         1, 0, 21, 2#011100111111011001001, 3, 5) and
3037        chkGetBitsMsb("\2#00111001;\2#11111011;\2#00100100;",                         1, 1, 21, 2#011100111111011001001, 3, 6) and
3038        chkGetBitsMsb("\2#10111001;\2#11111011;\2#00100110;",                         1, 1, 21, 2#011100111111011001001, 3, 6) and
3039        chkGetBitsMsb("\2#01011100;\2#11111101;\2#10010010;\2#10000000;",             1, 2, 21, 2#011100111111011001001, 3, 7) and
3040        chkGetBitsMsb("\2#10011100;\2#11111101;\2#10010011;\2#00000000;",             1, 2, 21, 2#011100111111011001001, 3, 7) and
3041        chkGetBitsMsb("\2#01001110;\2#01111110;\2#11001001;\2#01000000;",             1, 3, 21, 2#011100111111011001001, 4, 0) and
3042        chkGetBitsMsb("\2#10101110;\2#01111110;\2#11001001;\2#10100000;",             1, 3, 21, 2#011100111111011001001, 4, 0) and
3043        chkGetBitsMsb("\2#01010111;\2#00111111;\2#01100100;\2#10101000;",             1, 4, 21, 2#011100111111011001001, 4, 1) and
3044        chkGetBitsMsb("\2#10110111;\2#00111111;\2#01100100;\2#11011000;",             1, 4, 21, 2#011100111111011001001, 4, 1) and
3045        chkGetBitsMsb("\2#01011011;\2#10011111;\2#10110010;\2#01010110;",             1, 5, 21, 2#011100111111011001001, 4, 2) and
3046        chkGetBitsMsb("\2#10011011;\2#10011111;\2#10110010;\2#01100110;",             1, 5, 21, 2#011100111111011001001, 4, 2) and
3047        chkGetBitsMsb("\2#01001101;\2#11001111;\2#11011001;\2#00101001;\2#10000000;", 1, 6, 21, 2#011100111111011001001, 4, 3) and
3048        chkGetBitsMsb("\2#11010101;\2#11001111;\2#11011001;\2#00111010;\2#10000000;", 1, 6, 21, 2#011100111111011001001, 4, 3) and
3049        chkGetBitsMsb("\2#01101010;\2#11100111;\2#11101100;\2#10010110;\2#10100000;", 1, 7, 21, 2#011100111111011001001, 4, 4) and
3050        chkGetBitsMsb("\2#10110010;\2#11100111;\2#11101100;\2#10011011;\2#00100000;", 1, 7, 21, 2#011100111111011001001, 4, 4) and
3051        chkGetBitsMsb("\2#10100001;\2#00101110;\2#00111000;",                         1, 0, 21, 2#101000010010111000111, 3, 5) and
3052        chkGetBitsMsb("\2#01010000;\2#10010111;\2#00011100;",                         1, 1, 21, 2#101000010010111000111, 3, 6) and
3053        chkGetBitsMsb("\2#11010000;\2#10010111;\2#00011110;",                         1, 1, 21, 2#101000010010111000111, 3, 6) and
3054        chkGetBitsMsb("\2#01101000;\2#01001011;\2#10001110;\2#10000000;",             1, 2, 21, 2#101000010010111000111, 3, 7) and
3055        chkGetBitsMsb("\2#10101000;\2#01001011;\2#10001111;\2#00000000;",             1, 2, 21, 2#101000010010111000111, 3, 7) and
3056        chkGetBitsMsb("\2#01010100;\2#00100101;\2#11000111;\2#01000000;",             1, 3, 21, 2#101000010010111000111, 4, 0) and
3057        chkGetBitsMsb("\2#10110100;\2#00100101;\2#11000111;\2#10100000;",             1, 3, 21, 2#101000010010111000111, 4, 0) and
3058        chkGetBitsMsb("\2#01011010;\2#00010010;\2#11100011;\2#10101000;",             1, 4, 21, 2#101000010010111000111, 4, 1) and
3059        chkGetBitsMsb("\2#10111010;\2#00010010;\2#11100011;\2#11011000;",             1, 4, 21, 2#101000010010111000111, 4, 1) and
3060        chkGetBitsMsb("\2#01011101;\2#00001001;\2#01110001;\2#11010110;",             1, 5, 21, 2#101000010010111000111, 4, 2) and
3061        chkGetBitsMsb("\2#10011101;\2#00001001;\2#01110001;\2#11100110;",             1, 5, 21, 2#101000010010111000111, 4, 2) and
3062        chkGetBitsMsb("\2#01001110;\2#10000100;\2#10111000;\2#11101001;\2#10000000;", 1, 6, 21, 2#101000010010111000111, 4, 3) and
3063        chkGetBitsMsb("\2#11010110;\2#10000100;\2#10111000;\2#11111010;\2#10000000;", 1, 6, 21, 2#101000010010111000111, 4, 3) and
3064        chkGetBitsMsb("\2#01101011;\2#01000010;\2#01011100;\2#01110110;\2#10100000;", 1, 7, 21, 2#101000010010111000111, 4, 4) and
3065        chkGetBitsMsb("\2#10110011;\2#01000010;\2#01011100;\2#01111011;\2#00100000;", 1, 7, 21, 2#101000010010111000111, 4, 4) then
3066      writeln("getBitsMsb works correct.");
3067    end if;
3068  end func;
3069
3070
3071const func boolean: chkPeekBitsMsb (in string: stri, in integer: bytePos,
3072    in integer: bitPos, in integer: bitsNeeded, in integer: bitsExpected) is func
3073  result
3074    var boolean: okay is TRUE;
3075  local
3076    var integer: bits is 0;
3077    var char: ch is ' ';
3078  begin
3079    bits := peekBitsMsb(stri, bytePos, bitPos, bitsNeeded);
3080    if bits <> bitsExpected then
3081      okay := FALSE;
3082      write("peekBitsMsb(\"");
3083      for ch range stri do
3084        write("\\2#" <& ord(ch) radix 2 lpad0 8 <& ";");
3085      end for;
3086      writeln("\", " <& bytePos <& ", " <& bitPos <& ", " <& bitsNeeded <& ")");
3087      writeln(" ***** Expected " <& bitsExpected <& " found " <& bits);
3088    end if;
3089  end func;
3090
3091
3092const proc: chkPeekBitsMsb is func
3093  begin
3094    if  chkPeekBitsMsb("\2#00000000;",                                                 1, 0,  1,                     2#0) and
3095        chkPeekBitsMsb("\2#00000000;",                                                 1, 1,  1,                     2#0) and
3096        chkPeekBitsMsb("\2#10100000;",                                                 1, 1,  1,                     2#0) and
3097        chkPeekBitsMsb("\2#01001000;",                                                 1, 2,  1,                     2#0) and
3098        chkPeekBitsMsb("\2#10010000;",                                                 1, 2,  1,                     2#0) and
3099        chkPeekBitsMsb("\2#01000100;",                                                 1, 3,  1,                     2#0) and
3100        chkPeekBitsMsb("\2#10101010;",                                                 1, 3,  1,                     2#0) and
3101        chkPeekBitsMsb("\2#01010010;\2#10000000;",                                     1, 4,  1,                     2#0) and
3102        chkPeekBitsMsb("\2#10110101;\2#10000000;",                                     1, 4,  1,                     2#0) and
3103        chkPeekBitsMsb("\2#01011001;\2#01100000;",                                     1, 5,  1,                     2#0) and
3104        chkPeekBitsMsb("\2#10011010;\2#01100000;",                                     1, 5,  1,                     2#0) and
3105        chkPeekBitsMsb("\2#01001100;\2#10011000;",                                     1, 6,  1,                     2#0) and
3106        chkPeekBitsMsb("\2#11010101;\2#10101000;",                                     1, 6,  1,                     2#0) and
3107        chkPeekBitsMsb("\2#01101010;\2#01101010;",                                     1, 7,  1,                     2#0) and
3108        chkPeekBitsMsb("\2#10110010;\2#10110010;",                                     1, 7,  1,                     2#0) and
3109        chkPeekBitsMsb("\2#10000000;",                                                 1, 0,  1,                     2#1) and
3110        chkPeekBitsMsb("\2#01000000;",                                                 1, 1,  1,                     2#1) and
3111        chkPeekBitsMsb("\2#11100000;",                                                 1, 1,  1,                     2#1) and
3112        chkPeekBitsMsb("\2#01101000;",                                                 1, 2,  1,                     2#1) and
3113        chkPeekBitsMsb("\2#10110000;",                                                 1, 2,  1,                     2#1) and
3114        chkPeekBitsMsb("\2#01010100;",                                                 1, 3,  1,                     2#1) and
3115        chkPeekBitsMsb("\2#10111010;",                                                 1, 3,  1,                     2#1) and
3116        chkPeekBitsMsb("\2#01011010;\2#10000000;",                                     1, 4,  1,                     2#1) and
3117        chkPeekBitsMsb("\2#10111101;\2#10000000;",                                     1, 4,  1,                     2#1) and
3118        chkPeekBitsMsb("\2#01011101;\2#01100000;",                                     1, 5,  1,                     2#1) and
3119        chkPeekBitsMsb("\2#10011110;\2#01100000;",                                     1, 5,  1,                     2#1) and
3120        chkPeekBitsMsb("\2#01001110;\2#10011000;",                                     1, 6,  1,                     2#1) and
3121        chkPeekBitsMsb("\2#11010111;\2#10101000;",                                     1, 6,  1,                     2#1) and
3122        chkPeekBitsMsb("\2#01101011;\2#01101010;",                                     1, 7,  1,                     2#1) and
3123        chkPeekBitsMsb("\2#10110011;\2#10110010;",                                     1, 7,  1,                     2#1) and
3124        chkPeekBitsMsb("\2#01000000;",                                                 1, 0,  2,                    2#01) and
3125        chkPeekBitsMsb("\2#00100000;",                                                 1, 1,  2,                    2#01) and
3126        chkPeekBitsMsb("\2#10110000;",                                                 1, 1,  2,                    2#01) and
3127        chkPeekBitsMsb("\2#01010100;",                                                 1, 2,  2,                    2#01) and
3128        chkPeekBitsMsb("\2#10011000;",                                                 1, 2,  2,                    2#01) and
3129        chkPeekBitsMsb("\2#01001010;",                                                 1, 3,  2,                    2#01) and
3130        chkPeekBitsMsb("\2#10101101;",                                                 1, 3,  2,                    2#01) and
3131        chkPeekBitsMsb("\2#01010101;\2#01000000;",                                     1, 4,  2,                    2#01) and
3132        chkPeekBitsMsb("\2#10110110;\2#11000000;",                                     1, 4,  2,                    2#01) and
3133        chkPeekBitsMsb("\2#01011010;\2#10110000;",                                     1, 5,  2,                    2#01) and
3134        chkPeekBitsMsb("\2#10011011;\2#00110000;",                                     1, 5,  2,                    2#01) and
3135        chkPeekBitsMsb("\2#01001101;\2#01001100;",                                     1, 6,  2,                    2#01) and
3136        chkPeekBitsMsb("\2#11010101;\2#11010100;",                                     1, 6,  2,                    2#01) and
3137        chkPeekBitsMsb("\2#01101010;\2#10110101;",                                     1, 7,  2,                    2#01) and
3138        chkPeekBitsMsb("\2#10110010;\2#11011001;",                                     1, 7,  2,                    2#01) and
3139        chkPeekBitsMsb("\2#10000000;",                                                 1, 0,  2,                    2#10) and
3140        chkPeekBitsMsb("\2#01000000;",                                                 1, 1,  2,                    2#10) and
3141        chkPeekBitsMsb("\2#11010000;",                                                 1, 1,  2,                    2#10) and
3142        chkPeekBitsMsb("\2#01100100;",                                                 1, 2,  2,                    2#10) and
3143        chkPeekBitsMsb("\2#10101000;",                                                 1, 2,  2,                    2#10) and
3144        chkPeekBitsMsb("\2#01010010;",                                                 1, 3,  2,                    2#10) and
3145        chkPeekBitsMsb("\2#10110101;",                                                 1, 3,  2,                    2#10) and
3146        chkPeekBitsMsb("\2#01011001;\2#01000000;",                                     1, 4,  2,                    2#10) and
3147        chkPeekBitsMsb("\2#10111010;\2#11000000;",                                     1, 4,  2,                    2#10) and
3148        chkPeekBitsMsb("\2#01011100;\2#10110000;",                                     1, 5,  2,                    2#10) and
3149        chkPeekBitsMsb("\2#10011101;\2#00110000;",                                     1, 5,  2,                    2#10) and
3150        chkPeekBitsMsb("\2#01001110;\2#01001100;",                                     1, 6,  2,                    2#10) and
3151        chkPeekBitsMsb("\2#11010110;\2#11010100;",                                     1, 6,  2,                    2#10) and
3152        chkPeekBitsMsb("\2#01101011;\2#00110101;",                                     1, 7,  2,                    2#10) and
3153        chkPeekBitsMsb("\2#10110011;\2#01011001;",                                     1, 7,  2,                    2#10) and
3154        chkPeekBitsMsb("\2#01000000;",                                                 1, 0,  3,                   2#010) and
3155        chkPeekBitsMsb("\2#00100000;",                                                 1, 1,  3,                   2#010) and
3156        chkPeekBitsMsb("\2#10101000;",                                                 1, 1,  3,                   2#010) and
3157        chkPeekBitsMsb("\2#01010010;",                                                 1, 2,  3,                   2#010) and
3158        chkPeekBitsMsb("\2#10010100;",                                                 1, 2,  3,                   2#010) and
3159        chkPeekBitsMsb("\2#01001001;\2#00000000;",                                     1, 3,  3,                   2#010) and
3160        chkPeekBitsMsb("\2#10101010;\2#10000000;",                                     1, 3,  3,                   2#010) and
3161        chkPeekBitsMsb("\2#01010100;\2#10100000;",                                     1, 4,  3,                   2#010) and
3162        chkPeekBitsMsb("\2#10110101;\2#01100000;",                                     1, 4,  3,                   2#010) and
3163        chkPeekBitsMsb("\2#01011010;\2#01011000;",                                     1, 5,  3,                   2#010) and
3164        chkPeekBitsMsb("\2#10011010;\2#10011000;",                                     1, 5,  3,                   2#010) and
3165        chkPeekBitsMsb("\2#01001101;\2#00100110;",                                     1, 6,  3,                   2#010) and
3166        chkPeekBitsMsb("\2#11010101;\2#01101010;",                                     1, 6,  3,                   2#010) and
3167        chkPeekBitsMsb("\2#01101010;\2#10011010;\2#10000000;",                         1, 7,  3,                   2#010) and
3168        chkPeekBitsMsb("\2#10110010;\2#10101100;\2#10000000;",                         1, 7,  3,                   2#010) and
3169        chkPeekBitsMsb("\2#10100000;",                                                 1, 0,  3,                   2#101) and
3170        chkPeekBitsMsb("\2#01010000;",                                                 1, 1,  3,                   2#101) and
3171        chkPeekBitsMsb("\2#11011000;",                                                 1, 1,  3,                   2#101) and
3172        chkPeekBitsMsb("\2#01101010;",                                                 1, 2,  3,                   2#101) and
3173        chkPeekBitsMsb("\2#10101100;",                                                 1, 2,  3,                   2#101) and
3174        chkPeekBitsMsb("\2#01010101;\2#00000000;",                                     1, 3,  3,                   2#101) and
3175        chkPeekBitsMsb("\2#10110110;\2#10000000;",                                     1, 3,  3,                   2#101) and
3176        chkPeekBitsMsb("\2#01011010;\2#10100000;",                                     1, 4,  3,                   2#101) and
3177        chkPeekBitsMsb("\2#10111011;\2#01100000;",                                     1, 4,  3,                   2#101) and
3178        chkPeekBitsMsb("\2#01011101;\2#01011000;",                                     1, 5,  3,                   2#101) and
3179        chkPeekBitsMsb("\2#10011101;\2#10011000;",                                     1, 5,  3,                   2#101) and
3180        chkPeekBitsMsb("\2#01001110;\2#10100110;",                                     1, 6,  3,                   2#101) and
3181        chkPeekBitsMsb("\2#11010110;\2#11101010;",                                     1, 6,  3,                   2#101) and
3182        chkPeekBitsMsb("\2#01101011;\2#01011010;\2#10000000;",                         1, 7,  3,                   2#101) and
3183        chkPeekBitsMsb("\2#10110011;\2#01101100;\2#10000000;",                         1, 7,  3,                   2#101) and
3184        chkPeekBitsMsb("\2#01010000;",                                                 1, 0,  4,                  2#0101) and
3185        chkPeekBitsMsb("\2#00101000;",                                                 1, 1,  4,                  2#0101) and
3186        chkPeekBitsMsb("\2#10101100;",                                                 1, 1,  4,                  2#0101) and
3187        chkPeekBitsMsb("\2#01010101;",                                                 1, 2,  4,                  2#0101) and
3188        chkPeekBitsMsb("\2#10010110;",                                                 1, 2,  4,                  2#0101) and
3189        chkPeekBitsMsb("\2#01001010;\2#10000000;",                                     1, 3,  4,                  2#0101) and
3190        chkPeekBitsMsb("\2#10101011;\2#01000000;",                                     1, 3,  4,                  2#0101) and
3191        chkPeekBitsMsb("\2#01010101;\2#01010000;",                                     1, 4,  4,                  2#0101) and
3192        chkPeekBitsMsb("\2#10110101;\2#10110000;",                                     1, 4,  4,                  2#0101) and
3193        chkPeekBitsMsb("\2#01011010;\2#10101100;",                                     1, 5,  4,                  2#0101) and
3194        chkPeekBitsMsb("\2#10011010;\2#11001100;",                                     1, 5,  4,                  2#0101) and
3195        chkPeekBitsMsb("\2#01001101;\2#01010011;",                                     1, 6,  4,                  2#0101) and
3196        chkPeekBitsMsb("\2#11010101;\2#01110101;",                                     1, 6,  4,                  2#0101) and
3197        chkPeekBitsMsb("\2#01101010;\2#10101101;\2#01000000;",                         1, 7,  4,                  2#0101) and
3198        chkPeekBitsMsb("\2#10110010;\2#10110110;\2#01000000;",                         1, 7,  4,                  2#0101) and
3199        chkPeekBitsMsb("\2#10110000;",                                                 1, 0,  4,                  2#1011) and
3200        chkPeekBitsMsb("\2#01011000;",                                                 1, 1,  4,                  2#1011) and
3201        chkPeekBitsMsb("\2#11011100;",                                                 1, 1,  4,                  2#1011) and
3202        chkPeekBitsMsb("\2#01101101;",                                                 1, 2,  4,                  2#1011) and
3203        chkPeekBitsMsb("\2#10101110;",                                                 1, 2,  4,                  2#1011) and
3204        chkPeekBitsMsb("\2#01010110;\2#10000000;",                                     1, 3,  4,                  2#1011) and
3205        chkPeekBitsMsb("\2#10110111;\2#01000000;",                                     1, 3,  4,                  2#1011) and
3206        chkPeekBitsMsb("\2#01011011;\2#01010000;",                                     1, 4,  4,                  2#1011) and
3207        chkPeekBitsMsb("\2#10111011;\2#10110000;",                                     1, 4,  4,                  2#1011) and
3208        chkPeekBitsMsb("\2#01011101;\2#10101100;",                                     1, 5,  4,                  2#1011) and
3209        chkPeekBitsMsb("\2#10011101;\2#11001100;",                                     1, 5,  4,                  2#1011) and
3210        chkPeekBitsMsb("\2#01001110;\2#11010011;",                                     1, 6,  4,                  2#1011) and
3211        chkPeekBitsMsb("\2#11010110;\2#11110101;",                                     1, 6,  4,                  2#1011) and
3212        chkPeekBitsMsb("\2#01101011;\2#01101101;\2#01000000;",                         1, 7,  4,                  2#1011) and
3213        chkPeekBitsMsb("\2#10110011;\2#01110110;\2#01000000;",                         1, 7,  4,                  2#1011) and
3214        chkPeekBitsMsb("\2#01011000;",                                                 1, 0,  5,                 2#01011) and
3215        chkPeekBitsMsb("\2#00101100;",                                                 1, 1,  5,                 2#01011) and
3216        chkPeekBitsMsb("\2#10101110;",                                                 1, 1,  5,                 2#01011) and
3217        chkPeekBitsMsb("\2#01010110;\2#10000000;",                                     1, 2,  5,                 2#01011) and
3218        chkPeekBitsMsb("\2#10010111;\2#00000000;",                                     1, 2,  5,                 2#01011) and
3219        chkPeekBitsMsb("\2#01001011;\2#01000000;",                                     1, 3,  5,                 2#01011) and
3220        chkPeekBitsMsb("\2#10101011;\2#10100000;",                                     1, 3,  5,                 2#01011) and
3221        chkPeekBitsMsb("\2#01010101;\2#10101000;",                                     1, 4,  5,                 2#01011) and
3222        chkPeekBitsMsb("\2#10110101;\2#11011000;",                                     1, 4,  5,                 2#01011) and
3223        chkPeekBitsMsb("\2#01011010;\2#11010110;",                                     1, 5,  5,                 2#01011) and
3224        chkPeekBitsMsb("\2#10011010;\2#11100110;",                                     1, 5,  5,                 2#01011) and
3225        chkPeekBitsMsb("\2#01001101;\2#01101001;\2#10000000;",                         1, 6,  5,                 2#01011) and
3226        chkPeekBitsMsb("\2#11010101;\2#01111010;\2#10000000;",                         1, 6,  5,                 2#01011) and
3227        chkPeekBitsMsb("\2#01101010;\2#10110110;\2#10100000;",                         1, 7,  5,                 2#01011) and
3228        chkPeekBitsMsb("\2#10110010;\2#10111011;\2#00100000;",                         1, 7,  5,                 2#01011) and
3229        chkPeekBitsMsb("\2#10011000;",                                                 1, 0,  5,                 2#10011) and
3230        chkPeekBitsMsb("\2#01001100;",                                                 1, 1,  5,                 2#10011) and
3231        chkPeekBitsMsb("\2#11001110;",                                                 1, 1,  5,                 2#10011) and
3232        chkPeekBitsMsb("\2#01100110;\2#10000000;",                                     1, 2,  5,                 2#10011) and
3233        chkPeekBitsMsb("\2#10100111;\2#00000000;",                                     1, 2,  5,                 2#10011) and
3234        chkPeekBitsMsb("\2#01010011;\2#01000000;",                                     1, 3,  5,                 2#10011) and
3235        chkPeekBitsMsb("\2#10110011;\2#10100000;",                                     1, 3,  5,                 2#10011) and
3236        chkPeekBitsMsb("\2#01011001;\2#10101000;",                                     1, 4,  5,                 2#10011) and
3237        chkPeekBitsMsb("\2#10111001;\2#11011000;",                                     1, 4,  5,                 2#10011) and
3238        chkPeekBitsMsb("\2#01011100;\2#11010110;",                                     1, 5,  5,                 2#10011) and
3239        chkPeekBitsMsb("\2#10011100;\2#11100110;",                                     1, 5,  5,                 2#10011) and
3240        chkPeekBitsMsb("\2#01001110;\2#01101001;\2#10000000;",                         1, 6,  5,                 2#10011) and
3241        chkPeekBitsMsb("\2#11010110;\2#01111010;\2#10000000;",                         1, 6,  5,                 2#10011) and
3242        chkPeekBitsMsb("\2#01101011;\2#00110110;\2#10100000;",                         1, 7,  5,                 2#10011) and
3243        chkPeekBitsMsb("\2#10110011;\2#00111011;\2#00100000;",                         1, 7,  5,                 2#10011) and
3244        chkPeekBitsMsb("\2#01001100;",                                                 1, 0,  6,                2#010011) and
3245        chkPeekBitsMsb("\2#00100110;",                                                 1, 1,  6,                2#010011) and
3246        chkPeekBitsMsb("\2#10100111;",                                                 1, 1,  6,                2#010011) and
3247        chkPeekBitsMsb("\2#01010011;\2#01000000;",                                     1, 2,  6,                2#010011) and
3248        chkPeekBitsMsb("\2#10010011;\2#10000000;",                                     1, 2,  6,                2#010011) and
3249        chkPeekBitsMsb("\2#01001001;\2#10100000;",                                     1, 3,  6,                2#010011) and
3250        chkPeekBitsMsb("\2#10101001;\2#11010000;",                                     1, 3,  6,                2#010011) and
3251        chkPeekBitsMsb("\2#01010100;\2#11010100;",                                     1, 4,  6,                2#010011) and
3252        chkPeekBitsMsb("\2#10110100;\2#11101100;",                                     1, 4,  6,                2#010011) and
3253        chkPeekBitsMsb("\2#01011010;\2#01101011;",                                     1, 5,  6,                2#010011) and
3254        chkPeekBitsMsb("\2#10011010;\2#01110011;",                                     1, 5,  6,                2#010011) and
3255        chkPeekBitsMsb("\2#01001101;\2#00110100;\2#11000000;",                         1, 6,  6,                2#010011) and
3256        chkPeekBitsMsb("\2#11010101;\2#00111101;\2#01000000;",                         1, 6,  6,                2#010011) and
3257        chkPeekBitsMsb("\2#01101010;\2#10011011;\2#01010000;",                         1, 7,  6,                2#010011) and
3258        chkPeekBitsMsb("\2#10110010;\2#10011101;\2#10010000;",                         1, 7,  6,                2#010011) and
3259        chkPeekBitsMsb("\2#11010100;",                                                 1, 0,  6,                2#110101) and
3260        chkPeekBitsMsb("\2#01101010;",                                                 1, 1,  6,                2#110101) and
3261        chkPeekBitsMsb("\2#11101011;",                                                 1, 1,  6,                2#110101) and
3262        chkPeekBitsMsb("\2#01110101;\2#01000000;",                                     1, 2,  6,                2#110101) and
3263        chkPeekBitsMsb("\2#10110101;\2#10000000;",                                     1, 2,  6,                2#110101) and
3264        chkPeekBitsMsb("\2#01011010;\2#10100000;",                                     1, 3,  6,                2#110101) and
3265        chkPeekBitsMsb("\2#10111010;\2#11010000;",                                     1, 3,  6,                2#110101) and
3266        chkPeekBitsMsb("\2#01011101;\2#01010100;",                                     1, 4,  6,                2#110101) and
3267        chkPeekBitsMsb("\2#10111101;\2#01101100;",                                     1, 4,  6,                2#110101) and
3268        chkPeekBitsMsb("\2#01011110;\2#10101011;",                                     1, 5,  6,                2#110101) and
3269        chkPeekBitsMsb("\2#10011110;\2#10110011;",                                     1, 5,  6,                2#110101) and
3270        chkPeekBitsMsb("\2#01001111;\2#01010100;\2#11000000;",                         1, 6,  6,                2#110101) and
3271        chkPeekBitsMsb("\2#11010111;\2#01011101;\2#01000000;",                         1, 6,  6,                2#110101) and
3272        chkPeekBitsMsb("\2#01101011;\2#10101011;\2#01010000;",                         1, 7,  6,                2#110101) and
3273        chkPeekBitsMsb("\2#10110011;\2#10101101;\2#10010000;",                         1, 7,  6,                2#110101) and
3274        chkPeekBitsMsb("\2#01101010;",                                                 1, 0,  7,               2#0110101) and
3275        chkPeekBitsMsb("\2#00110101;\2#00000000;",                                     1, 1,  7,               2#0110101) and
3276        chkPeekBitsMsb("\2#10110101;\2#10000000;",                                     1, 1,  7,               2#0110101) and
3277        chkPeekBitsMsb("\2#01011010;\2#10100000;",                                     1, 2,  7,               2#0110101) and
3278        chkPeekBitsMsb("\2#10011010;\2#11000000;",                                     1, 2,  7,               2#0110101) and
3279        chkPeekBitsMsb("\2#01001101;\2#01010000;",                                     1, 3,  7,               2#0110101) and
3280        chkPeekBitsMsb("\2#10101101;\2#01101000;",                                     1, 3,  7,               2#0110101) and
3281        chkPeekBitsMsb("\2#01010110;\2#10101010;",                                     1, 4,  7,               2#0110101) and
3282        chkPeekBitsMsb("\2#10110110;\2#10110110;",                                     1, 4,  7,               2#0110101) and
3283        chkPeekBitsMsb("\2#01011011;\2#01010101;\2#10000000;",                         1, 5,  7,               2#0110101) and
3284        chkPeekBitsMsb("\2#10011011;\2#01011001;\2#10000000;",                         1, 5,  7,               2#0110101) and
3285        chkPeekBitsMsb("\2#01001101;\2#10101010;\2#01100000;",                         1, 6,  7,               2#0110101) and
3286        chkPeekBitsMsb("\2#11010101;\2#10101110;\2#10100000;",                         1, 6,  7,               2#0110101) and
3287        chkPeekBitsMsb("\2#01101010;\2#11010101;\2#10101000;",                         1, 7,  7,               2#0110101) and
3288        chkPeekBitsMsb("\2#10110010;\2#11010110;\2#11001000;",                         1, 7,  7,               2#0110101) and
3289        chkPeekBitsMsb("\2#10110010;",                                                 1, 0,  7,               2#1011001) and
3290        chkPeekBitsMsb("\2#01011001;\2#00000000;",                                     1, 1,  7,               2#1011001) and
3291        chkPeekBitsMsb("\2#11011001;\2#10000000;",                                     1, 1,  7,               2#1011001) and
3292        chkPeekBitsMsb("\2#01101100;\2#10100000;",                                     1, 2,  7,               2#1011001) and
3293        chkPeekBitsMsb("\2#10101100;\2#11000000;",                                     1, 2,  7,               2#1011001) and
3294        chkPeekBitsMsb("\2#01010110;\2#01010000;",                                     1, 3,  7,               2#1011001) and
3295        chkPeekBitsMsb("\2#10110110;\2#01101000;",                                     1, 3,  7,               2#1011001) and
3296        chkPeekBitsMsb("\2#01011011;\2#00101010;",                                     1, 4,  7,               2#1011001) and
3297        chkPeekBitsMsb("\2#10111011;\2#00110110;",                                     1, 4,  7,               2#1011001) and
3298        chkPeekBitsMsb("\2#01011101;\2#10010101;\2#10000000;",                         1, 5,  7,               2#1011001) and
3299        chkPeekBitsMsb("\2#10011101;\2#10011001;\2#10000000;",                         1, 5,  7,               2#1011001) and
3300        chkPeekBitsMsb("\2#01001110;\2#11001010;\2#01100000;",                         1, 6,  7,               2#1011001) and
3301        chkPeekBitsMsb("\2#11010110;\2#11001110;\2#10100000;",                         1, 6,  7,               2#1011001) and
3302        chkPeekBitsMsb("\2#01101011;\2#01100101;\2#10101000;",                         1, 7,  7,               2#1011001) and
3303        chkPeekBitsMsb("\2#10110011;\2#01100110;\2#11001000;",                         1, 7,  7,               2#1011001) and
3304        chkPeekBitsMsb("\2#01011001;",                                                 1, 0,  8,              2#01011001) and
3305        chkPeekBitsMsb("\2#00101100;\2#10000000;",                                     1, 1,  8,              2#01011001) and
3306        chkPeekBitsMsb("\2#10101100;\2#11000000;",                                     1, 1,  8,              2#01011001) and
3307        chkPeekBitsMsb("\2#01010110;\2#01010000;",                                     1, 2,  8,              2#01011001) and
3308        chkPeekBitsMsb("\2#10010110;\2#01100000;",                                     1, 2,  8,              2#01011001) and
3309        chkPeekBitsMsb("\2#01001011;\2#00101000;",                                     1, 3,  8,              2#01011001) and
3310        chkPeekBitsMsb("\2#10101011;\2#00110100;",                                     1, 3,  8,              2#01011001) and
3311        chkPeekBitsMsb("\2#01010101;\2#10010101;",                                     1, 4,  8,              2#01011001) and
3312        chkPeekBitsMsb("\2#10110101;\2#10011011;",                                     1, 4,  8,              2#01011001) and
3313        chkPeekBitsMsb("\2#01011010;\2#11001010;\2#11000000;",                         1, 5,  8,              2#01011001) and
3314        chkPeekBitsMsb("\2#10011010;\2#11001100;\2#11000000;",                         1, 5,  8,              2#01011001) and
3315        chkPeekBitsMsb("\2#01001101;\2#01100101;\2#00110000;",                         1, 6,  8,              2#01011001) and
3316        chkPeekBitsMsb("\2#11010101;\2#01100111;\2#01010000;",                         1, 6,  8,              2#01011001) and
3317        chkPeekBitsMsb("\2#01101010;\2#10110010;\2#11010100;",                         1, 7,  8,              2#01011001) and
3318        chkPeekBitsMsb("\2#10110010;\2#10110011;\2#01100100;",                         1, 7,  8,              2#01011001) and
3319        chkPeekBitsMsb("\2#10100011;",                                                 1, 0,  8,              2#10100011) and
3320        chkPeekBitsMsb("\2#01010001;\2#10000000;",                                     1, 1,  8,              2#10100011) and
3321        chkPeekBitsMsb("\2#11010001;\2#11000000;",                                     1, 1,  8,              2#10100011) and
3322        chkPeekBitsMsb("\2#01101000;\2#11010000;",                                     1, 2,  8,              2#10100011) and
3323        chkPeekBitsMsb("\2#10101000;\2#11100000;",                                     1, 2,  8,              2#10100011) and
3324        chkPeekBitsMsb("\2#01010100;\2#01101000;",                                     1, 3,  8,              2#10100011) and
3325        chkPeekBitsMsb("\2#10110100;\2#01110100;",                                     1, 3,  8,              2#10100011) and
3326        chkPeekBitsMsb("\2#01011010;\2#00110101;",                                     1, 4,  8,              2#10100011) and
3327        chkPeekBitsMsb("\2#10111010;\2#00111011;",                                     1, 4,  8,              2#10100011) and
3328        chkPeekBitsMsb("\2#01011101;\2#00011010;\2#11000000;",                         1, 5,  8,              2#10100011) and
3329        chkPeekBitsMsb("\2#10011101;\2#00011100;\2#11000000;",                         1, 5,  8,              2#10100011) and
3330        chkPeekBitsMsb("\2#01001110;\2#10001101;\2#00110000;",                         1, 6,  8,              2#10100011) and
3331        chkPeekBitsMsb("\2#11010110;\2#10001111;\2#01010000;",                         1, 6,  8,              2#10100011) and
3332        chkPeekBitsMsb("\2#01101011;\2#01000110;\2#11010100;",                         1, 7,  8,              2#10100011) and
3333        chkPeekBitsMsb("\2#10110011;\2#01000111;\2#01100100;",                         1, 7,  8,              2#10100011) and
3334        chkPeekBitsMsb("\2#01010001;\2#10000000;",                                     1, 0,  9,             2#010100011) and
3335        chkPeekBitsMsb("\2#00101000;\2#11000000;",                                     1, 1,  9,             2#010100011) and
3336        chkPeekBitsMsb("\2#10101000;\2#11100000;",                                     1, 1,  9,             2#010100011) and
3337        chkPeekBitsMsb("\2#01010100;\2#01101000;",                                     1, 2,  9,             2#010100011) and
3338        chkPeekBitsMsb("\2#10010100;\2#01110000;",                                     1, 2,  9,             2#010100011) and
3339        chkPeekBitsMsb("\2#01001010;\2#00110100;",                                     1, 3,  9,             2#010100011) and
3340        chkPeekBitsMsb("\2#10101010;\2#00111010;",                                     1, 3,  9,             2#010100011) and
3341        chkPeekBitsMsb("\2#01010101;\2#00011010;\2#10000000;",                         1, 4,  9,             2#010100011) and
3342        chkPeekBitsMsb("\2#10110101;\2#00011101;\2#10000000;",                         1, 4,  9,             2#010100011) and
3343        chkPeekBitsMsb("\2#01011010;\2#10001101;\2#01100000;",                         1, 5,  9,             2#010100011) and
3344        chkPeekBitsMsb("\2#10011010;\2#10001110;\2#01100000;",                         1, 5,  9,             2#010100011) and
3345        chkPeekBitsMsb("\2#01001101;\2#01000110;\2#10011000;",                         1, 6,  9,             2#010100011) and
3346        chkPeekBitsMsb("\2#11010101;\2#01000111;\2#10101000;",                         1, 6,  9,             2#010100011) and
3347        chkPeekBitsMsb("\2#01101010;\2#10100011;\2#01101010;",                         1, 7,  9,             2#010100011) and
3348        chkPeekBitsMsb("\2#10110010;\2#10100011;\2#10110010;",                         1, 7,  9,             2#010100011) and
3349        chkPeekBitsMsb("\2#11011011;\2#10000000;",                                     1, 0,  9,             2#110110111) and
3350        chkPeekBitsMsb("\2#01101101;\2#11000000;",                                     1, 1,  9,             2#110110111) and
3351        chkPeekBitsMsb("\2#11101101;\2#11100000;",                                     1, 1,  9,             2#110110111) and
3352        chkPeekBitsMsb("\2#01110110;\2#11101000;",                                     1, 2,  9,             2#110110111) and
3353        chkPeekBitsMsb("\2#10110110;\2#11110000;",                                     1, 2,  9,             2#110110111) and
3354        chkPeekBitsMsb("\2#01011011;\2#01110100;",                                     1, 3,  9,             2#110110111) and
3355        chkPeekBitsMsb("\2#10111011;\2#01111010;",                                     1, 3,  9,             2#110110111) and
3356        chkPeekBitsMsb("\2#01011101;\2#10111010;\2#10000000;",                         1, 4,  9,             2#110110111) and
3357        chkPeekBitsMsb("\2#10111101;\2#10111101;\2#10000000;",                         1, 4,  9,             2#110110111) and
3358        chkPeekBitsMsb("\2#01011110;\2#11011101;\2#01100000;",                         1, 5,  9,             2#110110111) and
3359        chkPeekBitsMsb("\2#10011110;\2#11011110;\2#01100000;",                         1, 5,  9,             2#110110111) and
3360        chkPeekBitsMsb("\2#01001111;\2#01101110;\2#10011000;",                         1, 6,  9,             2#110110111) and
3361        chkPeekBitsMsb("\2#11010111;\2#01101111;\2#10101000;",                         1, 6,  9,             2#110110111) and
3362        chkPeekBitsMsb("\2#01101011;\2#10110111;\2#01101010;",                         1, 7,  9,             2#110110111) and
3363        chkPeekBitsMsb("\2#10110011;\2#10110111;\2#10110010;",                         1, 7,  9,             2#110110111) and
3364        chkPeekBitsMsb("\2#01101101;\2#11000000;",                                     1, 0, 10,            2#0110110111) and
3365        chkPeekBitsMsb("\2#00110110;\2#11100000;",                                     1, 1, 10,            2#0110110111) and
3366        chkPeekBitsMsb("\2#10110110;\2#11110000;",                                     1, 1, 10,            2#0110110111) and
3367        chkPeekBitsMsb("\2#01011011;\2#01110100;",                                     1, 2, 10,            2#0110110111) and
3368        chkPeekBitsMsb("\2#10011011;\2#01111000;",                                     1, 2, 10,            2#0110110111) and
3369        chkPeekBitsMsb("\2#01001101;\2#10111010;",                                     1, 3, 10,            2#0110110111) and
3370        chkPeekBitsMsb("\2#10101101;\2#10111101;",                                     1, 3, 10,            2#0110110111) and
3371        chkPeekBitsMsb("\2#01010110;\2#11011101;\2#01000000;",                         1, 4, 10,            2#0110110111) and
3372        chkPeekBitsMsb("\2#10110110;\2#11011110;\2#11000000;",                         1, 4, 10,            2#0110110111) and
3373        chkPeekBitsMsb("\2#01011011;\2#01101110;\2#10110000;",                         1, 5, 10,            2#0110110111) and
3374        chkPeekBitsMsb("\2#10011011;\2#01101111;\2#00110000;",                         1, 5, 10,            2#0110110111) and
3375        chkPeekBitsMsb("\2#01001101;\2#10110111;\2#01001100;",                         1, 6, 10,            2#0110110111) and
3376        chkPeekBitsMsb("\2#11010101;\2#10110111;\2#11010100;",                         1, 6, 10,            2#0110110111) and
3377        chkPeekBitsMsb("\2#01101010;\2#11011011;\2#10110101;",                         1, 7, 10,            2#0110110111) and
3378        chkPeekBitsMsb("\2#10110010;\2#11011011;\2#11011001;",                         1, 7, 10,            2#0110110111) and
3379        chkPeekBitsMsb("\2#11000100;\2#11000000;",                                     1, 0, 10,            2#1100010011) and
3380        chkPeekBitsMsb("\2#01100010;\2#01100000;",                                     1, 1, 10,            2#1100010011) and
3381        chkPeekBitsMsb("\2#11100010;\2#01110000;",                                     1, 1, 10,            2#1100010011) and
3382        chkPeekBitsMsb("\2#01110001;\2#00110100;",                                     1, 2, 10,            2#1100010011) and
3383        chkPeekBitsMsb("\2#10110001;\2#00111000;",                                     1, 2, 10,            2#1100010011) and
3384        chkPeekBitsMsb("\2#01011000;\2#10011010;",                                     1, 3, 10,            2#1100010011) and
3385        chkPeekBitsMsb("\2#10111000;\2#10011101;",                                     1, 3, 10,            2#1100010011) and
3386        chkPeekBitsMsb("\2#01011100;\2#01001101;\2#01000000;",                         1, 4, 10,            2#1100010011) and
3387        chkPeekBitsMsb("\2#10111100;\2#01001110;\2#11000000;",                         1, 4, 10,            2#1100010011) and
3388        chkPeekBitsMsb("\2#01011110;\2#00100110;\2#10110000;",                         1, 5, 10,            2#1100010011) and
3389        chkPeekBitsMsb("\2#10011110;\2#00100111;\2#00110000;",                         1, 5, 10,            2#1100010011) and
3390        chkPeekBitsMsb("\2#01001111;\2#00010011;\2#01001100;",                         1, 6, 10,            2#1100010011) and
3391        chkPeekBitsMsb("\2#11010111;\2#00010011;\2#11010100;",                         1, 6, 10,            2#1100010011) and
3392        chkPeekBitsMsb("\2#01101011;\2#10001001;\2#10110101;",                         1, 7, 10,            2#1100010011) and
3393        chkPeekBitsMsb("\2#10110011;\2#10001001;\2#11011001;",                         1, 7, 10,            2#1100010011) and
3394        chkPeekBitsMsb("\2#01100010;\2#01100000;",                                     1, 0, 11,           2#01100010011) and
3395        chkPeekBitsMsb("\2#00110001;\2#00110000;",                                     1, 1, 11,           2#01100010011) and
3396        chkPeekBitsMsb("\2#10110001;\2#00111000;",                                     1, 1, 11,           2#01100010011) and
3397        chkPeekBitsMsb("\2#01011000;\2#10011010;",                                     1, 2, 11,           2#01100010011) and
3398        chkPeekBitsMsb("\2#10011000;\2#10011100;",                                     1, 2, 11,           2#01100010011) and
3399        chkPeekBitsMsb("\2#01001100;\2#01001101;\2#00000000;",                         1, 3, 11,           2#01100010011) and
3400        chkPeekBitsMsb("\2#10101100;\2#01001110;\2#10000000;",                         1, 3, 11,           2#01100010011) and
3401        chkPeekBitsMsb("\2#01010110;\2#00100110;\2#10100000;",                         1, 4, 11,           2#01100010011) and
3402        chkPeekBitsMsb("\2#10110110;\2#00100111;\2#01100000;",                         1, 4, 11,           2#01100010011) and
3403        chkPeekBitsMsb("\2#01011011;\2#00010011;\2#01011000;",                         1, 5, 11,           2#01100010011) and
3404        chkPeekBitsMsb("\2#10011011;\2#00010011;\2#10011000;",                         1, 5, 11,           2#01100010011) and
3405        chkPeekBitsMsb("\2#01001101;\2#10001001;\2#10100110;",                         1, 6, 11,           2#01100010011) and
3406        chkPeekBitsMsb("\2#11010101;\2#10001001;\2#11101010;",                         1, 6, 11,           2#01100010011) and
3407        chkPeekBitsMsb("\2#01101010;\2#11000100;\2#11011010;\2#10000000;",             1, 7, 11,           2#01100010011) and
3408        chkPeekBitsMsb("\2#10110010;\2#11000100;\2#11101100;\2#10000000;",             1, 7, 11,           2#01100010011) and
3409        chkPeekBitsMsb("\2#10110100;\2#11100000;",                                     1, 0, 11,           2#10110100111) and
3410        chkPeekBitsMsb("\2#01011010;\2#01110000;",                                     1, 1, 11,           2#10110100111) and
3411        chkPeekBitsMsb("\2#11011010;\2#01111000;",                                     1, 1, 11,           2#10110100111) and
3412        chkPeekBitsMsb("\2#01101101;\2#00111010;",                                     1, 2, 11,           2#10110100111) and
3413        chkPeekBitsMsb("\2#10101101;\2#00111100;",                                     1, 2, 11,           2#10110100111) and
3414        chkPeekBitsMsb("\2#01010110;\2#10011101;\2#00000000;",                         1, 3, 11,           2#10110100111) and
3415        chkPeekBitsMsb("\2#10110110;\2#10011110;\2#10000000;",                         1, 3, 11,           2#10110100111) and
3416        chkPeekBitsMsb("\2#01011011;\2#01001110;\2#10100000;",                         1, 4, 11,           2#10110100111) and
3417        chkPeekBitsMsb("\2#10111011;\2#01001111;\2#01100000;",                         1, 4, 11,           2#10110100111) and
3418        chkPeekBitsMsb("\2#01011101;\2#10100111;\2#01011000;",                         1, 5, 11,           2#10110100111) and
3419        chkPeekBitsMsb("\2#10011101;\2#10100111;\2#10011000;",                         1, 5, 11,           2#10110100111) and
3420        chkPeekBitsMsb("\2#01001110;\2#11010011;\2#10100110;",                         1, 6, 11,           2#10110100111) and
3421        chkPeekBitsMsb("\2#11010110;\2#11010011;\2#11101010;",                         1, 6, 11,           2#10110100111) and
3422        chkPeekBitsMsb("\2#01101011;\2#01101001;\2#11011010;\2#10000000;",             1, 7, 11,           2#10110100111) and
3423        chkPeekBitsMsb("\2#10110011;\2#01101001;\2#11101100;\2#10000000;",             1, 7, 11,           2#10110100111) and
3424        chkPeekBitsMsb("\2#01011010;\2#01110000;",                                     1, 0, 12,          2#010110100111) and
3425        chkPeekBitsMsb("\2#00101101;\2#00111000;",                                     1, 1, 12,          2#010110100111) and
3426        chkPeekBitsMsb("\2#10101101;\2#00111100;",                                     1, 1, 12,          2#010110100111) and
3427        chkPeekBitsMsb("\2#01010110;\2#10011101;",                                     1, 2, 12,          2#010110100111) and
3428        chkPeekBitsMsb("\2#10010110;\2#10011110;",                                     1, 2, 12,          2#010110100111) and
3429        chkPeekBitsMsb("\2#01001011;\2#01001110;\2#10000000;",                         1, 3, 12,          2#010110100111) and
3430        chkPeekBitsMsb("\2#10101011;\2#01001111;\2#01000000;",                         1, 3, 12,          2#010110100111) and
3431        chkPeekBitsMsb("\2#01010101;\2#10100111;\2#01010000;",                         1, 4, 12,          2#010110100111) and
3432        chkPeekBitsMsb("\2#10110101;\2#10100111;\2#10110000;",                         1, 4, 12,          2#010110100111) and
3433        chkPeekBitsMsb("\2#01011010;\2#11010011;\2#10101100;",                         1, 5, 12,          2#010110100111) and
3434        chkPeekBitsMsb("\2#10011010;\2#11010011;\2#11001100;",                         1, 5, 12,          2#010110100111) and
3435        chkPeekBitsMsb("\2#01001101;\2#01101001;\2#11010011;",                         1, 6, 12,          2#010110100111) and
3436        chkPeekBitsMsb("\2#11010101;\2#01101001;\2#11110101;",                         1, 6, 12,          2#010110100111) and
3437        chkPeekBitsMsb("\2#01101010;\2#10110100;\2#11101101;\2#01000000;",             1, 7, 12,          2#010110100111) and
3438        chkPeekBitsMsb("\2#10110010;\2#10110100;\2#11110110;\2#01000000;",             1, 7, 12,          2#010110100111) and
3439        chkPeekBitsMsb("\2#10111000;\2#11010000;",                                     1, 0, 12,          2#101110001101) and
3440        chkPeekBitsMsb("\2#01011100;\2#01101000;",                                     1, 1, 12,          2#101110001101) and
3441        chkPeekBitsMsb("\2#11011100;\2#01101100;",                                     1, 1, 12,          2#101110001101) and
3442        chkPeekBitsMsb("\2#01101110;\2#00110101;",                                     1, 2, 12,          2#101110001101) and
3443        chkPeekBitsMsb("\2#10101110;\2#00110110;",                                     1, 2, 12,          2#101110001101) and
3444        chkPeekBitsMsb("\2#01010111;\2#00011010;\2#10000000;",                         1, 3, 12,          2#101110001101) and
3445        chkPeekBitsMsb("\2#10110111;\2#00011011;\2#01000000;",                         1, 3, 12,          2#101110001101) and
3446        chkPeekBitsMsb("\2#01011011;\2#10001101;\2#01010000;",                         1, 4, 12,          2#101110001101) and
3447        chkPeekBitsMsb("\2#10111011;\2#10001101;\2#10110000;",                         1, 4, 12,          2#101110001101) and
3448        chkPeekBitsMsb("\2#01011101;\2#11000110;\2#10101100;",                         1, 5, 12,          2#101110001101) and
3449        chkPeekBitsMsb("\2#10011101;\2#11000110;\2#11001100;",                         1, 5, 12,          2#101110001101) and
3450        chkPeekBitsMsb("\2#01001110;\2#11100011;\2#01010011;",                         1, 6, 12,          2#101110001101) and
3451        chkPeekBitsMsb("\2#11010110;\2#11100011;\2#01110101;",                         1, 6, 12,          2#101110001101) and
3452        chkPeekBitsMsb("\2#01101011;\2#01110001;\2#10101101;\2#01000000;",             1, 7, 12,          2#101110001101) and
3453        chkPeekBitsMsb("\2#10110011;\2#01110001;\2#10110110;\2#01000000;",             1, 7, 12,          2#101110001101) and
3454        chkPeekBitsMsb("\2#01011100;\2#01101000;",                                     1, 0, 13,         2#0101110001101) and
3455        chkPeekBitsMsb("\2#00101110;\2#00110100;",                                     1, 1, 13,         2#0101110001101) and
3456        chkPeekBitsMsb("\2#10101110;\2#00110110;",                                     1, 1, 13,         2#0101110001101) and
3457        chkPeekBitsMsb("\2#01010111;\2#00011010;\2#10000000;",                         1, 2, 13,         2#0101110001101) and
3458        chkPeekBitsMsb("\2#10010111;\2#00011011;\2#00000000;",                         1, 2, 13,         2#0101110001101) and
3459        chkPeekBitsMsb("\2#01001011;\2#10001101;\2#01000000;",                         1, 3, 13,         2#0101110001101) and
3460        chkPeekBitsMsb("\2#10101011;\2#10001101;\2#10100000;",                         1, 3, 13,         2#0101110001101) and
3461        chkPeekBitsMsb("\2#01010101;\2#11000110;\2#10101000;",                         1, 4, 13,         2#0101110001101) and
3462        chkPeekBitsMsb("\2#10110101;\2#11000110;\2#11011000;",                         1, 4, 13,         2#0101110001101) and
3463        chkPeekBitsMsb("\2#01011010;\2#11100011;\2#01010110;",                         1, 5, 13,         2#0101110001101) and
3464        chkPeekBitsMsb("\2#10011010;\2#11100011;\2#01100110;",                         1, 5, 13,         2#0101110001101) and
3465        chkPeekBitsMsb("\2#01001101;\2#01110001;\2#10101001;\2#10000000;",             1, 6, 13,         2#0101110001101) and
3466        chkPeekBitsMsb("\2#11010101;\2#01110001;\2#10111010;\2#10000000;",             1, 6, 13,         2#0101110001101) and
3467        chkPeekBitsMsb("\2#01101010;\2#10111000;\2#11010110;\2#10100000;",             1, 7, 13,         2#0101110001101) and
3468        chkPeekBitsMsb("\2#10110010;\2#10111000;\2#11011011;\2#00100000;",             1, 7, 13,         2#0101110001101) and
3469        chkPeekBitsMsb("\2#11011001;\2#10111000;",                                     1, 0, 13,         2#1101100110111) and
3470        chkPeekBitsMsb("\2#01101100;\2#11011100;",                                     1, 1, 13,         2#1101100110111) and
3471        chkPeekBitsMsb("\2#11101100;\2#11011110;",                                     1, 1, 13,         2#1101100110111) and
3472        chkPeekBitsMsb("\2#01110110;\2#01101110;\2#10000000;",                         1, 2, 13,         2#1101100110111) and
3473        chkPeekBitsMsb("\2#10110110;\2#01101111;\2#00000000;",                         1, 2, 13,         2#1101100110111) and
3474        chkPeekBitsMsb("\2#01011011;\2#00110111;\2#01000000;",                         1, 3, 13,         2#1101100110111) and
3475        chkPeekBitsMsb("\2#10111011;\2#00110111;\2#10100000;",                         1, 3, 13,         2#1101100110111) and
3476        chkPeekBitsMsb("\2#01011101;\2#10011011;\2#10101000;",                         1, 4, 13,         2#1101100110111) and
3477        chkPeekBitsMsb("\2#10111101;\2#10011011;\2#11011000;",                         1, 4, 13,         2#1101100110111) and
3478        chkPeekBitsMsb("\2#01011110;\2#11001101;\2#11010110;",                         1, 5, 13,         2#1101100110111) and
3479        chkPeekBitsMsb("\2#10011110;\2#11001101;\2#11100110;",                         1, 5, 13,         2#1101100110111) and
3480        chkPeekBitsMsb("\2#01001111;\2#01100110;\2#11101001;\2#10000000;",             1, 6, 13,         2#1101100110111) and
3481        chkPeekBitsMsb("\2#11010111;\2#01100110;\2#11111010;\2#10000000;",             1, 6, 13,         2#1101100110111) and
3482        chkPeekBitsMsb("\2#01101011;\2#10110011;\2#01110110;\2#10100000;",             1, 7, 13,         2#1101100110111) and
3483        chkPeekBitsMsb("\2#10110011;\2#10110011;\2#01111011;\2#00100000;",             1, 7, 13,         2#1101100110111) and
3484        chkPeekBitsMsb("\2#01101100;\2#11011100;",                                     1, 0, 14,        2#01101100110111) and
3485        chkPeekBitsMsb("\2#00110110;\2#01101110;",                                     1, 1, 14,        2#01101100110111) and
3486        chkPeekBitsMsb("\2#10110110;\2#01101111;",                                     1, 1, 14,        2#01101100110111) and
3487        chkPeekBitsMsb("\2#01011011;\2#00110111;\2#01000000;",                         1, 2, 14,        2#01101100110111) and
3488        chkPeekBitsMsb("\2#10011011;\2#00110111;\2#10000000;",                         1, 2, 14,        2#01101100110111) and
3489        chkPeekBitsMsb("\2#01001101;\2#10011011;\2#10100000;",                         1, 3, 14,        2#01101100110111) and
3490        chkPeekBitsMsb("\2#10101101;\2#10011011;\2#11010000;",                         1, 3, 14,        2#01101100110111) and
3491        chkPeekBitsMsb("\2#01010110;\2#11001101;\2#11010100;",                         1, 4, 14,        2#01101100110111) and
3492        chkPeekBitsMsb("\2#10110110;\2#11001101;\2#11101100;",                         1, 4, 14,        2#01101100110111) and
3493        chkPeekBitsMsb("\2#01011011;\2#01100110;\2#11101011;",                         1, 5, 14,        2#01101100110111) and
3494        chkPeekBitsMsb("\2#10011011;\2#01100110;\2#11110011;",                         1, 5, 14,        2#01101100110111) and
3495        chkPeekBitsMsb("\2#01001101;\2#10110011;\2#01110100;\2#11000000;",             1, 6, 14,        2#01101100110111) and
3496        chkPeekBitsMsb("\2#11010101;\2#10110011;\2#01111101;\2#01000000;",             1, 6, 14,        2#01101100110111) and
3497        chkPeekBitsMsb("\2#01101010;\2#11011001;\2#10111011;\2#01010000;",             1, 7, 14,        2#01101100110111) and
3498        chkPeekBitsMsb("\2#10110010;\2#11011001;\2#10111101;\2#10010000;",             1, 7, 14,        2#01101100110111) and
3499        chkPeekBitsMsb("\2#10011011;\2#01010100;",                                     1, 0, 14,        2#10011011010101) and
3500        chkPeekBitsMsb("\2#01001101;\2#10101010;",                                     1, 1, 14,        2#10011011010101) and
3501        chkPeekBitsMsb("\2#11001101;\2#10101011;",                                     1, 1, 14,        2#10011011010101) and
3502        chkPeekBitsMsb("\2#01100110;\2#11010101;\2#01000000;",                         1, 2, 14,        2#10011011010101) and
3503        chkPeekBitsMsb("\2#10100110;\2#11010101;\2#10000000;",                         1, 2, 14,        2#10011011010101) and
3504        chkPeekBitsMsb("\2#01010011;\2#01101010;\2#10100000;",                         1, 3, 14,        2#10011011010101) and
3505        chkPeekBitsMsb("\2#10110011;\2#01101010;\2#11010000;",                         1, 3, 14,        2#10011011010101) and
3506        chkPeekBitsMsb("\2#01011001;\2#10110101;\2#01010100;",                         1, 4, 14,        2#10011011010101) and
3507        chkPeekBitsMsb("\2#10111001;\2#10110101;\2#01101100;",                         1, 4, 14,        2#10011011010101) and
3508        chkPeekBitsMsb("\2#01011100;\2#11011010;\2#10101011;",                         1, 5, 14,        2#10011011010101) and
3509        chkPeekBitsMsb("\2#10011100;\2#11011010;\2#10110011;",                         1, 5, 14,        2#10011011010101) and
3510        chkPeekBitsMsb("\2#01001110;\2#01101101;\2#01010100;\2#11000000;",             1, 6, 14,        2#10011011010101) and
3511        chkPeekBitsMsb("\2#11010110;\2#01101101;\2#01011101;\2#01000000;",             1, 6, 14,        2#10011011010101) and
3512        chkPeekBitsMsb("\2#01101011;\2#00110110;\2#10101011;\2#01010000;",             1, 7, 14,        2#10011011010101) and
3513        chkPeekBitsMsb("\2#10110011;\2#00110110;\2#10101101;\2#10010000;",             1, 7, 14,        2#10011011010101) and
3514        chkPeekBitsMsb("\2#01001101;\2#10101010;",                                     1, 0, 15,       2#010011011010101) and
3515        chkPeekBitsMsb("\2#00100110;\2#11010101;\2#00000000;",                         1, 1, 15,       2#010011011010101) and
3516        chkPeekBitsMsb("\2#10100110;\2#11010101;\2#10000000;",                         1, 1, 15,       2#010011011010101) and
3517        chkPeekBitsMsb("\2#01010011;\2#01101010;\2#10100000;",                         1, 2, 15,       2#010011011010101) and
3518        chkPeekBitsMsb("\2#10010011;\2#01101010;\2#11000000;",                         1, 2, 15,       2#010011011010101) and
3519        chkPeekBitsMsb("\2#01001001;\2#10110101;\2#01010000;",                         1, 3, 15,       2#010011011010101) and
3520        chkPeekBitsMsb("\2#10101001;\2#10110101;\2#01101000;",                         1, 3, 15,       2#010011011010101) and
3521        chkPeekBitsMsb("\2#01010100;\2#11011010;\2#10101010;",                         1, 4, 15,       2#010011011010101) and
3522        chkPeekBitsMsb("\2#10110100;\2#11011010;\2#10110110;",                         1, 4, 15,       2#010011011010101) and
3523        chkPeekBitsMsb("\2#01011010;\2#01101101;\2#01010101;\2#10000000;",             1, 5, 15,       2#010011011010101) and
3524        chkPeekBitsMsb("\2#10011010;\2#01101101;\2#01011001;\2#10000000;",             1, 5, 15,       2#010011011010101) and
3525        chkPeekBitsMsb("\2#01001101;\2#00110110;\2#10101010;\2#01100000;",             1, 6, 15,       2#010011011010101) and
3526        chkPeekBitsMsb("\2#11010101;\2#00110110;\2#10101110;\2#10100000;",             1, 6, 15,       2#010011011010101) and
3527        chkPeekBitsMsb("\2#01101010;\2#10011011;\2#01010101;\2#10101000;",             1, 7, 15,       2#010011011010101) and
3528        chkPeekBitsMsb("\2#10110010;\2#10011011;\2#01010110;\2#11001000;",             1, 7, 15,       2#010011011010101) and
3529        chkPeekBitsMsb("\2#10010111;\2#10110010;",                                     1, 0, 15,       2#100101111011001) and
3530        chkPeekBitsMsb("\2#01001011;\2#11011001;\2#00000000;",                         1, 1, 15,       2#100101111011001) and
3531        chkPeekBitsMsb("\2#11001011;\2#11011001;\2#10000000;",                         1, 1, 15,       2#100101111011001) and
3532        chkPeekBitsMsb("\2#01100101;\2#11101100;\2#10100000;",                         1, 2, 15,       2#100101111011001) and
3533        chkPeekBitsMsb("\2#10100101;\2#11101100;\2#11000000;",                         1, 2, 15,       2#100101111011001) and
3534        chkPeekBitsMsb("\2#01010010;\2#11110110;\2#01010000;",                         1, 3, 15,       2#100101111011001) and
3535        chkPeekBitsMsb("\2#10110010;\2#11110110;\2#01101000;",                         1, 3, 15,       2#100101111011001) and
3536        chkPeekBitsMsb("\2#01011001;\2#01111011;\2#00101010;",                         1, 4, 15,       2#100101111011001) and
3537        chkPeekBitsMsb("\2#10111001;\2#01111011;\2#00110110;",                         1, 4, 15,       2#100101111011001) and
3538        chkPeekBitsMsb("\2#01011100;\2#10111101;\2#10010101;\2#10000000;",             1, 5, 15,       2#100101111011001) and
3539        chkPeekBitsMsb("\2#10011100;\2#10111101;\2#10011001;\2#10000000;",             1, 5, 15,       2#100101111011001) and
3540        chkPeekBitsMsb("\2#01001110;\2#01011110;\2#11001010;\2#01100000;",             1, 6, 15,       2#100101111011001) and
3541        chkPeekBitsMsb("\2#11010110;\2#01011110;\2#11001110;\2#10100000;",             1, 6, 15,       2#100101111011001) and
3542        chkPeekBitsMsb("\2#01101011;\2#00101111;\2#01100101;\2#10101000;",             1, 7, 15,       2#100101111011001) and
3543        chkPeekBitsMsb("\2#10110011;\2#00101111;\2#01100110;\2#11001000;",             1, 7, 15,       2#100101111011001) and
3544        chkPeekBitsMsb("\2#01001011;\2#11011001;",                                     1, 0, 16,      2#0100101111011001) and
3545        chkPeekBitsMsb("\2#00100101;\2#11101100;\2#10000000;",                         1, 1, 16,      2#0100101111011001) and
3546        chkPeekBitsMsb("\2#10100101;\2#11101100;\2#11000000;",                         1, 1, 16,      2#0100101111011001) and
3547        chkPeekBitsMsb("\2#01010010;\2#11110110;\2#01010000;",                         1, 2, 16,      2#0100101111011001) and
3548        chkPeekBitsMsb("\2#10010010;\2#11110110;\2#01100000;",                         1, 2, 16,      2#0100101111011001) and
3549        chkPeekBitsMsb("\2#01001001;\2#01111011;\2#00101000;",                         1, 3, 16,      2#0100101111011001) and
3550        chkPeekBitsMsb("\2#10101001;\2#01111011;\2#00110100;",                         1, 3, 16,      2#0100101111011001) and
3551        chkPeekBitsMsb("\2#01010100;\2#10111101;\2#10010101;",                         1, 4, 16,      2#0100101111011001) and
3552        chkPeekBitsMsb("\2#10110100;\2#10111101;\2#10011011;",                         1, 4, 16,      2#0100101111011001) and
3553        chkPeekBitsMsb("\2#01011010;\2#01011110;\2#11001010;\2#11000000;",             1, 5, 16,      2#0100101111011001) and
3554        chkPeekBitsMsb("\2#10011010;\2#01011110;\2#11001100;\2#11000000;",             1, 5, 16,      2#0100101111011001) and
3555        chkPeekBitsMsb("\2#01001101;\2#00101111;\2#01100101;\2#00110000;",             1, 6, 16,      2#0100101111011001) and
3556        chkPeekBitsMsb("\2#11010101;\2#00101111;\2#01100111;\2#01010000;",             1, 6, 16,      2#0100101111011001) and
3557        chkPeekBitsMsb("\2#01101010;\2#10010111;\2#10110010;\2#11010100;",             1, 7, 16,      2#0100101111011001) and
3558        chkPeekBitsMsb("\2#10110010;\2#10010111;\2#10110011;\2#01100100;",             1, 7, 16,      2#0100101111011001) and
3559        chkPeekBitsMsb("\2#11011000;\2#01100111;",                                     1, 0, 16,      2#1101100001100111) and
3560        chkPeekBitsMsb("\2#01101100;\2#00110011;\2#10000000;",                         1, 1, 16,      2#1101100001100111) and
3561        chkPeekBitsMsb("\2#11101100;\2#00110011;\2#11000000;",                         1, 1, 16,      2#1101100001100111) and
3562        chkPeekBitsMsb("\2#01110110;\2#00011001;\2#11010000;",                         1, 2, 16,      2#1101100001100111) and
3563        chkPeekBitsMsb("\2#10110110;\2#00011001;\2#11100000;",                         1, 2, 16,      2#1101100001100111) and
3564        chkPeekBitsMsb("\2#01011011;\2#00001100;\2#11101000;",                         1, 3, 16,      2#1101100001100111) and
3565        chkPeekBitsMsb("\2#10111011;\2#00001100;\2#11110100;",                         1, 3, 16,      2#1101100001100111) and
3566        chkPeekBitsMsb("\2#01011101;\2#10000110;\2#01110101;",                         1, 4, 16,      2#1101100001100111) and
3567        chkPeekBitsMsb("\2#10111101;\2#10000110;\2#01111011;",                         1, 4, 16,      2#1101100001100111) and
3568        chkPeekBitsMsb("\2#01011110;\2#11000011;\2#00111010;\2#11000000;",             1, 5, 16,      2#1101100001100111) and
3569        chkPeekBitsMsb("\2#10011110;\2#11000011;\2#00111100;\2#11000000;",             1, 5, 16,      2#1101100001100111) and
3570        chkPeekBitsMsb("\2#01001111;\2#01100001;\2#10011101;\2#00110000;",             1, 6, 16,      2#1101100001100111) and
3571        chkPeekBitsMsb("\2#11010111;\2#01100001;\2#10011111;\2#01010000;",             1, 6, 16,      2#1101100001100111) and
3572        chkPeekBitsMsb("\2#01101011;\2#10110000;\2#11001110;\2#11010100;",             1, 7, 16,      2#1101100001100111) and
3573        chkPeekBitsMsb("\2#10110011;\2#10110000;\2#11001111;\2#01100100;",             1, 7, 16,      2#1101100001100111) and
3574        chkPeekBitsMsb("\2#01101100;\2#00110011;\2#10000000;",                         1, 0, 17,     2#01101100001100111) and
3575        chkPeekBitsMsb("\2#00110110;\2#00011001;\2#11000000;",                         1, 1, 17,     2#01101100001100111) and
3576        chkPeekBitsMsb("\2#10110110;\2#00011001;\2#11100000;",                         1, 1, 17,     2#01101100001100111) and
3577        chkPeekBitsMsb("\2#01011011;\2#00001100;\2#11101000;",                         1, 2, 17,     2#01101100001100111) and
3578        chkPeekBitsMsb("\2#10011011;\2#00001100;\2#11110000;",                         1, 2, 17,     2#01101100001100111) and
3579        chkPeekBitsMsb("\2#01001101;\2#10000110;\2#01110100;",                         1, 3, 17,     2#01101100001100111) and
3580        chkPeekBitsMsb("\2#10101101;\2#10000110;\2#01111010;",                         1, 3, 17,     2#01101100001100111) and
3581        chkPeekBitsMsb("\2#01010110;\2#11000011;\2#00111010;\2#10000000;",             1, 4, 17,     2#01101100001100111) and
3582        chkPeekBitsMsb("\2#10110110;\2#11000011;\2#00111101;\2#10000000;",             1, 4, 17,     2#01101100001100111) and
3583        chkPeekBitsMsb("\2#01011011;\2#01100001;\2#10011101;\2#01100000;",             1, 5, 17,     2#01101100001100111) and
3584        chkPeekBitsMsb("\2#10011011;\2#01100001;\2#10011110;\2#01100000;",             1, 5, 17,     2#01101100001100111) and
3585        chkPeekBitsMsb("\2#01001101;\2#10110000;\2#11001110;\2#10011000;",             1, 6, 17,     2#01101100001100111) and
3586        chkPeekBitsMsb("\2#11010101;\2#10110000;\2#11001111;\2#10101000;",             1, 6, 17,     2#01101100001100111) and
3587        chkPeekBitsMsb("\2#01101010;\2#11011000;\2#01100111;\2#01101010;",             1, 7, 17,     2#01101100001100111) and
3588        chkPeekBitsMsb("\2#10110010;\2#11011000;\2#01100111;\2#10110010;",             1, 7, 17,     2#01101100001100111) and
3589        chkPeekBitsMsb("\2#10100010;\2#11001110;\2#10000000;",                         1, 0, 17,     2#10100010110011101) and
3590        chkPeekBitsMsb("\2#01010001;\2#01100111;\2#01000000;",                         1, 1, 17,     2#10100010110011101) and
3591        chkPeekBitsMsb("\2#11010001;\2#01100111;\2#01100000;",                         1, 1, 17,     2#10100010110011101) and
3592        chkPeekBitsMsb("\2#01101000;\2#10110011;\2#10101000;",                         1, 2, 17,     2#10100010110011101) and
3593        chkPeekBitsMsb("\2#10101000;\2#10110011;\2#10110000;",                         1, 2, 17,     2#10100010110011101) and
3594        chkPeekBitsMsb("\2#01010100;\2#01011001;\2#11010100;",                         1, 3, 17,     2#10100010110011101) and
3595        chkPeekBitsMsb("\2#10110100;\2#01011001;\2#11011010;",                         1, 3, 17,     2#10100010110011101) and
3596        chkPeekBitsMsb("\2#01011010;\2#00101100;\2#11101010;\2#10000000;",             1, 4, 17,     2#10100010110011101) and
3597        chkPeekBitsMsb("\2#10111010;\2#00101100;\2#11101101;\2#10000000;",             1, 4, 17,     2#10100010110011101) and
3598        chkPeekBitsMsb("\2#01011101;\2#00010110;\2#01110101;\2#01100000;",             1, 5, 17,     2#10100010110011101) and
3599        chkPeekBitsMsb("\2#10011101;\2#00010110;\2#01110110;\2#01100000;",             1, 5, 17,     2#10100010110011101) and
3600        chkPeekBitsMsb("\2#01001110;\2#10001011;\2#00111010;\2#10011000;",             1, 6, 17,     2#10100010110011101) and
3601        chkPeekBitsMsb("\2#11010110;\2#10001011;\2#00111011;\2#10101000;",             1, 6, 17,     2#10100010110011101) and
3602        chkPeekBitsMsb("\2#01101011;\2#01000101;\2#10011101;\2#01101010;",             1, 7, 17,     2#10100010110011101) and
3603        chkPeekBitsMsb("\2#10110011;\2#01000101;\2#10011101;\2#10110010;",             1, 7, 17,     2#10100010110011101) and
3604        chkPeekBitsMsb("\2#01010001;\2#01100111;\2#01000000;",                         1, 0, 18,    2#010100010110011101) and
3605        chkPeekBitsMsb("\2#00101000;\2#10110011;\2#10100000;",                         1, 1, 18,    2#010100010110011101) and
3606        chkPeekBitsMsb("\2#10101000;\2#10110011;\2#10110000;",                         1, 1, 18,    2#010100010110011101) and
3607        chkPeekBitsMsb("\2#01010100;\2#01011001;\2#11010100;",                         1, 2, 18,    2#010100010110011101) and
3608        chkPeekBitsMsb("\2#10010100;\2#01011001;\2#11011000;",                         1, 2, 18,    2#010100010110011101) and
3609        chkPeekBitsMsb("\2#01001010;\2#00101100;\2#11101010;",                         1, 3, 18,    2#010100010110011101) and
3610        chkPeekBitsMsb("\2#10101010;\2#00101100;\2#11101101;",                         1, 3, 18,    2#010100010110011101) and
3611        chkPeekBitsMsb("\2#01010101;\2#00010110;\2#01110101;\2#01000000;",             1, 4, 18,    2#010100010110011101) and
3612        chkPeekBitsMsb("\2#10110101;\2#00010110;\2#01110110;\2#11000000;",             1, 4, 18,    2#010100010110011101) and
3613        chkPeekBitsMsb("\2#01011010;\2#10001011;\2#00111010;\2#10110000;",             1, 5, 18,    2#010100010110011101) and
3614        chkPeekBitsMsb("\2#10011010;\2#10001011;\2#00111011;\2#00110000;",             1, 5, 18,    2#010100010110011101) and
3615        chkPeekBitsMsb("\2#01001101;\2#01000101;\2#10011101;\2#01001100;",             1, 6, 18,    2#010100010110011101) and
3616        chkPeekBitsMsb("\2#11010101;\2#01000101;\2#10011101;\2#11010100;",             1, 6, 18,    2#010100010110011101) and
3617        chkPeekBitsMsb("\2#01101010;\2#10100010;\2#11001110;\2#10110101;",             1, 7, 18,    2#010100010110011101) and
3618        chkPeekBitsMsb("\2#10110010;\2#10100010;\2#11001110;\2#11011001;",             1, 7, 18,    2#010100010110011101) and
3619        chkPeekBitsMsb("\2#10100101;\2#00110111;\2#01000000;",                         1, 0, 18,    2#101001010011011101) and
3620        chkPeekBitsMsb("\2#01010010;\2#10011011;\2#10100000;",                         1, 1, 18,    2#101001010011011101) and
3621        chkPeekBitsMsb("\2#11010010;\2#10011011;\2#10110000;",                         1, 1, 18,    2#101001010011011101) and
3622        chkPeekBitsMsb("\2#01101001;\2#01001101;\2#11010100;",                         1, 2, 18,    2#101001010011011101) and
3623        chkPeekBitsMsb("\2#10101001;\2#01001101;\2#11011000;",                         1, 2, 18,    2#101001010011011101) and
3624        chkPeekBitsMsb("\2#01010100;\2#10100110;\2#11101010;",                         1, 3, 18,    2#101001010011011101) and
3625        chkPeekBitsMsb("\2#10110100;\2#10100110;\2#11101101;",                         1, 3, 18,    2#101001010011011101) and
3626        chkPeekBitsMsb("\2#01011010;\2#01010011;\2#01110101;\2#01000000;",             1, 4, 18,    2#101001010011011101) and
3627        chkPeekBitsMsb("\2#10111010;\2#01010011;\2#01110110;\2#11000000;",             1, 4, 18,    2#101001010011011101) and
3628        chkPeekBitsMsb("\2#01011101;\2#00101001;\2#10111010;\2#10110000;",             1, 5, 18,    2#101001010011011101) and
3629        chkPeekBitsMsb("\2#10011101;\2#00101001;\2#10111011;\2#00110000;",             1, 5, 18,    2#101001010011011101) and
3630        chkPeekBitsMsb("\2#01001110;\2#10010100;\2#11011101;\2#01001100;",             1, 6, 18,    2#101001010011011101) and
3631        chkPeekBitsMsb("\2#11010110;\2#10010100;\2#11011101;\2#11010100;",             1, 6, 18,    2#101001010011011101) and
3632        chkPeekBitsMsb("\2#01101011;\2#01001010;\2#01101110;\2#10110101;",             1, 7, 18,    2#101001010011011101) and
3633        chkPeekBitsMsb("\2#10110011;\2#01001010;\2#01101110;\2#11011001;",             1, 7, 18,    2#101001010011011101) and
3634        chkPeekBitsMsb("\2#01010010;\2#10011011;\2#10100000;",                         1, 0, 19,   2#0101001010011011101) and
3635        chkPeekBitsMsb("\2#00101001;\2#01001101;\2#11010000;",                         1, 1, 19,   2#0101001010011011101) and
3636        chkPeekBitsMsb("\2#10101001;\2#01001101;\2#11011000;",                         1, 1, 19,   2#0101001010011011101) and
3637        chkPeekBitsMsb("\2#01010100;\2#10100110;\2#11101010;",                         1, 2, 19,   2#0101001010011011101) and
3638        chkPeekBitsMsb("\2#10010100;\2#10100110;\2#11101100;",                         1, 2, 19,   2#0101001010011011101) and
3639        chkPeekBitsMsb("\2#01001010;\2#01010011;\2#01110101;\2#00000000;",             1, 3, 19,   2#0101001010011011101) and
3640        chkPeekBitsMsb("\2#10101010;\2#01010011;\2#01110110;\2#10000000;",             1, 3, 19,   2#0101001010011011101) and
3641        chkPeekBitsMsb("\2#01010101;\2#00101001;\2#10111010;\2#10100000;",             1, 4, 19,   2#0101001010011011101) and
3642        chkPeekBitsMsb("\2#10110101;\2#00101001;\2#10111011;\2#01100000;",             1, 4, 19,   2#0101001010011011101) and
3643        chkPeekBitsMsb("\2#01011010;\2#10010100;\2#11011101;\2#01011000;",             1, 5, 19,   2#0101001010011011101) and
3644        chkPeekBitsMsb("\2#10011010;\2#10010100;\2#11011101;\2#10011000;",             1, 5, 19,   2#0101001010011011101) and
3645        chkPeekBitsMsb("\2#01001101;\2#01001010;\2#01101110;\2#10100110;",             1, 6, 19,   2#0101001010011011101) and
3646        chkPeekBitsMsb("\2#11010101;\2#01001010;\2#01101110;\2#11101010;",             1, 6, 19,   2#0101001010011011101) and
3647        chkPeekBitsMsb("\2#01101010;\2#10100101;\2#00110111;\2#01011010;\2#10000000;", 1, 7, 19,   2#0101001010011011101) and
3648        chkPeekBitsMsb("\2#10110010;\2#10100101;\2#00110111;\2#01101100;\2#10000000;", 1, 7, 19,   2#0101001010011011101) and
3649        chkPeekBitsMsb("\2#11011011;\2#00111001;\2#00100000;",                         1, 0, 19,   2#1101101100111001001) and
3650        chkPeekBitsMsb("\2#01101101;\2#10011100;\2#10010000;",                         1, 1, 19,   2#1101101100111001001) and
3651        chkPeekBitsMsb("\2#11101101;\2#10011100;\2#10011000;",                         1, 1, 19,   2#1101101100111001001) and
3652        chkPeekBitsMsb("\2#01110110;\2#11001110;\2#01001010;",                         1, 2, 19,   2#1101101100111001001) and
3653        chkPeekBitsMsb("\2#10110110;\2#11001110;\2#01001100;",                         1, 2, 19,   2#1101101100111001001) and
3654        chkPeekBitsMsb("\2#01011011;\2#01100111;\2#00100101;\2#00000000;",             1, 3, 19,   2#1101101100111001001) and
3655        chkPeekBitsMsb("\2#10111011;\2#01100111;\2#00100110;\2#10000000;",             1, 3, 19,   2#1101101100111001001) and
3656        chkPeekBitsMsb("\2#01011101;\2#10110011;\2#10010010;\2#10100000;",             1, 4, 19,   2#1101101100111001001) and
3657        chkPeekBitsMsb("\2#10111101;\2#10110011;\2#10010011;\2#01100000;",             1, 4, 19,   2#1101101100111001001) and
3658        chkPeekBitsMsb("\2#01011110;\2#11011001;\2#11001001;\2#01011000;",             1, 5, 19,   2#1101101100111001001) and
3659        chkPeekBitsMsb("\2#10011110;\2#11011001;\2#11001001;\2#10011000;",             1, 5, 19,   2#1101101100111001001) and
3660        chkPeekBitsMsb("\2#01001111;\2#01101100;\2#11100100;\2#10100110;",             1, 6, 19,   2#1101101100111001001) and
3661        chkPeekBitsMsb("\2#11010111;\2#01101100;\2#11100100;\2#11101010;",             1, 6, 19,   2#1101101100111001001) and
3662        chkPeekBitsMsb("\2#01101011;\2#10110110;\2#01110010;\2#01011010;\2#10000000;", 1, 7, 19,   2#1101101100111001001) and
3663        chkPeekBitsMsb("\2#10110011;\2#10110110;\2#01110010;\2#01101100;\2#10000000;", 1, 7, 19,   2#1101101100111001001) and
3664        chkPeekBitsMsb("\2#01101101;\2#10011100;\2#10010000;",                         1, 0, 20,  2#01101101100111001001) and
3665        chkPeekBitsMsb("\2#00110110;\2#11001110;\2#01001000;",                         1, 1, 20,  2#01101101100111001001) and
3666        chkPeekBitsMsb("\2#10110110;\2#11001110;\2#01001100;",                         1, 1, 20,  2#01101101100111001001) and
3667        chkPeekBitsMsb("\2#01011011;\2#01100111;\2#00100101;",                         1, 2, 20,  2#01101101100111001001) and
3668        chkPeekBitsMsb("\2#10011011;\2#01100111;\2#00100110;",                         1, 2, 20,  2#01101101100111001001) and
3669        chkPeekBitsMsb("\2#01001101;\2#10110011;\2#10010010;\2#10000000;",             1, 3, 20,  2#01101101100111001001) and
3670        chkPeekBitsMsb("\2#10101101;\2#10110011;\2#10010011;\2#01000000;",             1, 3, 20,  2#01101101100111001001) and
3671        chkPeekBitsMsb("\2#01010110;\2#11011001;\2#11001001;\2#01010000;",             1, 4, 20,  2#01101101100111001001) and
3672        chkPeekBitsMsb("\2#10110110;\2#11011001;\2#11001001;\2#10110000;",             1, 4, 20,  2#01101101100111001001) and
3673        chkPeekBitsMsb("\2#01011011;\2#01101100;\2#11100100;\2#10101100;",             1, 5, 20,  2#01101101100111001001) and
3674        chkPeekBitsMsb("\2#10011011;\2#01101100;\2#11100100;\2#11001100;",             1, 5, 20,  2#01101101100111001001) and
3675        chkPeekBitsMsb("\2#01001101;\2#10110110;\2#01110010;\2#01010011;",             1, 6, 20,  2#01101101100111001001) and
3676        chkPeekBitsMsb("\2#11010101;\2#10110110;\2#01110010;\2#01110101;",             1, 6, 20,  2#01101101100111001001) and
3677        chkPeekBitsMsb("\2#01101010;\2#11011011;\2#00111001;\2#00101101;\2#01000000;", 1, 7, 20,  2#01101101100111001001) and
3678        chkPeekBitsMsb("\2#10110010;\2#11011011;\2#00111001;\2#00110110;\2#01000000;", 1, 7, 20,  2#01101101100111001001) and
3679        chkPeekBitsMsb("\2#11100111;\2#11101100;\2#10010000;",                         1, 0, 20,  2#11100111111011001001) and
3680        chkPeekBitsMsb("\2#01110011;\2#11110110;\2#01001000;",                         1, 1, 20,  2#11100111111011001001) and
3681        chkPeekBitsMsb("\2#11110011;\2#11110110;\2#01001100;",                         1, 1, 20,  2#11100111111011001001) and
3682        chkPeekBitsMsb("\2#01111001;\2#11111011;\2#00100101;",                         1, 2, 20,  2#11100111111011001001) and
3683        chkPeekBitsMsb("\2#10111001;\2#11111011;\2#00100110;",                         1, 2, 20,  2#11100111111011001001) and
3684        chkPeekBitsMsb("\2#01011100;\2#11111101;\2#10010010;\2#10000000;",             1, 3, 20,  2#11100111111011001001) and
3685        chkPeekBitsMsb("\2#10111100;\2#11111101;\2#10010011;\2#01000000;",             1, 3, 20,  2#11100111111011001001) and
3686        chkPeekBitsMsb("\2#01011110;\2#01111110;\2#11001001;\2#01010000;",             1, 4, 20,  2#11100111111011001001) and
3687        chkPeekBitsMsb("\2#10111110;\2#01111110;\2#11001001;\2#10110000;",             1, 4, 20,  2#11100111111011001001) and
3688        chkPeekBitsMsb("\2#01011111;\2#00111111;\2#01100100;\2#10101100;",             1, 5, 20,  2#11100111111011001001) and
3689        chkPeekBitsMsb("\2#10011111;\2#00111111;\2#01100100;\2#11001100;",             1, 5, 20,  2#11100111111011001001) and
3690        chkPeekBitsMsb("\2#01001111;\2#10011111;\2#10110010;\2#01010011;",             1, 6, 20,  2#11100111111011001001) and
3691        chkPeekBitsMsb("\2#11010111;\2#10011111;\2#10110010;\2#01110101;",             1, 6, 20,  2#11100111111011001001) and
3692        chkPeekBitsMsb("\2#01101011;\2#11001111;\2#11011001;\2#00101101;\2#01000000;", 1, 7, 20,  2#11100111111011001001) and
3693        chkPeekBitsMsb("\2#10110011;\2#11001111;\2#11011001;\2#00110110;\2#01000000;", 1, 7, 20,  2#11100111111011001001) and
3694        chkPeekBitsMsb("\2#01110011;\2#11110110;\2#01001000;",                         1, 0, 21, 2#011100111111011001001) and
3695        chkPeekBitsMsb("\2#00111001;\2#11111011;\2#00100100;",                         1, 1, 21, 2#011100111111011001001) and
3696        chkPeekBitsMsb("\2#10111001;\2#11111011;\2#00100110;",                         1, 1, 21, 2#011100111111011001001) and
3697        chkPeekBitsMsb("\2#01011100;\2#11111101;\2#10010010;\2#10000000;",             1, 2, 21, 2#011100111111011001001) and
3698        chkPeekBitsMsb("\2#10011100;\2#11111101;\2#10010011;\2#00000000;",             1, 2, 21, 2#011100111111011001001) and
3699        chkPeekBitsMsb("\2#01001110;\2#01111110;\2#11001001;\2#01000000;",             1, 3, 21, 2#011100111111011001001) and
3700        chkPeekBitsMsb("\2#10101110;\2#01111110;\2#11001001;\2#10100000;",             1, 3, 21, 2#011100111111011001001) and
3701        chkPeekBitsMsb("\2#01010111;\2#00111111;\2#01100100;\2#10101000;",             1, 4, 21, 2#011100111111011001001) and
3702        chkPeekBitsMsb("\2#10110111;\2#00111111;\2#01100100;\2#11011000;",             1, 4, 21, 2#011100111111011001001) and
3703        chkPeekBitsMsb("\2#01011011;\2#10011111;\2#10110010;\2#01010110;",             1, 5, 21, 2#011100111111011001001) and
3704        chkPeekBitsMsb("\2#10011011;\2#10011111;\2#10110010;\2#01100110;",             1, 5, 21, 2#011100111111011001001) and
3705        chkPeekBitsMsb("\2#01001101;\2#11001111;\2#11011001;\2#00101001;\2#10000000;", 1, 6, 21, 2#011100111111011001001) and
3706        chkPeekBitsMsb("\2#11010101;\2#11001111;\2#11011001;\2#00111010;\2#10000000;", 1, 6, 21, 2#011100111111011001001) and
3707        chkPeekBitsMsb("\2#01101010;\2#11100111;\2#11101100;\2#10010110;\2#10100000;", 1, 7, 21, 2#011100111111011001001) and
3708        chkPeekBitsMsb("\2#10110010;\2#11100111;\2#11101100;\2#10011011;\2#00100000;", 1, 7, 21, 2#011100111111011001001) and
3709        chkPeekBitsMsb("\2#10100001;\2#00101110;\2#00111000;",                         1, 0, 21, 2#101000010010111000111) and
3710        chkPeekBitsMsb("\2#01010000;\2#10010111;\2#00011100;",                         1, 1, 21, 2#101000010010111000111) and
3711        chkPeekBitsMsb("\2#11010000;\2#10010111;\2#00011110;",                         1, 1, 21, 2#101000010010111000111) and
3712        chkPeekBitsMsb("\2#01101000;\2#01001011;\2#10001110;\2#10000000;",             1, 2, 21, 2#101000010010111000111) and
3713        chkPeekBitsMsb("\2#10101000;\2#01001011;\2#10001111;\2#00000000;",             1, 2, 21, 2#101000010010111000111) and
3714        chkPeekBitsMsb("\2#01010100;\2#00100101;\2#11000111;\2#01000000;",             1, 3, 21, 2#101000010010111000111) and
3715        chkPeekBitsMsb("\2#10110100;\2#00100101;\2#11000111;\2#10100000;",             1, 3, 21, 2#101000010010111000111) and
3716        chkPeekBitsMsb("\2#01011010;\2#00010010;\2#11100011;\2#10101000;",             1, 4, 21, 2#101000010010111000111) and
3717        chkPeekBitsMsb("\2#10111010;\2#00010010;\2#11100011;\2#11011000;",             1, 4, 21, 2#101000010010111000111) and
3718        chkPeekBitsMsb("\2#01011101;\2#00001001;\2#01110001;\2#11010110;",             1, 5, 21, 2#101000010010111000111) and
3719        chkPeekBitsMsb("\2#10011101;\2#00001001;\2#01110001;\2#11100110;",             1, 5, 21, 2#101000010010111000111) and
3720        chkPeekBitsMsb("\2#01001110;\2#10000100;\2#10111000;\2#11101001;\2#10000000;", 1, 6, 21, 2#101000010010111000111) and
3721        chkPeekBitsMsb("\2#11010110;\2#10000100;\2#10111000;\2#11111010;\2#10000000;", 1, 6, 21, 2#101000010010111000111) and
3722        chkPeekBitsMsb("\2#01101011;\2#01000010;\2#01011100;\2#01110110;\2#10100000;", 1, 7, 21, 2#101000010010111000111) and
3723        chkPeekBitsMsb("\2#10110011;\2#01000010;\2#01011100;\2#01111011;\2#00100000;", 1, 7, 21, 2#101000010010111000111) then
3724      writeln("peekBitsMsb works correct.");
3725    end if;
3726  end func;
3727
3728
3729const func boolean: chkPutBitMsb (in string: stri, in integer: bitPos,
3730    in integer: bit, in string: striExpected, in integer: bitPosExpected) is func
3731  result
3732    var boolean: okay is TRUE;
3733  local
3734    var string: striVar is "";
3735    var integer: bitPosVar is 0;
3736    var file: testFile is STD_NULL;
3737  begin
3738    striVar := stri;
3739    bitPosVar := bitPos;
3740    putBitMsb(striVar, bitPosVar, bit);
3741    if striVar <> striExpected or bitPosVar <> bitPosExpected then
3742      okay := FALSE;
3743      write("putBitMsb(\"");
3744      if length(stri) >= 1 then
3745        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
3746      end if;
3747      writeln("\", " <& bitPos <& ", " <& bit radix 2 <& ")");
3748      if striVar <> striExpected  then
3749        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
3750      end if;
3751      if bitPosVar <> bitPosExpected then
3752        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
3753      end if;
3754    end if;
3755    if bitPos = 0 then
3756      testFile := openStriFile(stri);
3757      testFile.bufferChar := '\0;';
3758    else
3759      testFile := openStriFile(stri[.. pred(length(stri))]);
3760      testFile.bufferChar := stri[length(stri)];
3761    end if;
3762    bitPosVar := bitPos;
3763    putBitMsb(testFile, bitPosVar, bit);
3764    seek(testFile, 1);
3765    striVar := gets(testFile, length(testFile));
3766    if bitPosVar <> 0 then
3767      striVar &:= testFile.bufferChar;
3768    end if;
3769    if striVar <> striExpected or bitPosVar <> bitPosExpected or (bitPosVar = 0 and testFile.bufferChar <> '\0;') then
3770      okay := FALSE;
3771      write("\"");
3772      if length(stri) >= 1 then
3773        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
3774      end if;
3775      writeln("\": putBitMsb(testFile, " <& bitPos <& ", " <& bit radix 2 <& ")");
3776      if striVar <> striExpected  then
3777        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
3778      end if;
3779      if bitPosVar <> bitPosExpected then
3780        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
3781      end if;
3782      if bitPosVar = 0 and testFile.bufferChar <> '\0;' then
3783        writeln(" ***** Expected bufferChar to be '\\0;' if bitPos is 0. Found '\\" <& ord(testFile.bufferChar) <& ";'");
3784      end if;
3785    end if;
3786  end func;
3787
3788
3789const proc: chkPutBitMsb is func
3790  begin
3791    if  chkPutBitMsb(            "", 0, 2#0, "\2#00000000;", 1) and
3792        chkPutBitMsb("\2#00000000;", 1, 2#0, "\2#00000000;", 2) and
3793        chkPutBitMsb("\2#10000000;", 1, 2#0, "\2#10000000;", 2) and
3794        chkPutBitMsb("\2#01000000;", 2, 2#0, "\2#01000000;", 3) and
3795        chkPutBitMsb("\2#10000000;", 2, 2#0, "\2#10000000;", 3) and
3796        chkPutBitMsb("\2#01000000;", 3, 2#0, "\2#01000000;", 4) and
3797        chkPutBitMsb("\2#10100000;", 3, 2#0, "\2#10100000;", 4) and
3798        chkPutBitMsb("\2#01010000;", 4, 2#0, "\2#01010000;", 5) and
3799        chkPutBitMsb("\2#10110000;", 4, 2#0, "\2#10110000;", 5) and
3800        chkPutBitMsb("\2#01011000;", 5, 2#0, "\2#01011000;", 6) and
3801        chkPutBitMsb("\2#10011000;", 5, 2#0, "\2#10011000;", 6) and
3802        chkPutBitMsb("\2#01001100;", 6, 2#0, "\2#01001100;", 7) and
3803        chkPutBitMsb("\2#11010100;", 6, 2#0, "\2#11010100;", 7) and
3804        chkPutBitMsb("\2#01101010;", 7, 2#0, "\2#01101010;", 0) and
3805        chkPutBitMsb("\2#10110010;", 7, 2#0, "\2#10110010;", 0) and
3806        chkPutBitMsb(            "", 0, 2#1, "\2#10000000;", 1) and
3807        chkPutBitMsb("\2#00000000;", 1, 2#1, "\2#01000000;", 2) and
3808        chkPutBitMsb("\2#10000000;", 1, 2#1, "\2#11000000;", 2) and
3809        chkPutBitMsb("\2#01000000;", 2, 2#1, "\2#01100000;", 3) and
3810        chkPutBitMsb("\2#10000000;", 2, 2#1, "\2#10100000;", 3) and
3811        chkPutBitMsb("\2#01000000;", 3, 2#1, "\2#01010000;", 4) and
3812        chkPutBitMsb("\2#10100000;", 3, 2#1, "\2#10110000;", 4) and
3813        chkPutBitMsb("\2#01010000;", 4, 2#1, "\2#01011000;", 5) and
3814        chkPutBitMsb("\2#10110000;", 4, 2#1, "\2#10111000;", 5) and
3815        chkPutBitMsb("\2#01011000;", 5, 2#1, "\2#01011100;", 6) and
3816        chkPutBitMsb("\2#10011000;", 5, 2#1, "\2#10011100;", 6) and
3817        chkPutBitMsb("\2#01001100;", 6, 2#1, "\2#01001110;", 7) and
3818        chkPutBitMsb("\2#11010100;", 6, 2#1, "\2#11010110;", 7) and
3819        chkPutBitMsb("\2#01101010;", 7, 2#1, "\2#01101011;", 0) and
3820        chkPutBitMsb("\2#10110010;", 7, 2#1, "\2#10110011;", 0) then
3821      writeln("putBitMsb works correct.");
3822    end if;
3823  end func;
3824
3825
3826const func boolean: chkPutBitsMsb (in string: stri, in integer: bitPos,
3827    in integer: bits, in integer: bitsToWrite, in string: striExpected,
3828    in integer: bitPosExpected) is func
3829  result
3830    var boolean: okay is TRUE;
3831  local
3832    var string: striVar is "";
3833    var integer: bitPosVar is 0;
3834    var file: testFile is STD_NULL;
3835  begin
3836    striVar := stri;
3837    bitPosVar := bitPos;
3838    putBitsMsb(striVar, bitPosVar, bits, bitsToWrite);
3839    if striVar <> striExpected or bitPosVar <> bitPosExpected then
3840      okay := FALSE;
3841      write("putBitsMsb(\"");
3842      if length(stri) >= 1 then
3843        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
3844      end if;
3845      writeln("\", " <& bitPos <& ", " <& bits radix 2 <& ", " <& bitsToWrite <& ")");
3846      if striVar <> striExpected  then
3847        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
3848      end if;
3849      if bitPosVar <> bitPosExpected then
3850        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
3851      end if;
3852    end if;
3853    if bitPos = 0 then
3854      testFile := openStriFile(stri);
3855      testFile.bufferChar := '\0;';
3856    else
3857      testFile := openStriFile(stri[.. pred(length(stri))]);
3858      testFile.bufferChar := stri[length(stri)];
3859    end if;
3860    bitPosVar := bitPos;
3861    putBitsMsb(testFile, bitPosVar, bits, bitsToWrite);
3862    seek(testFile, 1);
3863    striVar := gets(testFile, length(testFile));
3864    if bitPosVar <> 0 then
3865      striVar &:= testFile.bufferChar;
3866    end if;
3867    if striVar <> striExpected or bitPosVar <> bitPosExpected or (bitPosVar = 0 and testFile.bufferChar <> '\0;') then
3868      okay := FALSE;
3869      write("\"");
3870      if length(stri) >= 1 then
3871        write("\\2#" <& ord(stri[length(stri)]) radix 2 <& ";");
3872      end if;
3873      writeln("\": putBitsMsb(testFile, " <& bitPos <& ", " <& bits radix 2 <& ", " <& bitsToWrite <& ")");
3874      if striVar <> striExpected  then
3875        writeln(" ***** Expected " <& literal(striExpected) <& " found " <& literal(striVar));
3876      end if;
3877      if bitPosVar <> bitPosExpected then
3878        writeln(" ***** Expected bitPos " <& bitPosExpected <& " found " <& bitPosVar);
3879      end if;
3880      if bitPosVar = 0 and testFile.bufferChar <> '\0;' then
3881        writeln(" ***** Expected bufferChar to be '\\0;' if bitPos is 0. Found '\\" <& ord(testFile.bufferChar) <& ";'");
3882      end if;
3883    end if;
3884  end func;
3885
3886
3887const proc: chkPutBitsMsb is func
3888  begin
3889    if  chkPutBitsMsb(            "", 0,                     2#0,  1, "\2#00000000;", 1) and
3890        chkPutBitsMsb("\2#00000000;", 1,                     2#0,  1, "\2#00000000;", 2) and
3891        chkPutBitsMsb("\2#10000000;", 1,                     2#0,  1, "\2#10000000;", 2) and
3892        chkPutBitsMsb("\2#01000000;", 2,                     2#0,  1, "\2#01000000;", 3) and
3893        chkPutBitsMsb("\2#10000000;", 2,                     2#0,  1, "\2#10000000;", 3) and
3894        chkPutBitsMsb("\2#01000000;", 3,                     2#0,  1, "\2#01000000;", 4) and
3895        chkPutBitsMsb("\2#10100000;", 3,                     2#0,  1, "\2#10100000;", 4) and
3896        chkPutBitsMsb("\2#01010000;", 4,                     2#0,  1, "\2#01010000;", 5) and
3897        chkPutBitsMsb("\2#10110000;", 4,                     2#0,  1, "\2#10110000;", 5) and
3898        chkPutBitsMsb("\2#01011000;", 5,                     2#0,  1, "\2#01011000;", 6) and
3899        chkPutBitsMsb("\2#10011000;", 5,                     2#0,  1, "\2#10011000;", 6) and
3900        chkPutBitsMsb("\2#01001100;", 6,                     2#0,  1, "\2#01001100;", 7) and
3901        chkPutBitsMsb("\2#11010100;", 6,                     2#0,  1, "\2#11010100;", 7) and
3902        chkPutBitsMsb("\2#01101010;", 7,                     2#0,  1, "\2#01101010;", 0) and
3903        chkPutBitsMsb("\2#10110010;", 7,                     2#0,  1, "\2#10110010;", 0) and
3904        chkPutBitsMsb(            "", 0,                     2#1,  1, "\2#10000000;", 1) and
3905        chkPutBitsMsb("\2#00000000;", 1,                     2#1,  1, "\2#01000000;", 2) and
3906        chkPutBitsMsb("\2#10000000;", 1,                     2#1,  1, "\2#11000000;", 2) and
3907        chkPutBitsMsb("\2#01000000;", 2,                     2#1,  1, "\2#01100000;", 3) and
3908        chkPutBitsMsb("\2#10000000;", 2,                     2#1,  1, "\2#10100000;", 3) and
3909        chkPutBitsMsb("\2#01000000;", 3,                     2#1,  1, "\2#01010000;", 4) and
3910        chkPutBitsMsb("\2#10100000;", 3,                     2#1,  1, "\2#10110000;", 4) and
3911        chkPutBitsMsb("\2#01010000;", 4,                     2#1,  1, "\2#01011000;", 5) and
3912        chkPutBitsMsb("\2#10110000;", 4,                     2#1,  1, "\2#10111000;", 5) and
3913        chkPutBitsMsb("\2#01011000;", 5,                     2#1,  1, "\2#01011100;", 6) and
3914        chkPutBitsMsb("\2#10011000;", 5,                     2#1,  1, "\2#10011100;", 6) and
3915        chkPutBitsMsb("\2#01001100;", 6,                     2#1,  1, "\2#01001110;", 7) and
3916        chkPutBitsMsb("\2#11010100;", 6,                     2#1,  1, "\2#11010110;", 7) and
3917        chkPutBitsMsb("\2#01101010;", 7,                     2#1,  1, "\2#01101011;", 0) and
3918        chkPutBitsMsb("\2#10110010;", 7,                     2#1,  1, "\2#10110011;", 0) and
3919        chkPutBitsMsb(            "", 0,                    2#01,  2, "\2#01000000;", 2) and
3920        chkPutBitsMsb("\2#00000000;", 1,                    2#01,  2, "\2#00100000;", 3) and
3921        chkPutBitsMsb("\2#10000000;", 1,                    2#01,  2, "\2#10100000;", 3) and
3922        chkPutBitsMsb("\2#01000000;", 2,                    2#01,  2, "\2#01010000;", 4) and
3923        chkPutBitsMsb("\2#10000000;", 2,                    2#01,  2, "\2#10010000;", 4) and
3924        chkPutBitsMsb("\2#01000000;", 3,                    2#01,  2, "\2#01001000;", 5) and
3925        chkPutBitsMsb("\2#10100000;", 3,                    2#01,  2, "\2#10101000;", 5) and
3926        chkPutBitsMsb("\2#01010000;", 4,                    2#01,  2, "\2#01010100;", 6) and
3927        chkPutBitsMsb("\2#10110000;", 4,                    2#01,  2, "\2#10110100;", 6) and
3928        chkPutBitsMsb("\2#01011000;", 5,                    2#01,  2, "\2#01011010;", 7) and
3929        chkPutBitsMsb("\2#10011000;", 5,                    2#01,  2, "\2#10011010;", 7) and
3930        chkPutBitsMsb("\2#01001100;", 6,                    2#01,  2, "\2#01001101;", 0) and
3931        chkPutBitsMsb("\2#11010100;", 6,                    2#01,  2, "\2#11010101;", 0) and
3932        chkPutBitsMsb("\2#01101010;", 7,                    2#01,  2, "\2#01101010;\2#10000000;", 1) and
3933        chkPutBitsMsb("\2#10110010;", 7,                    2#01,  2, "\2#10110010;\2#10000000;", 1) and
3934        chkPutBitsMsb(            "", 0,                    2#10,  2, "\2#10000000;", 2) and
3935        chkPutBitsMsb("\2#00000000;", 1,                    2#10,  2, "\2#01000000;", 3) and
3936        chkPutBitsMsb("\2#10000000;", 1,                    2#10,  2, "\2#11000000;", 3) and
3937        chkPutBitsMsb("\2#01000000;", 2,                    2#10,  2, "\2#01100000;", 4) and
3938        chkPutBitsMsb("\2#10000000;", 2,                    2#10,  2, "\2#10100000;", 4) and
3939        chkPutBitsMsb("\2#01000000;", 3,                    2#10,  2, "\2#01010000;", 5) and
3940        chkPutBitsMsb("\2#10100000;", 3,                    2#10,  2, "\2#10110000;", 5) and
3941        chkPutBitsMsb("\2#01010000;", 4,                    2#10,  2, "\2#01011000;", 6) and
3942        chkPutBitsMsb("\2#10110000;", 4,                    2#10,  2, "\2#10111000;", 6) and
3943        chkPutBitsMsb("\2#01011000;", 5,                    2#10,  2, "\2#01011100;", 7) and
3944        chkPutBitsMsb("\2#10011000;", 5,                    2#10,  2, "\2#10011100;", 7) and
3945        chkPutBitsMsb("\2#01001100;", 6,                    2#10,  2, "\2#01001110;", 0) and
3946        chkPutBitsMsb("\2#11010100;", 6,                    2#10,  2, "\2#11010110;", 0) and
3947        chkPutBitsMsb("\2#01101010;", 7,                    2#10,  2, "\2#01101011;\2#00000000;", 1) and
3948        chkPutBitsMsb("\2#10110010;", 7,                    2#10,  2, "\2#10110011;\2#00000000;", 1) and
3949        chkPutBitsMsb(            "", 0,                   2#010,  3, "\2#01000000;", 3) and
3950        chkPutBitsMsb("\2#00000000;", 1,                   2#010,  3, "\2#00100000;", 4) and
3951        chkPutBitsMsb("\2#10000000;", 1,                   2#010,  3, "\2#10100000;", 4) and
3952        chkPutBitsMsb("\2#01000000;", 2,                   2#010,  3, "\2#01010000;", 5) and
3953        chkPutBitsMsb("\2#10000000;", 2,                   2#010,  3, "\2#10010000;", 5) and
3954        chkPutBitsMsb("\2#01000000;", 3,                   2#010,  3, "\2#01001000;", 6) and
3955        chkPutBitsMsb("\2#10100000;", 3,                   2#010,  3, "\2#10101000;", 6) and
3956        chkPutBitsMsb("\2#01010000;", 4,                   2#010,  3, "\2#01010100;", 7) and
3957        chkPutBitsMsb("\2#10110000;", 4,                   2#010,  3, "\2#10110100;", 7) and
3958        chkPutBitsMsb("\2#01011000;", 5,                   2#010,  3, "\2#01011010;", 0) and
3959        chkPutBitsMsb("\2#10011000;", 5,                   2#010,  3, "\2#10011010;", 0) and
3960        chkPutBitsMsb("\2#01001100;", 6,                   2#010,  3, "\2#01001101;\2#00000000;", 1) and
3961        chkPutBitsMsb("\2#11010100;", 6,                   2#010,  3, "\2#11010101;\2#00000000;", 1) and
3962        chkPutBitsMsb("\2#01101010;", 7,                   2#010,  3, "\2#01101010;\2#10000000;", 2) and
3963        chkPutBitsMsb("\2#10110010;", 7,                   2#010,  3, "\2#10110010;\2#10000000;", 2) and
3964        chkPutBitsMsb(            "", 0,                   2#101,  3, "\2#10100000;", 3) and
3965        chkPutBitsMsb("\2#00000000;", 1,                   2#101,  3, "\2#01010000;", 4) and
3966        chkPutBitsMsb("\2#10000000;", 1,                   2#101,  3, "\2#11010000;", 4) and
3967        chkPutBitsMsb("\2#01000000;", 2,                   2#101,  3, "\2#01101000;", 5) and
3968        chkPutBitsMsb("\2#10000000;", 2,                   2#101,  3, "\2#10101000;", 5) and
3969        chkPutBitsMsb("\2#01000000;", 3,                   2#101,  3, "\2#01010100;", 6) and
3970        chkPutBitsMsb("\2#10100000;", 3,                   2#101,  3, "\2#10110100;", 6) and
3971        chkPutBitsMsb("\2#01010000;", 4,                   2#101,  3, "\2#01011010;", 7) and
3972        chkPutBitsMsb("\2#10110000;", 4,                   2#101,  3, "\2#10111010;", 7) and
3973        chkPutBitsMsb("\2#01011000;", 5,                   2#101,  3, "\2#01011101;", 0) and
3974        chkPutBitsMsb("\2#10011000;", 5,                   2#101,  3, "\2#10011101;", 0) and
3975        chkPutBitsMsb("\2#01001100;", 6,                   2#101,  3, "\2#01001110;\2#10000000;", 1) and
3976        chkPutBitsMsb("\2#11010100;", 6,                   2#101,  3, "\2#11010110;\2#10000000;", 1) and
3977        chkPutBitsMsb("\2#01101010;", 7,                   2#101,  3, "\2#01101011;\2#01000000;", 2) and
3978        chkPutBitsMsb("\2#10110010;", 7,                   2#101,  3, "\2#10110011;\2#01000000;", 2) and
3979        chkPutBitsMsb(            "", 0,                  2#0101,  4, "\2#01010000;", 4) and
3980        chkPutBitsMsb("\2#00000000;", 1,                  2#0101,  4, "\2#00101000;", 5) and
3981        chkPutBitsMsb("\2#10000000;", 1,                  2#0101,  4, "\2#10101000;", 5) and
3982        chkPutBitsMsb("\2#01000000;", 2,                  2#0101,  4, "\2#01010100;", 6) and
3983        chkPutBitsMsb("\2#10000000;", 2,                  2#0101,  4, "\2#10010100;", 6) and
3984        chkPutBitsMsb("\2#01000000;", 3,                  2#0101,  4, "\2#01001010;", 7) and
3985        chkPutBitsMsb("\2#10100000;", 3,                  2#0101,  4, "\2#10101010;", 7) and
3986        chkPutBitsMsb("\2#01010000;", 4,                  2#0101,  4, "\2#01010101;", 0) and
3987        chkPutBitsMsb("\2#10110000;", 4,                  2#0101,  4, "\2#10110101;", 0) and
3988        chkPutBitsMsb("\2#01011000;", 5,                  2#0101,  4, "\2#01011010;\2#10000000;", 1) and
3989        chkPutBitsMsb("\2#10011000;", 5,                  2#0101,  4, "\2#10011010;\2#10000000;", 1) and
3990        chkPutBitsMsb("\2#01001100;", 6,                  2#0101,  4, "\2#01001101;\2#01000000;", 2) and
3991        chkPutBitsMsb("\2#11010100;", 6,                  2#0101,  4, "\2#11010101;\2#01000000;", 2) and
3992        chkPutBitsMsb("\2#01101010;", 7,                  2#0101,  4, "\2#01101010;\2#10100000;", 3) and
3993        chkPutBitsMsb("\2#10110010;", 7,                  2#0101,  4, "\2#10110010;\2#10100000;", 3) and
3994        chkPutBitsMsb(            "", 0,                  2#1011,  4, "\2#10110000;", 4) and
3995        chkPutBitsMsb("\2#00000000;", 1,                  2#1011,  4, "\2#01011000;", 5) and
3996        chkPutBitsMsb("\2#10000000;", 1,                  2#1011,  4, "\2#11011000;", 5) and
3997        chkPutBitsMsb("\2#01000000;", 2,                  2#1011,  4, "\2#01101100;", 6) and
3998        chkPutBitsMsb("\2#10000000;", 2,                  2#1011,  4, "\2#10101100;", 6) and
3999        chkPutBitsMsb("\2#01000000;", 3,                  2#1011,  4, "\2#01010110;", 7) and
4000        chkPutBitsMsb("\2#10100000;", 3,                  2#1011,  4, "\2#10110110;", 7) and
4001        chkPutBitsMsb("\2#01010000;", 4,                  2#1011,  4, "\2#01011011;", 0) and
4002        chkPutBitsMsb("\2#10110000;", 4,                  2#1011,  4, "\2#10111011;", 0) and
4003        chkPutBitsMsb("\2#01011000;", 5,                  2#1011,  4, "\2#01011101;\2#10000000;", 1) and
4004        chkPutBitsMsb("\2#10011000;", 5,                  2#1011,  4, "\2#10011101;\2#10000000;", 1) and
4005        chkPutBitsMsb("\2#01001100;", 6,                  2#1011,  4, "\2#01001110;\2#11000000;", 2) and
4006        chkPutBitsMsb("\2#11010100;", 6,                  2#1011,  4, "\2#11010110;\2#11000000;", 2) and
4007        chkPutBitsMsb("\2#01101010;", 7,                  2#1011,  4, "\2#01101011;\2#01100000;", 3) and
4008        chkPutBitsMsb("\2#10110010;", 7,                  2#1011,  4, "\2#10110011;\2#01100000;", 3) and
4009        chkPutBitsMsb(            "", 0,                 2#01011,  5, "\2#01011000;", 5) and
4010        chkPutBitsMsb("\2#00000000;", 1,                 2#01011,  5, "\2#00101100;", 6) and
4011        chkPutBitsMsb("\2#10000000;", 1,                 2#01011,  5, "\2#10101100;", 6) and
4012        chkPutBitsMsb("\2#01000000;", 2,                 2#01011,  5, "\2#01010110;", 7) and
4013        chkPutBitsMsb("\2#10000000;", 2,                 2#01011,  5, "\2#10010110;", 7) and
4014        chkPutBitsMsb("\2#01000000;", 3,                 2#01011,  5, "\2#01001011;", 0) and
4015        chkPutBitsMsb("\2#10100000;", 3,                 2#01011,  5, "\2#10101011;", 0) and
4016        chkPutBitsMsb("\2#01010000;", 4,                 2#01011,  5, "\2#01010101;\2#10000000;", 1) and
4017        chkPutBitsMsb("\2#10110000;", 4,                 2#01011,  5, "\2#10110101;\2#10000000;", 1) and
4018        chkPutBitsMsb("\2#01011000;", 5,                 2#01011,  5, "\2#01011010;\2#11000000;", 2) and
4019        chkPutBitsMsb("\2#10011000;", 5,                 2#01011,  5, "\2#10011010;\2#11000000;", 2) and
4020        chkPutBitsMsb("\2#01001100;", 6,                 2#01011,  5, "\2#01001101;\2#01100000;", 3) and
4021        chkPutBitsMsb("\2#11010100;", 6,                 2#01011,  5, "\2#11010101;\2#01100000;", 3) and
4022        chkPutBitsMsb("\2#01101010;", 7,                 2#01011,  5, "\2#01101010;\2#10110000;", 4) and
4023        chkPutBitsMsb("\2#10110010;", 7,                 2#01011,  5, "\2#10110010;\2#10110000;", 4) and
4024        chkPutBitsMsb(            "", 0,                 2#10011,  5, "\2#10011000;", 5) and
4025        chkPutBitsMsb("\2#00000000;", 1,                 2#10011,  5, "\2#01001100;", 6) and
4026        chkPutBitsMsb("\2#10000000;", 1,                 2#10011,  5, "\2#11001100;", 6) and
4027        chkPutBitsMsb("\2#01000000;", 2,                 2#10011,  5, "\2#01100110;", 7) and
4028        chkPutBitsMsb("\2#10000000;", 2,                 2#10011,  5, "\2#10100110;", 7) and
4029        chkPutBitsMsb("\2#01000000;", 3,                 2#10011,  5, "\2#01010011;", 0) and
4030        chkPutBitsMsb("\2#10100000;", 3,                 2#10011,  5, "\2#10110011;", 0) and
4031        chkPutBitsMsb("\2#01010000;", 4,                 2#10011,  5, "\2#01011001;\2#10000000;", 1) and
4032        chkPutBitsMsb("\2#10110000;", 4,                 2#10011,  5, "\2#10111001;\2#10000000;", 1) and
4033        chkPutBitsMsb("\2#01011000;", 5,                 2#10011,  5, "\2#01011100;\2#11000000;", 2) and
4034        chkPutBitsMsb("\2#10011000;", 5,                 2#10011,  5, "\2#10011100;\2#11000000;", 2) and
4035        chkPutBitsMsb("\2#01001100;", 6,                 2#10011,  5, "\2#01001110;\2#01100000;", 3) and
4036        chkPutBitsMsb("\2#11010100;", 6,                 2#10011,  5, "\2#11010110;\2#01100000;", 3) and
4037        chkPutBitsMsb("\2#01101010;", 7,                 2#10011,  5, "\2#01101011;\2#00110000;", 4) and
4038        chkPutBitsMsb("\2#10110010;", 7,                 2#10011,  5, "\2#10110011;\2#00110000;", 4) and
4039        chkPutBitsMsb(            "", 0,                2#010011,  6, "\2#01001100;", 6) and
4040        chkPutBitsMsb("\2#00000000;", 1,                2#010011,  6, "\2#00100110;", 7) and
4041        chkPutBitsMsb("\2#10000000;", 1,                2#010011,  6, "\2#10100110;", 7) and
4042        chkPutBitsMsb("\2#01000000;", 2,                2#010011,  6, "\2#01010011;", 0) and
4043        chkPutBitsMsb("\2#10000000;", 2,                2#010011,  6, "\2#10010011;", 0) and
4044        chkPutBitsMsb("\2#01000000;", 3,                2#010011,  6, "\2#01001001;\2#10000000;", 1) and
4045        chkPutBitsMsb("\2#10100000;", 3,                2#010011,  6, "\2#10101001;\2#10000000;", 1) and
4046        chkPutBitsMsb("\2#01010000;", 4,                2#010011,  6, "\2#01010100;\2#11000000;", 2) and
4047        chkPutBitsMsb("\2#10110000;", 4,                2#010011,  6, "\2#10110100;\2#11000000;", 2) and
4048        chkPutBitsMsb("\2#01011000;", 5,                2#010011,  6, "\2#01011010;\2#01100000;", 3) and
4049        chkPutBitsMsb("\2#10011000;", 5,                2#010011,  6, "\2#10011010;\2#01100000;", 3) and
4050        chkPutBitsMsb("\2#01001100;", 6,                2#010011,  6, "\2#01001101;\2#00110000;", 4) and
4051        chkPutBitsMsb("\2#11010100;", 6,                2#010011,  6, "\2#11010101;\2#00110000;", 4) and
4052        chkPutBitsMsb("\2#01101010;", 7,                2#010011,  6, "\2#01101010;\2#10011000;", 5) and
4053        chkPutBitsMsb("\2#10110010;", 7,                2#010011,  6, "\2#10110010;\2#10011000;", 5) and
4054        chkPutBitsMsb(            "", 0,                2#110101,  6, "\2#11010100;", 6) and
4055        chkPutBitsMsb("\2#00000000;", 1,                2#110101,  6, "\2#01101010;", 7) and
4056        chkPutBitsMsb("\2#10000000;", 1,                2#110101,  6, "\2#11101010;", 7) and
4057        chkPutBitsMsb("\2#01000000;", 2,                2#110101,  6, "\2#01110101;", 0) and
4058        chkPutBitsMsb("\2#10000000;", 2,                2#110101,  6, "\2#10110101;", 0) and
4059        chkPutBitsMsb("\2#01000000;", 3,                2#110101,  6, "\2#01011010;\2#10000000;", 1) and
4060        chkPutBitsMsb("\2#10100000;", 3,                2#110101,  6, "\2#10111010;\2#10000000;", 1) and
4061        chkPutBitsMsb("\2#01010000;", 4,                2#110101,  6, "\2#01011101;\2#01000000;", 2) and
4062        chkPutBitsMsb("\2#10110000;", 4,                2#110101,  6, "\2#10111101;\2#01000000;", 2) and
4063        chkPutBitsMsb("\2#01011000;", 5,                2#110101,  6, "\2#01011110;\2#10100000;", 3) and
4064        chkPutBitsMsb("\2#10011000;", 5,                2#110101,  6, "\2#10011110;\2#10100000;", 3) and
4065        chkPutBitsMsb("\2#01001100;", 6,                2#110101,  6, "\2#01001111;\2#01010000;", 4) and
4066        chkPutBitsMsb("\2#11010100;", 6,                2#110101,  6, "\2#11010111;\2#01010000;", 4) and
4067        chkPutBitsMsb("\2#01101010;", 7,                2#110101,  6, "\2#01101011;\2#10101000;", 5) and
4068        chkPutBitsMsb("\2#10110010;", 7,                2#110101,  6, "\2#10110011;\2#10101000;", 5) and
4069        chkPutBitsMsb(            "", 0,               2#0110101,  7, "\2#01101010;", 7) and
4070        chkPutBitsMsb("\2#00000000;", 1,               2#0110101,  7, "\2#00110101;", 0) and
4071        chkPutBitsMsb("\2#10000000;", 1,               2#0110101,  7, "\2#10110101;", 0) and
4072        chkPutBitsMsb("\2#01000000;", 2,               2#0110101,  7, "\2#01011010;\2#10000000;", 1) and
4073        chkPutBitsMsb("\2#10000000;", 2,               2#0110101,  7, "\2#10011010;\2#10000000;", 1) and
4074        chkPutBitsMsb("\2#01000000;", 3,               2#0110101,  7, "\2#01001101;\2#01000000;", 2) and
4075        chkPutBitsMsb("\2#10100000;", 3,               2#0110101,  7, "\2#10101101;\2#01000000;", 2) and
4076        chkPutBitsMsb("\2#01010000;", 4,               2#0110101,  7, "\2#01010110;\2#10100000;", 3) and
4077        chkPutBitsMsb("\2#10110000;", 4,               2#0110101,  7, "\2#10110110;\2#10100000;", 3) and
4078        chkPutBitsMsb("\2#01011000;", 5,               2#0110101,  7, "\2#01011011;\2#01010000;", 4) and
4079        chkPutBitsMsb("\2#10011000;", 5,               2#0110101,  7, "\2#10011011;\2#01010000;", 4) and
4080        chkPutBitsMsb("\2#01001100;", 6,               2#0110101,  7, "\2#01001101;\2#10101000;", 5) and
4081        chkPutBitsMsb("\2#11010100;", 6,               2#0110101,  7, "\2#11010101;\2#10101000;", 5) and
4082        chkPutBitsMsb("\2#01101010;", 7,               2#0110101,  7, "\2#01101010;\2#11010100;", 6) and
4083        chkPutBitsMsb("\2#10110010;", 7,               2#0110101,  7, "\2#10110010;\2#11010100;", 6) and
4084        chkPutBitsMsb(            "", 0,               2#1011001,  7, "\2#10110010;", 7) and
4085        chkPutBitsMsb("\2#00000000;", 1,               2#1011001,  7, "\2#01011001;", 0) and
4086        chkPutBitsMsb("\2#10000000;", 1,               2#1011001,  7, "\2#11011001;", 0) and
4087        chkPutBitsMsb("\2#01000000;", 2,               2#1011001,  7, "\2#01101100;\2#10000000;", 1) and
4088        chkPutBitsMsb("\2#10000000;", 2,               2#1011001,  7, "\2#10101100;\2#10000000;", 1) and
4089        chkPutBitsMsb("\2#01000000;", 3,               2#1011001,  7, "\2#01010110;\2#01000000;", 2) and
4090        chkPutBitsMsb("\2#10100000;", 3,               2#1011001,  7, "\2#10110110;\2#01000000;", 2) and
4091        chkPutBitsMsb("\2#01010000;", 4,               2#1011001,  7, "\2#01011011;\2#00100000;", 3) and
4092        chkPutBitsMsb("\2#10110000;", 4,               2#1011001,  7, "\2#10111011;\2#00100000;", 3) and
4093        chkPutBitsMsb("\2#01011000;", 5,               2#1011001,  7, "\2#01011101;\2#10010000;", 4) and
4094        chkPutBitsMsb("\2#10011000;", 5,               2#1011001,  7, "\2#10011101;\2#10010000;", 4) and
4095        chkPutBitsMsb("\2#01001100;", 6,               2#1011001,  7, "\2#01001110;\2#11001000;", 5) and
4096        chkPutBitsMsb("\2#11010100;", 6,               2#1011001,  7, "\2#11010110;\2#11001000;", 5) and
4097        chkPutBitsMsb("\2#01101010;", 7,               2#1011001,  7, "\2#01101011;\2#01100100;", 6) and
4098        chkPutBitsMsb("\2#10110010;", 7,               2#1011001,  7, "\2#10110011;\2#01100100;", 6) and
4099        chkPutBitsMsb(            "", 0,              2#01011001,  8, "\2#01011001;", 0) and
4100        chkPutBitsMsb("\2#00000000;", 1,              2#01011001,  8, "\2#00101100;\2#10000000;", 1) and
4101        chkPutBitsMsb("\2#10000000;", 1,              2#01011001,  8, "\2#10101100;\2#10000000;", 1) and
4102        chkPutBitsMsb("\2#01000000;", 2,              2#01011001,  8, "\2#01010110;\2#01000000;", 2) and
4103        chkPutBitsMsb("\2#10000000;", 2,              2#01011001,  8, "\2#10010110;\2#01000000;", 2) and
4104        chkPutBitsMsb("\2#01000000;", 3,              2#01011001,  8, "\2#01001011;\2#00100000;", 3) and
4105        chkPutBitsMsb("\2#10100000;", 3,              2#01011001,  8, "\2#10101011;\2#00100000;", 3) and
4106        chkPutBitsMsb("\2#01010000;", 4,              2#01011001,  8, "\2#01010101;\2#10010000;", 4) and
4107        chkPutBitsMsb("\2#10110000;", 4,              2#01011001,  8, "\2#10110101;\2#10010000;", 4) and
4108        chkPutBitsMsb("\2#01011000;", 5,              2#01011001,  8, "\2#01011010;\2#11001000;", 5) and
4109        chkPutBitsMsb("\2#10011000;", 5,              2#01011001,  8, "\2#10011010;\2#11001000;", 5) and
4110        chkPutBitsMsb("\2#01001100;", 6,              2#01011001,  8, "\2#01001101;\2#01100100;", 6) and
4111        chkPutBitsMsb("\2#11010100;", 6,              2#01011001,  8, "\2#11010101;\2#01100100;", 6) and
4112        chkPutBitsMsb("\2#01101010;", 7,              2#01011001,  8, "\2#01101010;\2#10110010;", 7) and
4113        chkPutBitsMsb("\2#10110010;", 7,              2#01011001,  8, "\2#10110010;\2#10110010;", 7) and
4114        chkPutBitsMsb(            "", 0,              2#10100011,  8, "\2#10100011;", 0) and
4115        chkPutBitsMsb("\2#00000000;", 1,              2#10100011,  8, "\2#01010001;\2#10000000;", 1) and
4116        chkPutBitsMsb("\2#10000000;", 1,              2#10100011,  8, "\2#11010001;\2#10000000;", 1) and
4117        chkPutBitsMsb("\2#01000000;", 2,              2#10100011,  8, "\2#01101000;\2#11000000;", 2) and
4118        chkPutBitsMsb("\2#10000000;", 2,              2#10100011,  8, "\2#10101000;\2#11000000;", 2) and
4119        chkPutBitsMsb("\2#01000000;", 3,              2#10100011,  8, "\2#01010100;\2#01100000;", 3) and
4120        chkPutBitsMsb("\2#10100000;", 3,              2#10100011,  8, "\2#10110100;\2#01100000;", 3) and
4121        chkPutBitsMsb("\2#01010000;", 4,              2#10100011,  8, "\2#01011010;\2#00110000;", 4) and
4122        chkPutBitsMsb("\2#10110000;", 4,              2#10100011,  8, "\2#10111010;\2#00110000;", 4) and
4123        chkPutBitsMsb("\2#01011000;", 5,              2#10100011,  8, "\2#01011101;\2#00011000;", 5) and
4124        chkPutBitsMsb("\2#10011000;", 5,              2#10100011,  8, "\2#10011101;\2#00011000;", 5) and
4125        chkPutBitsMsb("\2#01001100;", 6,              2#10100011,  8, "\2#01001110;\2#10001100;", 6) and
4126        chkPutBitsMsb("\2#11010100;", 6,              2#10100011,  8, "\2#11010110;\2#10001100;", 6) and
4127        chkPutBitsMsb("\2#01101010;", 7,              2#10100011,  8, "\2#01101011;\2#01000110;", 7) and
4128        chkPutBitsMsb("\2#10110010;", 7,              2#10100011,  8, "\2#10110011;\2#01000110;", 7) and
4129        chkPutBitsMsb(            "", 0,             2#010100011,  9, "\2#01010001;\2#10000000;", 1) and
4130        chkPutBitsMsb("\2#00000000;", 1,             2#010100011,  9, "\2#00101000;\2#11000000;", 2) and
4131        chkPutBitsMsb("\2#10000000;", 1,             2#010100011,  9, "\2#10101000;\2#11000000;", 2) and
4132        chkPutBitsMsb("\2#01000000;", 2,             2#010100011,  9, "\2#01010100;\2#01100000;", 3) and
4133        chkPutBitsMsb("\2#10000000;", 2,             2#010100011,  9, "\2#10010100;\2#01100000;", 3) and
4134        chkPutBitsMsb("\2#01000000;", 3,             2#010100011,  9, "\2#01001010;\2#00110000;", 4) and
4135        chkPutBitsMsb("\2#10100000;", 3,             2#010100011,  9, "\2#10101010;\2#00110000;", 4) and
4136        chkPutBitsMsb("\2#01010000;", 4,             2#010100011,  9, "\2#01010101;\2#00011000;", 5) and
4137        chkPutBitsMsb("\2#10110000;", 4,             2#010100011,  9, "\2#10110101;\2#00011000;", 5) and
4138        chkPutBitsMsb("\2#01011000;", 5,             2#010100011,  9, "\2#01011010;\2#10001100;", 6) and
4139        chkPutBitsMsb("\2#10011000;", 5,             2#010100011,  9, "\2#10011010;\2#10001100;", 6) and
4140        chkPutBitsMsb("\2#01001100;", 6,             2#010100011,  9, "\2#01001101;\2#01000110;", 7) and
4141        chkPutBitsMsb("\2#11010100;", 6,             2#010100011,  9, "\2#11010101;\2#01000110;", 7) and
4142        chkPutBitsMsb("\2#01101010;", 7,             2#010100011,  9, "\2#01101010;\2#10100011;", 0) and
4143        chkPutBitsMsb("\2#10110010;", 7,             2#010100011,  9, "\2#10110010;\2#10100011;", 0) and
4144        chkPutBitsMsb(            "", 0,             2#110110111,  9, "\2#11011011;\2#10000000;", 1) and
4145        chkPutBitsMsb("\2#00000000;", 1,             2#110110111,  9, "\2#01101101;\2#11000000;", 2) and
4146        chkPutBitsMsb("\2#10000000;", 1,             2#110110111,  9, "\2#11101101;\2#11000000;", 2) and
4147        chkPutBitsMsb("\2#01000000;", 2,             2#110110111,  9, "\2#01110110;\2#11100000;", 3) and
4148        chkPutBitsMsb("\2#10000000;", 2,             2#110110111,  9, "\2#10110110;\2#11100000;", 3) and
4149        chkPutBitsMsb("\2#01000000;", 3,             2#110110111,  9, "\2#01011011;\2#01110000;", 4) and
4150        chkPutBitsMsb("\2#10100000;", 3,             2#110110111,  9, "\2#10111011;\2#01110000;", 4) and
4151        chkPutBitsMsb("\2#01010000;", 4,             2#110110111,  9, "\2#01011101;\2#10111000;", 5) and
4152        chkPutBitsMsb("\2#10110000;", 4,             2#110110111,  9, "\2#10111101;\2#10111000;", 5) and
4153        chkPutBitsMsb("\2#01011000;", 5,             2#110110111,  9, "\2#01011110;\2#11011100;", 6) and
4154        chkPutBitsMsb("\2#10011000;", 5,             2#110110111,  9, "\2#10011110;\2#11011100;", 6) and
4155        chkPutBitsMsb("\2#01001100;", 6,             2#110110111,  9, "\2#01001111;\2#01101110;", 7) and
4156        chkPutBitsMsb("\2#11010100;", 6,             2#110110111,  9, "\2#11010111;\2#01101110;", 7) and
4157        chkPutBitsMsb("\2#01101010;", 7,             2#110110111,  9, "\2#01101011;\2#10110111;", 0) and
4158        chkPutBitsMsb("\2#10110010;", 7,             2#110110111,  9, "\2#10110011;\2#10110111;", 0) and
4159        chkPutBitsMsb(            "", 0,            2#0110110111, 10, "\2#01101101;\2#11000000;", 2) and
4160        chkPutBitsMsb("\2#00000000;", 1,            2#0110110111, 10, "\2#00110110;\2#11100000;", 3) and
4161        chkPutBitsMsb("\2#10000000;", 1,            2#0110110111, 10, "\2#10110110;\2#11100000;", 3) and
4162        chkPutBitsMsb("\2#01000000;", 2,            2#0110110111, 10, "\2#01011011;\2#01110000;", 4) and
4163        chkPutBitsMsb("\2#10000000;", 2,            2#0110110111, 10, "\2#10011011;\2#01110000;", 4) and
4164        chkPutBitsMsb("\2#01000000;", 3,            2#0110110111, 10, "\2#01001101;\2#10111000;", 5) and
4165        chkPutBitsMsb("\2#10100000;", 3,            2#0110110111, 10, "\2#10101101;\2#10111000;", 5) and
4166        chkPutBitsMsb("\2#01010000;", 4,            2#0110110111, 10, "\2#01010110;\2#11011100;", 6) and
4167        chkPutBitsMsb("\2#10110000;", 4,            2#0110110111, 10, "\2#10110110;\2#11011100;", 6) and
4168        chkPutBitsMsb("\2#01011000;", 5,            2#0110110111, 10, "\2#01011011;\2#01101110;", 7) and
4169        chkPutBitsMsb("\2#10011000;", 5,            2#0110110111, 10, "\2#10011011;\2#01101110;", 7) and
4170        chkPutBitsMsb("\2#01001100;", 6,            2#0110110111, 10, "\2#01001101;\2#10110111;", 0) and
4171        chkPutBitsMsb("\2#11010100;", 6,            2#0110110111, 10, "\2#11010101;\2#10110111;", 0) and
4172        chkPutBitsMsb("\2#01101010;", 7,            2#0110110111, 10, "\2#01101010;\2#11011011;\2#10000000;", 1) and
4173        chkPutBitsMsb("\2#10110010;", 7,            2#0110110111, 10, "\2#10110010;\2#11011011;\2#10000000;", 1) and
4174        chkPutBitsMsb(            "", 0,            2#1100010011, 10, "\2#11000100;\2#11000000;", 2) and
4175        chkPutBitsMsb("\2#00000000;", 1,            2#1100010011, 10, "\2#01100010;\2#01100000;", 3) and
4176        chkPutBitsMsb("\2#10000000;", 1,            2#1100010011, 10, "\2#11100010;\2#01100000;", 3) and
4177        chkPutBitsMsb("\2#01000000;", 2,            2#1100010011, 10, "\2#01110001;\2#00110000;", 4) and
4178        chkPutBitsMsb("\2#10000000;", 2,            2#1100010011, 10, "\2#10110001;\2#00110000;", 4) and
4179        chkPutBitsMsb("\2#01000000;", 3,            2#1100010011, 10, "\2#01011000;\2#10011000;", 5) and
4180        chkPutBitsMsb("\2#10100000;", 3,            2#1100010011, 10, "\2#10111000;\2#10011000;", 5) and
4181        chkPutBitsMsb("\2#01010000;", 4,            2#1100010011, 10, "\2#01011100;\2#01001100;", 6) and
4182        chkPutBitsMsb("\2#10110000;", 4,            2#1100010011, 10, "\2#10111100;\2#01001100;", 6) and
4183        chkPutBitsMsb("\2#01011000;", 5,            2#1100010011, 10, "\2#01011110;\2#00100110;", 7) and
4184        chkPutBitsMsb("\2#10011000;", 5,            2#1100010011, 10, "\2#10011110;\2#00100110;", 7) and
4185        chkPutBitsMsb("\2#01001100;", 6,            2#1100010011, 10, "\2#01001111;\2#00010011;", 0) and
4186        chkPutBitsMsb("\2#11010100;", 6,            2#1100010011, 10, "\2#11010111;\2#00010011;", 0) and
4187        chkPutBitsMsb("\2#01101010;", 7,            2#1100010011, 10, "\2#01101011;\2#10001001;\2#10000000;", 1) and
4188        chkPutBitsMsb("\2#10110010;", 7,            2#1100010011, 10, "\2#10110011;\2#10001001;\2#10000000;", 1) and
4189        chkPutBitsMsb(            "", 0,           2#01100010011, 11, "\2#01100010;\2#01100000;", 3) and
4190        chkPutBitsMsb("\2#00000000;", 1,           2#01100010011, 11, "\2#00110001;\2#00110000;", 4) and
4191        chkPutBitsMsb("\2#10000000;", 1,           2#01100010011, 11, "\2#10110001;\2#00110000;", 4) and
4192        chkPutBitsMsb("\2#01000000;", 2,           2#01100010011, 11, "\2#01011000;\2#10011000;", 5) and
4193        chkPutBitsMsb("\2#10000000;", 2,           2#01100010011, 11, "\2#10011000;\2#10011000;", 5) and
4194        chkPutBitsMsb("\2#01000000;", 3,           2#01100010011, 11, "\2#01001100;\2#01001100;", 6) and
4195        chkPutBitsMsb("\2#10100000;", 3,           2#01100010011, 11, "\2#10101100;\2#01001100;", 6) and
4196        chkPutBitsMsb("\2#01010000;", 4,           2#01100010011, 11, "\2#01010110;\2#00100110;", 7) and
4197        chkPutBitsMsb("\2#10110000;", 4,           2#01100010011, 11, "\2#10110110;\2#00100110;", 7) and
4198        chkPutBitsMsb("\2#01011000;", 5,           2#01100010011, 11, "\2#01011011;\2#00010011;", 0) and
4199        chkPutBitsMsb("\2#10011000;", 5,           2#01100010011, 11, "\2#10011011;\2#00010011;", 0) and
4200        chkPutBitsMsb("\2#01001100;", 6,           2#01100010011, 11, "\2#01001101;\2#10001001;\2#10000000;", 1) and
4201        chkPutBitsMsb("\2#11010100;", 6,           2#01100010011, 11, "\2#11010101;\2#10001001;\2#10000000;", 1) and
4202        chkPutBitsMsb("\2#01101010;", 7,           2#01100010011, 11, "\2#01101010;\2#11000100;\2#11000000;", 2) and
4203        chkPutBitsMsb("\2#10110010;", 7,           2#01100010011, 11, "\2#10110010;\2#11000100;\2#11000000;", 2) and
4204        chkPutBitsMsb(            "", 0,           2#10110100111, 11, "\2#10110100;\2#11100000;", 3) and
4205        chkPutBitsMsb("\2#00000000;", 1,           2#10110100111, 11, "\2#01011010;\2#01110000;", 4) and
4206        chkPutBitsMsb("\2#10000000;", 1,           2#10110100111, 11, "\2#11011010;\2#01110000;", 4) and
4207        chkPutBitsMsb("\2#01000000;", 2,           2#10110100111, 11, "\2#01101101;\2#00111000;", 5) and
4208        chkPutBitsMsb("\2#10000000;", 2,           2#10110100111, 11, "\2#10101101;\2#00111000;", 5) and
4209        chkPutBitsMsb("\2#01000000;", 3,           2#10110100111, 11, "\2#01010110;\2#10011100;", 6) and
4210        chkPutBitsMsb("\2#10100000;", 3,           2#10110100111, 11, "\2#10110110;\2#10011100;", 6) and
4211        chkPutBitsMsb("\2#01010000;", 4,           2#10110100111, 11, "\2#01011011;\2#01001110;", 7) and
4212        chkPutBitsMsb("\2#10110000;", 4,           2#10110100111, 11, "\2#10111011;\2#01001110;", 7) and
4213        chkPutBitsMsb("\2#01011000;", 5,           2#10110100111, 11, "\2#01011101;\2#10100111;", 0) and
4214        chkPutBitsMsb("\2#10011000;", 5,           2#10110100111, 11, "\2#10011101;\2#10100111;", 0) and
4215        chkPutBitsMsb("\2#01001100;", 6,           2#10110100111, 11, "\2#01001110;\2#11010011;\2#10000000;", 1) and
4216        chkPutBitsMsb("\2#11010100;", 6,           2#10110100111, 11, "\2#11010110;\2#11010011;\2#10000000;", 1) and
4217        chkPutBitsMsb("\2#01101010;", 7,           2#10110100111, 11, "\2#01101011;\2#01101001;\2#11000000;", 2) and
4218        chkPutBitsMsb("\2#10110010;", 7,           2#10110100111, 11, "\2#10110011;\2#01101001;\2#11000000;", 2) and
4219        chkPutBitsMsb(            "", 0,          2#010110100111, 12, "\2#01011010;\2#01110000;", 4) and
4220        chkPutBitsMsb("\2#00000000;", 1,          2#010110100111, 12, "\2#00101101;\2#00111000;", 5) and
4221        chkPutBitsMsb("\2#10000000;", 1,          2#010110100111, 12, "\2#10101101;\2#00111000;", 5) and
4222        chkPutBitsMsb("\2#01000000;", 2,          2#010110100111, 12, "\2#01010110;\2#10011100;", 6) and
4223        chkPutBitsMsb("\2#10000000;", 2,          2#010110100111, 12, "\2#10010110;\2#10011100;", 6) and
4224        chkPutBitsMsb("\2#01000000;", 3,          2#010110100111, 12, "\2#01001011;\2#01001110;", 7) and
4225        chkPutBitsMsb("\2#10100000;", 3,          2#010110100111, 12, "\2#10101011;\2#01001110;", 7) and
4226        chkPutBitsMsb("\2#01010000;", 4,          2#010110100111, 12, "\2#01010101;\2#10100111;", 0) and
4227        chkPutBitsMsb("\2#10110000;", 4,          2#010110100111, 12, "\2#10110101;\2#10100111;", 0) and
4228        chkPutBitsMsb("\2#01011000;", 5,          2#010110100111, 12, "\2#01011010;\2#11010011;\2#10000000;", 1) and
4229        chkPutBitsMsb("\2#10011000;", 5,          2#010110100111, 12, "\2#10011010;\2#11010011;\2#10000000;", 1) and
4230        chkPutBitsMsb("\2#01001100;", 6,          2#010110100111, 12, "\2#01001101;\2#01101001;\2#11000000;", 2) and
4231        chkPutBitsMsb("\2#11010100;", 6,          2#010110100111, 12, "\2#11010101;\2#01101001;\2#11000000;", 2) and
4232        chkPutBitsMsb("\2#01101010;", 7,          2#010110100111, 12, "\2#01101010;\2#10110100;\2#11100000;", 3) and
4233        chkPutBitsMsb("\2#10110010;", 7,          2#010110100111, 12, "\2#10110010;\2#10110100;\2#11100000;", 3) and
4234        chkPutBitsMsb(            "", 0,          2#101110001101, 12, "\2#10111000;\2#11010000;", 4) and
4235        chkPutBitsMsb("\2#00000000;", 1,          2#101110001101, 12, "\2#01011100;\2#01101000;", 5) and
4236        chkPutBitsMsb("\2#10000000;", 1,          2#101110001101, 12, "\2#11011100;\2#01101000;", 5) and
4237        chkPutBitsMsb("\2#01000000;", 2,          2#101110001101, 12, "\2#01101110;\2#00110100;", 6) and
4238        chkPutBitsMsb("\2#10000000;", 2,          2#101110001101, 12, "\2#10101110;\2#00110100;", 6) and
4239        chkPutBitsMsb("\2#01000000;", 3,          2#101110001101, 12, "\2#01010111;\2#00011010;", 7) and
4240        chkPutBitsMsb("\2#10100000;", 3,          2#101110001101, 12, "\2#10110111;\2#00011010;", 7) and
4241        chkPutBitsMsb("\2#01010000;", 4,          2#101110001101, 12, "\2#01011011;\2#10001101;", 0) and
4242        chkPutBitsMsb("\2#10110000;", 4,          2#101110001101, 12, "\2#10111011;\2#10001101;", 0) and
4243        chkPutBitsMsb("\2#01011000;", 5,          2#101110001101, 12, "\2#01011101;\2#11000110;\2#10000000;", 1) and
4244        chkPutBitsMsb("\2#10011000;", 5,          2#101110001101, 12, "\2#10011101;\2#11000110;\2#10000000;", 1) and
4245        chkPutBitsMsb("\2#01001100;", 6,          2#101110001101, 12, "\2#01001110;\2#11100011;\2#01000000;", 2) and
4246        chkPutBitsMsb("\2#11010100;", 6,          2#101110001101, 12, "\2#11010110;\2#11100011;\2#01000000;", 2) and
4247        chkPutBitsMsb("\2#01101010;", 7,          2#101110001101, 12, "\2#01101011;\2#01110001;\2#10100000;", 3) and
4248        chkPutBitsMsb("\2#10110010;", 7,          2#101110001101, 12, "\2#10110011;\2#01110001;\2#10100000;", 3) and
4249        chkPutBitsMsb(            "", 0,         2#0101110001101, 13, "\2#01011100;\2#01101000;", 5) and
4250        chkPutBitsMsb("\2#00000000;", 1,         2#0101110001101, 13, "\2#00101110;\2#00110100;", 6) and
4251        chkPutBitsMsb("\2#10000000;", 1,         2#0101110001101, 13, "\2#10101110;\2#00110100;", 6) and
4252        chkPutBitsMsb("\2#01000000;", 2,         2#0101110001101, 13, "\2#01010111;\2#00011010;", 7) and
4253        chkPutBitsMsb("\2#10000000;", 2,         2#0101110001101, 13, "\2#10010111;\2#00011010;", 7) and
4254        chkPutBitsMsb("\2#01000000;", 3,         2#0101110001101, 13, "\2#01001011;\2#10001101;", 0) and
4255        chkPutBitsMsb("\2#10100000;", 3,         2#0101110001101, 13, "\2#10101011;\2#10001101;", 0) and
4256        chkPutBitsMsb("\2#01010000;", 4,         2#0101110001101, 13, "\2#01010101;\2#11000110;\2#10000000;", 1) and
4257        chkPutBitsMsb("\2#10110000;", 4,         2#0101110001101, 13, "\2#10110101;\2#11000110;\2#10000000;", 1) and
4258        chkPutBitsMsb("\2#01011000;", 5,         2#0101110001101, 13, "\2#01011010;\2#11100011;\2#01000000;", 2) and
4259        chkPutBitsMsb("\2#10011000;", 5,         2#0101110001101, 13, "\2#10011010;\2#11100011;\2#01000000;", 2) and
4260        chkPutBitsMsb("\2#01001100;", 6,         2#0101110001101, 13, "\2#01001101;\2#01110001;\2#10100000;", 3) and
4261        chkPutBitsMsb("\2#11010100;", 6,         2#0101110001101, 13, "\2#11010101;\2#01110001;\2#10100000;", 3) and
4262        chkPutBitsMsb("\2#01101010;", 7,         2#0101110001101, 13, "\2#01101010;\2#10111000;\2#11010000;", 4) and
4263        chkPutBitsMsb("\2#10110010;", 7,         2#0101110001101, 13, "\2#10110010;\2#10111000;\2#11010000;", 4) and
4264        chkPutBitsMsb(            "", 0,         2#1101100110111, 13, "\2#11011001;\2#10111000;", 5) and
4265        chkPutBitsMsb("\2#00000000;", 1,         2#1101100110111, 13, "\2#01101100;\2#11011100;", 6) and
4266        chkPutBitsMsb("\2#10000000;", 1,         2#1101100110111, 13, "\2#11101100;\2#11011100;", 6) and
4267        chkPutBitsMsb("\2#01000000;", 2,         2#1101100110111, 13, "\2#01110110;\2#01101110;", 7) and
4268        chkPutBitsMsb("\2#10000000;", 2,         2#1101100110111, 13, "\2#10110110;\2#01101110;", 7) and
4269        chkPutBitsMsb("\2#01000000;", 3,         2#1101100110111, 13, "\2#01011011;\2#00110111;", 0) and
4270        chkPutBitsMsb("\2#10100000;", 3,         2#1101100110111, 13, "\2#10111011;\2#00110111;", 0) and
4271        chkPutBitsMsb("\2#01010000;", 4,         2#1101100110111, 13, "\2#01011101;\2#10011011;\2#10000000;", 1) and
4272        chkPutBitsMsb("\2#10110000;", 4,         2#1101100110111, 13, "\2#10111101;\2#10011011;\2#10000000;", 1) and
4273        chkPutBitsMsb("\2#01011000;", 5,         2#1101100110111, 13, "\2#01011110;\2#11001101;\2#11000000;", 2) and
4274        chkPutBitsMsb("\2#10011000;", 5,         2#1101100110111, 13, "\2#10011110;\2#11001101;\2#11000000;", 2) and
4275        chkPutBitsMsb("\2#01001100;", 6,         2#1101100110111, 13, "\2#01001111;\2#01100110;\2#11100000;", 3) and
4276        chkPutBitsMsb("\2#11010100;", 6,         2#1101100110111, 13, "\2#11010111;\2#01100110;\2#11100000;", 3) and
4277        chkPutBitsMsb("\2#01101010;", 7,         2#1101100110111, 13, "\2#01101011;\2#10110011;\2#01110000;", 4) and
4278        chkPutBitsMsb("\2#10110010;", 7,         2#1101100110111, 13, "\2#10110011;\2#10110011;\2#01110000;", 4) and
4279        chkPutBitsMsb(            "", 0,        2#01101100110111, 14, "\2#01101100;\2#11011100;", 6) and
4280        chkPutBitsMsb("\2#00000000;", 1,        2#01101100110111, 14, "\2#00110110;\2#01101110;", 7) and
4281        chkPutBitsMsb("\2#10000000;", 1,        2#01101100110111, 14, "\2#10110110;\2#01101110;", 7) and
4282        chkPutBitsMsb("\2#01000000;", 2,        2#01101100110111, 14, "\2#01011011;\2#00110111;", 0) and
4283        chkPutBitsMsb("\2#10000000;", 2,        2#01101100110111, 14, "\2#10011011;\2#00110111;", 0) and
4284        chkPutBitsMsb("\2#01000000;", 3,        2#01101100110111, 14, "\2#01001101;\2#10011011;\2#10000000;", 1) and
4285        chkPutBitsMsb("\2#10100000;", 3,        2#01101100110111, 14, "\2#10101101;\2#10011011;\2#10000000;", 1) and
4286        chkPutBitsMsb("\2#01010000;", 4,        2#01101100110111, 14, "\2#01010110;\2#11001101;\2#11000000;", 2) and
4287        chkPutBitsMsb("\2#10110000;", 4,        2#01101100110111, 14, "\2#10110110;\2#11001101;\2#11000000;", 2) and
4288        chkPutBitsMsb("\2#01011000;", 5,        2#01101100110111, 14, "\2#01011011;\2#01100110;\2#11100000;", 3) and
4289        chkPutBitsMsb("\2#10011000;", 5,        2#01101100110111, 14, "\2#10011011;\2#01100110;\2#11100000;", 3) and
4290        chkPutBitsMsb("\2#01001100;", 6,        2#01101100110111, 14, "\2#01001101;\2#10110011;\2#01110000;", 4) and
4291        chkPutBitsMsb("\2#11010100;", 6,        2#01101100110111, 14, "\2#11010101;\2#10110011;\2#01110000;", 4) and
4292        chkPutBitsMsb("\2#01101010;", 7,        2#01101100110111, 14, "\2#01101010;\2#11011001;\2#10111000;", 5) and
4293        chkPutBitsMsb("\2#10110010;", 7,        2#01101100110111, 14, "\2#10110010;\2#11011001;\2#10111000;", 5) and
4294        chkPutBitsMsb(            "", 0,        2#10011011010101, 14, "\2#10011011;\2#01010100;", 6) and
4295        chkPutBitsMsb("\2#00000000;", 1,        2#10011011010101, 14, "\2#01001101;\2#10101010;", 7) and
4296        chkPutBitsMsb("\2#10000000;", 1,        2#10011011010101, 14, "\2#11001101;\2#10101010;", 7) and
4297        chkPutBitsMsb("\2#01000000;", 2,        2#10011011010101, 14, "\2#01100110;\2#11010101;", 0) and
4298        chkPutBitsMsb("\2#10000000;", 2,        2#10011011010101, 14, "\2#10100110;\2#11010101;", 0) and
4299        chkPutBitsMsb("\2#01000000;", 3,        2#10011011010101, 14, "\2#01010011;\2#01101010;\2#10000000;", 1) and
4300        chkPutBitsMsb("\2#10100000;", 3,        2#10011011010101, 14, "\2#10110011;\2#01101010;\2#10000000;", 1) and
4301        chkPutBitsMsb("\2#01010000;", 4,        2#10011011010101, 14, "\2#01011001;\2#10110101;\2#01000000;", 2) and
4302        chkPutBitsMsb("\2#10110000;", 4,        2#10011011010101, 14, "\2#10111001;\2#10110101;\2#01000000;", 2) and
4303        chkPutBitsMsb("\2#01011000;", 5,        2#10011011010101, 14, "\2#01011100;\2#11011010;\2#10100000;", 3) and
4304        chkPutBitsMsb("\2#10011000;", 5,        2#10011011010101, 14, "\2#10011100;\2#11011010;\2#10100000;", 3) and
4305        chkPutBitsMsb("\2#01001100;", 6,        2#10011011010101, 14, "\2#01001110;\2#01101101;\2#01010000;", 4) and
4306        chkPutBitsMsb("\2#11010100;", 6,        2#10011011010101, 14, "\2#11010110;\2#01101101;\2#01010000;", 4) and
4307        chkPutBitsMsb("\2#01101010;", 7,        2#10011011010101, 14, "\2#01101011;\2#00110110;\2#10101000;", 5) and
4308        chkPutBitsMsb("\2#10110010;", 7,        2#10011011010101, 14, "\2#10110011;\2#00110110;\2#10101000;", 5) and
4309        chkPutBitsMsb(            "", 0,       2#010011011010101, 15, "\2#01001101;\2#10101010;", 7) and
4310        chkPutBitsMsb("\2#00000000;", 1,       2#010011011010101, 15, "\2#00100110;\2#11010101;", 0) and
4311        chkPutBitsMsb("\2#10000000;", 1,       2#010011011010101, 15, "\2#10100110;\2#11010101;", 0) and
4312        chkPutBitsMsb("\2#01000000;", 2,       2#010011011010101, 15, "\2#01010011;\2#01101010;\2#10000000;", 1) and
4313        chkPutBitsMsb("\2#10000000;", 2,       2#010011011010101, 15, "\2#10010011;\2#01101010;\2#10000000;", 1) and
4314        chkPutBitsMsb("\2#01000000;", 3,       2#010011011010101, 15, "\2#01001001;\2#10110101;\2#01000000;", 2) and
4315        chkPutBitsMsb("\2#10100000;", 3,       2#010011011010101, 15, "\2#10101001;\2#10110101;\2#01000000;", 2) and
4316        chkPutBitsMsb("\2#01010000;", 4,       2#010011011010101, 15, "\2#01010100;\2#11011010;\2#10100000;", 3) and
4317        chkPutBitsMsb("\2#10110000;", 4,       2#010011011010101, 15, "\2#10110100;\2#11011010;\2#10100000;", 3) and
4318        chkPutBitsMsb("\2#01011000;", 5,       2#010011011010101, 15, "\2#01011010;\2#01101101;\2#01010000;", 4) and
4319        chkPutBitsMsb("\2#10011000;", 5,       2#010011011010101, 15, "\2#10011010;\2#01101101;\2#01010000;", 4) and
4320        chkPutBitsMsb("\2#01001100;", 6,       2#010011011010101, 15, "\2#01001101;\2#00110110;\2#10101000;", 5) and
4321        chkPutBitsMsb("\2#11010100;", 6,       2#010011011010101, 15, "\2#11010101;\2#00110110;\2#10101000;", 5) and
4322        chkPutBitsMsb("\2#01101010;", 7,       2#010011011010101, 15, "\2#01101010;\2#10011011;\2#01010100;", 6) and
4323        chkPutBitsMsb("\2#10110010;", 7,       2#010011011010101, 15, "\2#10110010;\2#10011011;\2#01010100;", 6) and
4324        chkPutBitsMsb(            "", 0,       2#100101111011001, 15, "\2#10010111;\2#10110010;", 7) and
4325        chkPutBitsMsb("\2#00000000;", 1,       2#100101111011001, 15, "\2#01001011;\2#11011001;", 0) and
4326        chkPutBitsMsb("\2#10000000;", 1,       2#100101111011001, 15, "\2#11001011;\2#11011001;", 0) and
4327        chkPutBitsMsb("\2#01000000;", 2,       2#100101111011001, 15, "\2#01100101;\2#11101100;\2#10000000;", 1) and
4328        chkPutBitsMsb("\2#10000000;", 2,       2#100101111011001, 15, "\2#10100101;\2#11101100;\2#10000000;", 1) and
4329        chkPutBitsMsb("\2#01000000;", 3,       2#100101111011001, 15, "\2#01010010;\2#11110110;\2#01000000;", 2) and
4330        chkPutBitsMsb("\2#10100000;", 3,       2#100101111011001, 15, "\2#10110010;\2#11110110;\2#01000000;", 2) and
4331        chkPutBitsMsb("\2#01010000;", 4,       2#100101111011001, 15, "\2#01011001;\2#01111011;\2#00100000;", 3) and
4332        chkPutBitsMsb("\2#10110000;", 4,       2#100101111011001, 15, "\2#10111001;\2#01111011;\2#00100000;", 3) and
4333        chkPutBitsMsb("\2#01011000;", 5,       2#100101111011001, 15, "\2#01011100;\2#10111101;\2#10010000;", 4) and
4334        chkPutBitsMsb("\2#10011000;", 5,       2#100101111011001, 15, "\2#10011100;\2#10111101;\2#10010000;", 4) and
4335        chkPutBitsMsb("\2#01001100;", 6,       2#100101111011001, 15, "\2#01001110;\2#01011110;\2#11001000;", 5) and
4336        chkPutBitsMsb("\2#11010100;", 6,       2#100101111011001, 15, "\2#11010110;\2#01011110;\2#11001000;", 5) and
4337        chkPutBitsMsb("\2#01101010;", 7,       2#100101111011001, 15, "\2#01101011;\2#00101111;\2#01100100;", 6) and
4338        chkPutBitsMsb("\2#10110010;", 7,       2#100101111011001, 15, "\2#10110011;\2#00101111;\2#01100100;", 6) and
4339        chkPutBitsMsb(            "", 0,      2#0100101111011001, 16, "\2#01001011;\2#11011001;", 0) and
4340        chkPutBitsMsb("\2#00000000;", 1,      2#0100101111011001, 16, "\2#00100101;\2#11101100;\2#10000000;", 1) and
4341        chkPutBitsMsb("\2#10000000;", 1,      2#0100101111011001, 16, "\2#10100101;\2#11101100;\2#10000000;", 1) and
4342        chkPutBitsMsb("\2#01000000;", 2,      2#0100101111011001, 16, "\2#01010010;\2#11110110;\2#01000000;", 2) and
4343        chkPutBitsMsb("\2#10000000;", 2,      2#0100101111011001, 16, "\2#10010010;\2#11110110;\2#01000000;", 2) and
4344        chkPutBitsMsb("\2#01000000;", 3,      2#0100101111011001, 16, "\2#01001001;\2#01111011;\2#00100000;", 3) and
4345        chkPutBitsMsb("\2#10100000;", 3,      2#0100101111011001, 16, "\2#10101001;\2#01111011;\2#00100000;", 3) and
4346        chkPutBitsMsb("\2#01010000;", 4,      2#0100101111011001, 16, "\2#01010100;\2#10111101;\2#10010000;", 4) and
4347        chkPutBitsMsb("\2#10110000;", 4,      2#0100101111011001, 16, "\2#10110100;\2#10111101;\2#10010000;", 4) and
4348        chkPutBitsMsb("\2#01011000;", 5,      2#0100101111011001, 16, "\2#01011010;\2#01011110;\2#11001000;", 5) and
4349        chkPutBitsMsb("\2#10011000;", 5,      2#0100101111011001, 16, "\2#10011010;\2#01011110;\2#11001000;", 5) and
4350        chkPutBitsMsb("\2#01001100;", 6,      2#0100101111011001, 16, "\2#01001101;\2#00101111;\2#01100100;", 6) and
4351        chkPutBitsMsb("\2#11010100;", 6,      2#0100101111011001, 16, "\2#11010101;\2#00101111;\2#01100100;", 6) and
4352        chkPutBitsMsb("\2#01101010;", 7,      2#0100101111011001, 16, "\2#01101010;\2#10010111;\2#10110010;", 7) and
4353        chkPutBitsMsb("\2#10110010;", 7,      2#0100101111011001, 16, "\2#10110010;\2#10010111;\2#10110010;", 7) and
4354        chkPutBitsMsb(            "", 0,      2#1101100001100111, 16, "\2#11011000;\2#01100111;", 0) and
4355        chkPutBitsMsb("\2#00000000;", 1,      2#1101100001100111, 16, "\2#01101100;\2#00110011;\2#10000000;", 1) and
4356        chkPutBitsMsb("\2#10000000;", 1,      2#1101100001100111, 16, "\2#11101100;\2#00110011;\2#10000000;", 1) and
4357        chkPutBitsMsb("\2#01000000;", 2,      2#1101100001100111, 16, "\2#01110110;\2#00011001;\2#11000000;", 2) and
4358        chkPutBitsMsb("\2#10000000;", 2,      2#1101100001100111, 16, "\2#10110110;\2#00011001;\2#11000000;", 2) and
4359        chkPutBitsMsb("\2#01000000;", 3,      2#1101100001100111, 16, "\2#01011011;\2#00001100;\2#11100000;", 3) and
4360        chkPutBitsMsb("\2#10100000;", 3,      2#1101100001100111, 16, "\2#10111011;\2#00001100;\2#11100000;", 3) and
4361        chkPutBitsMsb("\2#01010000;", 4,      2#1101100001100111, 16, "\2#01011101;\2#10000110;\2#01110000;", 4) and
4362        chkPutBitsMsb("\2#10110000;", 4,      2#1101100001100111, 16, "\2#10111101;\2#10000110;\2#01110000;", 4) and
4363        chkPutBitsMsb("\2#01011000;", 5,      2#1101100001100111, 16, "\2#01011110;\2#11000011;\2#00111000;", 5) and
4364        chkPutBitsMsb("\2#10011000;", 5,      2#1101100001100111, 16, "\2#10011110;\2#11000011;\2#00111000;", 5) and
4365        chkPutBitsMsb("\2#01001100;", 6,      2#1101100001100111, 16, "\2#01001111;\2#01100001;\2#10011100;", 6) and
4366        chkPutBitsMsb("\2#11010100;", 6,      2#1101100001100111, 16, "\2#11010111;\2#01100001;\2#10011100;", 6) and
4367        chkPutBitsMsb("\2#01101010;", 7,      2#1101100001100111, 16, "\2#01101011;\2#10110000;\2#11001110;", 7) and
4368        chkPutBitsMsb("\2#10110010;", 7,      2#1101100001100111, 16, "\2#10110011;\2#10110000;\2#11001110;", 7) and
4369        chkPutBitsMsb(            "", 0,     2#01101100001100111, 17, "\2#01101100;\2#00110011;\2#10000000;", 1) and
4370        chkPutBitsMsb("\2#00000000;", 1,     2#01101100001100111, 17, "\2#00110110;\2#00011001;\2#11000000;", 2) and
4371        chkPutBitsMsb("\2#10000000;", 1,     2#01101100001100111, 17, "\2#10110110;\2#00011001;\2#11000000;", 2) and
4372        chkPutBitsMsb("\2#01000000;", 2,     2#01101100001100111, 17, "\2#01011011;\2#00001100;\2#11100000;", 3) and
4373        chkPutBitsMsb("\2#10000000;", 2,     2#01101100001100111, 17, "\2#10011011;\2#00001100;\2#11100000;", 3) and
4374        chkPutBitsMsb("\2#01000000;", 3,     2#01101100001100111, 17, "\2#01001101;\2#10000110;\2#01110000;", 4) and
4375        chkPutBitsMsb("\2#10100000;", 3,     2#01101100001100111, 17, "\2#10101101;\2#10000110;\2#01110000;", 4) and
4376        chkPutBitsMsb("\2#01010000;", 4,     2#01101100001100111, 17, "\2#01010110;\2#11000011;\2#00111000;", 5) and
4377        chkPutBitsMsb("\2#10110000;", 4,     2#01101100001100111, 17, "\2#10110110;\2#11000011;\2#00111000;", 5) and
4378        chkPutBitsMsb("\2#01011000;", 5,     2#01101100001100111, 17, "\2#01011011;\2#01100001;\2#10011100;", 6) and
4379        chkPutBitsMsb("\2#10011000;", 5,     2#01101100001100111, 17, "\2#10011011;\2#01100001;\2#10011100;", 6) and
4380        chkPutBitsMsb("\2#01001100;", 6,     2#01101100001100111, 17, "\2#01001101;\2#10110000;\2#11001110;", 7) and
4381        chkPutBitsMsb("\2#11010100;", 6,     2#01101100001100111, 17, "\2#11010101;\2#10110000;\2#11001110;", 7) and
4382        chkPutBitsMsb("\2#01101010;", 7,     2#01101100001100111, 17, "\2#01101010;\2#11011000;\2#01100111;", 0) and
4383        chkPutBitsMsb("\2#10110010;", 7,     2#01101100001100111, 17, "\2#10110010;\2#11011000;\2#01100111;", 0) and
4384        chkPutBitsMsb(            "", 0,     2#10100010110011101, 17, "\2#10100010;\2#11001110;\2#10000000;", 1) and
4385        chkPutBitsMsb("\2#00000000;", 1,     2#10100010110011101, 17, "\2#01010001;\2#01100111;\2#01000000;", 2) and
4386        chkPutBitsMsb("\2#10000000;", 1,     2#10100010110011101, 17, "\2#11010001;\2#01100111;\2#01000000;", 2) and
4387        chkPutBitsMsb("\2#01000000;", 2,     2#10100010110011101, 17, "\2#01101000;\2#10110011;\2#10100000;", 3) and
4388        chkPutBitsMsb("\2#10000000;", 2,     2#10100010110011101, 17, "\2#10101000;\2#10110011;\2#10100000;", 3) and
4389        chkPutBitsMsb("\2#01000000;", 3,     2#10100010110011101, 17, "\2#01010100;\2#01011001;\2#11010000;", 4) and
4390        chkPutBitsMsb("\2#10100000;", 3,     2#10100010110011101, 17, "\2#10110100;\2#01011001;\2#11010000;", 4) and
4391        chkPutBitsMsb("\2#01010000;", 4,     2#10100010110011101, 17, "\2#01011010;\2#00101100;\2#11101000;", 5) and
4392        chkPutBitsMsb("\2#10110000;", 4,     2#10100010110011101, 17, "\2#10111010;\2#00101100;\2#11101000;", 5) and
4393        chkPutBitsMsb("\2#01011000;", 5,     2#10100010110011101, 17, "\2#01011101;\2#00010110;\2#01110100;", 6) and
4394        chkPutBitsMsb("\2#10011000;", 5,     2#10100010110011101, 17, "\2#10011101;\2#00010110;\2#01110100;", 6) and
4395        chkPutBitsMsb("\2#01001100;", 6,     2#10100010110011101, 17, "\2#01001110;\2#10001011;\2#00111010;", 7) and
4396        chkPutBitsMsb("\2#11010100;", 6,     2#10100010110011101, 17, "\2#11010110;\2#10001011;\2#00111010;", 7) and
4397        chkPutBitsMsb("\2#01101010;", 7,     2#10100010110011101, 17, "\2#01101011;\2#01000101;\2#10011101;", 0) and
4398        chkPutBitsMsb("\2#10110010;", 7,     2#10100010110011101, 17, "\2#10110011;\2#01000101;\2#10011101;", 0) and
4399        chkPutBitsMsb(            "", 0,    2#010100010110011101, 18, "\2#01010001;\2#01100111;\2#01000000;", 2) and
4400        chkPutBitsMsb("\2#00000000;", 1,    2#010100010110011101, 18, "\2#00101000;\2#10110011;\2#10100000;", 3) and
4401        chkPutBitsMsb("\2#10000000;", 1,    2#010100010110011101, 18, "\2#10101000;\2#10110011;\2#10100000;", 3) and
4402        chkPutBitsMsb("\2#01000000;", 2,    2#010100010110011101, 18, "\2#01010100;\2#01011001;\2#11010000;", 4) and
4403        chkPutBitsMsb("\2#10000000;", 2,    2#010100010110011101, 18, "\2#10010100;\2#01011001;\2#11010000;", 4) and
4404        chkPutBitsMsb("\2#01000000;", 3,    2#010100010110011101, 18, "\2#01001010;\2#00101100;\2#11101000;", 5) and
4405        chkPutBitsMsb("\2#10100000;", 3,    2#010100010110011101, 18, "\2#10101010;\2#00101100;\2#11101000;", 5) and
4406        chkPutBitsMsb("\2#01010000;", 4,    2#010100010110011101, 18, "\2#01010101;\2#00010110;\2#01110100;", 6) and
4407        chkPutBitsMsb("\2#10110000;", 4,    2#010100010110011101, 18, "\2#10110101;\2#00010110;\2#01110100;", 6) and
4408        chkPutBitsMsb("\2#01011000;", 5,    2#010100010110011101, 18, "\2#01011010;\2#10001011;\2#00111010;", 7) and
4409        chkPutBitsMsb("\2#10011000;", 5,    2#010100010110011101, 18, "\2#10011010;\2#10001011;\2#00111010;", 7) and
4410        chkPutBitsMsb("\2#01001100;", 6,    2#010100010110011101, 18, "\2#01001101;\2#01000101;\2#10011101;", 0) and
4411        chkPutBitsMsb("\2#11010100;", 6,    2#010100010110011101, 18, "\2#11010101;\2#01000101;\2#10011101;", 0) and
4412        chkPutBitsMsb("\2#01101010;", 7,    2#010100010110011101, 18, "\2#01101010;\2#10100010;\2#11001110;\2#10000000;", 1) and
4413        chkPutBitsMsb("\2#10110010;", 7,    2#010100010110011101, 18, "\2#10110010;\2#10100010;\2#11001110;\2#10000000;", 1) and
4414        chkPutBitsMsb(            "", 0,    2#101001010011011101, 18, "\2#10100101;\2#00110111;\2#01000000;", 2) and
4415        chkPutBitsMsb("\2#00000000;", 1,    2#101001010011011101, 18, "\2#01010010;\2#10011011;\2#10100000;", 3) and
4416        chkPutBitsMsb("\2#10000000;", 1,    2#101001010011011101, 18, "\2#11010010;\2#10011011;\2#10100000;", 3) and
4417        chkPutBitsMsb("\2#01000000;", 2,    2#101001010011011101, 18, "\2#01101001;\2#01001101;\2#11010000;", 4) and
4418        chkPutBitsMsb("\2#10000000;", 2,    2#101001010011011101, 18, "\2#10101001;\2#01001101;\2#11010000;", 4) and
4419        chkPutBitsMsb("\2#01000000;", 3,    2#101001010011011101, 18, "\2#01010100;\2#10100110;\2#11101000;", 5) and
4420        chkPutBitsMsb("\2#10100000;", 3,    2#101001010011011101, 18, "\2#10110100;\2#10100110;\2#11101000;", 5) and
4421        chkPutBitsMsb("\2#01010000;", 4,    2#101001010011011101, 18, "\2#01011010;\2#01010011;\2#01110100;", 6) and
4422        chkPutBitsMsb("\2#10110000;", 4,    2#101001010011011101, 18, "\2#10111010;\2#01010011;\2#01110100;", 6) and
4423        chkPutBitsMsb("\2#01011000;", 5,    2#101001010011011101, 18, "\2#01011101;\2#00101001;\2#10111010;", 7) and
4424        chkPutBitsMsb("\2#10011000;", 5,    2#101001010011011101, 18, "\2#10011101;\2#00101001;\2#10111010;", 7) and
4425        chkPutBitsMsb("\2#01001100;", 6,    2#101001010011011101, 18, "\2#01001110;\2#10010100;\2#11011101;", 0) and
4426        chkPutBitsMsb("\2#11010100;", 6,    2#101001010011011101, 18, "\2#11010110;\2#10010100;\2#11011101;", 0) and
4427        chkPutBitsMsb("\2#01101010;", 7,    2#101001010011011101, 18, "\2#01101011;\2#01001010;\2#01101110;\2#10000000;", 1) and
4428        chkPutBitsMsb("\2#10110010;", 7,    2#101001010011011101, 18, "\2#10110011;\2#01001010;\2#01101110;\2#10000000;", 1) and
4429        chkPutBitsMsb(            "", 0,   2#0101001010011011101, 19, "\2#01010010;\2#10011011;\2#10100000;", 3) and
4430        chkPutBitsMsb("\2#00000000;", 1,   2#0101001010011011101, 19, "\2#00101001;\2#01001101;\2#11010000;", 4) and
4431        chkPutBitsMsb("\2#10000000;", 1,   2#0101001010011011101, 19, "\2#10101001;\2#01001101;\2#11010000;", 4) and
4432        chkPutBitsMsb("\2#01000000;", 2,   2#0101001010011011101, 19, "\2#01010100;\2#10100110;\2#11101000;", 5) and
4433        chkPutBitsMsb("\2#10000000;", 2,   2#0101001010011011101, 19, "\2#10010100;\2#10100110;\2#11101000;", 5) and
4434        chkPutBitsMsb("\2#01000000;", 3,   2#0101001010011011101, 19, "\2#01001010;\2#01010011;\2#01110100;", 6) and
4435        chkPutBitsMsb("\2#10100000;", 3,   2#0101001010011011101, 19, "\2#10101010;\2#01010011;\2#01110100;", 6) and
4436        chkPutBitsMsb("\2#01010000;", 4,   2#0101001010011011101, 19, "\2#01010101;\2#00101001;\2#10111010;", 7) and
4437        chkPutBitsMsb("\2#10110000;", 4,   2#0101001010011011101, 19, "\2#10110101;\2#00101001;\2#10111010;", 7) and
4438        chkPutBitsMsb("\2#01011000;", 5,   2#0101001010011011101, 19, "\2#01011010;\2#10010100;\2#11011101;", 0) and
4439        chkPutBitsMsb("\2#10011000;", 5,   2#0101001010011011101, 19, "\2#10011010;\2#10010100;\2#11011101;", 0) and
4440        chkPutBitsMsb("\2#01001100;", 6,   2#0101001010011011101, 19, "\2#01001101;\2#01001010;\2#01101110;\2#10000000;", 1) and
4441        chkPutBitsMsb("\2#11010100;", 6,   2#0101001010011011101, 19, "\2#11010101;\2#01001010;\2#01101110;\2#10000000;", 1) and
4442        chkPutBitsMsb("\2#01101010;", 7,   2#0101001010011011101, 19, "\2#01101010;\2#10100101;\2#00110111;\2#01000000;", 2) and
4443        chkPutBitsMsb("\2#10110010;", 7,   2#0101001010011011101, 19, "\2#10110010;\2#10100101;\2#00110111;\2#01000000;", 2) and
4444        chkPutBitsMsb(            "", 0,   2#1101101100111001001, 19, "\2#11011011;\2#00111001;\2#00100000;", 3) and
4445        chkPutBitsMsb("\2#00000000;", 1,   2#1101101100111001001, 19, "\2#01101101;\2#10011100;\2#10010000;", 4) and
4446        chkPutBitsMsb("\2#10000000;", 1,   2#1101101100111001001, 19, "\2#11101101;\2#10011100;\2#10010000;", 4) and
4447        chkPutBitsMsb("\2#01000000;", 2,   2#1101101100111001001, 19, "\2#01110110;\2#11001110;\2#01001000;", 5) and
4448        chkPutBitsMsb("\2#10000000;", 2,   2#1101101100111001001, 19, "\2#10110110;\2#11001110;\2#01001000;", 5) and
4449        chkPutBitsMsb("\2#01000000;", 3,   2#1101101100111001001, 19, "\2#01011011;\2#01100111;\2#00100100;", 6) and
4450        chkPutBitsMsb("\2#10100000;", 3,   2#1101101100111001001, 19, "\2#10111011;\2#01100111;\2#00100100;", 6) and
4451        chkPutBitsMsb("\2#01010000;", 4,   2#1101101100111001001, 19, "\2#01011101;\2#10110011;\2#10010010;", 7) and
4452        chkPutBitsMsb("\2#10110000;", 4,   2#1101101100111001001, 19, "\2#10111101;\2#10110011;\2#10010010;", 7) and
4453        chkPutBitsMsb("\2#01011000;", 5,   2#1101101100111001001, 19, "\2#01011110;\2#11011001;\2#11001001;", 0) and
4454        chkPutBitsMsb("\2#10011000;", 5,   2#1101101100111001001, 19, "\2#10011110;\2#11011001;\2#11001001;", 0) and
4455        chkPutBitsMsb("\2#01001100;", 6,   2#1101101100111001001, 19, "\2#01001111;\2#01101100;\2#11100100;\2#10000000;", 1) and
4456        chkPutBitsMsb("\2#11010100;", 6,   2#1101101100111001001, 19, "\2#11010111;\2#01101100;\2#11100100;\2#10000000;", 1) and
4457        chkPutBitsMsb("\2#01101010;", 7,   2#1101101100111001001, 19, "\2#01101011;\2#10110110;\2#01110010;\2#01000000;", 2) and
4458        chkPutBitsMsb("\2#10110010;", 7,   2#1101101100111001001, 19, "\2#10110011;\2#10110110;\2#01110010;\2#01000000;", 2) and
4459        chkPutBitsMsb(            "", 0,  2#01101101100111001001, 20, "\2#01101101;\2#10011100;\2#10010000;", 4) and
4460        chkPutBitsMsb("\2#00000000;", 1,  2#01101101100111001001, 20, "\2#00110110;\2#11001110;\2#01001000;", 5) and
4461        chkPutBitsMsb("\2#10000000;", 1,  2#01101101100111001001, 20, "\2#10110110;\2#11001110;\2#01001000;", 5) and
4462        chkPutBitsMsb("\2#01000000;", 2,  2#01101101100111001001, 20, "\2#01011011;\2#01100111;\2#00100100;", 6) and
4463        chkPutBitsMsb("\2#10000000;", 2,  2#01101101100111001001, 20, "\2#10011011;\2#01100111;\2#00100100;", 6) and
4464        chkPutBitsMsb("\2#01000000;", 3,  2#01101101100111001001, 20, "\2#01001101;\2#10110011;\2#10010010;", 7) and
4465        chkPutBitsMsb("\2#10100000;", 3,  2#01101101100111001001, 20, "\2#10101101;\2#10110011;\2#10010010;", 7) and
4466        chkPutBitsMsb("\2#01010000;", 4,  2#01101101100111001001, 20, "\2#01010110;\2#11011001;\2#11001001;", 0) and
4467        chkPutBitsMsb("\2#10110000;", 4,  2#01101101100111001001, 20, "\2#10110110;\2#11011001;\2#11001001;", 0) and
4468        chkPutBitsMsb("\2#01011000;", 5,  2#01101101100111001001, 20, "\2#01011011;\2#01101100;\2#11100100;\2#10000000;", 1) and
4469        chkPutBitsMsb("\2#10011000;", 5,  2#01101101100111001001, 20, "\2#10011011;\2#01101100;\2#11100100;\2#10000000;", 1) and
4470        chkPutBitsMsb("\2#01001100;", 6,  2#01101101100111001001, 20, "\2#01001101;\2#10110110;\2#01110010;\2#01000000;", 2) and
4471        chkPutBitsMsb("\2#11010100;", 6,  2#01101101100111001001, 20, "\2#11010101;\2#10110110;\2#01110010;\2#01000000;", 2) and
4472        chkPutBitsMsb("\2#01101010;", 7,  2#01101101100111001001, 20, "\2#01101010;\2#11011011;\2#00111001;\2#00100000;", 3) and
4473        chkPutBitsMsb("\2#10110010;", 7,  2#01101101100111001001, 20, "\2#10110010;\2#11011011;\2#00111001;\2#00100000;", 3) and
4474        chkPutBitsMsb(            "", 0,  2#11100111111011001001, 20, "\2#11100111;\2#11101100;\2#10010000;", 4) and
4475        chkPutBitsMsb("\2#00000000;", 1,  2#11100111111011001001, 20, "\2#01110011;\2#11110110;\2#01001000;", 5) and
4476        chkPutBitsMsb("\2#10000000;", 1,  2#11100111111011001001, 20, "\2#11110011;\2#11110110;\2#01001000;", 5) and
4477        chkPutBitsMsb("\2#01000000;", 2,  2#11100111111011001001, 20, "\2#01111001;\2#11111011;\2#00100100;", 6) and
4478        chkPutBitsMsb("\2#10000000;", 2,  2#11100111111011001001, 20, "\2#10111001;\2#11111011;\2#00100100;", 6) and
4479        chkPutBitsMsb("\2#01000000;", 3,  2#11100111111011001001, 20, "\2#01011100;\2#11111101;\2#10010010;", 7) and
4480        chkPutBitsMsb("\2#10100000;", 3,  2#11100111111011001001, 20, "\2#10111100;\2#11111101;\2#10010010;", 7) and
4481        chkPutBitsMsb("\2#01010000;", 4,  2#11100111111011001001, 20, "\2#01011110;\2#01111110;\2#11001001;", 0) and
4482        chkPutBitsMsb("\2#10110000;", 4,  2#11100111111011001001, 20, "\2#10111110;\2#01111110;\2#11001001;", 0) and
4483        chkPutBitsMsb("\2#01011000;", 5,  2#11100111111011001001, 20, "\2#01011111;\2#00111111;\2#01100100;\2#10000000;", 1) and
4484        chkPutBitsMsb("\2#10011000;", 5,  2#11100111111011001001, 20, "\2#10011111;\2#00111111;\2#01100100;\2#10000000;", 1) and
4485        chkPutBitsMsb("\2#01001100;", 6,  2#11100111111011001001, 20, "\2#01001111;\2#10011111;\2#10110010;\2#01000000;", 2) and
4486        chkPutBitsMsb("\2#11010100;", 6,  2#11100111111011001001, 20, "\2#11010111;\2#10011111;\2#10110010;\2#01000000;", 2) and
4487        chkPutBitsMsb("\2#01101010;", 7,  2#11100111111011001001, 20, "\2#01101011;\2#11001111;\2#11011001;\2#00100000;", 3) and
4488        chkPutBitsMsb("\2#10110010;", 7,  2#11100111111011001001, 20, "\2#10110011;\2#11001111;\2#11011001;\2#00100000;", 3) and
4489        chkPutBitsMsb(            "", 0, 2#011100111111011001001, 21, "\2#01110011;\2#11110110;\2#01001000;", 5) and
4490        chkPutBitsMsb("\2#00000000;", 1, 2#011100111111011001001, 21, "\2#00111001;\2#11111011;\2#00100100;", 6) and
4491        chkPutBitsMsb("\2#10000000;", 1, 2#011100111111011001001, 21, "\2#10111001;\2#11111011;\2#00100100;", 6) and
4492        chkPutBitsMsb("\2#01000000;", 2, 2#011100111111011001001, 21, "\2#01011100;\2#11111101;\2#10010010;", 7) and
4493        chkPutBitsMsb("\2#10000000;", 2, 2#011100111111011001001, 21, "\2#10011100;\2#11111101;\2#10010010;", 7) and
4494        chkPutBitsMsb("\2#01000000;", 3, 2#011100111111011001001, 21, "\2#01001110;\2#01111110;\2#11001001;", 0) and
4495        chkPutBitsMsb("\2#10100000;", 3, 2#011100111111011001001, 21, "\2#10101110;\2#01111110;\2#11001001;", 0) and
4496        chkPutBitsMsb("\2#01010000;", 4, 2#011100111111011001001, 21, "\2#01010111;\2#00111111;\2#01100100;\2#10000000;", 1) and
4497        chkPutBitsMsb("\2#10110000;", 4, 2#011100111111011001001, 21, "\2#10110111;\2#00111111;\2#01100100;\2#10000000;", 1) and
4498        chkPutBitsMsb("\2#01011000;", 5, 2#011100111111011001001, 21, "\2#01011011;\2#10011111;\2#10110010;\2#01000000;", 2) and
4499        chkPutBitsMsb("\2#10011000;", 5, 2#011100111111011001001, 21, "\2#10011011;\2#10011111;\2#10110010;\2#01000000;", 2) and
4500        chkPutBitsMsb("\2#01001100;", 6, 2#011100111111011001001, 21, "\2#01001101;\2#11001111;\2#11011001;\2#00100000;", 3) and
4501        chkPutBitsMsb("\2#11010100;", 6, 2#011100111111011001001, 21, "\2#11010101;\2#11001111;\2#11011001;\2#00100000;", 3) and
4502        chkPutBitsMsb("\2#01101010;", 7, 2#011100111111011001001, 21, "\2#01101010;\2#11100111;\2#11101100;\2#10010000;", 4) and
4503        chkPutBitsMsb("\2#10110010;", 7, 2#011100111111011001001, 21, "\2#10110010;\2#11100111;\2#11101100;\2#10010000;", 4) and
4504        chkPutBitsMsb(            "", 0, 2#101000010010111000111, 21, "\2#10100001;\2#00101110;\2#00111000;", 5) and
4505        chkPutBitsMsb("\2#00000000;", 1, 2#101000010010111000111, 21, "\2#01010000;\2#10010111;\2#00011100;", 6) and
4506        chkPutBitsMsb("\2#10000000;", 1, 2#101000010010111000111, 21, "\2#11010000;\2#10010111;\2#00011100;", 6) and
4507        chkPutBitsMsb("\2#01000000;", 2, 2#101000010010111000111, 21, "\2#01101000;\2#01001011;\2#10001110;", 7) and
4508        chkPutBitsMsb("\2#10000000;", 2, 2#101000010010111000111, 21, "\2#10101000;\2#01001011;\2#10001110;", 7) and
4509        chkPutBitsMsb("\2#01000000;", 3, 2#101000010010111000111, 21, "\2#01010100;\2#00100101;\2#11000111;", 0) and
4510        chkPutBitsMsb("\2#10100000;", 3, 2#101000010010111000111, 21, "\2#10110100;\2#00100101;\2#11000111;", 0) and
4511        chkPutBitsMsb("\2#01010000;", 4, 2#101000010010111000111, 21, "\2#01011010;\2#00010010;\2#11100011;\2#10000000;", 1) and
4512        chkPutBitsMsb("\2#10110000;", 4, 2#101000010010111000111, 21, "\2#10111010;\2#00010010;\2#11100011;\2#10000000;", 1) and
4513        chkPutBitsMsb("\2#01011000;", 5, 2#101000010010111000111, 21, "\2#01011101;\2#00001001;\2#01110001;\2#11000000;", 2) and
4514        chkPutBitsMsb("\2#10011000;", 5, 2#101000010010111000111, 21, "\2#10011101;\2#00001001;\2#01110001;\2#11000000;", 2) and
4515        chkPutBitsMsb("\2#01001100;", 6, 2#101000010010111000111, 21, "\2#01001110;\2#10000100;\2#10111000;\2#11100000;", 3) and
4516        chkPutBitsMsb("\2#11010100;", 6, 2#101000010010111000111, 21, "\2#11010110;\2#10000100;\2#10111000;\2#11100000;", 3) and
4517        chkPutBitsMsb("\2#01101010;", 7, 2#101000010010111000111, 21, "\2#01101011;\2#01000010;\2#01011100;\2#01110000;", 4) and
4518        chkPutBitsMsb("\2#10110010;", 7, 2#101000010010111000111, 21, "\2#10110011;\2#01000010;\2#01011100;\2#01110000;", 4) then
4519      writeln("putBitMsb works correct.");
4520    end if;
4521  end func;
4522
4523
4524const proc: main is func
4525  begin
4526    writeln;
4527    chkGetBitLsb;
4528    chkGetBitsLsb;
4529    chkPeekBitsLsb;
4530    chkPutBitLsb;
4531    chkPutBitsLsb;
4532    chkGetBitMsb;
4533    chkGetBitsMsb;
4534    chkPeekBitsMsb;
4535    chkPutBitMsb;
4536    chkPutBitsMsb;
4537  end func;
4538