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; } } 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');
based on UNYAK
Output for 7.3.0
574-01-1002 417-01-1277 679-01-1211 526-01-7286 555-05-7135 650-01-6603--
Output for 7.2.13
574-01-7434 424-16-6141 679-01-4759 600-01-2749 567-01-1612 524-84-4527--
Output for 7.2.12
574-01-1220 417-01-8131 677-66-3525 601-01-0800 548-01-5747 653-05-6551--
Output for 7.2.11
574-01-4298 418-01-3458 429-01-8382 527-30-9698 609-01-0559 651-01-0180--
Output for 7.2.10
574-01-9484 420-92-5983 432-01-1189 600-01-1721 561-01-5957 523-66-0104--
Output for 7.2.9
574-01-0262 419-07-6294 429-01-2876 600-01-7415 547-01-9521 524-07-3978--
Output for 7.2.8
574-01-3501 423-01-7316 431-01-4036 765-01-7649 572-01-9213 651-01-5141--
Output for 7.2.7
574-01-3232 421-01-8912 429-01-7327 765-01-0340 555-05-3698 523-10-0086--
Output for 7.2.6
574-01-8537 422-01-8467 432-01-5156 765-01-0140 557-01-1741 523-10-5233--
Output for 7.2.5
574-01-0046 422-01-1944 429-01-2734 764-01-7631 620-28-7267 651-01-4722--
Output for 7.2.4
574-01-6139 423-03-7820 430-01-7461 765-01-2900 558-01-3912 522-01-2936--
Output for 7.2.3
574-01-5983 423-03-4666 432-01-1742 600-01-3839 621-01-6335 650-01-0880--
Output for 7.2.2
574-01-2537 419-09-6490 430-03-0045 765-01-7767 625-01-2272 522-01-1583--
Output for 7.2.1
574-01-7700 418-01-9290 679-01-3285 765-01-0163 553-01-5073 522-01-7614--
Output for 7.2.0
574-01-4456 424-68-1148 429-01-6846 765-01-2301 569-03-4578 522-01-3999--
Output for 7.1.25
574-01-4935 420-74-4497 677-28-4474 765-01-2204 555-05-8163 524-50-4830--
Output for 7.1.24
574-01-5655 419-03-6518 676-09-4929 601-01-2163 560-32-9202 523-72-7628--
Output for 7.1.23
574-01-8486 419-09-4748 679-01-4334 526-01-4023 553-05-3119 521-01-0648--
Output for 7.1.22
574-01-3511 422-01-9534 678-01-7419 601-01-5145 562-05-4493 651-01-1859--
Output for 7.1.21
574-01-0419 422-01-0506 678-01-7841 526-05-0062 618-01-3778 651-01-0106--
Output for 7.1.20
574-01-1309 424-07-8586 678-01-6544 764-01-9347 625-01-6465 521-01-7886--
Output for 7.1.19
574-01-8184 422-01-4401 430-01-4587 527-56-8471 609-01-2370 524-88-6665--
Output for 7.1.18
574-01-2926 416-01-3683 432-01-3103 527-90-0258 569-05-1820 651-01-2377--
Output for 7.1.17
574-01-9430 419-03-9288 679-01-5508 600-01-8867 573-01-9504 651-01-7975--
Output for 7.1.16
574-01-9214 417-01-1701 676-09-2346 601-01-5625 612-09-4949 650-01-0782--
Output for 7.1.15
574-01-4425 418-01-4132 676-03-5845 765-01-4573 616-01-1658 650-01-4099--
Output for 7.1.14
574-01-9274 417-01-1177 430-01-7750 765-01-8616 611-01-4886 524-86-1695--
Output for 7.1.13
574-01-7873 424-90-6311 678-01-5405 601-01-1977 546-01-0625 653-07-7552--
Output for 7.1.12
574-01-9992 417-01-2715 677-40-9044 601-01-2708 567-09-9360 653-09-7437--
Output for 7.1.11
574-01-8777 423-05-2584 430-05-0977 526-01-9679 617-05-5680 651-01-6752--
Output for 7.1.10
574-01-1893 417-01-4760 430-01-3430 526-07-9963 621-01-1253 522-01-8251--
Output for 7.1.9
574-01-3772 423-03-5251 679-01-9823 600-01-1792 565-01-5338 521-01-9098--
Output for 7.1.8
574-01-7863 422-01-3963 676-03-4371 527-18-5195 607-01-4740 523-04-9930--
Output for 7.1.7
574-01-2565 421-01-5261 677-18-7295 765-01-0487 607-01-1365 522-01-6866--
Output for 7.1.6
574-01-9519 421-01-3205 432-01-9223 526-01-2286 616-07-4667 650-01-0042--
Output for 7.1.5
574-01-2867 423-05-8343 430-01-5234 527-60-8157 557-01-1133 651-01-5112--
Output for 7.1.4
574-01-2417 417-01-1099 431-01-7141 765-01-4994 548-01-0150 653-09-3320--
Output for 7.1.3
574-01-0673 423-01-6009 678-01-2288 765-01-5097 609-01-7516 523-96-6315--
Output for 7.1.2
574-01-4999 421-01-3435 429-01-5727 600-01-2011 614-01-2976 653-07-5717--
Output for 7.1.1
574-01-9014 424-05-5490 430-05-6805 526-07-5413 604-01-7969 521-01-8405--
Output for 7.1.0
574-01-6649 416-01-6052 677-84-2589 600-01-7643 603-03-8236 652-03-2189--
Output for 7.0.33
574-01-9135 424-26-3510 678-01-9451 600-01-9050 611-01-1007 653-01-0746--
Output for 7.0.32
574-01-3932 420-16-0927 431-01-7370 527-72-2619 607-01-3119 522-01-6882--
Output for 7.0.31
574-01-0578 417-01-6622 430-01-3985 527-48-1744 611-01-6716 522-01-1574--
Output for 7.0.30
574-01-0111 418-01-0532 676-07-6542 601-01-3662 621-01-8282 653-07-8532--
Output for 7.0.29
574-01-2067 424-18-7894 431-03-7898 600-01-3417 546-01-6465 650-01-1070--
Output for 7.0.28
574-01-4816 416-03-2571 676-05-0130 527-30-4180 621-01-1814 521-01-9817--
Output for 7.0.27
574-01-4242 423-01-2413 679-01-8649 526-05-2683 549-01-8414 651-01-2391--
Output for 7.0.26
574-01-4451 418-01-2743 678-01-1086 764-01-7104 559-42-3823 653-01-2753--
Output for 7.0.25
574-01-3652 421-01-5130 432-01-3501 526-07-0006 607-01-7304 524-72-4537--
Output for 7.0.24
574-01-3278 420-42-4703 676-09-7382 600-01-1303 607-01-2427 522-01-7354--
Output for 7.0.23
574-01-6359 424-96-9135 679-01-9031 764-01-5193 606-74-3811 523-60-9989--
Output for 7.0.22
574-01-4173 421-01-2108 679-01-7035 765-01-6386 550-01-7064 524-16-4384--
Output for 7.0.21
574-01-5500 421-01-8833 678-01-0606 600-01-0108 562-07-7806 523-64-6553--
Output for 7.0.20
574-01-1642 416-05-6905 678-01-9351 527-20-1306 610-42-8038 650-01-5503--
Output for 7.0.19
574-01-0779 417-01-5525 676-09-2252 765-01-8996 618-01-6312 524-70-7859--
Output for 7.0.18
574-01-4315 422-01-4051 677-54-6308 764-01-5148 605-05-6550 522-01-7315--
Output for 7.0.17
574-01-2117 418-01-8425 678-01-9008 601-01-6175 606-80-1394 653-09-2306--
Output for 7.0.16
574-01-3761 424-66-2348 678-01-2834 764-01-9318 549-01-6402 651-01-1345--
Output for 7.0.15
574-01-4907 424-42-4388 430-01-3611 764-01-4212 558-01-0560 652-05-7893--
Output for 7.0.14
574-01-5360 421-01-0313 678-01-0983 764-01-0012 612-03-5553 521-01-8832--
Output for 7.0.13
574-01-4682 418-01-7156 676-01-6724 526-05-5816 561-01-8436 521-01-2181--
Output for 7.0.12
574-01-7703 418-01-6204 430-03-4147 527-94-7989 566-76-0284 653-07-9171--
Output for 7.0.11
574-01-6133 417-01-0905 432-01-5946 601-01-9543 555-05-7455 522-01-7633--
Output for 7.0.10
574-01-2256 422-01-4233 429-01-5701 527-86-7574 552-50-5999 522-01-4492--
Output for 7.0.9
574-01-7581 423-01-5147 676-01-5706 600-01-6892 547-01-7309 521-01-4923--
Output for 7.0.8
574-01-1584 417-01-9729 678-01-9522 765-01-0276 564-01-5723 651-01-9041--
Output for 7.0.7
574-01-6869 420-64-2961 676-07-0922 527-40-0352 551-01-2458 651-01-4182--
Output for 7.0.6
574-01-9649 419-07-2577 677-58-0915 600-01-3059 624-34-1774 651-01-3293--
Output for 7.0.5
574-01-9293 423-05-4515 429-01-2785 600-01-5992 608-01-6524 652-07-9370--
Output for 7.0.4
574-01-8880 419-05-2619 429-01-8620 527-94-0106 609-01-8928 523-56-1364--
Output for 7.0.3
574-01-4550 416-01-8673 430-03-4766 765-01-7244 560-58-2863 653-03-8913--
Output for 7.0.2
574-01-2883 421-01-2563 429-01-1077 600-01-7331 549-01-2002 524-20-4895--
Output for 7.0.1
574-01-0018 424-38-6586 429-01-3347 601-01-5339 602-03-0440 524-22-8388--
Output for 7.0.0
574-01-8584 421-01-6698 676-01-5327 764-01-9963 620-54-6166 522-01-1888--
Output for hhvm-3.22.0
574-01-2624 416-03-4194 430-01-3987 526-03-2026 625-01-4729 523-20-8846--
Output for hhvm-3.21.3
574-01-7855 419-09-0804 430-05-5800 600-01-7483 570-24-9949 521-01-4412--
Output for hhvm-3.21.0
574-01-4197 416-01-8058 679-01-1456 526-03-7304 547-01-4314 521-01-3746--
Output for hhvm-3.20.2
574-01-0258 419-03-1504 429-01-4810 600-01-0947 565-01-3531 652-07-9895--
Output for hhvm-3.19.2
574-01-9814 420-54-0555 679-01-4307 764-01-7229 616-07-3209 523-40-3594--
Output for hhvm-3.18.5
574-01-8324 416-03-1549 431-03-2362 764-01-5657 566-05-2188 652-03-1354--
Output for hhvm-3.18.4
574-01-1797 424-72-3077 430-05-1389 600-01-0181 560-62-7068 521-01-4606--
Output for hhvm-3.17.3
574-01-2755 419-05-7875 430-01-8681 764-01-7833 551-01-0114 650-01-0267--
Output for hhvm-3.15.4
574-01-8588 420-02-1720 678-01-1126 600-01-2231 622-01-5088 523-48-4632--
Output for hhvm-3.13.2
574-01-1752 424-50-7949 431-03-4553 600-01-2646 567-01-0415 652-05-0682--
Output for hhvm-3.12.14
574-01-1410 424-24-2900 678-01-6979 764-01-2200 547-01-6849 521-01-9342--
Output for hhvm-3.11.1
574-01-7316 421-01-7176 679-01-9363 600-01-4827 622-01-1821 523-38-4580--
Output for hhvm-3.10.1
574-01-3254 418-01-5572 432-01-5407 601-01-1575 573-07-2235 652-05-3526--
Output for 5.6.38
574-01-4439 417-01-7358 677-52-4482 527-38-7489 552-72-8015 652-05-4874--
Output for 5.6.37
574-01-2820 424-16-2698 429-01-3290 764-01-6831 611-01-4383 651-01-1967--
Output for 5.6.36
574-01-8752 421-01-4044 431-03-0855 527-92-5267 555-09-0527 651-01-3087--
Output for 5.6.35
574-01-4409 418-01-2182 677-66-1473 601-01-8666 550-01-7284 652-05-3214--
Output for 5.6.34
574-01-3165 417-01-8080 432-01-3861 765-01-1204 609-03-5210 650-01-3908--
Output for 5.6.33
574-01-4402 421-01-7466 432-01-7600 600-01-2698 553-03-2070 522-01-7181--
Output for 5.6.32
574-01-3511 417-01-1160 676-01-4297 765-01-0017 569-09-9499 650-01-1422--
Output for 5.6.31
574-01-1736 417-01-5293 679-01-6970 764-01-8687 614-01-5500 521-01-6941--
Output for 5.6.30
574-01-3887 417-01-6142 431-03-9526 527-38-2807 559-60-2558 652-07-5912--
Output for 5.6.29
574-01-4983 419-09-4017 678-01-8488 600-01-1667 572-01-5590 523-40-9968--
Output for 5.6.28
574-01-6913 424-09-2506 430-01-4411 526-01-4022 617-05-6296 652-07-1157--
Output for 5.6.27
574-01-1218 421-01-3292 431-03-4553 765-01-9554 563-03-7073 652-05-5371--
Output for 5.6.26
574-01-3494 421-01-4682 431-03-9728 601-01-2508 554-01-6308 521-01-5766--
Output for 5.6.25
574-01-6151 420-58-3391 677-01-5276 527-60-4072 617-05-1693 523-05-7138--
Output for 5.6.24
574-01-6473 416-03-2611 429-01-3061 526-07-0040 550-01-4568 524-26-5251--
Output for 5.6.23
574-01-5623 422-01-3248 678-01-8472 765-01-3926 553-05-6933 650-01-0771--
Output for 5.6.22
574-01-5832 417-01-2250 677-20-3118 527-58-5885 552-30-0175 650-01-7285--
Output for 5.6.21
574-01-9895 423-01-3320 678-01-4668 764-01-3005 623-03-2276 652-03-5477--
Output for 5.6.20
574-01-7365 417-01-1096 679-01-0685 765-01-9303 559-84-9213 521-01-1881--
Output for 5.6.19
574-01-5106 424-54-8555 678-01-6670 526-05-5144 625-01-8739 651-01-6335--
Output for 5.6.18
574-01-1099 416-01-7454 677-54-2047 526-01-9363 568-01-0004 650-01-4390--
Output for 5.6.17
574-01-3586 416-05-6661 429-01-4777 527-38-2671 609-05-0299 521-01-2876--
Output for 5.6.16
574-01-6456 423-05-3860 678-01-3192 600-01-4352 573-05-3686 650-01-4217--
Output for 5.6.15
574-01-0901 424-28-5476 430-01-2634 601-01-1496 564-01-2194 650-01-2616--
Output for 5.6.14
574-01-2984 417-01-6303 430-03-2713 764-01-8664 611-01-8829 652-03-4236--
Output for 5.6.13
574-01-8674 416-05-6591 676-05-0963 527-88-5068 617-03-4454 653-01-7482--
Output for 5.6.12
574-01-2312 421-01-7212 430-05-7809 764-01-8427 609-01-4726 521-01-3591--
Output for 5.6.11
574-01-5623 420-09-8775 431-01-4158 765-01-6442 572-01-4691 522-01-0447--
Output for 5.6.10
574-01-3978 417-01-3044 431-03-8754 600-01-3238 557-01-4408 651-01-7665--
Output for 5.6.9
574-01-9867 416-05-9452 679-01-4204 764-01-2981 568-01-2882 524-30-3346--
Output for 5.6.8
574-01-9259 422-01-1165 676-01-1604 526-09-4304 553-03-8221 521-01-0208--
Output for 5.6.7
574-01-9098 417-01-3848 678-01-9322 765-01-2239 621-01-8474 522-01-6522--
Output for 5.6.6
574-01-7451 418-01-4969 679-01-2046 600-01-1805 626-05-6147 524-05-8431--
Output for 5.6.5
574-01-4601 416-01-2998 677-38-0334 527-62-0889 559-94-0017 521-01-3326--
Output for 5.6.4
574-01-6160 423-01-8181 676-09-8520 526-09-9024 558-01-0412 523-09-0293--
Output for 5.6.3
574-01-7249 416-05-4349 431-03-0998 527-98-5169 624-48-9633 523-06-3544--
Output for 5.6.2
574-01-5983 419-03-4659 676-09-3229 601-01-1839 554-01-8646 521-01-9117--
Output for 5.6.1
574-01-4323 421-01-0315 676-07-8344 765-01-2056 608-01-5006 523-58-3834--
Output for 5.6.0
574-01-7565 418-01-1805 432-01-8887 765-01-3194 568-01-2732 653-09-0047--
Output for 5.5.38
574-01-1878 416-03-8661 431-03-1342 600-01-2123 568-01-2891 524-20-8180--
Output for 5.5.37
574-01-9781 419-05-5024 678-01-4431 527-38-7198 573-07-7640 653-03-5444--
Output for 5.5.36
574-01-8171 419-07-1591 429-01-2250 601-01-7976 618-01-2924 521-01-1335--
Output for 5.5.35
574-01-9285 420-26-4507 677-86-8580 600-01-1220 609-01-9076 521-01-8584--
Output for 5.5.34
574-01-4400 417-01-7801 432-01-5749 526-07-5228 602-01-1443 652-01-3620--
Output for 5.5.33
574-01-5915 423-03-9735 679-01-0628 764-01-6035 622-01-3841 652-07-5492--
Output for 5.5.32
574-01-9744 423-05-5501 430-03-9386 764-01-5284 552-64-3408 523-40-2158--
Output for 5.5.31
574-01-1563 419-07-9501 676-05-7893 601-01-6450 553-03-5341 653-05-5044--
Output for 5.5.30
574-01-6926 422-01-0160 430-05-4123 765-01-2455 571-01-4367 652-01-5040--
Output for 5.5.29
574-01-4309 422-01-3557 676-01-9894 601-01-1073 614-01-9946 650-01-9201--
Output for 5.5.28
574-01-0392 423-01-6886 431-01-3763 527-84-5415 620-14-1556 523-32-4128--
Output for 5.5.27
574-01-1685 419-09-6525 677-58-3965 764-01-2020 626-01-1387 650-01-2319--
Output for 5.5.26
574-01-6448 423-01-4880 429-01-7067 526-03-0979 564-01-7752 652-01-1754--
Output for 5.5.25
574-01-2084 418-01-6341 679-01-2516 526-03-1546 559-52-6766 650-01-3196--
Output for 5.5.24
574-01-0596 423-01-6160 677-10-3921 600-01-5590 616-03-6744 524-02-2603--
Output for 5.5.23
574-01-2193 424-70-6619 432-01-0146 527-09-7811 605-07-3718 650-01-4249--
Output for 5.5.22
574-01-8713 418-01-6361 429-01-9082 526-01-6185 568-01-7798 650-01-8367--
Output for 5.5.21
574-01-9142 420-28-1629 431-01-3701 526-07-3431 556-80-2524 653-09-0536--
Output for 5.5.20
574-01-5825 424-78-9642 676-09-3005 527-78-0022 608-01-4441 653-03-9492--
Output for 5.5.19
574-01-8520 416-01-1346 432-01-0431 527-92-8442 570-78-7135 523-72-0542--
Output for 5.5.18
574-01-9248 416-05-9129 679-01-3755 526-05-2206 610-48-8464 524-90-1962--
Output for 5.5.17
574-01-7853 421-01-9328 677-01-7794 601-01-1652 604-01-0534 523-80-3405--
Output for 5.5.16
574-01-4029 417-01-7687 679-01-4767 600-01-4016 623-03-6251 650-01-1709--
Output for 5.5.15
574-01-5955 421-01-3377 677-10-3465 600-01-7589 555-01-0824 524-58-2150--
Output for 5.5.14
574-01-2436 423-01-6021 676-01-0245 526-07-9004 555-09-4531 521-01-7534--
Output for 5.5.13
574-01-9226 423-01-4338 677-36-4076 601-01-6945 545-01-1873 524-78-3906--
Output for 5.5.12
574-01-6593 421-01-9912 430-01-0287 765-01-4602 568-01-4343 524-60-7742--
Output for 5.5.11
574-01-2682 419-01-7132 677-09-7463 764-01-0453 563-72-2249 521-01-2640--
Output for 5.5.10
574-01-1548 418-01-7039 432-01-6782 601-01-0412 620-94-3677 522-01-4692--
Output for 5.5.9
574-01-7708 422-01-0805 679-01-6264 765-01-0643 612-05-1926 524-30-4098--
Output for 5.5.8
574-01-4940 419-03-6413 431-01-5198 527-76-8379 553-01-3470 651-01-4068--
Output for 5.5.7
574-01-0131 417-01-2471 432-01-3693 526-05-1502 620-56-4208 522-01-8007--
Output for 5.5.6
574-01-4030 421-01-9749 432-01-9984 526-03-6980 562-07-1724 652-05-6480--
Output for 5.5.5
574-01-6505 419-07-8822 678-01-1369 764-01-2666 614-01-8839 650-01-1862--
Output for 5.5.4
574-01-4317 420-60-6387 431-01-2982 600-01-4353 560-09-0792 523-06-8152--
Output for 5.5.3
574-01-7288 424-70-8174 678-01-8873 526-01-8896 605-01-1347 653-03-0819--
Output for 5.5.2
574-01-7280 417-01-8303 677-58-1529 527-16-6026 615-01-2667 523-84-8953--
Output for 5.5.1
574-01-0635 423-03-0772 431-03-3564 527-05-6544 547-01-7985 653-05-5604--
Output for 5.5.0
574-01-9256 419-03-8641 429-01-5931 600-01-8386 547-01-6563 652-01-2895--
Output for 5.4.45
574-01-6094 424-20-3876 677-18-7381 765-01-5596 559-74-5210 521-01-3050--
Output for 5.4.44
574-01-5351 419-05-0624 678-01-9259 526-07-8972 619-07-9422 653-05-1315--
Output for 5.4.43
574-01-1790 422-01-8415 429-01-0069 527-68-1538 563-50-0954 524-01-8612--
Output for 5.4.42
574-01-4185 418-01-1525 679-01-0097 765-01-5608 612-07-7238 652-03-4707--
Output for 5.4.41
574-01-9556 421-01-4296 678-01-8561 764-01-1886 621-01-8788 522-01-7023--
Output for 5.4.40
574-01-4536 418-01-1556 431-01-9330 764-01-2763 573-03-3930 523-07-0482--
Output for 5.4.39
574-01-0178 424-58-0754 432-01-1462 526-09-1663 571-01-6756 521-01-4047--
Output for 5.4.38
574-01-2497 423-05-2159 429-01-6087 527-10-2189 545-01-1333 652-07-1152--
Output for 5.4.37
574-01-5433 424-64-3786 677-52-7614 600-01-9888 560-94-9740 521-01-3662--
Output for 5.4.36
574-01-6578 422-01-0163 679-01-5593 527-44-6746 609-07-0880 521-01-9943--
Output for 5.4.35
574-01-6784 421-01-5012 431-03-8282 601-01-5105 626-03-7768 650-01-2175--
Output for 5.4.34
574-01-0210 420-52-1069 430-03-3780 601-01-6952 606-60-2844 522-01-2356--
Output for 5.4.33
574-01-1837 417-01-7097 676-03-4653 527-50-7292 626-03-0654 524-34-8579--
Output for 5.4.32
574-01-9663 424-98-9439 431-03-7708 765-01-8772 607-01-3958 522-01-0262--
Output for 5.4.31
574-01-8344 420-42-9790 430-03-3408 765-01-5700 548-01-2639 523-82-0858--
Output for 5.4.30
574-01-6285 422-01-9345 676-01-6498 764-01-9005 559-72-8795 650-01-0448--
Output for 5.4.29
574-01-7154 423-01-3232 429-01-2656 527-38-8278 558-01-2273 650-01-9896--
Output for 5.4.28
574-01-7846 421-01-4955 678-01-1439 601-01-6646 623-07-3393 650-01-9982--
Output for 5.4.27
574-01-4434 424-44-8964 679-01-4400 527-98-0556 605-01-2854 653-09-9135--
Output for 5.4.26
574-01-9134 420-28-9725 676-01-3904 527-64-3833 546-01-3051 652-05-6401--
Output for 5.4.25
574-01-2894 424-72-4226 679-01-2126 764-01-8730 618-01-1889 522-01-5290--
Output for 5.4.24
574-01-0860 416-05-0243 678-01-2080 526-05-3165 608-01-8520 651-01-9072--
Output for 5.4.23
574-01-4959 417-01-9443 678-01-3237 765-01-9193 610-56-3607 523-44-4226--
Output for 5.4.22
574-01-4957 418-01-9740 432-01-0098 764-01-7281 616-05-1209 652-03-2756--
Output for 5.4.21
574-01-5478 419-01-4361 429-01-8519 526-03-1248 609-03-7083 653-09-7150--
Output for 5.4.20
574-01-5614 417-01-8035 431-03-3976 764-01-5584 551-01-3287 650-01-2752--
Output for 5.4.19
574-01-6916 422-01-4305 676-01-4676 527-84-3146 555-09-2023 521-01-4329--
Output for 5.4.18
574-01-6079 422-01-8735 678-01-2084 600-01-3195 626-01-7693 650-01-9739--
Output for 5.4.17
574-01-4889 421-01-5644 430-03-3435 764-01-5318 602-03-8066 651-01-4136--
Output for 5.4.16
574-01-8596 418-01-5513 677-60-8803 527-34-7768 562-03-7555 522-01-6544--
Output for 5.4.15
574-01-1925 421-01-4492 679-01-3173 527-04-4464 554-01-3131 653-07-5685--
Output for 5.4.14
574-01-7028 424-80-6600 432-01-8546 601-01-0339 553-01-1355 521-01-3063--
Output for 5.4.13
574-01-9662 421-01-0048 430-03-4284 765-01-6669 568-01-4254 650-01-0008--
Output for 5.4.12
574-01-1677 420-01-7164 430-01-9147 601-01-4995 571-01-1779 653-01-0589--
Output for 5.4.11
574-01-1186 423-03-1550 677-40-9323 765-01-0447 564-01-4194 653-05-1317--
Output for 5.4.10
574-01-7781 417-01-1471 677-05-5372 526-01-1963 552-38-8716 650-01-2605--
Output for 5.4.9
574-01-6920 419-03-7362 676-01-8144 601-01-2922 564-01-8051 650-01-4118--
Output for 5.4.8
574-01-7531 424-38-0459 676-09-1405 765-01-8224 552-32-1166 521-01-2921--
Output for 5.4.7
574-01-2612 419-09-5402 431-01-8544 526-01-4417 552-24-4321 652-07-9263--
Output for 5.4.6
574-01-7211 422-01-3771 679-01-2896 526-01-5151 614-01-6326 522-01-2644--
Output for 5.4.5
574-01-6223 419-09-9542 677-32-3688 527-26-0390 605-03-5205 522-01-4513--
Output for 5.4.4
574-01-4051 419-05-9400 676-05-3376 601-01-4683 616-07-6060 650-01-1649--
Output for 5.4.3
574-01-0053 424-12-4203 678-01-3364 526-05-1613 565-01-4231 652-01-2421--
Output for 5.4.2
574-01-7397 421-01-5391 677-94-7023 764-01-8174 557-01-8607 521-01-9955--
Output for 5.4.1
574-01-3191 416-03-2466 676-07-0701 764-01-4661 545-01-4108 521-01-4747--
Output for 5.4.0
574-01-5102 418-01-5161 432-01-8439 765-01-4939 607-01-9853 653-05-5539--
Output for 5.3.29
574-01-1190 416-03-5783 677-90-0943 765-01-6714 608-01-0819 524-72-1330--
Output for 5.3.28
574-01-5615 418-01-4425 679-01-2329 765-01-5134 623-07-0437 652-01-2715--
Output for 5.3.27
574-01-5837 421-01-4055 429-01-6099 765-01-8475 570-01-0081 522-01-5117--
Output for 5.3.26
574-01-6899 417-01-7554 679-01-5354 527-68-8649 555-09-5825 522-01-7516--
Output for 5.3.25
574-01-9653 423-03-8540 430-05-9548 764-01-8135 554-01-1201 523-56-2816--
Output for 5.3.24
574-01-1032 421-01-9021 429-01-7688 765-01-1696 563-16-3201 653-09-6571--
Output for 5.3.23
574-01-3462 417-01-0074 677-80-4875 601-01-3233 605-09-0684 652-07-6586--
Output for 5.3.22
574-01-3181 420-06-2444 679-01-3755 526-05-9778 568-01-1536 653-03-2381--
Output for 5.3.21
574-01-2842 418-01-6292 431-01-3525 600-01-4298 564-01-8030 524-96-4382--
Output for 5.3.20
574-01-0046 421-01-7732 679-01-3633 601-01-9678 564-01-3782 523-76-2588--
Output for 5.3.19
574-01-9845 420-20-6022 677-68-0242 600-01-5977 609-03-2771 524-74-4037--
Output for 5.3.18
574-01-6130 421-01-9249 430-05-5592 764-01-3196 607-01-5929 524-82-8521--