1879 lines · cpp
1//===- llvm/unittest/Support/SipHashTest.cpp ------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "llvm/Support/SipHash.h"10#include "llvm/ADT/ArrayRef.h"11#include "gtest/gtest.h"12#include <string.h>13 14using namespace llvm;15 16namespace {17 18// Tests from the SipHash reference implementation:19// https://github.com/veorq/SipHash20// from test.c and vectors.h, with the latter vectors at the end of the file,21// forward-declared here.22extern const uint8_t ExpectedSipHash64[64][8];23extern const uint8_t ExpectedSipHash128[64][16];24 25TEST(SipHashTest, SipHash_2_4_64) {26 uint8_t K[16];27 for (size_t KI = 0; KI < sizeof(K); ++KI)28 K[KI] = KI;29 30 uint8_t In[64], Out[8];31 for (size_t InLen = 0; InLen < sizeof(In); ++InLen) {32 In[InLen] = InLen;33 getSipHash_2_4_64(ArrayRef(In, InLen), K, Out);34 for (size_t I = 0; I < sizeof(Out); ++I)35 EXPECT_EQ(ExpectedSipHash64[InLen][I], Out[I]);36 }37}38 39TEST(SipHashTest, SipHash_2_4_128) {40 uint8_t K[16];41 for (size_t KI = 0; KI < sizeof(K); ++KI)42 K[KI] = KI;43 44 uint8_t In[64], Out[16];45 for (size_t InLen = 0; InLen < sizeof(In); ++InLen) {46 In[InLen] = InLen;47 getSipHash_2_4_128(ArrayRef(In, InLen), K, Out);48 for (size_t I = 0; I < sizeof(Out); ++I)49 EXPECT_EQ(ExpectedSipHash128[InLen][I], Out[I]);50 }51}52 53// Tests for the 64-bit stable SipHash wrapper.54TEST(SipHashTest, StableSipHash) {55 EXPECT_EQ(0xB2BB69BB0A2AC0F1UL, getStableSipHash(""));56 EXPECT_EQ(0x9304ABFF427B72E8UL, getStableSipHash("strlen"));57 EXPECT_EQ(0x55F45179A08AE51BUL, getStableSipHash("_ZN1 ind; f"));58}59 60// Tests for the ptrauth-specific SipHash wrapper.61TEST(SipHashTest, PointerAuthSipHash) {62 // Test some basic cases.63 EXPECT_EQ(0xE793, getPointerAuthStableSipHash(""));64 EXPECT_EQ(0xF468, getPointerAuthStableSipHash("strlen"));65 EXPECT_EQ(0x2D15, getPointerAuthStableSipHash("_ZN1 ind; f"));66 67 // Test some known strings that are already enshrined in the ABI.68 EXPECT_EQ(0x6AE1, getPointerAuthStableSipHash("isa"));69 EXPECT_EQ(0xB5AB, getPointerAuthStableSipHash("objc_class:superclass"));70 EXPECT_EQ(0xC0BB, getPointerAuthStableSipHash("block_descriptor"));71 EXPECT_EQ(0xC310, getPointerAuthStableSipHash("method_list_t"));72 73 // Test limit cases where we differ from naive truncations from 64-bit hashes.74 EXPECT_EQ(1, getPointerAuthStableSipHash("_Zptrkvttf"));75 EXPECT_EQ(0xFFFF, getPointerAuthStableSipHash("_Zaflhllod"));76}77 78// Below are the unmodified expected outputs from the reference vectors.h.79 80const uint8_t ExpectedSipHash64[64][8] = {81 {82 0x31,83 0x0e,84 0x0e,85 0xdd,86 0x47,87 0xdb,88 0x6f,89 0x72,90 },91 {92 0xfd,93 0x67,94 0xdc,95 0x93,96 0xc5,97 0x39,98 0xf8,99 0x74,100 },101 {102 0x5a,103 0x4f,104 0xa9,105 0xd9,106 0x09,107 0x80,108 0x6c,109 0x0d,110 },111 {112 0x2d,113 0x7e,114 0xfb,115 0xd7,116 0x96,117 0x66,118 0x67,119 0x85,120 },121 {122 0xb7,123 0x87,124 0x71,125 0x27,126 0xe0,127 0x94,128 0x27,129 0xcf,130 },131 {132 0x8d,133 0xa6,134 0x99,135 0xcd,136 0x64,137 0x55,138 0x76,139 0x18,140 },141 {142 0xce,143 0xe3,144 0xfe,145 0x58,146 0x6e,147 0x46,148 0xc9,149 0xcb,150 },151 {152 0x37,153 0xd1,154 0x01,155 0x8b,156 0xf5,157 0x00,158 0x02,159 0xab,160 },161 {162 0x62,163 0x24,164 0x93,165 0x9a,166 0x79,167 0xf5,168 0xf5,169 0x93,170 },171 {172 0xb0,173 0xe4,174 0xa9,175 0x0b,176 0xdf,177 0x82,178 0x00,179 0x9e,180 },181 {182 0xf3,183 0xb9,184 0xdd,185 0x94,186 0xc5,187 0xbb,188 0x5d,189 0x7a,190 },191 {192 0xa7,193 0xad,194 0x6b,195 0x22,196 0x46,197 0x2f,198 0xb3,199 0xf4,200 },201 {202 0xfb,203 0xe5,204 0x0e,205 0x86,206 0xbc,207 0x8f,208 0x1e,209 0x75,210 },211 {212 0x90,213 0x3d,214 0x84,215 0xc0,216 0x27,217 0x56,218 0xea,219 0x14,220 },221 {222 0xee,223 0xf2,224 0x7a,225 0x8e,226 0x90,227 0xca,228 0x23,229 0xf7,230 },231 {232 0xe5,233 0x45,234 0xbe,235 0x49,236 0x61,237 0xca,238 0x29,239 0xa1,240 },241 {242 0xdb,243 0x9b,244 0xc2,245 0x57,246 0x7f,247 0xcc,248 0x2a,249 0x3f,250 },251 {252 0x94,253 0x47,254 0xbe,255 0x2c,256 0xf5,257 0xe9,258 0x9a,259 0x69,260 },261 {262 0x9c,263 0xd3,264 0x8d,265 0x96,266 0xf0,267 0xb3,268 0xc1,269 0x4b,270 },271 {272 0xbd,273 0x61,274 0x79,275 0xa7,276 0x1d,277 0xc9,278 0x6d,279 0xbb,280 },281 {282 0x98,283 0xee,284 0xa2,285 0x1a,286 0xf2,287 0x5c,288 0xd6,289 0xbe,290 },291 {292 0xc7,293 0x67,294 0x3b,295 0x2e,296 0xb0,297 0xcb,298 0xf2,299 0xd0,300 },301 {302 0x88,303 0x3e,304 0xa3,305 0xe3,306 0x95,307 0x67,308 0x53,309 0x93,310 },311 {312 0xc8,313 0xce,314 0x5c,315 0xcd,316 0x8c,317 0x03,318 0x0c,319 0xa8,320 },321 {322 0x94,323 0xaf,324 0x49,325 0xf6,326 0xc6,327 0x50,328 0xad,329 0xb8,330 },331 {332 0xea,333 0xb8,334 0x85,335 0x8a,336 0xde,337 0x92,338 0xe1,339 0xbc,340 },341 {342 0xf3,343 0x15,344 0xbb,345 0x5b,346 0xb8,347 0x35,348 0xd8,349 0x17,350 },351 {352 0xad,353 0xcf,354 0x6b,355 0x07,356 0x63,357 0x61,358 0x2e,359 0x2f,360 },361 {362 0xa5,363 0xc9,364 0x1d,365 0xa7,366 0xac,367 0xaa,368 0x4d,369 0xde,370 },371 {372 0x71,373 0x65,374 0x95,375 0x87,376 0x66,377 0x50,378 0xa2,379 0xa6,380 },381 {382 0x28,383 0xef,384 0x49,385 0x5c,386 0x53,387 0xa3,388 0x87,389 0xad,390 },391 {392 0x42,393 0xc3,394 0x41,395 0xd8,396 0xfa,397 0x92,398 0xd8,399 0x32,400 },401 {402 0xce,403 0x7c,404 0xf2,405 0x72,406 0x2f,407 0x51,408 0x27,409 0x71,410 },411 {412 0xe3,413 0x78,414 0x59,415 0xf9,416 0x46,417 0x23,418 0xf3,419 0xa7,420 },421 {422 0x38,423 0x12,424 0x05,425 0xbb,426 0x1a,427 0xb0,428 0xe0,429 0x12,430 },431 {432 0xae,433 0x97,434 0xa1,435 0x0f,436 0xd4,437 0x34,438 0xe0,439 0x15,440 },441 {442 0xb4,443 0xa3,444 0x15,445 0x08,446 0xbe,447 0xff,448 0x4d,449 0x31,450 },451 {452 0x81,453 0x39,454 0x62,455 0x29,456 0xf0,457 0x90,458 0x79,459 0x02,460 },461 {462 0x4d,463 0x0c,464 0xf4,465 0x9e,466 0xe5,467 0xd4,468 0xdc,469 0xca,470 },471 {472 0x5c,473 0x73,474 0x33,475 0x6a,476 0x76,477 0xd8,478 0xbf,479 0x9a,480 },481 {482 0xd0,483 0xa7,484 0x04,485 0x53,486 0x6b,487 0xa9,488 0x3e,489 0x0e,490 },491 {492 0x92,493 0x59,494 0x58,495 0xfc,496 0xd6,497 0x42,498 0x0c,499 0xad,500 },501 {502 0xa9,503 0x15,504 0xc2,505 0x9b,506 0xc8,507 0x06,508 0x73,509 0x18,510 },511 {512 0x95,513 0x2b,514 0x79,515 0xf3,516 0xbc,517 0x0a,518 0xa6,519 0xd4,520 },521 {522 0xf2,523 0x1d,524 0xf2,525 0xe4,526 0x1d,527 0x45,528 0x35,529 0xf9,530 },531 {532 0x87,533 0x57,534 0x75,535 0x19,536 0x04,537 0x8f,538 0x53,539 0xa9,540 },541 {542 0x10,543 0xa5,544 0x6c,545 0xf5,546 0xdf,547 0xcd,548 0x9a,549 0xdb,550 },551 {552 0xeb,553 0x75,554 0x09,555 0x5c,556 0xcd,557 0x98,558 0x6c,559 0xd0,560 },561 {562 0x51,563 0xa9,564 0xcb,565 0x9e,566 0xcb,567 0xa3,568 0x12,569 0xe6,570 },571 {572 0x96,573 0xaf,574 0xad,575 0xfc,576 0x2c,577 0xe6,578 0x66,579 0xc7,580 },581 {582 0x72,583 0xfe,584 0x52,585 0x97,586 0x5a,587 0x43,588 0x64,589 0xee,590 },591 {592 0x5a,593 0x16,594 0x45,595 0xb2,596 0x76,597 0xd5,598 0x92,599 0xa1,600 },601 {602 0xb2,603 0x74,604 0xcb,605 0x8e,606 0xbf,607 0x87,608 0x87,609 0x0a,610 },611 {612 0x6f,613 0x9b,614 0xb4,615 0x20,616 0x3d,617 0xe7,618 0xb3,619 0x81,620 },621 {622 0xea,623 0xec,624 0xb2,625 0xa3,626 0x0b,627 0x22,628 0xa8,629 0x7f,630 },631 {632 0x99,633 0x24,634 0xa4,635 0x3c,636 0xc1,637 0x31,638 0x57,639 0x24,640 },641 {642 0xbd,643 0x83,644 0x8d,645 0x3a,646 0xaf,647 0xbf,648 0x8d,649 0xb7,650 },651 {652 0x0b,653 0x1a,654 0x2a,655 0x32,656 0x65,657 0xd5,658 0x1a,659 0xea,660 },661 {662 0x13,663 0x50,664 0x79,665 0xa3,666 0x23,667 0x1c,668 0xe6,669 0x60,670 },671 {672 0x93,673 0x2b,674 0x28,675 0x46,676 0xe4,677 0xd7,678 0x06,679 0x66,680 },681 {682 0xe1,683 0x91,684 0x5f,685 0x5c,686 0xb1,687 0xec,688 0xa4,689 0x6c,690 },691 {692 0xf3,693 0x25,694 0x96,695 0x5c,696 0xa1,697 0x6d,698 0x62,699 0x9f,700 },701 {702 0x57,703 0x5f,704 0xf2,705 0x8e,706 0x60,707 0x38,708 0x1b,709 0xe5,710 },711 {712 0x72,713 0x45,714 0x06,715 0xeb,716 0x4c,717 0x32,718 0x8a,719 0x95,720 },721};722 723const uint8_t ExpectedSipHash128[64][16] = {724 {725 0xa3,726 0x81,727 0x7f,728 0x04,729 0xba,730 0x25,731 0xa8,732 0xe6,733 0x6d,734 0xf6,735 0x72,736 0x14,737 0xc7,738 0x55,739 0x02,740 0x93,741 },742 {743 0xda,744 0x87,745 0xc1,746 0xd8,747 0x6b,748 0x99,749 0xaf,750 0x44,751 0x34,752 0x76,753 0x59,754 0x11,755 0x9b,756 0x22,757 0xfc,758 0x45,759 },760 {761 0x81,762 0x77,763 0x22,764 0x8d,765 0xa4,766 0xa4,767 0x5d,768 0xc7,769 0xfc,770 0xa3,771 0x8b,772 0xde,773 0xf6,774 0x0a,775 0xff,776 0xe4,777 },778 {779 0x9c,780 0x70,781 0xb6,782 0x0c,783 0x52,784 0x67,785 0xa9,786 0x4e,787 0x5f,788 0x33,789 0xb6,790 0xb0,791 0x29,792 0x85,793 0xed,794 0x51,795 },796 {797 0xf8,798 0x81,799 0x64,800 0xc1,801 0x2d,802 0x9c,803 0x8f,804 0xaf,805 0x7d,806 0x0f,807 0x6e,808 0x7c,809 0x7b,810 0xcd,811 0x55,812 0x79,813 },814 {815 0x13,816 0x68,817 0x87,818 0x59,819 0x80,820 0x77,821 0x6f,822 0x88,823 0x54,824 0x52,825 0x7a,826 0x07,827 0x69,828 0x0e,829 0x96,830 0x27,831 },832 {833 0x14,834 0xee,835 0xca,836 0x33,837 0x8b,838 0x20,839 0x86,840 0x13,841 0x48,842 0x5e,843 0xa0,844 0x30,845 0x8f,846 0xd7,847 0xa1,848 0x5e,849 },850 {851 0xa1,852 0xf1,853 0xeb,854 0xbe,855 0xd8,856 0xdb,857 0xc1,858 0x53,859 0xc0,860 0xb8,861 0x4a,862 0xa6,863 0x1f,864 0xf0,865 0x82,866 0x39,867 },868 {869 0x3b,870 0x62,871 0xa9,872 0xba,873 0x62,874 0x58,875 0xf5,876 0x61,877 0x0f,878 0x83,879 0xe2,880 0x64,881 0xf3,882 0x14,883 0x97,884 0xb4,885 },886 {887 0x26,888 0x44,889 0x99,890 0x06,891 0x0a,892 0xd9,893 0xba,894 0xab,895 0xc4,896 0x7f,897 0x8b,898 0x02,899 0xbb,900 0x6d,901 0x71,902 0xed,903 },904 {905 0x00,906 0x11,907 0x0d,908 0xc3,909 0x78,910 0x14,911 0x69,912 0x56,913 0xc9,914 0x54,915 0x47,916 0xd3,917 0xf3,918 0xd0,919 0xfb,920 0xba,921 },922 {923 0x01,924 0x51,925 0xc5,926 0x68,927 0x38,928 0x6b,929 0x66,930 0x77,931 0xa2,932 0xb4,933 0xdc,934 0x6f,935 0x81,936 0xe5,937 0xdc,938 0x18,939 },940 {941 0xd6,942 0x26,943 0xb2,944 0x66,945 0x90,946 0x5e,947 0xf3,948 0x58,949 0x82,950 0x63,951 0x4d,952 0xf6,953 0x85,954 0x32,955 0xc1,956 0x25,957 },958 {959 0x98,960 0x69,961 0xe2,962 0x47,963 0xe9,964 0xc0,965 0x8b,966 0x10,967 0xd0,968 0x29,969 0x93,970 0x4f,971 0xc4,972 0xb9,973 0x52,974 0xf7,975 },976 {977 0x31,978 0xfc,979 0xef,980 0xac,981 0x66,982 0xd7,983 0xde,984 0x9c,985 0x7e,986 0xc7,987 0x48,988 0x5f,989 0xe4,990 0x49,991 0x49,992 0x02,993 },994 {995 0x54,996 0x93,997 0xe9,998 0x99,999 0x33,1000 0xb0,1001 0xa8,1002 0x11,1003 0x7e,1004 0x08,1005 0xec,1006 0x0f,1007 0x97,1008 0xcf,1009 0xc3,1010 0xd9,1011 },1012 {1013 0x6e,1014 0xe2,1015 0xa4,1016 0xca,1017 0x67,1018 0xb0,1019 0x54,1020 0xbb,1021 0xfd,1022 0x33,1023 0x15,1024 0xbf,1025 0x85,1026 0x23,1027 0x05,1028 0x77,1029 },1030 {1031 0x47,1032 0x3d,1033 0x06,1034 0xe8,1035 0x73,1036 0x8d,1037 0xb8,1038 0x98,1039 0x54,1040 0xc0,1041 0x66,1042 0xc4,1043 0x7a,1044 0xe4,1045 0x77,1046 0x40,1047 },1048 {1049 0xa4,1050 0x26,1051 0xe5,1052 0xe4,1053 0x23,1054 0xbf,1055 0x48,1056 0x85,1057 0x29,1058 0x4d,1059 0xa4,1060 0x81,1061 0xfe,1062 0xae,1063 0xf7,1064 0x23,1065 },1066 {1067 0x78,1068 0x01,1069 0x77,1070 0x31,1071 0xcf,1072 0x65,1073 0xfa,1074 0xb0,1075 0x74,1076 0xd5,1077 0x20,1078 0x89,1079 0x52,1080 0x51,1081 0x2e,1082 0xb1,1083 },1084 {1085 0x9e,1086 0x25,1087 0xfc,1088 0x83,1089 0x3f,1090 0x22,1091 0x90,1092 0x73,1093 0x3e,1094 0x93,1095 0x44,1096 0xa5,1097 0xe8,1098 0x38,1099 0x39,1100 0xeb,1101 },1102 {1103 0x56,1104 0x8e,1105 0x49,1106 0x5a,1107 0xbe,1108 0x52,1109 0x5a,1110 0x21,1111 0x8a,1112 0x22,1113 0x14,1114 0xcd,1115 0x3e,1116 0x07,1117 0x1d,1118 0x12,1119 },1120 {1121 0x4a,1122 0x29,1123 0xb5,1124 0x45,1125 0x52,1126 0xd1,1127 0x6b,1128 0x9a,1129 0x46,1130 0x9c,1131 0x10,1132 0x52,1133 0x8e,1134 0xff,1135 0x0a,1136 0xae,1137 },1138 {1139 0xc9,1140 0xd1,1141 0x84,1142 0xdd,1143 0xd5,1144 0xa9,1145 0xf5,1146 0xe0,1147 0xcf,1148 0x8c,1149 0xe2,1150 0x9a,1151 0x9a,1152 0xbf,1153 0x69,1154 0x1c,1155 },1156 {1157 0x2d,1158 0xb4,1159 0x79,1160 0xae,1161 0x78,1162 0xbd,1163 0x50,1164 0xd8,1165 0x88,1166 0x2a,1167 0x8a,1168 0x17,1169 0x8a,1170 0x61,1171 0x32,1172 0xad,1173 },1174 {1175 0x8e,1176 0xce,1177 0x5f,1178 0x04,1179 0x2d,1180 0x5e,1181 0x44,1182 0x7b,1183 0x50,1184 0x51,1185 0xb9,1186 0xea,1187 0xcb,1188 0x8d,1189 0x8f,1190 0x6f,1191 },1192 {1193 0x9c,1194 0x0b,1195 0x53,1196 0xb4,1197 0xb3,1198 0xc3,1199 0x07,1200 0xe8,1201 0x7e,1202 0xae,1203 0xe0,1204 0x86,1205 0x78,1206 0x14,1207 0x1f,1208 0x66,1209 },1210 {1211 0xab,1212 0xf2,1213 0x48,1214 0xaf,1215 0x69,1216 0xa6,1217 0xea,1218 0xe4,1219 0xbf,1220 0xd3,1221 0xeb,1222 0x2f,1223 0x12,1224 0x9e,1225 0xeb,1226 0x94,1227 },1228 {1229 0x06,1230 0x64,1231 0xda,1232 0x16,1233 0x68,1234 0x57,1235 0x4b,1236 0x88,1237 0xb9,1238 0x35,1239 0xf3,1240 0x02,1241 0x73,1242 0x58,1243 0xae,1244 0xf4,1245 },1246 {1247 0xaa,1248 0x4b,1249 0x9d,1250 0xc4,1251 0xbf,1252 0x33,1253 0x7d,1254 0xe9,1255 0x0c,1256 0xd4,1257 0xfd,1258 0x3c,1259 0x46,1260 0x7c,1261 0x6a,1262 0xb7,1263 },1264 {1265 0xea,1266 0x5c,1267 0x7f,1268 0x47,1269 0x1f,1270 0xaf,1271 0x6b,1272 0xde,1273 0x2b,1274 0x1a,1275 0xd7,1276 0xd4,1277 0x68,1278 0x6d,1279 0x22,1280 0x87,1281 },1282 {1283 0x29,1284 0x39,1285 0xb0,1286 0x18,1287 0x32,1288 0x23,1289 0xfa,1290 0xfc,1291 0x17,1292 0x23,1293 0xde,1294 0x4f,1295 0x52,1296 0xc4,1297 0x3d,1298 0x35,1299 },1300 {1301 0x7c,1302 0x39,1303 0x56,1304 0xca,1305 0x5e,1306 0xea,1307 0xfc,1308 0x3e,1309 0x36,1310 0x3e,1311 0x9d,1312 0x55,1313 0x65,1314 0x46,1315 0xeb,1316 0x68,1317 },1318 {1319 0x77,1320 0xc6,1321 0x07,1322 0x71,1323 0x46,1324 0xf0,1325 0x1c,1326 0x32,1327 0xb6,1328 0xb6,1329 0x9d,1330 0x5f,1331 0x4e,1332 0xa9,1333 0xff,1334 0xcf,1335 },1336 {1337 0x37,1338 0xa6,1339 0x98,1340 0x6c,1341 0xb8,1342 0x84,1343 0x7e,1344 0xdf,1345 0x09,1346 0x25,1347 0xf0,1348 0xf1,1349 0x30,1350 0x9b,1351 0x54,1352 0xde,1353 },1354 {1355 0xa7,1356 0x05,1357 0xf0,1358 0xe6,1359 0x9d,1360 0xa9,1361 0xa8,1362 0xf9,1363 0x07,1364 0x24,1365 0x1a,1366 0x2e,1367 0x92,1368 0x3c,1369 0x8c,1370 0xc8,1371 },1372 {1373 0x3d,1374 0xc4,1375 0x7d,1376 0x1f,1377 0x29,1378 0xc4,1379 0x48,1380 0x46,1381 0x1e,1382 0x9e,1383 0x76,1384 0xed,1385 0x90,1386 0x4f,1387 0x67,1388 0x11,1389 },1390 {1391 0x0d,1392 0x62,1393 0xbf,1394 0x01,1395 0xe6,1396 0xfc,1397 0x0e,1398 0x1a,1399 0x0d,1400 0x3c,1401 0x47,1402 0x51,1403 0xc5,1404 0xd3,1405 0x69,1406 0x2b,1407 },1408 {1409 0x8c,1410 0x03,1411 0x46,1412 0x8b,1413 0xca,1414 0x7c,1415 0x66,1416 0x9e,1417 0xe4,1418 0xfd,1419 0x5e,1420 0x08,1421 0x4b,1422 0xbe,1423 0xe7,1424 0xb5,1425 },1426 {1427 0x52,1428 0x8a,1429 0x5b,1430 0xb9,1431 0x3b,1432 0xaf,1433 0x2c,1434 0x9c,1435 0x44,1436 0x73,1437 0xcc,1438 0xe5,1439 0xd0,1440 0xd2,1441 0x2b,1442 0xd9,1443 },1444 {1445 0xdf,1446 0x6a,1447 0x30,1448 0x1e,1449 0x95,1450 0xc9,1451 0x5d,1452 0xad,1453 0x97,1454 0xae,1455 0x0c,1456 0xc8,1457 0xc6,1458 0x91,1459 0x3b,1460 0xd8,1461 },1462 {1463 0x80,1464 0x11,1465 0x89,1466 0x90,1467 0x2c,1468 0x85,1469 0x7f,1470 0x39,1471 0xe7,1472 0x35,1473 0x91,1474 0x28,1475 0x5e,1476 0x70,1477 0xb6,1478 0xdb,1479 },1480 {1481 0xe6,1482 0x17,1483 0x34,1484 0x6a,1485 0xc9,1486 0xc2,1487 0x31,1488 0xbb,1489 0x36,1490 0x50,1491 0xae,1492 0x34,1493 0xcc,1494 0xca,1495 0x0c,1496 0x5b,1497 },1498 {1499 0x27,1500 0xd9,1501 0x34,1502 0x37,1503 0xef,1504 0xb7,1505 0x21,1506 0xaa,1507 0x40,1508 0x18,1509 0x21,1510 0xdc,1511 0xec,1512 0x5a,1513 0xdf,1514 0x89,1515 },1516 {1517 0x89,1518 0x23,1519 0x7d,1520 0x9d,1521 0xed,1522 0x9c,1523 0x5e,1524 0x78,1525 0xd8,1526 0xb1,1527 0xc9,1528 0xb1,1529 0x66,1530 0xcc,1531 0x73,1532 0x42,1533 },1534 {1535 0x4a,1536 0x6d,1537 0x80,1538 0x91,1539 0xbf,1540 0x5e,1541 0x7d,1542 0x65,1543 0x11,1544 0x89,1545 0xfa,1546 0x94,1547 0xa2,1548 0x50,1549 0xb1,1550 0x4c,1551 },1552 {1553 0x0e,1554 0x33,1555 0xf9,1556 0x60,1557 0x55,1558 0xe7,1559 0xae,1560 0x89,1561 0x3f,1562 0xfc,1563 0x0e,1564 0x3d,1565 0xcf,1566 0x49,1567 0x29,1568 0x02,1569 },1570 {1571 0xe6,1572 0x1c,1573 0x43,1574 0x2b,1575 0x72,1576 0x0b,1577 0x19,1578 0xd1,1579 0x8e,1580 0xc8,1581 0xd8,1582 0x4b,1583 0xdc,1584 0x63,1585 0x15,1586 0x1b,1587 },1588 {1589 0xf7,1590 0xe5,1591 0xae,1592 0xf5,1593 0x49,1594 0xf7,1595 0x82,1596 0xcf,1597 0x37,1598 0x90,1599 0x55,1600 0xa6,1601 0x08,1602 0x26,1603 0x9b,1604 0x16,1605 },1606 {1607 0x43,1608 0x8d,1609 0x03,1610 0x0f,1611 0xd0,1612 0xb7,1613 0xa5,1614 0x4f,1615 0xa8,1616 0x37,1617 0xf2,1618 0xad,1619 0x20,1620 0x1a,1621 0x64,1622 0x03,1623 },1624 {1625 0xa5,1626 0x90,1627 0xd3,1628 0xee,1629 0x4f,1630 0xbf,1631 0x04,1632 0xe3,1633 0x24,1634 0x7e,1635 0x0d,1636 0x27,1637 0xf2,1638 0x86,1639 0x42,1640 0x3f,1641 },1642 {1643 0x5f,1644 0xe2,1645 0xc1,1646 0xa1,1647 0x72,1648 0xfe,1649 0x93,1650 0xc4,1651 0xb1,1652 0x5c,1653 0xd3,1654 0x7c,1655 0xae,1656 0xf9,1657 0xf5,1658 0x38,1659 },1660 {1661 0x2c,1662 0x97,1663 0x32,1664 0x5c,1665 0xbd,1666 0x06,1667 0xb3,1668 0x6e,1669 0xb2,1670 0x13,1671 0x3d,1672 0xd0,1673 0x8b,1674 0x3a,1675 0x01,1676 0x7c,1677 },1678 {1679 0x92,1680 0xc8,1681 0x14,1682 0x22,1683 0x7a,1684 0x6b,1685 0xca,1686 0x94,1687 0x9f,1688 0xf0,1689 0x65,1690 0x9f,1691 0x00,1692 0x2a,1693 0xd3,1694 0x9e,1695 },1696 {1697 0xdc,1698 0xe8,1699 0x50,1700 0x11,1701 0x0b,1702 0xd8,1703 0x32,1704 0x8c,1705 0xfb,1706 0xd5,1707 0x08,1708 0x41,1709 0xd6,1710 0x91,1711 0x1d,1712 0x87,1713 },1714 {1715 0x67,1716 0xf1,1717 0x49,1718 0x84,1719 0xc7,1720 0xda,1721 0x79,1722 0x12,1723 0x48,1724 0xe3,1725 0x2b,1726 0xb5,1727 0x92,1728 0x25,1729 0x83,1730 0xda,1731 },1732 {1733 0x19,1734 0x38,1735 0xf2,1736 0xcf,1737 0x72,1738 0xd5,1739 0x4e,1740 0xe9,1741 0x7e,1742 0x94,1743 0x16,1744 0x6f,1745 0xa9,1746 0x1d,1747 0x2a,1748 0x36,1749 },1750 {1751 0x74,1752 0x48,1753 0x1e,1754 0x96,1755 0x46,1756 0xed,1757 0x49,1758 0xfe,1759 0x0f,1760 0x62,1761 0x24,1762 0x30,1763 0x16,1764 0x04,1765 0x69,1766 0x8e,1767 },1768 {1769 0x57,1770 0xfc,1771 0xa5,1772 0xde,1773 0x98,1774 0xa9,1775 0xd6,1776 0xd8,1777 0x00,1778 0x64,1779 0x38,1780 0xd0,1781 0x58,1782 0x3d,1783 0x8a,1784 0x1d,1785 },1786 {1787 0x9f,1788 0xec,1789 0xde,1790 0x1c,1791 0xef,1792 0xdc,1793 0x1c,1794 0xbe,1795 0xd4,1796 0x76,1797 0x36,1798 0x74,1799 0xd9,1800 0x57,1801 0x53,1802 0x59,1803 },1804 {1805 0xe3,1806 0x04,1807 0x0c,1808 0x00,1809 0xeb,1810 0x28,1811 0xf1,1812 0x53,1813 0x66,1814 0xca,1815 0x73,1816 0xcb,1817 0xd8,1818 0x72,1819 0xe7,1820 0x40,1821 },1822 {1823 0x76,1824 0x97,1825 0x00,1826 0x9a,1827 0x6a,1828 0x83,1829 0x1d,1830 0xfe,1831 0xcc,1832 0xa9,1833 0x1c,1834 0x59,1835 0x93,1836 0x67,1837 0x0f,1838 0x7a,1839 },1840 {1841 0x58,1842 0x53,1843 0x54,1844 0x23,1845 0x21,1846 0xf5,1847 0x67,1848 0xa0,1849 0x05,1850 0xd5,1851 0x47,1852 0xa4,1853 0xf0,1854 0x47,1855 0x59,1856 0xbd,1857 },1858 {1859 0x51,1860 0x50,1861 0xd1,1862 0x77,1863 0x2f,1864 0x50,1865 0x83,1866 0x4a,1867 0x50,1868 0x3e,1869 0x06,1870 0x9a,1871 0x97,1872 0x3f,1873 0xbd,1874 0x7c,1875 },1876};1877 1878} // end anonymous namespace1879