• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // The MIT License (MIT)
2 //
3 // Copyright (c) 2015-2016 the fiat-crypto authors (see the AUTHORS file).
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
6 // of this software and associated documentation files (the "Software"), to deal
7 // in the Software without restriction, including without limitation the rights
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 // copies of the Software, and to permit persons to whom the Software is
10 // furnished to do so, subject to the following conditions:
11 //
12 // The above copyright notice and this permission notice shall be included in
13 // all copies or substantial portions of the Software.
14 //
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 // SOFTWARE.
22 
23 // This file is generated from
24 //    ./make_curve25519_tables.py > curve25519_tables.h
25 
26 
27 static const fe d = {{
28 #if defined(BORINGSSL_CURVE25519_64BIT)
29     929955233495203, 466365720129213, 1662059464998953, 2033849074728123,
30     1442794654840575
31 #else
32     56195235, 13857412, 51736253, 6949390, 114729, 24766616, 60832955, 30306712,
33     48412415, 21499315
34 #endif
35 }};
36 
37 static const fe sqrtm1 = {{
38 #if defined(BORINGSSL_CURVE25519_64BIT)
39     1718705420411056, 234908883556509, 2233514472574048, 2117202627021982,
40     765476049583133
41 #else
42     34513072, 25610706, 9377949, 3500415, 12389472, 33281959, 41962654,
43     31548777, 326685, 11406482
44 #endif
45 }};
46 
47 static const fe d2 = {{
48 #if defined(BORINGSSL_CURVE25519_64BIT)
49     1859910466990425, 932731440258426, 1072319116312658, 1815898335770999,
50     633789495995903
51 #else
52     45281625, 27714825, 36363642, 13898781, 229458, 15978800, 54557047,
53     27058993, 29715967, 9444199
54 #endif
55 }};
56 
57 #if defined(OPENSSL_SMALL)
58 
59 // This block of code replaces the standard base-point table with a much smaller
60 // one. The standard table is 30,720 bytes while this one is just 960.
61 //
62 // This table contains 15 pairs of group elements, (x, y), where each field
63 // element is serialised with |fe_tobytes|. If |i| is the index of the group
64 // element then consider i+1 as a four-bit number: (i₀, i₁, i₂, i₃) (where i₀
65 // is the most significant bit). The value of the group element is then:
66 // (i₀×2^192 + i₁×2^128 + i₂×2^64 + i₃)G, where G is the generator.
67 static const uint8_t k25519SmallPrecomp[15 * 2 * 32] = {
68     0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9, 0xb2, 0xa7, 0x25, 0x95,
69     0x60, 0xc7, 0x2c, 0x69, 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0,
70     0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21, 0x58, 0x66, 0x66, 0x66,
71     0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
72     0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
73     0x66, 0x66, 0x66, 0x66, 0x02, 0xa2, 0xed, 0xf4, 0x8f, 0x6b, 0x0b, 0x3e,
74     0xeb, 0x35, 0x1a, 0xd5, 0x7e, 0xdb, 0x78, 0x00, 0x96, 0x8a, 0xa0, 0xb4,
75     0xcf, 0x60, 0x4b, 0xd4, 0xd5, 0xf9, 0x2d, 0xbf, 0x88, 0xbd, 0x22, 0x62,
76     0x13, 0x53, 0xe4, 0x82, 0x57, 0xfa, 0x1e, 0x8f, 0x06, 0x2b, 0x90, 0xba,
77     0x08, 0xb6, 0x10, 0x54, 0x4f, 0x7c, 0x1b, 0x26, 0xed, 0xda, 0x6b, 0xdd,
78     0x25, 0xd0, 0x4e, 0xea, 0x42, 0xbb, 0x25, 0x03, 0xa2, 0xfb, 0xcc, 0x61,
79     0x67, 0x06, 0x70, 0x1a, 0xc4, 0x78, 0x3a, 0xff, 0x32, 0x62, 0xdd, 0x2c,
80     0xab, 0x50, 0x19, 0x3b, 0xf2, 0x9b, 0x7d, 0xb8, 0xfd, 0x4f, 0x29, 0x9c,
81     0xa7, 0x91, 0xba, 0x0e, 0x46, 0x5e, 0x51, 0xfe, 0x1d, 0xbf, 0xe5, 0xe5,
82     0x9b, 0x95, 0x0d, 0x67, 0xf8, 0xd1, 0xb5, 0x5a, 0xa1, 0x93, 0x2c, 0xc3,
83     0xde, 0x0e, 0x97, 0x85, 0x2d, 0x7f, 0xea, 0xab, 0x3e, 0x47, 0x30, 0x18,
84     0x24, 0xe8, 0xb7, 0x60, 0xae, 0x47, 0x80, 0xfc, 0xe5, 0x23, 0xe7, 0xc2,
85     0xc9, 0x85, 0xe6, 0x98, 0xa0, 0x29, 0x4e, 0xe1, 0x84, 0x39, 0x2d, 0x95,
86     0x2c, 0xf3, 0x45, 0x3c, 0xff, 0xaf, 0x27, 0x4c, 0x6b, 0xa6, 0xf5, 0x4b,
87     0x11, 0xbd, 0xba, 0x5b, 0x9e, 0xc4, 0xa4, 0x51, 0x1e, 0xbe, 0xd0, 0x90,
88     0x3a, 0x9c, 0xc2, 0x26, 0xb6, 0x1e, 0xf1, 0x95, 0x7d, 0xc8, 0x6d, 0x52,
89     0xe6, 0x99, 0x2c, 0x5f, 0x9a, 0x96, 0x0c, 0x68, 0x29, 0xfd, 0xe2, 0xfb,
90     0xe6, 0xbc, 0xec, 0x31, 0x08, 0xec, 0xe6, 0xb0, 0x53, 0x60, 0xc3, 0x8c,
91     0xbe, 0xc1, 0xb3, 0x8a, 0x8f, 0xe4, 0x88, 0x2b, 0x55, 0xe5, 0x64, 0x6e,
92     0x9b, 0xd0, 0xaf, 0x7b, 0x64, 0x2a, 0x35, 0x25, 0x10, 0x52, 0xc5, 0x9e,
93     0x58, 0x11, 0x39, 0x36, 0x45, 0x51, 0xb8, 0x39, 0x93, 0xfc, 0x9d, 0x6a,
94     0xbe, 0x58, 0xcb, 0xa4, 0x0f, 0x51, 0x3c, 0x38, 0x05, 0xca, 0xab, 0x43,
95     0x63, 0x0e, 0xf3, 0x8b, 0x41, 0xa6, 0xf8, 0x9b, 0x53, 0x70, 0x80, 0x53,
96     0x86, 0x5e, 0x8f, 0xe3, 0xc3, 0x0d, 0x18, 0xc8, 0x4b, 0x34, 0x1f, 0xd8,
97     0x1d, 0xbc, 0xf2, 0x6d, 0x34, 0x3a, 0xbe, 0xdf, 0xd9, 0xf6, 0xf3, 0x89,
98     0xa1, 0xe1, 0x94, 0x9f, 0x5d, 0x4c, 0x5d, 0xe9, 0xa1, 0x49, 0x92, 0xef,
99     0x0e, 0x53, 0x81, 0x89, 0x58, 0x87, 0xa6, 0x37, 0xf1, 0xdd, 0x62, 0x60,
100     0x63, 0x5a, 0x9d, 0x1b, 0x8c, 0xc6, 0x7d, 0x52, 0xea, 0x70, 0x09, 0x6a,
101     0xe1, 0x32, 0xf3, 0x73, 0x21, 0x1f, 0x07, 0x7b, 0x7c, 0x9b, 0x49, 0xd8,
102     0xc0, 0xf3, 0x25, 0x72, 0x6f, 0x9d, 0xed, 0x31, 0x67, 0x36, 0x36, 0x54,
103     0x40, 0x92, 0x71, 0xe6, 0x11, 0x28, 0x11, 0xad, 0x93, 0x32, 0x85, 0x7b,
104     0x3e, 0xb7, 0x3b, 0x49, 0x13, 0x1c, 0x07, 0xb0, 0x2e, 0x93, 0xaa, 0xfd,
105     0xfd, 0x28, 0x47, 0x3d, 0x8d, 0xd2, 0xda, 0xc7, 0x44, 0xd6, 0x7a, 0xdb,
106     0x26, 0x7d, 0x1d, 0xb8, 0xe1, 0xde, 0x9d, 0x7a, 0x7d, 0x17, 0x7e, 0x1c,
107     0x37, 0x04, 0x8d, 0x2d, 0x7c, 0x5e, 0x18, 0x38, 0x1e, 0xaf, 0xc7, 0x1b,
108     0x33, 0x48, 0x31, 0x00, 0x59, 0xf6, 0xf2, 0xca, 0x0f, 0x27, 0x1b, 0x63,
109     0x12, 0x7e, 0x02, 0x1d, 0x49, 0xc0, 0x5d, 0x79, 0x87, 0xef, 0x5e, 0x7a,
110     0x2f, 0x1f, 0x66, 0x55, 0xd8, 0x09, 0xd9, 0x61, 0x38, 0x68, 0xb0, 0x07,
111     0xa3, 0xfc, 0xcc, 0x85, 0x10, 0x7f, 0x4c, 0x65, 0x65, 0xb3, 0xfa, 0xfa,
112     0xa5, 0x53, 0x6f, 0xdb, 0x74, 0x4c, 0x56, 0x46, 0x03, 0xe2, 0xd5, 0x7a,
113     0x29, 0x1c, 0xc6, 0x02, 0xbc, 0x59, 0xf2, 0x04, 0x75, 0x63, 0xc0, 0x84,
114     0x2f, 0x60, 0x1c, 0x67, 0x76, 0xfd, 0x63, 0x86, 0xf3, 0xfa, 0xbf, 0xdc,
115     0xd2, 0x2d, 0x90, 0x91, 0xbd, 0x33, 0xa9, 0xe5, 0x66, 0x0c, 0xda, 0x42,
116     0x27, 0xca, 0xf4, 0x66, 0xc2, 0xec, 0x92, 0x14, 0x57, 0x06, 0x63, 0xd0,
117     0x4d, 0x15, 0x06, 0xeb, 0x69, 0x58, 0x4f, 0x77, 0xc5, 0x8b, 0xc7, 0xf0,
118     0x8e, 0xed, 0x64, 0xa0, 0xb3, 0x3c, 0x66, 0x71, 0xc6, 0x2d, 0xda, 0x0a,
119     0x0d, 0xfe, 0x70, 0x27, 0x64, 0xf8, 0x27, 0xfa, 0xf6, 0x5f, 0x30, 0xa5,
120     0x0d, 0x6c, 0xda, 0xf2, 0x62, 0x5e, 0x78, 0x47, 0xd3, 0x66, 0x00, 0x1c,
121     0xfd, 0x56, 0x1f, 0x5d, 0x3f, 0x6f, 0xf4, 0x4c, 0xd8, 0xfd, 0x0e, 0x27,
122     0xc9, 0x5c, 0x2b, 0xbc, 0xc0, 0xa4, 0xe7, 0x23, 0x29, 0x02, 0x9f, 0x31,
123     0xd6, 0xe9, 0xd7, 0x96, 0xf4, 0xe0, 0x5e, 0x0b, 0x0e, 0x13, 0xee, 0x3c,
124     0x09, 0xed, 0xf2, 0x3d, 0x76, 0x91, 0xc3, 0xa4, 0x97, 0xae, 0xd4, 0x87,
125     0xd0, 0x5d, 0xf6, 0x18, 0x47, 0x1f, 0x1d, 0x67, 0xf2, 0xcf, 0x63, 0xa0,
126     0x91, 0x27, 0xf8, 0x93, 0x45, 0x75, 0x23, 0x3f, 0xd1, 0xf1, 0xad, 0x23,
127     0xdd, 0x64, 0x93, 0x96, 0x41, 0x70, 0x7f, 0xf7, 0xf5, 0xa9, 0x89, 0xa2,
128     0x34, 0xb0, 0x8d, 0x1b, 0xae, 0x19, 0x15, 0x49, 0x58, 0x23, 0x6d, 0x87,
129     0x15, 0x4f, 0x81, 0x76, 0xfb, 0x23, 0xb5, 0xea, 0xcf, 0xac, 0x54, 0x8d,
130     0x4e, 0x42, 0x2f, 0xeb, 0x0f, 0x63, 0xdb, 0x68, 0x37, 0xa8, 0xcf, 0x8b,
131     0xab, 0xf5, 0xa4, 0x6e, 0x96, 0x2a, 0xb2, 0xd6, 0xbe, 0x9e, 0xbd, 0x0d,
132     0xb4, 0x42, 0xa9, 0xcf, 0x01, 0x83, 0x8a, 0x17, 0x47, 0x76, 0xc4, 0xc6,
133     0x83, 0x04, 0x95, 0x0b, 0xfc, 0x11, 0xc9, 0x62, 0xb8, 0x0c, 0x76, 0x84,
134     0xd9, 0xb9, 0x37, 0xfa, 0xfc, 0x7c, 0xc2, 0x6d, 0x58, 0x3e, 0xb3, 0x04,
135     0xbb, 0x8c, 0x8f, 0x48, 0xbc, 0x91, 0x27, 0xcc, 0xf9, 0xb7, 0x22, 0x19,
136     0x83, 0x2e, 0x09, 0xb5, 0x72, 0xd9, 0x54, 0x1c, 0x4d, 0xa1, 0xea, 0x0b,
137     0xf1, 0xc6, 0x08, 0x72, 0x46, 0x87, 0x7a, 0x6e, 0x80, 0x56, 0x0a, 0x8a,
138     0xc0, 0xdd, 0x11, 0x6b, 0xd6, 0xdd, 0x47, 0xdf, 0x10, 0xd9, 0xd8, 0xea,
139     0x7c, 0xb0, 0x8f, 0x03, 0x00, 0x2e, 0xc1, 0x8f, 0x44, 0xa8, 0xd3, 0x30,
140     0x06, 0x89, 0xa2, 0xf9, 0x34, 0xad, 0xdc, 0x03, 0x85, 0xed, 0x51, 0xa7,
141     0x82, 0x9c, 0xe7, 0x5d, 0x52, 0x93, 0x0c, 0x32, 0x9a, 0x5b, 0xe1, 0xaa,
142     0xca, 0xb8, 0x02, 0x6d, 0x3a, 0xd4, 0xb1, 0x3a, 0xf0, 0x5f, 0xbe, 0xb5,
143     0x0d, 0x10, 0x6b, 0x38, 0x32, 0xac, 0x76, 0x80, 0xbd, 0xca, 0x94, 0x71,
144     0x7a, 0xf2, 0xc9, 0x35, 0x2a, 0xde, 0x9f, 0x42, 0x49, 0x18, 0x01, 0xab,
145     0xbc, 0xef, 0x7c, 0x64, 0x3f, 0x58, 0x3d, 0x92, 0x59, 0xdb, 0x13, 0xdb,
146     0x58, 0x6e, 0x0a, 0xe0, 0xb7, 0x91, 0x4a, 0x08, 0x20, 0xd6, 0x2e, 0x3c,
147     0x45, 0xc9, 0x8b, 0x17, 0x79, 0xe7, 0xc7, 0x90, 0x99, 0x3a, 0x18, 0x25,
148 };
149 
150 #else
151 
152 // k25519Precomp[i][j] = (j+1)*256^i*B
153 static const ge_precomp k25519Precomp[32][8] = {
154     {
155         {
156             {{
157 #if defined(BORINGSSL_CURVE25519_64BIT)
158                 1288382639258501, 245678601348599, 269427782077623,
159                 1462984067271730, 137412439391563
160 #else
161                 25967493, 19198397, 29566455, 3660896, 54414519, 4014786,
162                 27544626, 21800161, 61029707, 2047604
163 #endif
164             }},
165             {{
166 #if defined(BORINGSSL_CURVE25519_64BIT)
167                 62697248952638, 204681361388450, 631292143396476,
168                 338455783676468, 1213667448819585
169 #else
170                 54563134, 934261, 64385954, 3049989, 66381436, 9406985,
171                 12720692, 5043384, 19500929, 18085054
172 #endif
173             }},
174             {{
175 #if defined(BORINGSSL_CURVE25519_64BIT)
176                 301289933810280, 1259582250014073, 1422107436869536,
177                 796239922652654, 1953934009299142
178 #else
179                 58370664, 4489569, 9688441, 18769238, 10184608, 21191052,
180                 29287918, 11864899, 42594502, 29115885
181 #endif
182             }},
183         },
184         {
185             {{
186 #if defined(BORINGSSL_CURVE25519_64BIT)
187                 1380971894829527, 790832306631236, 2067202295274102,
188                 1995808275510000, 1566530869037010
189 #else
190                 54292951, 20578084, 45527620, 11784319, 41753206, 30803714,
191                 55390960, 29739860, 66750418, 23343128
192 #endif
193             }},
194             {{
195 #if defined(BORINGSSL_CURVE25519_64BIT)
196                 463307831301544, 432984605774163, 1610641361907204,
197                 750899048855000, 1894842303421586
198 #else
199                 45405608, 6903824, 27185491, 6451973, 37531140, 24000426,
200                 51492312, 11189267, 40279186, 28235350
201 #endif
202             }},
203             {{
204 #if defined(BORINGSSL_CURVE25519_64BIT)
205                 748439484463711, 1033211726465151, 1396005112841647,
206                 1611506220286469, 1972177495910992
207 #else
208                 26966623, 11152617, 32442495, 15396054, 14353839, 20802097,
209                 63980037, 24013313, 51636816, 29387734
210 #endif
211             }},
212         },
213         {
214             {{
215 #if defined(BORINGSSL_CURVE25519_64BIT)
216                 1601611775252272, 1720807796594148, 1132070835939856,
217                 1260455018889551, 2147779492816911
218 #else
219                 15636272, 23865875, 24204772, 25642034, 616976, 16869170,
220                 27787599, 18782243, 28944399, 32004408
221 #endif
222             }},
223             {{
224 #if defined(BORINGSSL_CURVE25519_64BIT)
225                 316559037616741, 2177824224946892, 1459442586438991,
226                 1461528397712656, 751590696113597
227 #else
228                 16568933, 4717097, 55552716, 32452109, 15682895, 21747389,
229                 16354576, 21778470, 7689661, 11199574
230 #endif
231             }},
232             {{
233 #if defined(BORINGSSL_CURVE25519_64BIT)
234                 1850748884277385, 1200145853858453, 1068094770532492,
235                 672251375690438, 1586055907191707
236 #else
237                 30464137, 27578307, 55329429, 17883566, 23220364, 15915852,
238                 7512774, 10017326, 49359771, 23634074
239 #endif
240             }},
241         },
242         {
243             {{
244 #if defined(BORINGSSL_CURVE25519_64BIT)
245                 934282339813791, 1846903124198670, 1172395437954843,
246                 1007037127761661, 1830588347719256
247 #else
248                 50071967, 13921891, 10945806, 27521001, 27105051, 17470053,
249                 38182653, 15006022, 3284568, 27277892
250 #endif
251             }},
252             {{
253 #if defined(BORINGSSL_CURVE25519_64BIT)
254                 1694390458783935, 1735906047636159, 705069562067493,
255                 648033061693059, 696214010414170
256 #else
257                 23599295, 25248385, 55915199, 25867015, 13236773, 10506355,
258                 7464579, 9656445, 13059162, 10374397
259 #endif
260             }},
261             {{
262 #if defined(BORINGSSL_CURVE25519_64BIT)
263                 1121406372216585, 192876649532226, 190294192191717,
264                 1994165897297032, 2245000007398739
265 #else
266                 7798537, 16710257, 3033922, 2874086, 28997861, 2835604,
267                 32406664, 29715387, 66467155, 33453106
268 #endif
269             }},
270         },
271         {
272             {{
273 #if defined(BORINGSSL_CURVE25519_64BIT)
274                 769950342298419, 132954430919746, 844085933195555,
275                 974092374476333, 726076285546016
276 #else
277                 10861363, 11473154, 27284546, 1981175, 37044515, 12577860,
278                 32867885, 14515107, 51670560, 10819379
279 #endif
280             }},
281             {{
282 #if defined(BORINGSSL_CURVE25519_64BIT)
283                 425251763115706, 608463272472562, 442562545713235,
284                 837766094556764, 374555092627893
285 #else
286                 4708026, 6336745, 20377586, 9066809, 55836755, 6594695,
287                 41455196, 12483687, 54440373, 5581305
288 #endif
289             }},
290             {{
291 #if defined(BORINGSSL_CURVE25519_64BIT)
292                 1086255230780037, 274979815921559, 1960002765731872,
293                 929474102396301, 1190409889297339
294 #else
295                 19563141, 16186464, 37722007, 4097518, 10237984, 29206317,
296                 28542349, 13850243, 43430843, 17738489
297 #endif
298             }},
299         },
300         {
301             {{
302 #if defined(BORINGSSL_CURVE25519_64BIT)
303                 1388594989461809, 316767091099457, 394298842192982,
304                 1230079486801005, 1440737038838979
305 #else
306                 51736881, 20691677, 32573249, 4720197, 40672342, 5875510,
307                 47920237, 18329612, 57289923, 21468654
308 #endif
309             }},
310             {{
311 #if defined(BORINGSSL_CURVE25519_64BIT)
312                 7380825640100, 146210432690483, 304903576448906,
313                 1198869323871120, 997689833219095
314 #else
315                 58559652, 109982, 15149363, 2178705, 22900618, 4543417, 3044240,
316                 17864545, 1762327, 14866737
317 #endif
318             }},
319             {{
320 #if defined(BORINGSSL_CURVE25519_64BIT)
321                 1181317918772081, 114573476638901, 262805072233344,
322                 265712217171332, 294181933805782
323 #else
324                 48909169, 17603008, 56635573, 1707277, 49922944, 3916100,
325                 38872452, 3959420, 27914454, 4383652
326 #endif
327             }},
328         },
329         {
330             {{
331 #if defined(BORINGSSL_CURVE25519_64BIT)
332                 665000864555967, 2065379846933859, 370231110385876,
333                 350988370788628, 1233371373142985
334 #else
335                 5153727, 9909285, 1723747, 30776558, 30523604, 5516873,
336                 19480852, 5230134, 43156425, 18378665
337 #endif
338             }},
339             {{
340 #if defined(BORINGSSL_CURVE25519_64BIT)
341                 2019367628972465, 676711900706637, 110710997811333,
342                 1108646842542025, 517791959672113
343 #else
344                 36839857, 30090922, 7665485, 10083793, 28475525, 1649722,
345                 20654025, 16520125, 30598449, 7715701
346 #endif
347             }},
348             {{
349 #if defined(BORINGSSL_CURVE25519_64BIT)
350                 965130719900578, 247011430587952, 526356006571389,
351                 91986625355052, 2157223321444601
352 #else
353                 28881826, 14381568, 9657904, 3680757, 46927229, 7843315,
354                 35708204, 1370707, 29794553, 32145132
355 #endif
356             }},
357         },
358         {
359             {{
360 #if defined(BORINGSSL_CURVE25519_64BIT)
361                 2068619540119183, 1966274918058806, 957728544705549,
362                 729906502578991, 159834893065166
363 #else
364                 14499471, 30824833, 33917750, 29299779, 28494861, 14271267,
365                 30290735, 10876454, 33954766, 2381725
366 #endif
367             }},
368             {{
369 #if defined(BORINGSSL_CURVE25519_64BIT)
370                 2073601412052185, 31021124762708, 264500969797082,
371                 248034690651703, 1030252227928288
372 #else
373                 59913433, 30899068, 52378708, 462250, 39384538, 3941371,
374                 60872247, 3696004, 34808032, 15351954
375 #endif
376             }},
377             {{
378 #if defined(BORINGSSL_CURVE25519_64BIT)
379                 551790716293402, 1989538725166328, 801169423371717,
380                 2052451893578887, 678432056995012
381 #else
382                 27431194, 8222322, 16448760, 29646437, 48401861, 11938354,
383                 34147463, 30583916, 29551812, 10109425
384 #endif
385             }},
386         },
387     },
388     {
389         {
390             {{
391 #if defined(BORINGSSL_CURVE25519_64BIT)
392                 1368953770187805, 790347636712921, 437508475667162,
393                 2142576377050580, 1932081720066286
394 #else
395                 53451805, 20399000, 35825113, 11777097, 21447386, 6519384,
396                 64730580, 31926875, 10092782, 28790261
397 #endif
398             }},
399             {{
400 #if defined(BORINGSSL_CURVE25519_64BIT)
401                 953638594433374, 1092333936795051, 1419774766716690,
402                 805677984380077, 859228993502513
403 #else
404                 27939166, 14210322, 4677035, 16277044, 44144402, 21156292,
405                 34600109, 12005537, 49298737, 12803509
406 #endif
407             }},
408             {{
409 #if defined(BORINGSSL_CURVE25519_64BIT)
410                 1200766035879111, 20142053207432, 1465634435977050,
411                 1645256912097844, 295121984874596
412 #else
413                 17228999, 17892808, 65875336, 300139, 65883994, 21839654,
414                 30364212, 24516238, 18016356, 4397660
415 #endif
416             }},
417         },
418         {
419             {{
420 #if defined(BORINGSSL_CURVE25519_64BIT)
421                 1735718747031557, 1248237894295956, 1204753118328107,
422                 976066523550493, 65943769534592
423 #else
424                 56150021, 25864224, 4776340, 18600194, 27850027, 17952220,
425                 40489757, 14544524, 49631360, 982638
426 #endif
427             }},
428             {{
429 #if defined(BORINGSSL_CURVE25519_64BIT)
430                 1060098822528990, 1586825862073490, 212301317240126,
431                 1975302711403555, 666724059764335
432 #else
433                 29253598, 15796703, 64244882, 23645547, 10057022, 3163536,
434                 7332899, 29434304, 46061167, 9934962
435 #endif
436             }},
437             {{
438 #if defined(BORINGSSL_CURVE25519_64BIT)
439                 1091990273418756, 1572899409348578, 80968014455247,
440                 306009358661350, 1520450739132526
441 #else
442                 5793284, 16271923, 42977250, 23438027, 29188559, 1206517,
443                 52360934, 4559894, 36984942, 22656481
444 #endif
445             }},
446         },
447         {
448             {{
449 #if defined(BORINGSSL_CURVE25519_64BIT)
450                 1480517209436112, 1511153322193952, 1244343858991172,
451                 304788150493241, 369136856496443
452 #else
453                 39464912, 22061425, 16282656, 22517939, 28414020, 18542168,
454                 24191033, 4541697, 53770555, 5500567
455 #endif
456             }},
457             {{
458 #if defined(BORINGSSL_CURVE25519_64BIT)
459                 2151330273626164, 762045184746182, 1688074332551515,
460                 823046109005759, 907602769079491
461 #else
462                 12650548, 32057319, 9052870, 11355358, 49428827, 25154267,
463                 49678271, 12264342, 10874051, 13524335
464 #endif
465             }},
466             {{
467 #if defined(BORINGSSL_CURVE25519_64BIT)
468                 2047386910586836, 168470092900250, 1552838872594810,
469                 340951180073789, 360819374702533
470 #else
471                 25556948, 30508442, 714650, 2510400, 23394682, 23139102,
472                 33119037, 5080568, 44580805, 5376627
473 #endif
474             }},
475         },
476         {
477             {{
478 #if defined(BORINGSSL_CURVE25519_64BIT)
479                 1982622644432056, 2014393600336956, 128909208804214,
480                 1617792623929191, 105294281913815
481 #else
482                 41020600, 29543379, 50095164, 30016803, 60382070, 1920896,
483                 44787559, 24106988, 4535767, 1569007
484 #endif
485             }},
486             {{
487 #if defined(BORINGSSL_CURVE25519_64BIT)
488                 980234343912898, 1712256739246056, 588935272190264,
489                 204298813091998, 841798321043288
490 #else
491                 64853442, 14606629, 45416424, 25514613, 28430648, 8775819,
492                 36614302, 3044289, 31848280, 12543772
493 #endif
494             }},
495             {{
496 #if defined(BORINGSSL_CURVE25519_64BIT)
497                 197561292938973, 454817274782871, 1963754960082318,
498                 2113372252160468, 971377527342673
499 #else
500                 45080285, 2943892, 35251351, 6777305, 13784462, 29262229,
501                 39731668, 31491700, 7718481, 14474653
502 #endif
503             }},
504         },
505         {
506             {{
507 #if defined(BORINGSSL_CURVE25519_64BIT)
508                 164699448829328, 3127451757672, 1199504971548753,
509                 1766155447043652, 1899238924683527
510 #else
511                 2385296, 2454213, 44477544, 46602, 62670929, 17874016, 656964,
512                 26317767, 24316167, 28300865
513 #endif
514             }},
515             {{
516 #if defined(BORINGSSL_CURVE25519_64BIT)
517                 732262946680281, 1674412764227063, 2182456405662809,
518                 1350894754474250, 558458873295247
519 #else
520                 13741529, 10911568, 33875447, 24950694, 46931033, 32521134,
521                 33040650, 20129900, 46379407, 8321685
522 #endif
523             }},
524             {{
525 #if defined(BORINGSSL_CURVE25519_64BIT)
526                 2103305098582922, 1960809151316468, 715134605001343,
527                 1454892949167181, 40827143824949
528 #else
529                 21060490, 31341688, 15712756, 29218333, 1639039, 10656336,
530                 23845965, 21679594, 57124405, 608371
531 #endif
532             }},
533         },
534         {
535             {{
536 #if defined(BORINGSSL_CURVE25519_64BIT)
537                 1239289043050212, 1744654158124578, 758702410031698,
538                 1796762995074688, 1603056663766
539 #else
540                 53436132, 18466845, 56219170, 25997372, 61071954, 11305546,
541                 1123968, 26773855, 27229398, 23887
542 #endif
543             }},
544             {{
545 #if defined(BORINGSSL_CURVE25519_64BIT)
546                 2232056027107988, 987343914584615, 2115594492994461,
547                 1819598072792159, 1119305654014850
548 #else
549                 43864724, 33260226, 55364135, 14712570, 37643165, 31524814,
550                 12797023, 27114124, 65475458, 16678953
551 #endif
552             }},
553             {{
554 #if defined(BORINGSSL_CURVE25519_64BIT)
555                 320153677847348, 939613871605645, 641883205761567,
556                 1930009789398224, 329165806634126
557 #else
558                 37608244, 4770661, 51054477, 14001337, 7830047, 9564805,
559                 65600720, 28759386, 49939598, 4904952
560 #endif
561             }},
562         },
563         {
564             {{
565 #if defined(BORINGSSL_CURVE25519_64BIT)
566                 980930490474130, 1242488692177893, 1251446316964684,
567                 1086618677993530, 1961430968465772
568 #else
569                 24059538, 14617003, 19037157, 18514524, 19766092, 18648003,
570                 5169210, 16191880, 2128236, 29227599
571 #endif
572             }},
573             {{
574 #if defined(BORINGSSL_CURVE25519_64BIT)
575                 276821765317453, 1536835591188030, 1305212741412361,
576                 61473904210175, 2051377036983058
577 #else
578                 50127693, 4124965, 58568254, 22900634, 30336521, 19449185,
579                 37302527, 916032, 60226322, 30567899
580 #endif
581             }},
582             {{
583 #if defined(BORINGSSL_CURVE25519_64BIT)
584                 833449923882501, 1750270368490475, 1123347002068295,
585                 185477424765687, 278090826653186
586 #else
587                 44477957, 12419371, 59974635, 26081060, 50629959, 16739174,
588                 285431, 2763829, 15736322, 4143876
589 #endif
590             }},
591         },
592         {
593             {{
594 #if defined(BORINGSSL_CURVE25519_64BIT)
595                 794524995833413, 1849907304548286, 53348672473145,
596                 1272368559505217, 1147304168324779
597 #else
598                 2379333, 11839345, 62998462, 27565766, 11274297, 794957, 212801,
599                 18959769, 23527083, 17096164
600 #endif
601             }},
602             {{
603 #if defined(BORINGSSL_CURVE25519_64BIT)
604                 1504846112759364, 1203096289004681, 562139421471418,
605                 274333017451844, 1284344053775441
606 #else
607                 33431108, 22423954, 49269897, 17927531, 8909498, 8376530,
608                 34483524, 4087880, 51919953, 19138217
609 #endif
610             }},
611             {{
612 #if defined(BORINGSSL_CURVE25519_64BIT)
613                 483048732424432, 2116063063343382, 30120189902313,
614                 292451576741007, 1156379271702225
615 #else
616                 1767664, 7197987, 53903638, 31531796, 54017513, 448825, 5799055,
617                 4357868, 62334673, 17231393
618 #endif
619             }},
620         },
621     },
622     {
623         {
624             {{
625 #if defined(BORINGSSL_CURVE25519_64BIT)
626                 928372153029038, 2147692869914564, 1455665844462196,
627                 1986737809425946, 185207050258089
628 #else
629                 6721966, 13833823, 43585476, 32003117, 26354292, 21691111,
630                 23365146, 29604700, 7390889, 2759800
631 #endif
632             }},
633             {{
634 #if defined(BORINGSSL_CURVE25519_64BIT)
635                 137732961814206, 706670923917341, 1387038086865771,
636                 1965643813686352, 1384777115696347
637 #else
638                 4409022, 2052381, 23373853, 10530217, 7676779, 20668478,
639                 21302352, 29290375, 1244379, 20634787
640 #endif
641             }},
642             {{
643 #if defined(BORINGSSL_CURVE25519_64BIT)
644                 481144981981577, 2053319313589856, 2065402289827512,
645                 617954271490316, 1106602634668125
646 #else
647                 62687625, 7169618, 4982368, 30596842, 30256824, 30776892,
648                 14086412, 9208236, 15886429, 16489664
649 #endif
650             }},
651         },
652         {
653             {{
654 #if defined(BORINGSSL_CURVE25519_64BIT)
655                 696298019648792, 893299659040895, 1148636718636009,
656                 26734077349617, 2203955659340681
657 #else
658                 1996056, 10375649, 14346367, 13311202, 60234729, 17116020,
659                 53415665, 398368, 36502409, 32841498
660 #endif
661             }},
662             {{
663 #if defined(BORINGSSL_CURVE25519_64BIT)
664                 657390353372855, 998499966885562, 991893336905797,
665                 810470207106761, 343139804608786
666 #else
667                 41801399, 9795879, 64331450, 14878808, 33577029, 14780362,
668                 13348553, 12076947, 36272402, 5113181
669 #endif
670             }},
671             {{
672 #if defined(BORINGSSL_CURVE25519_64BIT)
673                 791736669492960, 934767652997115, 824656780392914,
674                 1759463253018643, 361530362383518
675 #else
676                 49338080, 11797795, 31950843, 13929123, 41220562, 12288343,
677                 36767763, 26218045, 13847710, 5387222
678 #endif
679             }},
680         },
681         {
682             {{
683 #if defined(BORINGSSL_CURVE25519_64BIT)
684                 2022541353055597, 2094700262587466, 1551008075025686,
685                 242785517418164, 695985404963562
686 #else
687                 48526701, 30138214, 17824842, 31213466, 22744342, 23111821,
688                 8763060, 3617786, 47508202, 10370990
689 #endif
690             }},
691             {{
692 #if defined(BORINGSSL_CURVE25519_64BIT)
693                 1287487199965223, 2215311941380308, 1552928390931986,
694                 1664859529680196, 1125004975265243
695 #else
696                 20246567, 19185054, 22358228, 33010720, 18507282, 23140436,
697                 14554436, 24808340, 32232923, 16763880
698 #endif
699             }},
700             {{
701 #if defined(BORINGSSL_CURVE25519_64BIT)
702                 677434665154918, 989582503122485, 1817429540898386,
703                 1052904935475344, 1143826298169798
704 #else
705                 9648486, 10094563, 26416693, 14745928, 36734546, 27081810,
706                 11094160, 15689506, 3140038, 17044340
707 #endif
708             }},
709         },
710         {
711             {{
712 #if defined(BORINGSSL_CURVE25519_64BIT)
713                 367266328308408, 318431188922404, 695629353755355,
714                 634085657580832, 24581612564426
715 #else
716                 50948792, 5472694, 31895588, 4744994, 8823515, 10365685,
717                 39884064, 9448612, 38334410, 366294
718 #endif
719             }},
720             {{
721 #if defined(BORINGSSL_CURVE25519_64BIT)
722                 773360688841258, 1815381330538070, 363773437667376,
723                 539629987070205, 783280434248437
724 #else
725                 19153450, 11523972, 56012374, 27051289, 42461232, 5420646,
726                 28344573, 8041113, 719605, 11671788
727 #endif
728             }},
729             {{
730 #if defined(BORINGSSL_CURVE25519_64BIT)
731                 180820816194166, 168937968377394, 748416242794470,
732                 1227281252254508, 1567587861004268
733 #else
734                 8678006, 2694440, 60300850, 2517371, 4964326, 11152271,
735                 51675948, 18287915, 27000812, 23358879
736 #endif
737             }},
738         },
739         {
740             {{
741 #if defined(BORINGSSL_CURVE25519_64BIT)
742                 478775558583645, 2062896624554807, 699391259285399,
743                 358099408427873, 1277310261461761
744 #else
745                 51950941, 7134311, 8639287, 30739555, 59873175, 10421741,
746                 564065, 5336097, 6750977, 19033406
747 #endif
748             }},
749             {{
750 #if defined(BORINGSSL_CURVE25519_64BIT)
751                 1984740906540026, 1079164179400229, 1056021349262661,
752                 1659958556483663, 1088529069025527
753 #else
754                 11836410, 29574944, 26297893, 16080799, 23455045, 15735944,
755                 1695823, 24735310, 8169719, 16220347
756 #endif
757             }},
758             {{
759 #if defined(BORINGSSL_CURVE25519_64BIT)
760                 580736401511151, 1842931091388998, 1177201471228238,
761                 2075460256527244, 1301133425678027
762 #else
763                 48993007, 8653646, 17578566, 27461813, 59083086, 17541668,
764                 55964556, 30926767, 61118155, 19388398
765 #endif
766             }},
767         },
768         {
769             {{
770 #if defined(BORINGSSL_CURVE25519_64BIT)
771                 1515728832059182, 1575261009617579, 1510246567196186,
772                 191078022609704, 116661716289141
773 #else
774                 43800366, 22586119, 15213227, 23473218, 36255258, 22504427,
775                 27884328, 2847284, 2655861, 1738395
776 #endif
777             }},
778             {{
779 #if defined(BORINGSSL_CURVE25519_64BIT)
780                 1295295738269652, 1714742313707026, 545583042462581,
781                 2034411676262552, 1513248090013606
782 #else
783                 39571412, 19301410, 41772562, 25551651, 57738101, 8129820,
784                 21651608, 30315096, 48021414, 22549153
785 #endif
786             }},
787             {{
788 #if defined(BORINGSSL_CURVE25519_64BIT)
789                 230710545179830, 30821514358353, 760704303452229,
790                 390668103790604, 573437871383156
791 #else
792                 1533110, 3437855, 23735889, 459276, 29970501, 11335377,
793                 26030092, 5821408, 10478196, 8544890
794 #endif
795             }},
796         },
797         {
798             {{
799 #if defined(BORINGSSL_CURVE25519_64BIT)
800                 1169380107545646, 263167233745614, 2022901299054448,
801                 819900753251120, 2023898464874585
802 #else
803                 32173102, 17425121, 24896206, 3921497, 22579056, 30143578,
804                 19270448, 12217473, 17789017, 30158437
805 #endif
806             }},
807             {{
808 #if defined(BORINGSSL_CURVE25519_64BIT)
809                 2102254323485823, 1570832666216754, 34696906544624,
810                 1993213739807337, 70638552271463
811 #else
812                 36555903, 31326030, 51530034, 23407230, 13243888, 517024,
813                 15479401, 29701199, 30460519, 1052596
814 #endif
815             }},
816             {{
817 #if defined(BORINGSSL_CURVE25519_64BIT)
818                 894132856735058, 548675863558441, 845349339503395,
819                 1942269668326667, 1615682209874691
820 #else
821                 55493970, 13323617, 32618793, 8175907, 51878691, 12596686,
822                 27491595, 28942073, 3179267, 24075541
823 #endif
824             }},
825         },
826         {
827             {{
828 #if defined(BORINGSSL_CURVE25519_64BIT)
829                 1287670217537834, 1222355136884920, 1846481788678694,
830                 1150426571265110, 1613523400722047
831 #else
832                 31947050, 19187781, 62468280, 18214510, 51982886, 27514722,
833                 52352086, 17142691, 19072639, 24043372
834 #endif
835             }},
836             {{
837 #if defined(BORINGSSL_CURVE25519_64BIT)
838                 793388516527298, 1315457083650035, 1972286999342417,
839                 1901825953052455, 338269477222410
840 #else
841                 11685058, 11822410, 3158003, 19601838, 33402193, 29389366,
842                 5977895, 28339415, 473098, 5040608
843 #endif
844             }},
845             {{
846 #if defined(BORINGSSL_CURVE25519_64BIT)
847                 550201530671806, 778605267108140, 2063911101902983,
848                 115500557286349, 2041641272971022
849 #else
850                 46817982, 8198641, 39698732, 11602122, 1290375, 30754672,
851                 28326861, 1721092, 47550222, 30422825
852 #endif
853             }},
854         },
855     },
856     {
857         {
858             {{
859 #if defined(BORINGSSL_CURVE25519_64BIT)
860                 717255318455100, 519313764361315, 2080406977303708,
861                 541981206705521, 774328150311600
862 #else
863                 7881532, 10687937, 7578723, 7738378, 48157852, 31000479,
864                 21820785, 8076149, 39240368, 11538388
865 #endif
866             }},
867             {{
868 #if defined(BORINGSSL_CURVE25519_64BIT)
869                 261715221532238, 1795354330069993, 1496878026850283,
870                 499739720521052, 389031152673770
871 #else
872                 47173198, 3899860, 18283497, 26752864, 51380203, 22305220,
873                 8754524, 7446702, 61432810, 5797015
874 #endif
875             }},
876             {{
877 #if defined(BORINGSSL_CURVE25519_64BIT)
878                 1997217696294013, 1717306351628065, 1684313917746180,
879                 1644426076011410, 1857378133465451
880 #else
881                 55813245, 29760862, 51326753, 25589858, 12708868, 25098233,
882                 2014098, 24503858, 64739691, 27677090
883 #endif
884             }},
885         },
886         {
887             {{
888 #if defined(BORINGSSL_CURVE25519_64BIT)
889                 1475434724792648, 76931896285979, 1116729029771667,
890                 2002544139318042, 725547833803938
891 #else
892                 44636488, 21985690, 39426843, 1146374, 18956691, 16640559,
893                 1192730, 29840233, 15123618, 10811505
894 #endif
895             }},
896             {{
897 #if defined(BORINGSSL_CURVE25519_64BIT)
898                 2022306639183567, 726296063571875, 315345054448644,
899                 1058733329149221, 1448201136060677
900 #else
901                 14352079, 30134717, 48166819, 10822654, 32750596, 4699007,
902                 67038501, 15776355, 38222085, 21579878
903 #endif
904             }},
905             {{
906 #if defined(BORINGSSL_CURVE25519_64BIT)
907                 1710065158525665, 1895094923036397, 123988286168546,
908                 1145519900776355, 1607510767693874
909 #else
910                 38867681, 25481956, 62129901, 28239114, 29416930, 1847569,
911                 46454691, 17069576, 4714546, 23953777
912 #endif
913             }},
914         },
915         {
916             {{
917 #if defined(BORINGSSL_CURVE25519_64BIT)
918                 561605375422540, 1071733543815037, 131496498800990,
919                 1946868434569999, 828138133964203
920 #else
921                 15200332, 8368572, 19679101, 15970074, 35236190, 1959450,
922                 24611599, 29010600, 55362987, 12340219
923 #endif
924             }},
925             {{
926 #if defined(BORINGSSL_CURVE25519_64BIT)
927                 1548495173745801, 442310529226540, 998072547000384,
928                 553054358385281, 644824326376171
929 #else
930                 12876937, 23074376, 33134380, 6590940, 60801088, 14872439,
931                 9613953, 8241152, 15370987, 9608631
932 #endif
933             }},
934             {{
935 #if defined(BORINGSSL_CURVE25519_64BIT)
936                 1445526537029440, 2225519789662536, 914628859347385,
937                 1064754194555068, 1660295614401091
938 #else
939                 62965568, 21540023, 8446280, 33162829, 4407737, 13629032,
940                 59383996, 15866073, 38898243, 24740332
941 #endif
942             }},
943         },
944         {
945             {{
946 #if defined(BORINGSSL_CURVE25519_64BIT)
947                 1199690223111956, 24028135822341, 66638289244341,
948                 57626156285975, 565093967979607
949 #else
950                 26660628, 17876777, 8393733, 358047, 59707573, 992987, 43204631,
951                 858696, 20571223, 8420556
952 #endif
953             }},
954             {{
955 #if defined(BORINGSSL_CURVE25519_64BIT)
956                 876926774220824, 554618976488214, 1012056309841565,
957                 839961821554611, 1414499340307677
958 #else
959                 14620696, 13067227, 51661590, 8264466, 14106269, 15080814,
960                 33531827, 12516406, 45534429, 21077682
961 #endif
962             }},
963             {{
964 #if defined(BORINGSSL_CURVE25519_64BIT)
965                 703047626104145, 1266841406201770, 165556500219173,
966                 486991595001879, 1011325891650656
967 #else
968                 236881, 10476226, 57258, 18877408, 6472997, 2466984, 17258519,
969                 7256740, 8791136, 15069930
970 #endif
971             }},
972         },
973         {
974             {{
975 #if defined(BORINGSSL_CURVE25519_64BIT)
976                 1622861044480487, 1156394801573634, 1869132565415504,
977                 327103985777730, 2095342781472284
978 #else
979                 1276391, 24182514, 22949634, 17231625, 43615824, 27852245,
980                 14711874, 4874229, 36445724, 31223040
981 #endif
982             }},
983             {{
984 #if defined(BORINGSSL_CURVE25519_64BIT)
985                 334886927423922, 489511099221528, 129160865966726,
986                 1720809113143481, 619700195649254
987 #else
988                 5855666, 4990204, 53397016, 7294283, 59304582, 1924646,
989                 65685689, 25642053, 34039526, 9234252
990 #endif
991             }},
992             {{
993 #if defined(BORINGSSL_CURVE25519_64BIT)
994                 1646545795166119, 1758370782583567, 714746174550637,
995                 1472693650165135, 898994790308209
996 #else
997                 20590503, 24535444, 31529743, 26201766, 64402029, 10650547,
998                 31559055, 21944845, 18979185, 13396066
999 #endif
1000             }},
1001         },
1002         {
1003             {{
1004 #if defined(BORINGSSL_CURVE25519_64BIT)
1005                 333403773039279, 295772542452938, 1693106465353610,
1006                 912330357530760, 471235657950362
1007 #else
1008                 24474287, 4968103, 22267082, 4407354, 24063882, 25229252,
1009                 48291976, 13594781, 33514650, 7021958
1010 #endif
1011             }},
1012             {{
1013 #if defined(BORINGSSL_CURVE25519_64BIT)
1014                 1811196219982022, 1068969825533602, 289602974833439,
1015                 1988956043611592, 863562343398367
1016 #else
1017                 55541958, 26988926, 45743778, 15928891, 40950559, 4315420,
1018                 41160136, 29637754, 45628383, 12868081
1019 #endif
1020             }},
1021             {{
1022 #if defined(BORINGSSL_CURVE25519_64BIT)
1023                 906282429780072, 2108672665779781, 432396390473936,
1024                 150625823801893, 1708930497638539
1025 #else
1026                 38473832, 13504660, 19988037, 31421671, 21078224, 6443208,
1027                 45662757, 2244499, 54653067, 25465048
1028 #endif
1029             }},
1030         },
1031         {
1032             {{
1033 #if defined(BORINGSSL_CURVE25519_64BIT)
1034                 925664675702328, 21416848568684, 1831436641861340,
1035                 601157008940113, 371818055044496
1036 #else
1037                 36513336, 13793478, 61256044, 319135, 41385692, 27290532,
1038                 33086545, 8957937, 51875216, 5540520
1039 #endif
1040             }},
1041             {{
1042 #if defined(BORINGSSL_CURVE25519_64BIT)
1043                 1479786007267725, 1738881859066675, 68646196476567,
1044                 2146507056100328, 1247662817535471
1045 #else
1046                 55478669, 22050529, 58989363, 25911358, 2620055, 1022908,
1047                 43398120, 31985447, 50980335, 18591624
1048 #endif
1049             }},
1050             {{
1051 #if defined(BORINGSSL_CURVE25519_64BIT)
1052                 52035296774456, 939969390708103, 312023458773250,
1053                 59873523517659, 1231345905848899
1054 #else
1055                 23152952, 775386, 27395463, 14006635, 57407746, 4649511,
1056                 1689819, 892185, 55595587, 18348483
1057 #endif
1058             }},
1059         },
1060         {
1061             {{
1062 #if defined(BORINGSSL_CURVE25519_64BIT)
1063                 643355106415761, 290186807495774, 2013561737429023,
1064                 319648069511546, 393736678496162
1065 #else
1066                 9770129, 9586738, 26496094, 4324120, 1556511, 30004408,
1067                 27453818, 4763127, 47929250, 5867133
1068 #endif
1069             }},
1070             {{
1071 #if defined(BORINGSSL_CURVE25519_64BIT)
1072                 129358342392716, 1932811617704777, 1176749390799681,
1073                 398040349861790, 1170779668090425
1074 #else
1075                 34343820, 1927589, 31726409, 28801137, 23962433, 17534932,
1076                 27846558, 5931263, 37359161, 17445976
1077 #endif
1078             }},
1079             {{
1080 #if defined(BORINGSSL_CURVE25519_64BIT)
1081                 2051980782668029, 121859921510665, 2048329875753063,
1082                 1235229850149665, 519062146124755
1083 #else
1084                 27461885, 30576896, 22380809, 1815854, 44075111, 30522493,
1085                 7283489, 18406359, 47582163, 7734628
1086 #endif
1087             }},
1088         },
1089     },
1090     {
1091         {
1092             {{
1093 #if defined(BORINGSSL_CURVE25519_64BIT)
1094                 1608170971973096, 415809060360428, 1350468408164766,
1095                 2038620059057678, 1026904485989112
1096 #else
1097                 59098600, 23963614, 55988460, 6196037, 29344158, 20123547,
1098                 7585294, 30377806, 18549496, 15302069
1099 #endif
1100             }},
1101             {{
1102 #if defined(BORINGSSL_CURVE25519_64BIT)
1103                 1837656083115103, 1510134048812070, 906263674192061,
1104                 1821064197805734, 565375124676301
1105 #else
1106                 34450527, 27383209, 59436070, 22502750, 6258877, 13504381,
1107                 10458790, 27135971, 58236621, 8424745
1108 #endif
1109             }},
1110             {{
1111 #if defined(BORINGSSL_CURVE25519_64BIT)
1112                 578027192365650, 2034800251375322, 2128954087207123,
1113                 478816193810521, 2196171989962750
1114 #else
1115                 24687186, 8613276, 36441818, 30320886, 1863891, 31723888,
1116                 19206233, 7134917, 55824382, 32725512
1117 #endif
1118             }},
1119         },
1120         {
1121             {{
1122 #if defined(BORINGSSL_CURVE25519_64BIT)
1123                 1633188840273139, 852787172373708, 1548762607215796,
1124                 1266275218902681, 1107218203325133
1125 #else
1126                 11334899, 24336410, 8025292, 12707519, 17523892, 23078361,
1127                 10243737, 18868971, 62042829, 16498836
1128 #endif
1129             }},
1130             {{
1131 #if defined(BORINGSSL_CURVE25519_64BIT)
1132                 462189358480054, 1784816734159228, 1611334301651368,
1133                 1303938263943540, 707589560319424
1134 #else
1135                 8911542, 6887158, 57524604, 26595841, 11145640, 24010752,
1136                 17303924, 19430194, 6536640, 10543906
1137 #endif
1138             }},
1139             {{
1140 #if defined(BORINGSSL_CURVE25519_64BIT)
1141                 1038829280972848, 38176604650029, 753193246598573,
1142                 1136076426528122, 595709990562434
1143 #else
1144                 38162480, 15479762, 49642029, 568875, 65611181, 11223453,
1145                 64439674, 16928857, 39873154, 8876770
1146 #endif
1147             }},
1148         },
1149         {
1150             {{
1151 #if defined(BORINGSSL_CURVE25519_64BIT)
1152                 1408451820859834, 2194984964010833, 2198361797561729,
1153                 1061962440055713, 1645147963442934
1154 #else
1155                 41365946, 20987567, 51458897, 32707824, 34082177, 32758143,
1156                 33627041, 15824473, 66504438, 24514614
1157 #endif
1158             }},
1159             {{
1160 #if defined(BORINGSSL_CURVE25519_64BIT)
1161                 4701053362120, 1647641066302348, 1047553002242085,
1162                 1923635013395977, 206970314902065
1163 #else
1164                 10330056, 70051, 7957388, 24551765, 9764901, 15609756, 27698697,
1165                 28664395, 1657393, 3084098
1166 #endif
1167             }},
1168             {{
1169 #if defined(BORINGSSL_CURVE25519_64BIT)
1170                 1750479161778571, 1362553355169293, 1891721260220598,
1171                 966109370862782, 1024913988299801
1172 #else
1173                 10477963, 26084172, 12119565, 20303627, 29016246, 28188843,
1174                 31280318, 14396151, 36875289, 15272408
1175 #endif
1176             }},
1177         },
1178         {
1179             {{
1180 #if defined(BORINGSSL_CURVE25519_64BIT)
1181                 212699049131723, 1117950018299775, 1873945661751056,
1182                 1403802921984058, 130896082652698
1183 #else
1184                 54820555, 3169462, 28813183, 16658753, 25116432, 27923966,
1185                 41934906, 20918293, 42094106, 1950503
1186 #endif
1187             }},
1188             {{
1189 #if defined(BORINGSSL_CURVE25519_64BIT)
1190                 636808533673210, 1262201711667560, 390951380330599,
1191                 1663420692697294, 561951321757406
1192 #else
1193                 40928506, 9489186, 11053416, 18808271, 36055143, 5825629,
1194                 58724558, 24786899, 15341278, 8373727
1195 #endif
1196             }},
1197             {{
1198 #if defined(BORINGSSL_CURVE25519_64BIT)
1199                 520731594438141, 1446301499955692, 273753264629267,
1200                 1565101517999256, 1019411827004672
1201 #else
1202                 28685821, 7759505, 52730348, 21551571, 35137043, 4079241,
1203                 298136, 23321830, 64230656, 15190419
1204 #endif
1205             }},
1206         },
1207         {
1208             {{
1209 #if defined(BORINGSSL_CURVE25519_64BIT)
1210                 926527492029409, 1191853477411379, 734233225181171,
1211                 184038887541270, 1790426146325343
1212 #else
1213                 34175969, 13806335, 52771379, 17760000, 43104243, 10940927,
1214                 8669718, 2742393, 41075551, 26679428
1215 #endif
1216             }},
1217             {{
1218 #if defined(BORINGSSL_CURVE25519_64BIT)
1219                 1464651961852572, 1483737295721717, 1519450561335517,
1220                 1161429831763785, 405914998179977
1221 #else
1222                 65528476, 21825014, 41129205, 22109408, 49696989, 22641577,
1223                 9291593, 17306653, 54954121, 6048604
1224 #endif
1225             }},
1226             {{
1227 #if defined(BORINGSSL_CURVE25519_64BIT)
1228                 996126634382301, 796204125879525, 127517800546509,
1229                 344155944689303, 615279846169038
1230 #else
1231                 36803549, 14843443, 1539301, 11864366, 20201677, 1900163,
1232                 13934231, 5128323, 11213262, 9168384
1233 #endif
1234             }},
1235         },
1236         {
1237             {{
1238 #if defined(BORINGSSL_CURVE25519_64BIT)
1239                 738724080975276, 2188666632415296, 1961313708559162,
1240                 1506545807547587, 1151301638969740
1241 #else
1242                 40828332, 11007846, 19408960, 32613674, 48515898, 29225851,
1243                 62020803, 22449281, 20470156, 17155731
1244 #endif
1245             }},
1246             {{
1247 #if defined(BORINGSSL_CURVE25519_64BIT)
1248                 622917337413835, 1218989177089035, 1284857712846592,
1249                 970502061709359, 351025208117090
1250 #else
1251                 43972811, 9282191, 14855179, 18164354, 59746048, 19145871,
1252                 44324911, 14461607, 14042978, 5230683
1253 #endif
1254             }},
1255             {{
1256 #if defined(BORINGSSL_CURVE25519_64BIT)
1257                 2067814584765580, 1677855129927492, 2086109782475197,
1258                 235286517313238, 1416314046739645
1259 #else
1260                 29969548, 30812838, 50396996, 25001989, 9175485, 31085458,
1261                 21556950, 3506042, 61174973, 21104723
1262 #endif
1263             }},
1264         },
1265         {
1266             {{
1267 #if defined(BORINGSSL_CURVE25519_64BIT)
1268                 586844262630358, 307444381952195, 458399356043426,
1269                 602068024507062, 1028548203415243
1270 #else
1271                 63964118, 8744660, 19704003, 4581278, 46678178, 6830682,
1272                 45824694, 8971512, 38569675, 15326562
1273 #endif
1274             }},
1275             {{
1276 #if defined(BORINGSSL_CURVE25519_64BIT)
1277                 678489922928203, 2016657584724032, 90977383049628,
1278                 1026831907234582, 615271492942522
1279 #else
1280                 47644235, 10110287, 49846336, 30050539, 43608476, 1355668,
1281                 51585814, 15300987, 46594746, 9168259
1282 #endif
1283             }},
1284             {{
1285 #if defined(BORINGSSL_CURVE25519_64BIT)
1286                 301225714012278, 1094837270268560, 1202288391010439,
1287                 644352775178361, 1647055902137983
1288 #else
1289                 61755510, 4488612, 43305616, 16314346, 7780487, 17915493,
1290                 38160505, 9601604, 33087103, 24543045
1291 #endif
1292             }},
1293         },
1294         {
1295             {{
1296 #if defined(BORINGSSL_CURVE25519_64BIT)
1297                 1210746697896478, 1416608304244708, 686487477217856,
1298                 1245131191434135, 1051238336855737
1299 #else
1300                 47665694, 18041531, 46311396, 21109108, 37284416, 10229460,
1301                 39664535, 18553900, 61111993, 15664671
1302 #endif
1303             }},
1304             {{
1305 #if defined(BORINGSSL_CURVE25519_64BIT)
1306                 1135604073198207, 1683322080485474, 769147804376683,
1307                 2086688130589414, 900445683120379
1308 #else
1309                 23294591, 16921819, 44458082, 25083453, 27844203, 11461195,
1310                 13099750, 31094076, 18151675, 13417686
1311 #endif
1312             }},
1313             {{
1314 #if defined(BORINGSSL_CURVE25519_64BIT)
1315                 1971518477615628, 401909519527336, 448627091057375,
1316                 1409486868273821, 1214789035034363
1317 #else
1318                 42385932, 29377914, 35958184, 5988918, 40250079, 6685064,
1319                 1661597, 21002991, 15271675, 18101767
1320 #endif
1321             }},
1322         },
1323     },
1324     {
1325         {
1326             {{
1327 #if defined(BORINGSSL_CURVE25519_64BIT)
1328                 1364039144731711, 1897497433586190, 2203097701135459,
1329                 145461396811251, 1349844460790699
1330 #else
1331                 11433023, 20325767, 8239630, 28274915, 65123427, 32828713,
1332                 48410099, 2167543, 60187563, 20114249
1333 #endif
1334             }},
1335             {{
1336 #if defined(BORINGSSL_CURVE25519_64BIT)
1337                 1045230323257973, 818206601145807, 630513189076103,
1338                 1672046528998132, 807204017562437
1339 #else
1340                 35672693, 15575145, 30436815, 12192228, 44645511, 9395378,
1341                 57191156, 24915434, 12215109, 12028277
1342 #endif
1343             }},
1344             {{
1345 #if defined(BORINGSSL_CURVE25519_64BIT)
1346                 439961968385997, 386362664488986, 1382706320807688,
1347                 309894000125359, 2207801346498567
1348 #else
1349                 14098381, 6555944, 23007258, 5757252, 51681032, 20603929,
1350                 30123439, 4617780, 50208775, 32898803
1351 #endif
1352             }},
1353         },
1354         {
1355             {{
1356 #if defined(BORINGSSL_CURVE25519_64BIT)
1357                 1229004686397588, 920643968530863, 123975893911178,
1358                 681423993215777, 1400559197080973
1359 #else
1360                 63082644, 18313596, 11893167, 13718664, 52299402, 1847384,
1361                 51288865, 10154008, 23973261, 20869958
1362 #endif
1363             }},
1364             {{
1365 #if defined(BORINGSSL_CURVE25519_64BIT)
1366                 2003766096898049, 170074059235165, 1141124258967971,
1367                 1485419893480973, 1573762821028725
1368 #else
1369                 40577025, 29858441, 65199965, 2534300, 35238307, 17004076,
1370                 18341389, 22134481, 32013173, 23450893
1371 #endif
1372             }},
1373             {{
1374 #if defined(BORINGSSL_CURVE25519_64BIT)
1375                 729905708611432, 1270323270673202, 123353058984288,
1376                 426460209632942, 2195574535456672
1377 #else
1378                 41629544, 10876442, 55337778, 18929291, 54739296, 1838103,
1379                 21911214, 6354752, 4425632, 32716610
1380 #endif
1381             }},
1382         },
1383         {
1384             {{
1385 #if defined(BORINGSSL_CURVE25519_64BIT)
1386                 1271140255321235, 2044363183174497, 52125387634689,
1387                 1445120246694705, 942541986339084
1388 #else
1389                 56675475, 18941465, 22229857, 30463385, 53917697, 776728,
1390                 49693489, 21533969, 4725004, 14044970
1391 #endif
1392             }},
1393             {{
1394 #if defined(BORINGSSL_CURVE25519_64BIT)
1395                 1761608437466135, 583360847526804, 1586706389685493,
1396                 2157056599579261, 1170692369685772
1397 #else
1398                 19268631, 26250011, 1555348, 8692754, 45634805, 23643767,
1399                 6347389, 32142648, 47586572, 17444675
1400 #endif
1401             }},
1402             {{
1403 #if defined(BORINGSSL_CURVE25519_64BIT)
1404                 871476219910823, 1878769545097794, 2241832391238412,
1405                 548957640601001, 690047440233174
1406 #else
1407                 42244775, 12986007, 56209986, 27995847, 55796492, 33405905,
1408                 19541417, 8180106, 9282262, 10282508
1409 #endif
1410             }},
1411         },
1412         {
1413             {{
1414 #if defined(BORINGSSL_CURVE25519_64BIT)
1415                 297194732135507, 1366347803776820, 1301185512245601,
1416                 561849853336294, 1533554921345731
1417 #else
1418                 40903763, 4428546, 58447668, 20360168, 4098401, 19389175,
1419                 15522534, 8372215, 5542595, 22851749
1420 #endif
1421             }},
1422             {{
1423 #if defined(BORINGSSL_CURVE25519_64BIT)
1424                 999628998628371, 1132836708493400, 2084741674517453,
1425                 469343353015612, 678782988708035
1426 #else
1427                 56546323, 14895632, 26814552, 16880582, 49628109, 31065071,
1428                 64326972, 6993760, 49014979, 10114654
1429 #endif
1430             }},
1431             {{
1432 #if defined(BORINGSSL_CURVE25519_64BIT)
1433                 2189427607417022, 699801937082607, 412764402319267,
1434                 1478091893643349, 2244675696854460
1435 #else
1436                 47001790, 32625013, 31422703, 10427861, 59998115, 6150668,
1437                 38017109, 22025285, 25953724, 33448274
1438 #endif
1439             }},
1440         },
1441         {
1442             {{
1443 #if defined(BORINGSSL_CURVE25519_64BIT)
1444                 1712292055966563, 204413590624874, 1405738637332841,
1445                 408981300829763, 861082219276721
1446 #else
1447                 62874467, 25515139, 57989738, 3045999, 2101609, 20947138,
1448                 19390019, 6094296, 63793585, 12831124
1449 #endif
1450             }},
1451             {{
1452 #if defined(BORINGSSL_CURVE25519_64BIT)
1453                 508561155940631, 966928475686665, 2236717801150132,
1454                 424543858577297, 2089272956986143
1455 #else
1456                 51110167, 7578151, 5310217, 14408357, 33560244, 33329692,
1457                 31575953, 6326196, 7381791, 31132593
1458 #endif
1459             }},
1460             {{
1461 #if defined(BORINGSSL_CURVE25519_64BIT)
1462                 221245220129925, 1156020201681217, 491145634799213,
1463                 542422431960839, 828100817819207
1464 #else
1465                 46206085, 3296810, 24736065, 17226043, 18374253, 7318640,
1466                 6295303, 8082724, 51746375, 12339663
1467 #endif
1468             }},
1469         },
1470         {
1471             {{
1472 #if defined(BORINGSSL_CURVE25519_64BIT)
1473                 153756971240384, 1299874139923977, 393099165260502,
1474                 1058234455773022, 996989038681183
1475 #else
1476                 27724736, 2291157, 6088201, 19369634, 1792726, 5857634,
1477                 13848414, 15768922, 25091167, 14856294
1478 #endif
1479             }},
1480             {{
1481 #if defined(BORINGSSL_CURVE25519_64BIT)
1482                 559086812798481, 573177704212711, 1629737083816402,
1483                 1399819713462595, 1646954378266038
1484 #else
1485                 48242193, 8331042, 24373479, 8541013, 66406866, 24284974,
1486                 12927299, 20858939, 44926390, 24541532
1487 #endif
1488             }},
1489             {{
1490 #if defined(BORINGSSL_CURVE25519_64BIT)
1491                 1887963056288059, 228507035730124, 1468368348640282,
1492                 930557653420194, 613513962454686
1493 #else
1494                 55685435, 28132841, 11632844, 3405020, 30536730, 21880393,
1495                 39848098, 13866389, 30146206, 9142070
1496 #endif
1497             }},
1498         },
1499         {
1500             {{
1501 #if defined(BORINGSSL_CURVE25519_64BIT)
1502                 1224529808187553, 1577022856702685, 2206946542980843,
1503                 625883007765001, 279930793512158
1504 #else
1505                 3924129, 18246916, 53291741, 23499471, 12291819, 32886066,
1506                 39406089, 9326383, 58871006, 4171293
1507 #endif
1508             }},
1509             {{
1510 #if defined(BORINGSSL_CURVE25519_64BIT)
1511                 1076287717051609, 1114455570543035, 187297059715481,
1512                 250446884292121, 1885187512550540
1513 #else
1514                 51186905, 16037936, 6713787, 16606682, 45496729, 2790943,
1515                 26396185, 3731949, 345228, 28091483
1516 #endif
1517             }},
1518             {{
1519 #if defined(BORINGSSL_CURVE25519_64BIT)
1520                 902497362940219, 76749815795675, 1657927525633846,
1521                 1420238379745202, 1340321636548352
1522 #else
1523                 45781307, 13448258, 25284571, 1143661, 20614966, 24705045,
1524                 2031538, 21163201, 50855680, 19972348
1525 #endif
1526             }},
1527         },
1528         {
1529             {{
1530 #if defined(BORINGSSL_CURVE25519_64BIT)
1531                 1129576631190784, 1281994010027327, 996844254743018,
1532                 257876363489249, 1150850742055018
1533 #else
1534                 31016192, 16832003, 26371391, 19103199, 62081514, 14854136,
1535                 17477601, 3842657, 28012650, 17149012
1536 #endif
1537             }},
1538             {{
1539 #if defined(BORINGSSL_CURVE25519_64BIT)
1540                 628740660038789, 1943038498527841, 467786347793886,
1541                 1093341428303375, 235413859513003
1542 #else
1543                 62033029, 9368965, 58546785, 28953529, 51858910, 6970559,
1544                 57918991, 16292056, 58241707, 3507939
1545 #endif
1546             }},
1547             {{
1548 #if defined(BORINGSSL_CURVE25519_64BIT)
1549                 237425418909360, 469614029179605, 1512389769174935,
1550                 1241726368345357, 441602891065214
1551 #else
1552                 29439664, 3537914, 23333589, 6997794, 49553303, 22536363,
1553                 51899661, 18503164, 57943934, 6580395
1554 #endif
1555             }},
1556         },
1557     },
1558     {
1559         {
1560             {{
1561 #if defined(BORINGSSL_CURVE25519_64BIT)
1562                 1736417953058555, 726531315520508, 1833335034432527,
1563                 1629442561574747, 624418919286085
1564 #else
1565                 54923003, 25874643, 16438268, 10826160, 58412047, 27318820,
1566                 17860443, 24280586, 65013061, 9304566
1567 #endif
1568             }},
1569             {{
1570 #if defined(BORINGSSL_CURVE25519_64BIT)
1571                 1960754663920689, 497040957888962, 1909832851283095,
1572                 1271432136996826, 2219780368020940
1573 #else
1574                 20714545, 29217521, 29088194, 7406487, 11426967, 28458727,
1575                 14792666, 18945815, 5289420, 33077305
1576 #endif
1577             }},
1578             {{
1579 #if defined(BORINGSSL_CURVE25519_64BIT)
1580                 1537037379417136, 1358865369268262, 2130838645654099,
1581                 828733687040705, 1999987652890901
1582 #else
1583                 50443312, 22903641, 60948518, 20248671, 9192019, 31751970,
1584                 17271489, 12349094, 26939669, 29802138
1585 #endif
1586             }},
1587         },
1588         {
1589             {{
1590 #if defined(BORINGSSL_CURVE25519_64BIT)
1591                 629042105241814, 1098854999137608, 887281544569320,
1592                 1423102019874777, 7911258951561
1593 #else
1594                 54218966, 9373457, 31595848, 16374215, 21471720, 13221525,
1595                 39825369, 21205872, 63410057, 117886
1596 #endif
1597             }},
1598             {{
1599 #if defined(BORINGSSL_CURVE25519_64BIT)
1600                 1811562332665373, 1501882019007673, 2213763501088999,
1601                 359573079719636, 36370565049116
1602 #else
1603                 22263325, 26994382, 3984569, 22379786, 51994855, 32987646,
1604                 28311252, 5358056, 43789084, 541963
1605 #endif
1606             }},
1607             {{
1608 #if defined(BORINGSSL_CURVE25519_64BIT)
1609                 218907117361280, 1209298913016966, 1944312619096112,
1610                 1130690631451061, 1342327389191701
1611 #else
1612                 16259200, 3261970, 2309254, 18019958, 50223152, 28972515,
1613                 24134069, 16848603, 53771797, 20002236
1614 #endif
1615             }},
1616         },
1617         {
1618             {{
1619 #if defined(BORINGSSL_CURVE25519_64BIT)
1620                 1369976867854704, 1396479602419169, 1765656654398856,
1621                 2203659200586299, 998327836117241
1622 #else
1623                 9378160, 20414246, 44262881, 20809167, 28198280, 26310334,
1624                 64709179, 32837080, 690425, 14876244
1625 #endif
1626             }},
1627             {{
1628 #if defined(BORINGSSL_CURVE25519_64BIT)
1629                 2230701885562825, 1348173180338974, 2172856128624598,
1630                 1426538746123771, 444193481326151
1631 #else
1632                 24977353, 33240048, 58884894, 20089345, 28432342, 32378079,
1633                 54040059, 21257083, 44727879, 6618998
1634 #endif
1635             }},
1636             {{
1637 #if defined(BORINGSSL_CURVE25519_64BIT)
1638                 784210426627951, 918204562375674, 1284546780452985,
1639                 1324534636134684, 1872449409642708
1640 #else
1641                 65570671, 11685645, 12944378, 13682314, 42719353, 19141238,
1642                 8044828, 19737104, 32239828, 27901670
1643 #endif
1644             }},
1645         },
1646         {
1647             {{
1648 #if defined(BORINGSSL_CURVE25519_64BIT)
1649                 319638829540294, 596282656808406, 2037902696412608,
1650                 1557219121643918, 341938082688094
1651 #else
1652                 48505798, 4762989, 66182614, 8885303, 38696384, 30367116,
1653                 9781646, 23204373, 32779358, 5095274
1654 #endif
1655             }},
1656             {{
1657 #if defined(BORINGSSL_CURVE25519_64BIT)
1658                 1901860206695915, 2004489122065736, 1625847061568236,
1659                 973529743399879, 2075287685312905
1660 #else
1661                 34100715, 28339925, 34843976, 29869215, 9460460, 24227009,
1662                 42507207, 14506723, 21639561, 30924196
1663 #endif
1664             }},
1665             {{
1666 #if defined(BORINGSSL_CURVE25519_64BIT)
1667                 1371853944110545, 1042332820512553, 1949855697918254,
1668                 1791195775521505, 37487364849293
1669 #else
1670                 50707921, 20442216, 25239337, 15531969, 3987758, 29055114,
1671                 65819361, 26690896, 17874573, 558605
1672 #endif
1673             }},
1674         },
1675         {
1676             {{
1677 #if defined(BORINGSSL_CURVE25519_64BIT)
1678                 687200189577855, 1082536651125675, 644224940871546,
1679                 340923196057951, 343581346747396
1680 #else
1681                 53508735, 10240080, 9171883, 16131053, 46239610, 9599699,
1682                 33499487, 5080151, 2085892, 5119761
1683 #endif
1684             }},
1685             {{
1686 #if defined(BORINGSSL_CURVE25519_64BIT)
1687                 2082717129583892, 27829425539422, 145655066671970,
1688                 1690527209845512, 1865260509673478
1689 #else
1690                 44903700, 31034903, 50727262, 414690, 42089314, 2170429,
1691                 30634760, 25190818, 35108870, 27794547
1692 #endif
1693             }},
1694             {{
1695 #if defined(BORINGSSL_CURVE25519_64BIT)
1696                 1059729620568824, 2163709103470266, 1440302280256872,
1697                 1769143160546397, 869830310425069
1698 #else
1699                 60263160, 15791201, 8550074, 32241778, 29928808, 21462176,
1700                 27534429, 26362287, 44757485, 12961481
1701 #endif
1702             }},
1703         },
1704         {
1705             {{
1706 #if defined(BORINGSSL_CURVE25519_64BIT)
1707                 1609516219779025, 777277757338817, 2101121130363987,
1708                 550762194946473, 1905542338659364
1709 #else
1710                 42616785, 23983660, 10368193, 11582341, 43711571, 31309144,
1711                 16533929, 8206996, 36914212, 28394793
1712 #endif
1713             }},
1714             {{
1715 #if defined(BORINGSSL_CURVE25519_64BIT)
1716                 2024821921041576, 426948675450149, 595133284085473,
1717                 471860860885970, 600321679413000
1718 #else
1719                 55987368, 30172197, 2307365, 6362031, 66973409, 8868176,
1720                 50273234, 7031274, 7589640, 8945490
1721 #endif
1722             }},
1723             {{
1724 #if defined(BORINGSSL_CURVE25519_64BIT)
1725                 598474602406721, 1468128276358244, 1191923149557635,
1726                 1501376424093216, 1281662691293476
1727 #else
1728                 34956097, 8917966, 6661220, 21876816, 65916803, 17761038,
1729                 7251488, 22372252, 24099108, 19098262
1730 #endif
1731             }},
1732         },
1733         {
1734             {{
1735 #if defined(BORINGSSL_CURVE25519_64BIT)
1736                 1721138489890707, 1264336102277790, 433064545421287,
1737                 1359988423149466, 1561871293409447
1738 #else
1739                 5019539, 25646962, 4244126, 18840076, 40175591, 6453164,
1740                 47990682, 20265406, 60876967, 23273695
1741 #endif
1742             }},
1743             {{
1744 #if defined(BORINGSSL_CURVE25519_64BIT)
1745                 719520245587143, 393380711632345, 132350400863381,
1746                 1543271270810729, 1819543295798660
1747 #else
1748                 10853575, 10721687, 26480089, 5861829, 44113045, 1972174,
1749                 65242217, 22996533, 63745412, 27113307
1750 #endif
1751             }},
1752             {{
1753 #if defined(BORINGSSL_CURVE25519_64BIT)
1754                 396397949784152, 1811354474471839, 1362679985304303,
1755                 2117033964846756, 498041172552279
1756 #else
1757                 50106456, 5906789, 221599, 26991285, 7828207, 20305514,
1758                 24362660, 31546264, 53242455, 7421391
1759 #endif
1760             }},
1761         },
1762         {
1763             {{
1764 #if defined(BORINGSSL_CURVE25519_64BIT)
1765                 1812471844975748, 1856491995543149, 126579494584102,
1766                 1036244859282620, 1975108050082550
1767 #else
1768                 8139908, 27007935, 32257645, 27663886, 30375718, 1886181,
1769                 45933756, 15441251, 28826358, 29431403
1770 #endif
1771             }},
1772             {{
1773 #if defined(BORINGSSL_CURVE25519_64BIT)
1774                 650623932407995, 1137551288410575, 2125223403615539,
1775                 1725658013221271, 2134892965117796
1776 #else
1777                 6267067, 9695052, 7709135, 16950835, 34239795, 31668296,
1778                 14795159, 25714308, 13746020, 31812384
1779 #endif
1780             }},
1781             {{
1782 #if defined(BORINGSSL_CURVE25519_64BIT)
1783                 522584000310195, 1241762481390450, 1743702789495384,
1784                 2227404127826575, 1686746002148897
1785 #else
1786                 28584883, 7787108, 60375922, 18503702, 22846040, 25983196,
1787                 63926927, 33190907, 4771361, 25134474
1788 #endif
1789             }},
1790         },
1791     },
1792     {
1793         {
1794             {{
1795 #if defined(BORINGSSL_CURVE25519_64BIT)
1796                 427904865186312, 1703211129693455, 1585368107547509,
1797                 1436984488744336, 761188534613978
1798 #else
1799                 24949256, 6376279, 39642383, 25379823, 48462709, 23623825,
1800                 33543568, 21412737, 3569626, 11342593
1801 #endif
1802             }},
1803             {{
1804 #if defined(BORINGSSL_CURVE25519_64BIT)
1805                 318101947455002, 248138407995851, 1481904195303927,
1806                 309278454311197, 1258516760217879
1807 #else
1808                 26514970, 4740088, 27912651, 3697550, 19331575, 22082093,
1809                 6809885, 4608608, 7325975, 18753361
1810 #endif
1811             }},
1812             {{
1813 #if defined(BORINGSSL_CURVE25519_64BIT)
1814                 1275068538599310, 513726919533379, 349926553492294,
1815                 688428871968420, 1702400196000666
1816 #else
1817                 55490446, 19000001, 42787651, 7655127, 65739590, 5214311,
1818                 39708324, 10258389, 49462170, 25367739
1819 #endif
1820             }},
1821         },
1822         {
1823             {{
1824 #if defined(BORINGSSL_CURVE25519_64BIT)
1825                 1061864036265233, 961611260325381, 321859632700838,
1826                 1045600629959517, 1985130202504038
1827 #else
1828                 11431185, 15823007, 26570245, 14329124, 18029990, 4796082,
1829                 35662685, 15580663, 9280358, 29580745
1830 #endif
1831             }},
1832             {{
1833 #if defined(BORINGSSL_CURVE25519_64BIT)
1834                 1558816436882417, 1962896332636523, 1337709822062152,
1835                 1501413830776938, 294436165831932
1836 #else
1837                 66948081, 23228174, 44253547, 29249434, 46247496, 19933429,
1838                 34297962, 22372809, 51563772, 4387440
1839 #endif
1840             }},
1841             {{
1842 #if defined(BORINGSSL_CURVE25519_64BIT)
1843                 818359826554971, 1862173000996177, 626821592884859,
1844                 573655738872376, 1749691246745455
1845 #else
1846                 46309467, 12194511, 3937617, 27748540, 39954043, 9340369,
1847                 42594872, 8548136, 20617071, 26072431
1848 #endif
1849             }},
1850         },
1851         {
1852             {{
1853 #if defined(BORINGSSL_CURVE25519_64BIT)
1854                 1988022651432119, 1082111498586040, 1834020786104821,
1855                 1454826876423687, 692929915223122
1856 #else
1857                 66170039, 29623845, 58394552, 16124717, 24603125, 27329039,
1858                 53333511, 21678609, 24345682, 10325460
1859 #endif
1860             }},
1861             {{
1862 #if defined(BORINGSSL_CURVE25519_64BIT)
1863                 2146513703733331, 584788900394667, 464965657279958,
1864                 2183973639356127, 238371159456790
1865 #else
1866                 47253587, 31985546, 44906155, 8714033, 14007766, 6928528,
1867                 16318175, 32543743, 4766742, 3552007
1868 #endif
1869             }},
1870             {{
1871 #if defined(BORINGSSL_CURVE25519_64BIT)
1872                 1129007025494441, 2197883144413266, 265142755578169,
1873                 971864464758890, 1983715884903702
1874 #else
1875                 45357481, 16823515, 1351762, 32751011, 63099193, 3950934,
1876                 3217514, 14481909, 10988822, 29559670
1877 #endif
1878             }},
1879         },
1880         {
1881             {{
1882 #if defined(BORINGSSL_CURVE25519_64BIT)
1883                 1291366624493075, 381456718189114, 1711482489312444,
1884                 1815233647702022, 892279782992467
1885 #else
1886                 15564307, 19242862, 3101242, 5684148, 30446780, 25503076,
1887                 12677126, 27049089, 58813011, 13296004
1888 #endif
1889             }},
1890             {{
1891 #if defined(BORINGSSL_CURVE25519_64BIT)
1892                 444548969917454, 1452286453853356, 2113731441506810,
1893                 645188273895859, 810317625309512
1894 #else
1895                 57666574, 6624295, 36809900, 21640754, 62437882, 31497052,
1896                 31521203, 9614054, 37108040, 12074673
1897 #endif
1898             }},
1899             {{
1900 #if defined(BORINGSSL_CURVE25519_64BIT)
1901                 2242724082797924, 1373354730327868, 1006520110883049,
1902                 2147330369940688, 1151816104883620
1903 #else
1904                 4771172, 33419193, 14290748, 20464580, 27992297, 14998318,
1905                 65694928, 31997715, 29832612, 17163397
1906 #endif
1907             }},
1908         },
1909         {
1910             {{
1911 #if defined(BORINGSSL_CURVE25519_64BIT)
1912                 1745720200383796, 1911723143175317, 2056329390702074,
1913                 355227174309849, 879232794371100
1914 #else
1915                 7064884, 26013258, 47946901, 28486894, 48217594, 30641695,
1916                 25825241, 5293297, 39986204, 13101589
1917 #endif
1918             }},
1919             {{
1920 #if defined(BORINGSSL_CURVE25519_64BIT)
1921                 163723479936298, 115424889803150, 1156016391581227,
1922                 1894942220753364, 1970549419986329
1923 #else
1924                 64810282, 2439669, 59642254, 1719964, 39841323, 17225986,
1925                 32512468, 28236839, 36752793, 29363474
1926 #endif
1927             }},
1928             {{
1929 #if defined(BORINGSSL_CURVE25519_64BIT)
1930                 681981452362484, 267208874112496, 1374683991933094,
1931                 638600984916117, 646178654558546
1932 #else
1933                 37102324, 10162315, 33928688, 3981722, 50626726, 20484387,
1934                 14413973, 9515896, 19568978, 9628812
1935 #endif
1936             }},
1937         },
1938         {
1939             {{
1940 #if defined(BORINGSSL_CURVE25519_64BIT)
1941                 13378654854251, 106237307029567, 1944412051589651,
1942                 1841976767925457, 230702819835573
1943 #else
1944                 33053803, 199357, 15894591, 1583059, 27380243, 28973997,
1945                 49269969, 27447592, 60817077, 3437739
1946 #endif
1947             }},
1948             {{
1949 #if defined(BORINGSSL_CURVE25519_64BIT)
1950                 260683893467075, 854060306077237, 913639551980112,
1951                 4704576840123, 280254810808712
1952 #else
1953                 48129987, 3884492, 19469877, 12726490, 15913552, 13614290,
1954                 44147131, 70103, 7463304, 4176122
1955 #endif
1956             }},
1957             {{
1958 #if defined(BORINGSSL_CURVE25519_64BIT)
1959                 715374893080287, 1173334812210491, 1806524662079626,
1960                 1894596008000979, 398905715033393
1961 #else
1962                 39984863, 10659916, 11482427, 17484051, 12771466, 26919315,
1963                 34389459, 28231680, 24216881, 5944158
1964 #endif
1965             }},
1966         },
1967         {
1968             {{
1969 #if defined(BORINGSSL_CURVE25519_64BIT)
1970                 500026409727661, 1596431288195371, 1420380351989370,
1971                 985211561521489, 392444930785633
1972 #else
1973                 8894125, 7450974, 64444715, 23788679, 39028346, 21165316,
1974                 19345745, 14680796, 11632993, 5847885
1975 #endif
1976             }},
1977             {{
1978 #if defined(BORINGSSL_CURVE25519_64BIT)
1979                 2096421546958141, 1922523000950363, 789831022876840,
1980                 427295144688779, 320923973161730
1981 #else
1982                 26942781, 31239115, 9129563, 28647825, 26024104, 11769399,
1983                 55590027, 6367193, 57381634, 4782139
1984 #endif
1985             }},
1986             {{
1987 #if defined(BORINGSSL_CURVE25519_64BIT)
1988                 1927770723575450, 1485792977512719, 1850996108474547,
1989                 551696031508956, 2126047405475647
1990 #else
1991                 19916442, 28726022, 44198159, 22140040, 25606323, 27581991,
1992                 33253852, 8220911, 6358847, 31680575
1993 #endif
1994             }},
1995         },
1996         {
1997             {{
1998 #if defined(BORINGSSL_CURVE25519_64BIT)
1999                 2112099158080148, 742570803909715, 6484558077432,
2000                 1951119898618916, 93090382703416
2001 #else
2002                 801428, 31472730, 16569427, 11065167, 29875704, 96627, 7908388,
2003                 29073952, 53570360, 1387154
2004 #endif
2005             }},
2006             {{
2007 #if defined(BORINGSSL_CURVE25519_64BIT)
2008                 383905201636970, 859946997631870, 855623867637644,
2009                 1017125780577795, 794250831877809
2010 #else
2011                 19646058, 5720633, 55692158, 12814208, 11607948, 12749789,
2012                 14147075, 15156355, 45242033, 11835259
2013 #endif
2014             }},
2015             {{
2016 #if defined(BORINGSSL_CURVE25519_64BIT)
2017                 77571826285752, 999304298101753, 487841111777762,
2018                 1038031143212339, 339066367948762
2019 #else
2020                 19299512, 1155910, 28703737, 14890794, 2925026, 7269399,
2021                 26121523, 15467869, 40548314, 5052482
2022 #endif
2023             }},
2024         },
2025     },
2026     {
2027         {
2028             {{
2029 #if defined(BORINGSSL_CURVE25519_64BIT)
2030                 674994775520533, 266035846330789, 826951213393478,
2031                 1405007746162285, 1781791018620876
2032 #else
2033                 64091413, 10058205, 1980837, 3964243, 22160966, 12322533,
2034                 60677741, 20936246, 12228556, 26550755
2035 #endif
2036             }},
2037             {{
2038 #if defined(BORINGSSL_CURVE25519_64BIT)
2039                 1001412661522686, 348196197067298, 1666614366723946,
2040                 888424995032760, 580747687801357
2041 #else
2042                 32944382, 14922211, 44263970, 5188527, 21913450, 24834489,
2043                 4001464, 13238564, 60994061, 8653814
2044 #endif
2045             }},
2046             {{
2047 #if defined(BORINGSSL_CURVE25519_64BIT)
2048                 1939560076207777, 1409892634407635, 552574736069277,
2049                 383854338280405, 190706709864139
2050 #else
2051                 22865569, 28901697, 27603667, 21009037, 14348957, 8234005,
2052                 24808405, 5719875, 28483275, 2841751
2053 #endif
2054             }},
2055         },
2056         {
2057             {{
2058 #if defined(BORINGSSL_CURVE25519_64BIT)
2059                 2177087163428741, 1439255351721944, 1208070840382793,
2060                 2230616362004769, 1396886392021913
2061 #else
2062                 50687877, 32441126, 66781144, 21446575, 21886281, 18001658,
2063                 65220897, 33238773, 19932057, 20815229
2064 #endif
2065             }},
2066             {{
2067 #if defined(BORINGSSL_CURVE25519_64BIT)
2068                 676962063230039, 1880275537148808, 2046721011602706,
2069                 888463247083003, 1318301552024067
2070 #else
2071                 55452759, 10087520, 58243976, 28018288, 47830290, 30498519,
2072                 3999227, 13239134, 62331395, 19644223
2073 #endif
2074             }},
2075             {{
2076 #if defined(BORINGSSL_CURVE25519_64BIT)
2077                 1466980508178206, 617045217998949, 652303580573628,
2078                 757303753529064, 207583137376902
2079 #else
2080                 1382174, 21859713, 17266789, 9194690, 53784508, 9720080,
2081                 20403944, 11284705, 53095046, 3093229
2082 #endif
2083             }},
2084         },
2085         {
2086             {{
2087 #if defined(BORINGSSL_CURVE25519_64BIT)
2088                 1511056752906902, 105403126891277, 493434892772846,
2089                 1091943425335976, 1802717338077427
2090 #else
2091                 16650902, 22516500, 66044685, 1570628, 58779118, 7352752,
2092                 66806440, 16271224, 43059443, 26862581
2093 #endif
2094             }},
2095             {{
2096 #if defined(BORINGSSL_CURVE25519_64BIT)
2097                 1853982405405128, 1878664056251147, 1528011020803992,
2098                 1019626468153565, 1128438412189035
2099 #else
2100                 45197768, 27626490, 62497547, 27994275, 35364760, 22769138,
2101                 24123613, 15193618, 45456747, 16815042
2102 #endif
2103             }},
2104             {{
2105 #if defined(BORINGSSL_CURVE25519_64BIT)
2106                 1963939888391106, 293456433791664, 697897559513649,
2107                 985882796904380, 796244541237972
2108 #else
2109                 57172930, 29264984, 41829040, 4372841, 2087473, 10399484,
2110                 31870908, 14690798, 17361620, 11864968
2111 #endif
2112             }},
2113         },
2114         {
2115             {{
2116 #if defined(BORINGSSL_CURVE25519_64BIT)
2117                 416770998629779, 389655552427054, 1314476859406756,
2118                 1749382513022778, 1161905598739491
2119 #else
2120                 55801235, 6210371, 13206574, 5806320, 38091172, 19587231,
2121                 54777658, 26067830, 41530403, 17313742
2122 #endif
2123             }},
2124             {{
2125 #if defined(BORINGSSL_CURVE25519_64BIT)
2126                 1428358296490651, 1027115282420478, 304840698058337,
2127                 441410174026628, 1819358356278573
2128 #else
2129                 14668443, 21284197, 26039038, 15305210, 25515617, 4542480,
2130                 10453892, 6577524, 9145645, 27110552
2131 #endif
2132             }},
2133             {{
2134 #if defined(BORINGSSL_CURVE25519_64BIT)
2135                 204943430200135, 1554861433819175, 216426658514651,
2136                 264149070665950, 2047097371738319
2137 #else
2138                 5974855, 3053895, 57675815, 23169240, 35243739, 3225008,
2139                 59136222, 3936127, 61456591, 30504127
2140 #endif
2141             }},
2142         },
2143         {
2144             {{
2145 #if defined(BORINGSSL_CURVE25519_64BIT)
2146                 1934415182909034, 1393285083565062, 516409331772960,
2147                 1157690734993892, 121039666594268
2148 #else
2149                 30625386, 28825032, 41552902, 20761565, 46624288, 7695098,
2150                 17097188, 17250936, 39109084, 1803631
2151 #endif
2152             }},
2153             {{
2154 #if defined(BORINGSSL_CURVE25519_64BIT)
2155                 662035583584445, 286736105093098, 1131773000510616,
2156                 818494214211439, 472943792054479
2157 #else
2158                 63555773, 9865098, 61880298, 4272700, 61435032, 16864731,
2159                 14911343, 12196514, 45703375, 7047411
2160 #endif
2161             }},
2162             {{
2163 #if defined(BORINGSSL_CURVE25519_64BIT)
2164                 665784778135882, 1893179629898606, 808313193813106,
2165                 276797254706413, 1563426179676396
2166 #else
2167                 20093258, 9920966, 55970670, 28210574, 13161586, 12044805,
2168                 34252013, 4124600, 34765036, 23296865
2169 #endif
2170             }},
2171         },
2172         {
2173             {{
2174 #if defined(BORINGSSL_CURVE25519_64BIT)
2175                 945205108984232, 526277562959295, 1324180513733566,
2176                 1666970227868664, 153547609289173
2177 #else
2178                 46320040, 14084653, 53577151, 7842146, 19119038, 19731827,
2179                 4752376, 24839792, 45429205, 2288037
2180 #endif
2181             }},
2182             {{
2183 #if defined(BORINGSSL_CURVE25519_64BIT)
2184                 2031433403516252, 203996615228162, 170487168837083,
2185                 981513604791390, 843573964916831
2186 #else
2187                 40289628, 30270716, 29965058, 3039786, 52635099, 2540456,
2188                 29457502, 14625692, 42289247, 12570231
2189 #endif
2190             }},
2191             {{
2192 #if defined(BORINGSSL_CURVE25519_64BIT)
2193                 1476570093962618, 838514669399805, 1857930577281364,
2194                 2017007352225784, 317085545220047
2195 #else
2196                 66045306, 22002608, 16920317, 12494842, 1278292, 27685323,
2197                 45948920, 30055751, 55134159, 4724942
2198 #endif
2199             }},
2200         },
2201         {
2202             {{
2203 #if defined(BORINGSSL_CURVE25519_64BIT)
2204                 1461557121912842, 1600674043318359, 2157134900399597,
2205                 1670641601940616, 127765583803283
2206 #else
2207                 17960970, 21778898, 62967895, 23851901, 58232301, 32143814,
2208                 54201480, 24894499, 37532563, 1903855
2209 #endif
2210             }},
2211             {{
2212 #if defined(BORINGSSL_CURVE25519_64BIT)
2213                 1293543509393474, 2143624609202546, 1058361566797508,
2214                 214097127393994, 946888515472729
2215 #else
2216                 23134274, 19275300, 56426866, 31942495, 20684484, 15770816,
2217                 54119114, 3190295, 26955097, 14109738
2218 #endif
2219             }},
2220             {{
2221 #if defined(BORINGSSL_CURVE25519_64BIT)
2222                 357067959932916, 1290876214345711, 521245575443703,
2223                 1494975468601005, 800942377643885
2224 #else
2225                 15308788, 5320727, 36995055, 19235554, 22902007, 7767164,
2226                 29425325, 22276870, 31960941, 11934971
2227 #endif
2228             }},
2229         },
2230         {
2231             {{
2232 #if defined(BORINGSSL_CURVE25519_64BIT)
2233                 566116659100033, 820247422481740, 994464017954148,
2234                 327157611686365, 92591318111744
2235 #else
2236                 39713153, 8435795, 4109644, 12222639, 42480996, 14818668,
2237                 20638173, 4875028, 10491392, 1379718
2238 #endif
2239             }},
2240             {{
2241 #if defined(BORINGSSL_CURVE25519_64BIT)
2242                 617256647603209, 1652107761099439, 1857213046645471,
2243                 1085597175214970, 817432759830522
2244 #else
2245                 53949449, 9197840, 3875503, 24618324, 65725151, 27674630,
2246                 33518458, 16176658, 21432314, 12180697
2247 #endif
2248             }},
2249             {{
2250 #if defined(BORINGSSL_CURVE25519_64BIT)
2251                 771808161440705, 1323510426395069, 680497615846440,
2252                 851580615547985, 1320806384849017
2253 #else
2254                 55321537, 11500837, 13787581, 19721842, 44678184, 10140204,
2255                 1465425, 12689540, 56807545, 19681548
2256 #endif
2257             }},
2258         },
2259     },
2260     {
2261         {
2262             {{
2263 #if defined(BORINGSSL_CURVE25519_64BIT)
2264                 1219260086131915, 647169006596815, 79601124759706,
2265                 2161724213426748, 404861897060198
2266 #else
2267                 5414091, 18168391, 46101199, 9643569, 12834970, 1186149,
2268                 64485948, 32212200, 26128230, 6032912
2269 #endif
2270             }},
2271             {{
2272 #if defined(BORINGSSL_CURVE25519_64BIT)
2273                 1327968293887866, 1335500852943256, 1401587164534264,
2274                 558137311952440, 1551360549268902
2275 #else
2276                 40771450, 19788269, 32496024, 19900513, 17847800, 20885276,
2277                 3604024, 8316894, 41233830, 23117073
2278 #endif
2279             }},
2280             {{
2281 #if defined(BORINGSSL_CURVE25519_64BIT)
2282                 417621685193956, 1429953819744454, 396157358457099,
2283                 1940470778873255, 214000046234152
2284 #else
2285                 3296484, 6223048, 24680646, 21307972, 44056843, 5903204,
2286                 58246567, 28915267, 12376616, 3188849
2287 #endif
2288             }},
2289         },
2290         {
2291             {{
2292 #if defined(BORINGSSL_CURVE25519_64BIT)
2293                 1268047918491973, 2172375426948536, 1533916099229249,
2294                 1761293575457130, 1590622667026765
2295 #else
2296                 29190469, 18895386, 27549112, 32370916, 3520065, 22857131,
2297                 32049514, 26245319, 50999629, 23702124
2298 #endif
2299             }},
2300             {{
2301 #if defined(BORINGSSL_CURVE25519_64BIT)
2302                 1627072914981959, 2211603081280073, 1912369601616504,
2303                 1191770436221309, 2187309757525860
2304 #else
2305                 52364359, 24245275, 735817, 32955454, 46701176, 28496527,
2306                 25246077, 17758763, 18640740, 32593455
2307 #endif
2308             }},
2309             {{
2310 #if defined(BORINGSSL_CURVE25519_64BIT)
2311                 1149147819689533, 378692712667677, 828475842424202,
2312                 2218619146419342, 70688125792186
2313 #else
2314                 60180029, 17123636, 10361373, 5642961, 4910474, 12345252,
2315                 35470478, 33060001, 10530746, 1053335
2316 #endif
2317             }},
2318         },
2319         {
2320             {{
2321 #if defined(BORINGSSL_CURVE25519_64BIT)
2322                 1299739417079761, 1438616663452759, 1536729078504412,
2323                 2053896748919838, 1008421032591246
2324 #else
2325                 37842897, 19367626, 53570647, 21437058, 47651804, 22899047,
2326                 35646494, 30605446, 24018830, 15026644
2327 #endif
2328             }},
2329             {{
2330 #if defined(BORINGSSL_CURVE25519_64BIT)
2331                 2040723824657366, 399555637875075, 632543375452995,
2332                 872649937008051, 1235394727030233
2333 #else
2334                 44516310, 30409154, 64819587, 5953842, 53668675, 9425630,
2335                 25310643, 13003497, 64794073, 18408815
2336 #endif
2337             }},
2338             {{
2339 #if defined(BORINGSSL_CURVE25519_64BIT)
2340                 2211311599327900, 2139787259888175, 938706616835350,
2341                 12609661139114, 2081897930719789
2342 #else
2343                 39688860, 32951110, 59064879, 31885314, 41016598, 13987818,
2344                 39811242, 187898, 43942445, 31022696
2345 #endif
2346             }},
2347         },
2348         {
2349             {{
2350 #if defined(BORINGSSL_CURVE25519_64BIT)
2351                 1324994503390450, 336982330582631, 1183998925654177,
2352                 1091654665913274, 48727673971319
2353 #else
2354                 45364466, 19743956, 1844839, 5021428, 56674465, 17642958,
2355                 9716666, 16266922, 62038647, 726098
2356 #endif
2357             }},
2358             {{
2359 #if defined(BORINGSSL_CURVE25519_64BIT)
2360                 1845522914617879, 1222198248335542, 150841072760134,
2361                 1927029069940982, 1189913404498011
2362 #else
2363                 29370903, 27500434, 7334070, 18212173, 9385286, 2247707,
2364                 53446902, 28714970, 30007387, 17731091
2365 #endif
2366             }},
2367             {{
2368 #if defined(BORINGSSL_CURVE25519_64BIT)
2369                 1079559557592645, 2215338383666441, 1903569501302605,
2370                 49033973033940, 305703433934152
2371 #else
2372                 66172485, 16086690, 23751945, 33011114, 65941325, 28365395,
2373                 9137108, 730663, 9835848, 4555336
2374 #endif
2375             }},
2376         },
2377         {
2378             {{
2379 #if defined(BORINGSSL_CURVE25519_64BIT)
2380                 94653405416909, 1386121349852999, 1062130477891762,
2381                 36553947479274, 833669648948846
2382 #else
2383                 43732429, 1410445, 44855111, 20654817, 30867634, 15826977,
2384                 17693930, 544696, 55123566, 12422645
2385 #endif
2386             }},
2387             {{
2388 #if defined(BORINGSSL_CURVE25519_64BIT)
2389                 1432015813136298, 440364795295369, 1395647062821501,
2390                 1976874522764578, 934452372723352
2391 #else
2392                 31117226, 21338698, 53606025, 6561946, 57231997, 20796761,
2393                 61990178, 29457725, 29120152, 13924425
2394 #endif
2395             }},
2396             {{
2397 #if defined(BORINGSSL_CURVE25519_64BIT)
2398                 1296625309219774, 2068273464883862, 1858621048097805,
2399                 1492281814208508, 2235868981918946
2400 #else
2401                 49707966, 19321222, 19675798, 30819676, 56101901, 27695611,
2402                 57724924, 22236731, 7240930, 33317044
2403 #endif
2404             }},
2405         },
2406         {
2407             {{
2408 #if defined(BORINGSSL_CURVE25519_64BIT)
2409                 1490330266465570, 1858795661361448, 1436241134969763,
2410                 294573218899647, 1208140011028933
2411 #else
2412                 35747106, 22207651, 52101416, 27698213, 44655523, 21401660,
2413                 1222335, 4389483, 3293637, 18002689
2414 #endif
2415             }},
2416             {{
2417 #if defined(BORINGSSL_CURVE25519_64BIT)
2418                 1282462923712748, 741885683986255, 2027754642827561,
2419                 518989529541027, 1826610009555945
2420 #else
2421                 50424044, 19110186, 11038543, 11054958, 53307689, 30215898,
2422                 42789283, 7733546, 12796905, 27218610
2423 #endif
2424             }},
2425             {{
2426 #if defined(BORINGSSL_CURVE25519_64BIT)
2427                 1525827120027511, 723686461809551, 1597702369236987,
2428                 244802101764964, 1502833890372311
2429 #else
2430                 58349431, 22736595, 41689999, 10783768, 36493307, 23807620,
2431                 38855524, 3647835, 3222231, 22393970
2432 #endif
2433             }},
2434         },
2435         {
2436             {{
2437 #if defined(BORINGSSL_CURVE25519_64BIT)
2438                 113622036244513, 1233740067745854, 674109952278496,
2439                 2114345180342965, 166764512856263
2440 #else
2441                 18606113, 1693100, 41660478, 18384159, 4112352, 10045021,
2442                 23603893, 31506198, 59558087, 2484984
2443 #endif
2444             }},
2445             {{
2446 #if defined(BORINGSSL_CURVE25519_64BIT)
2447                 2041668749310338, 2184405322203901, 1633400637611036,
2448                 2110682505536899, 2048144390084644
2449 #else
2450                 9255298, 30423235, 54952701, 32550175, 13098012, 24339566,
2451                 16377219, 31451620, 47306788, 30519729
2452 #endif
2453             }},
2454             {{
2455 #if defined(BORINGSSL_CURVE25519_64BIT)
2456                 503058759232932, 760293024620937, 2027152777219493,
2457                 666858468148475, 1539184379870952
2458 #else
2459                 44379556, 7496159, 61366665, 11329248, 19991973, 30206930,
2460                 35390715, 9936965, 37011176, 22935634
2461 #endif
2462             }},
2463         },
2464         {
2465             {{
2466 #if defined(BORINGSSL_CURVE25519_64BIT)
2467                 1916168475367211, 915626432541343, 883217071712575,
2468                 363427871374304, 1976029821251593
2469 #else
2470                 21878571, 28553135, 4338335, 13643897, 64071999, 13160959,
2471                 19708896, 5415497, 59748361, 29445138
2472 #endif
2473             }},
2474             {{
2475 #if defined(BORINGSSL_CURVE25519_64BIT)
2476                 678039535434506, 570587290189340, 1605302676614120,
2477                 2147762562875701, 1706063797091704
2478 #else
2479                 27736842, 10103576, 12500508, 8502413, 63695848, 23920873,
2480                 10436917, 32004156, 43449720, 25422331
2481 #endif
2482             }},
2483             {{
2484 #if defined(BORINGSSL_CURVE25519_64BIT)
2485                 1439489648586438, 2194580753290951, 832380563557396,
2486                 561521973970522, 584497280718389
2487 #else
2488                 19492550, 21450067, 37426887, 32701801, 63900692, 12403436,
2489                 30066266, 8367329, 13243957, 8709688
2490 #endif
2491             }},
2492         },
2493     },
2494     {
2495         {
2496             {{
2497 #if defined(BORINGSSL_CURVE25519_64BIT)
2498                 187989455492609, 681223515948275, 1933493571072456,
2499                 1872921007304880, 488162364135671
2500 #else
2501                 12015105, 2801261, 28198131, 10151021, 24818120, 28811299,
2502                 55914672, 27908697, 5150967, 7274186
2503 #endif
2504             }},
2505             {{
2506 #if defined(BORINGSSL_CURVE25519_64BIT)
2507                 1413466089534451, 410844090765630, 1397263346404072,
2508                 408227143123410, 1594561803147811
2509 #else
2510                 2831347, 21062286, 1478974, 6122054, 23825128, 20820846,
2511                 31097298, 6083058, 31021603, 23760822
2512 #endif
2513             }},
2514             {{
2515 #if defined(BORINGSSL_CURVE25519_64BIT)
2516                 2102170800973153, 719462588665004, 1479649438510153,
2517                 1097529543970028, 1302363283777685
2518 #else
2519                 64578913, 31324785, 445612, 10720828, 53259337, 22048494,
2520                 43601132, 16354464, 15067285, 19406725
2521 #endif
2522             }},
2523         },
2524         {
2525             {{
2526 #if defined(BORINGSSL_CURVE25519_64BIT)
2527                 942065717847195, 1069313679352961, 2007341951411051,
2528                 70973416446291, 1419433790163706
2529 #else
2530                 7840923, 14037873, 33744001, 15934015, 66380651, 29911725,
2531                 21403987, 1057586, 47729402, 21151211
2532 #endif
2533             }},
2534             {{
2535 #if defined(BORINGSSL_CURVE25519_64BIT)
2536                 1146565545556377, 1661971299445212, 406681704748893,
2537                 564452436406089, 1109109865829139
2538 #else
2539                 915865, 17085158, 15608284, 24765302, 42751837, 6060029,
2540                 49737545, 8410996, 59888403, 16527024
2541 #endif
2542             }},
2543             {{
2544 #if defined(BORINGSSL_CURVE25519_64BIT)
2545                 2214421081775077, 1165671861210569, 1890453018796184,
2546                 3556249878661, 442116172656317
2547 #else
2548                 32922597, 32997445, 20336073, 17369864, 10903704, 28169945,
2549                 16957573, 52992, 23834301, 6588044
2550 #endif
2551             }},
2552         },
2553         {
2554             {{
2555 #if defined(BORINGSSL_CURVE25519_64BIT)
2556                 753830546620811, 1666955059895019, 1530775289309243,
2557                 1119987029104146, 2164156153857580
2558 #else
2559                 32752011, 11232950, 3381995, 24839566, 22652987, 22810329,
2560                 17159698, 16689107, 46794284, 32248439
2561 #endif
2562             }},
2563             {{
2564 #if defined(BORINGSSL_CURVE25519_64BIT)
2565                 615171919212796, 1523849404854568, 854560460547503,
2566                 2067097370290715, 1765325848586042
2567 #else
2568                 62419196, 9166775, 41398568, 22707125, 11576751, 12733943,
2569                 7924251, 30802151, 1976122, 26305405
2570 #endif
2571             }},
2572             {{
2573 #if defined(BORINGSSL_CURVE25519_64BIT)
2574                 1094538949313667, 1796592198908825, 870221004284388,
2575                 2025558921863561, 1699010892802384
2576 #else
2577                 21251203, 16309901, 64125849, 26771309, 30810596, 12967303,
2578                 156041, 30183180, 12331344, 25317235
2579 #endif
2580             }},
2581         },
2582         {
2583             {{
2584 #if defined(BORINGSSL_CURVE25519_64BIT)
2585                 1951351290725195, 1916457206844795, 198025184438026,
2586                 1909076887557595, 1938542290318919
2587 #else
2588                 8651595, 29077400, 51023227, 28557437, 13002506, 2950805,
2589                 29054427, 28447462, 10008135, 28886531
2590 #endif
2591             }},
2592             {{
2593 #if defined(BORINGSSL_CURVE25519_64BIT)
2594                 1014323197538413, 869150639940606, 1756009942696599,
2595                 1334952557375672, 1544945379082874
2596 #else
2597                 31486061, 15114593, 52847614, 12951353, 14369431, 26166587,
2598                 16347320, 19892343, 8684154, 23021480
2599 #endif
2600             }},
2601             {{
2602 #if defined(BORINGSSL_CURVE25519_64BIT)
2603                 764055910920305, 1603590757375439, 146805246592357,
2604                 1843313433854297, 954279890114939
2605 #else
2606                 19443825, 11385320, 24468943, 23895364, 43189605, 2187568,
2607                 40845657, 27467510, 31316347, 14219878
2608 #endif
2609             }},
2610         },
2611         {
2612             {{
2613 #if defined(BORINGSSL_CURVE25519_64BIT)
2614                 80113526615750, 764536758732259, 1055139345100233,
2615                 469252651759390, 617897512431515
2616 #else
2617                 38514374, 1193784, 32245219, 11392485, 31092169, 15722801,
2618                 27146014, 6992409, 29126555, 9207390
2619 #endif
2620             }},
2621             {{
2622 #if defined(BORINGSSL_CURVE25519_64BIT)
2623                 74497112547268, 740094153192149, 1745254631717581,
2624                 727713886503130, 1283034364416928
2625 #else
2626                 32382916, 1110093, 18477781, 11028262, 39697101, 26006320,
2627                 62128346, 10843781, 59151264, 19118701
2628 #endif
2629             }},
2630             {{
2631 #if defined(BORINGSSL_CURVE25519_64BIT)
2632                 525892105991110, 1723776830270342, 1476444848991936,
2633                 573789489857760, 133864092632978
2634 #else
2635                 2814918, 7836403, 27519878, 25686276, 46214848, 22000742,
2636                 45614304, 8550129, 28346258, 1994730
2637 #endif
2638             }},
2639         },
2640         {
2641             {{
2642 #if defined(BORINGSSL_CURVE25519_64BIT)
2643                 542611720192581, 1986812262899321, 1162535242465837,
2644                 481498966143464, 544600533583622
2645 #else
2646                 47530565, 8085544, 53108345, 29605809, 2785837, 17323125,
2647                 47591912, 7174893, 22628102, 8115180
2648 #endif
2649             }},
2650             {{
2651 #if defined(BORINGSSL_CURVE25519_64BIT)
2652                 64123227344372, 1239927720647794, 1360722983445904,
2653                 222610813654661, 62429487187991
2654 #else
2655                 36703732, 955510, 55975026, 18476362, 34661776, 20276352,
2656                 41457285, 3317159, 57165847, 930271
2657 #endif
2658             }},
2659             {{
2660 #if defined(BORINGSSL_CURVE25519_64BIT)
2661                 1793193323953132, 91096687857833, 70945970938921,
2662                 2158587638946380, 1537042406482111
2663 #else
2664                 51805164, 26720662, 28856489, 1357446, 23421993, 1057177,
2665                 24091212, 32165462, 44343487, 22903716
2666 #endif
2667             }},
2668         },
2669         {
2670             {{
2671 #if defined(BORINGSSL_CURVE25519_64BIT)
2672                 1895854577604609, 1394895708949416, 1728548428495944,
2673                 1140864900240149, 563645333603061
2674 #else
2675                 44357633, 28250434, 54201256, 20785565, 51297352, 25757378,
2676                 52269845, 17000211, 65241845, 8398969
2677 #endif
2678             }},
2679             {{
2680 #if defined(BORINGSSL_CURVE25519_64BIT)
2681                 141358280486863, 91435889572504, 1087208572552643,
2682                 1829599652522921, 1193307020643647
2683 #else
2684                 35139535, 2106402, 62372504, 1362500, 12813763, 16200670,
2685                 22981545, 27263159, 18009407, 17781660
2686 #endif
2687             }},
2688             {{
2689 #if defined(BORINGSSL_CURVE25519_64BIT)
2690                 1611230858525381, 950720175540785, 499589887488610,
2691                 2001656988495019, 88977313255908
2692 #else
2693                 49887941, 24009210, 39324209, 14166834, 29815394, 7444469,
2694                 29551787, 29827013, 19288548, 1325865
2695 #endif
2696             }},
2697         },
2698         {
2699             {{
2700 #if defined(BORINGSSL_CURVE25519_64BIT)
2701                 1189080501479658, 2184348804772597, 1040818725742319,
2702                 2018318290311834, 1712060030915354
2703 #else
2704                 15100138, 17718680, 43184885, 32549333, 40658671, 15509407,
2705                 12376730, 30075286, 33166106, 25511682
2706 #endif
2707             }},
2708             {{
2709 #if defined(BORINGSSL_CURVE25519_64BIT)
2710                 873966876953756, 1090638350350440, 1708559325189137,
2711                 672344594801910, 1320437969700239
2712 #else
2713                 20909212, 13023121, 57899112, 16251777, 61330449, 25459517,
2714                 12412150, 10018715, 2213263, 19676059
2715 #endif
2716             }},
2717             {{
2718 #if defined(BORINGSSL_CURVE25519_64BIT)
2719                 1508590048271766, 1131769479776094, 101550868699323,
2720                 428297785557897, 561791648661744
2721 #else
2722                 32529814, 22479743, 30361438, 16864679, 57972923, 1513225,
2723                 22922121, 6382134, 61341936, 8371347
2724 #endif
2725             }},
2726         },
2727     },
2728     {
2729         {
2730             {{
2731 #if defined(BORINGSSL_CURVE25519_64BIT)
2732                 756417570499462, 237882279232602, 2136263418594016,
2733                 1701968045454886, 703713185137472
2734 #else
2735                 9923462, 11271500, 12616794, 3544722, 37110496, 31832805,
2736                 12891686, 25361300, 40665920, 10486143
2737 #endif
2738             }},
2739             {{
2740 #if defined(BORINGSSL_CURVE25519_64BIT)
2741                 1781187809325462, 1697624151492346, 1381393690939988,
2742                 175194132284669, 1483054666415238
2743 #else
2744                 44511638, 26541766, 8587002, 25296571, 4084308, 20584370,
2745                 361725, 2610596, 43187334, 22099236
2746 #endif
2747             }},
2748             {{
2749 #if defined(BORINGSSL_CURVE25519_64BIT)
2750                 2175517777364616, 708781536456029, 955668231122942,
2751                 1967557500069555, 2021208005604118
2752 #else
2753                 5408392, 32417741, 62139741, 10561667, 24145918, 14240566,
2754                 31319731, 29318891, 19985174, 30118346
2755 #endif
2756             }},
2757         },
2758         {
2759             {{
2760 #if defined(BORINGSSL_CURVE25519_64BIT)
2761                 1115135966606887, 224217372950782, 915967306279222,
2762                 593866251291540, 561747094208006
2763 #else
2764                 53114407, 16616820, 14549246, 3341099, 32155958, 13648976,
2765                 49531796, 8849296, 65030, 8370684
2766 #endif
2767             }},
2768             {{
2769 #if defined(BORINGSSL_CURVE25519_64BIT)
2770                 1443163092879439, 391875531646162, 2180847134654632,
2771                 464538543018753, 1594098196837178
2772 #else
2773                 58787919, 21504805, 31204562, 5839400, 46481576, 32497154,
2774                 47665921, 6922163, 12743482, 23753914
2775 #endif
2776             }},
2777             {{
2778 #if defined(BORINGSSL_CURVE25519_64BIT)
2779                 850858855888869, 319436476624586, 327807784938441,
2780                 740785849558761, 17128415486016
2781 #else
2782                 64747493, 12678784, 28815050, 4759974, 43215817, 4884716,
2783                 23783145, 11038569, 18800704, 255233
2784 #endif
2785             }},
2786         },
2787         {
2788             {{
2789 #if defined(BORINGSSL_CURVE25519_64BIT)
2790                 2132756334090067, 536247820155645, 48907151276867,
2791                 608473197600695, 1261689545022784
2792 #else
2793                 61839187, 31780545, 13957885, 7990715, 23132995, 728773,
2794                 13393847, 9066957, 19258688, 18800639
2795 #endif
2796             }},
2797             {{
2798 #if defined(BORINGSSL_CURVE25519_64BIT)
2799                 1525176236978354, 974205476721062, 293436255662638,
2800                 148269621098039, 137961998433963
2801 #else
2802                 64172210, 22726896, 56676774, 14516792, 63468078, 4372540,
2803                 35173943, 2209389, 65584811, 2055793
2804 #endif
2805             }},
2806             {{
2807 #if defined(BORINGSSL_CURVE25519_64BIT)
2808                 1121075518299410, 2071745529082111, 1265567917414828,
2809                 1648196578317805, 496232102750820
2810 #else
2811                 580882, 16705327, 5468415, 30871414, 36182444, 18858431,
2812                 59905517, 24560042, 37087844, 7394434
2813 #endif
2814             }},
2815         },
2816         {
2817             {{
2818 #if defined(BORINGSSL_CURVE25519_64BIT)
2819                 122321229299801, 1022922077493685, 2001275453369484,
2820                 2017441881607947, 993205880778002
2821 #else
2822                 23838809, 1822728, 51370421, 15242726, 8318092, 29821328,
2823                 45436683, 30062226, 62287122, 14799920
2824 #endif
2825             }},
2826             {{
2827 #if defined(BORINGSSL_CURVE25519_64BIT)
2828                 654925550560074, 1168810995576858, 575655959430926,
2829                 905758704861388, 496774564663534
2830 #else
2831                 13345610, 9759151, 3371034, 17416641, 16353038, 8577942,
2832                 31129804, 13496856, 58052846, 7402517
2833 #endif
2834             }},
2835             {{
2836 #if defined(BORINGSSL_CURVE25519_64BIT)
2837                 1954109525779738, 2117022646152485, 338102630417180,
2838                 1194140505732026, 107881734943492
2839 #else
2840                 2286874, 29118501, 47066405, 31546095, 53412636, 5038121,
2841                 11006906, 17794080, 8205060, 1607563
2842 #endif
2843             }},
2844         },
2845         {
2846             {{
2847 #if defined(BORINGSSL_CURVE25519_64BIT)
2848                 1714785840001267, 2036500018681589, 1876380234251966,
2849                 2056717182974196, 1645855254384642
2850 #else
2851                 14414067, 25552300, 3331829, 30346215, 22249150, 27960244,
2852                 18364660, 30647474, 30019586, 24525154
2853 #endif
2854             }},
2855             {{
2856 #if defined(BORINGSSL_CURVE25519_64BIT)
2857                 106431476499341, 62482972120563, 1513446655109411,
2858                 807258751769522, 538491469114
2859 #else
2860                 39420813, 1585952, 56333811, 931068, 37988643, 22552112,
2861                 52698034, 12029092, 9944378, 8024
2862 #endif
2863             }},
2864             {{
2865 #if defined(BORINGSSL_CURVE25519_64BIT)
2866                 2002850762893643, 1243624520538135, 1486040410574605,
2867                 2184752338181213, 378495998083531
2868 #else
2869                 4368715, 29844802, 29874199, 18531449, 46878477, 22143727,
2870                 50994269, 32555346, 58966475, 5640029
2871 #endif
2872             }},
2873         },
2874         {
2875             {{
2876 #if defined(BORINGSSL_CURVE25519_64BIT)
2877                 922510868424903, 1089502620807680, 402544072617374,
2878                 1131446598479839, 1290278588136533
2879 #else
2880                 10299591, 13746483, 11661824, 16234854, 7630238, 5998374,
2881                 9809887, 16859868, 15219797, 19226649
2882 #endif
2883             }},
2884             {{
2885 #if defined(BORINGSSL_CURVE25519_64BIT)
2886                 1867998812076769, 715425053580701, 39968586461416,
2887                 2173068014586163, 653822651801304
2888 #else
2889                 27425505, 27835351, 3055005, 10660664, 23458024, 595578,
2890                 51710259, 32381236, 48766680, 9742716
2891 #endif
2892             }},
2893             {{
2894 #if defined(BORINGSSL_CURVE25519_64BIT)
2895                 162892278589453, 182585796682149, 75093073137630,
2896                 497037941226502, 133871727117371
2897 #else
2898                 6744077, 2427284, 26042789, 2720740, 66260958, 1118973,
2899                 32324614, 7406442, 12420155, 1994844
2900 #endif
2901             }},
2902         },
2903         {
2904             {{
2905 #if defined(BORINGSSL_CURVE25519_64BIT)
2906                 1914596576579670, 1608999621851578, 1987629837704609,
2907                 1519655314857977, 1819193753409464
2908 #else
2909                 14012502, 28529712, 48724410, 23975962, 40623521, 29617992,
2910                 54075385, 22644628, 24319928, 27108099
2911 #endif
2912             }},
2913             {{
2914 #if defined(BORINGSSL_CURVE25519_64BIT)
2915                 1949315551096831, 1069003344994464, 1939165033499916,
2916                 1548227205730856, 1933767655861407
2917 #else
2918                 16412671, 29047065, 10772640, 15929391, 50040076, 28895810,
2919                 10555944, 23070383, 37006495, 28815383
2920 #endif
2921             }},
2922             {{
2923 #if defined(BORINGSSL_CURVE25519_64BIT)
2924                 1730519386931635, 1393284965610134, 1597143735726030,
2925                 416032382447158, 1429665248828629
2926 #else
2927                 22397363, 25786748, 57815702, 20761563, 17166286, 23799296,
2928                 39775798, 6199365, 21880021, 21303672
2929 #endif
2930             }},
2931         },
2932         {
2933             {{
2934 #if defined(BORINGSSL_CURVE25519_64BIT)
2935                 360275475604565, 547835731063078, 215360904187529,
2936                 596646739879007, 332709650425085
2937 #else
2938                 62825557, 5368522, 35991846, 8163388, 36785801, 3209127,
2939                 16557151, 8890729, 8840445, 4957760
2940 #endif
2941             }},
2942             {{
2943 #if defined(BORINGSSL_CURVE25519_64BIT)
2944                 47602113726801, 1522314509708010, 437706261372925,
2945                 814035330438027, 335930650933545
2946 #else
2947                 51661137, 709326, 60189418, 22684253, 37330941, 6522331,
2948                 45388683, 12130071, 52312361, 5005756
2949 #endif
2950             }},
2951             {{
2952 #if defined(BORINGSSL_CURVE25519_64BIT)
2953                 1291597595523886, 1058020588994081, 402837842324045,
2954                 1363323695882781, 2105763393033193
2955 #else
2956                 64994094, 19246303, 23019041, 15765735, 41839181, 6002751,
2957                 10183197, 20315106, 50713577, 31378319
2958 #endif
2959             }},
2960         },
2961     },
2962     {
2963         {
2964             {{
2965 #if defined(BORINGSSL_CURVE25519_64BIT)
2966                 109521982566564, 1715257748585139, 1112231216891516,
2967                 2046641005101484, 134249157157013
2968 #else
2969                 48083108, 1632004, 13466291, 25559332, 43468412, 16573536,
2970                 35094956, 30497327, 22208661, 2000468
2971 #endif
2972             }},
2973             {{
2974 #if defined(BORINGSSL_CURVE25519_64BIT)
2975                 2156991030936798, 2227544497153325, 1869050094431622,
2976                 754875860479115, 1754242344267058
2977 #else
2978                 3065054, 32141671, 41510189, 33192999, 49425798, 27851016,
2979                 58944651, 11248526, 63417650, 26140247
2980 #endif
2981             }},
2982             {{
2983 #if defined(BORINGSSL_CURVE25519_64BIT)
2984                 1846089562873800, 98894784984326, 1412430299204844,
2985                 171351226625762, 1100604760929008
2986 #else
2987                 10379208, 27508878, 8877318, 1473647, 37817580, 21046851,
2988                 16690914, 2553332, 63976176, 16400288
2989 #endif
2990             }},
2991         },
2992         {
2993             {{
2994 #if defined(BORINGSSL_CURVE25519_64BIT)
2995                 84172382130492, 499710970700046, 425749630620778,
2996                 1762872794206857, 612842602127960
2997 #else
2998                 15716668, 1254266, 48636174, 7446273, 58659946, 6344163,
2999                 45011593, 26268851, 26894936, 9132066
3000 #endif
3001             }},
3002             {{
3003 #if defined(BORINGSSL_CURVE25519_64BIT)
3004                 868309334532756, 1703010512741873, 1952690008738057,
3005                 4325269926064, 2071083554962116
3006 #else
3007                 24158868, 12938817, 11085297, 25376834, 39045385, 29097348,
3008                 36532400, 64451, 60291780, 30861549
3009 #endif
3010             }},
3011             {{
3012 #if defined(BORINGSSL_CURVE25519_64BIT)
3013                 523094549451158, 401938899487815, 1407690589076010,
3014                 2022387426254453, 158660516411257
3015 #else
3016                 13488534, 7794716, 22236231, 5989356, 25426474, 20976224,
3017                 2350709, 30135921, 62420857, 2364225
3018 #endif
3019             }},
3020         },
3021         {
3022             {{
3023 #if defined(BORINGSSL_CURVE25519_64BIT)
3024                 612867287630009, 448212612103814, 571629077419196,
3025                 1466796750919376, 1728478129663858
3026 #else
3027                 16335033, 9132434, 25640582, 6678888, 1725628, 8517937,
3028                 55301840, 21856974, 15445874, 25756331
3029 #endif
3030             }},
3031             {{
3032 #if defined(BORINGSSL_CURVE25519_64BIT)
3033                 1723848973783452, 2208822520534681, 1718748322776940,
3034                 1974268454121942, 1194212502258141
3035 #else
3036                 29004188, 25687351, 28661401, 32914020, 54314860, 25611345,
3037                 31863254, 29418892, 66830813, 17795152
3038 #endif
3039             }},
3040             {{
3041 #if defined(BORINGSSL_CURVE25519_64BIT)
3042                 1254114807944608, 977770684047110, 2010756238954993,
3043                 1783628927194099, 1525962994408256
3044 #else
3045                 60986784, 18687766, 38493958, 14569918, 56250865, 29962602,
3046                 10343411, 26578142, 37280576, 22738620
3047 #endif
3048             }},
3049         },
3050         {
3051             {{
3052 #if defined(BORINGSSL_CURVE25519_64BIT)
3053                 232464058235826, 1948628555342434, 1835348780427694,
3054                 1031609499437291, 64472106918373
3055 #else
3056                 27081650, 3463984, 14099042, 29036828, 1616302, 27348828,
3057                 29542635, 15372179, 17293797, 960709
3058 #endif
3059             }},
3060             {{
3061 #if defined(BORINGSSL_CURVE25519_64BIT)
3062                 767338676040683, 754089548318405, 1523192045639075,
3063                 435746025122062, 512692508440385
3064 #else
3065                 20263915, 11434237, 61343429, 11236809, 13505955, 22697330,
3066                 50997518, 6493121, 47724353, 7639713
3067 #endif
3068             }},
3069             {{
3070 #if defined(BORINGSSL_CURVE25519_64BIT)
3071                 1255955808701983, 1700487367990941, 1166401238800299,
3072                 1175121994891534, 1190934801395380
3073 #else
3074                 64278047, 18715199, 25403037, 25339236, 58791851, 17380732,
3075                 18006286, 17510682, 29994676, 17746311
3076 #endif
3077             }},
3078         },
3079         {
3080             {{
3081 #if defined(BORINGSSL_CURVE25519_64BIT)
3082                 349144008168292, 1337012557669162, 1475912332999108,
3083                 1321618454900458, 47611291904320
3084 #else
3085                 9769828, 5202651, 42951466, 19923039, 39057860, 21992807,
3086                 42495722, 19693649, 35924288, 709463
3087 #endif
3088             }},
3089             {{
3090 #if defined(BORINGSSL_CURVE25519_64BIT)
3091                 877519947135419, 2172838026132651, 272304391224129,
3092                 1655143327559984, 886229406429814
3093 #else
3094                 12286395, 13076066, 45333675, 32377809, 42105665, 4057651,
3095                 35090736, 24663557, 16102006, 13205847
3096 #endif
3097             }},
3098             {{
3099 #if defined(BORINGSSL_CURVE25519_64BIT)
3100                 375806028254706, 214463229793940, 572906353144089,
3101                 572168269875638, 697556386112979
3102 #else
3103                 13733362, 5599946, 10557076, 3195751, 61550873, 8536969,
3104                 41568694, 8525971, 10151379, 10394400
3105 #endif
3106             }},
3107         },
3108         {
3109             {{
3110 #if defined(BORINGSSL_CURVE25519_64BIT)
3111                 1168827102357844, 823864273033637, 2071538752104697,
3112                 788062026895924, 599578340743362
3113 #else
3114                 4024660, 17416881, 22436261, 12276534, 58009849, 30868332,
3115                 19698228, 11743039, 33806530, 8934413
3116 #endif
3117             }},
3118             {{
3119 #if defined(BORINGSSL_CURVE25519_64BIT)
3120                 1948116082078088, 2054898304487796, 2204939184983900,
3121                 210526805152138, 786593586607626
3122 #else
3123                 51229064, 29029191, 58528116, 30620370, 14634844, 32856154,
3124                 57659786, 3137093, 55571978, 11721157
3125 #endif
3126             }},
3127             {{
3128 #if defined(BORINGSSL_CURVE25519_64BIT)
3129                 1915320147894736, 156481169009469, 655050471180417,
3130                 592917090415421, 2165897438660879
3131 #else
3132                 17555920, 28540494, 8268605, 2331751, 44370049, 9761012,
3133                 9319229, 8835153, 57903375, 32274386
3134 #endif
3135             }},
3136         },
3137         {
3138             {{
3139 #if defined(BORINGSSL_CURVE25519_64BIT)
3140                 1726336468579724, 1119932070398949, 1929199510967666,
3141                 33918788322959, 1836837863503150
3142 #else
3143                 66647436, 25724417, 20614117, 16688288, 59594098, 28747312,
3144                 22300303, 505429, 6108462, 27371017
3145 #endif
3146             }},
3147             {{
3148 #if defined(BORINGSSL_CURVE25519_64BIT)
3149                 829996854845988, 217061778005138, 1686565909803640,
3150                 1346948817219846, 1723823550730181
3151 #else
3152                 62038564, 12367916, 36445330, 3234472, 32617080, 25131790,
3153                 29880582, 20071101, 40210373, 25686972
3154 #endif
3155             }},
3156             {{
3157 #if defined(BORINGSSL_CURVE25519_64BIT)
3158                 384301494966394, 687038900403062, 2211195391021739,
3159                 254684538421383, 1245698430589680
3160 #else
3161                 35133562, 5726538, 26934134, 10237677, 63935147, 32949378,
3162                 24199303, 3795095, 7592688, 18562353
3163 #endif
3164             }},
3165         },
3166         {
3167             {{
3168 #if defined(BORINGSSL_CURVE25519_64BIT)
3169                 1247567493562688, 1978182094455847, 183871474792955,
3170                 806570235643435, 288461518067916
3171 #else
3172                 21594432, 18590204, 17466407, 29477210, 32537083, 2739898,
3173                 6407723, 12018833, 38852812, 4298411
3174 #endif
3175             }},
3176             {{
3177 #if defined(BORINGSSL_CURVE25519_64BIT)
3178                 1449077384734201, 38285445457996, 2136537659177832,
3179                 2146493000841573, 725161151123125
3180 #else
3181                 46458361, 21592935, 39872588, 570497, 3767144, 31836892,
3182                 13891941, 31985238, 13717173, 10805743
3183 #endif
3184             }},
3185             {{
3186 #if defined(BORINGSSL_CURVE25519_64BIT)
3187                 1201928866368855, 800415690605445, 1703146756828343,
3188                 997278587541744, 1858284414104014
3189 #else
3190                 52432215, 17910135, 15287173, 11927123, 24177847, 25378864,
3191                 66312432, 14860608, 40169934, 27690595
3192 #endif
3193             }},
3194         },
3195     },
3196     {
3197         {
3198             {{
3199 #if defined(BORINGSSL_CURVE25519_64BIT)
3200                 356468809648877, 782373916933152, 1718002439402870,
3201                 1392222252219254, 663171266061951
3202 #else
3203                 12962541, 5311799, 57048096, 11658279, 18855286, 25600231,
3204                 13286262, 20745728, 62727807, 9882021
3205 #endif
3206             }},
3207             {{
3208 #if defined(BORINGSSL_CURVE25519_64BIT)
3209                 759628738230460, 1012693474275852, 353780233086498,
3210                 246080061387552, 2030378857679162
3211 #else
3212                 18512060, 11319350, 46985740, 15090308, 18818594, 5271736,
3213                 44380960, 3666878, 43141434, 30255002
3214 #endif
3215             }},
3216             {{
3217 #if defined(BORINGSSL_CURVE25519_64BIT)
3218                 2040672435071076, 888593182036908, 1298443657189359,
3219                 1804780278521327, 354070726137060
3220 #else
3221                 60319844, 30408388, 16192428, 13241070, 15898607, 19348318,
3222                 57023983, 26893321, 64705764, 5276064
3223 #endif
3224             }},
3225         },
3226         {
3227             {{
3228 #if defined(BORINGSSL_CURVE25519_64BIT)
3229                 1894938527423184, 1463213041477277, 474410505497651,
3230                 247294963033299, 877975941029128
3231 #else
3232                 30169808, 28236784, 26306205, 21803573, 27814963, 7069267,
3233                 7152851, 3684982, 1449224, 13082861
3234 #endif
3235             }},
3236             {{
3237 #if defined(BORINGSSL_CURVE25519_64BIT)
3238                 207937160991127, 12966911039119, 820997788283092,
3239                 1010440472205286, 1701372890140810
3240 #else
3241                 10342807, 3098505, 2119311, 193222, 25702612, 12233820,
3242                 23697382, 15056736, 46092426, 25352431
3243 #endif
3244             }},
3245             {{
3246 #if defined(BORINGSSL_CURVE25519_64BIT)
3247                 218882774543183, 533427444716285, 1233243976733245,
3248                 435054256891319, 1509568989549904
3249 #else
3250                 33958735, 3261607, 22745853, 7948688, 19370557, 18376767,
3251                 40936887, 6482813, 56808784, 22494330
3252 #endif
3253             }},
3254         },
3255         {
3256             {{
3257 #if defined(BORINGSSL_CURVE25519_64BIT)
3258                 1888838535711826, 1052177758340622, 1213553803324135,
3259                 169182009127332, 463374268115872
3260 #else
3261                 32869458, 28145887, 25609742, 15678670, 56421095, 18083360,
3262                 26112420, 2521008, 44444576, 6904814
3263 #endif
3264             }},
3265             {{
3266 #if defined(BORINGSSL_CURVE25519_64BIT)
3267                 299137589460312, 1594371588983567, 868058494039073,
3268                 257771590636681, 1805012993142921
3269 #else
3270                 29506904, 4457497, 3377935, 23757988, 36598817, 12935079,
3271                 1561737, 3841096, 38105225, 26896789
3272 #endif
3273             }},
3274             {{
3275 #if defined(BORINGSSL_CURVE25519_64BIT)
3276                 1806842755664364, 2098896946025095, 1356630998422878,
3277                 1458279806348064, 347755825962072
3278 #else
3279                 10340844, 26924055, 48452231, 31276001, 12621150, 20215377,
3280                 30878496, 21730062, 41524312, 5181965
3281 #endif
3282             }},
3283         },
3284         {
3285             {{
3286 #if defined(BORINGSSL_CURVE25519_64BIT)
3287                 1402334161391744, 1560083671046299, 1008585416617747,
3288                 1147797150908892, 1420416683642459
3289 #else
3290                 25940096, 20896407, 17324187, 23247058, 58437395, 15029093,
3291                 24396252, 17103510, 64786011, 21165857
3292 #endif
3293             }},
3294             {{
3295 #if defined(BORINGSSL_CURVE25519_64BIT)
3296                 665506704253369, 273770475169863, 799236974202630,
3297                 848328990077558, 1811448782807931
3298 #else
3299                 45343161, 9916822, 65808455, 4079497, 66080518, 11909558,
3300                 1782390, 12641087, 20603771, 26992690
3301 #endif
3302             }},
3303             {{
3304 #if defined(BORINGSSL_CURVE25519_64BIT)
3305                 1468412523962641, 771866649897997, 1931766110147832,
3306                 799561180078482, 524837559150077
3307 #else
3308                 48226577, 21881051, 24849421, 11501709, 13161720, 28785558,
3309                 1925522, 11914390, 4662781, 7820689
3310 #endif
3311             }},
3312         },
3313         {
3314             {{
3315 #if defined(BORINGSSL_CURVE25519_64BIT)
3316                 2223212657821850, 630416247363666, 2144451165500328,
3317                 816911130947791, 1024351058410032
3318 #else
3319                 12241050, 33128450, 8132690, 9393934, 32846760, 31954812,
3320                 29749455, 12172924, 16136752, 15264020
3321 #endif
3322             }},
3323             {{
3324 #if defined(BORINGSSL_CURVE25519_64BIT)
3325                 1266603897524861, 156378408858100, 1275649024228779,
3326                 447738405888420, 253186462063095
3327 #else
3328                 56758909, 18873868, 58896884, 2330219, 49446315, 19008651,
3329                 10658212, 6671822, 19012087, 3772772
3330 #endif
3331             }},
3332             {{
3333 #if defined(BORINGSSL_CURVE25519_64BIT)
3334                 2022215964509735, 136144366993649, 1800716593296582,
3335                 1193970603800203, 871675847064218
3336 #else
3337                 3753511, 30133366, 10617073, 2028709, 14841030, 26832768,
3338                 28718731, 17791548, 20527770, 12988982
3339 #endif
3340             }},
3341         },
3342         {
3343             {{
3344 #if defined(BORINGSSL_CURVE25519_64BIT)
3345                 1862751661970328, 851596246739884, 1519315554814041,
3346                 1542798466547449, 1417975335901520
3347 #else
3348                 52286360, 27757162, 63400876, 12689772, 66209881, 22639565,
3349                 42925817, 22989488, 3299664, 21129479
3350 #endif
3351             }},
3352             {{
3353 #if defined(BORINGSSL_CURVE25519_64BIT)
3354                 1228168094547481, 334133883362894, 587567568420081,
3355                 433612590281181, 603390400373205
3356 #else
3357                 50331161, 18301130, 57466446, 4978982, 3308785, 8755439,
3358                 6943197, 6461331, 41525717, 8991217
3359 #endif
3360             }},
3361             {{
3362 #if defined(BORINGSSL_CURVE25519_64BIT)
3363                 121893973206505, 1843345804916664, 1703118377384911,
3364                 497810164760654, 101150811654673
3365 #else
3366                 49882601, 1816361, 65435576, 27467992, 31783887, 25378441,
3367                 34160718, 7417949, 36866577, 1507264
3368 #endif
3369             }},
3370         },
3371         {
3372             {{
3373 #if defined(BORINGSSL_CURVE25519_64BIT)
3374                 458346255946468, 290909935619344, 1452768413850679,
3375                 550922875254215, 1537286854336538
3376 #else
3377                 29692644, 6829891, 56610064, 4334895, 20945975, 21647936,
3378                 38221255, 8209390, 14606362, 22907359
3379 #endif
3380             }},
3381             {{
3382 #if defined(BORINGSSL_CURVE25519_64BIT)
3383                 584322311184395, 380661238802118, 114839394528060,
3384                 655082270500073, 2111856026034852
3385 #else
3386                 63627275, 8707080, 32188102, 5672294, 22096700, 1711240,
3387                 34088169, 9761486, 4170404, 31469107
3388 #endif
3389             }},
3390             {{
3391 #if defined(BORINGSSL_CURVE25519_64BIT)
3392                 996965581008991, 2148998626477022, 1012273164934654,
3393                 1073876063914522, 1688031788934939
3394 #else
3395                 55521375, 14855944, 62981086, 32022574, 40459774, 15084045,
3396                 22186522, 16002000, 52832027, 25153633
3397 #endif
3398             }},
3399         },
3400         {
3401             {{
3402 #if defined(BORINGSSL_CURVE25519_64BIT)
3403                 923487018849600, 2085106799623355, 528082801620136,
3404                 1606206360876188, 735907091712524
3405 #else
3406                 62297408, 13761028, 35404987, 31070512, 63796392, 7869046,
3407                 59995292, 23934339, 13240844, 10965870
3408 #endif
3409             }},
3410             {{
3411 #if defined(BORINGSSL_CURVE25519_64BIT)
3412                 1697697887804317, 1335343703828273, 831288615207040,
3413                 949416685250051, 288760277392022
3414 #else
3415                 59366301, 25297669, 52340529, 19898171, 43876480, 12387165,
3416                 4498947, 14147411, 29514390, 4302863
3417 #endif
3418             }},
3419             {{
3420 #if defined(BORINGSSL_CURVE25519_64BIT)
3421                 1419122478109648, 1325574567803701, 602393874111094,
3422                 2107893372601700, 1314159682671307
3423 #else
3424                 53695440, 21146572, 20757301, 19752600, 14785142, 8976368,
3425                 62047588, 31410058, 17846987, 19582505
3426 #endif
3427             }},
3428         },
3429     },
3430     {
3431         {
3432             {{
3433 #if defined(BORINGSSL_CURVE25519_64BIT)
3434                 2201150872731804, 2180241023425241, 97663456423163,
3435                 1633405770247824, 848945042443986
3436 #else
3437                 64864412, 32799703, 62511833, 32488122, 60861691, 1455298,
3438                 45461136, 24339642, 61886162, 12650266
3439 #endif
3440             }},
3441             {{
3442 #if defined(BORINGSSL_CURVE25519_64BIT)
3443                 1173339555550611, 818605084277583, 47521504364289,
3444                 924108720564965, 735423405754506
3445 #else
3446                 57202067, 17484121, 21134159, 12198166, 40044289, 708125,
3447                 387813, 13770293, 47974538, 10958662
3448 #endif
3449             }},
3450             {{
3451 #if defined(BORINGSSL_CURVE25519_64BIT)
3452                 830104860549448, 1886653193241086, 1600929509383773,
3453                 1475051275443631, 286679780900937
3454 #else
3455                 22470984, 12369526, 23446014, 28113323, 45588061, 23855708,
3456                 55336367, 21979976, 42025033, 4271861
3457 #endif
3458             }},
3459         },
3460         {
3461             {{
3462 #if defined(BORINGSSL_CURVE25519_64BIT)
3463                 1577111294832995, 1030899169768747, 144900916293530,
3464                 1964672592979567, 568390100955250
3465 #else
3466                 41939299, 23500789, 47199531, 15361594, 61124506, 2159191,
3467                 75375, 29275903, 34582642, 8469672
3468 #endif
3469             }},
3470             {{
3471 #if defined(BORINGSSL_CURVE25519_64BIT)
3472                 278388655910247, 487143369099838, 927762205508727,
3473                 181017540174210, 1616886700741287
3474 #else
3475                 15854951, 4148314, 58214974, 7259001, 11666551, 13824734,
3476                 36577666, 2697371, 24154791, 24093489
3477 #endif
3478             }},
3479             {{
3480 #if defined(BORINGSSL_CURVE25519_64BIT)
3481                 1191033906638969, 940823957346562, 1606870843663445,
3482                 861684761499847, 658674867251089
3483 #else
3484                 15446137, 17747788, 29759746, 14019369, 30811221, 23944241,
3485                 35526855, 12840103, 24913809, 9815020
3486 #endif
3487             }},
3488         },
3489         {
3490             {{
3491 #if defined(BORINGSSL_CURVE25519_64BIT)
3492                 1875032594195546, 1427106132796197, 724736390962158,
3493                 901860512044740, 635268497268760
3494 #else
3495                 62399578, 27940162, 35267365, 21265538, 52665326, 10799413,
3496                 58005188, 13438768, 18735128, 9466238
3497 #endif
3498             }},
3499             {{
3500 #if defined(BORINGSSL_CURVE25519_64BIT)
3501                 622869792298357, 1903919278950367, 1922588621661629,
3502                 1520574711600434, 1087100760174640
3503 #else
3504                 11933045, 9281483, 5081055, 28370608, 64480701, 28648802,
3505                 59381042, 22658328, 44380208, 16199063
3506 #endif
3507             }},
3508             {{
3509 #if defined(BORINGSSL_CURVE25519_64BIT)
3510                 25465949416618, 1693639527318811, 1526153382657203,
3511                 125943137857169, 145276964043999
3512 #else
3513                 14576810, 379472, 40322331, 25237195, 37682355, 22741457,
3514                 67006097, 1876698, 30801119, 2164795
3515 #endif
3516             }},
3517         },
3518         {
3519             {{
3520 #if defined(BORINGSSL_CURVE25519_64BIT)
3521                 214739857969358, 920212862967915, 1939901550972269,
3522                 1211862791775221, 85097515720120
3523 #else
3524                 15995086, 3199873, 13672555, 13712240, 47730029, 28906785,
3525                 54027253, 18058162, 53616056, 1268051
3526 #endif
3527             }},
3528             {{
3529 #if defined(BORINGSSL_CURVE25519_64BIT)
3530                 2006245852772938, 734762734836159, 254642929763427,
3531                 1406213292755966, 239303749517686
3532 #else
3533                 56818250, 29895392, 63822271, 10948817, 23037027, 3794475,
3534                 63638526, 20954210, 50053494, 3565903
3535 #endif
3536             }},
3537             {{
3538 #if defined(BORINGSSL_CURVE25519_64BIT)
3539                 1619678837192149, 1919424032779215, 1357391272956794,
3540                 1525634040073113, 1310226789796241
3541 #else
3542                 29210069, 24135095, 61189071, 28601646, 10834810, 20226706,
3543                 50596761, 22733718, 39946641, 19523900
3544 #endif
3545             }},
3546         },
3547         {
3548             {{
3549 #if defined(BORINGSSL_CURVE25519_64BIT)
3550                 1040763709762123, 1704449869235352, 605263070456329,
3551                 1998838089036355, 1312142911487502
3552 #else
3553                 53946955, 15508587, 16663704, 25398282, 38758921, 9019122,
3554                 37925443, 29785008, 2244110, 19552453
3555 #endif
3556             }},
3557             {{
3558 #if defined(BORINGSSL_CURVE25519_64BIT)
3559                 1996723311435669, 1844342766567060, 985455700466044,
3560                 1165924681400960, 311508689870129
3561 #else
3562                 61955989, 29753495, 57802388, 27482848, 16243068, 14684434,
3563                 41435776, 17373631, 13491505, 4641841
3564 #endif
3565             }},
3566             {{
3567 #if defined(BORINGSSL_CURVE25519_64BIT)
3568                 43173156290518, 2202883069785309, 1137787467085917,
3569                 1733636061944606, 1394992037553852
3570 #else
3571                 10813398, 643330, 47920349, 32825515, 30292061, 16954354,
3572                 27548446, 25833190, 14476988, 20787001
3573 #endif
3574             }},
3575         },
3576         {
3577             {{
3578 #if defined(BORINGSSL_CURVE25519_64BIT)
3579                 670078326344559, 555655025059356, 471959386282438,
3580                 2141455487356409, 849015953823125
3581 #else
3582                 10292079, 9984945, 6481436, 8279905, 59857350, 7032742,
3583                 27282937, 31910173, 39196053, 12651323
3584 #endif
3585             }},
3586             {{
3587 #if defined(BORINGSSL_CURVE25519_64BIT)
3588                 2197214573372804, 794254097241315, 1030190060513737,
3589                 267632515541902, 2040478049202624
3590 #else
3591                 35923332, 32741048, 22271203, 11835308, 10201545, 15351028,
3592                 17099662, 3988035, 21721536, 30405492
3593 #endif
3594             }},
3595             {{
3596 #if defined(BORINGSSL_CURVE25519_64BIT)
3597                 1812516004670529, 1609256702920783, 1706897079364493,
3598                 258549904773295, 996051247540686
3599 #else
3600                 10202177, 27008593, 35735631, 23979793, 34958221, 25434748,
3601                 54202543, 3852693, 13216206, 14842320
3602 #endif
3603             }},
3604         },
3605         {
3606             {{
3607 #if defined(BORINGSSL_CURVE25519_64BIT)
3608                 1540374301420584, 1764656898914615, 1810104162020396,
3609                 923808779163088, 664390074196579
3610 #else
3611                 51293224, 22953365, 60569911, 26295436, 60124204, 26972653,
3612                 35608016, 13765823, 39674467, 9900183
3613 #endif
3614             }},
3615             {{
3616 #if defined(BORINGSSL_CURVE25519_64BIT)
3617                 1323460699404750, 1262690757880991, 871777133477900,
3618                 1060078894988977, 1712236889662886
3619 #else
3620                 14465486, 19721101, 34974879, 18815558, 39665676, 12990491,
3621                 33046193, 15796406, 60056998, 25514317
3622 #endif
3623             }},
3624             {{
3625 #if defined(BORINGSSL_CURVE25519_64BIT)
3626                 1696163952057966, 1391710137550823, 608793846867416,
3627                 1034391509472039, 1780770894075012
3628 #else
3629                 30924398, 25274812, 6359015, 20738097, 16508376, 9071735,
3630                 41620263, 15413634, 9524356, 26535554
3631 #endif
3632             }},
3633         },
3634         {
3635             {{
3636 #if defined(BORINGSSL_CURVE25519_64BIT)
3637                 1367603834210841, 2131988646583224, 890353773628144,
3638                 1908908219165595, 270836895252891
3639 #else
3640                 12274201, 20378885, 32627640, 31769106, 6736624, 13267305,
3641                 5237659, 28444949, 15663515, 4035784
3642 #endif
3643             }},
3644             {{
3645 #if defined(BORINGSSL_CURVE25519_64BIT)
3646                 597536315471731, 40375058742586, 1942256403956049,
3647                 1185484645495932, 312666282024145
3648 #else
3649                 64157555, 8903984, 17349946, 601635, 50676049, 28941875,
3650                 53376124, 17665097, 44850385, 4659090
3651 #endif
3652             }},
3653             {{
3654 #if defined(BORINGSSL_CURVE25519_64BIT)
3655                 1919411405316294, 1234508526402192, 1066863051997083,
3656                 1008444703737597, 1348810787701552
3657 #else
3658                 50192582, 28601458, 36715152, 18395610, 20774811, 15897498,
3659                 5736189, 15026997, 64930608, 20098846
3660 #endif
3661             }},
3662         },
3663     },
3664     {
3665         {
3666             {{
3667 #if defined(BORINGSSL_CURVE25519_64BIT)
3668                 2102881477513865, 1570274565945361, 1573617900503708,
3669                 18662635732583, 2232324307922098
3670 #else
3671                 58249865, 31335375, 28571665, 23398914, 66634396, 23448733,
3672                 63307367, 278094, 23440562, 33264224
3673 #endif
3674             }},
3675             {{
3676 #if defined(BORINGSSL_CURVE25519_64BIT)
3677                 1853931367696942, 8107973870707, 350214504129299,
3678                 775206934582587, 1752317649166792
3679 #else
3680                 10226222, 27625730, 15139955, 120818, 52241171, 5218602,
3681                 32937275, 11551483, 50536904, 26111567
3682 #endif
3683             }},
3684             {{
3685 #if defined(BORINGSSL_CURVE25519_64BIT)
3686                 1417148368003523, 721357181628282, 505725498207811,
3687                 373232277872983, 261634707184480
3688 #else
3689                 17932739, 21117156, 43069306, 10749059, 11316803, 7535897,
3690                 22503767, 5561594, 63462240, 3898660
3691 #endif
3692             }},
3693         },
3694         {
3695             {{
3696 #if defined(BORINGSSL_CURVE25519_64BIT)
3697                 2186733281493267, 2250694917008620, 1014829812957440,
3698                 479998161452389, 83566193876474
3699 #else
3700                 7749907, 32584865, 50769132, 33537967, 42090752, 15122142,
3701                 65535333, 7152529, 21831162, 1245233
3702 #endif
3703             }},
3704             {{
3705 #if defined(BORINGSSL_CURVE25519_64BIT)
3706                 1268116367301224, 560157088142809, 802626839600444,
3707                 2210189936605713, 1129993785579988
3708 #else
3709                 26958440, 18896406, 4314585, 8346991, 61431100, 11960071,
3710                 34519569, 32934396, 36706772, 16838219
3711 #endif
3712             }},
3713             {{
3714 #if defined(BORINGSSL_CURVE25519_64BIT)
3715                 615183387352312, 917611676109240, 878893615973325,
3716                 978940963313282, 938686890583575
3717 #else
3718                 54942968, 9166946, 33491384, 13673479, 29787085, 13096535,
3719                 6280834, 14587357, 44770839, 13987524
3720 #endif
3721             }},
3722         },
3723         {
3724             {{
3725 #if defined(BORINGSSL_CURVE25519_64BIT)
3726                 522024729211672, 1045059315315808, 1892245413707790,
3727                 1907891107684253, 2059998109500714
3728 #else
3729                 42758936, 7778774, 21116000, 15572597, 62275598, 28196653,
3730                 62807965, 28429792, 59639082, 30696363
3731 #endif
3732             }},
3733             {{
3734 #if defined(BORINGSSL_CURVE25519_64BIT)
3735                 1799679152208884, 912132775900387, 25967768040979,
3736                 432130448590461, 274568990261996
3737 #else
3738                 9681908, 26817309, 35157219, 13591837, 60225043, 386949,
3739                 31622781, 6439245, 52527852, 4091396
3740 #endif
3741             }},
3742             {{
3743 #if defined(BORINGSSL_CURVE25519_64BIT)
3744                 98698809797682, 2144627600856209, 1907959298569602,
3745                 811491302610148, 1262481774981493
3746 #else
3747                 58682418, 1470726, 38999185, 31957441, 3978626, 28430809,
3748                 47486180, 12092162, 29077877, 18812444
3749 #endif
3750             }},
3751         },
3752         {
3753             {{
3754 #if defined(BORINGSSL_CURVE25519_64BIT)
3755                 1791451399743152, 1713538728337276, 118349997257490,
3756                 1882306388849954, 158235232210248
3757 #else
3758                 5269168, 26694706, 53878652, 25533716, 25932562, 1763552,
3759                 61502754, 28048550, 47091016, 2357888
3760 #endif
3761             }},
3762             {{
3763 #if defined(BORINGSSL_CURVE25519_64BIT)
3764                 1217809823321928, 2173947284933160, 1986927836272325,
3765                 1388114931125539, 12686131160169
3766 #else
3767                 32264008, 18146780, 61721128, 32394338, 65017541, 29607531,
3768                 23104803, 20684524, 5727337, 189038
3769 #endif
3770             }},
3771             {{
3772 #if defined(BORINGSSL_CURVE25519_64BIT)
3773                 1650875518872272, 1136263858253897, 1732115601395988,
3774                 734312880662190, 1252904681142109
3775 #else
3776                 14609104, 24599962, 61108297, 16931650, 52531476, 25810533,
3777                 40363694, 10942114, 41219933, 18669734
3778 #endif
3779             }},
3780         },
3781         {
3782             {{
3783 #if defined(BORINGSSL_CURVE25519_64BIT)
3784                 372986456113865, 525430915458171, 2116279931702135,
3785                 501422713587815, 1907002872974925
3786 #else
3787                 20513481, 5557931, 51504251, 7829530, 26413943, 31535028,
3788                 45729895, 7471780, 13913677, 28416557
3789 #endif
3790             }},
3791             {{
3792 #if defined(BORINGSSL_CURVE25519_64BIT)
3793                 803147181835288, 868941437997146, 316299302989663,
3794                 943495589630550, 571224287904572
3795 #else
3796                 41534488, 11967825, 29233242, 12948236, 60354399, 4713226,
3797                 58167894, 14059179, 12878652, 8511905
3798 #endif
3799             }},
3800             {{
3801 #if defined(BORINGSSL_CURVE25519_64BIT)
3802                 227742695588364, 1776969298667369, 628602552821802,
3803                 457210915378118, 2041906378111140
3804 #else
3805                 41452044, 3393630, 64153449, 26478905, 64858154, 9366907,
3806                 36885446, 6812973, 5568676, 30426776
3807 #endif
3808             }},
3809         },
3810         {
3811             {{
3812 #if defined(BORINGSSL_CURVE25519_64BIT)
3813                 815000523470260, 913085688728307, 1052060118271173,
3814                 1345536665214223, 541623413135555
3815 #else
3816                 11630004, 12144454, 2116339, 13606037, 27378885, 15676917,
3817                 49700111, 20050058, 52713667, 8070817
3818 #endif
3819             }},
3820             {{
3821 #if defined(BORINGSSL_CURVE25519_64BIT)
3822                 1580216071604333, 1877997504342444, 857147161260913,
3823                 703522726778478, 2182763974211603
3824 #else
3825                 27117677, 23547054, 35826092, 27984343, 1127281, 12772488,
3826                 37262958, 10483305, 55556115, 32525717
3827 #endif
3828             }},
3829             {{
3830 #if defined(BORINGSSL_CURVE25519_64BIT)
3831                 1870080310923419, 71988220958492, 1783225432016732,
3832                 615915287105016, 1035570475990230
3833 #else
3834                 10637467, 27866368, 5674780, 1072708, 40765276, 26572129,
3835                 65424888, 9177852, 39615702, 15431202
3836 #endif
3837             }},
3838         },
3839         {
3840             {{
3841 #if defined(BORINGSSL_CURVE25519_64BIT)
3842                 730987750830150, 857613889540280, 1083813157271766,
3843                 1002817255970169, 1719228484436074
3844 #else
3845                 20525126, 10892566, 54366392, 12779442, 37615830, 16150074,
3846                 38868345, 14943141, 52052074, 25618500
3847 #endif
3848             }},
3849             {{
3850 #if defined(BORINGSSL_CURVE25519_64BIT)
3851                 377616581647602, 1581980403078513, 804044118130621,
3852                 2034382823044191, 643844048472185
3853 #else
3854                 37084402, 5626925, 66557297, 23573344, 753597, 11981191,
3855                 25244767, 30314666, 63752313, 9594023
3856 #endif
3857             }},
3858             {{
3859 #if defined(BORINGSSL_CURVE25519_64BIT)
3860                 176957326463017, 1573744060478586, 528642225008045,
3861                 1816109618372371, 1515140189765006
3862 #else
3863                 43356201, 2636869, 61944954, 23450613, 585133, 7877383,
3864                 11345683, 27062142, 13352334, 22577348
3865 #endif
3866             }},
3867         },
3868         {
3869             {{
3870 #if defined(BORINGSSL_CURVE25519_64BIT)
3871                 1888911448245718, 1387110895611080, 1924503794066429,
3872                 1731539523700949, 2230378382645454
3873 #else
3874                 65177046, 28146973, 3304648, 20669563, 17015805, 28677341,
3875                 37325013, 25801949, 53893326, 33235227
3876 #endif
3877             }},
3878             {{
3879 #if defined(BORINGSSL_CURVE25519_64BIT)
3880                 443392177002051, 233793396845137, 2199506622312416,
3881                 1011858706515937, 974676837063129
3882 #else
3883                 20239939, 6607058, 6203985, 3483793, 48721888, 32775202,
3884                 46385121, 15077869, 44358105, 14523816
3885 #endif
3886             }},
3887             {{
3888 #if defined(BORINGSSL_CURVE25519_64BIT)
3889                 1846351103143623, 1949984838808427, 671247021915253,
3890                 1946756846184401, 1929296930380217
3891 #else
3892                 27406023, 27512775, 27423595, 29057038, 4996213, 10002360,
3893                 38266833, 29008937, 36936121, 28748764
3894 #endif
3895             }},
3896         },
3897     },
3898     {
3899         {
3900             {{
3901 #if defined(BORINGSSL_CURVE25519_64BIT)
3902                 849646212452002, 1410198775302919, 73767886183695,
3903                 1641663456615812, 762256272452411
3904 #else
3905                 11374242, 12660715, 17861383, 21013599, 10935567, 1099227,
3906                 53222788, 24462691, 39381819, 11358503
3907 #endif
3908             }},
3909             {{
3910 #if defined(BORINGSSL_CURVE25519_64BIT)
3911                 692017667358279, 723305578826727, 1638042139863265,
3912                 748219305990306, 334589200523901
3913 #else
3914                 54378055, 10311866, 1510375, 10778093, 64989409, 24408729,
3915                 32676002, 11149336, 40985213, 4985767
3916 #endif
3917             }},
3918             {{
3919 #if defined(BORINGSSL_CURVE25519_64BIT)
3920                 22893968530686, 2235758574399251, 1661465835630252,
3921                 925707319443452, 1203475116966621
3922 #else
3923                 48012542, 341146, 60911379, 33315398, 15756972, 24757770,
3924                 66125820, 13794113, 47694557, 17933176
3925 #endif
3926             }},
3927         },
3928         {
3929             {{
3930 #if defined(BORINGSSL_CURVE25519_64BIT)
3931                 801299035785166, 1733292596726131, 1664508947088596,
3932                 467749120991922, 1647498584535623
3933 #else
3934                 6490062, 11940286, 25495923, 25828072, 8668372, 24803116,
3935                 3367602, 6970005, 65417799, 24549641
3936 #endif
3937             }},
3938             {{
3939 #if defined(BORINGSSL_CURVE25519_64BIT)
3940                 903105258014366, 427141894933047, 561187017169777,
3941                 1884330244401954, 1914145708422219
3942 #else
3943                 1656478, 13457317, 15370807, 6364910, 13605745, 8362338,
3944                 47934242, 28078708, 50312267, 28522993
3945 #endif
3946             }},
3947             {{
3948 #if defined(BORINGSSL_CURVE25519_64BIT)
3949                 1344191060517578, 1960935031767890, 1518838929955259,
3950                 1781502350597190, 1564784025565682
3951 #else
3952                 44835530, 20030007, 67044178, 29220208, 48503227, 22632463,
3953                 46537798, 26546453, 67009010, 23317098
3954 #endif
3955             }},
3956         },
3957         {
3958             {{
3959 #if defined(BORINGSSL_CURVE25519_64BIT)
3960                 673723351748086, 1979969272514923, 1175287312495508,
3961                 1187589090978666, 1881897672213940
3962 #else
3963                 17747446, 10039260, 19368299, 29503841, 46478228, 17513145,
3964                 31992682, 17696456, 37848500, 28042460
3965 #endif
3966             }},
3967             {{
3968 #if defined(BORINGSSL_CURVE25519_64BIT)
3969                 1917185587363432, 1098342571752737, 5935801044414,
3970                 2000527662351839, 1538640296181569
3971 #else
3972                 31932008, 28568291, 47496481, 16366579, 22023614, 88450,
3973                 11371999, 29810185, 4882241, 22927527
3974 #endif
3975             }},
3976             {{
3977 #if defined(BORINGSSL_CURVE25519_64BIT)
3978                 2495540013192, 678856913479236, 224998292422872,
3979                 219635787698590, 1972465269000940
3980 #else
3981                 29796488, 37186, 19818052, 10115756, 55279832, 3352735,
3982                 18551198, 3272828, 61917932, 29392022
3983 #endif
3984             }},
3985         },
3986         {
3987             {{
3988 #if defined(BORINGSSL_CURVE25519_64BIT)
3989                 271413961212179, 1353052061471651, 344711291283483,
3990                 2014925838520662, 2006221033113941
3991 #else
3992                 12501267, 4044383, 58495907, 20162046, 34678811, 5136598,
3993                 47878486, 30024734, 330069, 29895023
3994 #endif
3995             }},
3996             {{
3997 #if defined(BORINGSSL_CURVE25519_64BIT)
3998                 194583029968109, 514316781467765, 829677956235672,
3999                 1676415686873082, 810104584395840
4000 #else
4001                 6384877, 2899513, 17807477, 7663917, 64749976, 12363164,
4002                 25366522, 24980540, 66837568, 12071498
4003 #endif
4004             }},
4005             {{
4006 #if defined(BORINGSSL_CURVE25519_64BIT)
4007                 1980510813313589, 1948645276483975, 152063780665900,
4008                 129968026417582, 256984195613935
4009 #else
4010                 58743349, 29511910, 25133447, 29037077, 60897836, 2265926,
4011                 34339246, 1936674, 61949167, 3829362
4012 #endif
4013             }},
4014         },
4015         {
4016             {{
4017 #if defined(BORINGSSL_CURVE25519_64BIT)
4018                 1860190562533102, 1936576191345085, 461100292705964,
4019                 1811043097042830, 957486749306835
4020 #else
4021                 28425966, 27718999, 66531773, 28857233, 52891308, 6870929,
4022                 7921550, 26986645, 26333139, 14267664
4023 #endif
4024             }},
4025             {{
4026 #if defined(BORINGSSL_CURVE25519_64BIT)
4027                 796664815624365, 1543160838872951, 1500897791837765,
4028                 1667315977988401, 599303877030711
4029 #else
4030                 56041645, 11871230, 27385719, 22994888, 62522949, 22365119,
4031                 10004785, 24844944, 45347639, 8930323
4032 #endif
4033             }},
4034             {{
4035 #if defined(BORINGSSL_CURVE25519_64BIT)
4036                 1151480509533204, 2136010406720455, 738796060240027,
4037                 319298003765044, 1150614464349587
4038 #else
4039                 45911060, 17158396, 25654215, 31829035, 12282011, 11008919,
4040                 1541940, 4757911, 40617363, 17145491
4041 #endif
4042             }},
4043         },
4044         {
4045             {{
4046 #if defined(BORINGSSL_CURVE25519_64BIT)
4047                 1731069268103150, 735642447616087, 1364750481334268,
4048                 417232839982871, 927108269127661
4049 #else
4050                 13537262, 25794942, 46504023, 10961926, 61186044, 20336366,
4051                 53952279, 6217253, 51165165, 13814989
4052 #endif
4053             }},
4054             {{
4055 #if defined(BORINGSSL_CURVE25519_64BIT)
4056                 1017222050227968, 1987716148359, 2234319589635701,
4057                 621282683093392, 2132553131763026
4058 #else
4059                 49686272, 15157789, 18705543, 29619, 24409717, 33293956,
4060                 27361680, 9257833, 65152338, 31777517
4061 #endif
4062             }},
4063             {{
4064 #if defined(BORINGSSL_CURVE25519_64BIT)
4065                 1567828528453324, 1017807205202360, 565295260895298,
4066                 829541698429100, 307243822276582
4067 #else
4068                 42063564, 23362465, 15366584, 15166509, 54003778, 8423555,
4069                 37937324, 12361134, 48422886, 4578289
4070 #endif
4071             }},
4072         },
4073         {
4074             {{
4075 #if defined(BORINGSSL_CURVE25519_64BIT)
4076                 249079270936248, 1501514259790706, 947909724204848,
4077                 944551802437487, 552658763982480
4078 #else
4079                 24579768, 3711570, 1342322, 22374306, 40103728, 14124955,
4080                 44564335, 14074918, 21964432, 8235257
4081 #endif
4082             }},
4083             {{
4084 #if defined(BORINGSSL_CURVE25519_64BIT)
4085                 2089966982947227, 1854140343916181, 2151980759220007,
4086                 2139781292261749, 158070445864917
4087 #else
4088                 60580251, 31142934, 9442965, 27628844, 12025639, 32067012,
4089                 64127349, 31885225, 13006805, 2355433
4090 #endif
4091             }},
4092             {{
4093 #if defined(BORINGSSL_CURVE25519_64BIT)
4094                 1338766321464554, 1906702607371284, 1519569445519894,
4095                 115384726262267, 1393058953390992
4096 #else
4097                 50803946, 19949172, 60476436, 28412082, 16974358, 22643349,
4098                 27202043, 1719366, 1141648, 20758196
4099 #endif
4100             }},
4101         },
4102         {
4103             {{
4104 #if defined(BORINGSSL_CURVE25519_64BIT)
4105                 1364621558265400, 1512388234908357, 1926731583198686,
4106                 2041482526432505, 920401122333774
4107 #else
4108                 54244920, 20334445, 58790597, 22536340, 60298718, 28710537,
4109                 13475065, 30420460, 32674894, 13715045
4110 #endif
4111             }},
4112             {{
4113 #if defined(BORINGSSL_CURVE25519_64BIT)
4114                 1884844597333588, 601480070269079, 620203503079537,
4115                 1079527400117915, 1202076693132015
4116 #else
4117                 11423316, 28086373, 32344215, 8962751, 24989809, 9241752,
4118                 53843611, 16086211, 38367983, 17912338
4119 #endif
4120             }},
4121             {{
4122 #if defined(BORINGSSL_CURVE25519_64BIT)
4123                 840922919763324, 727955812569642, 1303406629750194,
4124                 522898432152867, 294161410441865
4125 #else
4126                 65699196, 12530727, 60740138, 10847386, 19531186, 19422272,
4127                 55399715, 7791793, 39862921, 4383346
4128 #endif
4129             }},
4130         },
4131     },
4132     {
4133         {
4134             {{
4135 #if defined(BORINGSSL_CURVE25519_64BIT)
4136                 353760790835310, 1598361541848743, 1122905698202299,
4137                 1922533590158905, 419107700666580
4138 #else
4139                 38137966, 5271446, 65842855, 23817442, 54653627, 16732598,
4140                 62246457, 28647982, 27193556, 6245191
4141 #endif
4142             }},
4143             {{
4144 #if defined(BORINGSSL_CURVE25519_64BIT)
4145                 359856369838236, 180914355488683, 861726472646627,
4146                 218807937262986, 575626773232501
4147 #else
4148                 51914908, 5362277, 65324971, 2695833, 4960227, 12840725,
4149                 23061898, 3260492, 22510453, 8577507
4150 #endif
4151             }},
4152             {{
4153 #if defined(BORINGSSL_CURVE25519_64BIT)
4154                 755467689082474, 909202735047934, 730078068932500,
4155                 936309075711518, 2007798262842972
4156 #else
4157                 54476394, 11257345, 34415870, 13548176, 66387860, 10879010,
4158                 31168030, 13952092, 37537372, 29918525
4159 #endif
4160             }},
4161         },
4162         {
4163             {{
4164 #if defined(BORINGSSL_CURVE25519_64BIT)
4165                 1609384177904073, 362745185608627, 1335318541768201,
4166                 800965770436248, 547877979267412
4167 #else
4168                 3877321, 23981693, 32416691, 5405324, 56104457, 19897796,
4169                 3759768, 11935320, 5611860, 8164018
4170 #endif
4171             }},
4172             {{
4173 #if defined(BORINGSSL_CURVE25519_64BIT)
4174                 984339177776787, 815727786505884, 1645154585713747,
4175                 1659074964378553, 1686601651984156
4176 #else
4177                 50833043, 14667796, 15906460, 12155291, 44997715, 24514713,
4178                 32003001, 24722143, 5773084, 25132323
4179 #endif
4180             }},
4181             {{
4182 #if defined(BORINGSSL_CURVE25519_64BIT)
4183                 1697863093781930, 599794399429786, 1104556219769607,
4184                 830560774794755, 12812858601017
4185 #else
4186                 43320746, 25300131, 1950874, 8937633, 18686727, 16459170,
4187                 66203139, 12376319, 31632953, 190926
4188 #endif
4189             }},
4190         },
4191         {
4192             {{
4193 #if defined(BORINGSSL_CURVE25519_64BIT)
4194                 1168737550514982, 897832437380552, 463140296333799,
4195                 302564600022547, 2008360505135501
4196 #else
4197                 42515238, 17415546, 58684872, 13378745, 14162407, 6901328,
4198                 58820115, 4508563, 41767309, 29926903
4199 #endif
4200             }},
4201             {{
4202 #if defined(BORINGSSL_CURVE25519_64BIT)
4203                 1856930662813910, 678090852002597, 1920179140755167,
4204                 1259527833759868, 55540971895511
4205 #else
4206                 8884438, 27670423, 6023973, 10104341, 60227295, 28612898,
4207                 18722940, 18768427, 65436375, 827624
4208 #endif
4209             }},
4210             {{
4211 #if defined(BORINGSSL_CURVE25519_64BIT)
4212                 1158643631044921, 476554103621892, 178447851439725,
4213                 1305025542653569, 103433927680625
4214 #else
4215                 34388281, 17265135, 34605316, 7101209, 13354605, 2659080,
4216                 65308289, 19446395, 42230385, 1541285
4217 #endif
4218             }},
4219         },
4220         {
4221             {{
4222 #if defined(BORINGSSL_CURVE25519_64BIT)
4223                 2176793111709008, 1576725716350391, 2009350167273523,
4224                 2012390194631546, 2125297410909580
4225 #else
4226                 2901328, 32436745, 3880375, 23495044, 49487923, 29941650,
4227                 45306746, 29986950, 20456844, 31669399
4228 #endif
4229             }},
4230             {{
4231 #if defined(BORINGSSL_CURVE25519_64BIT)
4232                 825403285195098, 2144208587560784, 1925552004644643,
4233                 1915177840006985, 1015952128947864
4234 #else
4235                 27019610, 12299467, 53450576, 31951197, 54247203, 28692960,
4236                 47568713, 28538373, 29439640, 15138866
4237 #endif
4238             }},
4239             {{
4240 #if defined(BORINGSSL_CURVE25519_64BIT)
4241                 1807108316634472, 1534392066433717, 347342975407218,
4242                 1153820745616376, 7375003497471
4243 #else
4244                 21536104, 26928012, 34661045, 22864223, 44700786, 5175813,
4245                 61688824, 17193268, 7779327, 109896
4246 #endif
4247             }},
4248         },
4249         {
4250             {{
4251 #if defined(BORINGSSL_CURVE25519_64BIT)
4252                 983061001799725, 431211889901241, 2201903782961093,
4253                 817393911064341, 2214616493042167
4254 #else
4255                 30279725, 14648750, 59063993, 6425557, 13639621, 32810923,
4256                 28698389, 12180118, 23177719, 33000357
4257 #endif
4258             }},
4259             {{
4260 #if defined(BORINGSSL_CURVE25519_64BIT)
4261                 228567918409756, 865093958780220, 358083886450556,
4262                 159617889659320, 1360637926292598
4263 #else
4264                 26572828, 3405927, 35407164, 12890904, 47843196, 5335865,
4265                 60615096, 2378491, 4439158, 20275085
4266 #endif
4267             }},
4268             {{
4269 #if defined(BORINGSSL_CURVE25519_64BIT)
4270                 234147501399755, 2229469128637390, 2175289352258889,
4271                 1397401514549353, 1885288963089922
4272 #else
4273                 44392139, 3489069, 57883598, 33221678, 18875721, 32414337,
4274                 14819433, 20822905, 49391106, 28092994
4275 #endif
4276             }},
4277         },
4278         {
4279             {{
4280 #if defined(BORINGSSL_CURVE25519_64BIT)
4281                 1111762412951562, 252849572507389, 1048714233823341,
4282                 146111095601446, 1237505378776770
4283 #else
4284                 62052362, 16566550, 15953661, 3767752, 56672365, 15627059,
4285                 66287910, 2177224, 8550082, 18440267
4286 #endif
4287             }},
4288             {{
4289 #if defined(BORINGSSL_CURVE25519_64BIT)
4290                 1113790697840279, 1051167139966244, 1045930658550944,
4291                 2011366241542643, 1686166824620755
4292 #else
4293                 48635543, 16596774, 66727204, 15663610, 22860960, 15585581,
4294                 39264755, 29971692, 43848403, 25125843
4295 #endif
4296             }},
4297             {{
4298 #if defined(BORINGSSL_CURVE25519_64BIT)
4299                 1054097349305049, 1872495070333352, 182121071220717,
4300                 1064378906787311, 100273572924182
4301 #else
4302                 34628313, 15707274, 58902952, 27902350, 29464557, 2713815,
4303                 44383727, 15860481, 45206294, 1494192
4304 #endif
4305             }},
4306         },
4307         {
4308             {{
4309 #if defined(BORINGSSL_CURVE25519_64BIT)
4310                 1306410853171605, 1627717417672447, 50983221088417,
4311                 1109249951172250, 870201789081392
4312 #else
4313                 47546773, 19467038, 41524991, 24254879, 13127841, 759709,
4314                 21923482, 16529112, 8742704, 12967017
4315 #endif
4316             }},
4317             {{
4318 #if defined(BORINGSSL_CURVE25519_64BIT)
4319                 104233794644221, 1548919791188248, 2224541913267306,
4320                 2054909377116478, 1043803389015153
4321 #else
4322                 38643965, 1553204, 32536856, 23080703, 42417258, 33148257,
4323                 58194238, 30620535, 37205105, 15553882
4324 #endif
4325             }},
4326             {{
4327 #if defined(BORINGSSL_CURVE25519_64BIT)
4328                 216762189468802, 707284285441622, 190678557969733,
4329                 973969342604308, 1403009538434867
4330 #else
4331                 21877890, 3230008, 9881174, 10539357, 62311749, 2841331,
4332                 11543572, 14513274, 19375923, 20906471
4333 #endif
4334             }},
4335         },
4336         {
4337             {{
4338 #if defined(BORINGSSL_CURVE25519_64BIT)
4339                 1279024291038477, 344776835218310, 273722096017199,
4340                 1834200436811442, 634517197663804
4341 #else
4342                 8832269, 19058947, 13253510, 5137575, 5037871, 4078777,
4343                 24880818, 27331716, 2862652, 9455043
4344 #endif
4345             }},
4346             {{
4347 #if defined(BORINGSSL_CURVE25519_64BIT)
4348                 343805853118335, 1302216857414201, 566872543223541,
4349                 2051138939539004, 321428858384280
4350 #else
4351                 29306751, 5123106, 20245049, 19404543, 9592565, 8447059,
4352                 65031740, 30564351, 15511448, 4789663
4353 #endif
4354             }},
4355             {{
4356 #if defined(BORINGSSL_CURVE25519_64BIT)
4357                 470067171324852, 1618629234173951, 2000092177515639,
4358                 7307679772789, 1117521120249968
4359 #else
4360                 46429108, 7004546, 8824831, 24119455, 63063159, 29803695,
4361                 61354101, 108892, 23513200, 16652362
4362 #endif
4363             }},
4364         },
4365     },
4366     {
4367         {
4368             {{
4369 #if defined(BORINGSSL_CURVE25519_64BIT)
4370                 278151578291475, 1810282338562947, 1771599529530998,
4371                 1383659409671631, 685373414471841
4372 #else
4373                 33852691, 4144781, 62632835, 26975308, 10770038, 26398890,
4374                 60458447, 20618131, 48789665, 10212859
4375 #endif
4376             }},
4377             {{
4378 #if defined(BORINGSSL_CURVE25519_64BIT)
4379                 577009397403102, 1791440261786291, 2177643735971638,
4380                 174546149911960, 1412505077782326
4381 #else
4382                 2756062, 8598110, 7383731, 26694540, 22312758, 32449420,
4383                 21179800, 2600940, 57120566, 21047965
4384 #endif
4385             }},
4386             {{
4387 #if defined(BORINGSSL_CURVE25519_64BIT)
4388                 893719721537457, 1201282458018197, 1522349501711173,
4389                 58011597740583, 1130406465887139
4390 #else
4391                 42463153, 13317461, 36659605, 17900503, 21365573, 22684775,
4392                 11344423, 864440, 64609187, 16844368
4393 #endif
4394             }},
4395         },
4396         {
4397             {{
4398 #if defined(BORINGSSL_CURVE25519_64BIT)
4399                 412607348255453, 1280455764199780, 2233277987330768,
4400                 14180080401665, 331584698417165
4401 #else
4402                 40676061, 6148328, 49924452, 19080277, 18782928, 33278435,
4403                 44547329, 211299, 2719757, 4940997
4404 #endif
4405             }},
4406             {{
4407 #if defined(BORINGSSL_CURVE25519_64BIT)
4408                 262483770854550, 990511055108216, 526885552771698,
4409                 571664396646158, 354086190278723
4410 #else
4411                 65784982, 3911312, 60160120, 14759764, 37081714, 7851206,
4412                 21690126, 8518463, 26699843, 5276295
4413 #endif
4414             }},
4415             {{
4416 #if defined(BORINGSSL_CURVE25519_64BIT)
4417                 1820352417585487, 24495617171480, 1547899057533253,
4418                 10041836186225, 480457105094042
4419 #else
4420                 53958991, 27125364, 9396248, 365013, 24703301, 23065493,
4421                 1321585, 149635, 51656090, 7159368
4422 #endif
4423             }},
4424         },
4425         {
4426             {{
4427 #if defined(BORINGSSL_CURVE25519_64BIT)
4428                 2023310314989233, 637905337525881, 2106474638900687,
4429                 557820711084072, 1687858215057826
4430 #else
4431                 9987761, 30149673, 17507961, 9505530, 9731535, 31388918,
4432                 22356008, 8312176, 22477218, 25151047
4433 #endif
4434             }},
4435             {{
4436 #if defined(BORINGSSL_CURVE25519_64BIT)
4437                 1144168702609745, 604444390410187, 1544541121756138,
4438                 1925315550126027, 626401428894002
4439 #else
4440                 18155857, 17049442, 19744715, 9006923, 15154154, 23015456,
4441                 24256459, 28689437, 44560690, 9334108
4442 #endif
4443             }},
4444             {{
4445 #if defined(BORINGSSL_CURVE25519_64BIT)
4446                 1922168257351784, 2018674099908659, 1776454117494445,
4447                 956539191509034, 36031129147635
4448 #else
4449                 2986088, 28642539, 10776627, 30080588, 10620589, 26471229,
4450                 45695018, 14253544, 44521715, 536905
4451 #endif
4452             }},
4453         },
4454         {
4455             {{
4456 #if defined(BORINGSSL_CURVE25519_64BIT)
4457                 544644538748041, 1039872944430374, 876750409130610,
4458                 710657711326551, 1216952687484972
4459 #else
4460                 4377737, 8115836, 24567078, 15495314, 11625074, 13064599,
4461                 7390551, 10589625, 10838060, 18134008
4462 #endif
4463             }},
4464             {{
4465 #if defined(BORINGSSL_CURVE25519_64BIT)
4466                 58242421545916, 2035812695641843, 2118491866122923,
4467                 1191684463816273, 46921517454099
4468 #else
4469                 47766460, 867879, 9277171, 30335973, 52677291, 31567988,
4470                 19295825, 17757482, 6378259, 699185
4471 #endif
4472             }},
4473             {{
4474 #if defined(BORINGSSL_CURVE25519_64BIT)
4475                 272268252444639, 1374166457774292, 2230115177009552,
4476                 1053149803909880, 1354288411641016
4477 #else
4478                 7895007, 4057113, 60027092, 20476675, 49222032, 33231305,
4479                 66392824, 15693154, 62063800, 20180469
4480 #endif
4481             }},
4482         },
4483         {
4484             {{
4485 #if defined(BORINGSSL_CURVE25519_64BIT)
4486                 1857910905368338, 1754729879288912, 885945464109877,
4487                 1516096106802166, 1602902393369811
4488 #else
4489                 59371282, 27685029, 52542544, 26147512, 11385653, 13201616,
4490                 31730678, 22591592, 63190227, 23885106
4491 #endif
4492             }},
4493             {{
4494 #if defined(BORINGSSL_CURVE25519_64BIT)
4495                 1193437069800958, 901107149704790, 999672920611411,
4496                 477584824802207, 364239578697845
4497 #else
4498                 10188286, 17783598, 59772502, 13427542, 22223443, 14896287,
4499                 30743455, 7116568, 45322357, 5427592
4500 #endif
4501             }},
4502             {{
4503 #if defined(BORINGSSL_CURVE25519_64BIT)
4504                 886299989548838, 1538292895758047, 1590564179491896,
4505                 1944527126709657, 837344427345298
4506 #else
4507                 696102, 13206899, 27047647, 22922350, 15285304, 23701253,
4508                 10798489, 28975712, 19236242, 12477404
4509 #endif
4510             }},
4511         },
4512         {
4513             {{
4514 #if defined(BORINGSSL_CURVE25519_64BIT)
4515                 754558365378305, 1712186480903618, 1703656826337531,
4516                 750310918489786, 518996040250900
4517 #else
4518                 55879425, 11243795, 50054594, 25513566, 66320635, 25386464,
4519                 63211194, 11180503, 43939348, 7733643
4520 #endif
4521             }},
4522             {{
4523 #if defined(BORINGSSL_CURVE25519_64BIT)
4524                 1309847803895382, 1462151862813074, 211370866671570,
4525                 1544595152703681, 1027691798954090
4526 #else
4527                 17800790, 19518253, 40108434, 21787760, 23887826, 3149671,
4528                 23466177, 23016261, 10322026, 15313801
4529 #endif
4530             }},
4531             {{
4532 #if defined(BORINGSSL_CURVE25519_64BIT)
4533                 803217563745370, 1884799722343599, 1357706345069218,
4534                 2244955901722095, 730869460037413
4535 #else
4536                 26246234, 11968874, 32263343, 28085704, 6830754, 20231401,
4537                 51314159, 33452449, 42659621, 10890803
4538 #endif
4539             }},
4540         },
4541         {
4542             {{
4543 #if defined(BORINGSSL_CURVE25519_64BIT)
4544                 689299471295966, 1831210565161071, 1375187341585438,
4545                 1106284977546171, 1893781834054269
4546 #else
4547                 35743198, 10271362, 54448239, 27287163, 16690206, 20491888,
4548                 52126651, 16484930, 25180797, 28219548
4549 #endif
4550             }},
4551             {{
4552 #if defined(BORINGSSL_CURVE25519_64BIT)
4553                 696351368613042, 1494385251239250, 738037133616932,
4554                 636385507851544, 927483222611406
4555 #else
4556                 66522290, 10376443, 34522450, 22268075, 19801892, 10997610,
4557                 2276632, 9482883, 316878, 13820577
4558 #endif
4559             }},
4560             {{
4561 #if defined(BORINGSSL_CURVE25519_64BIT)
4562                 1949114198209333, 1104419699537997, 783495707664463,
4563                 1747473107602770, 2002634765788641
4564 #else
4565                 57226037, 29044064, 64993357, 16457135, 56008783, 11674995,
4566                 30756178, 26039378, 30696929, 29841583
4567 #endif
4568             }},
4569         },
4570         {
4571             {{
4572 #if defined(BORINGSSL_CURVE25519_64BIT)
4573                 1607325776830197, 530883941415333, 1451089452727895,
4574                 1581691157083423, 496100432831154
4575 #else
4576                 32988917, 23951020, 12499365, 7910787, 56491607, 21622917,
4577                 59766047, 23569034, 34759346, 7392472
4578 #endif
4579             }},
4580             {{
4581 #if defined(BORINGSSL_CURVE25519_64BIT)
4582                 1068900648804224, 2006891997072550, 1134049269345549,
4583                 1638760646180091, 2055396084625778
4584 #else
4585                 58253184, 15927860, 9866406, 29905021, 64711949, 16898650,
4586                 36699387, 24419436, 25112946, 30627788
4587 #endif
4588             }},
4589             {{
4590 #if defined(BORINGSSL_CURVE25519_64BIT)
4591                 2222475519314561, 1870703901472013, 1884051508440561,
4592                 1344072275216753, 1318025677799069
4593 #else
4594                 64604801, 33117465, 25621773, 27875660, 15085041, 28074555,
4595                 42223985, 20028237, 5537437, 19640113
4596 #endif
4597             }},
4598         },
4599     },
4600     {
4601         {
4602             {{
4603 #if defined(BORINGSSL_CURVE25519_64BIT)
4604                 155711679280656, 681100400509288, 389811735211209,
4605                 2135723811340709, 408733211204125
4606 #else
4607                 55883280, 2320284, 57524584, 10149186, 33664201, 5808647,
4608                 52232613, 31824764, 31234589, 6090599
4609 #endif
4610             }},
4611             {{
4612 #if defined(BORINGSSL_CURVE25519_64BIT)
4613                 7813206966729, 194444201427550, 2071405409526507,
4614                 1065605076176312, 1645486789731291
4615 #else
4616                 57475529, 116425, 26083934, 2897444, 60744427, 30866345, 609720,
4617                 15878753, 60138459, 24519663
4618 #endif
4619             }},
4620             {{
4621 #if defined(BORINGSSL_CURVE25519_64BIT)
4622                 16625790644959, 1647648827778410, 1579910185572704,
4623                 436452271048548, 121070048451050
4624 #else
4625                 39351007, 247743, 51914090, 24551880, 23288160, 23542496,
4626                 43239268, 6503645, 20650474, 1804084
4627 #endif
4628             }},
4629         },
4630         {
4631             {{
4632 #if defined(BORINGSSL_CURVE25519_64BIT)
4633                 1037263028552531, 568385780377829, 297953104144430,
4634                 1558584511931211, 2238221839292471
4635 #else
4636                 39519059, 15456423, 8972517, 8469608, 15640622, 4439847,
4637                 3121995, 23224719, 27842615, 33352104
4638 #endif
4639             }},
4640             {{
4641 #if defined(BORINGSSL_CURVE25519_64BIT)
4642                 190565267697443, 672855706028058, 338796554369226,
4643                 337687268493904, 853246848691734
4644 #else
4645                 51801891, 2839643, 22530074, 10026331, 4602058, 5048462,
4646                 28248656, 5031932, 55733782, 12714368
4647 #endif
4648             }},
4649             {{
4650 #if defined(BORINGSSL_CURVE25519_64BIT)
4651                 1763863028400139, 766498079432444, 1321118624818005,
4652                 69494294452268, 858786744165651
4653 #else
4654                 20807691, 26283607, 29286140, 11421711, 39232341, 19686201,
4655                 45881388, 1035545, 47375635, 12796919
4656 #endif
4657             }},
4658         },
4659         {
4660             {{
4661 #if defined(BORINGSSL_CURVE25519_64BIT)
4662                 1292056768563024, 1456632109855638, 1100631247050184,
4663                 1386133165675321, 1232898350193752
4664 #else
4665                 12076880, 19253146, 58323862, 21705509, 42096072, 16400683,
4666                 49517369, 20654993, 3480664, 18371617
4667 #endif
4668             }},
4669             {{
4670 #if defined(BORINGSSL_CURVE25519_64BIT)
4671                 366253102478259, 525676242508811, 1449610995265438,
4672                 1183300845322183, 185960306491545
4673 #else
4674                 34747315, 5457596, 28548107, 7833186, 7303070, 21600887,
4675                 42745799, 17632556, 33734809, 2771024
4676 #endif
4677             }},
4678             {{
4679 #if defined(BORINGSSL_CURVE25519_64BIT)
4680                 28315355815982, 460422265558930, 1799675876678724,
4681                 1969256312504498, 1051823843138725
4682 #else
4683                 45719598, 421931, 26597266, 6860826, 22486084, 26817260,
4684                 49971378, 29344205, 42556581, 15673396
4685 #endif
4686             }},
4687         },
4688         {
4689             {{
4690 #if defined(BORINGSSL_CURVE25519_64BIT)
4691                 156914999361983, 1606148405719949, 1665208410108430,
4692                 317643278692271, 1383783705665320
4693 #else
4694                 46924223, 2338215, 19788685, 23933476, 63107598, 24813538,
4695                 46837679, 4733253, 3727144, 20619984
4696 #endif
4697             }},
4698             {{
4699 #if defined(BORINGSSL_CURVE25519_64BIT)
4700                 54684536365732, 2210010038536222, 1194984798155308,
4701                 535239027773705, 1516355079301361
4702 #else
4703                 6120100, 814863, 55314462, 32931715, 6812204, 17806661, 2019593,
4704                 7975683, 31123697, 22595451
4705 #endif
4706             }},
4707             {{
4708 #if defined(BORINGSSL_CURVE25519_64BIT)
4709                 1484387703771650, 198537510937949, 2186282186359116,
4710                 617687444857508, 647477376402122
4711 #else
4712                 30069250, 22119100, 30434653, 2958439, 18399564, 32578143,
4713                 12296868, 9204260, 50676426, 9648164
4714 #endif
4715             }},
4716         },
4717         {
4718             {{
4719 #if defined(BORINGSSL_CURVE25519_64BIT)
4720                 2147715541830533, 500032538445817, 646380016884826,
4721                 352227855331122, 1488268620408052
4722 #else
4723                 32705413, 32003455, 30705657, 7451065, 55303258, 9631812,
4724                 3305266, 5248604, 41100532, 22176930
4725 #endif
4726             }},
4727             {{
4728 #if defined(BORINGSSL_CURVE25519_64BIT)
4729                 159386186465542, 1877626593362941, 618737197060512,
4730                 1026674284330807, 1158121760792685
4731 #else
4732                 17219846, 2375039, 35537917, 27978816, 47649184, 9219902,
4733                 294711, 15298639, 2662509, 17257359
4734 #endif
4735             }},
4736             {{
4737 #if defined(BORINGSSL_CURVE25519_64BIT)
4738                 1744544377739822, 1964054180355661, 1685781755873170,
4739                 2169740670377448, 1286112621104591
4740 #else
4741                 65935918, 25995736, 62742093, 29266687, 45762450, 25120105,
4742                 32087528, 32331655, 32247247, 19164571
4743 #endif
4744             }},
4745         },
4746         {
4747             {{
4748 #if defined(BORINGSSL_CURVE25519_64BIT)
4749                 81977249784993, 1667943117713086, 1668983819634866,
4750                 1605016835177615, 1353960708075544
4751 #else
4752                 14312609, 1221556, 17395390, 24854289, 62163122, 24869796,
4753                 38911119, 23916614, 51081240, 20175586
4754 #endif
4755             }},
4756             {{
4757 #if defined(BORINGSSL_CURVE25519_64BIT)
4758                 1602253788689063, 439542044889886, 2220348297664483,
4759                 657877410752869, 157451572512238
4760 #else
4761                 65680039, 23875441, 57873182, 6549686, 59725795, 33085767,
4762                 23046501, 9803137, 17597934, 2346211
4763 #endif
4764             }},
4765             {{
4766 #if defined(BORINGSSL_CURVE25519_64BIT)
4767                 1029287186166717, 65860128430192, 525298368814832,
4768                 1491902500801986, 1461064796385400
4769 #else
4770                 18510781, 15337574, 26171504, 981392, 44867312, 7827555,
4771                 43617730, 22231079, 3059832, 21771562
4772 #endif
4773             }},
4774         },
4775         {
4776             {{
4777 #if defined(BORINGSSL_CURVE25519_64BIT)
4778                 408216988729246, 2121095722306989, 913562102267595,
4779                 1879708920318308, 241061448436731
4780 #else
4781                 10141598, 6082907, 17829293, 31606789, 9830091, 13613136,
4782                 41552228, 28009845, 33606651, 3592095
4783 #endif
4784             }},
4785             {{
4786 #if defined(BORINGSSL_CURVE25519_64BIT)
4787                 1185483484383269, 1356339572588553, 584932367316448,
4788                 102132779946470, 1792922621116791
4789 #else
4790                 33114149, 17665080, 40583177, 20211034, 33076704, 8716171,
4791                 1151462, 1521897, 66126199, 26716628
4792 #endif
4793             }},
4794             {{
4795 #if defined(BORINGSSL_CURVE25519_64BIT)
4796                 1966196870701923, 2230044620318636, 1425982460745905,
4797                 261167817826569, 46517743394330
4798 #else
4799                 34169699, 29298616, 23947180, 33230254, 34035889, 21248794,
4800                 50471177, 3891703, 26353178, 693168
4801 #endif
4802             }},
4803         },
4804         {
4805             {{
4806 #if defined(BORINGSSL_CURVE25519_64BIT)
4807                 107077591595359, 884959942172345, 27306869797400,
4808                 2224911448949390, 964352058245223
4809 #else
4810                 30374239, 1595580, 50224825, 13186930, 4600344, 406904, 9585294,
4811                 33153764, 31375463, 14369965
4812 #endif
4813             }},
4814             {{
4815 #if defined(BORINGSSL_CURVE25519_64BIT)
4816                 1730194207717538, 431790042319772, 1831515233279467,
4817                 1372080552768581, 1074513929381760
4818 #else
4819                 52738210, 25781902, 1510300, 6434173, 48324075, 27291703,
4820                 32732229, 20445593, 17901440, 16011505
4821 #endif
4822             }},
4823             {{
4824 #if defined(BORINGSSL_CURVE25519_64BIT)
4825                 1450880638731607, 1019861580989005, 1229729455116861,
4826                 1174945729836143, 826083146840706
4827 #else
4828                 18171223, 21619806, 54608461, 15197121, 56070717, 18324396,
4829                 47936623, 17508055, 8764034, 12309598
4830 #endif
4831             }},
4832         },
4833     },
4834     {
4835         {
4836             {{
4837 #if defined(BORINGSSL_CURVE25519_64BIT)
4838                 1899935429242705, 1602068751520477, 940583196550370,
4839                 82431069053859, 1540863155745696
4840 #else
4841                 5975889, 28311244, 47649501, 23872684, 55567586, 14015781,
4842                 43443107, 1228318, 17544096, 22960650
4843 #endif
4844             }},
4845             {{
4846 #if defined(BORINGSSL_CURVE25519_64BIT)
4847                 2136688454840028, 2099509000964294, 1690800495246475,
4848                 1217643678575476, 828720645084218
4849 #else
4850                 5811932, 31839139, 3442886, 31285122, 48741515, 25194890,
4851                 49064820, 18144304, 61543482, 12348899
4852 #endif
4853             }},
4854             {{
4855 #if defined(BORINGSSL_CURVE25519_64BIT)
4856                 765548025667841, 462473984016099, 998061409979798,
4857                 546353034089527, 2212508972466858
4858 #else
4859                 35709185, 11407554, 25755363, 6891399, 63851926, 14872273,
4860                 42259511, 8141294, 56476330, 32968952
4861 #endif
4862             }},
4863         },
4864         {
4865             {{
4866 #if defined(BORINGSSL_CURVE25519_64BIT)
4867                 46575283771160, 892570971573071, 1281983193144090,
4868                 1491520128287375, 75847005908304
4869 #else
4870                 54433560, 694025, 62032719, 13300343, 14015258, 19103038,
4871                 57410191, 22225381, 30944592, 1130208
4872 #endif
4873             }},
4874             {{
4875 #if defined(BORINGSSL_CURVE25519_64BIT)
4876                 1801436127943107, 1734436817907890, 1268728090345068,
4877                 167003097070711, 2233597765834956
4878 #else
4879                 8247747, 26843490, 40546482, 25845122, 52706924, 18905521,
4880                 4652151, 2488540, 23550156, 33283200
4881 #endif
4882             }},
4883             {{
4884 #if defined(BORINGSSL_CURVE25519_64BIT)
4885                 1997562060465113, 1048700225534011, 7615603985628,
4886                 1855310849546841, 2242557647635213
4887 #else
4888                 17294297, 29765994, 7026747, 15626851, 22990044, 113481,
4889                 2267737, 27646286, 66700045, 33416712
4890 #endif
4891             }},
4892         },
4893         {
4894             {{
4895 #if defined(BORINGSSL_CURVE25519_64BIT)
4896                 1161017320376250, 492624580169043, 2169815802355237,
4897                 976496781732542, 1770879511019629
4898 #else
4899                 16091066, 17300506, 18599251, 7340678, 2137637, 32332775,
4900                 63744702, 14550935, 3260525, 26388161
4901 #endif
4902             }},
4903             {{
4904 #if defined(BORINGSSL_CURVE25519_64BIT)
4905                 1357044908364776, 729130645262438, 1762469072918979,
4906                 1365633616878458, 181282906404941
4907 #else
4908                 62198760, 20221544, 18550886, 10864893, 50649539, 26262835,
4909                 44079994, 20349526, 54360141, 2701325
4910 #endif
4911             }},
4912             {{
4913 #if defined(BORINGSSL_CURVE25519_64BIT)
4914                 1080413443139865, 1155205815510486, 1848782073549786,
4915                 622566975152580, 124965574467971
4916 #else
4917                 58534169, 16099414, 4629974, 17213908, 46322650, 27548999,
4918                 57090500, 9276970, 11329923, 1862132
4919 #endif
4920             }},
4921         },
4922         {
4923             {{
4924 #if defined(BORINGSSL_CURVE25519_64BIT)
4925                 1184526762066993, 247622751762817, 692129017206356,
4926                 820018689412496, 2188697339828085
4927 #else
4928                 14763057, 17650824, 36190593, 3689866, 3511892, 10313526,
4929                 45157776, 12219230, 58070901, 32614131
4930 #endif
4931             }},
4932             {{
4933 #if defined(BORINGSSL_CURVE25519_64BIT)
4934                 2020536369003019, 202261491735136, 1053169669150884,
4935                 2056531979272544, 778165514694311
4936 #else
4937                 8894987, 30108338, 6150752, 3013931, 301220, 15693451, 35127648,
4938                 30644714, 51670695, 11595569
4939 #endif
4940             }},
4941             {{
4942 #if defined(BORINGSSL_CURVE25519_64BIT)
4943                 237404399610207, 1308324858405118, 1229680749538400,
4944                 720131409105291, 1958958863624906
4945 #else
4946                 15214943, 3537601, 40870142, 19495559, 4418656, 18323671,
4947                 13947275, 10730794, 53619402, 29190761
4948 #endif
4949             }},
4950         },
4951         {
4952             {{
4953 #if defined(BORINGSSL_CURVE25519_64BIT)
4954                 515583508038846, 17656978857189, 1717918437373989,
4955                 1568052070792483, 46975803123923
4956 #else
4957                 64570558, 7682792, 32759013, 263109, 37124133, 25598979,
4958                 44776739, 23365796, 977107, 699994
4959 #endif
4960             }},
4961             {{
4962 #if defined(BORINGSSL_CURVE25519_64BIT)
4963                 281527309158085, 36970532401524, 866906920877543,
4964                 2222282602952734, 1289598729589882
4965 #else
4966                 54642373, 4195083, 57897332, 550903, 51543527, 12917919,
4967                 19118110, 33114591, 36574330, 19216518
4968 #endif
4969             }},
4970             {{
4971 #if defined(BORINGSSL_CURVE25519_64BIT)
4972                 1278207464902042, 494742455008756, 1262082121427081,
4973                 1577236621659884, 1888786707293291
4974 #else
4975                 31788442, 19046775, 4799988, 7372237, 8808585, 18806489,
4976                 9408236, 23502657, 12493931, 28145115
4977 #endif
4978             }},
4979         },
4980         {
4981             {{
4982 #if defined(BORINGSSL_CURVE25519_64BIT)
4983                 353042527954210, 1830056151907359, 1111731275799225,
4984                 174960955838824, 404312815582675
4985 #else
4986                 41428258, 5260743, 47873055, 27269961, 63412921, 16566086,
4987                 27218280, 2607121, 29375955, 6024730
4988 #endif
4989             }},
4990             {{
4991 #if defined(BORINGSSL_CURVE25519_64BIT)
4992                 2064251142068628, 1666421603389706, 1419271365315441,
4993                 468767774902855, 191535130366583
4994 #else
4995                 842132, 30759739, 62345482, 24831616, 26332017, 21148791,
4996                 11831879, 6985184, 57168503, 2854095
4997 #endif
4998             }},
4999             {{
5000 #if defined(BORINGSSL_CURVE25519_64BIT)
5001                 1716987058588002, 1859366439773457, 1767194234188234,
5002                 64476199777924, 1117233614485261
5003 #else
5004                 62261602, 25585100, 2516241, 27706719, 9695690, 26333246,
5005                 16512644, 960770, 12121869, 16648078
5006 #endif
5007             }},
5008         },
5009         {
5010             {{
5011 #if defined(BORINGSSL_CURVE25519_64BIT)
5012                 984292135520292, 135138246951259, 2220652137473167,
5013                 1722843421165029, 190482558012909
5014 #else
5015                 51890212, 14667095, 53772635, 2013716, 30598287, 33090295,
5016                 35603941, 25672367, 20237805, 2838411
5017 #endif
5018             }},
5019             {{
5020 #if defined(BORINGSSL_CURVE25519_64BIT)
5021                 298845952651262, 1166086588952562, 1179896526238434,
5022                 1347812759398693, 1412945390096208
5023 #else
5024                 47820798, 4453151, 15298546, 17376044, 22115042, 17581828,
5025                 12544293, 20083975, 1068880, 21054527
5026 #endif
5027             }},
5028             {{
5029 #if defined(BORINGSSL_CURVE25519_64BIT)
5030                 1143239552672925, 906436640714209, 2177000572812152,
5031                 2075299936108548, 325186347798433
5032 #else
5033                 57549981, 17035596, 33238497, 13506958, 30505848, 32439836,
5034                 58621956, 30924378, 12521377, 4845654
5035 #endif
5036             }},
5037         },
5038         {
5039             {{
5040 #if defined(BORINGSSL_CURVE25519_64BIT)
5041                 721024854374772, 684487861263316, 1373438744094159,
5042                 2193186935276995, 1387043709851261
5043 #else
5044                 38910324, 10744107, 64150484, 10199663, 7759311, 20465832,
5045                 3409347, 32681032, 60626557, 20668561
5046 #endif
5047             }},
5048             {{
5049 #if defined(BORINGSSL_CURVE25519_64BIT)
5050                 418098668140962, 715065997721283, 1471916138376055,
5051                 2168570337288357, 937812682637044
5052 #else
5053                 43547042, 6230155, 46726851, 10655313, 43068279, 21933259,
5054                 10477733, 32314216, 63995636, 13974497
5055 #endif
5056             }},
5057             {{
5058 #if defined(BORINGSSL_CURVE25519_64BIT)
5059                 1043584187226485, 2143395746619356, 2209558562919611,
5060                 482427979307092, 847556718384018
5061 #else
5062                 12966261, 15550616, 35069916, 31939085, 21025979, 32924988,
5063                 5642324, 7188737, 18895762, 12629579
5064 #endif
5065             }},
5066         },
5067     },
5068     {
5069         {
5070             {{
5071 #if defined(BORINGSSL_CURVE25519_64BIT)
5072                 1248731221520759, 1465200936117687, 540803492710140,
5073                 52978634680892, 261434490176109
5074 #else
5075                 14741879, 18607545, 22177207, 21833195, 1279740, 8058600,
5076                 11758140, 789443, 32195181, 3895677
5077 #endif
5078             }},
5079             {{
5080 #if defined(BORINGSSL_CURVE25519_64BIT)
5081                 1057329623869501, 620334067429122, 461700859268034,
5082                 2012481616501857, 297268569108938
5083 #else
5084                 10758205, 15755439, 62598914, 9243697, 62229442, 6879878,
5085                 64904289, 29988312, 58126794, 4429646
5086 #endif
5087             }},
5088             {{
5089 #if defined(BORINGSSL_CURVE25519_64BIT)
5090                 1055352180870759, 1553151421852298, 1510903185371259,
5091                 1470458349428097, 1226259419062731
5092 #else
5093                 64654951, 15725972, 46672522, 23143759, 61304955, 22514211,
5094                 59972993, 21911536, 18047435, 18272689
5095 #endif
5096             }},
5097         },
5098         {
5099             {{
5100 #if defined(BORINGSSL_CURVE25519_64BIT)
5101                 1492988790301668, 790326625573331, 1190107028409745,
5102                 1389394752159193, 1620408196604194
5103 #else
5104                 41935844, 22247266, 29759955, 11776784, 44846481, 17733976,
5105                 10993113, 20703595, 49488162, 24145963
5106 #endif
5107             }},
5108             {{
5109 #if defined(BORINGSSL_CURVE25519_64BIT)
5110                 47000654413729, 1004754424173864, 1868044813557703,
5111                 173236934059409, 588771199737015
5112 #else
5113                 21987233, 700364, 42603816, 14972007, 59334599, 27836036,
5114                 32155025, 2581431, 37149879, 8773374
5115 #endif
5116             }},
5117             {{
5118 #if defined(BORINGSSL_CURVE25519_64BIT)
5119                 30498470091663, 1082245510489825, 576771653181956,
5120                 806509986132686, 1317634017056939
5121 #else
5122                 41540495, 454462, 53896929, 16126714, 25240068, 8594567,
5123                 20656846, 12017935, 59234475, 19634276
5124 #endif
5125             }},
5126         },
5127         {
5128             {{
5129 #if defined(BORINGSSL_CURVE25519_64BIT)
5130                 420308055751555, 1493354863316002, 165206721528088,
5131                 1884845694919786, 2065456951573059
5132 #else
5133                 6028163, 6263078, 36097058, 22252721, 66289944, 2461771,
5134                 35267690, 28086389, 65387075, 30777706
5135 #endif
5136             }},
5137             {{
5138 #if defined(BORINGSSL_CURVE25519_64BIT)
5139                 1115636332012334, 1854340990964155, 83792697369514,
5140                 1972177451994021, 457455116057587
5141 #else
5142                 54829870, 16624276, 987579, 27631834, 32908202, 1248608,
5143                 7719845, 29387734, 28408819, 6816612
5144 #endif
5145             }},
5146             {{
5147 #if defined(BORINGSSL_CURVE25519_64BIT)
5148                 1698968457310898, 1435137169051090, 1083661677032510,
5149                 938363267483709, 340103887207182
5150 #else
5151                 56750770, 25316602, 19549650, 21385210, 22082622, 16147817,
5152                 20613181, 13982702, 56769294, 5067942
5153 #endif
5154             }},
5155         },
5156         {
5157             {{
5158 #if defined(BORINGSSL_CURVE25519_64BIT)
5159                 1995325341336574, 911500251774648, 164010755403692,
5160                 855378419194762, 1573601397528842
5161 #else
5162                 36602878, 29732664, 12074680, 13582412, 47230892, 2443950,
5163                 47389578, 12746131, 5331210, 23448488
5164 #endif
5165             }},
5166             {{
5167 #if defined(BORINGSSL_CURVE25519_64BIT)
5168                 241719380661528, 310028521317150, 1215881323380194,
5169                 1408214976493624, 2141142156467363
5170 #else
5171                 30528792, 3601899, 65151774, 4619784, 39747042, 18118043,
5172                 24180792, 20984038, 27679907, 31905504
5173 #endif
5174             }},
5175             {{
5176 #if defined(BORINGSSL_CURVE25519_64BIT)
5177                 1315157046163473, 727368447885818, 1363466668108618,
5178                 1668921439990361, 1398483384337907
5179 #else
5180                 9402385, 19597367, 32834042, 10838634, 40528714, 20317236,
5181                 26653273, 24868867, 22611443, 20839026
5182 #endif
5183             }},
5184         },
5185         {
5186             {{
5187 #if defined(BORINGSSL_CURVE25519_64BIT)
5188                 75029678299646, 1015388206460473, 1849729037055212,
5189                 1939814616452984, 444404230394954
5190 #else
5191                 22190590, 1118029, 22736441, 15130463, 36648172, 27563110,
5192                 19189624, 28905490, 4854858, 6622139
5193 #endif
5194             }},
5195             {{
5196 #if defined(BORINGSSL_CURVE25519_64BIT)
5197                 2053597130993710, 2024431685856332, 2233550957004860,
5198                 2012407275509545, 872546993104440
5199 #else
5200                 58798126, 30600981, 58846284, 30166382, 56707132, 33282502,
5201                 13424425, 29987205, 26404408, 13001963
5202 #endif
5203             }},
5204             {{
5205 #if defined(BORINGSSL_CURVE25519_64BIT)
5206                 1217269667678610, 599909351968693, 1390077048548598,
5207                 1471879360694802, 739586172317596
5208 #else
5209                 35867026, 18138731, 64114613, 8939345, 11562230, 20713762,
5210                 41044498, 21932711, 51703708, 11020692
5211 #endif
5212             }},
5213         },
5214         {
5215             {{
5216 #if defined(BORINGSSL_CURVE25519_64BIT)
5217                 1718318639380794, 1560510726633958, 904462881159922,
5218                 1418028351780052, 94404349451937
5219 #else
5220                 1866042, 25604943, 59210214, 23253421, 12483314, 13477547,
5221                 3175636, 21130269, 28761761, 1406734
5222 #endif
5223             }},
5224             {{
5225 #if defined(BORINGSSL_CURVE25519_64BIT)
5226                 2132502667405250, 214379346175414, 1502748313768060,
5227                 1960071701057800, 1353971822643138
5228 #else
5229                 66660290, 31776765, 13018550, 3194501, 57528444, 22392694,
5230                 24760584, 29207344, 25577410, 20175752
5231 #endif
5232             }},
5233             {{
5234 #if defined(BORINGSSL_CURVE25519_64BIT)
5235                 319394212043702, 2127459436033571, 717646691535162,
5236                 663366796076914, 318459064945314
5237 #else
5238                 42818486, 4759344, 66418211, 31701615, 2066746, 10693769,
5239                 37513074, 9884935, 57739938, 4745409
5240 #endif
5241             }},
5242         },
5243         {
5244             {{
5245 #if defined(BORINGSSL_CURVE25519_64BIT)
5246                 405989424923593, 1960452633787083, 667349034401665,
5247                 1492674260767112, 1451061489880787
5248 #else
5249                 57967561, 6049713, 47577803, 29213020, 35848065, 9944275,
5250                 51646856, 22242579, 10931923, 21622501
5251 #endif
5252             }},
5253             {{
5254 #if defined(BORINGSSL_CURVE25519_64BIT)
5255                 947085906234007, 323284730494107, 1485778563977200,
5256                 728576821512394, 901584347702286
5257 #else
5258                 50547351, 14112679, 59096219, 4817317, 59068400, 22139825,
5259                 44255434, 10856640, 46638094, 13434653
5260 #endif
5261             }},
5262             {{
5263 #if defined(BORINGSSL_CURVE25519_64BIT)
5264                 1575783124125742, 2126210792434375, 1569430791264065,
5265                 1402582372904727, 1891780248341114
5266 #else
5267                 22759470, 23480998, 50342599, 31683009, 13637441, 23386341,
5268                 1765143, 20900106, 28445306, 28189722
5269 #endif
5270             }},
5271         },
5272         {
5273             {{
5274 #if defined(BORINGSSL_CURVE25519_64BIT)
5275                 838432205560695, 1997703511451664, 1018791879907867,
5276                 1662001808174331, 78328132957753
5277 #else
5278                 29875063, 12493613, 2795536, 29768102, 1710619, 15181182,
5279                 56913147, 24765756, 9074233, 1167180
5280 #endif
5281             }},
5282             {{
5283 #if defined(BORINGSSL_CURVE25519_64BIT)
5284                 739152638255629, 2074935399403557, 505483666745895,
5285                 1611883356514088, 628654635394878
5286 #else
5287                 40903181, 11014232, 57266213, 30918946, 40200743, 7532293,
5288                 48391976, 24018933, 3843902, 9367684
5289 #endif
5290             }},
5291             {{
5292 #if defined(BORINGSSL_CURVE25519_64BIT)
5293                 1822054032121349, 643057948186973, 7306757352712,
5294                 577249257962099, 284735863382083
5295 #else
5296                 56139269, 27150720, 9591133, 9582310, 11349256, 108879,
5297                 16235123, 8601684, 66969667, 4242894
5298 #endif
5299             }},
5300         },
5301     },
5302     {
5303         {
5304             {{
5305 #if defined(BORINGSSL_CURVE25519_64BIT)
5306                 1366558556363930, 1448606567552086, 1478881020944768,
5307                 165803179355898, 1115718458123498
5308 #else
5309                 22092954, 20363309, 65066070, 21585919, 32186752, 22037044,
5310                 60534522, 2470659, 39691498, 16625500
5311 #endif
5312             }},
5313             {{
5314 #if defined(BORINGSSL_CURVE25519_64BIT)
5315                 204146226972102, 1630511199034723, 2215235214174763,
5316                 174665910283542, 956127674017216
5317 #else
5318                 56051142, 3042015, 13770083, 24296510, 584235, 33009577,
5319                 59338006, 2602724, 39757248, 14247412
5320 #endif
5321             }},
5322             {{
5323 #if defined(BORINGSSL_CURVE25519_64BIT)
5324                 1562934578796716, 1070893489712745, 11324610642270,
5325                 958989751581897, 2172552325473805
5326 #else
5327                 6314156, 23289540, 34336361, 15957556, 56951134, 168749,
5328                 58490057, 14290060, 27108877, 32373552
5329 #endif
5330             }},
5331         },
5332         {
5333             {{
5334 #if defined(BORINGSSL_CURVE25519_64BIT)
5335                 1770564423056027, 735523631664565, 1326060113795289,
5336                 1509650369341127, 65892421582684
5337 #else
5338                 58522267, 26383465, 13241781, 10960156, 34117849, 19759835,
5339                 33547975, 22495543, 39960412, 981873
5340 #endif
5341             }},
5342             {{
5343 #if defined(BORINGSSL_CURVE25519_64BIT)
5344                 623682558650637, 1337866509471512, 990313350206649,
5345                 1314236615762469, 1164772974270275
5346 #else
5347                 22833421, 9293594, 34459416, 19935764, 57971897, 14756818,
5348                 44180005, 19583651, 56629059, 17356469
5349 #endif
5350             }},
5351             {{
5352 #if defined(BORINGSSL_CURVE25519_64BIT)
5353                 223256821462517, 723690150104139, 1000261663630601,
5354                 933280913953265, 254872671543046
5355 #else
5356                 59340277, 3326785, 38997067, 10783823, 19178761, 14905060,
5357                 22680049, 13906969, 51175174, 3797898
5358 #endif
5359             }},
5360         },
5361         {
5362             {{
5363 #if defined(BORINGSSL_CURVE25519_64BIT)
5364                 1969087237026041, 624795725447124, 1335555107635969,
5365                 2069986355593023, 1712100149341902
5366 #else
5367                 21721337, 29341686, 54902740, 9310181, 63226625, 19901321,
5368                 23740223, 30845200, 20491982, 25512280
5369 #endif
5370             }},
5371             {{
5372 #if defined(BORINGSSL_CURVE25519_64BIT)
5373                 1236103475266979, 1837885883267218, 1026072585230455,
5374                 1025865513954973, 1801964901432134
5375 #else
5376                 9209251, 18419377, 53852306, 27386633, 66377847, 15289672,
5377                 25947805, 15286587, 30997318, 26851369
5378 #endif
5379             }},
5380             {{
5381 #if defined(BORINGSSL_CURVE25519_64BIT)
5382                 1115241013365517, 1712251818829143, 2148864332502771,
5383                 2096001471438138, 2235017246626125
5384 #else
5385                 7392013, 16618386, 23946583, 25514540, 53843699, 32020573,
5386                 52911418, 31232855, 17649997, 33304352
5387 #endif
5388             }},
5389         },
5390         {
5391             {{
5392 #if defined(BORINGSSL_CURVE25519_64BIT)
5393                 1299268198601632, 2047148477845621, 2165648650132450,
5394                 1612539282026145, 514197911628890
5395 #else
5396                 57807776, 19360604, 30609525, 30504889, 41933794, 32270679,
5397                 51867297, 24028707, 64875610, 7662145
5398 #endif
5399             }},
5400             {{
5401 #if defined(BORINGSSL_CURVE25519_64BIT)
5402                 118352772338543, 1067608711804704, 1434796676193498,
5403                 1683240170548391, 230866769907437
5404 #else
5405                 49550191, 1763593, 33994528, 15908609, 37067994, 21380136,
5406                 7335079, 25082233, 63934189, 3440182
5407 #endif
5408             }},
5409             {{
5410 #if defined(BORINGSSL_CURVE25519_64BIT)
5411                 1850689576796636, 1601590730430274, 1139674615958142,
5412                 1954384401440257, 76039205311
5413 #else
5414                 47219164, 27577423, 42997570, 23865561, 10799742, 16982475,
5415                 40449, 29122597, 4862399, 1133
5416 #endif
5417             }},
5418         },
5419         {
5420             {{
5421 #if defined(BORINGSSL_CURVE25519_64BIT)
5422                 1723387471374172, 997301467038410, 533927635123657,
5423                 20928644693965, 1756575222802513
5424 #else
5425                 34252636, 25680474, 61686474, 14860949, 50789833, 7956141,
5426                 7258061, 311861, 36513873, 26175010
5427 #endif
5428             }},
5429             {{
5430 #if defined(BORINGSSL_CURVE25519_64BIT)
5431                 2146711623855116, 503278928021499, 625853062251406,
5432                 1109121378393107, 1033853809911861
5433 #else
5434                 63335436, 31988495, 28985339, 7499440, 24445838, 9325937,
5435                 29727763, 16527196, 18278453, 15405622
5436 #endif
5437             }},
5438             {{
5439 #if defined(BORINGSSL_CURVE25519_64BIT)
5440                 571005965509422, 2005213373292546, 1016697270349626,
5441                 56607856974274, 914438579435146
5442 #else
5443                 62726958, 8508651, 47210498, 29880007, 61124410, 15149969,
5444                 53795266, 843522, 45233802, 13626196
5445 #endif
5446             }},
5447         },
5448         {
5449             {{
5450 #if defined(BORINGSSL_CURVE25519_64BIT)
5451                 1346698876211176, 2076651707527589, 1084761571110205,
5452                 265334478828406, 1068954492309671
5453 #else
5454                 2281448, 20067377, 56193445, 30944521, 1879357, 16164207,
5455                 56324982, 3953791, 13340839, 15928663
5456 #endif
5457             }},
5458             {{
5459 #if defined(BORINGSSL_CURVE25519_64BIT)
5460                 1769967932677654, 1695893319756416, 1151863389675920,
5461                 1781042784397689, 400287774418285
5462 #else
5463                 31727126, 26374577, 48671360, 25270779, 2875792, 17164102,
5464                 41838969, 26539605, 43656557, 5964752
5465 #endif
5466             }},
5467             {{
5468 #if defined(BORINGSSL_CURVE25519_64BIT)
5469                 1851867764003121, 403841933237558, 820549523771987,
5470                 761292590207581, 1743735048551143
5471 #else
5472                 4100401, 27594980, 49929526, 6017713, 48403027, 12227140,
5473                 40424029, 11344143, 2538215, 25983677
5474 #endif
5475             }},
5476         },
5477         {
5478             {{
5479 #if defined(BORINGSSL_CURVE25519_64BIT)
5480                 410915148140008, 2107072311871739, 1004367461876503,
5481                 99684895396761, 1180818713503224
5482 #else
5483                 57675240, 6123112, 11159803, 31397824, 30016279, 14966241,
5484                 46633881, 1485420, 66479608, 17595569
5485 #endif
5486             }},
5487             {{
5488 #if defined(BORINGSSL_CURVE25519_64BIT)
5489                 285945406881439, 648174397347453, 1098403762631981,
5490                 1366547441102991, 1505876883139217
5491 #else
5492                 40304287, 4260918, 11851389, 9658551, 35091757, 16367491,
5493                 46903439, 20363143, 11659921, 22439314
5494 #endif
5495             }},
5496             {{
5497 #if defined(BORINGSSL_CURVE25519_64BIT)
5498                 672095903120153, 1675918957959872, 636236529315028,
5499                 1569297300327696, 2164144194785875
5500 #else
5501                 26180377, 10015009, 36264640, 24973138, 5418196, 9480663,
5502                 2231568, 23384352, 33100371, 32248261
5503 #endif
5504             }},
5505         },
5506         {
5507             {{
5508 #if defined(BORINGSSL_CURVE25519_64BIT)
5509                 1902708175321798, 1035343530915438, 1178560808893263,
5510                 301095684058146, 1280977479761118
5511 #else
5512                 15121094, 28352561, 56718958, 15427820, 39598927, 17561924,
5513                 21670946, 4486675, 61177054, 19088051
5514 #endif
5515             }},
5516             {{
5517 #if defined(BORINGSSL_CURVE25519_64BIT)
5518                 1615357281742403, 404257611616381, 2160201349780978,
5519                 1160947379188955, 1578038619549541
5520 #else
5521                 16166467, 24070699, 56004733, 6023907, 35182066, 32189508,
5522                 2340059, 17299464, 56373093, 23514607
5523 #endif
5524             }},
5525             {{
5526 #if defined(BORINGSSL_CURVE25519_64BIT)
5527                 2013087639791217, 822734930507457, 1785668418619014,
5528                 1668650702946164, 389450875221715
5529 #else
5530                 28042865, 29997343, 54982337, 12259705, 63391366, 26608532,
5531                 6766452, 24864833, 18036435, 5803270
5532 #endif
5533             }},
5534         },
5535     },
5536     {
5537         {
5538             {{
5539 #if defined(BORINGSSL_CURVE25519_64BIT)
5540                 453918449698368, 106406819929001, 2072540975937135,
5541                 308588860670238, 1304394580755385
5542 #else
5543                 66291264, 6763911, 11803561, 1585585, 10958447, 30883267,
5544                 23855390, 4598332, 60949433, 19436993
5545 #endif
5546             }},
5547             {{
5548 #if defined(BORINGSSL_CURVE25519_64BIT)
5549                 1295082798350326, 2091844511495996, 1851348972587817,
5550                 3375039684596, 789440738712837
5551 #else
5552                 36077558, 19298237, 17332028, 31170912, 31312681, 27587249,
5553                 696308, 50292, 47013125, 11763583
5554 #endif
5555             }},
5556             {{
5557 #if defined(BORINGSSL_CURVE25519_64BIT)
5558                 2083069137186154, 848523102004566, 993982213589257,
5559                 1405313299916317, 1532824818698468
5560 #else
5561                 66514282, 31040148, 34874710, 12643979, 12650761, 14811489,
5562                 665117, 20940800, 47335652, 22840869
5563 #endif
5564             }},
5565         },
5566         {
5567             {{
5568 #if defined(BORINGSSL_CURVE25519_64BIT)
5569                 1495961298852430, 1397203457344779, 1774950217066942,
5570                 139302743555696, 66603584342787
5571 #else
5572                 30464590, 22291560, 62981387, 20819953, 19835326, 26448819,
5573                 42712688, 2075772, 50088707, 992470
5574 #endif
5575             }},
5576             {{
5577 #if defined(BORINGSSL_CURVE25519_64BIT)
5578                 1782411379088302, 1096724939964781, 27593390721418,
5579                 542241850291353, 1540337798439873
5580 #else
5581                 18357166, 26559999, 7766381, 16342475, 37783946, 411173,
5582                 14578841, 8080033, 55534529, 22952821
5583 #endif
5584             }},
5585             {{
5586 #if defined(BORINGSSL_CURVE25519_64BIT)
5587                 693543956581437, 171507720360750, 1557908942697227,
5588                 1074697073443438, 1104093109037196
5589 #else
5590                 19598397, 10334610, 12555054, 2555664, 18821899, 23214652,
5591                 21873262, 16014234, 26224780, 16452269
5592 #endif
5593             }},
5594         },
5595         {
5596             {{
5597 #if defined(BORINGSSL_CURVE25519_64BIT)
5598                 345288228393419, 1099643569747172, 134881908403743,
5599                 1740551994106740, 248212179299770
5600 #else
5601                 36884939, 5145195, 5944548, 16385966, 3976735, 2009897,
5602                 55731060, 25936245, 46575034, 3698649
5603 #endif
5604             }},
5605             {{
5606 #if defined(BORINGSSL_CURVE25519_64BIT)
5607                 231429562203065, 1526290236421172, 2021375064026423,
5608                 1520954495658041, 806337791525116
5609 #else
5610                 14187449, 3448569, 56472628, 22743496, 44444983, 30120835,
5611                 7268409, 22663988, 27394300, 12015369
5612 #endif
5613             }},
5614             {{
5615 #if defined(BORINGSSL_CURVE25519_64BIT)
5616                 1079623667189886, 872403650198613, 766894200588288,
5617                 2163700860774109, 2023464507911816
5618 #else
5619                 19695742, 16087646, 28032085, 12999827, 6817792, 11427614,
5620                 20244189, 32241655, 53849736, 30151970
5621 #endif
5622             }},
5623         },
5624         {
5625             {{
5626 #if defined(BORINGSSL_CURVE25519_64BIT)
5627                 854645372543796, 1936406001954827, 151460662541253,
5628                 825325739271555, 1554306377287556
5629 #else
5630                 30860084, 12735208, 65220619, 28854697, 50133957, 2256939,
5631                 58942851, 12298311, 58558340, 23160969
5632 #endif
5633             }},
5634             {{
5635 #if defined(BORINGSSL_CURVE25519_64BIT)
5636                 1497138821904622, 1044820250515590, 1742593886423484,
5637                 1237204112746837, 849047450816987
5638 #else
5639                 61389038, 22309106, 65198214, 15569034, 26642876, 25966672,
5640                 61319509, 18435777, 62132699, 12651792
5641 #endif
5642             }},
5643             {{
5644 #if defined(BORINGSSL_CURVE25519_64BIT)
5645                 667962773375330, 1897271816877105, 1399712621683474,
5646                 1143302161683099, 2081798441209593
5647 #else
5648                 64260450, 9953420, 11531313, 28271553, 26895122, 20857343,
5649                 53990043, 17036529, 9768697, 31021214
5650 #endif
5651             }},
5652         },
5653         {
5654             {{
5655 #if defined(BORINGSSL_CURVE25519_64BIT)
5656                 127147851567005, 1936114012888110, 1704424366552046,
5657                 856674880716312, 716603621335359
5658 #else
5659                 42389405, 1894650, 66821166, 28850346, 15348718, 25397902,
5660                 32767512, 12765450, 4940095, 10678226
5661 #endif
5662             }},
5663             {{
5664 #if defined(BORINGSSL_CURVE25519_64BIT)
5665                 1072409664800960, 2146937497077528, 1508780108920651,
5666                 935767602384853, 1112800433544068
5667 #else
5668                 18860224, 15980149, 48121624, 31991861, 40875851, 22482575,
5669                 59264981, 13944023, 42736516, 16582018
5670 #endif
5671             }},
5672             {{
5673 #if defined(BORINGSSL_CURVE25519_64BIT)
5674                 333549023751292, 280219272863308, 2104176666454852,
5675                 1036466864875785, 536135186520207
5676 #else
5677                 51604604, 4970267, 37215820, 4175592, 46115652, 31354675,
5678                 55404809, 15444559, 56105103, 7989036
5679 #endif
5680             }},
5681         },
5682         {
5683             {{
5684 #if defined(BORINGSSL_CURVE25519_64BIT)
5685                 373666279883137, 146457241530109, 304116267127857,
5686                 416088749147715, 1258577131183391
5687 #else
5688                 31490433, 5568061, 64696061, 2182382, 34772017, 4531685,
5689                 35030595, 6200205, 47422751, 18754260
5690 #endif
5691             }},
5692             {{
5693 #if defined(BORINGSSL_CURVE25519_64BIT)
5694                 1186115062588401, 2251609796968486, 1098944457878953,
5695                 1153112761201374, 1791625503417267
5696 #else
5697                 49800177, 17674491, 35586086, 33551600, 34221481, 16375548,
5698                 8680158, 17182719, 28550067, 26697300
5699 #endif
5700             }},
5701             {{
5702 #if defined(BORINGSSL_CURVE25519_64BIT)
5703                 1870078460219737, 2129630962183380, 852283639691142,
5704                 292865602592851, 401904317342226
5705 #else
5706                 38981977, 27866340, 16837844, 31733974, 60258182, 12700015,
5707                 37068883, 4364037, 1155602, 5988841
5708 #endif
5709             }},
5710         },
5711         {
5712             {{
5713 #if defined(BORINGSSL_CURVE25519_64BIT)
5714                 1361070124828035, 815664541425524, 1026798897364671,
5715                 1951790935390647, 555874891834790
5716 #else
5717                 21890435, 20281525, 54484852, 12154348, 59276991, 15300495,
5718                 23148983, 29083951, 24618406, 8283181
5719 #endif
5720             }},
5721             {{
5722 #if defined(BORINGSSL_CURVE25519_64BIT)
5723                 1546301003424277, 459094500062839, 1097668518375311,
5724                 1780297770129643, 720763293687608
5725 #else
5726                 33972757, 23041680, 9975415, 6841041, 35549071, 16356535,
5727                 3070187, 26528504, 1466168, 10740210
5728 #endif
5729             }},
5730             {{
5731 #if defined(BORINGSSL_CURVE25519_64BIT)
5732                 1212405311403990, 1536693382542438, 61028431067459,
5733                 1863929423417129, 1223219538638038
5734 #else
5735                 65599446, 18066246, 53605478, 22898515, 32799043, 909394,
5736                 53169961, 27774712, 34944214, 18227391
5737 #endif
5738             }},
5739         },
5740         {
5741             {{
5742 #if defined(BORINGSSL_CURVE25519_64BIT)
5743                 1294303766540260, 1183557465955093, 882271357233093,
5744                 63854569425375, 2213283684565087
5745 #else
5746                 3960804, 19286629, 39082773, 17636380, 47704005, 13146867,
5747                 15567327, 951507, 63848543, 32980496
5748 #endif
5749             }},
5750             {{
5751 #if defined(BORINGSSL_CURVE25519_64BIT)
5752                 339050984211414, 601386726509773, 413735232134068,
5753                 966191255137228, 1839475899458159
5754 #else
5755                 24740822, 5052253, 37014733, 8961360, 25877428, 6165135,
5756                 42740684, 14397371, 59728495, 27410326
5757 #endif
5758             }},
5759             {{
5760 #if defined(BORINGSSL_CURVE25519_64BIT)
5761                 235605972169408, 2174055643032978, 1538335001838863,
5762                 1281866796917192, 1815940222628465
5763 #else
5764                 38220480, 3510802, 39005586, 32395953, 55870735, 22922977,
5765                 51667400, 19101303, 65483377, 27059617
5766 #endif
5767             }},
5768         },
5769     },
5770     {
5771         {
5772             {{
5773 #if defined(BORINGSSL_CURVE25519_64BIT)
5774                 1632352921721536, 1833328609514701, 2092779091951987,
5775                 1923956201873226, 2210068022482919
5776 #else
5777                 793280, 24323954, 8836301, 27318725, 39747955, 31184838,
5778                 33152842, 28669181, 57202663, 32932579
5779 #endif
5780             }},
5781             {{
5782 #if defined(BORINGSSL_CURVE25519_64BIT)
5783                 35271216625062, 1712350667021807, 983664255668860,
5784                 98571260373038, 1232645608559836
5785 #else
5786                 5666214, 525582, 20782575, 25516013, 42570364, 14657739,
5787                 16099374, 1468826, 60937436, 18367850
5788 #endif
5789             }},
5790             {{
5791 #if defined(BORINGSSL_CURVE25519_64BIT)
5792                 1998172393429622, 1798947921427073, 784387737563581,
5793                 1589352214827263, 1589861734168180
5794 #else
5795                 62249590, 29775088, 64191105, 26806412, 7778749, 11688288,
5796                 36704511, 23683193, 65549940, 23690785
5797 #endif
5798             }},
5799         },
5800         {
5801             {{
5802 #if defined(BORINGSSL_CURVE25519_64BIT)
5803                 1733739258725305, 31715717059538, 201969945218860,
5804                 992093044556990, 1194308773174556
5805 #else
5806                 10896313, 25834728, 824274, 472601, 47648556, 3009586, 25248958,
5807                 14783338, 36527388, 17796587
5808 #endif
5809             }},
5810             {{
5811 #if defined(BORINGSSL_CURVE25519_64BIT)
5812                 846415389605137, 746163495539180, 829658752826080,
5813                 592067705956946, 957242537821393
5814 #else
5815                 10566929, 12612572, 35164652, 11118702, 54475488, 12362878,
5816                 21752402, 8822496, 24003793, 14264025
5817 #endif
5818             }},
5819             {{
5820 #if defined(BORINGSSL_CURVE25519_64BIT)
5821                 1758148849754419, 619249044817679, 168089007997045,
5822                 1371497636330523, 1867101418880350
5823 #else
5824                 27713843, 26198459, 56100623, 9227529, 27050101, 2504721,
5825                 23886875, 20436907, 13958494, 27821979
5826 #endif
5827             }},
5828         },
5829         {
5830             {{
5831 #if defined(BORINGSSL_CURVE25519_64BIT)
5832                 326633984209635, 261759506071016, 1700682323676193,
5833                 1577907266349064, 1217647663383016
5834 #else
5835                 43627235, 4867225, 39861736, 3900520, 29838369, 25342141,
5836                 35219464, 23512650, 7340520, 18144364
5837 #endif
5838             }},
5839             {{
5840 #if defined(BORINGSSL_CURVE25519_64BIT)
5841                 1714182387328607, 1477856482074168, 574895689942184,
5842                 2159118410227270, 1555532449716575
5843 #else
5844                 4646495, 25543308, 44342840, 22021777, 23184552, 8566613,
5845                 31366726, 32173371, 52042079, 23179239
5846 #endif
5847             }},
5848             {{
5849 #if defined(BORINGSSL_CURVE25519_64BIT)
5850                 853828206885131, 998498946036955, 1835887550391235,
5851                 207627336608048, 258363815956050
5852 #else
5853                 49838347, 12723031, 50115803, 14878793, 21619651, 27356856,
5854                 27584816, 3093888, 58265170, 3849920
5855 #endif
5856             }},
5857         },
5858         {
5859             {{
5860 #if defined(BORINGSSL_CURVE25519_64BIT)
5861                 141141474651677, 1236728744905256, 643101419899887,
5862                 1646615130509173, 1208239602291765
5863 #else
5864                 58043933, 2103171, 25561640, 18428694, 61869039, 9582957,
5865                 32477045, 24536477, 5002293, 18004173
5866 #endif
5867             }},
5868             {{
5869 #if defined(BORINGSSL_CURVE25519_64BIT)
5870                 1501663228068911, 1354879465566912, 1444432675498247,
5871                 897812463852601, 855062598754348
5872 #else
5873                 55051311, 22376525, 21115584, 20189277, 8808711, 21523724,
5874                 16489529, 13378448, 41263148, 12741425
5875 #endif
5876             }},
5877             {{
5878 #if defined(BORINGSSL_CURVE25519_64BIT)
5879                 714380763546606, 1032824444965790, 1774073483745338,
5880                 1063840874947367, 1738680636537158
5881 #else
5882                 61162478, 10645102, 36197278, 15390283, 63821882, 26435754,
5883                 24306471, 15852464, 28834118, 25908360
5884 #endif
5885             }},
5886         },
5887         {
5888             {{
5889 #if defined(BORINGSSL_CURVE25519_64BIT)
5890                 1640635546696252, 633168953192112, 2212651044092396,
5891                 30590958583852, 368515260889378
5892 #else
5893                 49773116, 24447374, 42577584, 9434952, 58636780, 32971069,
5894                 54018092, 455840, 20461858, 5491305
5895 #endif
5896             }},
5897             {{
5898 #if defined(BORINGSSL_CURVE25519_64BIT)
5899                 1171650314802029, 1567085444565577, 1453660792008405,
5900                 757914533009261, 1619511342778196
5901 #else
5902                 13669229, 17458950, 54626889, 23351392, 52539093, 21661233,
5903                 42112877, 11293806, 38520660, 24132599
5904 #endif
5905             }},
5906             {{
5907 #if defined(BORINGSSL_CURVE25519_64BIT)
5908                 420958967093237, 971103481109486, 2169549185607107,
5909                 1301191633558497, 1661514101014240
5910 #else
5911                 28497909, 6272777, 34085870, 14470569, 8906179, 32328802,
5912                 18504673, 19389266, 29867744, 24758489
5913 #endif
5914             }},
5915         },
5916         {
5917             {{
5918 #if defined(BORINGSSL_CURVE25519_64BIT)
5919                 907123651818302, 1332556122804146, 1824055253424487,
5920                 1367614217442959, 1982558335973172
5921 #else
5922                 50901822, 13517195, 39309234, 19856633, 24009063, 27180541,
5923                 60741263, 20379039, 22853428, 29542421
5924 #endif
5925             }},
5926             {{
5927 #if defined(BORINGSSL_CURVE25519_64BIT)
5928                 1121533090144639, 1021251337022187, 110469995947421,
5929                 1511059774758394, 2110035908131662
5930 #else
5931                 24191359, 16712145, 53177067, 15217830, 14542237, 1646131,
5932                 18603514, 22516545, 12876622, 31441985
5933 #endif
5934             }},
5935             {{
5936 #if defined(BORINGSSL_CURVE25519_64BIT)
5937                 303213233384524, 2061932261128138, 352862124777736,
5938                 40828818670255, 249879468482660
5939 #else
5940                 17902668, 4518229, 66697162, 30725184, 26878216, 5258055,
5941                 54248111, 608396, 16031844, 3723494
5942 #endif
5943             }},
5944         },
5945         {
5946             {{
5947 #if defined(BORINGSSL_CURVE25519_64BIT)
5948                 856559257852200, 508517664949010, 1378193767894916,
5949                 1723459126947129, 1962275756614521
5950 #else
5951                 38476072, 12763727, 46662418, 7577503, 33001348, 20536687,
5952                 17558841, 25681542, 23896953, 29240187
5953 #endif
5954             }},
5955             {{
5956 #if defined(BORINGSSL_CURVE25519_64BIT)
5957                 1445691340537320, 40614383122127, 402104303144865,
5958                 485134269878232, 1659439323587426
5959 #else
5960                 47103464, 21542479, 31520463, 605201, 2543521, 5991821,
5961                 64163800, 7229063, 57189218, 24727572
5962 #endif
5963             }},
5964             {{
5965 #if defined(BORINGSSL_CURVE25519_64BIT)
5966                 20057458979482, 1183363722525800, 2140003847237215,
5967                 2053873950687614, 2112017736174909
5968 #else
5969                 28816026, 298879, 38943848, 17633493, 19000927, 31888542,
5970                 54428030, 30605106, 49057085, 31471516
5971 #endif
5972             }},
5973         },
5974         {
5975             {{
5976 #if defined(BORINGSSL_CURVE25519_64BIT)
5977                 2228654250927986, 1483591363415267, 1368661293910956,
5978                 1076511285177291, 526650682059608
5979 #else
5980                 16000882, 33209536, 3493091, 22107234, 37604268, 20394642,
5981                 12577739, 16041268, 47393624, 7847706
5982 #endif
5983             }},
5984             {{
5985 #if defined(BORINGSSL_CURVE25519_64BIT)
5986                 709481497028540, 531682216165724, 316963769431931,
5987                 1814315888453765, 258560242424104
5988 #else
5989                 10151868, 10572098, 27312476, 7922682, 14825339, 4723128,
5990                 34252933, 27035413, 57088296, 3852847
5991 #endif
5992             }},
5993             {{
5994 #if defined(BORINGSSL_CURVE25519_64BIT)
5995                 1053447823660455, 1955135194248683, 1010900954918985,
5996                 1182614026976701, 1240051576966610
5997 #else
5998                 55678375, 15697595, 45987307, 29133784, 5386313, 15063598,
5999                 16514493, 17622322, 29330898, 18478208
6000 #endif
6001             }},
6002         },
6003     },
6004     {
6005         {
6006             {{
6007 #if defined(BORINGSSL_CURVE25519_64BIT)
6008                 1957943897155497, 1788667368028035, 137692910029106,
6009                 1039519607062, 826404763313028
6010 #else
6011                 41609129, 29175637, 51885955, 26653220, 16615730, 2051784,
6012                 3303702, 15490, 39560068, 12314390
6013 #endif
6014             }},
6015             {{
6016 #if defined(BORINGSSL_CURVE25519_64BIT)
6017                 1848942433095597, 1582009882530495, 1849292741020143,
6018                 1068498323302788, 2001402229799484
6019 #else
6020                 15683501, 27551389, 18109119, 23573784, 15337967, 27556609,
6021                 50391428, 15921865, 16103996, 29823217
6022 #endif
6023             }},
6024             {{
6025 #if defined(BORINGSSL_CURVE25519_64BIT)
6026                 1528282417624269, 2142492439828191, 2179662545816034,
6027                 362568973150328, 1591374675250271
6028 #else
6029                 43939021, 22773182, 13588191, 31925625, 63310306, 32479502,
6030                 47835256, 5402698, 37293151, 23713330
6031 #endif
6032             }},
6033         },
6034         {
6035             {{
6036 #if defined(BORINGSSL_CURVE25519_64BIT)
6037                 160026679434388, 232341189218716, 2149181472355545,
6038                 598041771119831, 183859001910173
6039 #else
6040                 23190676, 2384583, 34394524, 3462153, 37205209, 32025299,
6041                 55842007, 8911516, 41903005, 2739712
6042 #endif
6043             }},
6044             {{
6045 #if defined(BORINGSSL_CURVE25519_64BIT)
6046                 2013278155187349, 662660471354454, 793981225706267,
6047                 411706605985744, 804490933124791
6048 #else
6049                 21374101, 30000182, 33584214, 9874410, 15377179, 11831242,
6050                 33578960, 6134906, 4931255, 11987849
6051 #endif
6052             }},
6053             {{
6054 #if defined(BORINGSSL_CURVE25519_64BIT)
6055                 2051892037280204, 488391251096321, 2230187337030708,
6056                 930221970662692, 679002758255210
6057 #else
6058                 67101132, 30575573, 50885377, 7277596, 105524, 33232381,
6059                 35628324, 13861387, 37032554, 10117929
6060 #endif
6061             }},
6062         },
6063         {
6064             {{
6065 #if defined(BORINGSSL_CURVE25519_64BIT)
6066                 1530723630438670, 875873929577927, 341560134269988,
6067                 449903119530753, 1055551308214179
6068 #else
6069                 37607694, 22809559, 40945095, 13051538, 41483300, 5089642,
6070                 60783361, 6704078, 12890019, 15728940
6071 #endif
6072             }},
6073             {{
6074 #if defined(BORINGSSL_CURVE25519_64BIT)
6075                 1461835919309432, 1955256480136428, 180866187813063,
6076                 1551979252664528, 557743861963950
6077 #else
6078                 45136504, 21783052, 66157804, 29135591, 14704839, 2695116,
6079                 903376, 23126293, 12885166, 8311031
6080 #endif
6081             }},
6082             {{
6083 #if defined(BORINGSSL_CURVE25519_64BIT)
6084                 359179641731115, 1324915145732949, 902828372691474,
6085                 294254275669987, 1887036027752957
6086 #else
6087                 49592363, 5352193, 10384213, 19742774, 7506450, 13453191,
6088                 26423267, 4384730, 1888765, 28119028
6089 #endif
6090             }},
6091         },
6092         {
6093             {{
6094 #if defined(BORINGSSL_CURVE25519_64BIT)
6095                 2043271609454323, 2038225437857464, 1317528426475850,
6096                 1398989128982787, 2027639881006861
6097 #else
6098                 41291507, 30447119, 53614264, 30371925, 30896458, 19632703,
6099                 34857219, 20846562, 47644429, 30214188
6100 #endif
6101             }},
6102             {{
6103 #if defined(BORINGSSL_CURVE25519_64BIT)
6104                 2072902725256516, 312132452743412, 309930885642209,
6105                 996244312618453, 1590501300352303
6106 #else
6107                 43500868, 30888657, 66582772, 4651135, 5765089, 4618330,
6108                 6092245, 14845197, 17151279, 23700316
6109 #endif
6110             }},
6111             {{
6112 #if defined(BORINGSSL_CURVE25519_64BIT)
6113                 1397254305160710, 695734355138021, 2233992044438756,
6114                 1776180593969996, 1085588199351115
6115 #else
6116                 42278406, 20820711, 51942885, 10367249, 37577956, 33289075,
6117                 22825804, 26467153, 50242379, 16176524
6118 #endif
6119             }},
6120         },
6121         {
6122             {{
6123 #if defined(BORINGSSL_CURVE25519_64BIT)
6124                 440567051331029, 254894786356681, 493869224930222,
6125                 1556322069683366, 1567456540319218
6126 #else
6127                 43525589, 6564960, 20063689, 3798228, 62368686, 7359224,
6128                 2006182, 23191006, 38362610, 23356922
6129 #endif
6130             }},
6131             {{
6132 #if defined(BORINGSSL_CURVE25519_64BIT)
6133                 1950722461391320, 1907845598854797, 1822757481635527,
6134                 2121567704750244, 73811931471221
6135 #else
6136                 56482264, 29068029, 53788301, 28429114, 3432135, 27161203,
6137                 23632036, 31613822, 32808309, 1099883
6138 #endif
6139             }},
6140             {{
6141 #if defined(BORINGSSL_CURVE25519_64BIT)
6142                 387139307395758, 2058036430315676, 1220915649965325,
6143                 1794832055328951, 1230009312169328
6144 #else
6145                 15030958, 5768825, 39657628, 30667132, 60681485, 18193060,
6146                 51830967, 26745081, 2051440, 18328567
6147 #endif
6148             }},
6149         },
6150         {
6151             {{
6152 #if defined(BORINGSSL_CURVE25519_64BIT)
6153                 1765973779329517, 659344059446977, 19821901606666,
6154                 1301928341311214, 1116266004075885
6155 #else
6156                 63746541, 26315059, 7517889, 9824992, 23555850, 295369, 5148398,
6157                 19400244, 44422509, 16633659
6158 #endif
6159             }},
6160             {{
6161 #if defined(BORINGSSL_CURVE25519_64BIT)
6162                 1127572801181483, 1224743760571696, 1276219889847274,
6163                 1529738721702581, 1589819666871853
6164 #else
6165                 4577067, 16802144, 13249840, 18250104, 19958762, 19017158,
6166                 18559669, 22794883, 8402477, 23690159
6167 #endif
6168             }},
6169             {{
6170 #if defined(BORINGSSL_CURVE25519_64BIT)
6171                 2181229378964934, 2190885205260020, 1511536077659137,
6172                 1246504208580490, 668883326494241
6173 #else
6174                 38702534, 32502850, 40318708, 32646733, 49896449, 22523642,
6175                 9453450, 18574360, 17983009, 9967138
6176 #endif
6177             }},
6178         },
6179         {
6180             {{
6181 #if defined(BORINGSSL_CURVE25519_64BIT)
6182                 437866655573314, 669026411194768, 81896997980338,
6183                 523874406393178, 245052060935236
6184 #else
6185                 41346370, 6524721, 26585488, 9969270, 24709298, 1220360,
6186                 65430874, 7806336, 17507396, 3651560
6187 #endif
6188             }},
6189             {{
6190 #if defined(BORINGSSL_CURVE25519_64BIT)
6191                 1975438052228868, 1071801519999806, 594652299224319,
6192                 1877697652668809, 1489635366987285
6193 #else
6194                 56688388, 29436320, 14584638, 15971087, 51340543, 8861009,
6195                 26556809, 27979875, 48555541, 22197296
6196 #endif
6197             }},
6198             {{
6199 #if defined(BORINGSSL_CURVE25519_64BIT)
6200                 958592545673770, 233048016518599, 851568750216589,
6201                 567703851596087, 1740300006094761
6202 #else
6203                 2839082, 14284142, 4029895, 3472686, 14402957, 12689363,
6204                 40466743, 8459446, 61503401, 25932490
6205 #endif
6206             }},
6207         },
6208         {
6209             {{
6210 #if defined(BORINGSSL_CURVE25519_64BIT)
6211                 2014540178270324, 192672779514432, 213877182641530,
6212                 2194819933853411, 1716422829364835
6213 #else
6214                 62269556, 30018987, 9744960, 2871048, 25113978, 3187018,
6215                 41998051, 32705365, 17258083, 25576693
6216 #endif
6217             }},
6218             {{
6219 #if defined(BORINGSSL_CURVE25519_64BIT)
6220                 1540769606609725, 2148289943846077, 1597804156127445,
6221                 1230603716683868, 815423458809453
6222 #else
6223                 18164541, 22959256, 49953981, 32012014, 19237077, 23809137,
6224                 23357532, 18337424, 26908269, 12150756
6225 #endif
6226             }},
6227             {{
6228 #if defined(BORINGSSL_CURVE25519_64BIT)
6229                 1738560251245018, 1779576754536888, 1783765347671392,
6230                 1880170990446751, 1088225159617541
6231 #else
6232                 36843994, 25906566, 5112248, 26517760, 65609056, 26580174,
6233                 43167, 28016731, 34806789, 16215818
6234 #endif
6235             }},
6236         },
6237     },
6238     {
6239         {
6240             {{
6241 #if defined(BORINGSSL_CURVE25519_64BIT)
6242                 659303913929492, 1956447718227573, 1830568515922666,
6243                 841069049744408, 1669607124206368
6244 #else
6245                 60209940, 9824393, 54804085, 29153342, 35711722, 27277596,
6246                 32574488, 12532905, 59605792, 24879084
6247 #endif
6248             }},
6249             {{
6250 #if defined(BORINGSSL_CURVE25519_64BIT)
6251                 1143465490433355, 1532194726196059, 1093276745494697,
6252                 481041706116088, 2121405433561163
6253 #else
6254                 39765323, 17038963, 39957339, 22831480, 946345, 16291093,
6255                 254968, 7168080, 21676107, 31611404
6256 #endif
6257             }},
6258             {{
6259 #if defined(BORINGSSL_CURVE25519_64BIT)
6260                 1686424298744462, 1451806974487153, 266296068846582,
6261                 1834686947542675, 1720762336132256
6262 #else
6263                 21260942, 25129680, 50276977, 21633609, 43430902, 3968120,
6264                 63456915, 27338965, 63552672, 25641356
6265 #endif
6266             }},
6267         },
6268         {
6269             {{
6270 #if defined(BORINGSSL_CURVE25519_64BIT)
6271                 889217026388959, 1043290623284660, 856125087551909,
6272                 1669272323124636, 1603340330827879
6273 #else
6274                 16544735, 13250366, 50304436, 15546241, 62525861, 12757257,
6275                 64646556, 24874095, 48201831, 23891632
6276 #endif
6277             }},
6278             {{
6279 #if defined(BORINGSSL_CURVE25519_64BIT)
6280                 1206396181488998, 333158148435054, 1402633492821422,
6281                 1120091191722026, 1945474114550509
6282 #else
6283                 64693606, 17976703, 18312302, 4964443, 51836334, 20900867,
6284                 26820650, 16690659, 25459437, 28989823
6285 #endif
6286             }},
6287             {{
6288 #if defined(BORINGSSL_CURVE25519_64BIT)
6289                 766720088232571, 1512222781191002, 1189719893490790,
6290                 2091302129467914, 2141418006894941
6291 #else
6292                 41964155, 11425019, 28423002, 22533875, 60963942, 17728207,
6293                 9142794, 31162830, 60676445, 31909614
6294 #endif
6295             }},
6296         },
6297         {
6298             {{
6299 #if defined(BORINGSSL_CURVE25519_64BIT)
6300                 419663647306612, 1998875112167987, 1426599870253707,
6301                 1154928355379510, 486538532138187
6302 #else
6303                 44004212, 6253475, 16964147, 29785560, 41994891, 21257994,
6304                 39651638, 17209773, 6335691, 7249989
6305 #endif
6306             }},
6307             {{
6308 #if defined(BORINGSSL_CURVE25519_64BIT)
6309                 938160078005954, 1421776319053174, 1941643234741774,
6310                 180002183320818, 1414380336750546
6311 #else
6312                 36775618, 13979674, 7503222, 21186118, 55152142, 28932738,
6313                 36836594, 2682241, 25993170, 21075909
6314 #endif
6315             }},
6316             {{
6317 #if defined(BORINGSSL_CURVE25519_64BIT)
6318                 398001940109652, 1577721237663248, 1012748649830402,
6319                 1540516006905144, 1011684812884559
6320 #else
6321                 4364628, 5930691, 32304656, 23509878, 59054082, 15091130,
6322                 22857016, 22955477, 31820367, 15075278
6323 #endif
6324             }},
6325         },
6326         {
6327             {{
6328 #if defined(BORINGSSL_CURVE25519_64BIT)
6329                 1653276489969630, 6081825167624, 1921777941170836,
6330                 1604139841794531, 861211053640641
6331 #else
6332                 31879134, 24635739, 17258760, 90626, 59067028, 28636722,
6333                 24162787, 23903546, 49138625, 12833044
6334 #endif
6335             }},
6336             {{
6337 #if defined(BORINGSSL_CURVE25519_64BIT)
6338                 996661541407379, 1455877387952927, 744312806857277,
6339                 139213896196746, 1000282908547789
6340 #else
6341                 19073683, 14851414, 42705695, 21694263, 7625277, 11091125,
6342                 47489674, 2074448, 57694925, 14905376
6343 #endif
6344             }},
6345             {{
6346 #if defined(BORINGSSL_CURVE25519_64BIT)
6347                 1450817495603008, 1476865707053229, 1030490562252053,
6348                 620966950353376, 1744760161539058
6349 #else
6350                 24483648, 21618865, 64589997, 22007013, 65555733, 15355505,
6351                 41826784, 9253128, 27628530, 25998952
6352 #endif
6353             }},
6354         },
6355         {
6356             {{
6357 #if defined(BORINGSSL_CURVE25519_64BIT)
6358                 559728410002599, 37056661641185, 2038622963352006,
6359                 1637244893271723, 1026565352238948
6360 #else
6361                 17597607, 8340603, 19355617, 552187, 26198470, 30377849,
6362                 4593323, 24396850, 52997988, 15297015
6363 #endif
6364             }},
6365             {{
6366 #if defined(BORINGSSL_CURVE25519_64BIT)
6367                 962165956135846, 1116599660248791, 182090178006815,
6368                 1455605467021751, 196053588803284
6369 #else
6370                 510886, 14337390, 35323607, 16638631, 6328095, 2713355,
6371                 46891447, 21690211, 8683220, 2921426
6372 #endif
6373             }},
6374             {{
6375 #if defined(BORINGSSL_CURVE25519_64BIT)
6376                 796863823080135, 1897365583584155, 420466939481601,
6377                 2165972651724672, 932177357788289
6378 #else
6379                 18606791, 11874196, 27155355, 28272950, 43077121, 6265445,
6380                 41930624, 32275507, 4674689, 13890525
6381 #endif
6382             }},
6383         },
6384         {
6385             {{
6386 #if defined(BORINGSSL_CURVE25519_64BIT)
6387                 877047233620632, 1375632631944375, 643773611882121,
6388                 660022738847877, 19353932331831
6389 #else
6390                 13609624, 13069022, 39736503, 20498523, 24360585, 9592974,
6391                 14977157, 9835105, 4389687, 288396
6392 #endif
6393             }},
6394             {{
6395 #if defined(BORINGSSL_CURVE25519_64BIT)
6396                 2216943882299338, 394841323190322, 2222656898319671,
6397                 558186553950529, 1077236877025190
6398 #else
6399                 9922506, 33035038, 13613106, 5883594, 48350519, 33120168,
6400                 54804801, 8317627, 23388070, 16052080
6401 #endif
6402             }},
6403             {{
6404 #if defined(BORINGSSL_CURVE25519_64BIT)
6405                 801118384953213, 1914330175515892, 574541023311511,
6406                 1471123787903705, 1526158900256288
6407 #else
6408                 12719997, 11937594, 35138804, 28525742, 26900119, 8561328,
6409                 46953177, 21921452, 52354592, 22741539
6410 #endif
6411             }},
6412         },
6413         {
6414             {{
6415 #if defined(BORINGSSL_CURVE25519_64BIT)
6416                 949617889087234, 2207116611267331, 912920039141287,
6417                 501158539198789, 62362560771472
6418 #else
6419                 15961858, 14150409, 26716931, 32888600, 44314535, 13603568,
6420                 11829573, 7467844, 38286736, 929274
6421 #endif
6422             }},
6423             {{
6424 #if defined(BORINGSSL_CURVE25519_64BIT)
6425                 1474518386765335, 1760793622169197, 1157399790472736,
6426                 1622864308058898, 165428294422792
6427 #else
6428                 11038231, 21972036, 39798381, 26237869, 56610336, 17246600,
6429                 43629330, 24182562, 45715720, 2465073
6430 #endif
6431             }},
6432             {{
6433 #if defined(BORINGSSL_CURVE25519_64BIT)
6434                 1961673048027128, 102619413083113, 1051982726768458,
6435                 1603657989805485, 1941613251499678
6436 #else
6437                 20017144, 29231206, 27915241, 1529148, 12396362, 15675764,
6438                 13817261, 23896366, 2463390, 28932292
6439 #endif
6440             }},
6441         },
6442         {
6443             {{
6444 #if defined(BORINGSSL_CURVE25519_64BIT)
6445                 1401939116319266, 335306339903072, 72046196085786,
6446                 862423201496006, 850518754531384
6447 #else
6448                 50749986, 20890520, 55043680, 4996453, 65852442, 1073571,
6449                 9583558, 12851107, 4003896, 12673717
6450 #endif
6451             }},
6452             {{
6453 #if defined(BORINGSSL_CURVE25519_64BIT)
6454                 1234706593321979, 1083343891215917, 898273974314935,
6455                 1640859118399498, 157578398571149
6456 #else
6457                 65377275, 18398561, 63845933, 16143081, 19294135, 13385325,
6458                 14741514, 24450706, 7903885, 2348101
6459 #endif
6460             }},
6461             {{
6462 #if defined(BORINGSSL_CURVE25519_64BIT)
6463                 1143483057726416, 1992614991758919, 674268662140796,
6464                 1773370048077526, 674318359920189
6465 #else
6466                 24536016, 17039225, 12715591, 29692277, 1511292, 10047386,
6467                 63266518, 26425272, 38731325, 10048126
6468 #endif
6469             }},
6470         },
6471     },
6472     {
6473         {
6474             {{
6475 #if defined(BORINGSSL_CURVE25519_64BIT)
6476                 1835401379538542, 173900035308392, 818247630716732,
6477                 1762100412152786, 1021506399448291
6478 #else
6479                 54486638, 27349611, 30718824, 2591312, 56491836, 12192839,
6480                 18873298, 26257342, 34811107, 15221631
6481 #endif
6482             }},
6483             {{
6484 #if defined(BORINGSSL_CURVE25519_64BIT)
6485                 1506632088156630, 2127481795522179, 513812919490255,
6486                 140643715928370, 442476620300318
6487 #else
6488                 40630742, 22450567, 11546243, 31701949, 9180879, 7656409,
6489                 45764914, 2095754, 29769758, 6593415
6490 #endif
6491             }},
6492             {{
6493 #if defined(BORINGSSL_CURVE25519_64BIT)
6494                 2056683376856736, 219094741662735, 2193541883188309,
6495                 1841182310235800, 556477468664293
6496 #else
6497                 35114656, 30646970, 4176911, 3264766, 12538965, 32686321,
6498                 26312344, 27435754, 30958053, 8292160
6499 #endif
6500             }},
6501         },
6502         {
6503             {{
6504 #if defined(BORINGSSL_CURVE25519_64BIT)
6505                 1315019427910827, 1049075855992603, 2066573052986543,
6506                 266904467185534, 2040482348591520
6507 #else
6508                 31429803, 19595316, 29173531, 15632448, 12174511, 30794338,
6509                 32808830, 3977186, 26143136, 30405556
6510 #endif
6511             }},
6512             {{
6513 #if defined(BORINGSSL_CURVE25519_64BIT)
6514                 94096246544434, 922482381166992, 24517828745563,
6515                 2139430508542503, 2097139044231004
6516 #else
6517                 22648882, 1402143, 44308880, 13746058, 7936347, 365344,
6518                 58440231, 31879998, 63350620, 31249806
6519 #endif
6520             }},
6521             {{
6522 #if defined(BORINGSSL_CURVE25519_64BIT)
6523                 537697207950515, 1399352016347350, 1563663552106345,
6524                 2148749520888918, 549922092988516
6525 #else
6526                 51616947, 8012312, 64594134, 20851969, 43143017, 23300402,
6527                 65496150, 32018862, 50444388, 8194477
6528 #endif
6529             }},
6530         },
6531         {
6532             {{
6533 #if defined(BORINGSSL_CURVE25519_64BIT)
6534                 1747985413252434, 680511052635695, 1809559829982725,
6535                 594274250930054, 201673170745982
6536 #else
6537                 27338066, 26047012, 59694639, 10140404, 48082437, 26964542,
6538                 27277190, 8855376, 28572286, 3005164
6539 #endif
6540             }},
6541             {{
6542 #if defined(BORINGSSL_CURVE25519_64BIT)
6543                 323583936109569, 1973572998577657, 1192219029966558,
6544                 79354804385273, 1374043025560347
6545 #else
6546                 26287105, 4821776, 25476601, 29408529, 63344350, 17765447,
6547                 49100281, 1182478, 41014043, 20474836
6548 #endif
6549             }},
6550             {{
6551 #if defined(BORINGSSL_CURVE25519_64BIT)
6552                 213277331329947, 416202017849623, 1950535221091783,
6553                 1313441578103244, 2171386783823658
6554 #else
6555                 59937691, 3178079, 23970071, 6201893, 49913287, 29065239,
6556                 45232588, 19571804, 32208682, 32356184
6557 #endif
6558             }},
6559         },
6560         {
6561             {{
6562 #if defined(BORINGSSL_CURVE25519_64BIT)
6563                 189088804229831, 993969372859110, 895870121536987,
6564                 1547301535298256, 1477373024911350
6565 #else
6566                 50451143, 2817642, 56822502, 14811297, 6024667, 13349505,
6567                 39793360, 23056589, 39436278, 22014573
6568 #endif
6569             }},
6570             {{
6571 #if defined(BORINGSSL_CURVE25519_64BIT)
6572                 1620578418245010, 541035331188469, 2235785724453865,
6573                 2154865809088198, 1974627268751826
6574 #else
6575                 15941010, 24148500, 45741813, 8062054, 31876073, 33315803,
6576                 51830470, 32110002, 15397330, 29424239
6577 #endif
6578             }},
6579             {{
6580 #if defined(BORINGSSL_CURVE25519_64BIT)
6581                 1346805451740245, 1350981335690626, 942744349501813,
6582                 2155094562545502, 1012483751693409
6583 #else
6584                 8934485, 20068965, 43822466, 20131190, 34662773, 14047985,
6585                 31170398, 32113411, 39603297, 15087183
6586 #endif
6587             }},
6588         },
6589         {
6590             {{
6591 #if defined(BORINGSSL_CURVE25519_64BIT)
6592                 2107080134091762, 1132567062788208, 1824935377687210,
6593                 769194804343737, 1857941799971888
6594 #else
6595                 48751602, 31397940, 24524912, 16876564, 15520426, 27193656,
6596                 51606457, 11461895, 16788528, 27685490
6597 #endif
6598             }},
6599             {{
6600 #if defined(BORINGSSL_CURVE25519_64BIT)
6601                 1074666112436467, 249279386739593, 1174337926625354,
6602                 1559013532006480, 1472287775519121
6603 #else
6604                 65161459, 16013772, 21750665, 3714552, 49707082, 17498998,
6605                 63338576, 23231111, 31322513, 21938797
6606 #endif
6607             }},
6608             {{
6609 #if defined(BORINGSSL_CURVE25519_64BIT)
6610                 1872620123779532, 1892932666768992, 1921559078394978,
6611                 1270573311796160, 1438913646755037
6612 #else
6613                 21426636, 27904214, 53460576, 28206894, 38296674, 28633461,
6614                 48833472, 18933017, 13040861, 21441484
6615 #endif
6616             }},
6617         },
6618         {
6619             {{
6620 #if defined(BORINGSSL_CURVE25519_64BIT)
6621                 837390187648199, 1012253300223599, 989780015893987,
6622                 1351393287739814, 328627746545550
6623 #else
6624                 11293895, 12478086, 39972463, 15083749, 37801443, 14748871,
6625                 14555558, 20137329, 1613710, 4896935
6626 #endif
6627             }},
6628             {{
6629 #if defined(BORINGSSL_CURVE25519_64BIT)
6630                 1028328827183114, 1711043289969857, 1350832470374933,
6631                 1923164689604327, 1495656368846911
6632 #else
6633                 41213962, 15323293, 58619073, 25496531, 25967125, 20128972,
6634                 2825959, 28657387, 43137087, 22287016
6635 #endif
6636             }},
6637             {{
6638 #if defined(BORINGSSL_CURVE25519_64BIT)
6639                 1900828492104143, 430212361082163, 687437570852799,
6640                 832514536673512, 1685641495940794
6641 #else
6642                 51184079, 28324551, 49665331, 6410663, 3622847, 10243618,
6643                 20615400, 12405433, 43355834, 25118015
6644 #endif
6645             }},
6646         },
6647         {
6648             {{
6649 #if defined(BORINGSSL_CURVE25519_64BIT)
6650                 842632847936398, 605670026766216, 290836444839585,
6651                 163210774892356, 2213815011799645
6652 #else
6653                 60017550, 12556207, 46917512, 9025186, 50036385, 4333800,
6654                 4378436, 2432030, 23097949, 32988414
6655 #endif
6656             }},
6657             {{
6658 #if defined(BORINGSSL_CURVE25519_64BIT)
6659                 1176336383453996, 1725477294339771, 12700622672454,
6660                 678015708818208, 162724078519879
6661 #else
6662                 4565804, 17528778, 20084411, 25711615, 1724998, 189254,
6663                 24767264, 10103221, 48596551, 2424777
6664 #endif
6665             }},
6666             {{
6667 #if defined(BORINGSSL_CURVE25519_64BIT)
6668                 1448049969043497, 1789411762943521, 385587766217753,
6669                 90201620913498, 832999441066823
6670 #else
6671                 366633, 21577626, 8173089, 26664313, 30788633, 5745705,
6672                 59940186, 1344108, 63466311, 12412658
6673 #endif
6674             }},
6675         },
6676         {
6677             {{
6678 #if defined(BORINGSSL_CURVE25519_64BIT)
6679                 516086333293313, 2240508292484616, 1351669528166508,
6680                 1223255565316488, 750235824427138
6681 #else
6682                 43107073, 7690285, 14929416, 33386175, 34898028, 20141445,
6683                 24162696, 18227928, 63967362, 11179384
6684 #endif
6685             }},
6686             {{
6687 #if defined(BORINGSSL_CURVE25519_64BIT)
6688                 1263624896582495, 1102602401673328, 526302183714372,
6689                 2152015839128799, 1483839308490010
6690 #else
6691                 18289503, 18829478, 8056944, 16430056, 45379140, 7842513,
6692                 61107423, 32067534, 48424218, 22110928
6693 #endif
6694             }},
6695             {{
6696 #if defined(BORINGSSL_CURVE25519_64BIT)
6697                 442991718646863, 1599275157036458, 1925389027579192,
6698                 899514691371390, 350263251085160
6699 #else
6700                 476239, 6601091, 60956074, 23831056, 17503544, 28690532,
6701                 27672958, 13403813, 11052904, 5219329
6702 #endif
6703             }},
6704         },
6705     },
6706     {
6707         {
6708             {{
6709 #if defined(BORINGSSL_CURVE25519_64BIT)
6710                 1689713572022143, 593854559254373, 978095044791970,
6711                 1985127338729499, 1676069120347625
6712 #else
6713                 20678527, 25178694, 34436965, 8849122, 62099106, 14574751,
6714                 31186971, 29580702, 9014761, 24975376
6715 #endif
6716             }},
6717             {{
6718 #if defined(BORINGSSL_CURVE25519_64BIT)
6719                 1557207018622683, 340631692799603, 1477725909476187,
6720                 614735951619419, 2033237123746766
6721 #else
6722                 53464795, 23204192, 51146355, 5075807, 65594203, 22019831,
6723                 34006363, 9160279, 8473550, 30297594
6724 #endif
6725             }},
6726             {{
6727 #if defined(BORINGSSL_CURVE25519_64BIT)
6728                 968764929340557, 1225534776710944, 662967304013036,
6729                 1155521416178595, 791142883466590
6730 #else
6731                 24900749, 14435722, 17209120, 18261891, 44516588, 9878982,
6732                 59419555, 17218610, 42540382, 11788947
6733 #endif
6734             }},
6735         },
6736         {
6737             {{
6738 #if defined(BORINGSSL_CURVE25519_64BIT)
6739                 1487081286167458, 993039441814934, 1792378982844640,
6740                 698652444999874, 2153908693179754
6741 #else
6742                 63990690, 22159237, 53306774, 14797440, 9652448, 26708528,
6743                 47071426, 10410732, 42540394, 32095740
6744 #endif
6745             }},
6746             {{
6747 #if defined(BORINGSSL_CURVE25519_64BIT)
6748                 1123181311102823, 685575944875442, 507605465509927,
6749                 1412590462117473, 568017325228626
6750 #else
6751                 51449703, 16736705, 44641714, 10215877, 58011687, 7563910,
6752                 11871841, 21049238, 48595538, 8464117
6753 #endif
6754             }},
6755             {{
6756 #if defined(BORINGSSL_CURVE25519_64BIT)
6757                 560258797465417, 2193971151466401, 1824086900849026,
6758                 579056363542056, 1690063960036441
6759 #else
6760                 43708233, 8348506, 52522913, 32692717, 63158658, 27181012,
6761                 14325288, 8628612, 33313881, 25183915
6762 #endif
6763             }},
6764         },
6765         {
6766             {{
6767 #if defined(BORINGSSL_CURVE25519_64BIT)
6768                 1918407319222416, 353767553059963, 1930426334528099,
6769                 1564816146005724, 1861342381708096
6770 #else
6771                 46921872, 28586496, 22367355, 5271547, 66011747, 28765593,
6772                 42303196, 23317577, 58168128, 27736162
6773 #endif
6774             }},
6775             {{
6776 #if defined(BORINGSSL_CURVE25519_64BIT)
6777                 2131325168777276, 1176636658428908, 1756922641512981,
6778                 1390243617176012, 1966325177038383
6779 #else
6780                 60160060, 31759219, 34483180, 17533252, 32635413, 26180187,
6781                 15989196, 20716244, 28358191, 29300528
6782 #endif
6783             }},
6784             {{
6785 #if defined(BORINGSSL_CURVE25519_64BIT)
6786                 2063958120364491, 2140267332393533, 699896251574968,
6787                 273268351312140, 375580724713232
6788 #else
6789                 43547083, 30755372, 34757181, 31892468, 57961144, 10429266,
6790                 50471180, 4072015, 61757200, 5596588
6791 #endif
6792             }},
6793         },
6794         {
6795             {{
6796 #if defined(BORINGSSL_CURVE25519_64BIT)
6797                 2024297515263178, 416959329722687, 1079014235017302,
6798                 171612225573183, 1031677520051053
6799 #else
6800                 38872266, 30164383, 12312895, 6213178, 3117142, 16078565,
6801                 29266239, 2557221, 1768301, 15373193
6802 #endif
6803             }},
6804             {{
6805 #if defined(BORINGSSL_CURVE25519_64BIT)
6806                 2033900009388450, 1744902869870788, 2190580087917640,
6807                 1949474984254121, 231049754293748
6808 #else
6809                 59865506, 30307471, 62515396, 26001078, 66980936, 32642186,
6810                 66017961, 29049440, 42448372, 3442909
6811 #endif
6812             }},
6813             {{
6814 #if defined(BORINGSSL_CURVE25519_64BIT)
6815                 343868674606581, 550155864008088, 1450580864229630,
6816                 481603765195050, 896972360018042
6817 #else
6818                 36898293, 5124042, 14181784, 8197961, 18964734, 21615339,
6819                 22597930, 7176455, 48523386, 13365929
6820 #endif
6821             }},
6822         },
6823         {
6824             {{
6825 #if defined(BORINGSSL_CURVE25519_64BIT)
6826                 2151139328380127, 314745882084928, 59756825775204,
6827                 1676664391494651, 2048348075599360
6828 #else
6829                 59231455, 32054473, 8324672, 4690079, 6261860, 890446, 24538107,
6830                 24984246, 57419264, 30522764
6831 #endif
6832             }},
6833             {{
6834 #if defined(BORINGSSL_CURVE25519_64BIT)
6835                 1528930066340597, 1605003907059576, 1055061081337675,
6836                 1458319101947665, 1234195845213142
6837 #else
6838                 25008885, 22782833, 62803832, 23916421, 16265035, 15721635,
6839                 683793, 21730648, 15723478, 18390951
6840 #endif
6841             }},
6842             {{
6843 #if defined(BORINGSSL_CURVE25519_64BIT)
6844                 830430507734812, 1780282976102377, 1425386760709037,
6845                 362399353095425, 2168861579799910
6846 #else
6847                 57448220, 12374378, 40101865, 26528283, 59384749, 21239917,
6848                 11879681, 5400171, 519526, 32318556
6849 #endif
6850             }},
6851         },
6852         {
6853             {{
6854 #if defined(BORINGSSL_CURVE25519_64BIT)
6855                 1155762232730333, 980662895504006, 2053766700883521,
6856                 490966214077606, 510405877041357
6857 #else
6858                 22258397, 17222199, 59239046, 14613015, 44588609, 30603508,
6859                 46754982, 7315966, 16648397, 7605640
6860 #endif
6861             }},
6862             {{
6863 #if defined(BORINGSSL_CURVE25519_64BIT)
6864                 1683750316716132, 652278688286128, 1221798761193539,
6865                 1897360681476669, 319658166027343
6866 #else
6867                 59027556, 25089834, 58885552, 9719709, 19259459, 18206220,
6868                 23994941, 28272877, 57640015, 4763277
6869 #endif
6870             }},
6871             {{
6872 #if defined(BORINGSSL_CURVE25519_64BIT)
6873                 618808732869972, 72755186759744, 2060379135624181,
6874                 1730731526741822, 48862757828238
6875 #else
6876                 45409620, 9220968, 51378240, 1084136, 41632757, 30702041,
6877                 31088446, 25789909, 55752334, 728111
6878 #endif
6879             }},
6880         },
6881         {
6882             {{
6883 #if defined(BORINGSSL_CURVE25519_64BIT)
6884                 1463171970593505, 1143040711767452, 614590986558883,
6885                 1409210575145591, 1882816996436803
6886 #else
6887                 26047201, 21802961, 60208540, 17032633, 24092067, 9158119,
6888                 62835319, 20998873, 37743427, 28056159
6889 #endif
6890             }},
6891             {{
6892 #if defined(BORINGSSL_CURVE25519_64BIT)
6893                 2230133264691131, 563950955091024, 2042915975426398,
6894                 827314356293472, 672028980152815
6895 #else
6896                 17510331, 33231575, 5854288, 8403524, 17133918, 30441820,
6897                 38997856, 12327944, 10750447, 10014012
6898 #endif
6899             }},
6900             {{
6901 #if defined(BORINGSSL_CURVE25519_64BIT)
6902                 264204366029760, 1654686424479449, 2185050199932931,
6903                 2207056159091748, 506015669043634
6904 #else
6905                 56796096, 3936951, 9156313, 24656749, 16498691, 32559785,
6906                 39627812, 32887699, 3424690, 7540221
6907 #endif
6908             }},
6909         },
6910         {
6911             {{
6912 #if defined(BORINGSSL_CURVE25519_64BIT)
6913                 1784446333136569, 1973746527984364, 334856327359575,
6914                 1156769775884610, 1023950124675478
6915 #else
6916                 30322361, 26590322, 11361004, 29411115, 7433303, 4989748,
6917                 60037442, 17237212, 57864598, 15258045
6918 #endif
6919             }},
6920             {{
6921 #if defined(BORINGSSL_CURVE25519_64BIT)
6922                 2065270940578383, 31477096270353, 306421879113491,
6923                 181958643936686, 1907105536686083
6924 #else
6925                 13054543, 30774935, 19155473, 469045, 54626067, 4566041,
6926                 5631406, 2711395, 1062915, 28418087
6927 #endif
6928             }},
6929             {{
6930 #if defined(BORINGSSL_CURVE25519_64BIT)
6931                 1496516440779464, 1748485652986458, 872778352227340,
6932                 818358834654919, 97932669284220
6933 #else
6934                 47868616, 22299832, 37599834, 26054466, 61273100, 13005410,
6935                 61042375, 12194496, 32960380, 1459310
6936 #endif
6937             }},
6938         },
6939     },
6940     {
6941         {
6942             {{
6943 #if defined(BORINGSSL_CURVE25519_64BIT)
6944                 471636015770351, 672455402793577, 1804995246884103,
6945                 1842309243470804, 1501862504981682
6946 #else
6947                 19852015, 7027924, 23669353, 10020366, 8586503, 26896525,
6948                 394196, 27452547, 18638002, 22379495
6949 #endif
6950             }},
6951             {{
6952 #if defined(BORINGSSL_CURVE25519_64BIT)
6953                 1013216974933691, 538921919682598, 1915776722521558,
6954                 1742822441583877, 1886550687916656
6955 #else
6956                 31395515, 15098109, 26581030, 8030562, 50580950, 28547297,
6957                 9012485, 25970078, 60465776, 28111795
6958 #endif
6959             }},
6960             {{
6961 #if defined(BORINGSSL_CURVE25519_64BIT)
6962                 2094270000643336, 303971879192276, 40801275554748,
6963                 649448917027930, 1818544418535447
6964 #else
6965                 57916680, 31207054, 65111764, 4529533, 25766844, 607986,
6966                 67095642, 9677542, 34813975, 27098423
6967 #endif
6968             }},
6969         },
6970         {
6971             {{
6972 #if defined(BORINGSSL_CURVE25519_64BIT)
6973                 2241737709499165, 549397817447461, 838180519319392,
6974                 1725686958520781, 1705639080897747
6975 #else
6976                 64664349, 33404494, 29348901, 8186665, 1873760, 12489863,
6977                 36174285, 25714739, 59256019, 25416002
6978 #endif
6979             }},
6980             {{
6981 #if defined(BORINGSSL_CURVE25519_64BIT)
6982                 1216074541925116, 50120933933509, 1565829004133810,
6983                 721728156134580, 349206064666188
6984 #else
6985                 51872508, 18120922, 7766469, 746860, 26346930, 23332670,
6986                 39775412, 10754587, 57677388, 5203575
6987 #endif
6988             }},
6989             {{
6990 #if defined(BORINGSSL_CURVE25519_64BIT)
6991                 948617110470858, 346222547451945, 1126511960599975,
6992                 1759386906004538, 493053284802266
6993 #else
6994                 31834314, 14135496, 66338857, 5159117, 20917671, 16786336,
6995                 59640890, 26216907, 31809242, 7347066
6996 #endif
6997             }},
6998         },
6999         {
7000             {{
7001 #if defined(BORINGSSL_CURVE25519_64BIT)
7002                 1454933046815146, 874696014266362, 1467170975468588,
7003                 1432316382418897, 2111710746366763
7004 #else
7005                 57502122, 21680191, 20414458, 13033986, 13716524, 21862551,
7006                 19797969, 21343177, 15192875, 31466942
7007 #endif
7008             }},
7009             {{
7010 #if defined(BORINGSSL_CURVE25519_64BIT)
7011                 2105387117364450, 1996463405126433, 1303008614294500,
7012                 851908115948209, 1353742049788635
7013 #else
7014                 54445282, 31372712, 1168161, 29749623, 26747876, 19416341,
7015                 10609329, 12694420, 33473243, 20172328
7016 #endif
7017             }},
7018             {{
7019 #if defined(BORINGSSL_CURVE25519_64BIT)
7020                 750300956351719, 1487736556065813, 15158817002104,
7021                 1511998221598392, 971739901354129
7022 #else
7023                 33184999, 11180355, 15832085, 22169002, 65475192, 225883,
7024                 15089336, 22530529, 60973201, 14480052
7025 #endif
7026             }},
7027         },
7028         {
7029             {{
7030 #if defined(BORINGSSL_CURVE25519_64BIT)
7031                 1874648163531693, 2124487685930551, 1810030029384882,
7032                 918400043048335, 586348627300650
7033 #else
7034                 31308717, 27934434, 31030839, 31657333, 15674546, 26971549,
7035                 5496207, 13685227, 27595050, 8737275
7036 #endif
7037             }},
7038             {{
7039 #if defined(BORINGSSL_CURVE25519_64BIT)
7040                 1235084464747900, 1166111146432082, 1745394857881591,
7041                 1405516473883040, 4463504151617
7042 #else
7043                 46790012, 18404192, 10933842, 17376410, 8335351, 26008410,
7044                 36100512, 20943827, 26498113, 66511
7045 #endif
7046             }},
7047             {{
7048 #if defined(BORINGSSL_CURVE25519_64BIT)
7049                 1663810156463827, 327797390285791, 1341846161759410,
7050                 1964121122800605, 1747470312055380
7051 #else
7052                 22644435, 24792703, 50437087, 4884561, 64003250, 19995065,
7053                 30540765, 29267685, 53781076, 26039336
7054 #endif
7055             }},
7056         },
7057         {
7058             {{
7059 #if defined(BORINGSSL_CURVE25519_64BIT)
7060                 660005247548233, 2071860029952887, 1358748199950107,
7061                 911703252219107, 1014379923023831
7062 #else
7063                 39091017, 9834844, 18617207, 30873120, 63706907, 20246925,
7064                 8205539, 13585437, 49981399, 15115438
7065 #endif
7066             }},
7067             {{
7068 #if defined(BORINGSSL_CURVE25519_64BIT)
7069                 2206641276178231, 1690587809721504, 1600173622825126,
7070                 2156096097634421, 1106822408548216
7071 #else
7072                 23711543, 32881517, 31206560, 25191721, 6164646, 23844445,
7073                 33572981, 32128335, 8236920, 16492939
7074 #endif
7075             }},
7076             {{
7077 #if defined(BORINGSSL_CURVE25519_64BIT)
7078                 1344788193552206, 1949552134239140, 1735915881729557,
7079                 675891104100469, 1834220014427292
7080 #else
7081                 43198286, 20038905, 40809380, 29050590, 25005589, 25867162,
7082                 19574901, 10071562, 6708380, 27332008
7083 #endif
7084             }},
7085         },
7086         {
7087             {{
7088 #if defined(BORINGSSL_CURVE25519_64BIT)
7089                 1920949492387964, 158885288387530, 70308263664033,
7090                 626038464897817, 1468081726101009
7091 #else
7092                 2101372, 28624378, 19702730, 2367575, 51681697, 1047674,
7093                 5301017, 9328700, 29955601, 21876122
7094 #endif
7095             }},
7096             {{
7097 #if defined(BORINGSSL_CURVE25519_64BIT)
7098                 622221042073383, 1210146474039168, 1742246422343683,
7099                 1403839361379025, 417189490895736
7100 #else
7101                 3096359, 9271816, 45488000, 18032587, 52260867, 25961494,
7102                 41216721, 20918836, 57191288, 6216607
7103 #endif
7104             }},
7105             {{
7106 #if defined(BORINGSSL_CURVE25519_64BIT)
7107                 22727256592983, 168471543384997, 1324340989803650,
7108                 1839310709638189, 504999476432775
7109 #else
7110                 34493015, 338662, 41913253, 2510421, 37895298, 19734218,
7111                 24822829, 27407865, 40341383, 7525078
7112 #endif
7113             }},
7114         },
7115         {
7116             {{
7117 #if defined(BORINGSSL_CURVE25519_64BIT)
7118                 1313240518756327, 1721896294296942, 52263574587266,
7119                 2065069734239232, 804910473424630
7120 #else
7121                 44042215, 19568808, 16133486, 25658254, 63719298, 778787,
7122                 66198528, 30771936, 47722230, 11994100
7123 #endif
7124             }},
7125             {{
7126 #if defined(BORINGSSL_CURVE25519_64BIT)
7127                 1337466662091884, 1287645354669772, 2018019646776184,
7128                 652181229374245, 898011753211715
7129 #else
7130                 21691500, 19929806, 66467532, 19187410, 3285880, 30070836,
7131                 42044197, 9718257, 59631427, 13381417
7132 #endif
7133             }},
7134             {{
7135 #if defined(BORINGSSL_CURVE25519_64BIT)
7136                 1969792547910734, 779969968247557, 2011350094423418,
7137                 1823964252907487, 1058949448296945
7138 #else
7139                 18445390, 29352196, 14979845, 11622458, 65381754, 29971451,
7140                 23111647, 27179185, 28535281, 15779576
7141 #endif
7142             }},
7143         },
7144         {
7145             {{
7146 #if defined(BORINGSSL_CURVE25519_64BIT)
7147                 207343737062002, 1118176942430253, 758894594548164,
7148                 806764629546266, 1157700123092949
7149 #else
7150                 30098034, 3089662, 57874477, 16662134, 45801924, 11308410,
7151                 53040410, 12021729, 9955285, 17251076
7152 #endif
7153             }},
7154             {{
7155 #if defined(BORINGSSL_CURVE25519_64BIT)
7156                 1273565321399022, 1638509681964574, 759235866488935,
7157                 666015124346707, 897983460943405
7158 #else
7159                 9734894, 18977602, 59635230, 24415696, 2060391, 11313496,
7160                 48682835, 9924398, 20194861, 13380996
7161 #endif
7162             }},
7163             {{
7164 #if defined(BORINGSSL_CURVE25519_64BIT)
7165                 1717263794012298, 1059601762860786, 1837819172257618,
7166                 1054130665797229, 680893204263559
7167 #else
7168                 40730762, 25589224, 44941042, 15789296, 49053522, 27385639,
7169                 65123949, 15707770, 26342023, 10146099
7170 #endif
7171             }},
7172         },
7173     },
7174     {
7175         {
7176             {{
7177 #if defined(BORINGSSL_CURVE25519_64BIT)
7178                 2237039662793603, 2249022333361206, 2058613546633703,
7179                 149454094845279, 2215176649164582
7180 #else
7181                 41091971, 33334488, 21339190, 33513044, 19745255, 30675732,
7182                 37471583, 2227039, 21612326, 33008704
7183 #endif
7184             }},
7185             {{
7186 #if defined(BORINGSSL_CURVE25519_64BIT)
7187                 79472182719605, 1851130257050174, 1825744808933107,
7188                 821667333481068, 781795293511946
7189 #else
7190                 54031477, 1184227, 23562814, 27583990, 46757619, 27205717,
7191                 25764460, 12243797, 46252298, 11649657
7192 #endif
7193             }},
7194             {{
7195 #if defined(BORINGSSL_CURVE25519_64BIT)
7196                 755822026485370, 152464789723500, 1178207602290608,
7197                 410307889503239, 156581253571278
7198 #else
7199                 57077370, 11262625, 27384172, 2271902, 26947504, 17556661,
7200                 39943, 6114064, 33514190, 2333242
7201 #endif
7202             }},
7203         },
7204         {
7205             {{
7206 #if defined(BORINGSSL_CURVE25519_64BIT)
7207                 1418185496130297, 484520167728613, 1646737281442950,
7208                 1401487684670265, 1349185550126961
7209 #else
7210                 45675257, 21132610, 8119781, 7219913, 45278342, 24538297,
7211                 60429113, 20883793, 24350577, 20104431
7212 #endif
7213             }},
7214             {{
7215 #if defined(BORINGSSL_CURVE25519_64BIT)
7216                 1495380034400429, 325049476417173, 46346894893933,
7217                 1553408840354856, 828980101835683
7218 #else
7219                 62992557, 22282898, 43222677, 4843614, 37020525, 690622,
7220                 35572776, 23147595, 8317859, 12352766
7221 #endif
7222             }},
7223             {{
7224 #if defined(BORINGSSL_CURVE25519_64BIT)
7225                 1280337889310282, 2070832742866672, 1640940617225222,
7226                 2098284908289951, 450929509534434
7227 #else
7228                 18200138, 19078521, 34021104, 30857812, 43406342, 24451920,
7229                 43556767, 31266881, 20712162, 6719373
7230 #endif
7231             }},
7232         },
7233         {
7234             {{
7235 #if defined(BORINGSSL_CURVE25519_64BIT)
7236                 407703353998781, 126572141483652, 286039827513621,
7237                 1999255076709338, 2030511179441770
7238 #else
7239                 26656189, 6075253, 59250308, 1886071, 38764821, 4262325,
7240                 11117530, 29791222, 26224234, 30256974
7241 #endif
7242             }},
7243             {{
7244 #if defined(BORINGSSL_CURVE25519_64BIT)
7245                 1254958221100483, 1153235960999843, 942907704968834,
7246                 637105404087392, 1149293270147267
7247 #else
7248                 49939907, 18700334, 63713187, 17184554, 47154818, 14050419,
7249                 21728352, 9493610, 18620611, 17125804
7250 #endif
7251             }},
7252             {{
7253 #if defined(BORINGSSL_CURVE25519_64BIT)
7254                 894249020470196, 400291701616810, 406878712230981,
7255                 1599128793487393, 1145868722604026
7256 #else
7257                 53785524, 13325348, 11432106, 5964811, 18609221, 6062965,
7258                 61839393, 23828875, 36407290, 17074774
7259 #endif
7260             }},
7261         },
7262         {
7263             {{
7264 #if defined(BORINGSSL_CURVE25519_64BIT)
7265                 1497955250203334, 110116344653260, 1128535642171976,
7266                 1900106496009660, 129792717460909
7267 #else
7268                 43248326, 22321272, 26961356, 1640861, 34695752, 16816491,
7269                 12248508, 28313793, 13735341, 1934062
7270 #endif
7271             }},
7272             {{
7273 #if defined(BORINGSSL_CURVE25519_64BIT)
7274                 452487513298665, 1352120549024569, 1173495883910956,
7275                 1999111705922009, 367328130454226
7276 #else
7277                 25089769, 6742589, 17081145, 20148166, 21909292, 17486451,
7278                 51972569, 29789085, 45830866, 5473615
7279 #endif
7280             }},
7281             {{
7282 #if defined(BORINGSSL_CURVE25519_64BIT)
7283                 1717539401269642, 1475188995688487, 891921989653942,
7284                 836824441505699, 1885988485608364
7285 #else
7286                 31883658, 25593331, 1083431, 21982029, 22828470, 13290673,
7287                 59983779, 12469655, 29111212, 28103418
7288 #endif
7289             }},
7290         },
7291         {
7292             {{
7293 #if defined(BORINGSSL_CURVE25519_64BIT)
7294                 1241784121422547, 187337051947583, 1118481812236193,
7295                 428747751936362, 30358898927325
7296 #else
7297                 24244947, 18504025, 40845887, 2791539, 52111265, 16666677,
7298                 24367466, 6388839, 56813277, 452382
7299 #endif
7300             }},
7301             {{
7302 #if defined(BORINGSSL_CURVE25519_64BIT)
7303                 2022432361201842, 1088816090685051, 1977843398539868,
7304                 1854834215890724, 564238862029357
7305 #else
7306                 41468082, 30136590, 5217915, 16224624, 19987036, 29472163,
7307                 42872612, 27639183, 15766061, 8407814
7308 #endif
7309             }},
7310             {{
7311 #if defined(BORINGSSL_CURVE25519_64BIT)
7312                 938868489100585, 1100285072929025, 1017806255688848,
7313                 1957262154788833, 152787950560442
7314 #else
7315                 46701865, 13990230, 15495425, 16395525, 5377168, 15166495,
7316                 58191841, 29165478, 59040954, 2276717
7317 #endif
7318             }},
7319         },
7320         {
7321             {{
7322 #if defined(BORINGSSL_CURVE25519_64BIT)
7323                 867319417678923, 620471962942542, 226032203305716,
7324                 342001443957629, 1761675818237336
7325 #else
7326                 30157899, 12924066, 49396814, 9245752, 19895028, 3368142,
7327                 43281277, 5096218, 22740376, 26251015
7328 #endif
7329             }},
7330             {{
7331 #if defined(BORINGSSL_CURVE25519_64BIT)
7332                 1295072362439987, 931227904689414, 1355731432641687,
7333                 922235735834035, 892227229410209
7334 #else
7335                 2041139, 19298082, 7783686, 13876377, 41161879, 20201972,
7336                 24051123, 13742383, 51471265, 13295221
7337 #endif
7338             }},
7339             {{
7340 #if defined(BORINGSSL_CURVE25519_64BIT)
7341                 1680989767906154, 535362787031440, 2136691276706570,
7342                 1942228485381244, 1267350086882274
7343 #else
7344                 33338218, 25048699, 12532112, 7977527, 9106186, 31839181,
7345                 49388668, 28941459, 62657506, 18884987
7346 #endif
7347             }},
7348         },
7349         {
7350             {{
7351 #if defined(BORINGSSL_CURVE25519_64BIT)
7352                 366018233770527, 432660629755596, 126409707644535,
7353                 1973842949591662, 645627343442376
7354 #else
7355                 47063583, 5454096, 52762316, 6447145, 28862071, 1883651,
7356                 64639598, 29412551, 7770568, 9620597
7357 #endif
7358             }},
7359             {{
7360 #if defined(BORINGSSL_CURVE25519_64BIT)
7361                 535509430575217, 546885533737322, 1524675609547799,
7362                 2138095752851703, 1260738089896827
7363 #else
7364                 23208049, 7979712, 33071466, 8149229, 1758231, 22719437,
7365                 30945527, 31860109, 33606523, 18786461
7366 #endif
7367             }},
7368             {{
7369 #if defined(BORINGSSL_CURVE25519_64BIT)
7370                 1159906385590467, 2198530004321610, 714559485023225,
7371                 81880727882151, 1484020820037082
7372 #else
7373                 1439939, 17283952, 66028874, 32760649, 4625401, 10647766,
7374                 62065063, 1220117, 30494170, 22113633
7375 #endif
7376             }},
7377         },
7378         {
7379             {{
7380 #if defined(BORINGSSL_CURVE25519_64BIT)
7381                 1377485731340769, 2046328105512000, 1802058637158797,
7382                 62146136768173, 1356993908853901
7383 #else
7384                 62071265, 20526136, 64138304, 30492664, 15640973, 26852766,
7385                 40369837, 926049, 65424525, 20220784
7386 #endif
7387             }},
7388             {{
7389 #if defined(BORINGSSL_CURVE25519_64BIT)
7390                 2013612215646735, 1830770575920375, 536135310219832,
7391                 609272325580394, 270684344495013
7392 #else
7393                 13908495, 30005160, 30919927, 27280607, 45587000, 7989038,
7394                 9021034, 9078865, 3353509, 4033511
7395 #endif
7396             }},
7397             {{
7398 #if defined(BORINGSSL_CURVE25519_64BIT)
7399                 1237542585982777, 2228682050256790, 1385281931622824,
7400                 593183794882890, 493654978552689
7401 #else
7402                 37445433, 18440821, 32259990, 33209950, 24295848, 20642309,
7403                 23161162, 8839127, 27485041, 7356032
7404 #endif
7405             }},
7406         },
7407     },
7408     {
7409         {
7410             {{
7411 #if defined(BORINGSSL_CURVE25519_64BIT)
7412                 47341488007760, 1891414891220257, 983894663308928,
7413                 176161768286818, 1126261115179708
7414 #else
7415                 9661008, 705443, 11980065, 28184278, 65480320, 14661172,
7416                 60762722, 2625014, 28431036, 16782598
7417 #endif
7418             }},
7419             {{
7420 #if defined(BORINGSSL_CURVE25519_64BIT)
7421                 1694030170963455, 502038567066200, 1691160065225467,
7422                 949628319562187, 275110186693066
7423 #else
7424                 43269631, 25243016, 41163352, 7480957, 49427195, 25200248,
7425                 44562891, 14150564, 15970762, 4099461
7426 #endif
7427             }},
7428             {{
7429 #if defined(BORINGSSL_CURVE25519_64BIT)
7430                 1124515748676336, 1661673816593408, 1499640319059718,
7431                 1584929449166988, 558148594103306
7432 #else
7433                 29262576, 16756590, 26350592, 24760869, 8529670, 22346382,
7434                 13617292, 23617289, 11465738, 8317062
7435 #endif
7436             }},
7437         },
7438         {
7439             {{
7440 #if defined(BORINGSSL_CURVE25519_64BIT)
7441                 1784525599998356, 1619698033617383, 2097300287550715,
7442                 258265458103756, 1905684794832758
7443 #else
7444                 41615764, 26591503, 32500199, 24135381, 44070139, 31252209,
7445                 14898636, 3848455, 20969334, 28396916
7446 #endif
7447             }},
7448             {{
7449 #if defined(BORINGSSL_CURVE25519_64BIT)
7450                 1288941072872766, 931787902039402, 190731008859042,
7451                 2006859954667190, 1005931482221702
7452 #else
7453                 46724414, 19206718, 48772458, 13884721, 34069410, 2842113,
7454                 45498038, 29904543, 11177094, 14989547
7455 #endif
7456             }},
7457             {{
7458 #if defined(BORINGSSL_CURVE25519_64BIT)
7459                 1465551264822703, 152905080555927, 680334307368453,
7460                 173227184634745, 666407097159852
7461 #else
7462                 42612143, 21838415, 16959895, 2278463, 12066309, 10137771,
7463                 13515641, 2581286, 38621356, 9930239
7464 #endif
7465             }},
7466         },
7467         {
7468             {{
7469 #if defined(BORINGSSL_CURVE25519_64BIT)
7470                 2111017076203943, 1378760485794347, 1248583954016456,
7471                 1352289194864422, 1895180776543896
7472 #else
7473                 49357223, 31456605, 16544299, 20545132, 51194056, 18605350,
7474                 18345766, 20150679, 16291480, 28240394
7475 #endif
7476             }},
7477             {{
7478 #if defined(BORINGSSL_CURVE25519_64BIT)
7479                 171348223915638, 662766099800389, 462338943760497,
7480                 466917763340314, 656911292869115
7481 #else
7482                 33879670, 2553287, 32678213, 9875984, 8534129, 6889387,
7483                 57432090, 6957616, 4368891, 9788741
7484 #endif
7485             }},
7486             {{
7487 #if defined(BORINGSSL_CURVE25519_64BIT)
7488                 488623681976577, 866497561541722, 1708105560937768,
7489                 1673781214218839, 1506146329818807
7490 #else
7491                 16660737, 7281060, 56278106, 12911819, 20108584, 25452756,
7492                 45386327, 24941283, 16250551, 22443329
7493 #endif
7494             }},
7495         },
7496         {
7497             {{
7498 #if defined(BORINGSSL_CURVE25519_64BIT)
7499                 160425464456957, 950394373239689, 430497123340934,
7500                 711676555398832, 320964687779005
7501 #else
7502                 47343357, 2390525, 50557833, 14161979, 1905286, 6414907,
7503                 4689584, 10604807, 36918461, 4782746
7504 #endif
7505             }},
7506             {{
7507 #if defined(BORINGSSL_CURVE25519_64BIT)
7508                 988979367990485, 1359729327576302, 1301834257246029,
7509                 294141160829308, 29348272277475
7510 #else
7511                 65754325, 14736940, 59741422, 20261545, 7710541, 19398842,
7512                 57127292, 4383044, 22546403, 437323
7513 #endif
7514             }},
7515             {{
7516 #if defined(BORINGSSL_CURVE25519_64BIT)
7517                 1434382743317910, 100082049942065, 221102347892623,
7518                 186982837860588, 1305765053501834
7519 #else
7520                 31665558, 21373968, 50922033, 1491338, 48740239, 3294681,
7521                 27343084, 2786261, 36475274, 19457415
7522 #endif
7523             }},
7524         },
7525         {
7526             {{
7527 #if defined(BORINGSSL_CURVE25519_64BIT)
7528                 2205916462268190, 499863829790820, 961960554686616,
7529                 158062762756985, 1841471168298305
7530 #else
7531                 52641566, 32870716, 33734756, 7448551, 19294360, 14334329,
7532                 47418233, 2355318, 47824193, 27440058
7533 #endif
7534             }},
7535             {{
7536 #if defined(BORINGSSL_CURVE25519_64BIT)
7537                 1191737341426592, 1847042034978363, 1382213545049056,
7538                 1039952395710448, 788812858896859
7539 #else
7540                 15121312, 17758270, 6377019, 27523071, 56310752, 20596586,
7541                 18952176, 15496498, 37728731, 11754227
7542 #endif
7543             }},
7544             {{
7545 #if defined(BORINGSSL_CURVE25519_64BIT)
7546                 1346965964571152, 1291881610839830, 2142916164336056,
7547                 786821641205979, 1571709146321039
7548 #else
7549                 64471568, 20071356, 8488726, 19250536, 12728760, 31931939,
7550                 7141595, 11724556, 22761615, 23420291
7551 #endif
7552             }},
7553         },
7554         {
7555             {{
7556 #if defined(BORINGSSL_CURVE25519_64BIT)
7557                 787164375951248, 202869205373189, 1356590421032140,
7558                 1431233331032510, 786341368775957
7559 #else
7560                 16918416, 11729663, 49025285, 3022986, 36093132, 20214772,
7561                 38367678, 21327038, 32851221, 11717399
7562 #endif
7563             }},
7564             {{
7565 #if defined(BORINGSSL_CURVE25519_64BIT)
7566                 492448143532951, 304105152670757, 1761767168301056,
7567                 233782684697790, 1981295323106089
7568 #else
7569                 11166615, 7338049, 60386341, 4531519, 37640192, 26252376,
7570                 31474878, 3483633, 65915689, 29523600
7571 #endif
7572             }},
7573             {{
7574 #if defined(BORINGSSL_CURVE25519_64BIT)
7575                 665807507761866, 1343384868355425, 895831046139653,
7576                 439338948736892, 1986828765695105
7577 #else
7578                 66923210, 9921304, 31456609, 20017994, 55095045, 13348922,
7579                 33142652, 6546660, 47123585, 29606055
7580 #endif
7581             }},
7582         },
7583         {
7584             {{
7585 #if defined(BORINGSSL_CURVE25519_64BIT)
7586                 756096210874553, 1721699973539149, 258765301727885,
7587                 1390588532210645, 1212530909934781
7588 #else
7589                 34648249, 11266711, 55911757, 25655328, 31703693, 3855903,
7590                 58571733, 20721383, 36336829, 18068118
7591 #endif
7592             }},
7593             {{
7594 #if defined(BORINGSSL_CURVE25519_64BIT)
7595                 852891097972275, 1816988871354562, 1543772755726524,
7596                 1174710635522444, 202129090724628
7597 #else
7598                 49102387, 12709067, 3991746, 27075244, 45617340, 23004006,
7599                 35973516, 17504552, 10928916, 3011958
7600 #endif
7601             }},
7602             {{
7603 #if defined(BORINGSSL_CURVE25519_64BIT)
7604                 1205281565824323, 22430498399418, 992947814485516,
7605                 1392458699738672, 688441466734558
7606 #else
7607                 60151107, 17960094, 31696058, 334240, 29576716, 14796075,
7608                 36277808, 20749251, 18008030, 10258577
7609 #endif
7610             }},
7611         },
7612         {
7613             {{
7614 #if defined(BORINGSSL_CURVE25519_64BIT)
7615                 1050627428414972, 1955849529137135, 2171162376368357,
7616                 91745868298214, 447733118757826
7617 #else
7618                 44660220, 15655568, 7018479, 29144429, 36794597, 32352840,
7619                 65255398, 1367119, 25127874, 6671743
7620 #endif
7621             }},
7622             {{
7623 #if defined(BORINGSSL_CURVE25519_64BIT)
7624                 1287181461435438, 622722465530711, 880952150571872,
7625                 741035693459198, 311565274989772
7626 #else
7627                 29701166, 19180498, 56230743, 9279287, 67091296, 13127209,
7628                 21382910, 11042292, 25838796, 4642684
7629 #endif
7630             }},
7631             {{
7632 #if defined(BORINGSSL_CURVE25519_64BIT)
7633                 1003649078149734, 545233927396469, 1849786171789880,
7634                 1318943684880434, 280345687170552
7635 #else
7636                 46678630, 14955536, 42982517, 8124618, 61739576, 27563961,
7637                 30468146, 19653792, 18423288, 4177476
7638 #endif
7639             }},
7640         },
7641     },
7642 };
7643 
7644 #endif  // OPENSSL_SMALL
7645 
7646 // Bi[i] = (2*i+1)*B
7647 static const ge_precomp Bi[8] = {
7648     {
7649         {{
7650 #if defined(BORINGSSL_CURVE25519_64BIT)
7651             1288382639258501, 245678601348599, 269427782077623,
7652             1462984067271730, 137412439391563
7653 #else
7654             25967493, 19198397, 29566455, 3660896, 54414519, 4014786, 27544626,
7655             21800161, 61029707, 2047604
7656 #endif
7657         }},
7658         {{
7659 #if defined(BORINGSSL_CURVE25519_64BIT)
7660             62697248952638, 204681361388450, 631292143396476, 338455783676468,
7661             1213667448819585
7662 #else
7663             54563134, 934261, 64385954, 3049989, 66381436, 9406985, 12720692,
7664             5043384, 19500929, 18085054
7665 #endif
7666         }},
7667         {{
7668 #if defined(BORINGSSL_CURVE25519_64BIT)
7669             301289933810280, 1259582250014073, 1422107436869536,
7670             796239922652654, 1953934009299142
7671 #else
7672             58370664, 4489569, 9688441, 18769238, 10184608, 21191052, 29287918,
7673             11864899, 42594502, 29115885
7674 #endif
7675         }},
7676     },
7677     {
7678         {{
7679 #if defined(BORINGSSL_CURVE25519_64BIT)
7680             1601611775252272, 1720807796594148, 1132070835939856,
7681             1260455018889551, 2147779492816911
7682 #else
7683             15636272, 23865875, 24204772, 25642034, 616976, 16869170, 27787599,
7684             18782243, 28944399, 32004408
7685 #endif
7686         }},
7687         {{
7688 #if defined(BORINGSSL_CURVE25519_64BIT)
7689             316559037616741, 2177824224946892, 1459442586438991,
7690             1461528397712656, 751590696113597
7691 #else
7692             16568933, 4717097, 55552716, 32452109, 15682895, 21747389, 16354576,
7693             21778470, 7689661, 11199574
7694 #endif
7695         }},
7696         {{
7697 #if defined(BORINGSSL_CURVE25519_64BIT)
7698             1850748884277385, 1200145853858453, 1068094770532492,
7699             672251375690438, 1586055907191707
7700 #else
7701             30464137, 27578307, 55329429, 17883566, 23220364, 15915852, 7512774,
7702             10017326, 49359771, 23634074
7703 #endif
7704         }},
7705     },
7706     {
7707         {{
7708 #if defined(BORINGSSL_CURVE25519_64BIT)
7709             769950342298419, 132954430919746, 844085933195555, 974092374476333,
7710             726076285546016
7711 #else
7712             10861363, 11473154, 27284546, 1981175, 37044515, 12577860, 32867885,
7713             14515107, 51670560, 10819379
7714 #endif
7715         }},
7716         {{
7717 #if defined(BORINGSSL_CURVE25519_64BIT)
7718             425251763115706, 608463272472562, 442562545713235, 837766094556764,
7719             374555092627893
7720 #else
7721             4708026, 6336745, 20377586, 9066809, 55836755, 6594695, 41455196,
7722             12483687, 54440373, 5581305
7723 #endif
7724         }},
7725         {{
7726 #if defined(BORINGSSL_CURVE25519_64BIT)
7727             1086255230780037, 274979815921559, 1960002765731872,
7728             929474102396301, 1190409889297339
7729 #else
7730             19563141, 16186464, 37722007, 4097518, 10237984, 29206317, 28542349,
7731             13850243, 43430843, 17738489
7732 #endif
7733         }},
7734     },
7735     {
7736         {{
7737 #if defined(BORINGSSL_CURVE25519_64BIT)
7738             665000864555967, 2065379846933859, 370231110385876, 350988370788628,
7739             1233371373142985
7740 #else
7741             5153727, 9909285, 1723747, 30776558, 30523604, 5516873, 19480852,
7742             5230134, 43156425, 18378665
7743 #endif
7744         }},
7745         {{
7746 #if defined(BORINGSSL_CURVE25519_64BIT)
7747             2019367628972465, 676711900706637, 110710997811333,
7748             1108646842542025, 517791959672113
7749 #else
7750             36839857, 30090922, 7665485, 10083793, 28475525, 1649722, 20654025,
7751             16520125, 30598449, 7715701
7752 #endif
7753         }},
7754         {{
7755 #if defined(BORINGSSL_CURVE25519_64BIT)
7756             965130719900578, 247011430587952, 526356006571389, 91986625355052,
7757             2157223321444601
7758 #else
7759             28881826, 14381568, 9657904, 3680757, 46927229, 7843315, 35708204,
7760             1370707, 29794553, 32145132
7761 #endif
7762         }},
7763     },
7764     {
7765         {{
7766 #if defined(BORINGSSL_CURVE25519_64BIT)
7767             1802695059465007, 1664899123557221, 593559490740857,
7768             2160434469266659, 927570450755031
7769 #else
7770             44589871, 26862249, 14201701, 24808930, 43598457, 8844725, 18474211,
7771             32192982, 54046167, 13821876
7772 #endif
7773         }},
7774         {{
7775 #if defined(BORINGSSL_CURVE25519_64BIT)
7776             1725674970513508, 1933645953859181, 1542344539275782,
7777             1767788773573747, 1297447965928905
7778 #else
7779             60653668, 25714560, 3374701, 28813570, 40010246, 22982724, 31655027,
7780             26342105, 18853321, 19333481
7781 #endif
7782         }},
7783         {{
7784 #if defined(BORINGSSL_CURVE25519_64BIT)
7785             1381809363726107, 1430341051343062, 2061843536018959,
7786             1551778050872521, 2036394857967624
7787 #else
7788             4566811, 20590564, 38133974, 21313742, 59506191, 30723862, 58594505,
7789             23123294, 2207752, 30344648
7790 #endif
7791         }},
7792     },
7793     {
7794         {{
7795 #if defined(BORINGSSL_CURVE25519_64BIT)
7796             1970894096313054, 528066325833207, 1619374932191227,
7797             2207306624415883, 1169170329061080
7798 #else
7799             41954014, 29368610, 29681143, 7868801, 60254203, 24130566, 54671499,
7800             32891431, 35997400, 17421995
7801 #endif
7802         }},
7803         {{
7804 #if defined(BORINGSSL_CURVE25519_64BIT)
7805             2070390218572616, 1458919061857835, 624171843017421,
7806             1055332792707765, 433987520732508
7807 #else
7808             25576264, 30851218, 7349803, 21739588, 16472781, 9300885, 3844789,
7809             15725684, 171356, 6466918
7810 #endif
7811         }},
7812         {{
7813 #if defined(BORINGSSL_CURVE25519_64BIT)
7814             893653801273833, 1168026499324677, 1242553501121234,
7815             1306366254304474, 1086752658510815
7816 #else
7817             23103977, 13316479, 9739013, 17404951, 817874, 18515490, 8965338,
7818             19466374, 36393951, 16193876
7819 #endif
7820         }},
7821     },
7822     {
7823         {{
7824 #if defined(BORINGSSL_CURVE25519_64BIT)
7825             213454002618221, 939771523987438, 1159882208056014, 317388369627517,
7826             621213314200687
7827 #else
7828             33587053, 3180712, 64714734, 14003686, 50205390, 17283591, 17238397,
7829             4729455, 49034351, 9256799
7830 #endif
7831         }},
7832         {{
7833 #if defined(BORINGSSL_CURVE25519_64BIT)
7834             1971678598905747, 338026507889165, 762398079972271, 655096486107477,
7835             42299032696322
7836 #else
7837             41926547, 29380300, 32336397, 5036987, 45872047, 11360616, 22616405,
7838             9761698, 47281666, 630304
7839 #endif
7840         }},
7841         {{
7842 #if defined(BORINGSSL_CURVE25519_64BIT)
7843             177130678690680, 1754759263300204, 1864311296286618,
7844             1180675631479880, 1292726903152791
7845 #else
7846             53388152, 2639452, 42871404, 26147950, 9494426, 27780403, 60554312,
7847             17593437, 64659607, 19263131
7848 #endif
7849         }},
7850     },
7851     {
7852         {{
7853 #if defined(BORINGSSL_CURVE25519_64BIT)
7854             1913163449625248, 460779200291993, 2193883288642314,
7855             1008900146920800, 1721983679009502
7856 #else
7857             63957664, 28508356, 9282713, 6866145, 35201802, 32691408, 48168288,
7858             15033783, 25105118, 25659556
7859 #endif
7860         }},
7861         {{
7862 #if defined(BORINGSSL_CURVE25519_64BIT)
7863             1070401523076875, 1272492007800961, 1910153608563310,
7864             2075579521696771, 1191169788841221
7865 #else
7866             42782475, 15950225, 35307649, 18961608, 55446126, 28463506, 1573891,
7867             30928545, 2198789, 17749813
7868 #endif
7869         }},
7870         {{
7871 #if defined(BORINGSSL_CURVE25519_64BIT)
7872             692896803108118, 500174642072499, 2068223309439677,
7873             1162190621851337, 1426986007309901
7874 #else
7875             64009494, 10324966, 64867251, 7453182, 61661885, 30818928, 53296841,
7876             17317989, 34647629, 21263748
7877 #endif
7878         }},
7879     },
7880 };
7881