low_level_hash_test.cc
Go to the documentation of this file.
1 // Copyright 2020 The Abseil Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
16 
17 #include <cinttypes>
18 
19 #include "gmock/gmock.h"
20 #include "gtest/gtest.h"
21 #include "absl/strings/escaping.h"
22 
23 #define UPDATE_GOLDEN 0
24 
25 namespace {
26 
27 static const uint64_t kSalt[5] = {0xa0761d6478bd642f, 0xe7037ed1a0b428dbl,
28  0x8ebc6af09c88c6e3, 0x589965cc75374cc3l,
29  0x1d8e4e27c47d124f};
30 
31 TEST(LowLevelHashTest, VerifyGolden) {
32  constexpr size_t kNumGoldenOutputs = 134;
33  static struct {
34  absl::string_view base64_data;
35  uint64_t seed;
36  } cases[] = {
37  {"", uint64_t{0xec42b7ab404b8acb}},
38  {"ICAg", uint64_t{0}},
39  {"YWFhYQ==", uint64_t{0}},
40  {"AQID", uint64_t{0}},
41  {"AQIDBA==", uint64_t{0}},
42  {"dGhpcmRfcGFydHl8d3loYXNofDY0", uint64_t{0}},
43  {"Zw==", uint64_t{0xeeee074043a3ee0f}},
44  {"xmk=", uint64_t{0x857902089c393de}},
45  {"c1H/", uint64_t{0x993df040024ca3af}},
46  {"SuwpzQ==", uint64_t{0xc4e4c2acea740e96}},
47  {"uqvy++M=", uint64_t{0x6a214b3db872d0cf}},
48  {"RnzCVPgb", uint64_t{0x44343db6a89dba4d}},
49  {"6OeNdlouYw==", uint64_t{0x77b5d6d1ae1dd483}},
50  {"M5/JmmYyDbc=", uint64_t{0x89ab8ecb44d221f1}},
51  {"MVijWiVdBRdY", uint64_t{0x60244b17577ca81b}},
52  {"6V7Uq7LNxpu0VA==", uint64_t{0x59a08dcee0717067}},
53  {"EQ6CdEEhPdyHcOk=", uint64_t{0xf5f20db3ade57396}},
54  {"PqFB4fxnPgF+l+rc", uint64_t{0xbf8dee0751ad3efb}},
55  {"a5aPOFwq7LA7+zKvPA==", uint64_t{0x6b7a06b268d63e30}},
56  {"VOwY21wCGv5D+/qqOvs=", uint64_t{0xb8c37f0ae0f54c82}},
57  {"KdHmBTx8lHXYvmGJ+Vy7", uint64_t{0x9fcbed0c38e50eef}},
58  {"qJkPlbHr8bMF7/cA6aE65Q==", uint64_t{0x2af4bade1d8e3a1d}},
59  {"ygvL0EhHZL0fIx6oHHtkxRQ=", uint64_t{0x714e3aa912da2f2c}},
60  {"c1rFXkt5YztwZCQRngncqtSs", uint64_t{0xf5ee75e3cbb82c1c}},
61  {"8hsQrzszzeNQSEcVXLtvIhm6mw==", uint64_t{0x620e7007321b93b9}},
62  {"ffUL4RocfyP4KfikGxO1yk7omDI=", uint64_t{0xc08528cac2e551fc}},
63  {"OOB5TT00vF9Od/rLbAWshiErqhpV", uint64_t{0x6a1debf9cc3ad39}},
64  {"or5wtXM7BFzTNpSzr+Lw5J5PMhVJ/Q==", uint64_t{0x7e0a3c88111fc226}},
65  {"gk6pCHDUsoopVEiaCrzVDhioRKxb844=", uint64_t{0x1301fef15df39edb}},
66  {"TNctmwlC5QbEM6/No4R/La3UdkfeMhzs", uint64_t{0x64e181f3d5817ab}},
67  {"SsQw9iAjhWz7sgcE9OwLuSC6hsM+BfHs2Q==", uint64_t{0xafafc44961078ecb}},
68  {"ZzO3mVCj4xTT2TT3XqDyEKj2BZQBvrS8RHg=", uint64_t{0x4f7bb45549250094}},
69  {"+klp5iPQGtppan5MflEls0iEUzqU+zGZkDJX", uint64_t{0xa30061abaa2818c}},
70  {"RO6bvOnlJc8I9eniXlNgqtKy0IX6VNg16NRmgg==",
71  uint64_t{0xd902ee3e44a5705f}},
72  {"ZJjZqId1ZXBaij9igClE3nyliU5XWdNRrayGlYA=", uint64_t{0x316d36da516f583}},
73  {"7BfkhfGMDGbxfMB8uyL85GbaYQtjr2K8g7RpLzr/",
74  uint64_t{0x402d83f9f834f616}},
75  {"rycWk6wHH7htETQtje9PidS2YzXBx+Qkg2fY7ZYS7A==",
76  uint64_t{0x9c604164c016b72c}},
77  {"RTkC2OUK+J13CdGllsH0H5WqgspsSa6QzRZouqx6pvI=",
78  uint64_t{0x3f4507e01f9e73ba}},
79  {"tKjKmbLCNyrLCM9hycOAXm4DKNpM12oZ7dLTmUx5iwAi",
80  uint64_t{0xc3fe0d5be8d2c7c7}},
81  {"VprUGNH+5NnNRaORxgH/ySrZFQFDL+4VAodhfBNinmn8cg==",
82  uint64_t{0x531858a40bfa7ea1}},
83  {"gc1xZaY+q0nPcUvOOnWnT3bqfmT/geth/f7Dm2e/DemMfk4=",
84  uint64_t{0x86689478a7a7e8fa}},
85  {"Mr35fIxqx1ukPAL0su1yFuzzAU3wABCLZ8+ZUFsXn47UmAph",
86  uint64_t{0x4ec948b8e7f27288}},
87  {"A9G8pw2+m7+rDtWYAdbl8tb2fT7FFo4hLi2vAsa5Y8mKH3CX3g==",
88  uint64_t{0xce46c7213c10032}},
89  {"DFaJGishGwEHDdj9ixbCoaTjz9KS0phLNWHVVdFsM93CvPft3hM=",
90  uint64_t{0xf63e96ee6f32a8b6}},
91  {"7+Ugx+Kr3aRNgYgcUxru62YkTDt5Hqis+2po81hGBkcrJg4N0uuy",
92  uint64_t{0x1cfe85e65fc5225}},
93  {"H2w6O8BUKqu6Tvj2xxaecxEI2wRgIgqnTTG1WwOgDSINR13Nm4d4Vg==",
94  uint64_t{0x45c474f1cee1d2e8}},
95  {"1XBMnIbqD5jy65xTDaf6WtiwtdtQwv1dCVoqpeKj+7cTR1SaMWMyI04=",
96  uint64_t{0x6e024e14015f329c}},
97  {"znZbdXG2TSFrKHEuJc83gPncYpzXGbAebUpP0XxzH0rpe8BaMQ17nDbt",
98  uint64_t{0x760c40502103ae1c}},
99  {"ylu8Atu13j1StlcC1MRMJJXIl7USgDDS22HgVv0WQ8hx/8pNtaiKB17hCQ==",
100  uint64_t{0x17fd05c3c560c320}},
101  {"M6ZVVzsd7vAvbiACSYHioH/440dp4xG2mLlBnxgiqEvI/aIEGpD0Sf4VS0g=",
102  uint64_t{0x8b34200a6f8e90d9}},
103  {"li3oFSXLXI+ubUVGJ4blP6mNinGKLHWkvGruun85AhVn6iuMtocbZPVhqxzn",
104  uint64_t{0x6be89e50818bdf69}},
105  {"kFuQHuUCqBF3Tc3hO4dgdIp223ShaCoog48d5Do5zMqUXOh5XpGK1t5XtxnfGA==",
106  uint64_t{0xfb389773315b47d8}},
107  {"jWmOad0v0QhXVJd1OdGuBZtDYYS8wBVHlvOeTQx9ZZnm8wLEItPMeihj72E0nWY=",
108  uint64_t{0x4f2512a23f61efee}},
109  {"z+DHU52HaOQdW4JrZwDQAebEA6rm13Zg/9lPYA3txt3NjTBqFZlOMvTRnVzRbl23",
110  uint64_t{0x59ccd92fc16c6fda}},
111  {"MmBiGDfYeTayyJa/tVycg+rN7f9mPDFaDc+23j0TlW9094er0ADigsl4QX7V3gG/qw==",
112  uint64_t{0x25c5a7f5bd330919}},
113  {"774RK+9rOL4iFvs1q2qpo/JVc/I39buvNjqEFDtDvyoB0FXxPI2vXqOrk08VPfIHkmU=",
114  uint64_t{0x51df4174d34c97d7}},
115  {"+slatXiQ7/2lK0BkVUI1qzNxOOLP3I1iK6OfHaoxgqT63FpzbElwEXSwdsryq3UlHK0I",
116  uint64_t{0x80ce6d76f89cb57}},
117  {"64mVTbQ47dHjHlOHGS/hjJwr/"
118  "K2frCNpn87exOqMzNUVYiPKmhCbfS7vBUce5tO6Ec9osQ==",
119  uint64_t{0x20961c911965f684}},
120  {"fIsaG1r530SFrBqaDj1kqE0AJnvvK8MNEZbII2Yw1OK77v0V59xabIh0B5axaz/"
121  "+a2V5WpA=",
122  uint64_t{0x4e5b926ec83868e7}},
123  {"PGih0zDEOWCYGxuHGDFu9Ivbff/"
124  "iE7BNUq65tycTR2R76TerrXALRosnzaNYO5fjFhTi+CiS",
125  uint64_t{0x3927b30b922eecef}},
126  {"RnpA/"
127  "zJnEnnLjmICORByRVb9bCOgxF44p3VMiW10G7PvW7IhwsWajlP9kIwNA9FjAD2GoQHk2Q="
128  "=",
129  uint64_t{0xbd0291284a49b61c}},
130  {"qFklMceaTHqJpy2qavJE+EVBiNFOi6OxjOA3LeIcBop1K7w8xQi3TrDk+"
131  "BrWPRIbfprszSaPfrI=",
132  uint64_t{0x73a77c575bcc956}},
133  {"cLbfUtLl3EcQmITWoTskUR8da/VafRDYF/ylPYwk7/"
134  "zazk6ssyrzxMN3mmSyvrXR2yDGNZ3WDrTT",
135  uint64_t{0x766a0e2ade6d09a6}},
136  {"s/"
137  "Jf1+"
138  "FbsbCpXWPTUSeWyMH6e4CvTFvPE5Fs6Z8hvFITGyr0dtukHzkI84oviVLxhM1xMxrMAy1db"
139  "w==",
140  uint64_t{0x2599f4f905115869}},
141  {"FvyQ00+j7nmYZVQ8hI1Edxd0AWplhTfWuFGiu34AK5X8u2hLX1bE97sZM0CmeLe+"
142  "7LgoUT1fJ/axybE=",
143  uint64_t{0xd8256e5444d21e53}},
144  {"L8ncxMaYLBH3g9buPu8hfpWZNlOF7nvWLNv9IozH07uQsIBWSKxoPy8+"
145  "LW4tTuzC6CIWbRGRRD1sQV/4",
146  uint64_t{0xf664a91333fb8dfd}},
147  {"CDK0meI07yrgV2kQlZZ+"
148  "wuVqhc2NmzqeLH7bmcA6kchsRWFPeVF5Wqjjaj556ABeUoUr3yBmfU3kWOakkg==",
149  uint64_t{0x9625b859be372cd1}},
150  {"d23/vc5ONh/"
151  "HkMiq+gYk4gaCNYyuFKwUkvn46t+dfVcKfBTYykr4kdvAPNXGYLjM4u1YkAEFpJP+"
152  "nX7eOvs=",
153  uint64_t{0x7b99940782e29898}},
154  {"NUR3SRxBkxTSbtQORJpu/GdR6b/h6sSGfsMj/KFd99ahbh+9r7LSgSGmkGVB/"
155  "mGoT0pnMTQst7Lv2q6QN6Vm",
156  uint64_t{0x4fe12fa5383b51a8}},
157  {"2BOFlcI3Z0RYDtS9T9Ie9yJoXlOdigpPeeT+CRujb/"
158  "O39Ih5LPC9hP6RQk1kYESGyaLZZi3jtabHs7DiVx/VDg==",
159  uint64_t{0xe2ccb09ac0f5b4b6}},
160  {"FF2HQE1FxEvWBpg6Z9zAMH+Zlqx8S1JD/"
161  "wIlViL6ZDZY63alMDrxB0GJQahmAtjlm26RGLnjW7jmgQ4Ie3I+014=",
162  uint64_t{0x7d0a37adbd7b753b}},
163  {"tHmO7mqVL/PX11nZrz50Hc+M17Poj5lpnqHkEN+4bpMx/"
164  "YGbkrGOaYjoQjgmt1X2QyypK7xClFrjeWrCMdlVYtbW",
165  uint64_t{0xd3ae96ef9f7185f2}},
166  {"/WiHi9IQcxRImsudkA/KOTqGe8/"
167  "gXkhKIHkjddv5S9hi02M049dIK3EUyAEjkjpdGLUs+BN0QzPtZqjIYPOgwsYE9g==",
168  uint64_t{0x4fb88ea63f79a0d8}},
169  {"qds+1ExSnU11L4fTSDz/QE90g4Jh6ioqSh3KDOTOAo2pQGL1k/"
170  "9CCC7J23YF27dUTzrWsCQA2m4epXoCc3yPHb3xElA=",
171  uint64_t{0xed564e259bb5ebe9}},
172  {"8FVYHx40lSQPTHheh08Oq0/"
173  "pGm2OlG8BEf8ezvAxHuGGdgCkqpXIueJBF2mQJhTfDy5NncO8ntS7vaKs7sCNdDaNGOEi",
174  uint64_t{0x3e3256b60c428000}},
175  {"4ZoEIrJtstiCkeew3oRzmyJHVt/pAs2pj0HgHFrBPztbQ10NsQ/"
176  "lM6DM439QVxpznnBSiHMgMQJhER+70l72LqFTO1JiIQ==",
177  uint64_t{0xfb05bad59ec8705}},
178  {"hQPtaYI+wJyxXgwD5n8jGIKFKaFA/"
179  "P83KqCKZfPthnjwdOFysqEOYwAaZuaaiv4cDyi9TyS8hk5cEbNP/jrI7q6pYGBLbsM=",
180  uint64_t{0xafdc251dbf97b5f8}},
181  {"S4gpMSKzMD7CWPsSfLeYyhSpfWOntyuVZdX1xSBjiGvsspwOZcxNKCRIOqAA0moUfOh3I5+"
182  "juQV4rsqYElMD/gWfDGpsWZKQ",
183  uint64_t{0x10ec9c92ddb5dcbc}},
184  {"oswxop+"
185  "bthuDLT4j0PcoSKby4LhF47ZKg8K17xxHf74UsGCzTBbOz0MM8hQEGlyqDT1iUiAYnaPaUp"
186  "L2mRK0rcIUYA4qLt5uOw==",
187  uint64_t{0x9a767d5822c7dac4}},
188  {"0II/"
189  "697p+"
190  "BtLSjxj5989OXI004TogEb94VUnDzOVSgMXie72cuYRvTFNIBgtXlKfkiUjeqVpd4a+"
191  "n5bxNOD1TGrjQtzKU5r7obo=",
192  uint64_t{0xee46254080d6e2db}},
193  {"E84YZW2qipAlMPmctrg7TKlwLZ68l4L+c0xRDUfyyFrA4MAti0q9sHq3TDFviH0Y+"
194  "Kq3tEE5srWFA8LM9oomtmvm5PYxoaarWPLc",
195  uint64_t{0xbbb669588d8bf398}},
196  {"x3pa4HIElyZG0Nj7Vdy9IdJIR4izLmypXw5PCmZB5y68QQ4uRaVVi3UthsoJROvbjDJkP2D"
197  "Q6L/eN8pFeLFzNPKBYzcmuMOb5Ull7w==",
198  uint64_t{0xdc2afaa529beef44}},
199  {"jVDKGYIuWOP/"
200  "QKLdd2wi8B2VJA8Wh0c8PwrXJVM8FOGM3voPDVPyDJOU6QsBDPseoR8uuKd19OZ/"
201  "zAvSCB+zlf6upAsBlheUKgCfKww=",
202  uint64_t{0xf1f67391d45013a8}},
203  {"mkquunhmYe1aR2wmUz4vcvLEcKBoe6H+kjUok9VUn2+eTSkWs4oDDtJvNCWtY5efJwg/"
204  "j4PgjRYWtqnrCkhaqJaEvkkOwVfgMIwF3e+d",
205  uint64_t{0x16fce2b8c65a3429}},
206  {"fRelvKYonTQ+s+rnnvQw+JzGfFoPixtna0vzcSjiDqX5s2Kg2//"
207  "UGrK+AVCyMUhO98WoB1DDbrsOYSw2QzrcPe0+3ck9sePvb+Q/IRaHbw==",
208  uint64_t{0xf4b096699f49fe67}},
209  {"DUwXFJzagljo44QeJ7/"
210  "6ZKw4QXV18lhkYT2jglMr8WB3CHUU4vdsytvw6AKv42ZcG6fRkZkq9fpnmXy6xG0aO3WPT1"
211  "eHuyFirAlkW+zKtwg=",
212  uint64_t{0xca584c4bc8198682}},
213  {"cYmZCrOOBBongNTr7e4nYn52uQUy2mfe48s50JXx2AZ6cRAt/"
214  "xRHJ5QbEoEJOeOHsJyM4nbzwFm++SlT6gFZZHJpkXJ92JkR86uS/eV1hJUR",
215  uint64_t{0xed269fc3818b6aad}},
216  {"EXeHBDfhwzAKFhsMcH9+2RHwV+mJaN01+9oacF6vgm8mCXRd6jeN9U2oAb0of5c5cO4i+"
217  "Vb/LlHZSMI490SnHU0bejhSCC2gsC5d2K30ER3iNA==",
218  uint64_t{0x33f253cbb8fe66a8}},
219  {"FzkzRYoNjkxFhZDso94IHRZaJUP61nFYrh5MwDwv9FNoJ5jyNCY/"
220  "eazPZk+tbmzDyJIGw2h3GxaWZ9bSlsol/vK98SbkMKCQ/wbfrXRLcDzdd/8=",
221  uint64_t{0xd0b76b2c1523d99c}},
222  {"Re4aXISCMlYY/XsX7zkIFR04ta03u4zkL9dVbLXMa/q6hlY/CImVIIYRN3VKP4pnd0AUr/"
223  "ugkyt36JcstAInb4h9rpAGQ7GMVOgBniiMBZ/MGU7H",
224  uint64_t{0xfd28f0811a2a237f}},
225  {"ueLyMcqJXX+MhO4UApylCN9WlTQ+"
226  "ltJmItgG7vFUtqs2qNwBMjmAvr5u0sAKd8jpzV0dDPTwchbIeAW5zbtkA2NABJV6hFM48ib"
227  "4/J3A5mseA3cS8w==",
228  uint64_t{0x6261fb136482e84}},
229  {"6Si7Yi11L+jZMkwaN+GUuzXMrlvEqviEkGOilNq0h8TdQyYKuFXzkYc/"
230  "q74gP3pVCyiwz9KpVGMM9vfnq36riMHRknkmhQutxLZs5fbmOgEO69HglCU=",
231  uint64_t{0x458efc750bca7c3a}},
232  {"Q6AbOofGuTJOegPh9Clm/"
233  "9crtUMQqylKrTc1fhfJo1tqvpXxhU4k08kntL1RG7woRnFrVh2UoMrL1kjin+s9CanT+"
234  "y4hHwLqRranl9FjvxfVKm3yvg68",
235  uint64_t{0xa7e69ff84e5e7c27}},
236  {"ieQEbIPvqY2YfIjHnqfJiO1/MIVRk0RoaG/WWi3kFrfIGiNLCczYoklgaecHMm/"
237  "1sZ96AjO+a5stQfZbJQwS7Sc1ODABEdJKcTsxeW2hbh9A6CFzpowP1A==",
238  uint64_t{0x3c59bfd0c29efe9e}},
239  {"zQUv8hFB3zh2GGl3KTvCmnfzE+"
240  "SUgQPVaSVIELFX5H9cE3FuVFGmymkPQZJLAyzC90Cmi8GqYCvPqTuAAB//"
241  "XTJxy4bCcVArgZG9zJXpjowpNBfr3ngWrSE=",
242  uint64_t{0x10befacc6afd298d}},
243  {"US4hcC1+op5JKGC7eIs8CUgInjKWKlvKQkapulxW262E/"
244  "B2ye79QxOexf188u2mFwwe3WTISJHRZzS61IwljqAWAWoBAqkUnW8SHmIDwHUP31J0p5sGd"
245  "P47L",
246  uint64_t{0x41d5320b0a38efa7}},
247  {"9bHUWFna2LNaGF6fQLlkx1Hkt24nrkLE2CmFdWgTQV3FFbUe747SSqYw6ebpTa07MWSpWRP"
248  "sHesVo2B9tqHbe7eQmqYebPDFnNqrhSdZwFm9arLQVs+7a3Ic6A==",
249  uint64_t{0x58db1c7450fe17f3}},
250  {"Kb3DpHRUPhtyqgs3RuXjzA08jGb59hjKTOeFt1qhoINfYyfTt2buKhD6YVffRCPsgK9SeqZ"
251  "qRPJSyaqsa0ovyq1WnWW8jI/NhvAkZTVHUrX2pC+cD3OPYT05Dag=",
252  uint64_t{0x6098c055a335b7a6}},
253  {"gzxyMJIPlU+bJBwhFUCHSofZ/"
254  "319LxqMoqnt3+L6h2U2+ZXJCSsYpE80xmR0Ta77Jq54o92SMH87HV8dGOaCTuAYF+"
255  "lDL42SY1P316Cl0sZTS2ow3ZqwGbcPNs/1",
256  uint64_t{0x1bbacec67845a801}},
257  {"uR7V0TW+FGVMpsifnaBAQ3IGlr1wx5sKd7TChuqRe6OvUXTlD4hKWy8S+"
258  "8yyOw8lQabism19vOQxfmocEOW/"
259  "vzY0pEa87qHrAZy4s9fH2Bltu8vaOIe+agYohhYORQ==",
260  uint64_t{0xc419cfc7442190}},
261  {"1UR5eoo2aCwhacjZHaCh9bkOsITp6QunUxHQ2SfeHv0imHetzt/"
262  "Z70mhyWZBalv6eAx+YfWKCUib2SHDtz/"
263  "A2dc3hqUWX5VfAV7FQsghPUAtu6IiRatq4YSLpDvKZBQ=",
264  uint64_t{0xc95e510d94ba270c}},
265  {"opubR7H63BH7OtY+Avd7QyQ25UZ8kLBdFDsBTwZlY6gA/"
266  "u+x+"
267  "czC9AaZMgmQrUy15DH7YMGsvdXnviTtI4eVI4aF1H9Rl3NXMKZgwFOsdTfdcZeeHVRzBBKX"
268  "8jUfh1il",
269  uint64_t{0xff1ae05c98089c3f}},
270  {"DC0kXcSXtfQ9FbSRwirIn5tgPri0sbzHSa78aDZVDUKCMaBGyFU6BmrulywYX8yzvwprdLs"
271  "oOwTWN2wMjHlPDqrvVHNEjnmufRDblW+nSS+xtKNs3N5xsxXdv6JXDrAB/Q==",
272  uint64_t{0x90c02b8dceced493}},
273  {"BXRBk+3wEP3Lpm1y75wjoz+PgB0AMzLe8tQ1AYU2/"
274  "oqrQB2YMC6W+9QDbcOfkGbeH+b7IBkt/"
275  "gwCMw2HaQsRFEsurXtcQ3YwRuPz5XNaw5NAvrNa67Fm7eRzdE1+hWLKtA8=",
276  uint64_t{0x9f8a76697ab1aa36}},
277  {"RRBSvEGYnzR9E45Aps/+WSnpCo/X7gJLO4DRnUqFrJCV/kzWlusLE/"
278  "6ZU6RoUf2ROwcgEvUiXTGjLs7ts3t9SXnJHxC1KiOzxHdYLMhVvgNd3hVSAXODpKFSkVXND"
279  "55G2L1W",
280  uint64_t{0x6ba1bf3d811a531d}},
281  {"jeh6Qazxmdi57pa9S3XSnnZFIRrnc6s8QLrah5OX3SB/V2ErSPoEAumavzQPkdKF1/"
282  "SfvmdL+qgF1C+Yawy562QaFqwVGq7+tW0yxP8FStb56ZRgNI4IOmI30s1Ei7iops9Uuw==",
283  uint64_t{0x6a418974109c67b4}},
284  {"6QO5nnDrY2/"
285  "wrUXpltlKy2dSBcmK15fOY092CR7KxAjNfaY+"
286  "aAmtWbbzQk3MjBg03x39afSUN1fkrWACdyQKRaGxgwq6MGNxI6W+8DLWJBHzIXrntrE/"
287  "ml6fnNXEpxplWJ1vEs4=",
288  uint64_t{0x8472f1c2b3d230a3}},
289  {"0oPxeEHhqhcFuwonNfLd5jF3RNATGZS6NPoS0WklnzyokbTqcl4BeBkMn07+fDQv83j/"
290  "BpGUwcWO05f3+DYzocfnizpFjLJemFGsls3gxcBYxcbqWYev51tG3lN9EvRE+X9+Pwww",
291  uint64_t{0x5e06068f884e73a7}},
292  {"naSBSjtOKgAOg8XVbR5cHAW3Y+QL4Pb/JO9/"
293  "oy6L08wvVRZqo0BrssMwhzBP401Um7A4ppAupbQeJFdMrysY34AuSSNvtNUy5VxjNECwiNt"
294  "gwYHw7yakDUv8WvonctmnoSPKENegQg==",
295  uint64_t{0x55290b1a8f170f59}},
296  {"vPyl8DxVeRe1OpilKb9KNwpGkQRtA94UpAHetNh+"
297  "95V7nIW38v7PpzhnTWIml5kw3So1Si0TXtIUPIbsu32BNhoH7QwFvLM+"
298  "JACgSpc5e3RjsL6Qwxxi11npwxRmRUqATDeMUfRAjxg=",
299  uint64_t{0x5501cfd83dfe706a}},
300  {"QC9i2GjdTMuNC1xQJ74ngKfrlA4w3o58FhvNCltdIpuMhHP1YsDA78scQPLbZ3OCUgeQguY"
301  "f/vw6zAaVKSgwtaykqg5ka/4vhz4hYqWU5ficdXqClHl+zkWEY26slCNYOM5nnDlly8Cj",
302  uint64_t{0xe43ed13d13a66990}},
303  {"7CNIgQhAHX27nxI0HeB5oUTnTdgKpRDYDKwRcXfSFGP1XeT9nQF6WKCMjL1tBV6x7KuJ91G"
304  "Zz11F4c+8s+MfqEAEpd4FHzamrMNjGcjCyrVtU6y+7HscMVzr7Q/"
305  "ODLcPEFztFnwjvCjmHw==",
306  uint64_t{0xdf43bc375cf5283f}},
307  {"Qa/hC2RPXhANSospe+gUaPfjdK/yhQvfm4cCV6/pdvCYWPv8p1kMtKOX3h5/"
308  "8oZ31fsmx4Axphu5qXJokuhZKkBUJueuMpxRyXpwSWz2wELx5glxF7CM0Fn+"
309  "OevnkhUn5jsPlG2r5jYlVn8=",
310  uint64_t{0x8112b806d288d7b5}},
311  {"kUw/0z4l3a89jTwN5jpG0SHY5km/"
312  "IVhTjgM5xCiPRLncg40aqWrJ5vcF891AOq5hEpSq0bUCJUMFXgct7kvnys905HjerV7Vs1G"
313  "y84tgVJ70/2+pAZTsB/PzNOE/G6sOj4+GbTzkQu819OLB",
314  uint64_t{0xd52a18abb001cb46}},
315  {"VDdfSDbO8Tdj3T5W0XM3EI7iHh5xpIutiM6dvcJ/fhe23V/srFEkDy5iZf/"
316  "VnA9kfi2C79ENnFnbOReeuZW1b3MUXB9lgC6U4pOTuC+"
317  "jHK3Qnpyiqzj7h3ISJSuo2pob7vY6VHZo6Fn7exEqHg==",
318  uint64_t{0xe12b76a2433a1236}},
319  {"Ldfvy3ORdquM/R2fIkhH/ONi69mcP1AEJ6n/"
320  "oropwecAsLJzQSgezSY8bEiEs0VnFTBBsW+RtZY6tDj03fnb3amNUOq1b7jbqyQkL9hpl+"
321  "2Z2J8IaVSeownWl+bQcsR5/xRktIMckC5AtF4YHfU=",
322  uint64_t{0x175bf7319cf1fa00}},
323  {"BrbNpb42+"
324  "VzZAjJw6QLirXzhweCVRfwlczzZ0VX2xluskwBqyfnGovz5EuX79JJ31VNXa5hTkAyQat3l"
325  "YKRADTdAdwE5PqM1N7YaMqqsqoAAAeuYVXuk5eWCykYmClNdSspegwgCuT+403JigBzi",
326  uint64_t{0xd63d57b3f67525ae}},
327  {"gB3NGHJJvVcuPyF0ZSvHwnWSIfmaI7La24VMPQVoIIWF7Z74NltPZZpx2f+cocESM+"
328  "ILzQW9p+BC8x5IWz7N4Str2WLGKMdgmaBfNkEhSHQDU0IJEOnpUt0HmjhFaBlx0/"
329  "LTmhua+rQ6Wup8ezLwfg==",
330  uint64_t{0x933faea858832b73}},
331  {"hTKHlRxx6Pl4gjG+6ksvvj0CWFicUg3WrPdSJypDpq91LUWRni2KF6+"
332  "81ZoHBFhEBrCdogKqeK+hy9bLDnx7g6rAFUjtn1+cWzQ2YjiOpz4+"
333  "ROBB7lnwjyTGWzJD1rXtlso1g2qVH8XJVigC5M9AIxM=",
334  uint64_t{0x53d061e5f8e7c04f}},
335  {"IWQBelSQnhrr0F3BhUpXUIDauhX6f95Qp+A0diFXiUK7irwPG1oqBiqHyK/SH/"
336  "9S+"
337  "rln9DlFROAmeFdH0OCJi2tFm4afxYzJTFR4HnR4cG4x12JqHaZLQx6iiu6CE3rtWBVz99oA"
338  "wCZUOEXIsLU24o2Y",
339  uint64_t{0xdb4124556dd515e0}},
340  {"TKo+l+"
341  "1dOXdLvIrFqeLaHdm0HZnbcdEgOoLVcGRiCbAMR0j5pIFw8D36tefckAS1RCFOH5IgP8yiF"
342  "T0Gd0a2hI3+"
343  "fTKA7iK96NekxWeoeqzJyctc6QsoiyBlkZerRxs5RplrxoeNg29kKDTM0K94mnhD9g==",
344  uint64_t{0x4fb31a0dd681ee71}},
345  {"YU4e7G6EfQYvxCFoCrrT0EFgVLHFfOWRTJQJ5gxM3G2b+"
346  "1kJf9YPrpsxF6Xr6nYtS8reEEbDoZJYqnlk9lXSkVArm88Cqn6d25VCx3+"
347  "49MqC0trIlXtb7SXUUhwpJK16T0hJUfPH7s5cMZXc6YmmbFuBNPE=",
348  uint64_t{0x27cc72eefa138e4c}},
349  {"/I/"
350  "eImMwPo1U6wekNFD1Jxjk9XQVi1D+"
351  "FPdqcHifYXQuP5aScNQfxMAmaPR2XhuOQhADV5tTVbBKwCDCX4E3jcDNHzCiPvViZF1W27t"
352  "xaf2BbFQdwKrNCmrtzcluBFYu0XZfc7RU1RmxK/RtnF1qHsq/O4pp",
353  uint64_t{0x44bc2dfba4bd3ced}},
354  {"CJTT9WGcY2XykTdo8KodRIA29qsqY0iHzWZRjKHb9alwyJ7RZAE3V5Juv4MY3MeYEr1EPCC"
355  "MxO7yFXqT8XA8YTjaMp3bafRt17Pw8JC4iKJ1zN+WWKOESrj+"
356  "3aluGQqn8z1EzqY4PH7rLG575PYeWsP98BugdA==",
357  uint64_t{0x242da1e3a439bed8}},
358  {"ZlhyQwLhXQyIUEnMH/"
359  "AEW27vh9xrbNKJxpWGtrEmKhd+nFqAfbeNBQjW0SfG1YI0xQkQMHXjuTt4P/"
360  "EpZRtA47ibZDVS8TtaxwyBjuIDwqcN09eCtpC+Ls+"
361  "vWDTLmBeDM3u4hmzz4DQAYsLiZYSJcldg9Q3wszw=",
362  uint64_t{0xdc559c746e35c139}},
363  {"v2KU8y0sCrBghmnm8lzGJlwo6D6ObccAxCf10heoDtYLosk4ztTpLlpSFEyu23MLA1tJkcg"
364  "Rko04h19QMG0mOw/"
365  "wc93EXAweriBqXfvdaP85sZABwiKO+6rtS9pacRVpYYhHJeVTQ5NzrvBvi1huxAr+"
366  "xswhVMfL",
367  uint64_t{0xd0b0350275b9989}},
368  {"QhKlnIS6BuVCTQsnoE67E/"
369  "yrgogE8EwO7xLaEGei26m0gEU4OksefJgppDh3X0x0Cs78Dr9IHK5b977CmZlrTRmwhlP8p"
370  "M+UzXPNRNIZuN3ntOum/QhUWP8SGpirheXENWsXMQ/"
371  "nxtxakyEtrNkKk471Oov9juP8oQ==",
372  uint64_t{0xb04489e41d17730c}},
373  {"/ZRMgnoRt+Uo6fUPr9FqQvKX7syhgVqWu+"
374  "WUSsiQ68UlN0efSP6Eced5gJZL6tg9gcYJIkhjuQNITU0Q3TjVAnAcobgbJikCn6qZ6pRxK"
375  "BY4MTiAlfGD3T7R7hwJwx554MAy++Zb/YUFlnCaCJiwQMnowF7aQzwYFCo=",
376  uint64_t{0x2217285eb4572156}},
377  {"NB7tU5fNE8nI+SXGfipc7sRkhnSkUF1krjeo6k+8FITaAtdyz+"
378  "o7mONgXmGLulBPH9bEwyYhKNVY0L+njNQrZ9YC2aXsFD3PdZsxAFaBT3VXEzh+"
379  "NGBTjDASNL3mXyS8Yv1iThGfHoY7T4aR0NYGJ+k+pR6f+KrPC96M",
380  uint64_t{0x12c2e8e68aede73b}},
381  {"8T6wrqCtEO6/rwxF6lvMeyuigVOLwPipX/FULvwyu+1wa5sQGav/"
382  "2FsLHUVn6cGSi0LlFwLewGHPFJDLR0u4t7ZUyM//"
383  "x6da0sWgOa5hzDqjsVGmjxEHXiaXKW3i4iSZNuxoNbMQkIbVML+"
384  "DkYu9ND0O2swg4itGeVSzXA==",
385  uint64_t{0x4d612125bdc4fd00}},
386  {"Ntf1bMRdondtMv1CYr3G80iDJ4WSAlKy5H34XdGruQiCrnRGDBa+"
387  "eUi7vKp4gp3BBcVGl8eYSasVQQjn7MLvb3BjtXx6c/"
388  "bCL7JtpzQKaDnPr9GWRxpBXVxKREgMM7d8lm35EODv0w+"
389  "hQLfVSh8OGs7fsBb68nNWPLeeSOo=",
390  uint64_t{0x81826b553954464e}},
391  {"VsSAw72Ro6xks02kaiLuiTEIWBC5bgqr4WDnmP8vglXzAhixk7td926rm9jNimL+"
392  "kroPSygZ9gl63aF5DCPOACXmsbmhDrAQuUzoh9ZKhWgElLQsrqo1KIjWoZT5b5QfVUXY9lS"
393  "IBg3U75SqORoTPq7HalxxoIT5diWOcJQi",
394  uint64_t{0xc2e5d345dc0ddd2d}},
395  {"j+loZ+C87+"
396  "bJxNVebg94gU0mSLeDulcHs84tQT7BZM2rzDSLiCNxUedHr1ZWJ9ejTiBa0dqy2I2ABc++"
397  "xzOLcv+//YfibtjKtYggC6/3rv0XCc7xu6d/"
398  "O6xO+XOBhOWAQ+IHJVHf7wZnDxIXB8AUHsnjEISKj7823biqXjyP3g==",
399  uint64_t{0x3da6830a9e32631e}},
400  {"f3LlpcPElMkspNtDq5xXyWU62erEaKn7RWKlo540gR6mZsNpK1czV/"
401  "sOmqaq8XAQLEn68LKj6/"
402  "cFkJukxRzCa4OF1a7cCAXYFp9+wZDu0bw4y63qbpjhdCl8GO6Z2lkcXy7KOzbPE01ukg7+"
403  "gN+7uKpoohgAhIwpAKQXmX5xtd0=",
404  uint64_t{0xc9ae5c8759b4877a}},
405  };
406 
407 #if defined(ABSL_IS_BIG_ENDIAN)
408  constexpr uint64_t kGolden[kNumGoldenOutputs] = {
409  0xe5a40d39ab796423, 0x1766974bf7527d81, 0x5c3bbbe230db17a8,
410  0xa6630143a7e6aa6f, 0x17645cb7318b86b, 0x218b175f30ba61f8,
411  0xa6564b468248c683, 0xef192f401b116e1c, 0xbe8dc0c54617639d,
412  0xe7b01610fc22dbb8, 0x99d9f694404af913, 0xf4eecd37464b45c5,
413  0x7d2c653d63596d9b, 0x3f15c8544ec5393a, 0x6b9dc0c1704f796c,
414  0xf1ded7a7eae5ed5a, 0x2db2fd7c6dd4641b, 0x151ca2d3d4cd33ab,
415  0xa5af5994ac2ccd64, 0x2b2a4ca3191d2fce, 0xf89e68c9364e7c05,
416  0x71724c70b799c21, 0x70536fabfd157369, 0xdee92794c3c3082b,
417  0xac033a6743d3b3eb, 0xed2956b506cd5151, 0xbd669644755264b6,
418  0x6ab1ff5d5f549a63, 0xf6bd551a2e3e04e, 0x7b5a8cef6875ea73,
419  0x22bccf4d4db0a91c, 0x4f2bc07754c7c7eb, 0xfb6b8342a86725db,
420  0x13a1a0d4c5854da, 0x5f6e44655f7dedac, 0x54a9198dff2bdf85,
421  0xdb17e6915d4e4042, 0xa69926cf5c3b89f, 0xf77f031bfd74c096,
422  0x1d6f916fdd50ec3c, 0x334ac76013ade393, 0x99370f899111de15,
423  0x352457a03ada6de, 0x341974d4f42d854d, 0xda89ab02872aeb5,
424  0x6ec2b74e143b10d9, 0x6f284c0b5cd60522, 0xf9670de353438f88,
425  0xde920913adf0a2b4, 0xb7a07d7c0c17a8ec, 0x879a69f558ba3a98,
426  0x360cf6d802df20f9, 0x53530f8046673738, 0xbd8f5f2bcf35e483,
427  0x3f171f047144b983, 0x644d04e820823465, 0x50e44773a20b2702,
428  0xe584ed4c05c745dd, 0x9a825c85b95ab6c0, 0xbce2931deb74e775,
429  0x10468e9e705c7cfe, 0x12e01de3104141e2, 0x5c11ae2ee3713abd,
430  0x6ac5ffb0860319e6, 0xc1e6da1849d30fc9, 0xa0e4d247a458b447,
431  0x4530d4615c32b89b, 0x116aa09107a76505, 0xf941339d00d9bb73,
432  0x573a0fc1615afb33, 0xa975c81dc868b258, 0x3ab2c5250ab54bda,
433  0x37f99f208a3e3b11, 0x4b49b0ff706689d, 0x30bafa0b8f0a87fe,
434  0xea6787a65cc20cdd, 0x55861729f1fc3ab8, 0xea38e009c5be9b72,
435  0xcb8522cba33c3c66, 0x352e77653fe306f3, 0xe0bb760793bac064,
436  0xf66ec59322662956, 0x637aa320455d56f8, 0x46ee546be5824a89,
437  0x9e6842421e83d8a4, 0xf98ac2bc96b9fb8c, 0xf2c1002fd9a70b99,
438  0x4c2b62b1e39e9405, 0x3248555fa3ade9c4, 0xd4d04c37f6417c21,
439  0xf40cd506b1bf5653, 0x6c45d6005c760d2f, 0x61d88a7e61ff0d7e,
440  0x131591e8a53cc967, 0xdae85cb9bc29bab6, 0xe98835334905e626,
441  0x7cce50a2b66b8754, 0x5b0b3d0c5ac498ae, 0xd35a218c974d1756,
442  0xfce436ddc1d003c, 0xd183901de90bb741, 0x9378f8f34974a66,
443  0x21f11ae0a0402368, 0xf2fbd7c94ef89cb6, 0xc329c69d0f0d080b,
444  0xf2841cba16216a61, 0x47aba97b44916df1, 0x724d4e00a8019fcf,
445  0x2df9005c2a728d63, 0xc788892a1a5d7515, 0x9e993a65f9df0480,
446  0x76876721ff49f969, 0xbe7a796cfba15bf5, 0xa4c8bd54586f5488,
447  0xb390a325275501ab, 0x893f11317427ccf1, 0x92f2bb57da5695b9,
448  0x30985b90da88269f, 0x2c690e268e086de8, 0x1c02df6097997196,
449  0x1f9778f8bbdf6455, 0x7d57378c7bf8416d, 0xba8582a5f8d84d38,
450  0xe8ca43b85050be4e, 0x5048cf6bed8a5d9f, 0xfbc5ba80917d0ea4,
451  0x8011026525bf1691, 0x26b8dc6aed9fb50d, 0x191f5bfee77c1fe3,
452  0xdd497891465a2cc1, 0x6f1fe8c57a33072e, 0x2c9f4ec078c460c0,
453  0x9a725bde8f6a1437, 0x6ce545fa3ef61e4d,
454  };
455 #elif defined(__aarch64__)
456  constexpr uint64_t kGolden[kNumGoldenOutputs] = {
457  0x45c0aadee165dcbe, 0x25ed8587f6f20d06, 0x5f23ae668ce7926d,
458  0xfef74d1da0846719, 0x54478408e68cb7d4, 0xee27ddaf88c6fe68,
459  0xb7ac7031e81867ca, 0xf1168f818ec6c36d, 0x1dd0b734a83b019a,
460  0xd6ae30d4142b54fe, 0xcd860c721ccb80fb, 0x068acf8493794756,
461  0xd4ada0be58681307, 0x13ffe0f64ca540ed, 0xffc1d7a3401aec02,
462  0xd81c4d865cf95fb9, 0x1dd0793acede62e0, 0xa6722abbca8fe4cf,
463  0x5453d3e4111a7e40, 0xf29b3e3204c9dcd2, 0x23be2980e43117f7,
464  0x74e2ccbc286f08eb, 0x19ef7c0f9496003a, 0xbfbf1c3e49b27987,
465  0x6e6c179eb4a82c70, 0x07f4e184216bc4fc, 0xf17fbc4254927554,
466  0xe57696b70a45b1b6, 0x6d3b144631b320e8, 0xccf8729792c75a2d,
467  0xe832495b41fa980b, 0x5c96cfdc7b227d34, 0xc4dca234ef4e43f4,
468  0x5fc801abf9abe307, 0xe41e3c5076d88f4d, 0x522346200ddec3c3,
469  0x72bed1946fd7aaa4, 0x0ac1f84dcc335f96, 0x3af78db5e0a47670,
470  0x6100ebf1481f1caf, 0xf5fd10037fc651a3, 0xa01227d8944665f3,
471  0x7217681c4bbc9420, 0x4adee538e3eb10d1, 0x35e1761ad96de9a7,
472  0x8b370aef9613bfba, 0x824506f749eeaf59, 0x85e805fa04423991,
473  0xb61e9c33283c3de7, 0xc79721bbcb039ed6, 0x04e1c19a3a1e6639,
474  0x6aaf6346b68dd638, 0x601a4b496be6d0c4, 0x3ece355f91c41787,
475  0xd2fc8998448d7888, 0xd7529804f843efa9, 0xabdcc38a288536aa,
476  0xdd323e48a9718648, 0x2090279c0030a52a, 0xe2f90faca88a3cd1,
477  0x3e0c4e92fc50e4aa, 0xa26d308798e801dd, 0x432eefeedee8c02e,
478  0xca4ce494614b77df, 0xbba82911e838066d, 0x4b00821016adee4b,
479  0x4cf6e526dfb5a20f, 0x5b8466495142cba2, 0xe28ac1406e88a68c,
480  0x8511e5f9d3100999, 0x05acbfe02798890b, 0x74c249c7ce4a8425,
481  0xdbe7468d09bc34bc, 0x11079ab10e3b9b58, 0xb7788dec9032035a,
482  0xb7e8daa786513f80, 0x34c3288831f46b45, 0x014cce5f0c21ecc6,
483  0xc6a8f7b024551a28, 0x49784e902e207fd8, 0x4720d32af0b55158,
484  0x8df3ec5de0c1da00, 0xf4db677b2c9e6853, 0xaa419abea78d312d,
485  0x181e0f91bd757443, 0xa8c45136fada083b, 0x91303b93f5f0582c,
486  0x883b95c6ddc62a08, 0x93186a8875fe952b, 0xd94f533928e957e2,
487  0x6ba343003e10c172, 0xc8623b620c715d6a, 0x8ca0c512e180e244,
488  0xdc9b74c2536b6216, 0x8eb5fdc61b295d96, 0x2ad83966b37c95ba,
489  0xb90bf154ac5edec9, 0x902cf847b326cfb3, 0x7b02d0c0ca7808ca,
490  0x492f310d003ea15f, 0x3eb6497a47c95990, 0x5d46b0ced31428b7,
491  0x081afa67d1986157, 0x043482ec286b20eb, 0xc103c8f18c1a2a53,
492  0xe8e9995a81481e83, 0x6bb3295822bc90b5, 0xeec75297a3fa5672,
493  0x591c8440c4857412, 0x74947f455aaf24ad, 0xcf0e571586ec77a9,
494  0x0c2553ea8c0400ad, 0x380219118066255f, 0x7595adb88b15ebe2,
495  0xb33c00696c64ae23, 0xa143516ddd7c9857, 0x39179af229248d26,
496  0x65d387a6f2ee2079, 0x89f8a9b21cd2f195, 0xbfef032d25df92e6,
497  0x6b7e18a36c69da71, 0x4b3b15f6c28974e6, 0x032a75917f6c544c,
498  0xe3b97ecca6d287cd, 0xa4a563110d3cda81, 0x35e09e8134f4e7f1,
499  0xc9419dd03a9a390e, 0x7b86fae9000fd329, 0x1e044f8d54fe74c3,
500  0x9c4991d7a47e9666, 0xfb485f3a1df4fdb6, 0xb11519969eeb94ff,
501  0x3224ea1c44caeb8d, 0x86570bbd7cc6b80d,
502  };
503 #else
504  constexpr uint64_t kGolden[kNumGoldenOutputs] = {
505  0xe5a40d39ab796423, 0x1766974bf7527d81, 0x5c3bbbe230db17a8,
506  0xa6630143a7e6aa6f, 0x8787cb2d04b0c984, 0x33603654ff574ac2,
507  0xa6564b468248c683, 0xef192f401b116e1c, 0xbe8dc0c54617639d,
508  0x93d7f665b5521c8e, 0x646d70bb42445f28, 0x96a7b1e3cc9bd426,
509  0x76020289ab0790c4, 0x39f842e4133b9b44, 0x2b8d7047be4bcaab,
510  0x99628abef6716a97, 0x4432e02ba42b2740, 0x74d810efcad7918a,
511  0x88c84e986002507f, 0x4f99acf193cf39b9, 0xd90e7a3655891e37,
512  0x3bb378b1d4df8fcf, 0xf78e94045c052d47, 0x26da0b2130da6b40,
513  0x30b4d426af8c6986, 0x5413b4aaf3baaeae, 0x756ab265370a1597,
514  0xdaf5f4b7d09814fb, 0x8f874ae37742b75e, 0x8fecd03956121ce8,
515  0x229c292ea7a08285, 0x0bb4bf0692d14bae, 0x207b24ca3bdac1db,
516  0x64f6cd6745d3825b, 0xa2b2e1656b58df1e, 0x0d01d30d9ee7a148,
517  0x1cb4cd00ab804e3b, 0x4697f2637fd90999, 0x8383a756b5688c07,
518  0x695c29cb3696a975, 0xda2e5a5a5e971521, 0x7935d4befa056b2b,
519  0x38dd541ca95420fe, 0xcc06c7a4963f967f, 0xbf0f6f66e232fb20,
520  0xf7efb32d373fe71a, 0xe2e64634b1c12660, 0x285b8fd1638e306d,
521  0x658e8a4e3b714d6c, 0xf391fb968e0eb398, 0x744a9ea0cc144bf2,
522  0x12636f2be11012f1, 0x29c57de825948f80, 0x58c6f99ab0d1c021,
523  0x13e7b5a7b82fe3bb, 0x10fbc87901e02b63, 0xa24c9184901b748b,
524  0xcac4fd4c5080e581, 0xc38bdb7483ba68e1, 0xdb2a8069b2ceaffa,
525  0xdf9fe91d0d1c7887, 0xe83f49e96e2e6a08, 0x0c69e61b62ca2b62,
526  0xb4a4f3f85f8298fe, 0x167a1b39e1e95f41, 0xf8a2a5649855ee41,
527  0x27992565b595c498, 0x3e08cca5b71f9346, 0xad406b10c770a6d2,
528  0xd1713ce6e552bcf2, 0x753b287194c73ad3, 0x5ae41a95f600af1c,
529  0x4a61163b86a8bb4c, 0x42eeaa79e760c7e4, 0x698df622ef465b0a,
530  0x157583111e1a6026, 0xaa1388f078e793e0, 0xf10d68d0f3309360,
531  0x2af056184457a3de, 0x6d0058e1590b2489, 0x638f287f68817f12,
532  0xc46b71fecefd5467, 0x2c8e94679d964e0a, 0x8612b797ce22503a,
533  0x59f929babfba7170, 0x9527556923fb49a0, 0x1039ab644f5e150b,
534  0x7816c83f3aa05e6d, 0xf51d2f564518c619, 0x67d494cff03ac004,
535  0x2802d636ced1cfbb, 0xf64e20bad771cb12, 0x0b9a6cf84a83e15e,
536  0x8da6630319609301, 0x40946a86e2a996f3, 0xcab7f5997953fa76,
537  0x39129ca0e04fc465, 0x5238221fd685e1b8, 0x175130c407dbcaab,
538  0x02f20e7536c0b0df, 0x2742cb488a04ad56, 0xd6afb593879ff93b,
539  0xf50ad64caac0ca7f, 0x2ade95c4261364ae, 0x5c4f3299faacd07a,
540  0xfffe3bff0ae5e9bc, 0x1db785c0005166e4, 0xea000d962ad18418,
541  0xe42aef38359362d9, 0xc8e95657348a3891, 0xc162eca864f238c6,
542  0xbe1fb373e20579ad, 0x628a1d4f40aa6ffd, 0xa87bdb7456340f90,
543  0x5960ef3ba982c801, 0x5026586df9a431ec, 0xfe4b8a20fdf0840b,
544  0xdcb761867da7072f, 0xc10d4653667275b7, 0x727720deec13110b,
545  0x710b009662858dc9, 0xfbf8f7a3ecac1eb7, 0xb6fc4fcd0722e3df,
546  0x7cb86dcc55104aac, 0x19e71e9b45c3a51e, 0x51de38573c2bea48,
547  0xa73ab6996d6df158, 0x55ef2b8c930817b2, 0xb2850bf5fae87157,
548  0xecf3de1acd04651f, 0xcc0a40552559ff32, 0xc385c374f20315b1,
549  0xb90208a4c7234183, 0x58aa1ca7a4c075d9,
550  };
551 #endif
552 
553 #if UPDATE_GOLDEN
554  (void)kGolden; // Silence warning.
555  for (size_t i = 0; i < kNumGoldenOutputs; ++i) {
557  ASSERT_TRUE(absl::Base64Unescape(cases[i].base64_data, &str));
559  cases[i].seed, kSalt);
560  printf("0x%016" PRIx64 ", ", h);
561  if (i % 3 == 2) {
562  printf("\n");
563  }
564  }
565  printf("\n\n\n");
566  EXPECT_FALSE(true);
567 #else
568  for (size_t i = 0; i < kNumGoldenOutputs; ++i) {
570  << "i = " << i << "; input = " << cases[i].base64_data);
572  ASSERT_TRUE(absl::Base64Unescape(cases[i].base64_data, &str));
574  cases[i].seed, kSalt),
575  kGolden[i]);
576  }
577 #endif
578 }
579 
580 } // namespace
xds_interop_client.str
str
Definition: xds_interop_client.py:487
EXPECT_FALSE
#define EXPECT_FALSE(condition)
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:1970
low_level_hash.h
seed
static const uint8_t seed[20]
Definition: dsa_test.cc:79
absl::string_view
Definition: abseil-cpp/absl/strings/string_view.h:167
printf
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
Definition: cs_driver.c:91
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
testing::Message
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest-message.h:90
EXPECT_EQ
#define EXPECT_EQ(a, b)
Definition: iomgr/time_averaged_stats_test.cc:27
SCOPED_TRACE
#define SCOPED_TRACE(message)
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:2264
TEST
#define TEST(name, init_size,...)
Definition: arena_test.cc:75
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90
absl::hash_internal::LowLevelHash
uint64_t LowLevelHash(const void *data, size_t len, uint64_t seed, const uint64_t salt[])
Definition: low_level_hash.cc:42
absl::Base64Unescape
bool Base64Unescape(absl::string_view src, std::string *dest)
Definition: abseil-cpp/absl/strings/escaping.cc:896
ASSERT_TRUE
#define ASSERT_TRUE(condition)
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:1973
run_grpclb_interop_tests.l
dictionary l
Definition: run_grpclb_interop_tests.py:410
i
uint64_t i
Definition: abseil-cpp/absl/container/btree_benchmark.cc:230


grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:17