3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php namespace IsoCodes; interface IsoCodeInterface { /** * @param mixed $value * * @return bool */ public static function validate($value); } /** * @example : * // Generate a SSN for California * echo "\n" . Ssn::generate('AK'); * echo "\n" . Ssn::generate('AL'); * echo "\n" . Ssn::generate('AR'); * echo "\n" . Ssn::generate('AZ'); * echo "\n" . Ssn::generate('CA'); * echo "\n" . Ssn::generate('CO'); * echo '--'; * // Validate a SSN * echo Ssn::validate('557-26-9048'); * * @source : http://haxorfreek.15.forumer.com/a/us-social-security-number-ssn-generator_post1847.html */ class Ssn implements IsoCodeInterface { private static $initialized = false; // Populate this variable with the high group list provided by the Social Security Administration: // http://www.ssa.gov/employer/ssnvhighgroup.htm // We only want the numbers. Omit the explanatory text at the beginning of the file. // This list is from September 2007 public static $highgroup = <<<EOT 001 06 002 04 003 04 004 08 005 08 006 08 007 06 008 90 009 90 010 90 011 90 012 90 013 90 014 90 015 90 016 90 017 90 018 90 019 90 020 90 021 90 022 90 023 90 024 90 025 90 026 90 027 90* 028 88 029 88 030 88 031 88 032 88 033 88 034 88 035 72 036 72 037 72 038 72 039 70 040 11 041 11 042 11 043 11 044 11 045 11 046 11 047 11 048 08 049 08 050 96 051 96 052 96 053 96 054 96 055 96 056 96 057 96 058 96 059 96 060 96 061 96 062 96 063 96 064 96 065 96 066 96 067 96 068 96 069 96 070 96 071 96 072 96 073 96 074 96 075 96 076 96 077 96 078 96 079 96 080 96 081 96 082 96 083 96 084 96 085 96 086 96 087 96 088 96 089 96 090 96 091 96 092 96 093 96 094 96 095 96 096 96 097 96 098 96 099 96 100 96 101 96 102 96 103 96 104 96 105 96 106 96 107 96 108 96 109 96 110 96* 111 96* 112 96* 113 96* 114 94 115 94 116 94 117 94 118 94 119 94 120 94 121 94 122 94 123 94 124 94 125 94 126 94 127 94 128 94 129 94 130 94 131 94 132 94 133 94 134 94 135 19 136 19 137 19 138 19 139 19 140 19 141 19 142 19* 143 19* 144 17 145 17 146 17 147 17 148 17 149 17 150 17 151 17 152 17 153 17 154 17 155 17 156 17 157 17 158 17 159 84 160 84 161 84 162 84 163 84 164 84 165 84 166 84 167 84 168 84 169 84 170 84 171 84 172 84 173 84 174 84 175 84 176 84 177 84 178 84* 179 84* 180 82 181 82 182 82 183 82 184 82 185 82 186 82 187 82 188 82 189 82 190 82 191 82 192 82 193 82 194 82 195 82 196 82 197 82 198 82 199 82 200 82 201 82 202 82 203 82 204 82 205 82 206 82 207 82 208 82 209 82 210 82 211 82 212 79 213 79 214 79 215 79 216 79 217 79* 218 77 219 77 220 77 221 06 222 04 223 99 224 99 225 99 226 99 227 99 228 99 229 99 230 99 231 99 232 53 233 53 234 53 235 53 236 53 237 99 238 99 239 99 240 99 241 99 242 99 243 99 244 99 245 99 246 99 247 99 248 99 249 99 250 99 251 99 252 99 253 99 254 99 255 99 256 99 257 99 258 99 259 99 260 99 261 99 262 99 263 99 264 99 265 99 266 99 267 99 268 13 269 13 270 13 271 13 272 13 273 13 274 13 275 13 276 13 277 13 278 13 279 13 280 13 281 13 282 13 283 13 284 13* 285 13* 286 11 287 11 288 11 289 11 290 11 291 11 292 11 293 11 294 11 295 11 296 11 297 11 298 11 299 11 300 11 301 11 302 11 303 33* 304 31 305 31 306 31 307 31 308 31 309 31 310 31 311 31 312 31 313 31 314 31 315 31 316 31 317 31 318 06 319 06 320 06 321 06 322 06 323 06 324 06 325 06 326 06 327 06 328 06 329 06 330 06 331 06 332 06 333 06 334 06 335 06 336 06 337 06 338 06 339 06 340 06 341 06 342 06 343 06 344 06 345 06 346 06 347 06* 348 06* 349 04 350 04 351 04 352 04 353 04 354 04 355 04 356 04 357 04 358 04 359 04 360 04 361 04 362 35 363 35* 364 35* 365 33 366 33 367 33 368 33 369 33 370 33 371 33 372 33 373 33 374 33 375 33 376 33 377 33 378 33 379 33 380 33 381 33 382 33 383 33 384 33 385 33 386 33 387 29 388 29 389 29 390 29 391 29 392 29 393 27 394 27 395 27 396 27 397 27 398 27 399 27 400 67 401 67 402 67 403 67 404 67 405 67 406 67* 407 65 408 99 409 99 410 99 411 99 412 99 413 99 414 99 415 99 416 61 417 61 418 61 419 61 420 61 421 61 422 61 423 61 424 61 425 99 426 99 427 99 428 99 429 99 430 99 431 99 432 99 433 99 434 99 435 99 436 99 437 99 438 99 439 99 440 23 441 23 442 23 443 23 444 23 445 23 446 23* 447 21 448 21 449 99 450 99 451 99 452 99 453 99 454 99 455 99 456 99 457 99 458 99 459 99 460 99 461 99 462 99 463 99 464 99 465 99 466 99 467 99 468 51 469 51* 470 49 471 49 472 49 473 49 474 49 475 49 476 49 477 49 478 37 479 37 480 37 481 37 482 37 483 37 484 37 485 35 486 25 487 25 488 25 489 25 490 25 491 25 492 25 493 25 494 25 495 25* 496 23 497 23 498 23 499 23 500 23 501 33 502 33* 503 41 504 39 505 53 506 51 507 51 508 51 509 27 510 27 511 27 512 27 513 27 514 27 515 27* 516 45 517 43 518 77 519 77 520 53 521 99 522 99 523 99 524 99 525 99 526 99 527 99 528 99 529 99 530 99 531 63* 532 61 533 61 534 61 535 61 536 61 537 61 538 61 539 61* 540 73 541 73 542 73 543 73 544 73 545 99 546 99 547 99 548 99 549 99 550 99 551 99 552 99 553 99 554 99 555 99 556 99 557 99 558 99 559 99 560 99 561 99 562 99 563 99 564 99 565 99 566 99 567 99 568 99 569 99 570 99 571 99 572 99 573 99 574 49 575 99 576 99 577 45 578 45* 579 43 580 37 581 99 582 99 583 99 584 99 585 99 586 61 587 99 588 03 589 99 590 99 591 99 592 99 593 99 594 99 595 99 596 84 597 84 598 84* 599 82 600 99 601 99 602 65 603 65 604 65 605 65 606 65 607 65* 608 65* 609 65* 610 65* 611 65* 612 65* 613 65* 614 65* 615 63 616 63 617 63 618 63 619 63 620 63 621 63 622 63 623 63 624 63 625 63 626 63 627 11 628 11 629 11 630 11 631 11* 632 11* 633 11* 634 11* 635 11* 636 11* 637 08 638 08 639 08 640 08 641 08 642 08 643 08 644 08 645 08 646 96 647 94 648 44 649 44 650 46 651 46* 652 44 653 44 654 26 655 26 656 26 657 26 658 24 659 16 660 16* 661 14 662 14 663 14 664 14 665 14 667 34 668 34 669 34 670 34 671 34 672 34* 673 34* 674 32 675 32 676 14 677 14* 678 12 679 12 680 90* 681 14* 682 12 683 12 684 12 685 12 686 12 687 12 688 12 689 12 690 12 691 07 692 07 693 07 694 07 695 07 696 07 697 07 698 07 699 07* 700 18 701 18 702 18 703 18 704 18 705 18 706 18 707 18 708 18 709 18 710 18 711 18 712 18 713 18 714 18 715 18 716 18 717 18 718 18 719 18 720 18 721 18 722 18 723 18 724 28 725 18 726 18 727 10 728 14 729 10 730 10 731 10 732 09 733 09 750 09 751 07 752 01 753 01 756 05 757 05 758 05 759 05 760 05* 761 03 762 03 763 03 764 80 765 80* 766 64* 767 64* 768 62 769 62 770 62 771 62 772 62* EOT; // This information is obtained from: // http://www.ssa.gov/employer/stateweb.htm public static $statePrefixes = array( 'AK' => array(574), 'AL' => array(416, 417, 418, 419, 420, 421, 422, 423, 424), 'AR' => array(429, 430, 431, 432, 676, 677, 678, 679), 'AZ' => array(526, 527, 600, 601, 764, 765), 'CA' => array(545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626), 'CO' => array(521, 522, 523, 524, 650, 651, 652, 653), 'CT' => array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49), 'DC' => array(577, 578, 579), 'DE' => array(221, 222), 'FL' => array(261, 262, 263, 264, 265, 266, 267, 589, 590, 591, 592, 593, 594, 595, 766, 767, 768, 769, 770, 771, 772), 'GA' => array(252, 253, 254, 255, 256, 257, 258, 259, 260, 667, 668, 669, 670, 671, 672, 673, 674, 675), 'HI' => array(575, 576, 750, 751), 'IA' => array(478, 479, 480, 481, 482, 483, 484, 485), 'ID' => array(518, 519), 'IL' => array(318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361), 'IN' => array(303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317), 'KS' => array(509, 510, 511, 512, 513, 514, 515), 'KY' => array(400, 401, 402, 403, 404, 405, 406, 407), 'LA' => array(433, 434, 435, 436, 437, 438, 439, 659, 660, 661, 662, 663, 664, 665), 'MA' => array(10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34), 'MD' => array(212, 213, 214, 215, 216, 217, 218, 219, 220), 'ME' => array(4, 5, 6, 7), 'MI' => array(362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386), 'MN' => array(468, 469, 470, 471, 472, 473, 474, 475, 476, 477), 'MO' => array(486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500), 'MS' => array(425, 426, 427, 428, 587), 'MT' => array(516, 517), 'NC' => array(237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690), 'ND' => array(501, 502), 'NE' => array(505, 506, 507, 508), 'NH' => array(1, 2, 3), 'NJ' => array(135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158), 'NM' => array(525, 585, 648, 649), 'NV' => array(530, 680), 'NY' => array(50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134), 'OH' => array(268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302), 'OK' => array(440, 441, 442, 443, 444, 445, 446, 447, 448), 'OR' => array(540, 541, 542, 543, 544), 'PA' => array(159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211), 'RI' => array(35, 36, 37, 38, 39), 'SC' => array(247, 248, 249, 250, 251, 654, 655, 656, 657, 658), 'SD' => array(503, 504), 'TN' => array(408, 409, 410, 411, 412, 413, 414, 415, 756, 757, 758, 759, 760, 761, 762, 763), 'TX' => array(449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645), 'UT' => array(528, 529, 646, 647), 'VA' => array(223, 224, 225, 226, 227, 228, 229, 230, 231, 691, 692, 693, 694, 695, 696, 697, 698, 699), 'VT' => array(8, 9), 'WA' => array(531, 532, 533, 534, 535, 536, 537, 538, 539), 'WI' => array(387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399), 'WV' => array(232, 233, 234, 235, 236), 'WY' => array(520), ); public static $states = array('AK', 'AL', 'AR', 'AZ', 'CA', 'CO', 'CT', 'DC', 'DE', 'FL', 'GA', 'HI', 'IA', 'ID', 'IL', 'IN', 'KS', 'KY', 'LA', 'MA', 'MD', 'ME', 'MI', 'MN', 'MO', 'MS', 'MT', 'NC', 'ND', 'NE', 'NH', 'NJ', 'NM', 'NV', 'NY', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VA', 'VT', 'WA', 'WI', 'WV', 'WY'); // The SSA uses a funky method of figuring out what group number to use next. This area has them in the proper order and makes it easier to generate a SSN. public static $possibleGroups = array(1, 3, 5, 7, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 2, 4, 6, 8, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99); /** * Cleans the high group number list so it is useful. */ private static function initialize() { $highgroup = self::$highgroup; // Trim the high group list and remove asterisks, fix space/tabs, and replace new lines with tabs. // The data isn't formatted well so we have to do quite a bit of random replacing. $highgroup = trim((string) $highgroup); $highgroup = str_replace(array('*', " \t", "\n", ' '), array('', "\t", "\t", "\t"), $highgroup); // Explode on tab. This should give us an array of prefixes and group numbers, IE '203 82', '204 82', etc $highgroup = explode("\t", $highgroup); // Make array useful by splitting the prefix and group number // We also convert the string to an int for easier handling later down the road $cleangroup = array(); foreach ($highgroup as $value) { if (trim($value) != '') { $temp = explode(' ', $value); if (isset($temp[1])) { $cleangroup[(int) trim($temp[0])] = (int) trim($temp[1]); self::$highgroup = (string) $cleangroup; } } } } /** * Generate an SSN based on state. * * @param mixed $state * @param string $separator * * @return false|string (false: bad state found) */ public static function generate($state = false, $separator = '-') { if (!self::$initialized) { self::initialize(); self::$initialized = true; } $states = self::$states; $statePrefixes = self::$statePrefixes; $highgroup = self::$highgroup; $possibleGroups = self::$possibleGroups; if ($state === false) { $state = $states[mt_rand(0, count($states) - 1)]; } $state = strtoupper($state); // Sanity check: is this a valid state? if (!isset($statePrefixes[$state])) { return false; } // Generate area number $area = $statePrefixes[$state][array_rand($statePrefixes[$state])]; // Generate group number $group = $possibleGroups[mt_rand(0, array_search($highgroup[$area], $possibleGroups))]; // Generate valid group number // Generate last four $lastfour = sprintf('%04s', trim(mt_rand(0, 9999))); return sprintf('%03s', $area).$separator.sprintf('%02s', $group).$separator.$lastfour; } /** * Validate a SSN. * * @param mixed $ssn * * @return bool : false, or two letter state abbreviation if it is valid */ public static function validate($ssn) { if (!self::$initialized) { self::initialize(); self::$initialized = true; } if (!is_string($ssn)) { return false; } if (trim($ssn) === '') { return false; } $statePrefixes = self::$statePrefixes; $highgroup = self::$highgroup; $possibleGroups = self::$possibleGroups; // Split up the SSN // If not 9 or 11 long, then return false $length = strlen($ssn); if ($length == 9) { $areaNumber = substr($ssn, 0, 3); $groupNumber = substr($ssn, 3, 2); $lastFour = substr($ssn, 5); } elseif ($length == 11) { $areaNumber = substr($ssn, 0, 3); $groupNumber = substr($ssn, 4, 2); $lastFour = substr($ssn, 7); } else { return false; } // Strip leading zeros $areaNumber = ltrim($areaNumber, 0); $groupNumber = ltrim($groupNumber, 0); // Check if parts are numeric if (!is_numeric($areaNumber) || !is_numeric($groupNumber) || !is_numeric($lastFour)) { return false; } foreach ($statePrefixes as $numbers) { // Search for the area number in the state list if (in_array($areaNumber, $numbers)) { // Make sure the group number is valid if (array_search($highgroup[$areaNumber], $possibleGroups) >= array_search($groupNumber, $possibleGroups)) { //return $state => must use "as $state => numbers" in the foreach loop; return true; } else { return false; } } } return false; } } $ssn = new Ssn(); echo "\n" . $ssn->generate('AK'); echo "\n" . $ssn->generate('AL'); echo "\n" . $ssn->generate('AR'); echo "\n" . $ssn->generate('AZ'); echo "\n" . $ssn->generate('CA'); echo "\n" . $ssn->generate('CO'); echo '--'; // Validate a SSN var_export($ssn->validate('557-26-9048'));
based on fgZjZ
Output for 7.2.0
574-01-7300 417-01-5812 679-01-6091 600-01-2546 552-68-2596 522-01-2769--false
Output for 7.1.10
574-01-5102 418-01-6867 432-01-9676 601-01-5795 565-01-8241 523-84-9343--false
Output for 7.1.7
574-01-0624 419-03-3232 676-01-1008 526-01-2513 547-01-0769 652-03-8602--false
Output for 7.1.6
574-01-0554 422-01-3699 676-03-9946 600-01-4658 561-01-4842 523-94-5807--false
Output for 7.1.5
574-01-7534 422-01-2218 678-01-1472 764-01-1950 547-01-0596 521-01-6910--false
Output for 7.1.0
574-01-5997 418-01-8746 676-09-8074 764-01-6086 623-01-4168 521-01-6051--false
Output for 7.0.20
574-01-9167 418-01-0420 679-01-4588 527-03-9297 615-01-1872 523-94-3904--false
Output for 7.0.6
574-01-7466 418-01-1813 432-01-4356 600-01-3538 608-01-5898 650-01-6289--false
Output for 7.0.5
574-01-2173 421-01-5254 430-03-8969 527-14-6537 563-18-1550 653-09-2607--false
Output for 7.0.4
574-01-8019 418-01-4412 429-01-9841 526-03-6179 556-32-1896 523-03-9012--false
Output for 7.0.3
574-01-0270 417-01-9931 676-05-0220 764-01-0250 569-07-1504 521-01-9133--false
Output for 7.0.2
574-01-5545 421-01-1805 676-01-4593 526-07-2451 546-01-1627 653-05-5476--false
Output for 7.0.1
574-01-4552 424-32-9925 432-01-6708 764-01-7873 622-01-7137 522-01-9654--false
Output for 7.0.0
574-01-4241 424-02-1692 676-07-2755 526-09-0046 567-09-9463 653-03-4934--false
Output for 5.6.28
574-01-8855 416-03-7637 430-03-8007 765-01-7652 610-58-8851 651-01-7660--false
Output for 5.6.21
574-01-0501 417-01-4046 677-32-7763 764-01-0156 569-03-4030 651-01-3495--false
Output for 5.6.20
574-01-0076 421-01-0988 678-01-8397 764-01-9779 551-01-8075 652-01-7111--false
Output for 5.6.19
574-01-1198 420-70-1852 431-01-5780 527-80-1671 562-07-2470 522-01-6702--false
Output for 5.6.18
574-01-5204 422-01-1977 429-01-6484 527-50-0083 614-01-5209 653-09-8765--false
Output for 5.6.17
574-01-3497 420-01-0083 432-01-9660 527-92-2339 559-30-6952 522-01-1328--false
Output for 5.6.16
574-01-4803 422-01-9923 676-03-7336 765-01-1349 621-01-5308 523-18-6404--false
Output for 5.6.15
574-01-1969 423-03-7481 678-01-0715 600-01-2870 554-01-1672 521-01-5822--false
Output for 5.6.14
574-01-5270 418-01-3729 679-01-8908 526-07-8473 613-30-5341 651-01-2969--false
Output for 5.6.13
574-01-5712 424-05-4005 429-01-5965 600-01-9016 607-01-2907 523-32-9861--false
Output for 5.6.12
574-01-1547 422-01-9615 430-01-1887 601-01-1099 556-78-1327 652-01-0784--false
Output for 5.6.11
574-01-7346 421-01-3916 430-01-2189 527-88-2273 555-07-1587 523-76-4846--false
Output for 5.6.10
574-01-2019 419-07-8980 429-01-2966 527-92-4212 545-01-1452 521-01-5626--false
Output for 5.6.9
574-01-2378 423-05-2585 676-07-7498 601-01-6103 551-01-6680 651-01-3776--false
Output for 5.6.8
574-01-3514 418-01-1295 432-01-3887 765-01-0038 624-16-5120 524-28-6179--false
Output for 5.6.7
574-01-9959 424-56-5822 679-01-7772 764-01-9738 611-01-6291 523-58-6274--false
Output for 5.5.35
574-01-2201 420-10-1927 430-01-6450 527-74-0436 561-01-7861 524-22-1927--false
Output for 5.5.34
574-01-8420 422-01-9864 677-06-1253 601-01-5721 572-01-0157 650-01-0931--false
Output for 5.5.33
574-01-8669 420-84-9006 676-07-0352 526-09-9857 545-01-1557 650-01-7809--false
Output for 5.5.32
574-01-1370 422-01-0508 432-01-6080 527-40-5633 623-01-2605 521-01-7159--false
Output for 5.5.31
574-01-4226 423-05-0716 431-01-1003 526-07-5046 618-01-6784 653-09-5918--false
Output for 5.5.30
574-01-4565 419-05-0871 432-01-7435 764-01-2339 604-01-0410 522-01-7154--false
Output for 5.5.29
574-01-1765 418-01-4476 429-01-2827 526-09-5416 572-01-6295 524-80-2939--false
Output for 5.5.28
574-01-9393 416-05-3055 430-01-0521 764-01-4900 620-56-9475 651-01-0505--false
Output for 5.5.27
574-01-4168 418-01-7302 679-01-7188 764-01-7429 566-66-4051 524-92-4742--false
Output for 5.5.26
574-01-2812 421-01-9511 677-88-5217 600-01-7107 602-05-1977 651-01-6460--false
Output for 5.5.25
574-01-8969 423-05-8593 679-01-8971 527-52-9321 609-07-2456 651-01-0618--false
Output for 5.5.24
574-01-2144 424-92-2811 678-01-5401 526-03-5051 567-03-7049 650-01-1969--false
Output for 5.4.45
574-01-4150 423-01-6894 432-01-5496 600-01-7668 623-03-9705 652-03-4181--false
Output for 5.4.44
574-01-9266 417-01-1819 678-01-1512 765-01-5208 615-01-6720 653-07-1238--false
Output for 5.4.43
574-01-7915 419-05-1199 679-01-8286 764-01-2596 552-02-3524 652-01-6441--false
Output for 5.4.42
574-01-1914 423-03-7711 677-72-0447 600-01-1652 560-46-8441 652-03-0482--false
Output for 5.4.41
574-01-2998 422-01-4806 431-01-6213 764-01-0837 624-34-9891 652-07-6080--false
Output for 5.4.40
574-01-1715 418-01-3225 432-01-7662 601-01-8235 560-12-9799 650-01-7626--false
Output for 5.4.39
574-01-4767 416-01-2861 676-03-9809 601-01-0007 551-01-7454 653-09-7793--false
Output for 5.4.38
574-01-7801 416-03-1396 430-01-5859 526-03-9279 554-01-1447 523-68-1700--false
Output for 5.4.37
574-01-1799 422-01-7563 677-72-2644 765-01-3913 610-40-6080 653-09-0658--false
Output for 5.4.36
574-01-9291 423-01-7300 432-01-6458 526-01-8361 569-05-6434 650-01-8490--false
Output for 5.4.35
574-01-6797 418-01-8601 429-01-4416 765-01-1650 609-07-6704 524-52-3669--false
Output for 5.4.34
574-01-8172 419-05-6705 678-01-1707 764-01-1680 551-01-5696 651-01-2834--false
Output for 5.4.32
574-01-7169 419-09-3970 677-48-3269 765-01-4006 611-01-5517 651-01-9185--false
Output for 5.4.31
574-01-1167 422-01-0564 430-03-5353 526-03-2217 616-01-1504 652-07-6302--false
Output for 5.4.30
574-01-5869 419-05-3207 677-98-4221 600-01-8943 623-01-9647 651-01-5310--false
Output for 5.4.29
574-01-5645 417-01-4327 676-09-8800 765-01-9999 610-26-0919 522-01-2426--false
Output for 5.4.28
574-01-5379 422-01-2051 431-03-5069 526-09-9150 549-01-7294 522-01-7027--false
Output for 5.4.27
574-01-3261 423-05-5554 430-01-5262 600-01-6766 570-98-7198 651-01-3651--false
Output for 5.4.26
574-01-8980 423-01-5285 432-01-9678 765-01-2592 562-07-1832 650-01-8590--false
Output for 5.4.25
574-01-5462 423-03-0099 677-48-7534 601-01-8738 552-62-9637 653-03-0458--false
Output for 5.4.24
574-01-2287 421-01-5284 431-01-0296 601-01-1526 555-03-9388 651-01-8394--false
Output for 5.4.23
574-01-5965 422-01-2190 676-09-6745 600-01-5399 559-48-5131 652-05-5342--false
Output for 5.4.22
574-01-3469 421-01-9579 677-50-9307 526-07-9291 563-86-7446 653-01-8998--false
Output for 5.4.21
574-01-7620 421-01-3303 429-01-6609 526-03-9041 554-01-8903 651-01-2433--false
Output for 5.4.20
574-01-1754 422-01-3025 429-01-5338 600-01-8190 623-05-7252 521-01-3320--false
Output for 5.4.19
574-01-5940 418-01-7839 430-05-7056 527-62-3396 548-01-0574 650-01-1182--false
Output for 5.4.18
574-01-4225 421-01-4509 677-32-4273 526-01-5879 610-88-9023 653-03-0713--false
Output for 5.4.17
574-01-8114 420-82-3465 678-01-4355 526-05-6672 616-01-2624 524-74-4835--false
Output for 5.4.16
574-01-7733 424-42-7277 431-01-1534 601-01-5256 565-01-3664 653-01-3823--false
Output for 5.4.15
574-01-8334 423-05-3852 429-01-4664 600-01-0045 562-09-0136 524-14-8019--false
Output for 5.4.14
574-01-2918 424-68-0076 429-01-2586 601-01-8807 611-01-0027 522-01-6548--false
Output for 5.4.13
574-01-1682 416-03-0145 432-01-0792 601-01-6223 622-01-3939 650-01-7657--false
Output for 5.4.12
574-01-1474 419-05-2417 431-03-1603 526-01-5420 558-01-8325 523-56-5608--false
Output for 5.4.11
574-01-3599 419-07-3580 431-03-8409 601-01-3052 561-01-8401 523-96-6957--false
Output for 5.4.10
574-01-7915 417-01-3721 432-01-9402 765-01-9917 625-01-5883 522-01-5306--false
Output for 5.4.9
574-01-2971 420-84-4644 431-03-6392 765-01-7474 558-01-2867 651-01-5568--false
Output for 5.4.8
574-01-8419 421-01-4758 679-01-7947 601-01-0287 608-01-2522 523-26-3756--false
Output for 5.4.7
574-01-2920 416-05-9162 678-01-2650 527-48-0197 552-50-6150 523-14-1208--false
Output for 5.4.6
574-01-2508 419-05-1018 679-01-8131 526-03-5319 567-07-0711 653-05-2361--false
Output for 5.4.5
574-01-1200 417-01-6457 679-01-3458 765-01-5453 625-01-3361 522-01-1510--false
Output for 5.4.4
574-01-9320 421-01-6932 679-01-3012 526-09-5006 558-01-8979 650-01-6478--false
Output for 5.4.3
574-01-3405 420-56-5164 431-03-8600 527-68-1724 620-88-1936 651-01-2224--false
Output for 5.4.2
574-01-5858 423-03-6386 432-01-2988 527-98-4004 561-01-4578 522-01-2825--false
Output for 5.3.29
574-01-1043 416-01-8617 432-01-9518 765-01-2341 624-68-1949 652-01-2357--false
Output for 5.3.28
574-01-1707 416-05-5165 432-01-3399 764-01-5550 625-01-8256 524-74-1778--false
Output for 5.3.27
574-01-2367 422-01-3065 432-01-9958 764-01-9878 565-01-1711 521-01-6981--false
Output for 5.3.26
574-01-2243 420-36-0834 429-01-2265 527-09-6376 617-03-2213 522-01-4024--false
Output for 5.3.25
574-01-8705 417-01-8043 677-32-8360 600-01-8677 618-01-3531 521-01-3046--false
Output for 5.3.24
574-01-3605 423-03-2578 430-05-7614 764-01-0814 564-01-0656 650-01-5037--false
Output for 5.3.23
574-01-8864 420-36-8485 679-01-9225 600-01-5977 619-05-0428 522-01-9551--false
Output for 5.3.22
574-01-1690 420-54-6972 430-03-8562 527-12-5188 613-30-2503 522-01-5649--false
Output for 5.3.21
574-01-3251 416-03-9917 677-88-6404 601-01-2324 619-09-2739 524-10-7877--false
Output for 5.3.20
574-01-2843 423-01-7823 431-01-9090 527-64-7599 552-70-7542 653-03-3313--false
Output for 5.3.19
574-01-4232 419-09-4048 679-01-2608 526-07-1001 558-01-7764 651-01-7336--false
Output for 5.3.18
574-01-0303 421-01-6058 431-03-1342 765-01-1675 603-01-2303 524-48-8179--false