From 9d9083106c904b6228db5c119f0d70b16c4be9a1 Mon Sep 17 00:00:00 2001 From: Folkert de Vries Date: Tue, 12 Nov 2024 12:39:02 +0100 Subject: [PATCH] `blocksort.rs`: fix a refactoring bug --- blocksort.rs | 2 +- tests/compress-sample1-log.txt | 1406 ++++++++++++++++++++++++++++++++ tests/quick.rs | 16 +- 3 files changed, 1422 insertions(+), 2 deletions(-) create mode 100644 tests/compress-sample1-log.txt diff --git a/blocksort.rs b/blocksort.rs index dfc4ea55d..40ec73251 100644 --- a/blocksort.rs +++ b/blocksort.rs @@ -1114,7 +1114,7 @@ fn mainSort( for j in 0..=255 { if j != ss { sb = (ss << 8 as c_int) + j; - if (!(ftab[sb as usize] & SETMASK)) != 0 { + if ftab[sb as usize] & SETMASK == 0 { let lo: i32 = (ftab[sb as usize] & CLEARMASK) as i32; let hi: i32 = ((ftab[sb as usize + 1] & CLEARMASK).wrapping_sub(1)) as i32; diff --git a/tests/compress-sample1-log.txt b/tests/compress-sample1-log.txt new file mode 100644 index 000000000..f56c64ccc --- /dev/null +++ b/tests/compress-sample1-log.txt @@ -0,0 +1,1406 @@ + tests/input/quick/sample1.ref: + block 1: crc = 0xccf1b5a5, combined CRC = 0xccf1b5a5, size = 98170 + main sort initialise ... + bucket sorting ... + qsort [0x8a, 0x23] done 0 this 2 + qsort [0x5f, 0x9f] done 2 this 2 + qsort [0xc9, 0xa6] done 4 this 3 + qsort [0xf9, 0x31] done 7 this 2 + qsort [0xf9, 0x78] done 9 this 2 + qsort [0xe1, 0x61] done 11 this 2 + qsort [0xe1, 0x67] done 13 this 2 + qsort [0xe1, 0x7d] done 15 this 2 + qsort [0xe8, 0x61] done 17 this 2 + qsort [0xbc, 0x39] done 19 this 2 + qsort [0xbc, 0x6a] done 21 this 2 + qsort [0xbc, 0xb3] done 23 this 2 + qsort [0xbc, 0xc3] done 25 this 2 + qsort [0x1e, 0x0] done 27 this 2 + qsort [0x1e, 0x4b] done 29 this 2 + qsort [0xbd, 0xb] done 31 this 2 + qsort [0xf8, 0x69] done 33 this 2 + qsort [0x88, 0xda] done 35 this 3 + qsort [0x82, 0x38] done 38 this 2 + qsort [0x82, 0x89] done 40 this 2 + qsort [0x82, 0xb2] done 42 this 2 + qsort [0xfb, 0x8d] done 44 this 2 + qsort [0xfb, 0xde] done 46 this 2 + qsort [0x8f, 0x65] done 48 this 2 + qsort [0x8f, 0x6f] done 50 this 2 + qsort [0x8f, 0xaa] done 52 this 2 + qsort [0xea, 0x3c] done 54 this 2 + qsort [0xea, 0x61] done 56 this 2 + qsort [0xea, 0xbe] done 58 this 2 + qsort [0x24, 0x59] done 60 this 2 + qsort [0x24, 0x74] done 62 this 2 + qsort [0x24, 0xbf] done 64 this 2 + qsort [0xb0, 0x8d] done 66 this 2 + qsort [0xb0, 0xec] done 68 this 2 + qsort [0xb0, 0xed] done 70 this 3 + qsort [0xad, 0x5d] done 73 this 2 + qsort [0xad, 0x70] done 75 this 2 + qsort [0xf4, 0x5c] done 77 this 2 + qsort [0x85, 0x0] done 79 this 2 + qsort [0x85, 0x54] done 81 this 4 + qsort [0x89, 0x0] done 85 this 4 + qsort [0x89, 0x3a] done 89 this 2 + qsort [0x89, 0x61] done 91 this 2 + qsort [0xa2, 0x2a] done 93 this 2 + qsort [0xa2, 0x49] done 95 this 2 + qsort [0xa2, 0x63] done 97 this 2 + qsort [0xa2, 0xa0] done 99 this 2 + qsort [0xdd, 0x3c] done 101 this 2 + qsort [0xf0, 0xb8] done 103 this 2 + qsort [0xf0, 0xc3] done 105 this 2 + qsort [0x13, 0x91] done 107 this 2 + qsort [0xec, 0xa] done 109 this 2 + qsort [0xec, 0x4b] done 111 this 2 + qsort [0xec, 0x67] done 113 this 3 + qsort [0x5a, 0x53] done 116 this 3 + qsort [0x5a, 0x9d] done 119 this 2 + qsort [0xce, 0xbf] done 121 this 2 + qsort [0xce, 0xc0] done 123 this 2 + qsort [0xce, 0xd2] done 125 this 2 + qsort [0xce, 0xee] done 127 this 2 + qsort [0x19, 0x0] done 129 this 2 + qsort [0x19, 0xfd] done 131 this 2 + qsort [0x83, 0x8e] done 133 this 3 + qsort [0x83, 0x92] done 136 this 2 + qsort [0x5e, 0xc5] done 138 this 2 + qsort [0x5e, 0xff] done 140 this 5 + qsort [0x16, 0xb2] done 145 this 2 + qsort [0x16, 0xdf] done 147 this 2 + qsort [0x25, 0x6f] done 149 this 2 + qsort [0x10, 0x1a] done 151 this 2 + qsort [0xfe, 0xf2] done 153 this 2 + qsort [0xd6, 0x4e] done 155 this 2 + qsort [0xd6, 0x8c] done 157 this 2 + qsort [0xd6, 0x93] done 159 this 2 + qsort [0xd6, 0xc6] done 161 this 3 + qsort [0xef, 0x6f] done 164 this 2 + qsort [0xef, 0xa5] done 166 this 3 + qsort [0xd9, 0x8d] done 169 this 3 + qsort [0xd9, 0x93] done 172 this 2 + qsort [0x3c, 0x43] done 174 this 2 + qsort [0x3c, 0x78] done 176 this 2 + qsort [0x3c, 0x8d] done 178 this 2 + qsort [0x81, 0xb2] done 180 this 3 + qsort [0x81, 0xd1] done 183 this 2 + qsort [0xe6, 0x20] done 185 this 2 + qsort [0xe6, 0x4b] done 187 this 2 + qsort [0xe6, 0x6c] done 189 this 3 + qsort [0x9c, 0x23] done 192 this 2 + qsort [0x9c, 0xb4] done 194 this 2 + qsort [0xa7, 0x33] done 196 this 4 + qsort [0xa7, 0x6a] done 200 this 2 + qsort [0xa7, 0x78] done 202 this 2 + qsort [0x7d, 0x5c] done 204 this 2 + qsort [0x7d, 0x61] done 206 this 4 + qsort [0x7d, 0x8e] done 210 this 3 + qsort [0x7d, 0xb5] done 213 this 2 + qsort [0x80, 0x0] done 215 this 6 + qsort [0x80, 0x69] done 221 this 2 + qsort [0xb6, 0x62] done 223 this 2 + qsort [0xb6, 0x66] done 225 this 3 + qsort [0xd1, 0x46] done 228 this 2 + qsort [0xd1, 0x75] done 230 this 2 + qsort [0xd1, 0x8d] done 232 this 2 + qsort [0xd1, 0xb2] done 234 this 3 + qsort [0xb3, 0x4c] done 237 this 3 + qsort [0xb3, 0x8d] done 240 this 2 + qsort [0xcb, 0x50] done 242 this 2 + qsort [0xcb, 0x73] done 244 this 2 + qsort [0xcb, 0x74] done 246 this 2 + qsort [0x56, 0x0] done 248 this 2 + qsort [0x56, 0x91] done 250 this 4 + qsort [0x9e, 0x5c] done 254 this 2 + qsort [0x9e, 0xc2] done 256 this 6 + qsort [0x9e, 0xfc] done 262 this 2 + qsort [0xd4, 0x77] done 264 this 2 + qsort [0xed, 0x17] done 266 this 2 + qsort [0xed, 0x61] done 268 this 3 + qsort [0xed, 0x74] done 271 this 2 + qsort [0xc2, 0x63] done 273 this 2 + qsort [0xd3, 0x74] done 275 this 2 + qsort [0xd3, 0xb2] done 277 this 2 + qsort [0x86, 0x49] done 279 this 2 + qsort [0x86, 0x50] done 281 this 4 + qsort [0x86, 0x6b] done 285 this 3 + qsort [0xa8, 0x0] done 288 this 2 + qsort [0xa8, 0x66] done 290 this 2 + qsort [0xa8, 0x8d] done 292 this 2 + qsort [0xa8, 0xb8] done 294 this 5 + qsort [0xa8, 0xde] done 299 this 2 + qsort [0x60, 0x0] done 301 this 5 + qsort [0x60, 0x79] done 306 this 2 + qsort [0x60, 0xbb] done 308 this 2 + qsort [0xd2, 0x8] done 310 this 2 + qsort [0xd2, 0x3f] done 312 this 2 + qsort [0xd2, 0xc6] done 314 this 2 + qsort [0xda, 0x57] done 316 this 2 + qsort [0xda, 0x61] done 318 this 2 + qsort [0xda, 0xc8] done 320 this 2 + qsort [0x26, 0x74] done 322 this 2 + qsort [0x26, 0x90] done 324 this 3 + qsort [0x26, 0xc5] done 327 this 3 + qsort [0x26, 0xc7] done 330 this 6 + qsort [0xa5, 0x52] done 336 this 4 + qsort [0xa5, 0x63] done 340 this 3 + qsort [0xa5, 0x74] done 343 this 2 + qsort [0xa5, 0xa4] done 345 this 2 + qsort [0x51, 0x61] done 347 this 2 + qsort [0x51, 0x75] done 349 this 2 + qsort [0x51, 0xb9] done 351 this 2 + qsort [0x51, 0xc7] done 353 this 3 + qsort [0xac, 0xdf] done 356 this 2 + qsort [0xac, 0xfa] done 358 this 2 + qsort [0x12, 0x0] done 360 this 4 + qsort [0x12, 0x61] done 364 this 3 + qsort [0x12, 0xa1] done 367 this 2 + qsort [0x14, 0xff] done 369 this 3 + qsort [0xe, 0x3e] done 372 this 2 + qsort [0xe, 0x63] done 374 this 6 + qsort [0xe, 0x66] done 380 this 6 + qsort [0xe, 0xde] done 386 this 2 + qsort [0xfa, 0x65] done 388 this 2 + qsort [0xfa, 0x72] done 390 this 2 + qsort [0xfa, 0xb1] done 392 this 2 + qsort [0x97, 0x49] done 394 this 2 + qsort [0x97, 0x54] done 396 this 3 + qsort [0x97, 0x70] done 399 this 2 + qsort [0x97, 0x72] done 401 this 2 + qsort [0x97, 0x74] done 403 this 4 + qsort [0x59, 0x33] done 407 this 3 + qsort [0x59, 0x8d] done 410 this 2 + qsort [0x59, 0x91] done 412 this 6 + qsort [0x59, 0xd0] done 418 this 2 + qsort [0xb4, 0x43] done 420 this 3 + qsort [0xb4, 0x6e] done 423 this 5 + qsort [0xb4, 0x8b] done 428 this 2 + qsort [0xb4, 0x8d] done 430 this 2 + qsort [0xb4, 0x91] done 432 this 2 + qsort [0x11, 0x69] done 434 this 6 + qsort [0x11, 0x71] done 440 this 2 + qsort [0x11, 0xd7] done 442 this 3 + qsort [0x2f, 0x3f] done 445 this 2 + qsort [0x2f, 0x61] done 447 this 2 + qsort [0x2f, 0x8e] done 449 this 2 + qsort [0x2f, 0x91] done 451 this 2 + qsort [0x2f, 0xc1] done 453 this 3 + qsort [0xca, 0x0] done 456 this 4 + qsort [0xca, 0x6f] done 460 this 2 + qsort [0xca, 0x73] done 462 this 4 + qsort [0xca, 0xaa] done 466 this 8 + qsort [0xd, 0x21] done 474 this 2 + qsort [0xd, 0x61] done 476 this 4 + qsort [0xd, 0x6f] done 480 this 3 + qsort [0xd, 0xb9] done 483 this 4 + qsort [0x8, 0x2d] done 487 this 5 + qsort [0x8, 0x74] done 492 this 2 + qsort [0x8, 0xaf] done 494 this 3 + qsort [0x40, 0x2] done 497 this 20 + qsort [0x18, 0x7] done 517 this 4 + qsort [0x18, 0xb2] done 521 this 2 + qsort [0x18, 0xb8] done 523 this 5 + qsort [0xf, 0x1] done 528 this 2 + qsort [0xf, 0x54] done 530 this 2 + qsort [0xf, 0x91] done 532 this 2 + qsort [0xf, 0xbf] done 534 this 9 + qsort [0xc5, 0x62] done 543 this 2 + qsort [0xc5, 0x69] done 545 this 6 + qsort [0xc5, 0x74] done 551 this 3 + qsort [0xe2, 0x66] done 554 this 13 + qsort [0xb9, 0x0] done 567 this 2 + qsort [0xb9, 0x17] done 569 this 4 + qsort [0xb9, 0x2b] done 573 this 2 + qsort [0xb9, 0x41] done 575 this 2 + qsort [0xb9, 0x55] done 577 this 2 + qsort [0x8b, 0x0] done 579 this 18 + qsort [0x8b, 0xc7] done 597 this 2 + qsort [0x8b, 0xd0] done 599 this 2 + qsort [0xf7, 0x47] done 601 this 2 + qsort [0xf7, 0x48] done 603 this 2 + qsort [0xf7, 0x63] done 605 this 2 + qsort [0xf7, 0x66] done 607 this 5 + qsort [0xf7, 0x67] done 612 this 3 + qsort [0xf7, 0x68] done 615 this 3 + qsort [0xf7, 0x6d] done 618 this 2 + qsort [0xf7, 0xc1] done 620 this 5 + qsort [0x99, 0x73] done 625 this 2 + qsort [0x99, 0x74] done 627 this 2 + qsort [0x99, 0x9a] done 629 this 15 + qsort [0x45, 0x29] done 644 this 2 + qsort [0x45, 0x2e] done 646 this 2 + qsort [0x45, 0x6c] done 648 this 2 + qsort [0x45, 0x76] done 650 this 10 + qsort [0x45, 0x78] done 660 this 2 + qsort [0x8c, 0x67] done 662 this 2 + qsort [0x2b, 0x29] done 664 this 2 + qsort [0x2b, 0x31] done 666 this 4 + qsort [0x2b, 0x32] done 670 this 2 + qsort [0x2b, 0x70] done 672 this 2 + qsort [0x2b, 0x74] done 674 this 2 + qsort [0x2b, 0x8e] done 676 this 2 + qsort [0x2b, 0x91] done 678 this 2 + qsort [0x4b, 0x0] done 680 this 2 + qsort [0x4b, 0x2c] done 682 this 2 + qsort [0x4b, 0x48] done 684 this 2 + qsort [0x4b, 0x55] done 686 this 2 + qsort [0x4b, 0x66] done 688 this 4 + qsort [0x4b, 0x98] done 692 this 2 + qsort [0x4b, 0xf1] done 694 this 2 + qsort [0xa9, 0x0] done 696 this 2 + qsort [0xa9, 0xc] done 698 this 8 + qsort [0xa9, 0xb1] done 706 this 2 + qsort [0xa9, 0xbf] done 708 this 2 + qsort [0x7a, 0x65] done 710 this 17 + qsort [0x7a, 0x79] done 727 this 12 + qsort [0x3e, 0x0] done 739 this 2 + qsort [0x3e, 0x5d] done 741 this 2 + qsort [0x3e, 0x74] done 743 this 2 + qsort [0x3e, 0x93] done 745 this 10 + qsort [0x3e, 0xb2] done 755 this 5 + qsort [0x4f, 0x21] done 760 this 2 + qsort [0x4f, 0x27] done 762 this 2 + qsort [0x4f, 0x62] done 764 this 3 + qsort [0x4f, 0x63] done 767 this 2 + qsort [0x4f, 0x66] done 769 this 2 + qsort [0x4f, 0x6e] done 771 this 4 + qsort [0x4f, 0x75] done 775 this 2 + qsort [0x4f, 0x76] done 777 this 3 + qsort [0x4f, 0x78] done 780 this 2 + qsort [0x4f, 0xb2] done 782 this 2 + qsort [0xe5, 0x69] done 784 this 2 + qsort [0xe5, 0xb1] done 786 this 29 + qsort [0xfc, 0x2d] done 815 this 5 + qsort [0xfc, 0x43] done 820 this 2 + qsort [0xfc, 0x49] done 822 this 3 + qsort [0xfc, 0xc0] done 825 this 2 + qsort [0xfc, 0xd0] done 827 this 3 + qsort [0xae, 0x39] done 830 this 17 + qsort [0xae, 0x46] done 847 this 2 + qsort [0xae, 0xaa] done 849 this 2 + qsort [0xae, 0xb1] done 851 this 2 + qsort [0xae, 0xd5] done 853 this 2 + qsort [0x6a, 0x61] done 855 this 2 + qsort [0x6a, 0x65] done 857 this 8 + qsort [0x6a, 0x6f] done 865 this 7 + qsort [0x6a, 0x75] done 872 this 8 + qsort [0x6a, 0x91] done 880 this 2 + qsort [0xcf, 0x84] done 882 this 30 + qsort [0xcf, 0x9f] done 912 this 3 + qsort [0x35, 0x29] done 915 this 2 + qsort [0x35, 0x2e] done 917 this 7 + qsort [0x35, 0x31] done 924 this 2 + qsort [0x35, 0x34] done 926 this 2 + qsort [0x35, 0x39] done 928 this 2 + qsort [0x35, 0x5d] done 930 this 2 + qsort [0x35, 0x8e] done 932 this 5 + qsort [0x35, 0x98] done 937 this 2 + qsort [0xaf, 0x32] done 939 this 2 + qsort [0xaf, 0x33] done 941 this 18 + qsort [0xaf, 0x4c] done 959 this 2 + qsort [0xaf, 0xd0] done 961 this 3 + qsort [0xbf, 0x9f] done 964 this 2 + qsort [0xbf, 0xf3] done 966 this 2 + qsort [0x21, 0x1] done 968 this 4 + qsort [0x21, 0x22] done 972 this 2 + qsort [0x21, 0x5d] done 974 this 4 + qsort [0x21, 0x65] done 978 this 3 + qsort [0x21, 0x93] done 981 this 11 + qsort [0x36, 0x2c] done 992 this 2 + qsort [0x36, 0x2e] done 994 this 2 + qsort [0x36, 0x32] done 996 this 2 + qsort [0x36, 0x74] done 998 this 3 + qsort [0x36, 0x77] done 1001 this 2 + qsort [0x36, 0x7b] done 1003 this 4 + qsort [0x36, 0x93] done 1007 this 2 + qsort [0xd8, 0x31] done 1009 this 2 + qsort [0xd8, 0x87] done 1011 this 22 + qsort [0xd8, 0xb2] done 1033 this 4 + qsort [0xd8, 0xb8] done 1037 this 2 + qsort [0x42, 0x39] done 1039 this 2 + qsort [0x42, 0x48] done 1041 this 4 + qsort [0x42, 0x61] done 1045 this 11 + qsort [0x42, 0x65] done 1056 this 6 + qsort [0x42, 0x6f] done 1062 this 2 + qsort [0x42, 0x75] done 1064 this 7 + qsort [0x42, 0x79] done 1071 this 2 + qsort [0x42, 0xb2] done 1073 this 2 + qsort [0x7e, 0x61] done 1075 this 43 + qsort [0x9d, 0x54] done 1118 this 39 + qsort [0x7c, 0x71] done 1157 this 15 + qsort [0x7c, 0x72] done 1172 this 14 + qsort [0x7c, 0x73] done 1186 this 10 + qsort [0xcd, 0x61] done 1196 this 2 + qsort [0xcd, 0x74] done 1198 this 35 + qsort [0xcd, 0x8d] done 1233 this 5 + qsort [0xb7, 0x3f] done 1238 this 4 + qsort [0xb7, 0xa4] done 1242 this 38 + qsort [0xe7, 0x5d] done 1280 this 17 + qsort [0xe7, 0x69] done 1297 this 2 + qsort [0xe7, 0x6b] done 1299 this 2 + qsort [0xe7, 0x70] done 1301 this 2 + qsort [0xe7, 0x74] done 1303 this 4 + qsort [0xf5, 0x48] done 1307 this 2 + qsort [0xf5, 0x54] done 1309 this 30 + qsort [0xf5, 0x62] done 1339 this 2 + qsort [0xf5, 0xab] done 1341 this 6 + qsort [0x3b, 0x0] done 1347 this 19 + qsort [0x3b, 0x91] done 1366 this 6 + qsort [0x3b, 0x93] done 1372 this 3 + qsort [0x3b, 0x98] done 1375 this 7 + qsort [0x3b, 0x9b] done 1382 this 3 + qsort [0x15, 0x54] done 1385 this 39 + qsort [0x15, 0x73] done 1424 this 2 + qsort [0x4a, 0x2e] done 1426 this 3 + qsort [0x4a, 0x39] done 1429 this 3 + qsort [0x4a, 0x4d] done 1432 this 2 + qsort [0x4a, 0x61] done 1434 this 3 + qsort [0x4a, 0x6c] done 1437 this 2 + qsort [0x4a, 0x6f] done 1439 this 18 + qsort [0x4a, 0x75] done 1457 this 8 + qsort [0x4a, 0xaa] done 1465 this 11 + qsort [0x37, 0x2e] done 1476 this 6 + qsort [0x37, 0x30] done 1482 this 3 + qsort [0x37, 0x32] done 1485 this 2 + qsort [0x37, 0x33] done 1487 this 3 + qsort [0x37, 0x38] done 1490 this 3 + qsort [0x37, 0x5d] done 1493 this 2 + qsort [0x37, 0x61] done 1495 this 2 + qsort [0x37, 0x8e] done 1497 this 3 + qsort [0x37, 0x91] done 1500 this 3 + qsort [0x37, 0xf3] done 1503 this 4 + qsort [0xc8, 0x17] done 1507 this 42 + qsort [0xc8, 0x5b] done 1549 this 2 + qsort [0xc8, 0x6d] done 1551 this 2 + qsort [0xd7, 0x1b] done 1553 this 5 + qsort [0xd7, 0x63] done 1558 this 36 + qsort [0xd7, 0x6f] done 1594 this 2 + qsort [0x57, 0x48] done 1596 this 3 + qsort [0x57, 0x5b] done 1599 this 7 + qsort [0x57, 0x68] done 1606 this 4 + qsort [0x57, 0x69] done 1610 this 3 + qsort [0x57, 0x6f] done 1613 this 5 + qsort [0x57, 0x8d] done 1618 this 3 + qsort [0x57, 0x91] done 1621 this 19 + qsort [0x57, 0x96] done 1640 this 2 + qsort [0x84, 0x0] done 1642 this 45 + qsort [0xf2, 0x22] done 1687 this 2 + qsort [0xf2, 0x73] done 1689 this 2 + qsort [0xf2, 0x94] done 1691 this 2 + qsort [0xcc, 0x5] done 1693 this 4 + qsort [0xcc, 0x3f] done 1697 this 4 + qsort [0xcc, 0x5c] done 1701 this 37 + qsort [0xcc, 0x6f] done 1738 this 2 + qsort [0xf3, 0x0] done 1740 this 2 + qsort [0xf3, 0x6] done 1742 this 2 + qsort [0xf3, 0x7] done 1744 this 2 + qsort [0xf3, 0x9] done 1746 this 2 + qsort [0xf3, 0xa] done 1748 this 4 + qsort [0xf3, 0xc] done 1752 this 2 + qsort [0xf3, 0x1a] done 1754 this 3 + qsort [0xf3, 0x28] done 1757 this 2 + qsort [0xf3, 0x29] done 1759 this 2 + qsort [0xf3, 0x2c] done 1761 this 2 + qsort [0xf3, 0x31] done 1763 this 2 + qsort [0xf3, 0x32] done 1765 this 2 + qsort [0xf3, 0x33] done 1767 this 2 + qsort [0xf3, 0x65] done 1769 this 2 + qsort [0xf3, 0x8d] done 1771 this 2 + qsort [0x17, 0x61] done 1773 this 39 + qsort [0x17, 0x6f] done 1812 this 6 + qsort [0x17, 0xa4] done 1818 this 2 + qsort [0x17, 0xb2] done 1820 this 3 + qsort [0x7b, 0x31] done 1823 this 2 + qsort [0x7b, 0x32] done 1825 this 2 + qsort [0x7b, 0x33] done 1827 this 4 + qsort [0x7b, 0x69] done 1831 this 2 + qsort [0x7b, 0x77] done 1833 this 2 + qsort [0x7b, 0x8e] done 1835 this 20 + qsort [0x7b, 0x93] done 1855 this 10 + qsort [0x7b, 0x98] done 1865 this 7 + qsort [0x22, 0x2c] done 1872 this 7 + qsort [0x22, 0x2e] done 1879 this 3 + qsort [0x22, 0x65] done 1882 this 9 + qsort [0x22, 0x91] done 1891 this 2 + qsort [0x22, 0x93] done 1893 this 5 + qsort [0x22, 0x98] done 1898 this 6 + qsort [0x7f, 0x3d] done 1904 this 2 + qsort [0x7f, 0xff] done 1906 this 36 + qsort [0x1a, 0x3f] done 1942 this 2 + qsort [0x1a, 0x4e] done 1944 this 42 + qsort [0x1a, 0x74] done 1986 this 3 + qsort [0xba, 0xee] done 1989 this 53 + qsort [0x92, 0x0] done 2042 this 50 + qsort [0x92, 0x1] done 2092 this 8 + qsort [0x92, 0xc0] done 2100 this 2 + qsort [0x58, 0x61] done 2102 this 48 + qsort [0xfd, 0x0] done 2150 this 2 + qsort [0xfd, 0x2c] done 2152 this 3 + qsort [0xfd, 0x3a] done 2155 this 2 + qsort [0xfd, 0x3d] done 2157 this 8 + qsort [0xfd, 0x44] done 2165 this 3 + qsort [0xfd, 0x49] done 2168 this 2 + qsort [0xfd, 0x66] done 2170 this 2 + qsort [0xfd, 0xe4] done 2172 this 17 + qsort [0xa6, 0xb] done 2189 this 5 + qsort [0xa6, 0x6f] done 2194 this 2 + qsort [0xa6, 0x8d] done 2196 this 53 + qsort [0xd0, 0x2c] done 2249 this 16 + qsort [0xd0, 0x2e] done 2265 this 8 + qsort [0xd0, 0x39] done 2273 this 3 + qsort [0xd0, 0x41] done 2276 this 6 + qsort [0xd0, 0x44] done 2282 this 2 + qsort [0xd0, 0x49] done 2284 this 2 + qsort [0xd0, 0x50] done 2286 this 2 + qsort [0xd0, 0x5b] done 2288 this 2 + qsort [0xd0, 0x61] done 2290 this 2 + qsort [0xd0, 0x62] done 2292 this 3 + qsort [0xd0, 0x69] done 2295 this 2 + qsort [0xd0, 0x74] done 2297 this 2 + qsort [0xee, 0x65] done 2299 this 55 + qsort [0xbb, 0x30] done 2354 this 4 + qsort [0xbb, 0x32] done 2358 this 6 + qsort [0xbb, 0x33] done 2364 this 4 + qsort [0xbb, 0x34] done 2368 this 17 + qsort [0xbb, 0x4d] done 2385 this 2 + qsort [0xbb, 0x61] done 2387 this 3 + qsort [0x44, 0x2e] done 2390 this 2 + qsort [0x44, 0x53] done 2392 this 4 + qsort [0x44, 0x61] done 2396 this 4 + qsort [0x44, 0x63] done 2400 this 2 + qsort [0x44, 0x65] done 2402 this 23 + qsort [0x44, 0x6f] done 2425 this 3 + qsort [0x44, 0x72] done 2428 this 10 + qsort [0x44, 0x75] done 2438 this 2 + qsort [0x44, 0x91] done 2440 this 4 + qsort [0x38, 0x2e] done 2444 this 3 + qsort [0x38, 0x33] done 2447 this 2 + qsort [0x38, 0x8e] done 2449 this 2 + qsort [0x38, 0x91] done 2451 this 4 + qsort [0x38, 0x93] done 2455 this 2 + qsort [0x38, 0xe0] done 2457 this 2 + qsort [0x38, 0xe3] done 2459 this 2 + qsort [0x3d, 0x0] done 2461 this 31 + qsort [0x3d, 0x2d] done 2492 this 2 + qsort [0x3d, 0x8d] done 2494 this 4 + qsort [0x3d, 0x91] done 2498 this 4 + qsort [0x3d, 0x93] done 2502 this 18 + qsort [0x34, 0x2e] done 2520 this 11 + qsort [0x34, 0x30] done 2531 this 2 + qsort [0x34, 0x32] done 2533 this 2 + qsort [0x34, 0x5d] done 2535 this 2 + qsort [0x34, 0x8e] done 2537 this 17 + qsort [0x34, 0x91] done 2554 this 4 + qsort [0x34, 0x93] done 2558 this 9 + qsort [0x34, 0x96] done 2567 this 4 + qsort [0x34, 0xb2] done 2571 this 7 + qsort [0x34, 0xdc] done 2578 this 2 + qsort [0xc4, 0xc] done 2580 this 4 + qsort [0xc4, 0x66] done 2584 this 2 + qsort [0xc4, 0x69] done 2586 this 4 + qsort [0xc4, 0x6c] done 2590 this 18 + qsort [0xc4, 0x6f] done 2608 this 2 + qsort [0x49, 0x66] done 2610 this 5 + qsort [0x49, 0x6d] done 2615 this 5 + qsort [0x49, 0x6e] done 2620 this 54 + qsort [0x49, 0x74] done 2674 this 6 + qsort [0x27, 0x39] done 2680 this 2 + qsort [0x27, 0x3a] done 2682 this 2 + qsort [0x27, 0x6b] done 2684 this 4 + qsort [0x27, 0x73] done 2688 this 25 + qsort [0x27, 0x74] done 2713 this 2 + qsort [0x27, 0x78] done 2715 this 35 + qsort [0x94, 0x73] done 2750 this 30 + qsort [0x94, 0x74] done 2780 this 42 + qsort [0x4d, 0x31] done 2822 this 2 + qsort [0x4d, 0x39] done 2824 this 2 + qsort [0x4d, 0x46] done 2826 this 6 + qsort [0x4d, 0x61] done 2832 this 28 + qsort [0x4d, 0x65] done 2860 this 2 + qsort [0x4d, 0x6f] done 2862 this 4 + qsort [0x4d, 0x79] done 2866 this 2 + qsort [0x4d, 0x8d] done 2868 this 2 + qsort [0x4d, 0x8e] done 2870 this 2 + qsort [0x4d, 0x90] done 2872 this 2 + qsort [0x4d, 0x91] done 2874 this 4 + qsort [0x4d, 0x98] done 2878 this 2 + qsort [0x4d, 0xb2] done 2880 this 6 + qsort [0x5c, 0x9] done 2886 this 2 + qsort [0x5c, 0x61] done 2888 this 3 + qsort [0x5c, 0x63] done 2891 this 2 + qsort [0x5c, 0x65] done 2893 this 2 + qsort [0x5c, 0x66] done 2895 this 3 + qsort [0x5c, 0x69] done 2898 this 5 + qsort [0x5c, 0x6c] done 2903 this 3 + qsort [0x5c, 0x6e] done 2906 this 2 + qsort [0x5c, 0x8d] done 2908 this 36 + qsort [0x5c, 0x91] done 2944 this 2 + qsort [0x3f, 0x8e] done 2946 this 11 + qsort [0x3f, 0x93] done 2957 this 3 + qsort [0x3f, 0xb2] done 2960 this 15 + qsort [0x3f, 0xb5] done 2975 this 5 + qsort [0x3f, 0xf1] done 2980 this 2 + qsort [0xa4, 0xb] done 2982 this 5 + qsort [0xa4, 0xc] done 2987 this 15 + qsort [0xa4, 0x4e] done 3002 this 2 + qsort [0xa4, 0x6d] done 3004 this 2 + qsort [0xa4, 0x74] done 3006 this 38 + qsort [0xa4, 0xa0] done 3044 this 18 + qsort [0xa0, 0x0] done 3062 this 6 + qsort [0xa0, 0x2] done 3068 this 36 + qsort [0xa0, 0x52] done 3104 this 2 + qsort [0xa0, 0x62] done 3106 this 2 + qsort [0x4e, 0x0] done 3108 this 2 + qsort [0x4e, 0x39] done 3110 this 2 + qsort [0x4e, 0x43] done 3112 this 3 + qsort [0x4e, 0x46] done 3115 this 2 + qsort [0x4e, 0x61] done 3117 this 7 + qsort [0x4e, 0x65] done 3124 this 14 + qsort [0x4e, 0x69] done 3138 this 4 + qsort [0x4e, 0x6f] done 3142 this 6 + qsort [0x4e, 0x73] done 3148 this 36 + qsort [0x30, 0x0] done 3184 this 3 + qsort [0x30, 0x2c] done 3187 this 2 + qsort [0x30, 0x2e] done 3189 this 8 + qsort [0x30, 0x31] done 3197 this 3 + qsort [0x30, 0x5d] done 3200 this 9 + qsort [0x30, 0x65] done 3209 this 2 + qsort [0x30, 0x6b] done 3211 this 2 + qsort [0x30, 0x8e] done 3213 this 5 + qsort [0x30, 0x91] done 3218 this 2 + qsort [0x30, 0x93] done 3220 this 3 + qsort [0x30, 0x98] done 3223 this 2 + qsort [0x30, 0xb2] done 3225 this 5 + qsort [0x30, 0xb8] done 3230 this 2 + qsort [0x5, 0x31] done 3232 this 2 + qsort [0x5, 0x4c] done 3234 this 3 + qsort [0x5, 0x5d] done 3237 this 4 + qsort [0x5, 0x63] done 3241 this 16 + qsort [0x5, 0x6d] done 3257 this 2 + qsort [0x5, 0x9f] done 3259 this 4 + qsort [0x5, 0xa1] done 3263 this 2 + qsort [0x5, 0xe4] done 3265 this 2 + qsort [0x50, 0x43] done 3267 this 3 + qsort [0x50, 0x4c] done 3270 this 4 + qsort [0x50, 0x62] done 3274 this 4 + qsort [0x50, 0x68] done 3278 this 8 + qsort [0x50, 0x6f] done 3286 this 2 + qsort [0x50, 0x72] done 3288 this 34 + qsort [0x50, 0x75] done 3322 this 2 + qsort [0x50, 0x90] done 3324 this 3 + qsort [0x50, 0x93] done 3327 this 5 + qsort [0x50, 0x95] done 3332 this 5 + qsort [0x50, 0x98] done 3337 this 2 + qsort [0x50, 0x9a] done 3339 this 2 + qsort [0x46, 0x29] done 3341 this 2 + qsort [0x46, 0x2e] done 3343 this 5 + qsort [0x46, 0x48] done 3348 this 4 + qsort [0x46, 0x69] done 3352 this 13 + qsort [0x46, 0x91] done 3365 this 49 + qsort [0x46, 0x93] done 3414 this 2 + qsort [0x46, 0x96] done 3416 this 2 + qsort [0x46, 0x98] done 3418 this 6 + qsort [0x46, 0x9a] done 3424 this 2 + qsort [0x43, 0x2e] done 3426 this 5 + qsort [0x43, 0x53] done 3431 this 5 + qsort [0x43, 0x61] done 3436 this 4 + qsort [0x43, 0x68] done 3440 this 9 + qsort [0x43, 0x6c] done 3449 this 3 + qsort [0x43, 0x6f] done 3452 this 52 + qsort [0x4c, 0x2c] done 3504 this 3 + qsort [0x4c, 0x2e] done 3507 this 7 + qsort [0x4c, 0x39] done 3514 this 6 + qsort [0x4c, 0x61] done 3520 this 10 + qsort [0x4c, 0x65] done 3530 this 4 + qsort [0x4c, 0x69] done 3534 this 2 + qsort [0x4c, 0x6f] done 3536 this 3 + qsort [0x4c, 0x93] done 3539 this 6 + qsort [0xdf, 0x1b] done 3545 this 86 + qsort [0x87, 0x1b] done 3631 this 38 + qsort [0x87, 0x62] done 3669 this 5 + qsort [0x87, 0x65] done 3674 this 17 + qsort [0x87, 0x9f] done 3691 this 26 + qsort [0x87, 0xc3] done 3717 this 3 + qsort [0x20, 0xb5] done 3720 this 4 + qsort [0x20, 0xe4] done 3724 this 87 + qsort [0x29, 0x2c] done 3811 this 6 + qsort [0x29, 0x2e] done 3817 this 16 + qsort [0x29, 0x8d] done 3833 this 2 + qsort [0x29, 0x8e] done 3835 this 6 + qsort [0x29, 0x93] done 3841 this 28 + qsort [0x29, 0x96] done 3869 this 7 + qsort [0x29, 0x98] done 3876 this 10 + qsort [0x29, 0x9b] done 3886 this 2 + qsort [0x29, 0xb5] done 3888 this 6 + qsort [0x29, 0xb8] done 3894 this 5 + qsort [0x6, 0x0] done 3899 this 5 + qsort [0x6, 0x63] done 3904 this 16 + qsort [0x6, 0xc0] done 3920 this 2 + qsort [0x3a, 0x0] done 3922 this 4 + qsort [0x3a, 0x8e] done 3926 this 17 + qsort [0x3a, 0x91] done 3943 this 7 + qsort [0x3a, 0x93] done 3950 this 14 + qsort [0x3a, 0x96] done 3964 this 7 + qsort [0x3a, 0x98] done 3971 this 9 + qsort [0x3a, 0x9b] done 3980 this 3 + qsort [0x3a, 0xab] done 3983 this 41 + qsort [0x28, 0x31] done 4024 this 2 + qsort [0x28, 0x32] done 4026 this 3 + qsort [0x28, 0x5b] done 4029 this 5 + qsort [0x28, 0x61] done 4034 this 3 + qsort [0x28, 0x65] done 4037 this 2 + qsort [0x28, 0x66] done 4039 this 10 + qsort [0x28, 0x68] done 4049 this 3 + qsort [0x28, 0x69] done 4052 this 3 + qsort [0x28, 0x6e] done 4055 this 7 + qsort [0x28, 0x74] done 4062 this 2 + qsort [0x28, 0x8d] done 4064 this 7 + qsort [0x28, 0xb5] done 4071 this 12 + qsort [0x28, 0xb8] done 4083 this 12 + qsort [0x28, 0xc1] done 4095 this 4 + qsort [0x28, 0xe4] done 4099 this 5 + qsort [0x5d, 0x1b] done 4104 this 2 + qsort [0x5d, 0x2c] done 4106 this 22 + qsort [0x5d, 0x2e] done 4128 this 8 + qsort [0x5d, 0x5b] done 4136 this 9 + qsort [0x5d, 0x8e] done 4145 this 40 + qsort [0x5d, 0x91] done 4185 this 3 + qsort [0x5d, 0x93] done 4188 this 13 + qsort [0x5d, 0x96] done 4201 this 3 + qsort [0x5d, 0x98] done 4204 this 6 + qsort [0x5d, 0x9b] done 4210 this 3 + qsort [0x5d, 0xb2] done 4213 this 3 + qsort [0x5b, 0x31] done 4216 this 13 + qsort [0x5b, 0x33] done 4229 this 2 + qsort [0x5b, 0x41] done 4231 this 3 + qsort [0x5b, 0x48] done 4234 this 7 + qsort [0x5b, 0x53] done 4241 this 2 + qsort [0x5b, 0x61] done 4243 this 6 + qsort [0x5b, 0x8d] done 4249 this 45 + qsort [0x33, 0x2c] done 4294 this 3 + qsort [0x33, 0x2d] done 4297 this 2 + qsort [0x33, 0x2e] done 4299 this 17 + qsort [0x33, 0x31] done 4316 this 2 + qsort [0x33, 0x32] done 4318 this 4 + qsort [0x33, 0x69] done 4322 this 2 + qsort [0x33, 0x74] done 4324 this 2 + qsort [0x33, 0x75] done 4326 this 2 + qsort [0x33, 0x8e] done 4328 this 24 + qsort [0x33, 0x91] done 4352 this 8 + qsort [0xc1, 0x48] done 4360 this 3 + qsort [0xc1, 0x53] done 4363 this 12 + qsort [0xc1, 0x61] done 4375 this 3 + qsort [0xc1, 0x63] done 4378 this 7 + qsort [0xc1, 0x66] done 4385 this 25 + qsort [0xc1, 0x67] done 4410 this 3 + qsort [0xc1, 0x68] done 4413 this 3 + qsort [0xc1, 0x69] done 4416 this 3 + qsort [0xc1, 0x6c] done 4419 this 6 + qsort [0xc1, 0x6d] done 4425 this 4 + qsort [0xe4, 0x61] done 4429 this 3 + qsort [0xe4, 0x65] done 4432 this 18 + qsort [0xe4, 0x69] done 4450 this 50 + qsort [0xe4, 0x6e] done 4500 this 2 + qsort [0xe4, 0x73] done 4502 this 20 + qsort [0xe4, 0xb2] done 4522 this 2 + qsort [0xe4, 0xdc] done 4524 this 17 + qsort [0xb, 0x0] done 4541 this 52 + qsort [0xb, 0x65] done 4593 this 44 + qsort [0xb, 0x6f] done 4637 this 2 + qsort [0xb, 0x74] done 4639 this 6 + qsort [0xb, 0xde] done 4645 this 2 + qsort [0x32, 0x2c] done 4647 this 5 + qsort [0x32, 0x2d] done 4652 this 2 + qsort [0x32, 0x2e] done 4654 this 13 + qsort [0x32, 0x31] done 4667 this 2 + qsort [0x32, 0x61] done 4669 this 3 + qsort [0x32, 0x62] done 4672 this 2 + qsort [0x32, 0x8d] done 4674 this 2 + qsort [0x32, 0x8e] done 4676 this 12 + qsort [0x32, 0x91] done 4688 this 5 + qsort [0x32, 0x93] done 4693 this 5 + qsort [0x32, 0x96] done 4698 this 2 + qsort [0x9, 0x0] done 4700 this 22 + qsort [0x9, 0xde] done 4722 this 86 + qsort [0xde, 0x31] done 4808 this 6 + qsort [0xde, 0x41] done 4814 this 6 + qsort [0xde, 0x47] done 4820 this 2 + qsort [0xde, 0x72] done 4822 this 86 + qsort [0xde, 0x76] done 4908 this 2 + qsort [0xde, 0x91] done 4910 this 2 + qsort [0xde, 0x9b] done 4912 this 2 + qsort [0xaa, 0x2c] done 4914 this 20 + qsort [0xaa, 0x2e] done 4934 this 9 + qsort [0xaa, 0x61] done 4943 this 11 + qsort [0xaa, 0x65] done 4954 this 11 + qsort [0xaa, 0x6d] done 4965 this 2 + qsort [0xaa, 0x6f] done 4967 this 24 + qsort [0xaa, 0x70] done 4991 this 8 + qsort [0xaa, 0x72] done 4999 this 8 + qsort [0xaa, 0x75] done 5007 this 13 + qsort [0x1, 0x0] done 5020 this 2 + qsort [0x1, 0x41] done 5022 this 7 + qsort [0x1, 0x47] done 5029 this 2 + qsort [0x1, 0x53] done 5031 this 3 + qsort [0x1, 0x54] done 5034 this 9 + qsort [0x1, 0x9f] done 5043 this 6 + qsort [0x1, 0xb2] done 5049 this 4 + qsort [0x53, 0x2e] done 5053 this 3 + qsort [0x53, 0x61] done 5056 this 2 + qsort [0x53, 0x63] done 5058 this 13 + qsort [0x53, 0x65] done 5071 this 43 + qsort [0x53, 0x69] done 5114 this 6 + qsort [0x53, 0x6f] done 5120 this 7 + qsort [0x53, 0x70] done 5127 this 7 + qsort [0x53, 0x73] done 5134 this 3 + qsort [0x53, 0x74] done 5137 this 17 + qsort [0x53, 0x75] done 5154 this 8 + qsort [0x53, 0x79] done 5162 this 3 + qsort [0x53, 0x91] done 5165 this 6 + qsort [0x53, 0x93] done 5171 this 3 + qsort [0x53, 0xb5] done 5174 this 2 + qsort [0xe0, 0x0] done 5176 this 155 + qsort [0xe0, 0x8d] done 5331 this 2 + qsort [0xe0, 0xb8] done 5333 this 2 + qsort [0x1b, 0x61] done 5335 this 15 + qsort [0x1b, 0x63] done 5350 this 2 + qsort [0x1b, 0x65] done 5352 this 7 + qsort [0x1b, 0x67] done 5359 this 32 + qsort [0x1b, 0x69] done 5391 this 2 + qsort [0x1b, 0x6d] done 5393 this 2 + qsort [0x1b, 0x6e] done 5395 this 14 + qsort [0x1b, 0x6f] done 5409 this 40 + qsort [0x1b, 0x74] done 5449 this 21 + qsort [0x1b, 0xc7] done 5470 this 2 + qsort [0x48, 0x2e] done 5472 this 4 + qsort [0x48, 0x39] done 5476 this 6 + qsort [0x48, 0x41] done 5482 this 4 + qsort [0x48, 0x61] done 5486 this 51 + qsort [0x48, 0x65] done 5537 this 9 + qsort [0x48, 0x69] done 5546 this 7 + qsort [0x48, 0x6f] done 5553 this 4 + qsort [0x48, 0x72] done 5557 this 2 + qsort [0x48, 0x73] done 5559 this 13 + qsort [0x48, 0x75] done 5572 this 16 + qsort [0x48, 0x91] done 5588 this 2 + qsort [0xbe, 0x39] done 5590 this 151 + qsort [0xbe, 0x61] done 5741 this 2 + qsort [0xbe, 0xb1] done 5743 this 2 + qsort [0xbe, 0xb2] done 5745 this 2 + qsort [0xbe, 0xff] done 5747 this 2 + qsort [0xc, 0x0] done 5749 this 22 + qsort [0xc, 0x63] done 5771 this 11 + qsort [0xc, 0x65] done 5782 this 7 + qsort [0xc, 0x67] done 5789 this 2 + qsort [0xc, 0x6c] done 5791 this 9 + qsort [0xc, 0x6e] done 5800 this 12 + qsort [0xc, 0x72] done 5812 this 30 + qsort [0xc, 0x74] done 5842 this 3 + qsort [0xc, 0x78] done 5845 this 65 + qsort [0x41, 0x2d] done 5910 this 2 + qsort [0x41, 0x61] done 5912 this 4 + qsort [0x41, 0x64] done 5916 this 2 + qsort [0x41, 0x66] done 5918 this 2 + qsort [0x41, 0x6c] done 5920 this 10 + qsort [0x41, 0x6d] done 5930 this 2 + qsort [0x41, 0x6e] done 5932 this 7 + qsort [0x41, 0x72] done 5939 this 3 + qsort [0x41, 0x73] done 5942 this 7 + qsort [0x41, 0x79] done 5949 this 3 + qsort [0x41, 0x90] done 5952 this 10 + qsort [0x41, 0x91] done 5962 this 29 + qsort [0x41, 0x93] done 5991 this 2 + qsort [0x41, 0x96] done 5993 this 2 + qsort [0x41, 0x98] done 5995 this 2 + qsort [0x41, 0xc7] done 5997 this 102 + qsort [0x9f, 0x3] done 6099 this 33 + qsort [0x9f, 0x7] done 6132 this 3 + qsort [0x9f, 0xa] done 6135 this 3 + qsort [0x9f, 0x1d] done 6138 this 2 + qsort [0x9f, 0xff] done 6140 this 63 + qsort [0xf1, 0xc6] done 6203 this 216 + qsort [0x2d, 0x39] done 6419 this 3 + qsort [0x2d, 0x61] done 6422 this 5 + qsort [0x2d, 0x62] done 6427 this 8 + qsort [0x2d, 0x63] done 6435 this 4 + qsort [0x2d, 0x64] done 6439 this 2 + qsort [0x2d, 0x65] done 6441 this 3 + qsort [0x2d, 0x66] done 6444 this 5 + qsort [0x2d, 0x68] done 6449 this 2 + qsort [0x2d, 0x69] done 6451 this 3 + qsort [0x2d, 0x6c] done 6454 this 3 + qsort [0x2d, 0x6d] done 6457 this 3 + qsort [0x2d, 0x6e] done 6460 this 3 + qsort [0x2d, 0x6f] done 6463 this 18 + qsort [0x2d, 0x70] done 6481 this 10 + qsort [0x2d, 0x71] done 6491 this 2 + qsort [0x2d, 0x72] done 6493 this 12 + qsort [0x2d, 0x73] done 6505 this 12 + qsort [0x2d, 0x74] done 6517 this 7 + qsort [0x2d, 0x76] done 6524 this 4 + qsort [0x2d, 0x8e] done 6528 this 89 + qsort [0xc6, 0x61] done 6617 this 3 + qsort [0xc6, 0x63] done 6620 this 213 + qsort [0xc6, 0x69] done 6833 this 2 + qsort [0xc6, 0x6c] done 6835 this 2 + qsort [0xc6, 0xb8] done 6837 this 3 + qsort [0x6b, 0x2c] done 6840 this 8 + qsort [0x6b, 0x2e] done 6848 this 5 + qsort [0x6b, 0x62] done 6853 this 2 + qsort [0x6b, 0x69] done 6855 this 26 + qsort [0x6b, 0x6c] done 6881 this 2 + qsort [0x6b, 0x6e] done 6883 this 18 + qsort [0x6b, 0x73] done 6901 this 13 + qsort [0x6b, 0x74] done 6914 this 2 + qsort [0x6b, 0x77] done 6916 this 20 + qsort [0x6b, 0x79] done 6936 this 6 + qsort [0x6b, 0x8e] done 6942 this 2 + qsort [0x6b, 0x90] done 6944 this 14 + qsort [0x6b, 0x91] done 6958 this 3 + qsort [0x6b, 0x93] done 6961 this 48 + qsort [0x6b, 0x95] done 7009 this 2 + qsort [0x6b, 0x98] done 7011 this 52 + qsort [0x6b, 0x9a] done 7063 this 11 + qsort [0x78, 0x0] done 7074 this 2 + qsort [0x78, 0x31] done 7076 this 8 + qsort [0x78, 0x39] done 7084 this 2 + qsort [0x78, 0x61] done 7086 this 27 + qsort [0x78, 0x63] done 7113 this 4 + qsort [0x78, 0x65] done 7117 this 6 + qsort [0x78, 0x66] done 7123 this 2 + qsort [0x78, 0x69] done 7125 this 52 + qsort [0x78, 0x70] done 7177 this 97 + qsort [0x78, 0x72] done 7274 this 2 + qsort [0x78, 0x73] done 7276 this 5 + qsort [0x78, 0x74] done 7281 this 18 + qsort [0x78, 0x8d] done 7299 this 23 + qsort [0x78, 0x8e] done 7322 this 4 + qsort [0x78, 0x93] done 7326 this 6 + qsort [0x78, 0x96] done 7332 this 4 + qsort [0xd5, 0x54] done 7336 this 269 + qsort [0x2, 0x0] done 7605 this 5 + qsort [0x2, 0x54] done 7610 this 2 + qsort [0x2, 0x61] done 7612 this 2 + qsort [0x2, 0x67] done 7614 this 19 + qsort [0x2, 0x6f] done 7633 this 2 + qsort [0x2, 0x71] done 7635 this 2 + qsort [0x2, 0x76] done 7637 this 2 + qsort [0x2, 0x8d] done 7639 this 2 + qsort [0x2, 0x93] done 7641 this 5 + qsort [0x2, 0x96] done 7646 this 2 + qsort [0x2, 0x98] done 7648 this 2 + qsort [0x2, 0xab] done 7650 this 3 + qsort [0x2, 0xb2] done 7653 this 4 + qsort [0x2, 0xb8] done 7657 this 4 + qsort [0x2, 0xc3] done 7661 this 2 + qsort [0x2, 0xc7] done 7663 this 9 + qsort [0x2, 0xe3] done 7672 this 2 + qsort [0x9b, 0x3] done 7674 this 153 + qsort [0x9b, 0x4] done 7827 this 71 + qsort [0x9b, 0xff] done 7898 this 6 + qsort [0x2a, 0x69] done 7904 this 2 + qsort [0x2a, 0xab] done 7906 this 220 + qsort [0x52, 0x0] done 8126 this 274 + qsort [0x52, 0x2e] done 8400 this 3 + qsort [0x52, 0x65] done 8403 this 12 + qsort [0x52, 0x6f] done 8415 this 10 + qsort [0x52, 0xdc] done 8425 this 2 + qsort [0x4, 0x0] done 8427 this 3 + qsort [0x4, 0x3] done 8430 this 4 + qsort [0x4, 0xa] done 8434 this 2 + qsort [0x4, 0x1c] done 8436 this 5 + qsort [0x4, 0x23] done 8441 this 2 + qsort [0x4, 0x2e] done 8443 this 2 + qsort [0x4, 0x39] done 8445 this 3 + qsort [0x4, 0x47] done 8448 this 2 + qsort [0x4, 0x61] done 8450 this 3 + qsort [0x4, 0x63] done 8453 this 12 + qsort [0x4, 0x64] done 8465 this 2 + qsort [0x4, 0x65] done 8467 this 2 + qsort [0x4, 0x67] done 8469 this 4 + qsort [0x4, 0x6d] done 8473 this 2 + qsort [0x4, 0x70] done 8475 this 4 + qsort [0x4, 0x74] done 8479 this 2 + qsort [0x4, 0x75] done 8481 this 8 + qsort [0x4, 0x76] done 8489 this 2 + qsort [0x4, 0x79] done 8491 this 2 + qsort [0x4, 0x90] done 8493 this 2 + qsort [0x4, 0x91] done 8495 this 2 + qsort [0x4, 0x95] done 8497 this 3 + qsort [0x4, 0x96] done 8500 this 2 + qsort [0x4, 0x98] done 8502 this 5 + qsort [0x4, 0xa1] done 8507 this 3 + qsort [0x4, 0xb8] done 8510 this 2 + qsort [0x4, 0xdc] done 8512 this 2 + qsort [0x39, 0x2c] done 8514 this 2 + qsort [0x39, 0x2e] done 8516 this 3 + qsort [0x39, 0x31] done 8519 this 23 + qsort [0x39, 0x61] done 8542 this 18 + qsort [0x39, 0x62] done 8560 this 3 + qsort [0x39, 0x64] done 8563 this 19 + qsort [0x39, 0x65] done 8582 this 58 + qsort [0x39, 0x68] done 8640 this 7 + qsort [0x39, 0x69] done 8647 this 30 + qsort [0x39, 0x6d] done 8677 this 5 + qsort [0x39, 0x6f] done 8682 this 4 + qsort [0x39, 0x70] done 8686 this 7 + qsort [0x39, 0x75] done 8693 this 3 + qsort [0x39, 0x76] done 8696 this 2 + qsort [0x39, 0x77] done 8698 this 4 + qsort [0x39, 0x79] done 8702 this 7 + qsort [0x39, 0x93] done 8709 this 5 + qsort [0x1c, 0x65] done 8714 this 2 + qsort [0x1c, 0x71] done 8716 this 315 + qsort [0x1c, 0xc0] done 9031 this 4 + qsort [0xff, 0xa] done 9035 this 2 + qsort [0xff, 0x68] done 9037 this 2 + qsort [0xff, 0x71] done 9039 this 70 + qsort [0xff, 0x74] done 9109 this 42 + qsort [0xff, 0x75] done 9151 this 21 + qsort [0xff, 0xb1] done 9172 this 27 + qsort [0x76, 0x65] done 9199 this 3 + qsort [0x76, 0x69] done 9202 this 38 + qsort [0x76, 0x6c] done 9240 this 2 + qsort [0x76, 0x74] done 9242 this 2 + qsort [0x76, 0x90] done 9244 this 27 + qsort [0x76, 0x91] done 9271 this 76 + qsort [0x76, 0x93] done 9347 this 107 + qsort [0x76, 0x95] done 9454 this 27 + qsort [0x76, 0x98] done 9481 this 78 + qsort [0x76, 0x9a] done 9559 this 13 + qsort [0xc3, 0x61] done 9572 this 2 + qsort [0xc3, 0x8e] done 9574 this 376 + qsort [0xc3, 0xb2] done 9950 this 2 + qsort [0xc3, 0xe3] done 9952 this 2 + qsort [0xb2, 0x1d] done 9954 this 3 + qsort [0xb2, 0x2c] done 9957 this 25 + qsort [0xb2, 0x2e] done 9982 this 22 + qsort [0xb2, 0x31] done 10004 this 7 + qsort [0xb2, 0x47] done 10011 this 6 + qsort [0xb2, 0x54] done 10017 this 12 + qsort [0xb2, 0x61] done 10029 this 29 + qsort [0xb2, 0x62] done 10058 this 2 + qsort [0xb2, 0x63] done 10060 this 5 + qsort [0xb2, 0x64] done 10065 this 3 + qsort [0xb2, 0x65] done 10068 this 11 + qsort [0xb2, 0x66] done 10079 this 2 + qsort [0xb2, 0x68] done 10081 this 2 + qsort [0xb2, 0x69] done 10083 this 14 + qsort [0xb2, 0x6d] done 10097 this 5 + qsort [0xb2, 0x6f] done 10102 this 9 + qsort [0xb2, 0x70] done 10111 this 11 + qsort [0xb2, 0x73] done 10122 this 14 + qsort [0xb2, 0x74] done 10136 this 13 + qsort [0xb2, 0x77] done 10149 this 6 + qsort [0xc0, 0x0] done 10155 this 383 + qsort [0xc0, 0x61] done 10538 this 2 + qsort [0xc0, 0x8d] done 10540 this 2 + qsort [0x7, 0x0] done 10542 this 17 + qsort [0x7, 0x1d] done 10559 this 363 + qsort [0x7, 0x63] done 10922 this 2 + qsort [0x7, 0x70] done 10924 this 2 + qsort [0x31, 0x2e] done 10926 this 9 + qsort [0x31, 0x6f] done 10935 this 2 + qsort [0x31, 0x70] done 10937 this 2 + qsort [0x31, 0x8e] done 10939 this 21 + qsort [0x31, 0x91] done 10960 this 5 + qsort [0x31, 0x93] done 10965 this 3 + qsort [0x31, 0xc7] done 10968 this 272 + qsort [0xb5, 0x47] done 11240 this 20 + qsort [0xb5, 0x55] done 11260 this 372 + qsort [0xb5, 0x61] done 11632 this 2 + qsort [0xb5, 0x66] done 11634 this 14 + qsort [0xb5, 0x6e] done 11648 this 6 + qsort [0xb5, 0x73] done 11654 this 2 + qsort [0xb5, 0x79] done 11656 this 2 + qsort [0xb1, 0x69] done 11658 this 2 + qsort [0xb1, 0x6c] done 11660 this 29 + qsort [0xb1, 0x75] done 11689 this 2 + qsort [0xb1, 0x90] done 11691 this 2 + qsort [0xb1, 0xc7] done 11693 this 385 + qsort [0x71, 0x61] done 12078 this 124 + qsort [0x71, 0x62] done 12202 this 16 + qsort [0x71, 0x6d] done 12218 this 3 + qsort [0x71, 0x73] done 12221 this 191 + qsort [0x71, 0x75] done 12412 this 67 + qsort [0x71, 0xc7] done 12479 this 70 + qsort [0x54, 0x2e] done 12549 this 2 + qsort [0x54, 0x55] done 12551 this 3 + qsort [0x54, 0x61] done 12554 this 8 + qsort [0x54, 0x62] done 12562 this 7 + qsort [0x54, 0x63] done 12569 this 30 + qsort [0x54, 0x65] done 12599 this 255 + qsort [0x54, 0x68] done 12854 this 128 + qsort [0x54, 0x69] done 12982 this 8 + qsort [0x54, 0x6c] done 12990 this 2 + qsort [0x54, 0x6f] done 12992 this 8 + qsort [0x54, 0x70] done 13000 this 4 + qsort [0x54, 0x72] done 13004 this 2 + qsort [0x54, 0x74] done 13006 this 4 + qsort [0x54, 0x75] done 13010 this 5 + qsort [0x54, 0x91] done 13015 this 22 + qsort [0x77, 0x2c] done 13037 this 3 + qsort [0x77, 0x68] done 13040 this 89 + qsort [0x77, 0x69] done 13129 this 84 + qsort [0x77, 0x6c] done 13213 this 3 + qsort [0x77, 0x6e] done 13216 this 18 + qsort [0x77, 0x72] done 13234 this 35 + qsort [0x77, 0x73] done 13269 this 11 + qsort [0x77, 0x8e] done 13280 this 4 + qsort [0x77, 0x90] done 13284 this 25 + qsort [0x77, 0x91] done 13309 this 2 + qsort [0x77, 0x93] done 13311 this 120 + qsort [0x77, 0x95] done 13431 this 9 + qsort [0x77, 0x96] done 13440 this 4 + qsort [0x77, 0x98] done 13444 this 94 + qsort [0x77, 0x9a] done 13538 this 15 + qsort [0x62, 0x61] done 13553 this 41 + qsort [0x62, 0x69] done 13594 this 30 + qsort [0x62, 0x72] done 13624 this 9 + qsort [0x62, 0x73] done 13633 this 5 + qsort [0x62, 0x74] done 13638 this 4 + qsort [0x62, 0x75] done 13642 this 37 + qsort [0x62, 0x8e] done 13679 this 2 + qsort [0x62, 0x90] done 13681 this 290 + qsort [0x62, 0x93] done 13971 this 38 + qsort [0x62, 0x95] done 14009 this 16 + qsort [0x62, 0x98] done 14025 this 33 + qsort [0x62, 0x9a] done 14058 this 21 + qsort [0xa, 0x0] done 14079 this 29 + qsort [0xa, 0xab] done 14108 this 563 + qsort [0xa1, 0x8d] done 14671 this 599 + qsort [0xa1, 0x9a] done 15270 this 3 + qsort [0x79, 0x0] done 15273 this 2 + qsort [0x79, 0x63] done 15275 this 3 + qsort [0x79, 0x69] done 15278 this 6 + qsort [0x79, 0x6c] done 15284 this 5 + qsort [0x79, 0x6d] done 15289 this 38 + qsort [0x79, 0x6e] done 15327 this 6 + qsort [0x79, 0x70] done 15333 this 46 + qsort [0x79, 0x72] done 15379 this 3 + qsort [0x79, 0x73] done 15382 this 121 + qsort [0x79, 0x74] done 15503 this 9 + qsort [0x79, 0x8e] done 15512 this 26 + qsort [0x79, 0x90] done 15538 this 2 + qsort [0x79, 0x91] done 15540 this 38 + qsort [0x79, 0x93] done 15578 this 148 + qsort [0x79, 0x95] done 15726 this 3 + qsort [0x79, 0x96] done 15729 this 33 + qsort [0x79, 0x98] done 15762 this 95 + qsort [0x2e, 0x68] done 15857 this 9 + qsort [0x2e, 0x8e] done 15866 this 138 + qsort [0x2e, 0x91] done 16004 this 73 + qsort [0x2e, 0x93] done 16077 this 163 + qsort [0x2e, 0x96] done 16240 this 41 + qsort [0x2e, 0x98] done 16281 this 65 + qsort [0x96, 0x0] done 16346 this 4 + qsort [0x96, 0x3] done 16350 this 357 + qsort [0x96, 0x66] done 16707 this 2 + qsort [0xdc, 0x61] done 16709 this 2 + qsort [0xdc, 0x69] done 16711 this 3 + qsort [0xdc, 0x72] done 16714 this 662 + qsort [0xdc, 0x9a] done 17376 this 17 + qsort [0x23, 0x66] done 17393 this 2 + qsort [0x23, 0x74] done 17395 this 3 + qsort [0x23, 0x8d] done 17398 this 667 + qsort [0x23, 0x93] done 18065 this 17 + qsort [0x3, 0x0] done 18082 this 75 + qsort [0x3, 0x1d] done 18157 this 3 + qsort [0x3, 0x55] done 18160 this 83 + qsort [0x3, 0x61] done 18243 this 5 + qsort [0x3, 0x64] done 18248 this 3 + qsort [0x3, 0x68] done 18251 this 2 + qsort [0x3, 0x69] done 18253 this 5 + qsort [0x3, 0x6d] done 18258 this 2 + qsort [0x3, 0x73] done 18260 this 12 + qsort [0x3, 0x74] done 18272 this 2 + qsort [0x3, 0x8d] done 18274 this 2 + qsort [0x3, 0x8e] done 18276 this 2 + qsort [0x3, 0x91] done 18278 this 5 + qsort [0x3, 0x98] done 18283 this 4 + qsort [0x3, 0xc7] done 18287 this 7 + qsort [0x3, 0xe3] done 18294 this 5 + qsort [0x2c, 0x0] done 18299 this 257 + qsort [0x2c, 0x8d] done 18556 this 5 + qsort [0x2c, 0x8e] done 18561 this 49 + qsort [0x2c, 0x91] done 18610 this 14 + qsort [0x2c, 0x93] done 18624 this 261 + qsort [0x2c, 0x98] done 18885 this 122 + qsort [0x2c, 0x9a] done 19007 this 2 + qsort [0x67, 0x61] done 19009 this 24 + qsort [0x67, 0x65] done 19033 this 117 + qsort [0x67, 0x68] done 19150 this 69 + qsort [0x67, 0x69] done 19219 this 46 + qsort [0x67, 0x6c] done 19265 this 13 + qsort [0x67, 0x6d] done 19278 this 2 + qsort [0x67, 0x6e] done 19280 this 25 + qsort [0x67, 0x6f] done 19305 this 37 + qsort [0x67, 0x72] done 19342 this 68 + qsort [0x67, 0x73] done 19410 this 10 + qsort [0x67, 0x74] done 19420 this 3 + qsort [0x67, 0x75] done 19423 this 46 + qsort [0x67, 0x8d] done 19469 this 2 + qsort [0x67, 0x8e] done 19471 this 16 + qsort [0x67, 0x91] done 19487 this 12 + qsort [0x67, 0x93] done 19499 this 105 + qsort [0x67, 0x98] done 19604 this 63 + qsort [0xab, 0x61] done 19667 this 8 + qsort [0xab, 0x65] done 19675 this 18 + qsort [0xab, 0x69] done 19693 this 184 + qsort [0xab, 0x6f] done 19877 this 5 + qsort [0xab, 0x72] done 19882 this 599 + qsort [0xc7, 0x0] done 20481 this 2 + qsort [0xc7, 0x61] done 20483 this 68 + qsort [0xc7, 0x63] done 20551 this 6 + qsort [0xc7, 0x64] done 20557 this 20 + qsort [0xc7, 0x65] done 20577 this 273 + qsort [0xc7, 0x69] done 20850 this 3 + qsort [0xc7, 0x6f] done 20853 this 16 + qsort [0xc7, 0x73] done 20869 this 63 + qsort [0xc7, 0x74] done 20932 this 386 + qsort [0x9a, 0x0] done 21318 this 2 + qsort [0x9a, 0x47] done 21320 this 84 + qsort [0x9a, 0x69] done 21404 this 2 + qsort [0x9a, 0x8d] done 21406 this 17 + qsort [0x9a, 0x95] done 21423 this 36 + qsort [0x9a, 0xb8] done 21459 this 348 + qsort [0x9a, 0xe3] done 21807 this 5 + qsort [0x47, 0x1d] done 21812 this 845 + qsort [0x47, 0x61] done 22657 this 2 + qsort [0x47, 0x65] done 22659 this 5 + qsort [0x47, 0x69] done 22664 this 3 + qsort [0x47, 0x6c] done 22667 this 19 + qsort [0x47, 0x6f] done 22686 this 4 + qsort [0x47, 0x73] done 22690 this 4 + qsort [0x47, 0x8d] done 22694 this 9 + qsort [0x47, 0x93] done 22703 this 4 + qsort [0x66, 0x0] done 22707 this 7 + qsort [0x66, 0x65] done 22714 this 31 + qsort [0x66, 0x69] done 22745 this 4 + qsort [0x66, 0x6d] done 22749 this 2 + qsort [0x66, 0x6f] done 22751 this 192 + qsort [0x66, 0x72] done 22943 this 2 + qsort [0x66, 0x73] done 22945 this 6 + qsort [0x66, 0x74] done 22951 this 47 + qsort [0x66, 0x75] done 22998 this 87 + qsort [0x66, 0x8d] done 23085 this 2 + qsort [0x66, 0x8e] done 23087 this 60 + qsort [0x66, 0x90] done 23147 this 59 + qsort [0x66, 0x91] done 23206 this 28 + qsort [0x66, 0x93] done 23234 this 198 + qsort [0x66, 0x95] done 23432 this 4 + qsort [0x66, 0x98] done 23436 this 80 + qsort [0x75, 0x61] done 23516 this 74 + qsort [0x75, 0x64] done 23590 this 15 + qsort [0x75, 0x65] done 23605 this 31 + qsort [0x75, 0x68] done 23636 this 2 + qsort [0x75, 0x69] done 23638 this 50 + qsort [0x75, 0x6c] done 23688 this 138 + qsort [0x75, 0x6d] done 23826 this 2 + qsort [0x75, 0x6e] done 23828 this 9 + qsort [0x75, 0x6f] done 23837 this 2 + qsort [0x75, 0x70] done 23839 this 24 + qsort [0x75, 0x72] done 23863 this 115 + qsort [0x75, 0x73] done 23978 this 126 + qsort [0x75, 0x74] done 24104 this 4 + qsort [0x75, 0x90] done 24108 this 189 + qsort [0x75, 0x91] done 24297 this 2 + qsort [0x75, 0x93] done 24299 this 58 + qsort [0x75, 0x95] done 24357 this 55 + qsort [0x75, 0x98] done 24412 this 74 + qsort [0x70, 0x61] done 24486 this 114 + qsort [0x70, 0x68] done 24600 this 64 + qsort [0x70, 0x69] done 24664 this 50 + qsort [0x70, 0x6c] done 24714 this 2 + qsort [0x70, 0x6d] done 24716 this 7 + qsort [0x70, 0x6f] done 24723 this 3 + qsort [0x70, 0x72] done 24726 this 217 + qsort [0x70, 0x74] done 24943 this 22 + qsort [0x70, 0x8e] done 24965 this 2 + qsort [0x70, 0x90] done 24967 this 357 + qsort [0x70, 0x93] done 25324 this 62 + qsort [0x70, 0x95] done 25386 this 28 + qsort [0x70, 0x98] done 25414 this 70 + qsort [0xb8, 0x74] done 25484 this 3 + qsort [0xb8, 0xe3] done 25487 this 1107 + qsort [0x55, 0x61] done 26594 this 12 + qsort [0x55, 0x63] done 26606 this 3 + qsort [0x55, 0x64] done 26609 this 2 + qsort [0x55, 0x65] done 26611 this 375 + qsort [0x55, 0x68] done 26986 this 568 + qsort [0x55, 0x69] done 27554 this 6 + qsort [0x55, 0x6c] done 27560 this 18 + qsort [0x55, 0x6e] done 27578 this 17 + qsort [0x55, 0x6f] done 27595 this 5 + qsort [0x55, 0x73] done 27600 this 8 + qsort [0x55, 0x74] done 27608 this 7 + qsort [0x6d, 0x61] done 27615 this 8 + qsort [0x6d, 0x65] done 27623 this 4 + qsort [0x6d, 0x69] done 27627 this 73 + qsort [0x6d, 0x6f] done 27700 this 154 + qsort [0x6d, 0x72] done 27854 this 8 + qsort [0x6d, 0x73] done 27862 this 81 + qsort [0x6d, 0x74] done 27943 this 11 + qsort [0x6d, 0x8d] done 27954 this 6 + qsort [0x6d, 0x8e] done 27960 this 3 + qsort [0x6d, 0x90] done 27963 this 227 + qsort [0x6d, 0x91] done 28190 this 19 + qsort [0x6d, 0x93] done 28209 this 156 + qsort [0x6d, 0x95] done 28365 this 30 + qsort [0x6d, 0x98] done 28395 this 123 + qsort [0x1d, 0x63] done 28518 this 13 + qsort [0x1d, 0x64] done 28531 this 250 + qsort [0x1d, 0x69] done 28781 this 14 + qsort [0x1d, 0x6f] done 28795 this 165 + qsort [0x1d, 0x73] done 28960 this 493 + qsort [0x1d, 0x74] done 29453 this 275 + qsort [0x64, 0x61] done 29728 this 7 + qsort [0x64, 0x65] done 29735 this 6 + qsort [0x64, 0x69] done 29741 this 104 + qsort [0x64, 0x6c] done 29845 this 10 + qsort [0x64, 0x6f] done 29855 this 49 + qsort [0x64, 0x72] done 29904 this 19 + qsort [0x64, 0x73] done 29923 this 51 + qsort [0x64, 0x8e] done 29974 this 33 + qsort [0x64, 0x90] done 30007 this 295 + qsort [0x64, 0x91] done 30302 this 13 + qsort [0x64, 0x93] done 30315 this 245 + qsort [0x64, 0x95] done 30560 this 24 + qsort [0x64, 0x98] done 30584 this 180 + qsort [0xe3, 0x61] done 30764 this 120 + qsort [0xe3, 0x63] done 30884 this 17 + qsort [0xe3, 0x65] done 30901 this 437 + qsort [0xe3, 0x68] done 31338 this 36 + qsort [0xe3, 0x69] done 31374 this 177 + qsort [0xe3, 0x6f] done 31551 this 14 + qsort [0xe3, 0x74] done 31565 this 5 + qsort [0xe3, 0x8e] done 31570 this 238 + qsort [0x68, 0x61] done 31808 this 3 + qsort [0x68, 0x65] done 31811 this 11 + qsort [0x68, 0x69] done 31822 this 215 + qsort [0x68, 0x6c] done 32037 this 7 + qsort [0x68, 0x6e] done 32044 this 18 + qsort [0x68, 0x6f] done 32062 this 6 + qsort [0x68, 0x72] done 32068 this 16 + qsort [0x68, 0x73] done 32084 this 6 + qsort [0x68, 0x8e] done 32090 this 9 + qsort [0x68, 0x90] done 32099 this 199 + qsort [0x68, 0x91] done 32298 this 3 + qsort [0x68, 0x93] done 32301 this 338 + qsort [0x68, 0x95] done 32639 this 66 + qsort [0x68, 0x98] done 32705 this 317 + qsort [0x63, 0x0] done 33022 this 36 + qsort [0x63, 0x61] done 33058 this 164 + qsort [0x63, 0x65] done 33222 this 183 + qsort [0x63, 0x69] done 33405 this 55 + qsort [0x63, 0x6c] done 33460 this 26 + qsort [0x63, 0x6f] done 33486 this 201 + qsort [0x63, 0x72] done 33687 this 31 + qsort [0x63, 0x73] done 33718 this 8 + qsort [0x63, 0x74] done 33726 this 338 + qsort [0x63, 0x8e] done 34064 this 3 + qsort [0x63, 0x90] done 34067 this 12 + qsort [0x63, 0x93] done 34079 this 110 + qsort [0x63, 0x95] done 34189 this 40 + qsort [0x63, 0x98] done 34229 this 80 + qsort [0x91, 0x0] done 34309 this 13 + qsort [0x91, 0x61] done 34322 this 36 + qsort [0x95, 0x8e] done 34358 this 2 + qsort [0x6c, 0x61] done 34360 this 155 + qsort [0x6c, 0x65] done 34515 this 342 + qsort [0x6c, 0x69] done 34857 this 180 + qsort [0x6c, 0x6e] done 35037 this 2 + qsort [0x6c, 0x6f] done 35039 this 64 + qsort [0x6c, 0x73] done 35103 this 39 + qsort [0x6c, 0x74] done 35142 this 2 + qsort [0x6c, 0x8e] done 35144 this 27 + qsort [0x6c, 0x90] done 35171 this 23 + qsort [0x6c, 0x93] done 35194 this 118 + qsort [0x6c, 0x98] done 35312 this 53 + qsort [0x8e, 0x61] done 35365 this 302 + qsort [0x8e, 0x6e] done 35667 this 2 + qsort [0x8e, 0x6f] done 35669 this 64 + qsort [0x8e, 0x8d] done 35733 this 46 + qsort [0x8e, 0x93] done 35779 this 3 + qsort [0x8d, 0x0] done 35782 this 20 + qsort [0x8d, 0x61] done 35802 this 29 + qsort [0x8d, 0x65] done 35831 this 225 + qsort [0x8d, 0x69] done 36056 this 170 + qsort [0x8d, 0x6e] done 36226 this 10 + qsort [0x8d, 0x73] done 36236 this 237 + qsort [0x8d, 0x93] done 36473 this 6 + qsort [0x8d, 0x98] done 36479 this 2 + qsort [0x0, 0x61] done 36481 this 48 + qsort [0x0, 0x65] done 36529 this 13 + qsort [0x0, 0x69] done 36542 this 49 + qsort [0x0, 0x6e] done 36591 this 6 + qsort [0x0, 0x6f] done 36597 this 31 + qsort [0x0, 0x72] done 36628 this 11 + qsort [0x0, 0x73] done 36639 this 140 + qsort [0x0, 0x74] done 36779 this 444 + qsort [0x6f, 0x61] done 37223 this 14 + qsort [0x6f, 0x69] done 37237 this 113 + qsort [0x6f, 0x6e] done 37350 this 641 + qsort [0x6f, 0x72] done 37991 this 500 + qsort [0x6f, 0x73] done 38491 this 2 + qsort [0x6f, 0x74] done 38493 this 111 + qsort [0x6f, 0x90] done 38604 this 161 + qsort [0x6f, 0x93] done 38765 this 237 + qsort [0x6f, 0x98] done 39002 this 172 + qsort [0x73, 0x61] done 39174 this 49 + qsort [0x73, 0x65] done 39223 this 9 + qsort [0x73, 0x69] done 39232 this 2 + qsort [0x73, 0x6e] done 39234 this 2 + qsort [0x73, 0x74] done 39236 this 8 + qsort [0x73, 0x90] done 39244 this 850 + qsort [0x73, 0x93] done 40094 this 566 + qsort [0x73, 0x98] done 40660 this 342 + qsort [0x6e, 0x61] done 41002 this 9 + qsort [0x6e, 0x69] done 41011 this 77 + qsort [0x6e, 0x72] done 41088 this 3 + qsort [0x6e, 0x74] done 41091 this 20 + qsort [0x6e, 0x90] done 41111 this 847 + qsort [0x6e, 0x93] done 41958 this 530 + qsort [0x6e, 0x98] done 42488 this 408 + qsort [0x69, 0x61] done 42896 this 81 + qsort [0x69, 0x65] done 42977 this 68 + qsort [0x69, 0x72] done 43045 this 55 + qsort [0x69, 0x74] done 43100 this 294 + qsort [0x69, 0x90] done 43394 this 450 + qsort [0x69, 0x93] done 43844 this 81 + qsort [0x69, 0x98] done 43925 this 43 + qsort [0x61, 0x72] done 43968 this 351 + qsort [0x61, 0x74] done 44319 this 19 + qsort [0x61, 0x90] done 44338 this 433 + qsort [0x61, 0x93] done 44771 this 195 + qsort [0x61, 0x98] done 44966 this 136 + qsort [0x72, 0x65] done 45102 this 550 + qsort [0x72, 0x74] done 45652 this 210 + qsort [0x72, 0x90] done 45862 this 361 + qsort [0x72, 0x93] done 46223 this 228 + qsort [0x72, 0x98] done 46451 this 132 + qsort [0x74, 0x65] done 46583 this 13 + qsort [0x74, 0x90] done 46596 this 1395 + qsort [0x74, 0x93] done 47991 this 650 + qsort [0x74, 0x98] done 48641 this 631 + qsort [0x98, 0x65] done 49272 this 617 + qsort [0x65, 0x90] done 49889 this 1269 + qsort [0x65, 0x93] done 51158 this 782 + 98170 pointers, 51940 sorted, 46230 scanned + 431 work, 98170 block, ratio 0.00 + 98170 in block, 59500 after MTF & 1-2 coding, 256+2 syms in use + initial group 6, [0 .. 0], has 12672 syms (21.3%) + initial group 5, [1 .. 1], has 5883 syms ( 9.9%) + initial group 4, [2 .. 3], has 15621 syms (26.3%) + initial group 3, [4 .. 6], has 7857 syms (13.2%) + initial group 2, [7 .. 15], has 8958 syms (15.1%) + initial group 1, [16 .. 257], has 8509 syms (14.3%) + pass 1: size is 72279, grp uses are 219 211 68 486 13 193 + pass 2: size is 31631, grp uses are 193 273 94 385 62 183 + pass 3: size is 31524, grp uses are 190 256 131 361 67 185 + pass 4: size is 31510, grp uses are 179 256 139 355 69 192 + bytes: mapping 37, selectors 324, code lengths 463, codes 31498 + final combined CRC = 0xccf1b5a5 + 3.051:1, 2.622 bits/byte, 67.22% saved, 98696 in, 32348 out. diff --git a/tests/quick.rs b/tests/quick.rs index a701664dc..683076478 100644 --- a/tests/quick.rs +++ b/tests/quick.rs @@ -1527,7 +1527,7 @@ mod compress_command { concat!( " {in_file}: \n", " block 1: crc = 0xccf1b5a5, combined CRC = 0xccf1b5a5, size = 98170\n", - " 454 work, 98170 block, ratio 0.00\n", + " 431 work, 98170 block, ratio 0.00\n", " 98170 in block, 59500 after MTF & 1-2 coding, 256+2 syms in use\n", " initial group 6, [0 .. 0], has 12672 syms (21.3%)\n", " initial group 5, [1 .. 1], has 5883 syms ( 9.9%)\n", @@ -1627,4 +1627,18 @@ mod compress_command { // the `-k` flag should keep the input file assert!(sample1_ref.exists()); } + + #[test] + fn compress_sample1_log() { + let mut cmd = command(); + + expect_success!( + cmd.arg("-z") + .arg("-vvvv") + .arg("-c") + .arg("-k") + .arg("tests/input/quick/sample1.ref"), + include_str!("compress-sample1-log.txt"), + ); + } }