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


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:02