circom/out.cir
out.cirRaw
1{
2 "mainCode": "// File: ../../circuits/sha256/bitify.circom\nfunction Num2Bits(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"i\",[])], bigInt(bigInt(ctx.getVar(\"i\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getSignal(\"in\", [])).shr(bigInt(ctx.getVar(\"i\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lc1\",[]), ctx.getSignal(\"in\", []));\n}\n\nfunction Bits2Num(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.setSignal(\"out\", [], ctx.getVar(\"lc1\",[]));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getVar(\"lc1\",[]));\n}\n\n\n// File: ../../circuits/sha256/binsum.circom\nfunction nbits(ctx) {\n ctx.setVar(\"n\", [], \"1\");\n ctx.setVar(\"r\", [], \"0\");\n while (bigInt(bigInt(ctx.getVar(\"n\",[])).add(__P__).sub(bigInt(\"1\")).mod(__P__)).lt(bigInt(ctx.getVar(\"a\",[]))) ? 1 : 0) {\n (ctx.setVar(\"r\", [], bigInt(ctx.getVar(\"r\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__);\n ctx.setVar(\"n\", [], bigInt(ctx.getVar(\"n\",[])).mul(bigInt(\"2\")).mod(__P__));\n }\n\n return ctx.getVar(\"r\",[]);;\n}\nfunction BinSum(ctx)\n{\n ctx.setVar(\"nout\", [], ctx.callFunction(\"nbits\", [bigInt(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"n\",[])), __P__)).add(__P__).sub(bigInt(\"1\")).mod(__P__)).mul(bigInt(ctx.getVar(\"ops\",[]))).mod(__P__)]));\n ctx.setVar(\"lin\", [], \"0\");\n ctx.setVar(\"lout\", [], \"0\");\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n for (ctx.setVar(\"j\", [], \"0\");bigInt(ctx.getVar(\"j\",[])).lt(bigInt(ctx.getVar(\"ops\",[]))) ? 1 : 0;(ctx.setVar(\"j\", [], bigInt(ctx.getVar(\"j\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lin\", [], bigInt(ctx.getVar(\"lin\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"j\",[]),ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n }\n\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"nout\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"k\",[])], bigInt(bigInt(ctx.getVar(\"k\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getVar(\"lin\",[])).shr(bigInt(ctx.getVar(\"k\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lout\", [], bigInt(ctx.getVar(\"lout\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lin\",[]), ctx.getVar(\"lout\",[]));\n}\n\n\nfunction A(ctx)\n{\n ctx.setPin(\"n2ba\", [], \"in\", [], ctx.getSignal(\"a\", []));\n ctx.assert(ctx.getPin(\"n2ba\", [], \"in\", []), ctx.getSignal(\"a\", []));\n ctx.setPin(\"n2bb\", [], \"in\", [], ctx.getSignal(\"b\", []));\n ctx.assert(ctx.getPin(\"n2bb\", [], \"in\", []), ctx.getSignal(\"b\", []));\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(\"32\")) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])], ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])]), ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n }\n\n ctx.setSignal(\"out\", [], ctx.getPin(\"b2n\", [], \"out\", []));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getPin(\"b2n\", [], \"out\", []));\n}\n\n",
3 "signalName2Idx": {
4 "one": 0,
5 "main.a": 3,
6 "main.b": 2,
7 "main.out": 1,
8 "main.n2ba.in": 3,
9 "main.n2ba.out[0]": 4,
10 "main.n2ba.out[1]": 5,
11 "main.n2ba.out[2]": 6,
12 "main.n2ba.out[3]": 7,
13 "main.n2ba.out[4]": 8,
14 "main.n2ba.out[5]": 9,
15 "main.n2ba.out[6]": 10,
16 "main.n2ba.out[7]": 11,
17 "main.n2ba.out[8]": 12,
18 "main.n2ba.out[9]": 13,
19 "main.n2ba.out[10]": 14,
20 "main.n2ba.out[11]": 15,
21 "main.n2ba.out[12]": 16,
22 "main.n2ba.out[13]": 17,
23 "main.n2ba.out[14]": 18,
24 "main.n2ba.out[15]": 19,
25 "main.n2ba.out[16]": 20,
26 "main.n2ba.out[17]": 21,
27 "main.n2ba.out[18]": 22,
28 "main.n2ba.out[19]": 23,
29 "main.n2ba.out[20]": 24,
30 "main.n2ba.out[21]": 25,
31 "main.n2ba.out[22]": 26,
32 "main.n2ba.out[23]": 27,
33 "main.n2ba.out[24]": 28,
34 "main.n2ba.out[25]": 29,
35 "main.n2ba.out[26]": 30,
36 "main.n2ba.out[27]": 31,
37 "main.n2ba.out[28]": 32,
38 "main.n2ba.out[29]": 33,
39 "main.n2ba.out[30]": 34,
40 "main.n2ba.out[31]": 35,
41 "main.n2bb.in": 2,
42 "main.n2bb.out[0]": 36,
43 "main.n2bb.out[1]": 37,
44 "main.n2bb.out[2]": 38,
45 "main.n2bb.out[3]": 39,
46 "main.n2bb.out[4]": 40,
47 "main.n2bb.out[5]": 41,
48 "main.n2bb.out[6]": 42,
49 "main.n2bb.out[7]": 43,
50 "main.n2bb.out[8]": 44,
51 "main.n2bb.out[9]": 45,
52 "main.n2bb.out[10]": 46,
53 "main.n2bb.out[11]": 47,
54 "main.n2bb.out[12]": 48,
55 "main.n2bb.out[13]": 49,
56 "main.n2bb.out[14]": 50,
57 "main.n2bb.out[15]": 51,
58 "main.n2bb.out[16]": 52,
59 "main.n2bb.out[17]": 53,
60 "main.n2bb.out[18]": 54,
61 "main.n2bb.out[19]": 55,
62 "main.n2bb.out[20]": 56,
63 "main.n2bb.out[21]": 57,
64 "main.n2bb.out[22]": 58,
65 "main.n2bb.out[23]": 59,
66 "main.n2bb.out[24]": 60,
67 "main.n2bb.out[25]": 61,
68 "main.n2bb.out[26]": 62,
69 "main.n2bb.out[27]": 63,
70 "main.n2bb.out[28]": 64,
71 "main.n2bb.out[29]": 65,
72 "main.n2bb.out[30]": 66,
73 "main.n2bb.out[31]": 67,
74 "main.sum.in[0][0]": 4,
75 "main.sum.in[0][1]": 5,
76 "main.sum.in[0][2]": 6,
77 "main.sum.in[0][3]": 7,
78 "main.sum.in[0][4]": 8,
79 "main.sum.in[0][5]": 9,
80 "main.sum.in[0][6]": 10,
81 "main.sum.in[0][7]": 11,
82 "main.sum.in[0][8]": 12,
83 "main.sum.in[0][9]": 13,
84 "main.sum.in[0][10]": 14,
85 "main.sum.in[0][11]": 15,
86 "main.sum.in[0][12]": 16,
87 "main.sum.in[0][13]": 17,
88 "main.sum.in[0][14]": 18,
89 "main.sum.in[0][15]": 19,
90 "main.sum.in[0][16]": 20,
91 "main.sum.in[0][17]": 21,
92 "main.sum.in[0][18]": 22,
93 "main.sum.in[0][19]": 23,
94 "main.sum.in[0][20]": 24,
95 "main.sum.in[0][21]": 25,
96 "main.sum.in[0][22]": 26,
97 "main.sum.in[0][23]": 27,
98 "main.sum.in[0][24]": 28,
99 "main.sum.in[0][25]": 29,
100 "main.sum.in[0][26]": 30,
101 "main.sum.in[0][27]": 31,
102 "main.sum.in[0][28]": 32,
103 "main.sum.in[0][29]": 33,
104 "main.sum.in[0][30]": 34,
105 "main.sum.in[0][31]": 35,
106 "main.sum.in[1][0]": 36,
107 "main.sum.in[1][1]": 37,
108 "main.sum.in[1][2]": 38,
109 "main.sum.in[1][3]": 39,
110 "main.sum.in[1][4]": 40,
111 "main.sum.in[1][5]": 41,
112 "main.sum.in[1][6]": 42,
113 "main.sum.in[1][7]": 43,
114 "main.sum.in[1][8]": 44,
115 "main.sum.in[1][9]": 45,
116 "main.sum.in[1][10]": 46,
117 "main.sum.in[1][11]": 47,
118 "main.sum.in[1][12]": 48,
119 "main.sum.in[1][13]": 49,
120 "main.sum.in[1][14]": 50,
121 "main.sum.in[1][15]": 51,
122 "main.sum.in[1][16]": 52,
123 "main.sum.in[1][17]": 53,
124 "main.sum.in[1][18]": 54,
125 "main.sum.in[1][19]": 55,
126 "main.sum.in[1][20]": 56,
127 "main.sum.in[1][21]": 57,
128 "main.sum.in[1][22]": 58,
129 "main.sum.in[1][23]": 59,
130 "main.sum.in[1][24]": 60,
131 "main.sum.in[1][25]": 61,
132 "main.sum.in[1][26]": 62,
133 "main.sum.in[1][27]": 63,
134 "main.sum.in[1][28]": 64,
135 "main.sum.in[1][29]": 65,
136 "main.sum.in[1][30]": 66,
137 "main.sum.in[1][31]": 67,
138 "main.sum.out[0]": 68,
139 "main.sum.out[1]": 69,
140 "main.sum.out[2]": 70,
141 "main.sum.out[3]": 71,
142 "main.sum.out[4]": 72,
143 "main.sum.out[5]": 73,
144 "main.sum.out[6]": 74,
145 "main.sum.out[7]": 75,
146 "main.sum.out[8]": 76,
147 "main.sum.out[9]": 77,
148 "main.sum.out[10]": 78,
149 "main.sum.out[11]": 79,
150 "main.sum.out[12]": 80,
151 "main.sum.out[13]": 81,
152 "main.sum.out[14]": 82,
153 "main.sum.out[15]": 83,
154 "main.sum.out[16]": 84,
155 "main.sum.out[17]": 85,
156 "main.sum.out[18]": 86,
157 "main.sum.out[19]": 87,
158 "main.sum.out[20]": 88,
159 "main.sum.out[21]": 89,
160 "main.sum.out[22]": 90,
161 "main.sum.out[23]": 91,
162 "main.sum.out[24]": 92,
163 "main.sum.out[25]": 93,
164 "main.sum.out[26]": 94,
165 "main.sum.out[27]": 95,
166 "main.sum.out[28]": 96,
167 "main.sum.out[29]": 97,
168 "main.sum.out[30]": 98,
169 "main.sum.out[31]": 99,
170 "main.sum.out[32]": 100,
171 "main.b2n.in[0]": 68,
172 "main.b2n.in[1]": 69,
173 "main.b2n.in[2]": 70,
174 "main.b2n.in[3]": 71,
175 "main.b2n.in[4]": 72,
176 "main.b2n.in[5]": 73,
177 "main.b2n.in[6]": 74,
178 "main.b2n.in[7]": 75,
179 "main.b2n.in[8]": 76,
180 "main.b2n.in[9]": 77,
181 "main.b2n.in[10]": 78,
182 "main.b2n.in[11]": 79,
183 "main.b2n.in[12]": 80,
184 "main.b2n.in[13]": 81,
185 "main.b2n.in[14]": 82,
186 "main.b2n.in[15]": 83,
187 "main.b2n.in[16]": 84,
188 "main.b2n.in[17]": 85,
189 "main.b2n.in[18]": 86,
190 "main.b2n.in[19]": 87,
191 "main.b2n.in[20]": 88,
192 "main.b2n.in[21]": 89,
193 "main.b2n.in[22]": 90,
194 "main.b2n.in[23]": 91,
195 "main.b2n.in[24]": 92,
196 "main.b2n.in[25]": 93,
197 "main.b2n.in[26]": 94,
198 "main.b2n.in[27]": 95,
199 "main.b2n.in[28]": 96,
200 "main.b2n.in[29]": 97,
201 "main.b2n.in[30]": 98,
202 "main.b2n.in[31]": 99,
203 "main.b2n.out": 1
204 },
205 "components": [
206 {
207 "name": "main",
208 "params": {},
209 "template": "A",
210 "inputSignals": 2
211 },
212 {
213 "name": "main.n2ba",
214 "params": {
215 "n": "32"
216 },
217 "template": "Num2Bits",
218 "inputSignals": 1
219 },
220 {
221 "name": "main.n2bb",
222 "params": {
223 "n": "32"
224 },
225 "template": "Num2Bits",
226 "inputSignals": 1
227 },
228 {
229 "name": "main.sum",
230 "params": {
231 "n": "32",
232 "ops": "2"
233 },
234 "template": "BinSum",
235 "inputSignals": 64
236 },
237 {
238 "name": "main.b2n",
239 "params": {
240 "n": "32"
241 },
242 "template": "Bits2Num",
243 "inputSignals": 32
244 }
245 ],
246 "componentName2Idx": {
247 "main": 0,
248 "main.n2ba": 1,
249 "main.n2bb": 2,
250 "main.sum": 3,
251 "main.b2n": 4
252 },
253 "signals": [
254 {
255 "names": [
256 "one"
257 ],
258 "triggerComponents": []
259 },
260 {
261 "names": [
262 "main.out",
263 "main.b2n.out"
264 ],
265 "triggerComponents": []
266 },
267 {
268 "names": [
269 "main.b",
270 "main.n2bb.in"
271 ],
272 "triggerComponents": [
273 0,
274 2
275 ]
276 },
277 {
278 "names": [
279 "main.a",
280 "main.n2ba.in"
281 ],
282 "triggerComponents": [
283 0,
284 1
285 ]
286 },
287 {
288 "names": [
289 "main.n2ba.out[0]",
290 "main.sum.in[0][0]"
291 ],
292 "triggerComponents": [
293 3
294 ]
295 },
296 {
297 "names": [
298 "main.n2ba.out[1]",
299 "main.sum.in[0][1]"
300 ],
301 "triggerComponents": [
302 3
303 ]
304 },
305 {
306 "names": [
307 "main.n2ba.out[2]",
308 "main.sum.in[0][2]"
309 ],
310 "triggerComponents": [
311 3
312 ]
313 },
314 {
315 "names": [
316 "main.n2ba.out[3]",
317 "main.sum.in[0][3]"
318 ],
319 "triggerComponents": [
320 3
321 ]
322 },
323 {
324 "names": [
325 "main.n2ba.out[4]",
326 "main.sum.in[0][4]"
327 ],
328 "triggerComponents": [
329 3
330 ]
331 },
332 {
333 "names": [
334 "main.n2ba.out[5]",
335 "main.sum.in[0][5]"
336 ],
337 "triggerComponents": [
338 3
339 ]
340 },
341 {
342 "names": [
343 "main.n2ba.out[6]",
344 "main.sum.in[0][6]"
345 ],
346 "triggerComponents": [
347 3
348 ]
349 },
350 {
351 "names": [
352 "main.n2ba.out[7]",
353 "main.sum.in[0][7]"
354 ],
355 "triggerComponents": [
356 3
357 ]
358 },
359 {
360 "names": [
361 "main.n2ba.out[8]",
362 "main.sum.in[0][8]"
363 ],
364 "triggerComponents": [
365 3
366 ]
367 },
368 {
369 "names": [
370 "main.n2ba.out[9]",
371 "main.sum.in[0][9]"
372 ],
373 "triggerComponents": [
374 3
375 ]
376 },
377 {
378 "names": [
379 "main.n2ba.out[10]",
380 "main.sum.in[0][10]"
381 ],
382 "triggerComponents": [
383 3
384 ]
385 },
386 {
387 "names": [
388 "main.n2ba.out[11]",
389 "main.sum.in[0][11]"
390 ],
391 "triggerComponents": [
392 3
393 ]
394 },
395 {
396 "names": [
397 "main.n2ba.out[12]",
398 "main.sum.in[0][12]"
399 ],
400 "triggerComponents": [
401 3
402 ]
403 },
404 {
405 "names": [
406 "main.n2ba.out[13]",
407 "main.sum.in[0][13]"
408 ],
409 "triggerComponents": [
410 3
411 ]
412 },
413 {
414 "names": [
415 "main.n2ba.out[14]",
416 "main.sum.in[0][14]"
417 ],
418 "triggerComponents": [
419 3
420 ]
421 },
422 {
423 "names": [
424 "main.n2ba.out[15]",
425 "main.sum.in[0][15]"
426 ],
427 "triggerComponents": [
428 3
429 ]
430 },
431 {
432 "names": [
433 "main.n2ba.out[16]",
434 "main.sum.in[0][16]"
435 ],
436 "triggerComponents": [
437 3
438 ]
439 },
440 {
441 "names": [
442 "main.n2ba.out[17]",
443 "main.sum.in[0][17]"
444 ],
445 "triggerComponents": [
446 3
447 ]
448 },
449 {
450 "names": [
451 "main.n2ba.out[18]",
452 "main.sum.in[0][18]"
453 ],
454 "triggerComponents": [
455 3
456 ]
457 },
458 {
459 "names": [
460 "main.n2ba.out[19]",
461 "main.sum.in[0][19]"
462 ],
463 "triggerComponents": [
464 3
465 ]
466 },
467 {
468 "names": [
469 "main.n2ba.out[20]",
470 "main.sum.in[0][20]"
471 ],
472 "triggerComponents": [
473 3
474 ]
475 },
476 {
477 "names": [
478 "main.n2ba.out[21]",
479 "main.sum.in[0][21]"
480 ],
481 "triggerComponents": [
482 3
483 ]
484 },
485 {
486 "names": [
487 "main.n2ba.out[22]",
488 "main.sum.in[0][22]"
489 ],
490 "triggerComponents": [
491 3
492 ]
493 },
494 {
495 "names": [
496 "main.n2ba.out[23]",
497 "main.sum.in[0][23]"
498 ],
499 "triggerComponents": [
500 3
501 ]
502 },
503 {
504 "names": [
505 "main.n2ba.out[24]",
506 "main.sum.in[0][24]"
507 ],
508 "triggerComponents": [
509 3
510 ]
511 },
512 {
513 "names": [
514 "main.n2ba.out[25]",
515 "main.sum.in[0][25]"
516 ],
517 "triggerComponents": [
518 3
519 ]
520 },
521 {
522 "names": [
523 "main.n2ba.out[26]",
524 "main.sum.in[0][26]"
525 ],
526 "triggerComponents": [
527 3
528 ]
529 },
530 {
531 "names": [
532 "main.n2ba.out[27]",
533 "main.sum.in[0][27]"
534 ],
535 "triggerComponents": [
536 3
537 ]
538 },
539 {
540 "names": [
541 "main.n2ba.out[28]",
542 "main.sum.in[0][28]"
543 ],
544 "triggerComponents": [
545 3
546 ]
547 },
548 {
549 "names": [
550 "main.n2ba.out[29]",
551 "main.sum.in[0][29]"
552 ],
553 "triggerComponents": [
554 3
555 ]
556 },
557 {
558 "names": [
559 "main.n2ba.out[30]",
560 "main.sum.in[0][30]"
561 ],
562 "triggerComponents": [
563 3
564 ]
565 },
566 {
567 "names": [
568 "main.n2ba.out[31]",
569 "main.sum.in[0][31]"
570 ],
571 "triggerComponents": [
572 3
573 ]
574 },
575 {
576 "names": [
577 "main.n2bb.out[0]",
578 "main.sum.in[1][0]"
579 ],
580 "triggerComponents": [
581 3
582 ]
583 },
584 {
585 "names": [
586 "main.n2bb.out[1]",
587 "main.sum.in[1][1]"
588 ],
589 "triggerComponents": [
590 3
591 ]
592 },
593 {
594 "names": [
595 "main.n2bb.out[2]",
596 "main.sum.in[1][2]"
597 ],
598 "triggerComponents": [
599 3
600 ]
601 },
602 {
603 "names": [
604 "main.n2bb.out[3]",
605 "main.sum.in[1][3]"
606 ],
607 "triggerComponents": [
608 3
609 ]
610 },
611 {
612 "names": [
613 "main.n2bb.out[4]",
614 "main.sum.in[1][4]"
615 ],
616 "triggerComponents": [
617 3
618 ]
619 },
620 {
621 "names": [
622 "main.n2bb.out[5]",
623 "main.sum.in[1][5]"
624 ],
625 "triggerComponents": [
626 3
627 ]
628 },
629 {
630 "names": [
631 "main.n2bb.out[6]",
632 "main.sum.in[1][6]"
633 ],
634 "triggerComponents": [
635 3
636 ]
637 },
638 {
639 "names": [
640 "main.n2bb.out[7]",
641 "main.sum.in[1][7]"
642 ],
643 "triggerComponents": [
644 3
645 ]
646 },
647 {
648 "names": [
649 "main.n2bb.out[8]",
650 "main.sum.in[1][8]"
651 ],
652 "triggerComponents": [
653 3
654 ]
655 },
656 {
657 "names": [
658 "main.n2bb.out[9]",
659 "main.sum.in[1][9]"
660 ],
661 "triggerComponents": [
662 3
663 ]
664 },
665 {
666 "names": [
667 "main.n2bb.out[10]",
668 "main.sum.in[1][10]"
669 ],
670 "triggerComponents": [
671 3
672 ]
673 },
674 {
675 "names": [
676 "main.n2bb.out[11]",
677 "main.sum.in[1][11]"
678 ],
679 "triggerComponents": [
680 3
681 ]
682 },
683 {
684 "names": [
685 "main.n2bb.out[12]",
686 "main.sum.in[1][12]"
687 ],
688 "triggerComponents": [
689 3
690 ]
691 },
692 {
693 "names": [
694 "main.n2bb.out[13]",
695 "main.sum.in[1][13]"
696 ],
697 "triggerComponents": [
698 3
699 ]
700 },
701 {
702 "names": [
703 "main.n2bb.out[14]",
704 "main.sum.in[1][14]"
705 ],
706 "triggerComponents": [
707 3
708 ]
709 },
710 {
711 "names": [
712 "main.n2bb.out[15]",
713 "main.sum.in[1][15]"
714 ],
715 "triggerComponents": [
716 3
717 ]
718 },
719 {
720 "names": [
721 "main.n2bb.out[16]",
722 "main.sum.in[1][16]"
723 ],
724 "triggerComponents": [
725 3
726 ]
727 },
728 {
729 "names": [
730 "main.n2bb.out[17]",
731 "main.sum.in[1][17]"
732 ],
733 "triggerComponents": [
734 3
735 ]
736 },
737 {
738 "names": [
739 "main.n2bb.out[18]",
740 "main.sum.in[1][18]"
741 ],
742 "triggerComponents": [
743 3
744 ]
745 },
746 {
747 "names": [
748 "main.n2bb.out[19]",
749 "main.sum.in[1][19]"
750 ],
751 "triggerComponents": [
752 3
753 ]
754 },
755 {
756 "names": [
757 "main.n2bb.out[20]",
758 "main.sum.in[1][20]"
759 ],
760 "triggerComponents": [
761 3
762 ]
763 },
764 {
765 "names": [
766 "main.n2bb.out[21]",
767 "main.sum.in[1][21]"
768 ],
769 "triggerComponents": [
770 3
771 ]
772 },
773 {
774 "names": [
775 "main.n2bb.out[22]",
776 "main.sum.in[1][22]"
777 ],
778 "triggerComponents": [
779 3
780 ]
781 },
782 {
783 "names": [
784 "main.n2bb.out[23]",
785 "main.sum.in[1][23]"
786 ],
787 "triggerComponents": [
788 3
789 ]
790 },
791 {
792 "names": [
793 "main.n2bb.out[24]",
794 "main.sum.in[1][24]"
795 ],
796 "triggerComponents": [
797 3
798 ]
799 },
800 {
801 "names": [
802 "main.n2bb.out[25]",
803 "main.sum.in[1][25]"
804 ],
805 "triggerComponents": [
806 3
807 ]
808 },
809 {
810 "names": [
811 "main.n2bb.out[26]",
812 "main.sum.in[1][26]"
813 ],
814 "triggerComponents": [
815 3
816 ]
817 },
818 {
819 "names": [
820 "main.n2bb.out[27]",
821 "main.sum.in[1][27]"
822 ],
823 "triggerComponents": [
824 3
825 ]
826 },
827 {
828 "names": [
829 "main.n2bb.out[28]",
830 "main.sum.in[1][28]"
831 ],
832 "triggerComponents": [
833 3
834 ]
835 },
836 {
837 "names": [
838 "main.n2bb.out[29]",
839 "main.sum.in[1][29]"
840 ],
841 "triggerComponents": [
842 3
843 ]
844 },
845 {
846 "names": [
847 "main.n2bb.out[30]",
848 "main.sum.in[1][30]"
849 ],
850 "triggerComponents": [
851 3
852 ]
853 },
854 {
855 "names": [
856 "main.n2bb.out[31]",
857 "main.sum.in[1][31]"
858 ],
859 "triggerComponents": [
860 3
861 ]
862 },
863 {
864 "names": [
865 "main.sum.out[0]",
866 "main.b2n.in[0]"
867 ],
868 "triggerComponents": [
869 4
870 ]
871 },
872 {
873 "names": [
874 "main.sum.out[1]",
875 "main.b2n.in[1]"
876 ],
877 "triggerComponents": [
878 4
879 ]
880 },
881 {
882 "names": [
883 "main.sum.out[2]",
884 "main.b2n.in[2]"
885 ],
886 "triggerComponents": [
887 4
888 ]
889 },
890 {
891 "names": [
892 "main.sum.out[3]",
893 "main.b2n.in[3]"
894 ],
895 "triggerComponents": [
896 4
897 ]
898 },
899 {
900 "names": [
901 "main.sum.out[4]",
902 "main.b2n.in[4]"
903 ],
904 "triggerComponents": [
905 4
906 ]
907 },
908 {
909 "names": [
910 "main.sum.out[5]",
911 "main.b2n.in[5]"
912 ],
913 "triggerComponents": [
914 4
915 ]
916 },
917 {
918 "names": [
919 "main.sum.out[6]",
920 "main.b2n.in[6]"
921 ],
922 "triggerComponents": [
923 4
924 ]
925 },
926 {
927 "names": [
928 "main.sum.out[7]",
929 "main.b2n.in[7]"
930 ],
931 "triggerComponents": [
932 4
933 ]
934 },
935 {
936 "names": [
937 "main.sum.out[8]",
938 "main.b2n.in[8]"
939 ],
940 "triggerComponents": [
941 4
942 ]
943 },
944 {
945 "names": [
946 "main.sum.out[9]",
947 "main.b2n.in[9]"
948 ],
949 "triggerComponents": [
950 4
951 ]
952 },
953 {
954 "names": [
955 "main.sum.out[10]",
956 "main.b2n.in[10]"
957 ],
958 "triggerComponents": [
959 4
960 ]
961 },
962 {
963 "names": [
964 "main.sum.out[11]",
965 "main.b2n.in[11]"
966 ],
967 "triggerComponents": [
968 4
969 ]
970 },
971 {
972 "names": [
973 "main.sum.out[12]",
974 "main.b2n.in[12]"
975 ],
976 "triggerComponents": [
977 4
978 ]
979 },
980 {
981 "names": [
982 "main.sum.out[13]",
983 "main.b2n.in[13]"
984 ],
985 "triggerComponents": [
986 4
987 ]
988 },
989 {
990 "names": [
991 "main.sum.out[14]",
992 "main.b2n.in[14]"
993 ],
994 "triggerComponents": [
995 4
996 ]
997 },
998 {
999 "names": [
1000 "main.sum.out[15]",
1001 "main.b2n.in[15]"
1002 ],
1003 "triggerComponents": [
1004 4
1005 ]
1006 },
1007 {
1008 "names": [
1009 "main.sum.out[16]",
1010 "main.b2n.in[16]"
1011 ],
1012 "triggerComponents": [
1013 4
1014 ]
1015 },
1016 {
1017 "names": [
1018 "main.sum.out[17]",
1019 "main.b2n.in[17]"
1020 ],
1021 "triggerComponents": [
1022 4
1023 ]
1024 },
1025 {
1026 "names": [
1027 "main.sum.out[18]",
1028 "main.b2n.in[18]"
1029 ],
1030 "triggerComponents": [
1031 4
1032 ]
1033 },
1034 {
1035 "names": [
1036 "main.sum.out[19]",
1037 "main.b2n.in[19]"
1038 ],
1039 "triggerComponents": [
1040 4
1041 ]
1042 },
1043 {
1044 "names": [
1045 "main.sum.out[20]",
1046 "main.b2n.in[20]"
1047 ],
1048 "triggerComponents": [
1049 4
1050 ]
1051 },
1052 {
1053 "names": [
1054 "main.sum.out[21]",
1055 "main.b2n.in[21]"
1056 ],
1057 "triggerComponents": [
1058 4
1059 ]
1060 },
1061 {
1062 "names": [
1063 "main.sum.out[22]",
1064 "main.b2n.in[22]"
1065 ],
1066 "triggerComponents": [
1067 4
1068 ]
1069 },
1070 {
1071 "names": [
1072 "main.sum.out[23]",
1073 "main.b2n.in[23]"
1074 ],
1075 "triggerComponents": [
1076 4
1077 ]
1078 },
1079 {
1080 "names": [
1081 "main.sum.out[24]",
1082 "main.b2n.in[24]"
1083 ],
1084 "triggerComponents": [
1085 4
1086 ]
1087 },
1088 {
1089 "names": [
1090 "main.sum.out[25]",
1091 "main.b2n.in[25]"
1092 ],
1093 "triggerComponents": [
1094 4
1095 ]
1096 },
1097 {
1098 "names": [
1099 "main.sum.out[26]",
1100 "main.b2n.in[26]"
1101 ],
1102 "triggerComponents": [
1103 4
1104 ]
1105 },
1106 {
1107 "names": [
1108 "main.sum.out[27]",
1109 "main.b2n.in[27]"
1110 ],
1111 "triggerComponents": [
1112 4
1113 ]
1114 },
1115 {
1116 "names": [
1117 "main.sum.out[28]",
1118 "main.b2n.in[28]"
1119 ],
1120 "triggerComponents": [
1121 4
1122 ]
1123 },
1124 {
1125 "names": [
1126 "main.sum.out[29]",
1127 "main.b2n.in[29]"
1128 ],
1129 "triggerComponents": [
1130 4
1131 ]
1132 },
1133 {
1134 "names": [
1135 "main.sum.out[30]",
1136 "main.b2n.in[30]"
1137 ],
1138 "triggerComponents": [
1139 4
1140 ]
1141 },
1142 {
1143 "names": [
1144 "main.sum.out[31]",
1145 "main.b2n.in[31]"
1146 ],
1147 "triggerComponents": [
1148 4
1149 ]
1150 },
1151 {
1152 "names": [
1153 "main.sum.out[32]"
1154 ],
1155 "triggerComponents": []
1156 }
1157 ],
1158 "constraints": [
1159 [
1160 {
1161 "3": "1",
1162 "5": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
1163 "6": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
1164 "7": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
1165 "8": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
1166 "9": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
1167 "10": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
1168 "11": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
1169 "12": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
1170 "13": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
1171 "14": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
1172 "15": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
1173 "16": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
1174 "17": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
1175 "18": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
1176 "19": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
1177 "20": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
1178 "21": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
1179 "22": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
1180 "23": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
1181 "24": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
1182 "25": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
1183 "26": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
1184 "27": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
1185 "28": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
1186 "29": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
1187 "30": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
1188 "31": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
1189 "32": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
1190 "33": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
1191 "34": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
1192 "35": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
1193 },
1194 {
1195 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1196 "3": "1",
1197 "5": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
1198 "6": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
1199 "7": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
1200 "8": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
1201 "9": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
1202 "10": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
1203 "11": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
1204 "12": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
1205 "13": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
1206 "14": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
1207 "15": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
1208 "16": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
1209 "17": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
1210 "18": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
1211 "19": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
1212 "20": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
1213 "21": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
1214 "22": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
1215 "23": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
1216 "24": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
1217 "25": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
1218 "26": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
1219 "27": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
1220 "28": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
1221 "29": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
1222 "30": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
1223 "31": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
1224 "32": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
1225 "33": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
1226 "34": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
1227 "35": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
1228 },
1229 {}
1230 ],
1231 [
1232 {
1233 "5": "1"
1234 },
1235 {
1236 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1237 "5": "1"
1238 },
1239 {}
1240 ],
1241 [
1242 {
1243 "6": "1"
1244 },
1245 {
1246 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1247 "6": "1"
1248 },
1249 {}
1250 ],
1251 [
1252 {
1253 "7": "1"
1254 },
1255 {
1256 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1257 "7": "1"
1258 },
1259 {}
1260 ],
1261 [
1262 {
1263 "8": "1"
1264 },
1265 {
1266 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1267 "8": "1"
1268 },
1269 {}
1270 ],
1271 [
1272 {
1273 "9": "1"
1274 },
1275 {
1276 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1277 "9": "1"
1278 },
1279 {}
1280 ],
1281 [
1282 {
1283 "10": "1"
1284 },
1285 {
1286 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1287 "10": "1"
1288 },
1289 {}
1290 ],
1291 [
1292 {
1293 "11": "1"
1294 },
1295 {
1296 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1297 "11": "1"
1298 },
1299 {}
1300 ],
1301 [
1302 {
1303 "12": "1"
1304 },
1305 {
1306 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1307 "12": "1"
1308 },
1309 {}
1310 ],
1311 [
1312 {
1313 "13": "1"
1314 },
1315 {
1316 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1317 "13": "1"
1318 },
1319 {}
1320 ],
1321 [
1322 {
1323 "14": "1"
1324 },
1325 {
1326 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1327 "14": "1"
1328 },
1329 {}
1330 ],
1331 [
1332 {
1333 "15": "1"
1334 },
1335 {
1336 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1337 "15": "1"
1338 },
1339 {}
1340 ],
1341 [
1342 {
1343 "16": "1"
1344 },
1345 {
1346 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1347 "16": "1"
1348 },
1349 {}
1350 ],
1351 [
1352 {
1353 "17": "1"
1354 },
1355 {
1356 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1357 "17": "1"
1358 },
1359 {}
1360 ],
1361 [
1362 {
1363 "18": "1"
1364 },
1365 {
1366 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1367 "18": "1"
1368 },
1369 {}
1370 ],
1371 [
1372 {
1373 "19": "1"
1374 },
1375 {
1376 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1377 "19": "1"
1378 },
1379 {}
1380 ],
1381 [
1382 {
1383 "20": "1"
1384 },
1385 {
1386 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1387 "20": "1"
1388 },
1389 {}
1390 ],
1391 [
1392 {
1393 "21": "1"
1394 },
1395 {
1396 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1397 "21": "1"
1398 },
1399 {}
1400 ],
1401 [
1402 {
1403 "22": "1"
1404 },
1405 {
1406 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1407 "22": "1"
1408 },
1409 {}
1410 ],
1411 [
1412 {
1413 "23": "1"
1414 },
1415 {
1416 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1417 "23": "1"
1418 },
1419 {}
1420 ],
1421 [
1422 {
1423 "24": "1"
1424 },
1425 {
1426 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1427 "24": "1"
1428 },
1429 {}
1430 ],
1431 [
1432 {
1433 "25": "1"
1434 },
1435 {
1436 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1437 "25": "1"
1438 },
1439 {}
1440 ],
1441 [
1442 {
1443 "26": "1"
1444 },
1445 {
1446 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1447 "26": "1"
1448 },
1449 {}
1450 ],
1451 [
1452 {
1453 "27": "1"
1454 },
1455 {
1456 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1457 "27": "1"
1458 },
1459 {}
1460 ],
1461 [
1462 {
1463 "28": "1"
1464 },
1465 {
1466 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1467 "28": "1"
1468 },
1469 {}
1470 ],
1471 [
1472 {
1473 "29": "1"
1474 },
1475 {
1476 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1477 "29": "1"
1478 },
1479 {}
1480 ],
1481 [
1482 {
1483 "30": "1"
1484 },
1485 {
1486 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1487 "30": "1"
1488 },
1489 {}
1490 ],
1491 [
1492 {
1493 "31": "1"
1494 },
1495 {
1496 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1497 "31": "1"
1498 },
1499 {}
1500 ],
1501 [
1502 {
1503 "32": "1"
1504 },
1505 {
1506 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1507 "32": "1"
1508 },
1509 {}
1510 ],
1511 [
1512 {
1513 "33": "1"
1514 },
1515 {
1516 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1517 "33": "1"
1518 },
1519 {}
1520 ],
1521 [
1522 {
1523 "34": "1"
1524 },
1525 {
1526 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1527 "34": "1"
1528 },
1529 {}
1530 ],
1531 [
1532 {
1533 "35": "1"
1534 },
1535 {
1536 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1537 "35": "1"
1538 },
1539 {}
1540 ],
1541 [
1542 {
1543 "2": "1",
1544 "37": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
1545 "38": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
1546 "39": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
1547 "40": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
1548 "41": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
1549 "42": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
1550 "43": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
1551 "44": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
1552 "45": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
1553 "46": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
1554 "47": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
1555 "48": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
1556 "49": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
1557 "50": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
1558 "51": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
1559 "52": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
1560 "53": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
1561 "54": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
1562 "55": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
1563 "56": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
1564 "57": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
1565 "58": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
1566 "59": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
1567 "60": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
1568 "61": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
1569 "62": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
1570 "63": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
1571 "64": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
1572 "65": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
1573 "66": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
1574 "67": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
1575 },
1576 {
1577 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1578 "2": "1",
1579 "37": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
1580 "38": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
1581 "39": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
1582 "40": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
1583 "41": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
1584 "42": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
1585 "43": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
1586 "44": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
1587 "45": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
1588 "46": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
1589 "47": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
1590 "48": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
1591 "49": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
1592 "50": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
1593 "51": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
1594 "52": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
1595 "53": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
1596 "54": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
1597 "55": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
1598 "56": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
1599 "57": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
1600 "58": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
1601 "59": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
1602 "60": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
1603 "61": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
1604 "62": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
1605 "63": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
1606 "64": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
1607 "65": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
1608 "66": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
1609 "67": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
1610 },
1611 {}
1612 ],
1613 [
1614 {
1615 "37": "1"
1616 },
1617 {
1618 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1619 "37": "1"
1620 },
1621 {}
1622 ],
1623 [
1624 {
1625 "38": "1"
1626 },
1627 {
1628 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1629 "38": "1"
1630 },
1631 {}
1632 ],
1633 [
1634 {
1635 "39": "1"
1636 },
1637 {
1638 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1639 "39": "1"
1640 },
1641 {}
1642 ],
1643 [
1644 {
1645 "40": "1"
1646 },
1647 {
1648 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1649 "40": "1"
1650 },
1651 {}
1652 ],
1653 [
1654 {
1655 "41": "1"
1656 },
1657 {
1658 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1659 "41": "1"
1660 },
1661 {}
1662 ],
1663 [
1664 {
1665 "42": "1"
1666 },
1667 {
1668 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1669 "42": "1"
1670 },
1671 {}
1672 ],
1673 [
1674 {
1675 "43": "1"
1676 },
1677 {
1678 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1679 "43": "1"
1680 },
1681 {}
1682 ],
1683 [
1684 {
1685 "44": "1"
1686 },
1687 {
1688 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1689 "44": "1"
1690 },
1691 {}
1692 ],
1693 [
1694 {
1695 "45": "1"
1696 },
1697 {
1698 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1699 "45": "1"
1700 },
1701 {}
1702 ],
1703 [
1704 {
1705 "46": "1"
1706 },
1707 {
1708 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1709 "46": "1"
1710 },
1711 {}
1712 ],
1713 [
1714 {
1715 "47": "1"
1716 },
1717 {
1718 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1719 "47": "1"
1720 },
1721 {}
1722 ],
1723 [
1724 {
1725 "48": "1"
1726 },
1727 {
1728 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1729 "48": "1"
1730 },
1731 {}
1732 ],
1733 [
1734 {
1735 "49": "1"
1736 },
1737 {
1738 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1739 "49": "1"
1740 },
1741 {}
1742 ],
1743 [
1744 {
1745 "50": "1"
1746 },
1747 {
1748 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1749 "50": "1"
1750 },
1751 {}
1752 ],
1753 [
1754 {
1755 "51": "1"
1756 },
1757 {
1758 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1759 "51": "1"
1760 },
1761 {}
1762 ],
1763 [
1764 {
1765 "52": "1"
1766 },
1767 {
1768 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1769 "52": "1"
1770 },
1771 {}
1772 ],
1773 [
1774 {
1775 "53": "1"
1776 },
1777 {
1778 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1779 "53": "1"
1780 },
1781 {}
1782 ],
1783 [
1784 {
1785 "54": "1"
1786 },
1787 {
1788 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1789 "54": "1"
1790 },
1791 {}
1792 ],
1793 [
1794 {
1795 "55": "1"
1796 },
1797 {
1798 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1799 "55": "1"
1800 },
1801 {}
1802 ],
1803 [
1804 {
1805 "56": "1"
1806 },
1807 {
1808 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1809 "56": "1"
1810 },
1811 {}
1812 ],
1813 [
1814 {
1815 "57": "1"
1816 },
1817 {
1818 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1819 "57": "1"
1820 },
1821 {}
1822 ],
1823 [
1824 {
1825 "58": "1"
1826 },
1827 {
1828 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1829 "58": "1"
1830 },
1831 {}
1832 ],
1833 [
1834 {
1835 "59": "1"
1836 },
1837 {
1838 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1839 "59": "1"
1840 },
1841 {}
1842 ],
1843 [
1844 {
1845 "60": "1"
1846 },
1847 {
1848 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1849 "60": "1"
1850 },
1851 {}
1852 ],
1853 [
1854 {
1855 "61": "1"
1856 },
1857 {
1858 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1859 "61": "1"
1860 },
1861 {}
1862 ],
1863 [
1864 {
1865 "62": "1"
1866 },
1867 {
1868 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1869 "62": "1"
1870 },
1871 {}
1872 ],
1873 [
1874 {
1875 "63": "1"
1876 },
1877 {
1878 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1879 "63": "1"
1880 },
1881 {}
1882 ],
1883 [
1884 {
1885 "64": "1"
1886 },
1887 {
1888 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1889 "64": "1"
1890 },
1891 {}
1892 ],
1893 [
1894 {
1895 "65": "1"
1896 },
1897 {
1898 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1899 "65": "1"
1900 },
1901 {}
1902 ],
1903 [
1904 {
1905 "66": "1"
1906 },
1907 {
1908 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1909 "66": "1"
1910 },
1911 {}
1912 ],
1913 [
1914 {
1915 "67": "1"
1916 },
1917 {
1918 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1919 "67": "1"
1920 },
1921 {}
1922 ],
1923 [
1924 {
1925 "1": "1",
1926 "69": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
1927 "70": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
1928 "71": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
1929 "72": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
1930 "73": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
1931 "74": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
1932 "75": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
1933 "76": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
1934 "77": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
1935 "78": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
1936 "79": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
1937 "80": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
1938 "81": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
1939 "82": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
1940 "83": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
1941 "84": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
1942 "85": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
1943 "86": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
1944 "87": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
1945 "88": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
1946 "89": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
1947 "90": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
1948 "91": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
1949 "92": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
1950 "93": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
1951 "94": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
1952 "95": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
1953 "96": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
1954 "97": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
1955 "98": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
1956 "99": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
1957 },
1958 {
1959 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
1960 "1": "1",
1961 "69": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
1962 "70": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
1963 "71": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
1964 "72": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
1965 "73": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
1966 "74": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
1967 "75": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
1968 "76": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
1969 "77": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
1970 "78": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
1971 "79": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
1972 "80": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
1973 "81": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
1974 "82": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
1975 "83": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
1976 "84": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
1977 "85": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
1978 "86": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
1979 "87": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
1980 "88": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
1981 "89": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
1982 "90": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
1983 "91": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
1984 "92": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
1985 "93": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
1986 "94": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
1987 "95": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
1988 "96": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
1989 "97": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
1990 "98": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
1991 "99": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
1992 },
1993 {}
1994 ],
1995 [
1996 {
1997 "69": "1"
1998 },
1999 {
2000 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2001 "69": "1"
2002 },
2003 {}
2004 ],
2005 [
2006 {
2007 "70": "1"
2008 },
2009 {
2010 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2011 "70": "1"
2012 },
2013 {}
2014 ],
2015 [
2016 {
2017 "71": "1"
2018 },
2019 {
2020 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2021 "71": "1"
2022 },
2023 {}
2024 ],
2025 [
2026 {
2027 "72": "1"
2028 },
2029 {
2030 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2031 "72": "1"
2032 },
2033 {}
2034 ],
2035 [
2036 {
2037 "73": "1"
2038 },
2039 {
2040 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2041 "73": "1"
2042 },
2043 {}
2044 ],
2045 [
2046 {
2047 "74": "1"
2048 },
2049 {
2050 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2051 "74": "1"
2052 },
2053 {}
2054 ],
2055 [
2056 {
2057 "75": "1"
2058 },
2059 {
2060 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2061 "75": "1"
2062 },
2063 {}
2064 ],
2065 [
2066 {
2067 "76": "1"
2068 },
2069 {
2070 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2071 "76": "1"
2072 },
2073 {}
2074 ],
2075 [
2076 {
2077 "77": "1"
2078 },
2079 {
2080 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2081 "77": "1"
2082 },
2083 {}
2084 ],
2085 [
2086 {
2087 "78": "1"
2088 },
2089 {
2090 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2091 "78": "1"
2092 },
2093 {}
2094 ],
2095 [
2096 {
2097 "79": "1"
2098 },
2099 {
2100 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2101 "79": "1"
2102 },
2103 {}
2104 ],
2105 [
2106 {
2107 "80": "1"
2108 },
2109 {
2110 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2111 "80": "1"
2112 },
2113 {}
2114 ],
2115 [
2116 {
2117 "81": "1"
2118 },
2119 {
2120 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2121 "81": "1"
2122 },
2123 {}
2124 ],
2125 [
2126 {
2127 "82": "1"
2128 },
2129 {
2130 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2131 "82": "1"
2132 },
2133 {}
2134 ],
2135 [
2136 {
2137 "83": "1"
2138 },
2139 {
2140 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2141 "83": "1"
2142 },
2143 {}
2144 ],
2145 [
2146 {
2147 "84": "1"
2148 },
2149 {
2150 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2151 "84": "1"
2152 },
2153 {}
2154 ],
2155 [
2156 {
2157 "85": "1"
2158 },
2159 {
2160 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2161 "85": "1"
2162 },
2163 {}
2164 ],
2165 [
2166 {
2167 "86": "1"
2168 },
2169 {
2170 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2171 "86": "1"
2172 },
2173 {}
2174 ],
2175 [
2176 {
2177 "87": "1"
2178 },
2179 {
2180 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2181 "87": "1"
2182 },
2183 {}
2184 ],
2185 [
2186 {
2187 "88": "1"
2188 },
2189 {
2190 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2191 "88": "1"
2192 },
2193 {}
2194 ],
2195 [
2196 {
2197 "89": "1"
2198 },
2199 {
2200 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2201 "89": "1"
2202 },
2203 {}
2204 ],
2205 [
2206 {
2207 "90": "1"
2208 },
2209 {
2210 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2211 "90": "1"
2212 },
2213 {}
2214 ],
2215 [
2216 {
2217 "91": "1"
2218 },
2219 {
2220 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2221 "91": "1"
2222 },
2223 {}
2224 ],
2225 [
2226 {
2227 "92": "1"
2228 },
2229 {
2230 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2231 "92": "1"
2232 },
2233 {}
2234 ],
2235 [
2236 {
2237 "93": "1"
2238 },
2239 {
2240 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2241 "93": "1"
2242 },
2243 {}
2244 ],
2245 [
2246 {
2247 "94": "1"
2248 },
2249 {
2250 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2251 "94": "1"
2252 },
2253 {}
2254 ],
2255 [
2256 {
2257 "95": "1"
2258 },
2259 {
2260 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2261 "95": "1"
2262 },
2263 {}
2264 ],
2265 [
2266 {
2267 "96": "1"
2268 },
2269 {
2270 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2271 "96": "1"
2272 },
2273 {}
2274 ],
2275 [
2276 {
2277 "97": "1"
2278 },
2279 {
2280 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2281 "97": "1"
2282 },
2283 {}
2284 ],
2285 [
2286 {
2287 "98": "1"
2288 },
2289 {
2290 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2291 "98": "1"
2292 },
2293 {}
2294 ],
2295 [
2296 {
2297 "99": "1"
2298 },
2299 {
2300 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2301 "99": "1"
2302 },
2303 {}
2304 ],
2305 [
2306 {
2307 "1": "1368015184586208377692962645747596915105636153469842199510504144919754569108",
2308 "2": "20520227687253066844553443099509678173442728246946192144187700041656053926509",
2309 "3": "20520227687253066844553443099509678173442728246946192144187700041656053926509"
2310 },
2311 {
2312 "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
2313 "1": "1368015184586208377692962645747596915105636153469842199510504144919754569108",
2314 "2": "20520227687253066844553443099509678173442728246946192144187700041656053926509",
2315 "3": "20520227687253066844553443099509678173442728246946192144187700041656053926509"
2316 },
2317 {}
2318 ]
2319 ],
2320 "templates": {
2321 "Num2Bits": "function Num2Bits(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"i\",[])], bigInt(bigInt(ctx.getVar(\"i\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getSignal(\"in\", [])).shr(bigInt(ctx.getVar(\"i\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lc1\",[]), ctx.getSignal(\"in\", []));\n}\n\n",
2322 "Bits2Num": "function Bits2Num(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.setSignal(\"out\", [], ctx.getVar(\"lc1\",[]));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getVar(\"lc1\",[]));\n}\n\n",
2323 "BinSum": "function BinSum(ctx)\n{\n ctx.setVar(\"nout\", [], ctx.callFunction(\"nbits\", [bigInt(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"n\",[])), __P__)).add(__P__).sub(bigInt(\"1\")).mod(__P__)).mul(bigInt(ctx.getVar(\"ops\",[]))).mod(__P__)]));\n ctx.setVar(\"lin\", [], \"0\");\n ctx.setVar(\"lout\", [], \"0\");\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n for (ctx.setVar(\"j\", [], \"0\");bigInt(ctx.getVar(\"j\",[])).lt(bigInt(ctx.getVar(\"ops\",[]))) ? 1 : 0;(ctx.setVar(\"j\", [], bigInt(ctx.getVar(\"j\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lin\", [], bigInt(ctx.getVar(\"lin\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"j\",[]),ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n }\n\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"nout\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"k\",[])], bigInt(bigInt(ctx.getVar(\"k\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getVar(\"lin\",[])).shr(bigInt(ctx.getVar(\"k\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lout\", [], bigInt(ctx.getVar(\"lout\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lin\",[]), ctx.getVar(\"lout\",[]));\n}\n\n",
2324 "A": "function A(ctx)\n{\n ctx.setPin(\"n2ba\", [], \"in\", [], ctx.getSignal(\"a\", []));\n ctx.assert(ctx.getPin(\"n2ba\", [], \"in\", []), ctx.getSignal(\"a\", []));\n ctx.setPin(\"n2bb\", [], \"in\", [], ctx.getSignal(\"b\", []));\n ctx.assert(ctx.getPin(\"n2bb\", [], \"in\", []), ctx.getSignal(\"b\", []));\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(\"32\")) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])], ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])]), ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n }\n\n ctx.setSignal(\"out\", [], ctx.getPin(\"b2n\", [], \"out\", []));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getPin(\"b2n\", [], \"out\", []));\n}\n\n"
2325 },
2326 "functions": {
2327 "nbits": {
2328 "params": [
2329 "a"
2330 ],
2331 "func": "function nbits(ctx) {\n ctx.setVar(\"n\", [], \"1\");\n ctx.setVar(\"r\", [], \"0\");\n while (bigInt(bigInt(ctx.getVar(\"n\",[])).add(__P__).sub(bigInt(\"1\")).mod(__P__)).lt(bigInt(ctx.getVar(\"a\",[]))) ? 1 : 0) {\n (ctx.setVar(\"r\", [], bigInt(ctx.getVar(\"r\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__);\n ctx.setVar(\"n\", [], bigInt(ctx.getVar(\"n\",[])).mul(bigInt(\"2\")).mod(__P__));\n }\n\n return ctx.getVar(\"r\",[]);;\n}\n"
2332 }
2333 },
2334 "nPrvInputs": 1,
2335 "nPubInputs": 1,
2336 "nInputs": 2,
2337 "nOutputs": 1,
2338 "nVars": 101,
2339 "nConstants": 0,
2340 "nSignals": 101
2341}