@ghostlytools/cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +405 -0
  2. package/SKILL.md +282 -0
  3. package/dist/assets/argon2id-088uQfnH.js +645 -0
  4. package/dist/assets/argon2id-088uQfnH.js.map +1 -0
  5. package/dist/assets/bark_ffi_wasm_bg-Bxru_BVW.wasm +0 -0
  6. package/dist/assets/bark_ffi_wasm_bg-EY2uc0Bx.js +6 -0
  7. package/dist/assets/bark_ffi_wasm_bg-EY2uc0Bx.js.map +1 -0
  8. package/dist/assets/bitcoindevkit_bg-B-iLWrmX.js +6 -0
  9. package/dist/assets/bitcoindevkit_bg-B-iLWrmX.js.map +1 -0
  10. package/dist/assets/bitcoindevkit_bg-CRkZTSbO.wasm +0 -0
  11. package/dist/assets/breez_sdk_spark_wasm_bg.wasm +0 -0
  12. package/dist/assets/endpoint-h3cqRyRz.js +185 -0
  13. package/dist/assets/endpoint-h3cqRyRz.js.map +1 -0
  14. package/dist/assets/fedimintWorker.mjs +95 -0
  15. package/dist/assets/fedimint_client_wasm_bg-BtHHlFpp.js +6 -0
  16. package/dist/assets/fedimint_client_wasm_bg-BtHHlFpp.js.map +1 -0
  17. package/dist/assets/fedimint_client_wasm_bg-DeFtkIv6.wasm +0 -0
  18. package/dist/assets/fileBytes-ByS16quP.js +154 -0
  19. package/dist/assets/fileBytes-ByS16quP.js.map +1 -0
  20. package/dist/assets/fileBytesIdb-COzoilo9.js +230 -0
  21. package/dist/assets/fileBytesIdb-COzoilo9.js.map +1 -0
  22. package/dist/assets/fileBytesOpfs-B27wAMUh.js +145 -0
  23. package/dist/assets/fileBytesOpfs-B27wAMUh.js.map +1 -0
  24. package/dist/assets/ghostly_iroh_web-CPa_YEfb.js +1154 -0
  25. package/dist/assets/ghostly_iroh_web-CPa_YEfb.js.map +1 -0
  26. package/dist/assets/ghostly_iroh_web_bg.wasm +0 -0
  27. package/dist/assets/hyperdhtRelay-BKsFpPjr.js +342 -0
  28. package/dist/assets/hyperdhtRelay-BKsFpPjr.js.map +1 -0
  29. package/dist/assets/legacy_ciphers-JJOu0JXL.js +5185 -0
  30. package/dist/assets/legacy_ciphers-JJOu0JXL.js.map +1 -0
  31. package/dist/assets/mainline-DOncVbJN.js +176 -0
  32. package/dist/assets/mainline-DOncVbJN.js.map +1 -0
  33. package/dist/assets/nacl-fast-CDhNCYHs.js +1512 -0
  34. package/dist/assets/nacl-fast-CDhNCYHs.js.map +1 -0
  35. package/dist/assets/noble_curves-DDWn5AH0.js +2978 -0
  36. package/dist/assets/noble_curves-DDWn5AH0.js.map +1 -0
  37. package/dist/assets/noble_hashes-B7AZyFyS.js +427 -0
  38. package/dist/assets/noble_hashes-B7AZyFyS.js.map +1 -0
  39. package/dist/assets/openpgp-BBFr-zHQ.js +16573 -0
  40. package/dist/assets/openpgp-BBFr-zHQ.js.map +1 -0
  41. package/dist/assets/server-5T5l8hfy.js +28293 -0
  42. package/dist/assets/server-5T5l8hfy.js.map +1 -0
  43. package/dist/assets/sha512-BYId-G-T.js +1034 -0
  44. package/dist/assets/sha512-BYId-G-T.js.map +1 -0
  45. package/dist/assets/src-DptDr2et.js +20971 -0
  46. package/dist/assets/src-DptDr2et.js.map +1 -0
  47. package/dist/assets/storage-Bya5b2Xt.js +1648 -0
  48. package/dist/assets/storage-Bya5b2Xt.js.map +1 -0
  49. package/dist/assets/tree-store-N362nuzZ.js +1031 -0
  50. package/dist/assets/tree-store-N362nuzZ.js.map +1 -0
  51. package/dist/assets/unbzip2-stream-B1C-JX9L.js +681 -0
  52. package/dist/assets/unbzip2-stream-B1C-JX9L.js.map +1 -0
  53. package/dist/assets/web-OUQl4Q7L.js +3802 -0
  54. package/dist/assets/web-OUQl4Q7L.js.map +1 -0
  55. package/dist/ghostly.mjs +17087 -0
  56. package/dist/ghostly.mjs.map +1 -0
  57. package/package.json +76 -0
@@ -0,0 +1,5185 @@
1
+ //#region ../../node_modules/openpgp/dist/lightweight/legacy_ciphers.mjs
2
+ /*! OpenPGP.js v6.3.2 - 2026-09-24 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
3
+ /** @access private */
4
+ function des(keys, message, encrypt, mode, iv, padding) {
5
+ const spfunction1 = [
6
+ 16843776,
7
+ 0,
8
+ 65536,
9
+ 16843780,
10
+ 16842756,
11
+ 66564,
12
+ 4,
13
+ 65536,
14
+ 1024,
15
+ 16843776,
16
+ 16843780,
17
+ 1024,
18
+ 16778244,
19
+ 16842756,
20
+ 16777216,
21
+ 4,
22
+ 1028,
23
+ 16778240,
24
+ 16778240,
25
+ 66560,
26
+ 66560,
27
+ 16842752,
28
+ 16842752,
29
+ 16778244,
30
+ 65540,
31
+ 16777220,
32
+ 16777220,
33
+ 65540,
34
+ 0,
35
+ 1028,
36
+ 66564,
37
+ 16777216,
38
+ 65536,
39
+ 16843780,
40
+ 4,
41
+ 16842752,
42
+ 16843776,
43
+ 16777216,
44
+ 16777216,
45
+ 1024,
46
+ 16842756,
47
+ 65536,
48
+ 66560,
49
+ 16777220,
50
+ 1024,
51
+ 4,
52
+ 16778244,
53
+ 66564,
54
+ 16843780,
55
+ 65540,
56
+ 16842752,
57
+ 16778244,
58
+ 16777220,
59
+ 1028,
60
+ 66564,
61
+ 16843776,
62
+ 1028,
63
+ 16778240,
64
+ 16778240,
65
+ 0,
66
+ 65540,
67
+ 66560,
68
+ 0,
69
+ 16842756
70
+ ];
71
+ const spfunction2 = [
72
+ -2146402272,
73
+ -2147450880,
74
+ 32768,
75
+ 1081376,
76
+ 1048576,
77
+ 32,
78
+ -2146435040,
79
+ -2147450848,
80
+ -2147483616,
81
+ -2146402272,
82
+ -2146402304,
83
+ -2147483648,
84
+ -2147450880,
85
+ 1048576,
86
+ 32,
87
+ -2146435040,
88
+ 1081344,
89
+ 1048608,
90
+ -2147450848,
91
+ 0,
92
+ -2147483648,
93
+ 32768,
94
+ 1081376,
95
+ -2146435072,
96
+ 1048608,
97
+ -2147483616,
98
+ 0,
99
+ 1081344,
100
+ 32800,
101
+ -2146402304,
102
+ -2146435072,
103
+ 32800,
104
+ 0,
105
+ 1081376,
106
+ -2146435040,
107
+ 1048576,
108
+ -2147450848,
109
+ -2146435072,
110
+ -2146402304,
111
+ 32768,
112
+ -2146435072,
113
+ -2147450880,
114
+ 32,
115
+ -2146402272,
116
+ 1081376,
117
+ 32,
118
+ 32768,
119
+ -2147483648,
120
+ 32800,
121
+ -2146402304,
122
+ 1048576,
123
+ -2147483616,
124
+ 1048608,
125
+ -2147450848,
126
+ -2147483616,
127
+ 1048608,
128
+ 1081344,
129
+ 0,
130
+ -2147450880,
131
+ 32800,
132
+ -2147483648,
133
+ -2146435040,
134
+ -2146402272,
135
+ 1081344
136
+ ];
137
+ const spfunction3 = [
138
+ 520,
139
+ 134349312,
140
+ 0,
141
+ 134348808,
142
+ 134218240,
143
+ 0,
144
+ 131592,
145
+ 134218240,
146
+ 131080,
147
+ 134217736,
148
+ 134217736,
149
+ 131072,
150
+ 134349320,
151
+ 131080,
152
+ 134348800,
153
+ 520,
154
+ 134217728,
155
+ 8,
156
+ 134349312,
157
+ 512,
158
+ 131584,
159
+ 134348800,
160
+ 134348808,
161
+ 131592,
162
+ 134218248,
163
+ 131584,
164
+ 131072,
165
+ 134218248,
166
+ 8,
167
+ 134349320,
168
+ 512,
169
+ 134217728,
170
+ 134349312,
171
+ 134217728,
172
+ 131080,
173
+ 520,
174
+ 131072,
175
+ 134349312,
176
+ 134218240,
177
+ 0,
178
+ 512,
179
+ 131080,
180
+ 134349320,
181
+ 134218240,
182
+ 134217736,
183
+ 512,
184
+ 0,
185
+ 134348808,
186
+ 134218248,
187
+ 131072,
188
+ 134217728,
189
+ 134349320,
190
+ 8,
191
+ 131592,
192
+ 131584,
193
+ 134217736,
194
+ 134348800,
195
+ 134218248,
196
+ 520,
197
+ 134348800,
198
+ 131592,
199
+ 8,
200
+ 134348808,
201
+ 131584
202
+ ];
203
+ const spfunction4 = [
204
+ 8396801,
205
+ 8321,
206
+ 8321,
207
+ 128,
208
+ 8396928,
209
+ 8388737,
210
+ 8388609,
211
+ 8193,
212
+ 0,
213
+ 8396800,
214
+ 8396800,
215
+ 8396929,
216
+ 129,
217
+ 0,
218
+ 8388736,
219
+ 8388609,
220
+ 1,
221
+ 8192,
222
+ 8388608,
223
+ 8396801,
224
+ 128,
225
+ 8388608,
226
+ 8193,
227
+ 8320,
228
+ 8388737,
229
+ 1,
230
+ 8320,
231
+ 8388736,
232
+ 8192,
233
+ 8396928,
234
+ 8396929,
235
+ 129,
236
+ 8388736,
237
+ 8388609,
238
+ 8396800,
239
+ 8396929,
240
+ 129,
241
+ 0,
242
+ 0,
243
+ 8396800,
244
+ 8320,
245
+ 8388736,
246
+ 8388737,
247
+ 1,
248
+ 8396801,
249
+ 8321,
250
+ 8321,
251
+ 128,
252
+ 8396929,
253
+ 129,
254
+ 1,
255
+ 8192,
256
+ 8388609,
257
+ 8193,
258
+ 8396928,
259
+ 8388737,
260
+ 8193,
261
+ 8320,
262
+ 8388608,
263
+ 8396801,
264
+ 128,
265
+ 8388608,
266
+ 8192,
267
+ 8396928
268
+ ];
269
+ const spfunction5 = [
270
+ 256,
271
+ 34078976,
272
+ 34078720,
273
+ 1107296512,
274
+ 524288,
275
+ 256,
276
+ 1073741824,
277
+ 34078720,
278
+ 1074266368,
279
+ 524288,
280
+ 33554688,
281
+ 1074266368,
282
+ 1107296512,
283
+ 1107820544,
284
+ 524544,
285
+ 1073741824,
286
+ 33554432,
287
+ 1074266112,
288
+ 1074266112,
289
+ 0,
290
+ 1073742080,
291
+ 1107820800,
292
+ 1107820800,
293
+ 33554688,
294
+ 1107820544,
295
+ 1073742080,
296
+ 0,
297
+ 1107296256,
298
+ 34078976,
299
+ 33554432,
300
+ 1107296256,
301
+ 524544,
302
+ 524288,
303
+ 1107296512,
304
+ 256,
305
+ 33554432,
306
+ 1073741824,
307
+ 34078720,
308
+ 1107296512,
309
+ 1074266368,
310
+ 33554688,
311
+ 1073741824,
312
+ 1107820544,
313
+ 34078976,
314
+ 1074266368,
315
+ 256,
316
+ 33554432,
317
+ 1107820544,
318
+ 1107820800,
319
+ 524544,
320
+ 1107296256,
321
+ 1107820800,
322
+ 34078720,
323
+ 0,
324
+ 1074266112,
325
+ 1107296256,
326
+ 524544,
327
+ 33554688,
328
+ 1073742080,
329
+ 524288,
330
+ 0,
331
+ 1074266112,
332
+ 34078976,
333
+ 1073742080
334
+ ];
335
+ const spfunction6 = [
336
+ 536870928,
337
+ 541065216,
338
+ 16384,
339
+ 541081616,
340
+ 541065216,
341
+ 16,
342
+ 541081616,
343
+ 4194304,
344
+ 536887296,
345
+ 4210704,
346
+ 4194304,
347
+ 536870928,
348
+ 4194320,
349
+ 536887296,
350
+ 536870912,
351
+ 16400,
352
+ 0,
353
+ 4194320,
354
+ 536887312,
355
+ 16384,
356
+ 4210688,
357
+ 536887312,
358
+ 16,
359
+ 541065232,
360
+ 541065232,
361
+ 0,
362
+ 4210704,
363
+ 541081600,
364
+ 16400,
365
+ 4210688,
366
+ 541081600,
367
+ 536870912,
368
+ 536887296,
369
+ 16,
370
+ 541065232,
371
+ 4210688,
372
+ 541081616,
373
+ 4194304,
374
+ 16400,
375
+ 536870928,
376
+ 4194304,
377
+ 536887296,
378
+ 536870912,
379
+ 16400,
380
+ 536870928,
381
+ 541081616,
382
+ 4210688,
383
+ 541065216,
384
+ 4210704,
385
+ 541081600,
386
+ 0,
387
+ 541065232,
388
+ 16,
389
+ 16384,
390
+ 541065216,
391
+ 4210704,
392
+ 16384,
393
+ 4194320,
394
+ 536887312,
395
+ 0,
396
+ 541081600,
397
+ 536870912,
398
+ 4194320,
399
+ 536887312
400
+ ];
401
+ const spfunction7 = [
402
+ 2097152,
403
+ 69206018,
404
+ 67110914,
405
+ 0,
406
+ 2048,
407
+ 67110914,
408
+ 2099202,
409
+ 69208064,
410
+ 69208066,
411
+ 2097152,
412
+ 0,
413
+ 67108866,
414
+ 2,
415
+ 67108864,
416
+ 69206018,
417
+ 2050,
418
+ 67110912,
419
+ 2099202,
420
+ 2097154,
421
+ 67110912,
422
+ 67108866,
423
+ 69206016,
424
+ 69208064,
425
+ 2097154,
426
+ 69206016,
427
+ 2048,
428
+ 2050,
429
+ 69208066,
430
+ 2099200,
431
+ 2,
432
+ 67108864,
433
+ 2099200,
434
+ 67108864,
435
+ 2099200,
436
+ 2097152,
437
+ 67110914,
438
+ 67110914,
439
+ 69206018,
440
+ 69206018,
441
+ 2,
442
+ 2097154,
443
+ 67108864,
444
+ 67110912,
445
+ 2097152,
446
+ 69208064,
447
+ 2050,
448
+ 2099202,
449
+ 69208064,
450
+ 2050,
451
+ 67108866,
452
+ 69208066,
453
+ 69206016,
454
+ 2099200,
455
+ 0,
456
+ 2,
457
+ 69208066,
458
+ 0,
459
+ 2099202,
460
+ 69206016,
461
+ 2048,
462
+ 67108866,
463
+ 67110912,
464
+ 2048,
465
+ 2097154
466
+ ];
467
+ const spfunction8 = [
468
+ 268439616,
469
+ 4096,
470
+ 262144,
471
+ 268701760,
472
+ 268435456,
473
+ 268439616,
474
+ 64,
475
+ 268435456,
476
+ 262208,
477
+ 268697600,
478
+ 268701760,
479
+ 266240,
480
+ 268701696,
481
+ 266304,
482
+ 4096,
483
+ 64,
484
+ 268697600,
485
+ 268435520,
486
+ 268439552,
487
+ 4160,
488
+ 266240,
489
+ 262208,
490
+ 268697664,
491
+ 268701696,
492
+ 4160,
493
+ 0,
494
+ 0,
495
+ 268697664,
496
+ 268435520,
497
+ 268439552,
498
+ 266304,
499
+ 262144,
500
+ 266304,
501
+ 262144,
502
+ 268701696,
503
+ 4096,
504
+ 64,
505
+ 268697664,
506
+ 4096,
507
+ 266304,
508
+ 268439552,
509
+ 64,
510
+ 268435520,
511
+ 268697600,
512
+ 268697664,
513
+ 268435456,
514
+ 262144,
515
+ 268439616,
516
+ 0,
517
+ 268701760,
518
+ 262208,
519
+ 268435520,
520
+ 268697600,
521
+ 268439552,
522
+ 268439616,
523
+ 0,
524
+ 268701760,
525
+ 266240,
526
+ 266240,
527
+ 4160,
528
+ 4160,
529
+ 262208,
530
+ 268435456,
531
+ 268701696
532
+ ];
533
+ let m = 0;
534
+ let i;
535
+ let j;
536
+ let temp;
537
+ let right1;
538
+ let right2;
539
+ let left;
540
+ let right;
541
+ let looping;
542
+ let endloop;
543
+ let loopinc;
544
+ let len = message.length;
545
+ const iterations = keys.length === 32 ? 3 : 9;
546
+ if (iterations === 3) looping = encrypt ? [
547
+ 0,
548
+ 32,
549
+ 2
550
+ ] : [
551
+ 30,
552
+ -2,
553
+ -2
554
+ ];
555
+ else looping = encrypt ? [
556
+ 0,
557
+ 32,
558
+ 2,
559
+ 62,
560
+ 30,
561
+ -2,
562
+ 64,
563
+ 96,
564
+ 2
565
+ ] : [
566
+ 94,
567
+ 62,
568
+ -2,
569
+ 32,
570
+ 64,
571
+ 2,
572
+ 30,
573
+ -2,
574
+ -2
575
+ ];
576
+ if (encrypt) {
577
+ message = desAddPadding(message);
578
+ len = message.length;
579
+ }
580
+ let result = new Uint8Array(len);
581
+ let k = 0;
582
+ while (m < len) {
583
+ left = message[m++] << 24 | message[m++] << 16 | message[m++] << 8 | message[m++];
584
+ right = message[m++] << 24 | message[m++] << 16 | message[m++] << 8 | message[m++];
585
+ temp = (left >>> 4 ^ right) & 252645135;
586
+ right ^= temp;
587
+ left ^= temp << 4;
588
+ temp = (left >>> 16 ^ right) & 65535;
589
+ right ^= temp;
590
+ left ^= temp << 16;
591
+ temp = (right >>> 2 ^ left) & 858993459;
592
+ left ^= temp;
593
+ right ^= temp << 2;
594
+ temp = (right >>> 8 ^ left) & 16711935;
595
+ left ^= temp;
596
+ right ^= temp << 8;
597
+ temp = (left >>> 1 ^ right) & 1431655765;
598
+ right ^= temp;
599
+ left ^= temp << 1;
600
+ left = left << 1 | left >>> 31;
601
+ right = right << 1 | right >>> 31;
602
+ for (j = 0; j < iterations; j += 3) {
603
+ endloop = looping[j + 1];
604
+ loopinc = looping[j + 2];
605
+ for (i = looping[j]; i !== endloop; i += loopinc) {
606
+ right1 = right ^ keys[i];
607
+ right2 = (right >>> 4 | right << 28) ^ keys[i + 1];
608
+ temp = left;
609
+ left = right;
610
+ right = temp ^ (spfunction2[right1 >>> 24 & 63] | spfunction4[right1 >>> 16 & 63] | spfunction6[right1 >>> 8 & 63] | spfunction8[right1 & 63] | spfunction1[right2 >>> 24 & 63] | spfunction3[right2 >>> 16 & 63] | spfunction5[right2 >>> 8 & 63] | spfunction7[right2 & 63]);
611
+ }
612
+ temp = left;
613
+ left = right;
614
+ right = temp;
615
+ }
616
+ left = left >>> 1 | left << 31;
617
+ right = right >>> 1 | right << 31;
618
+ temp = (left >>> 1 ^ right) & 1431655765;
619
+ right ^= temp;
620
+ left ^= temp << 1;
621
+ temp = (right >>> 8 ^ left) & 16711935;
622
+ left ^= temp;
623
+ right ^= temp << 8;
624
+ temp = (right >>> 2 ^ left) & 858993459;
625
+ left ^= temp;
626
+ right ^= temp << 2;
627
+ temp = (left >>> 16 ^ right) & 65535;
628
+ right ^= temp;
629
+ left ^= temp << 16;
630
+ temp = (left >>> 4 ^ right) & 252645135;
631
+ right ^= temp;
632
+ left ^= temp << 4;
633
+ result[k++] = left >>> 24;
634
+ result[k++] = left >>> 16 & 255;
635
+ result[k++] = left >>> 8 & 255;
636
+ result[k++] = left & 255;
637
+ result[k++] = right >>> 24;
638
+ result[k++] = right >>> 16 & 255;
639
+ result[k++] = right >>> 8 & 255;
640
+ result[k++] = right & 255;
641
+ }
642
+ if (!encrypt) result = desRemovePadding(result);
643
+ return result;
644
+ }
645
+ function desCreateKeys(key) {
646
+ const pc2bytes0 = [
647
+ 0,
648
+ 4,
649
+ 536870912,
650
+ 536870916,
651
+ 65536,
652
+ 65540,
653
+ 536936448,
654
+ 536936452,
655
+ 512,
656
+ 516,
657
+ 536871424,
658
+ 536871428,
659
+ 66048,
660
+ 66052,
661
+ 536936960,
662
+ 536936964
663
+ ];
664
+ const pc2bytes1 = [
665
+ 0,
666
+ 1,
667
+ 1048576,
668
+ 1048577,
669
+ 67108864,
670
+ 67108865,
671
+ 68157440,
672
+ 68157441,
673
+ 256,
674
+ 257,
675
+ 1048832,
676
+ 1048833,
677
+ 67109120,
678
+ 67109121,
679
+ 68157696,
680
+ 68157697
681
+ ];
682
+ const pc2bytes2 = [
683
+ 0,
684
+ 8,
685
+ 2048,
686
+ 2056,
687
+ 16777216,
688
+ 16777224,
689
+ 16779264,
690
+ 16779272,
691
+ 0,
692
+ 8,
693
+ 2048,
694
+ 2056,
695
+ 16777216,
696
+ 16777224,
697
+ 16779264,
698
+ 16779272
699
+ ];
700
+ const pc2bytes3 = [
701
+ 0,
702
+ 2097152,
703
+ 134217728,
704
+ 136314880,
705
+ 8192,
706
+ 2105344,
707
+ 134225920,
708
+ 136323072,
709
+ 131072,
710
+ 2228224,
711
+ 134348800,
712
+ 136445952,
713
+ 139264,
714
+ 2236416,
715
+ 134356992,
716
+ 136454144
717
+ ];
718
+ const pc2bytes4 = [
719
+ 0,
720
+ 262144,
721
+ 16,
722
+ 262160,
723
+ 0,
724
+ 262144,
725
+ 16,
726
+ 262160,
727
+ 4096,
728
+ 266240,
729
+ 4112,
730
+ 266256,
731
+ 4096,
732
+ 266240,
733
+ 4112,
734
+ 266256
735
+ ];
736
+ const pc2bytes5 = [
737
+ 0,
738
+ 1024,
739
+ 32,
740
+ 1056,
741
+ 0,
742
+ 1024,
743
+ 32,
744
+ 1056,
745
+ 33554432,
746
+ 33555456,
747
+ 33554464,
748
+ 33555488,
749
+ 33554432,
750
+ 33555456,
751
+ 33554464,
752
+ 33555488
753
+ ];
754
+ const pc2bytes6 = [
755
+ 0,
756
+ 268435456,
757
+ 524288,
758
+ 268959744,
759
+ 2,
760
+ 268435458,
761
+ 524290,
762
+ 268959746,
763
+ 0,
764
+ 268435456,
765
+ 524288,
766
+ 268959744,
767
+ 2,
768
+ 268435458,
769
+ 524290,
770
+ 268959746
771
+ ];
772
+ const pc2bytes7 = [
773
+ 0,
774
+ 65536,
775
+ 2048,
776
+ 67584,
777
+ 536870912,
778
+ 536936448,
779
+ 536872960,
780
+ 536938496,
781
+ 131072,
782
+ 196608,
783
+ 133120,
784
+ 198656,
785
+ 537001984,
786
+ 537067520,
787
+ 537004032,
788
+ 537069568
789
+ ];
790
+ const pc2bytes8 = [
791
+ 0,
792
+ 262144,
793
+ 0,
794
+ 262144,
795
+ 2,
796
+ 262146,
797
+ 2,
798
+ 262146,
799
+ 33554432,
800
+ 33816576,
801
+ 33554432,
802
+ 33816576,
803
+ 33554434,
804
+ 33816578,
805
+ 33554434,
806
+ 33816578
807
+ ];
808
+ const pc2bytes9 = [
809
+ 0,
810
+ 268435456,
811
+ 8,
812
+ 268435464,
813
+ 0,
814
+ 268435456,
815
+ 8,
816
+ 268435464,
817
+ 1024,
818
+ 268436480,
819
+ 1032,
820
+ 268436488,
821
+ 1024,
822
+ 268436480,
823
+ 1032,
824
+ 268436488
825
+ ];
826
+ const pc2bytes10 = [
827
+ 0,
828
+ 32,
829
+ 0,
830
+ 32,
831
+ 1048576,
832
+ 1048608,
833
+ 1048576,
834
+ 1048608,
835
+ 8192,
836
+ 8224,
837
+ 8192,
838
+ 8224,
839
+ 1056768,
840
+ 1056800,
841
+ 1056768,
842
+ 1056800
843
+ ];
844
+ const pc2bytes11 = [
845
+ 0,
846
+ 16777216,
847
+ 512,
848
+ 16777728,
849
+ 2097152,
850
+ 18874368,
851
+ 2097664,
852
+ 18874880,
853
+ 67108864,
854
+ 83886080,
855
+ 67109376,
856
+ 83886592,
857
+ 69206016,
858
+ 85983232,
859
+ 69206528,
860
+ 85983744
861
+ ];
862
+ const pc2bytes12 = [
863
+ 0,
864
+ 4096,
865
+ 134217728,
866
+ 134221824,
867
+ 524288,
868
+ 528384,
869
+ 134742016,
870
+ 134746112,
871
+ 16,
872
+ 4112,
873
+ 134217744,
874
+ 134221840,
875
+ 524304,
876
+ 528400,
877
+ 134742032,
878
+ 134746128
879
+ ];
880
+ const pc2bytes13 = [
881
+ 0,
882
+ 4,
883
+ 256,
884
+ 260,
885
+ 0,
886
+ 4,
887
+ 256,
888
+ 260,
889
+ 1,
890
+ 5,
891
+ 257,
892
+ 261,
893
+ 1,
894
+ 5,
895
+ 257,
896
+ 261
897
+ ];
898
+ const iterations = key.length > 8 ? 3 : 1;
899
+ const keys = new Array(32 * iterations);
900
+ const shifts = [
901
+ 0,
902
+ 0,
903
+ 1,
904
+ 1,
905
+ 1,
906
+ 1,
907
+ 1,
908
+ 1,
909
+ 0,
910
+ 1,
911
+ 1,
912
+ 1,
913
+ 1,
914
+ 1,
915
+ 1,
916
+ 0
917
+ ];
918
+ let lefttemp;
919
+ let righttemp;
920
+ let m = 0;
921
+ let n = 0;
922
+ let temp;
923
+ for (let j = 0; j < iterations; j++) {
924
+ let left = key[m++] << 24 | key[m++] << 16 | key[m++] << 8 | key[m++];
925
+ let right = key[m++] << 24 | key[m++] << 16 | key[m++] << 8 | key[m++];
926
+ temp = (left >>> 4 ^ right) & 252645135;
927
+ right ^= temp;
928
+ left ^= temp << 4;
929
+ temp = (right >>> -16 ^ left) & 65535;
930
+ left ^= temp;
931
+ right ^= temp << -16;
932
+ temp = (left >>> 2 ^ right) & 858993459;
933
+ right ^= temp;
934
+ left ^= temp << 2;
935
+ temp = (right >>> -16 ^ left) & 65535;
936
+ left ^= temp;
937
+ right ^= temp << -16;
938
+ temp = (left >>> 1 ^ right) & 1431655765;
939
+ right ^= temp;
940
+ left ^= temp << 1;
941
+ temp = (right >>> 8 ^ left) & 16711935;
942
+ left ^= temp;
943
+ right ^= temp << 8;
944
+ temp = (left >>> 1 ^ right) & 1431655765;
945
+ right ^= temp;
946
+ left ^= temp << 1;
947
+ temp = left << 8 | right >>> 20 & 240;
948
+ left = right << 24 | right << 8 & 16711680 | right >>> 8 & 65280 | right >>> 24 & 240;
949
+ right = temp;
950
+ for (let i = 0; i < shifts.length; i++) {
951
+ if (shifts[i]) {
952
+ left = left << 2 | left >>> 26;
953
+ right = right << 2 | right >>> 26;
954
+ } else {
955
+ left = left << 1 | left >>> 27;
956
+ right = right << 1 | right >>> 27;
957
+ }
958
+ left &= -15;
959
+ right &= -15;
960
+ lefttemp = pc2bytes0[left >>> 28] | pc2bytes1[left >>> 24 & 15] | pc2bytes2[left >>> 20 & 15] | pc2bytes3[left >>> 16 & 15] | pc2bytes4[left >>> 12 & 15] | pc2bytes5[left >>> 8 & 15] | pc2bytes6[left >>> 4 & 15];
961
+ righttemp = pc2bytes7[right >>> 28] | pc2bytes8[right >>> 24 & 15] | pc2bytes9[right >>> 20 & 15] | pc2bytes10[right >>> 16 & 15] | pc2bytes11[right >>> 12 & 15] | pc2bytes12[right >>> 8 & 15] | pc2bytes13[right >>> 4 & 15];
962
+ temp = (righttemp >>> 16 ^ lefttemp) & 65535;
963
+ keys[n++] = lefttemp ^ temp;
964
+ keys[n++] = righttemp ^ temp << 16;
965
+ }
966
+ }
967
+ return keys;
968
+ }
969
+ function desAddPadding(message, padding) {
970
+ const padLength = 8 - message.length % 8;
971
+ let pad;
972
+ if (padLength < 8) pad = 0;
973
+ else if (padLength === 8) return message;
974
+ else throw new Error("des: invalid padding");
975
+ const paddedMessage = new Uint8Array(message.length + padLength);
976
+ for (let i = 0; i < message.length; i++) paddedMessage[i] = message[i];
977
+ for (let j = 0; j < padLength; j++) paddedMessage[message.length + j] = pad;
978
+ return paddedMessage;
979
+ }
980
+ function desRemovePadding(message, padding) {
981
+ let padLength = null;
982
+ let pad = 0;
983
+ if (!padLength) {
984
+ padLength = 1;
985
+ while (message[message.length - padLength] === pad) padLength++;
986
+ padLength--;
987
+ }
988
+ return message.subarray(0, message.length - padLength);
989
+ }
990
+ function TripleDES(key) {
991
+ this.key = [];
992
+ for (let i = 0; i < 3; i++) this.key.push(new Uint8Array(key.subarray(i * 8, i * 8 + 8)));
993
+ this.encrypt = function(block) {
994
+ return des(desCreateKeys(this.key[2]), des(desCreateKeys(this.key[1]), des(desCreateKeys(this.key[0]), block, true, 0, null, null), false, 0, null, null), true);
995
+ };
996
+ }
997
+ TripleDES.keySize = TripleDES.prototype.keySize = 24;
998
+ TripleDES.blockSize = TripleDES.prototype.blockSize = 8;
999
+ /** @access private */
1000
+ function OpenPGPSymEncCAST5() {
1001
+ this.BlockSize = 8;
1002
+ this.KeySize = 16;
1003
+ this.setKey = function(key) {
1004
+ this.masking = new Array(16);
1005
+ this.rotate = new Array(16);
1006
+ this.reset();
1007
+ if (key.length === this.KeySize) this.keySchedule(key);
1008
+ else throw new Error("CAST-128: keys must be 16 bytes");
1009
+ return true;
1010
+ };
1011
+ this.reset = function() {
1012
+ for (let i = 0; i < 16; i++) {
1013
+ this.masking[i] = 0;
1014
+ this.rotate[i] = 0;
1015
+ }
1016
+ };
1017
+ this.getBlockSize = function() {
1018
+ return this.BlockSize;
1019
+ };
1020
+ this.encrypt = function(src) {
1021
+ const dst = new Array(src.length);
1022
+ for (let i = 0; i < src.length; i += 8) {
1023
+ let l = src[i] << 24 | src[i + 1] << 16 | src[i + 2] << 8 | src[i + 3];
1024
+ let r = src[i + 4] << 24 | src[i + 5] << 16 | src[i + 6] << 8 | src[i + 7];
1025
+ let t;
1026
+ t = r;
1027
+ r = l ^ f1(r, this.masking[0], this.rotate[0]);
1028
+ l = t;
1029
+ t = r;
1030
+ r = l ^ f2(r, this.masking[1], this.rotate[1]);
1031
+ l = t;
1032
+ t = r;
1033
+ r = l ^ f3(r, this.masking[2], this.rotate[2]);
1034
+ l = t;
1035
+ t = r;
1036
+ r = l ^ f1(r, this.masking[3], this.rotate[3]);
1037
+ l = t;
1038
+ t = r;
1039
+ r = l ^ f2(r, this.masking[4], this.rotate[4]);
1040
+ l = t;
1041
+ t = r;
1042
+ r = l ^ f3(r, this.masking[5], this.rotate[5]);
1043
+ l = t;
1044
+ t = r;
1045
+ r = l ^ f1(r, this.masking[6], this.rotate[6]);
1046
+ l = t;
1047
+ t = r;
1048
+ r = l ^ f2(r, this.masking[7], this.rotate[7]);
1049
+ l = t;
1050
+ t = r;
1051
+ r = l ^ f3(r, this.masking[8], this.rotate[8]);
1052
+ l = t;
1053
+ t = r;
1054
+ r = l ^ f1(r, this.masking[9], this.rotate[9]);
1055
+ l = t;
1056
+ t = r;
1057
+ r = l ^ f2(r, this.masking[10], this.rotate[10]);
1058
+ l = t;
1059
+ t = r;
1060
+ r = l ^ f3(r, this.masking[11], this.rotate[11]);
1061
+ l = t;
1062
+ t = r;
1063
+ r = l ^ f1(r, this.masking[12], this.rotate[12]);
1064
+ l = t;
1065
+ t = r;
1066
+ r = l ^ f2(r, this.masking[13], this.rotate[13]);
1067
+ l = t;
1068
+ t = r;
1069
+ r = l ^ f3(r, this.masking[14], this.rotate[14]);
1070
+ l = t;
1071
+ t = r;
1072
+ r = l ^ f1(r, this.masking[15], this.rotate[15]);
1073
+ l = t;
1074
+ dst[i] = r >>> 24 & 255;
1075
+ dst[i + 1] = r >>> 16 & 255;
1076
+ dst[i + 2] = r >>> 8 & 255;
1077
+ dst[i + 3] = r & 255;
1078
+ dst[i + 4] = l >>> 24 & 255;
1079
+ dst[i + 5] = l >>> 16 & 255;
1080
+ dst[i + 6] = l >>> 8 & 255;
1081
+ dst[i + 7] = l & 255;
1082
+ }
1083
+ return dst;
1084
+ };
1085
+ this.decrypt = function(src) {
1086
+ const dst = new Array(src.length);
1087
+ for (let i = 0; i < src.length; i += 8) {
1088
+ let l = src[i] << 24 | src[i + 1] << 16 | src[i + 2] << 8 | src[i + 3];
1089
+ let r = src[i + 4] << 24 | src[i + 5] << 16 | src[i + 6] << 8 | src[i + 7];
1090
+ let t;
1091
+ t = r;
1092
+ r = l ^ f1(r, this.masking[15], this.rotate[15]);
1093
+ l = t;
1094
+ t = r;
1095
+ r = l ^ f3(r, this.masking[14], this.rotate[14]);
1096
+ l = t;
1097
+ t = r;
1098
+ r = l ^ f2(r, this.masking[13], this.rotate[13]);
1099
+ l = t;
1100
+ t = r;
1101
+ r = l ^ f1(r, this.masking[12], this.rotate[12]);
1102
+ l = t;
1103
+ t = r;
1104
+ r = l ^ f3(r, this.masking[11], this.rotate[11]);
1105
+ l = t;
1106
+ t = r;
1107
+ r = l ^ f2(r, this.masking[10], this.rotate[10]);
1108
+ l = t;
1109
+ t = r;
1110
+ r = l ^ f1(r, this.masking[9], this.rotate[9]);
1111
+ l = t;
1112
+ t = r;
1113
+ r = l ^ f3(r, this.masking[8], this.rotate[8]);
1114
+ l = t;
1115
+ t = r;
1116
+ r = l ^ f2(r, this.masking[7], this.rotate[7]);
1117
+ l = t;
1118
+ t = r;
1119
+ r = l ^ f1(r, this.masking[6], this.rotate[6]);
1120
+ l = t;
1121
+ t = r;
1122
+ r = l ^ f3(r, this.masking[5], this.rotate[5]);
1123
+ l = t;
1124
+ t = r;
1125
+ r = l ^ f2(r, this.masking[4], this.rotate[4]);
1126
+ l = t;
1127
+ t = r;
1128
+ r = l ^ f1(r, this.masking[3], this.rotate[3]);
1129
+ l = t;
1130
+ t = r;
1131
+ r = l ^ f3(r, this.masking[2], this.rotate[2]);
1132
+ l = t;
1133
+ t = r;
1134
+ r = l ^ f2(r, this.masking[1], this.rotate[1]);
1135
+ l = t;
1136
+ t = r;
1137
+ r = l ^ f1(r, this.masking[0], this.rotate[0]);
1138
+ l = t;
1139
+ dst[i] = r >>> 24 & 255;
1140
+ dst[i + 1] = r >>> 16 & 255;
1141
+ dst[i + 2] = r >>> 8 & 255;
1142
+ dst[i + 3] = r & 255;
1143
+ dst[i + 4] = l >>> 24 & 255;
1144
+ dst[i + 5] = l >> 16 & 255;
1145
+ dst[i + 6] = l >> 8 & 255;
1146
+ dst[i + 7] = l & 255;
1147
+ }
1148
+ return dst;
1149
+ };
1150
+ const scheduleA = new Array(4);
1151
+ scheduleA[0] = new Array(4);
1152
+ scheduleA[0][0] = [
1153
+ 4,
1154
+ 0,
1155
+ 13,
1156
+ 15,
1157
+ 12,
1158
+ 14,
1159
+ 8
1160
+ ];
1161
+ scheduleA[0][1] = [
1162
+ 5,
1163
+ 2,
1164
+ 16,
1165
+ 18,
1166
+ 17,
1167
+ 19,
1168
+ 10
1169
+ ];
1170
+ scheduleA[0][2] = [
1171
+ 6,
1172
+ 3,
1173
+ 23,
1174
+ 22,
1175
+ 21,
1176
+ 20,
1177
+ 9
1178
+ ];
1179
+ scheduleA[0][3] = [
1180
+ 7,
1181
+ 1,
1182
+ 26,
1183
+ 25,
1184
+ 27,
1185
+ 24,
1186
+ 11
1187
+ ];
1188
+ scheduleA[1] = new Array(4);
1189
+ scheduleA[1][0] = [
1190
+ 0,
1191
+ 6,
1192
+ 21,
1193
+ 23,
1194
+ 20,
1195
+ 22,
1196
+ 16
1197
+ ];
1198
+ scheduleA[1][1] = [
1199
+ 1,
1200
+ 4,
1201
+ 0,
1202
+ 2,
1203
+ 1,
1204
+ 3,
1205
+ 18
1206
+ ];
1207
+ scheduleA[1][2] = [
1208
+ 2,
1209
+ 5,
1210
+ 7,
1211
+ 6,
1212
+ 5,
1213
+ 4,
1214
+ 17
1215
+ ];
1216
+ scheduleA[1][3] = [
1217
+ 3,
1218
+ 7,
1219
+ 10,
1220
+ 9,
1221
+ 11,
1222
+ 8,
1223
+ 19
1224
+ ];
1225
+ scheduleA[2] = new Array(4);
1226
+ scheduleA[2][0] = [
1227
+ 4,
1228
+ 0,
1229
+ 13,
1230
+ 15,
1231
+ 12,
1232
+ 14,
1233
+ 8
1234
+ ];
1235
+ scheduleA[2][1] = [
1236
+ 5,
1237
+ 2,
1238
+ 16,
1239
+ 18,
1240
+ 17,
1241
+ 19,
1242
+ 10
1243
+ ];
1244
+ scheduleA[2][2] = [
1245
+ 6,
1246
+ 3,
1247
+ 23,
1248
+ 22,
1249
+ 21,
1250
+ 20,
1251
+ 9
1252
+ ];
1253
+ scheduleA[2][3] = [
1254
+ 7,
1255
+ 1,
1256
+ 26,
1257
+ 25,
1258
+ 27,
1259
+ 24,
1260
+ 11
1261
+ ];
1262
+ scheduleA[3] = new Array(4);
1263
+ scheduleA[3][0] = [
1264
+ 0,
1265
+ 6,
1266
+ 21,
1267
+ 23,
1268
+ 20,
1269
+ 22,
1270
+ 16
1271
+ ];
1272
+ scheduleA[3][1] = [
1273
+ 1,
1274
+ 4,
1275
+ 0,
1276
+ 2,
1277
+ 1,
1278
+ 3,
1279
+ 18
1280
+ ];
1281
+ scheduleA[3][2] = [
1282
+ 2,
1283
+ 5,
1284
+ 7,
1285
+ 6,
1286
+ 5,
1287
+ 4,
1288
+ 17
1289
+ ];
1290
+ scheduleA[3][3] = [
1291
+ 3,
1292
+ 7,
1293
+ 10,
1294
+ 9,
1295
+ 11,
1296
+ 8,
1297
+ 19
1298
+ ];
1299
+ const scheduleB = new Array(4);
1300
+ scheduleB[0] = new Array(4);
1301
+ scheduleB[0][0] = [
1302
+ 24,
1303
+ 25,
1304
+ 23,
1305
+ 22,
1306
+ 18
1307
+ ];
1308
+ scheduleB[0][1] = [
1309
+ 26,
1310
+ 27,
1311
+ 21,
1312
+ 20,
1313
+ 22
1314
+ ];
1315
+ scheduleB[0][2] = [
1316
+ 28,
1317
+ 29,
1318
+ 19,
1319
+ 18,
1320
+ 25
1321
+ ];
1322
+ scheduleB[0][3] = [
1323
+ 30,
1324
+ 31,
1325
+ 17,
1326
+ 16,
1327
+ 28
1328
+ ];
1329
+ scheduleB[1] = new Array(4);
1330
+ scheduleB[1][0] = [
1331
+ 3,
1332
+ 2,
1333
+ 12,
1334
+ 13,
1335
+ 8
1336
+ ];
1337
+ scheduleB[1][1] = [
1338
+ 1,
1339
+ 0,
1340
+ 14,
1341
+ 15,
1342
+ 13
1343
+ ];
1344
+ scheduleB[1][2] = [
1345
+ 7,
1346
+ 6,
1347
+ 8,
1348
+ 9,
1349
+ 3
1350
+ ];
1351
+ scheduleB[1][3] = [
1352
+ 5,
1353
+ 4,
1354
+ 10,
1355
+ 11,
1356
+ 7
1357
+ ];
1358
+ scheduleB[2] = new Array(4);
1359
+ scheduleB[2][0] = [
1360
+ 19,
1361
+ 18,
1362
+ 28,
1363
+ 29,
1364
+ 25
1365
+ ];
1366
+ scheduleB[2][1] = [
1367
+ 17,
1368
+ 16,
1369
+ 30,
1370
+ 31,
1371
+ 28
1372
+ ];
1373
+ scheduleB[2][2] = [
1374
+ 23,
1375
+ 22,
1376
+ 24,
1377
+ 25,
1378
+ 18
1379
+ ];
1380
+ scheduleB[2][3] = [
1381
+ 21,
1382
+ 20,
1383
+ 26,
1384
+ 27,
1385
+ 22
1386
+ ];
1387
+ scheduleB[3] = new Array(4);
1388
+ scheduleB[3][0] = [
1389
+ 8,
1390
+ 9,
1391
+ 7,
1392
+ 6,
1393
+ 3
1394
+ ];
1395
+ scheduleB[3][1] = [
1396
+ 10,
1397
+ 11,
1398
+ 5,
1399
+ 4,
1400
+ 7
1401
+ ];
1402
+ scheduleB[3][2] = [
1403
+ 12,
1404
+ 13,
1405
+ 3,
1406
+ 2,
1407
+ 8
1408
+ ];
1409
+ scheduleB[3][3] = [
1410
+ 14,
1411
+ 15,
1412
+ 1,
1413
+ 0,
1414
+ 13
1415
+ ];
1416
+ this.keySchedule = function(inn) {
1417
+ const t = new Array(8);
1418
+ const k = new Array(32);
1419
+ let j;
1420
+ for (let i = 0; i < 4; i++) {
1421
+ j = i * 4;
1422
+ t[i] = inn[j] << 24 | inn[j + 1] << 16 | inn[j + 2] << 8 | inn[j + 3];
1423
+ }
1424
+ const x = [
1425
+ 6,
1426
+ 7,
1427
+ 4,
1428
+ 5
1429
+ ];
1430
+ let ki = 0;
1431
+ let w;
1432
+ for (let half = 0; half < 2; half++) for (let round = 0; round < 4; round++) {
1433
+ for (j = 0; j < 4; j++) {
1434
+ const a = scheduleA[round][j];
1435
+ w = t[a[1]];
1436
+ w ^= sBox[4][t[a[2] >>> 2] >>> 24 - 8 * (a[2] & 3) & 255];
1437
+ w ^= sBox[5][t[a[3] >>> 2] >>> 24 - 8 * (a[3] & 3) & 255];
1438
+ w ^= sBox[6][t[a[4] >>> 2] >>> 24 - 8 * (a[4] & 3) & 255];
1439
+ w ^= sBox[7][t[a[5] >>> 2] >>> 24 - 8 * (a[5] & 3) & 255];
1440
+ w ^= sBox[x[j]][t[a[6] >>> 2] >>> 24 - 8 * (a[6] & 3) & 255];
1441
+ t[a[0]] = w;
1442
+ }
1443
+ for (j = 0; j < 4; j++) {
1444
+ const b = scheduleB[round][j];
1445
+ w = sBox[4][t[b[0] >>> 2] >>> 24 - 8 * (b[0] & 3) & 255];
1446
+ w ^= sBox[5][t[b[1] >>> 2] >>> 24 - 8 * (b[1] & 3) & 255];
1447
+ w ^= sBox[6][t[b[2] >>> 2] >>> 24 - 8 * (b[2] & 3) & 255];
1448
+ w ^= sBox[7][t[b[3] >>> 2] >>> 24 - 8 * (b[3] & 3) & 255];
1449
+ w ^= sBox[4 + j][t[b[4] >>> 2] >>> 24 - 8 * (b[4] & 3) & 255];
1450
+ k[ki] = w;
1451
+ ki++;
1452
+ }
1453
+ }
1454
+ for (let i = 0; i < 16; i++) {
1455
+ this.masking[i] = k[i];
1456
+ this.rotate[i] = k[16 + i] & 31;
1457
+ }
1458
+ };
1459
+ function f1(d, m, r) {
1460
+ const t = m + d;
1461
+ const I = t << r | t >>> 32 - r;
1462
+ return (sBox[0][I >>> 24] ^ sBox[1][I >>> 16 & 255]) - sBox[2][I >>> 8 & 255] + sBox[3][I & 255];
1463
+ }
1464
+ function f2(d, m, r) {
1465
+ const t = m ^ d;
1466
+ const I = t << r | t >>> 32 - r;
1467
+ return sBox[0][I >>> 24] - sBox[1][I >>> 16 & 255] + sBox[2][I >>> 8 & 255] ^ sBox[3][I & 255];
1468
+ }
1469
+ function f3(d, m, r) {
1470
+ const t = m - d;
1471
+ const I = t << r | t >>> 32 - r;
1472
+ return (sBox[0][I >>> 24] + sBox[1][I >>> 16 & 255] ^ sBox[2][I >>> 8 & 255]) - sBox[3][I & 255];
1473
+ }
1474
+ const sBox = new Array(8);
1475
+ sBox[0] = [
1476
+ 821772500,
1477
+ 2678128395,
1478
+ 1810681135,
1479
+ 1059425402,
1480
+ 505495343,
1481
+ 2617265619,
1482
+ 1610868032,
1483
+ 3483355465,
1484
+ 3218386727,
1485
+ 2294005173,
1486
+ 3791863952,
1487
+ 2563806837,
1488
+ 1852023008,
1489
+ 365126098,
1490
+ 3269944861,
1491
+ 584384398,
1492
+ 677919599,
1493
+ 3229601881,
1494
+ 4280515016,
1495
+ 2002735330,
1496
+ 1136869587,
1497
+ 3744433750,
1498
+ 2289869850,
1499
+ 2731719981,
1500
+ 2714362070,
1501
+ 879511577,
1502
+ 1639411079,
1503
+ 575934255,
1504
+ 717107937,
1505
+ 2857637483,
1506
+ 576097850,
1507
+ 2731753936,
1508
+ 1725645e3,
1509
+ 2810460463,
1510
+ 5111599,
1511
+ 767152862,
1512
+ 2543075244,
1513
+ 1251459544,
1514
+ 1383482551,
1515
+ 3052681127,
1516
+ 3089939183,
1517
+ 3612463449,
1518
+ 1878520045,
1519
+ 1510570527,
1520
+ 2189125840,
1521
+ 2431448366,
1522
+ 582008916,
1523
+ 3163445557,
1524
+ 1265446783,
1525
+ 1354458274,
1526
+ 3529918736,
1527
+ 3202711853,
1528
+ 3073581712,
1529
+ 3912963487,
1530
+ 3029263377,
1531
+ 1275016285,
1532
+ 4249207360,
1533
+ 2905708351,
1534
+ 3304509486,
1535
+ 1442611557,
1536
+ 3585198765,
1537
+ 2712415662,
1538
+ 2731849581,
1539
+ 3248163920,
1540
+ 2283946226,
1541
+ 208555832,
1542
+ 2766454743,
1543
+ 1331405426,
1544
+ 1447828783,
1545
+ 3315356441,
1546
+ 3108627284,
1547
+ 2957404670,
1548
+ 2981538698,
1549
+ 3339933917,
1550
+ 1669711173,
1551
+ 286233437,
1552
+ 1465092821,
1553
+ 1782121619,
1554
+ 3862771680,
1555
+ 710211251,
1556
+ 980974943,
1557
+ 1651941557,
1558
+ 430374111,
1559
+ 2051154026,
1560
+ 704238805,
1561
+ 4128970897,
1562
+ 3144820574,
1563
+ 2857402727,
1564
+ 948965521,
1565
+ 3333752299,
1566
+ 2227686284,
1567
+ 718756367,
1568
+ 2269778983,
1569
+ 2731643755,
1570
+ 718440111,
1571
+ 2857816721,
1572
+ 3616097120,
1573
+ 1113355533,
1574
+ 2478022182,
1575
+ 410092745,
1576
+ 1811985197,
1577
+ 1944238868,
1578
+ 2696854588,
1579
+ 1415722873,
1580
+ 1682284203,
1581
+ 1060277122,
1582
+ 1998114690,
1583
+ 1503841958,
1584
+ 82706478,
1585
+ 2315155686,
1586
+ 1068173648,
1587
+ 845149890,
1588
+ 2167947013,
1589
+ 1768146376,
1590
+ 1993038550,
1591
+ 3566826697,
1592
+ 3390574031,
1593
+ 940016341,
1594
+ 3355073782,
1595
+ 2328040721,
1596
+ 904371731,
1597
+ 1205506512,
1598
+ 4094660742,
1599
+ 2816623006,
1600
+ 825647681,
1601
+ 85914773,
1602
+ 2857843460,
1603
+ 1249926541,
1604
+ 1417871568,
1605
+ 3287612,
1606
+ 3211054559,
1607
+ 3126306446,
1608
+ 1975924523,
1609
+ 1353700161,
1610
+ 2814456437,
1611
+ 2438597621,
1612
+ 1800716203,
1613
+ 722146342,
1614
+ 2873936343,
1615
+ 1151126914,
1616
+ 4160483941,
1617
+ 2877670899,
1618
+ 458611604,
1619
+ 2866078500,
1620
+ 3483680063,
1621
+ 770352098,
1622
+ 2652916994,
1623
+ 3367839148,
1624
+ 3940505011,
1625
+ 3585973912,
1626
+ 3809620402,
1627
+ 718646636,
1628
+ 2504206814,
1629
+ 2914927912,
1630
+ 3631288169,
1631
+ 2857486607,
1632
+ 2860018678,
1633
+ 575749918,
1634
+ 2857478043,
1635
+ 718488780,
1636
+ 2069512688,
1637
+ 3548183469,
1638
+ 453416197,
1639
+ 1106044049,
1640
+ 3032691430,
1641
+ 52586708,
1642
+ 3378514636,
1643
+ 3459808877,
1644
+ 3211506028,
1645
+ 1785789304,
1646
+ 218356169,
1647
+ 3571399134,
1648
+ 3759170522,
1649
+ 1194783844,
1650
+ 1523787992,
1651
+ 3007827094,
1652
+ 1975193539,
1653
+ 2555452411,
1654
+ 1341901877,
1655
+ 3045838698,
1656
+ 3776907964,
1657
+ 3217423946,
1658
+ 2802510864,
1659
+ 2889438986,
1660
+ 1057244207,
1661
+ 1636348243,
1662
+ 3761863214,
1663
+ 1462225785,
1664
+ 2632663439,
1665
+ 481089165,
1666
+ 718503062,
1667
+ 24497053,
1668
+ 3332243209,
1669
+ 3344655856,
1670
+ 3655024856,
1671
+ 3960371065,
1672
+ 1195698900,
1673
+ 2971415156,
1674
+ 3710176158,
1675
+ 2115785917,
1676
+ 4027663609,
1677
+ 3525578417,
1678
+ 2524296189,
1679
+ 2745972565,
1680
+ 3564906415,
1681
+ 1372086093,
1682
+ 1452307862,
1683
+ 2780501478,
1684
+ 1476592880,
1685
+ 3389271281,
1686
+ 18495466,
1687
+ 2378148571,
1688
+ 901398090,
1689
+ 891748256,
1690
+ 3279637769,
1691
+ 3157290713,
1692
+ 2560960102,
1693
+ 1447622437,
1694
+ 4284372637,
1695
+ 216884176,
1696
+ 2086908623,
1697
+ 1879786977,
1698
+ 3588903153,
1699
+ 2242455666,
1700
+ 2938092967,
1701
+ 3559082096,
1702
+ 2810645491,
1703
+ 758861177,
1704
+ 1121993112,
1705
+ 215018983,
1706
+ 642190776,
1707
+ 4169236812,
1708
+ 1196255959,
1709
+ 2081185372,
1710
+ 3508738393,
1711
+ 941322904,
1712
+ 4124243163,
1713
+ 2877523539,
1714
+ 1848581667,
1715
+ 2205260958,
1716
+ 3180453958,
1717
+ 2589345134,
1718
+ 3694731276,
1719
+ 550028657,
1720
+ 2519456284,
1721
+ 3789985535,
1722
+ 2973870856,
1723
+ 2093648313,
1724
+ 443148163,
1725
+ 46942275,
1726
+ 2734146937,
1727
+ 1117713533,
1728
+ 1115362972,
1729
+ 1523183689,
1730
+ 3717140224,
1731
+ 1551984063
1732
+ ];
1733
+ sBox[1] = [
1734
+ 522195092,
1735
+ 4010518363,
1736
+ 1776537470,
1737
+ 960447360,
1738
+ 4267822970,
1739
+ 4005896314,
1740
+ 1435016340,
1741
+ 1929119313,
1742
+ 2913464185,
1743
+ 1310552629,
1744
+ 3579470798,
1745
+ 3724818106,
1746
+ 2579771631,
1747
+ 1594623892,
1748
+ 417127293,
1749
+ 2715217907,
1750
+ 2696228731,
1751
+ 1508390405,
1752
+ 3994398868,
1753
+ 3925858569,
1754
+ 3695444102,
1755
+ 4019471449,
1756
+ 3129199795,
1757
+ 3770928635,
1758
+ 3520741761,
1759
+ 990456497,
1760
+ 4187484609,
1761
+ 2783367035,
1762
+ 21106139,
1763
+ 3840405339,
1764
+ 631373633,
1765
+ 3783325702,
1766
+ 532942976,
1767
+ 396095098,
1768
+ 3548038825,
1769
+ 4267192484,
1770
+ 2564721535,
1771
+ 2011709262,
1772
+ 2039648873,
1773
+ 620404603,
1774
+ 3776170075,
1775
+ 2898526339,
1776
+ 3612357925,
1777
+ 4159332703,
1778
+ 1645490516,
1779
+ 223693667,
1780
+ 1567101217,
1781
+ 3362177881,
1782
+ 1029951347,
1783
+ 3470931136,
1784
+ 3570957959,
1785
+ 1550265121,
1786
+ 119497089,
1787
+ 972513919,
1788
+ 907948164,
1789
+ 3840628539,
1790
+ 1613718692,
1791
+ 3594177948,
1792
+ 465323573,
1793
+ 2659255085,
1794
+ 654439692,
1795
+ 2575596212,
1796
+ 2699288441,
1797
+ 3127702412,
1798
+ 277098644,
1799
+ 624404830,
1800
+ 4100943870,
1801
+ 2717858591,
1802
+ 546110314,
1803
+ 2403699828,
1804
+ 3655377447,
1805
+ 1321679412,
1806
+ 4236791657,
1807
+ 1045293279,
1808
+ 4010672264,
1809
+ 895050893,
1810
+ 2319792268,
1811
+ 494945126,
1812
+ 1914543101,
1813
+ 2777056443,
1814
+ 3894764339,
1815
+ 2219737618,
1816
+ 311263384,
1817
+ 4275257268,
1818
+ 3458730721,
1819
+ 669096869,
1820
+ 3584475730,
1821
+ 3835122877,
1822
+ 3319158237,
1823
+ 3949359204,
1824
+ 2005142349,
1825
+ 2713102337,
1826
+ 2228954793,
1827
+ 3769984788,
1828
+ 569394103,
1829
+ 3855636576,
1830
+ 1425027204,
1831
+ 108000370,
1832
+ 2736431443,
1833
+ 3671869269,
1834
+ 3043122623,
1835
+ 1750473702,
1836
+ 2211081108,
1837
+ 762237499,
1838
+ 3972989403,
1839
+ 2798899386,
1840
+ 3061857628,
1841
+ 2943854345,
1842
+ 867476300,
1843
+ 964413654,
1844
+ 1591880597,
1845
+ 1594774276,
1846
+ 2179821409,
1847
+ 552026980,
1848
+ 3026064248,
1849
+ 3726140315,
1850
+ 2283577634,
1851
+ 3110545105,
1852
+ 2152310760,
1853
+ 582474363,
1854
+ 1582640421,
1855
+ 1383256631,
1856
+ 2043843868,
1857
+ 3322775884,
1858
+ 1217180674,
1859
+ 463797851,
1860
+ 2763038571,
1861
+ 480777679,
1862
+ 2718707717,
1863
+ 2289164131,
1864
+ 3118346187,
1865
+ 214354409,
1866
+ 200212307,
1867
+ 3810608407,
1868
+ 3025414197,
1869
+ 2674075964,
1870
+ 3997296425,
1871
+ 1847405948,
1872
+ 1342460550,
1873
+ 510035443,
1874
+ 4080271814,
1875
+ 815934613,
1876
+ 833030224,
1877
+ 1620250387,
1878
+ 1945732119,
1879
+ 2703661145,
1880
+ 3966000196,
1881
+ 1388869545,
1882
+ 3456054182,
1883
+ 2687178561,
1884
+ 2092620194,
1885
+ 562037615,
1886
+ 1356438536,
1887
+ 3409922145,
1888
+ 3261847397,
1889
+ 1688467115,
1890
+ 2150901366,
1891
+ 631725691,
1892
+ 3840332284,
1893
+ 549916902,
1894
+ 3455104640,
1895
+ 394546491,
1896
+ 837744717,
1897
+ 2114462948,
1898
+ 751520235,
1899
+ 2221554606,
1900
+ 2415360136,
1901
+ 3999097078,
1902
+ 2063029875,
1903
+ 803036379,
1904
+ 2702586305,
1905
+ 821456707,
1906
+ 3019566164,
1907
+ 360699898,
1908
+ 4018502092,
1909
+ 3511869016,
1910
+ 3677355358,
1911
+ 2402471449,
1912
+ 812317050,
1913
+ 49299192,
1914
+ 2570164949,
1915
+ 3259169295,
1916
+ 2816732080,
1917
+ 3331213574,
1918
+ 3101303564,
1919
+ 2156015656,
1920
+ 3705598920,
1921
+ 3546263921,
1922
+ 143268808,
1923
+ 3200304480,
1924
+ 1638124008,
1925
+ 3165189453,
1926
+ 3341807610,
1927
+ 578956953,
1928
+ 2193977524,
1929
+ 3638120073,
1930
+ 2333881532,
1931
+ 807278310,
1932
+ 658237817,
1933
+ 2969561766,
1934
+ 1641658566,
1935
+ 11683945,
1936
+ 3086995007,
1937
+ 148645947,
1938
+ 1138423386,
1939
+ 4158756760,
1940
+ 1981396783,
1941
+ 2401016740,
1942
+ 3699783584,
1943
+ 380097457,
1944
+ 2680394679,
1945
+ 2803068651,
1946
+ 3334260286,
1947
+ 441530178,
1948
+ 4016580796,
1949
+ 1375954390,
1950
+ 761952171,
1951
+ 891809099,
1952
+ 2183123478,
1953
+ 157052462,
1954
+ 3683840763,
1955
+ 1592404427,
1956
+ 341349109,
1957
+ 2438483839,
1958
+ 1417898363,
1959
+ 644327628,
1960
+ 2233032776,
1961
+ 2353769706,
1962
+ 2201510100,
1963
+ 220455161,
1964
+ 1815641738,
1965
+ 182899273,
1966
+ 2995019788,
1967
+ 3627381533,
1968
+ 3702638151,
1969
+ 2890684138,
1970
+ 1052606899,
1971
+ 588164016,
1972
+ 1681439879,
1973
+ 4038439418,
1974
+ 2405343923,
1975
+ 4229449282,
1976
+ 167996282,
1977
+ 1336969661,
1978
+ 1688053129,
1979
+ 2739224926,
1980
+ 1543734051,
1981
+ 1046297529,
1982
+ 1138201970,
1983
+ 2121126012,
1984
+ 115334942,
1985
+ 1819067631,
1986
+ 1902159161,
1987
+ 1941945968,
1988
+ 2206692869,
1989
+ 1159982321
1990
+ ];
1991
+ sBox[2] = [
1992
+ 2381300288,
1993
+ 637164959,
1994
+ 3952098751,
1995
+ 3893414151,
1996
+ 1197506559,
1997
+ 916448331,
1998
+ 2350892612,
1999
+ 2932787856,
2000
+ 3199334847,
2001
+ 4009478890,
2002
+ 3905886544,
2003
+ 1373570990,
2004
+ 2450425862,
2005
+ 4037870920,
2006
+ 3778841987,
2007
+ 2456817877,
2008
+ 286293407,
2009
+ 124026297,
2010
+ 3001279700,
2011
+ 1028597854,
2012
+ 3115296800,
2013
+ 4208886496,
2014
+ 2691114635,
2015
+ 2188540206,
2016
+ 1430237888,
2017
+ 1218109995,
2018
+ 3572471700,
2019
+ 308166588,
2020
+ 570424558,
2021
+ 2187009021,
2022
+ 2455094765,
2023
+ 307733056,
2024
+ 1310360322,
2025
+ 3135275007,
2026
+ 1384269543,
2027
+ 2388071438,
2028
+ 863238079,
2029
+ 2359263624,
2030
+ 2801553128,
2031
+ 3380786597,
2032
+ 2831162807,
2033
+ 1470087780,
2034
+ 1728663345,
2035
+ 4072488799,
2036
+ 1090516929,
2037
+ 532123132,
2038
+ 2389430977,
2039
+ 1132193179,
2040
+ 2578464191,
2041
+ 3051079243,
2042
+ 1670234342,
2043
+ 1434557849,
2044
+ 2711078940,
2045
+ 1241591150,
2046
+ 3314043432,
2047
+ 3435360113,
2048
+ 3091448339,
2049
+ 1812415473,
2050
+ 2198440252,
2051
+ 267246943,
2052
+ 796911696,
2053
+ 3619716990,
2054
+ 38830015,
2055
+ 1526438404,
2056
+ 2806502096,
2057
+ 374413614,
2058
+ 2943401790,
2059
+ 1489179520,
2060
+ 1603809326,
2061
+ 1920779204,
2062
+ 168801282,
2063
+ 260042626,
2064
+ 2358705581,
2065
+ 1563175598,
2066
+ 2397674057,
2067
+ 1356499128,
2068
+ 2217211040,
2069
+ 514611088,
2070
+ 2037363785,
2071
+ 2186468373,
2072
+ 4022173083,
2073
+ 2792511869,
2074
+ 2913485016,
2075
+ 1173701892,
2076
+ 4200428547,
2077
+ 3896427269,
2078
+ 1334932762,
2079
+ 2455136706,
2080
+ 602925377,
2081
+ 2835607854,
2082
+ 1613172210,
2083
+ 41346230,
2084
+ 2499634548,
2085
+ 2457437618,
2086
+ 2188827595,
2087
+ 41386358,
2088
+ 4172255629,
2089
+ 1313404830,
2090
+ 2405527007,
2091
+ 3801973774,
2092
+ 2217704835,
2093
+ 873260488,
2094
+ 2528884354,
2095
+ 2478092616,
2096
+ 4012915883,
2097
+ 2555359016,
2098
+ 2006953883,
2099
+ 2463913485,
2100
+ 575479328,
2101
+ 2218240648,
2102
+ 2099895446,
2103
+ 660001756,
2104
+ 2341502190,
2105
+ 3038761536,
2106
+ 3888151779,
2107
+ 3848713377,
2108
+ 3286851934,
2109
+ 1022894237,
2110
+ 1620365795,
2111
+ 3449594689,
2112
+ 1551255054,
2113
+ 15374395,
2114
+ 3570825345,
2115
+ 4249311020,
2116
+ 4151111129,
2117
+ 3181912732,
2118
+ 310226346,
2119
+ 1133119310,
2120
+ 530038928,
2121
+ 136043402,
2122
+ 2476768958,
2123
+ 3107506709,
2124
+ 2544909567,
2125
+ 1036173560,
2126
+ 2367337196,
2127
+ 1681395281,
2128
+ 1758231547,
2129
+ 3641649032,
2130
+ 306774401,
2131
+ 1575354324,
2132
+ 3716085866,
2133
+ 1990386196,
2134
+ 3114533736,
2135
+ 2455606671,
2136
+ 1262092282,
2137
+ 3124342505,
2138
+ 2768229131,
2139
+ 4210529083,
2140
+ 1833535011,
2141
+ 423410938,
2142
+ 660763973,
2143
+ 2187129978,
2144
+ 1639812e3,
2145
+ 3508421329,
2146
+ 3467445492,
2147
+ 310289298,
2148
+ 272797111,
2149
+ 2188552562,
2150
+ 2456863912,
2151
+ 310240523,
2152
+ 677093832,
2153
+ 1013118031,
2154
+ 901835429,
2155
+ 3892695601,
2156
+ 1116285435,
2157
+ 3036471170,
2158
+ 1337354835,
2159
+ 243122523,
2160
+ 520626091,
2161
+ 277223598,
2162
+ 4244441197,
2163
+ 4194248841,
2164
+ 1766575121,
2165
+ 594173102,
2166
+ 316590669,
2167
+ 742362309,
2168
+ 3536858622,
2169
+ 4176435350,
2170
+ 3838792410,
2171
+ 2501204839,
2172
+ 1229605004,
2173
+ 3115755532,
2174
+ 1552908988,
2175
+ 2312334149,
2176
+ 979407927,
2177
+ 3959474601,
2178
+ 1148277331,
2179
+ 176638793,
2180
+ 3614686272,
2181
+ 2083809052,
2182
+ 40992502,
2183
+ 1340822838,
2184
+ 2731552767,
2185
+ 3535757508,
2186
+ 3560899520,
2187
+ 1354035053,
2188
+ 122129617,
2189
+ 7215240,
2190
+ 2732932949,
2191
+ 3118912700,
2192
+ 2718203926,
2193
+ 2539075635,
2194
+ 3609230695,
2195
+ 3725561661,
2196
+ 1928887091,
2197
+ 2882293555,
2198
+ 1988674909,
2199
+ 2063640240,
2200
+ 2491088897,
2201
+ 1459647954,
2202
+ 4189817080,
2203
+ 2302804382,
2204
+ 1113892351,
2205
+ 2237858528,
2206
+ 1927010603,
2207
+ 4002880361,
2208
+ 1856122846,
2209
+ 1594404395,
2210
+ 2944033133,
2211
+ 3855189863,
2212
+ 3474975698,
2213
+ 1643104450,
2214
+ 4054590833,
2215
+ 3431086530,
2216
+ 1730235576,
2217
+ 2984608721,
2218
+ 3084664418,
2219
+ 2131803598,
2220
+ 4178205752,
2221
+ 267404349,
2222
+ 1617849798,
2223
+ 1616132681,
2224
+ 1462223176,
2225
+ 736725533,
2226
+ 2327058232,
2227
+ 551665188,
2228
+ 2945899023,
2229
+ 1749386277,
2230
+ 2575514597,
2231
+ 1611482493,
2232
+ 674206544,
2233
+ 2201269090,
2234
+ 3642560800,
2235
+ 728599968,
2236
+ 1680547377,
2237
+ 2620414464,
2238
+ 1388111496,
2239
+ 453204106,
2240
+ 4156223445,
2241
+ 1094905244,
2242
+ 2754698257,
2243
+ 2201108165,
2244
+ 3757000246,
2245
+ 2704524545,
2246
+ 3922940700,
2247
+ 3996465027
2248
+ ];
2249
+ sBox[3] = [
2250
+ 2645754912,
2251
+ 532081118,
2252
+ 2814278639,
2253
+ 3530793624,
2254
+ 1246723035,
2255
+ 1689095255,
2256
+ 2236679235,
2257
+ 4194438865,
2258
+ 2116582143,
2259
+ 3859789411,
2260
+ 157234593,
2261
+ 2045505824,
2262
+ 4245003587,
2263
+ 1687664561,
2264
+ 4083425123,
2265
+ 605965023,
2266
+ 672431967,
2267
+ 1336064205,
2268
+ 3376611392,
2269
+ 214114848,
2270
+ 4258466608,
2271
+ 3232053071,
2272
+ 489488601,
2273
+ 605322005,
2274
+ 3998028058,
2275
+ 264917351,
2276
+ 1912574028,
2277
+ 756637694,
2278
+ 436560991,
2279
+ 202637054,
2280
+ 135989450,
2281
+ 85393697,
2282
+ 2152923392,
2283
+ 3896401662,
2284
+ 2895836408,
2285
+ 2145855233,
2286
+ 3535335007,
2287
+ 115294817,
2288
+ 3147733898,
2289
+ 1922296357,
2290
+ 3464822751,
2291
+ 4117858305,
2292
+ 1037454084,
2293
+ 2725193275,
2294
+ 2127856640,
2295
+ 1417604070,
2296
+ 1148013728,
2297
+ 1827919605,
2298
+ 642362335,
2299
+ 2929772533,
2300
+ 909348033,
2301
+ 1346338451,
2302
+ 3547799649,
2303
+ 297154785,
2304
+ 1917849091,
2305
+ 4161712827,
2306
+ 2883604526,
2307
+ 3968694238,
2308
+ 1469521537,
2309
+ 3780077382,
2310
+ 3375584256,
2311
+ 1763717519,
2312
+ 136166297,
2313
+ 4290970789,
2314
+ 1295325189,
2315
+ 2134727907,
2316
+ 2798151366,
2317
+ 1566297257,
2318
+ 3672928234,
2319
+ 2677174161,
2320
+ 2672173615,
2321
+ 965822077,
2322
+ 2780786062,
2323
+ 289653839,
2324
+ 1133871874,
2325
+ 3491843819,
2326
+ 35685304,
2327
+ 1068898316,
2328
+ 418943774,
2329
+ 672553190,
2330
+ 642281022,
2331
+ 2346158704,
2332
+ 1954014401,
2333
+ 3037126780,
2334
+ 4079815205,
2335
+ 2030668546,
2336
+ 3840588673,
2337
+ 672283427,
2338
+ 1776201016,
2339
+ 359975446,
2340
+ 3750173538,
2341
+ 555499703,
2342
+ 2769985273,
2343
+ 1324923,
2344
+ 69110472,
2345
+ 152125443,
2346
+ 3176785106,
2347
+ 3822147285,
2348
+ 1340634837,
2349
+ 798073664,
2350
+ 1434183902,
2351
+ 15393959,
2352
+ 216384236,
2353
+ 1303690150,
2354
+ 3881221631,
2355
+ 3711134124,
2356
+ 3960975413,
2357
+ 106373927,
2358
+ 2578434224,
2359
+ 1455997841,
2360
+ 1801814300,
2361
+ 1578393881,
2362
+ 1854262133,
2363
+ 3188178946,
2364
+ 3258078583,
2365
+ 2302670060,
2366
+ 1539295533,
2367
+ 3505142565,
2368
+ 3078625975,
2369
+ 2372746020,
2370
+ 549938159,
2371
+ 3278284284,
2372
+ 2620926080,
2373
+ 181285381,
2374
+ 2865321098,
2375
+ 3970029511,
2376
+ 68876850,
2377
+ 488006234,
2378
+ 1728155692,
2379
+ 2608167508,
2380
+ 836007927,
2381
+ 2435231793,
2382
+ 919367643,
2383
+ 3339422534,
2384
+ 3655756360,
2385
+ 1457871481,
2386
+ 40520939,
2387
+ 1380155135,
2388
+ 797931188,
2389
+ 234455205,
2390
+ 2255801827,
2391
+ 3990488299,
2392
+ 397000196,
2393
+ 739833055,
2394
+ 3077865373,
2395
+ 2871719860,
2396
+ 4022553888,
2397
+ 772369276,
2398
+ 390177364,
2399
+ 3853951029,
2400
+ 557662966,
2401
+ 740064294,
2402
+ 1640166671,
2403
+ 1699928825,
2404
+ 3535942136,
2405
+ 622006121,
2406
+ 3625353122,
2407
+ 68743880,
2408
+ 1742502,
2409
+ 219489963,
2410
+ 1664179233,
2411
+ 1577743084,
2412
+ 1236991741,
2413
+ 410585305,
2414
+ 2366487942,
2415
+ 823226535,
2416
+ 1050371084,
2417
+ 3426619607,
2418
+ 3586839478,
2419
+ 212779912,
2420
+ 4147118561,
2421
+ 1819446015,
2422
+ 1911218849,
2423
+ 530248558,
2424
+ 3486241071,
2425
+ 3252585495,
2426
+ 2886188651,
2427
+ 3410272728,
2428
+ 2342195030,
2429
+ 20547779,
2430
+ 2982490058,
2431
+ 3032363469,
2432
+ 3631753222,
2433
+ 312714466,
2434
+ 1870521650,
2435
+ 1493008054,
2436
+ 3491686656,
2437
+ 615382978,
2438
+ 4103671749,
2439
+ 2534517445,
2440
+ 1932181,
2441
+ 2196105170,
2442
+ 278426614,
2443
+ 6369430,
2444
+ 3274544417,
2445
+ 2913018367,
2446
+ 697336853,
2447
+ 2143000447,
2448
+ 2946413531,
2449
+ 701099306,
2450
+ 1558357093,
2451
+ 2805003052,
2452
+ 3500818408,
2453
+ 2321334417,
2454
+ 3567135975,
2455
+ 216290473,
2456
+ 3591032198,
2457
+ 23009561,
2458
+ 1996984579,
2459
+ 3735042806,
2460
+ 2024298078,
2461
+ 3739440863,
2462
+ 569400510,
2463
+ 2339758983,
2464
+ 3016033873,
2465
+ 3097871343,
2466
+ 3639523026,
2467
+ 3844324983,
2468
+ 3256173865,
2469
+ 795471839,
2470
+ 2951117563,
2471
+ 4101031090,
2472
+ 4091603803,
2473
+ 3603732598,
2474
+ 971261452,
2475
+ 534414648,
2476
+ 428311343,
2477
+ 3389027175,
2478
+ 2844869880,
2479
+ 694888862,
2480
+ 1227866773,
2481
+ 2456207019,
2482
+ 3043454569,
2483
+ 2614353370,
2484
+ 3749578031,
2485
+ 3676663836,
2486
+ 459166190,
2487
+ 4132644070,
2488
+ 1794958188,
2489
+ 51825668,
2490
+ 2252611902,
2491
+ 3084671440,
2492
+ 2036672799,
2493
+ 3436641603,
2494
+ 1099053433,
2495
+ 2469121526,
2496
+ 3059204941,
2497
+ 1323291266,
2498
+ 2061838604,
2499
+ 1018778475,
2500
+ 2233344254,
2501
+ 2553501054,
2502
+ 334295216,
2503
+ 3556750194,
2504
+ 1065731521,
2505
+ 183467730
2506
+ ];
2507
+ sBox[4] = [
2508
+ 2127105028,
2509
+ 745436345,
2510
+ 2601412319,
2511
+ 2788391185,
2512
+ 3093987327,
2513
+ 500390133,
2514
+ 1155374404,
2515
+ 389092991,
2516
+ 150729210,
2517
+ 3891597772,
2518
+ 3523549952,
2519
+ 1935325696,
2520
+ 716645080,
2521
+ 946045387,
2522
+ 2901812282,
2523
+ 1774124410,
2524
+ 3869435775,
2525
+ 4039581901,
2526
+ 3293136918,
2527
+ 3438657920,
2528
+ 948246080,
2529
+ 363898952,
2530
+ 3867875531,
2531
+ 1286266623,
2532
+ 1598556673,
2533
+ 68334250,
2534
+ 630723836,
2535
+ 1104211938,
2536
+ 1312863373,
2537
+ 613332731,
2538
+ 2377784574,
2539
+ 1101634306,
2540
+ 441780740,
2541
+ 3129959883,
2542
+ 1917973735,
2543
+ 2510624549,
2544
+ 3238456535,
2545
+ 2544211978,
2546
+ 3308894634,
2547
+ 1299840618,
2548
+ 4076074851,
2549
+ 1756332096,
2550
+ 3977027158,
2551
+ 297047435,
2552
+ 3790297736,
2553
+ 2265573040,
2554
+ 3621810518,
2555
+ 1311375015,
2556
+ 1667687725,
2557
+ 47300608,
2558
+ 3299642885,
2559
+ 2474112369,
2560
+ 201668394,
2561
+ 1468347890,
2562
+ 576830978,
2563
+ 3594690761,
2564
+ 3742605952,
2565
+ 1958042578,
2566
+ 1747032512,
2567
+ 3558991340,
2568
+ 1408974056,
2569
+ 3366841779,
2570
+ 682131401,
2571
+ 1033214337,
2572
+ 1545599232,
2573
+ 4265137049,
2574
+ 206503691,
2575
+ 103024618,
2576
+ 2855227313,
2577
+ 1337551222,
2578
+ 2428998917,
2579
+ 2963842932,
2580
+ 4015366655,
2581
+ 3852247746,
2582
+ 2796956967,
2583
+ 3865723491,
2584
+ 3747938335,
2585
+ 247794022,
2586
+ 3755824572,
2587
+ 702416469,
2588
+ 2434691994,
2589
+ 397379957,
2590
+ 851939612,
2591
+ 2314769512,
2592
+ 218229120,
2593
+ 1380406772,
2594
+ 62274761,
2595
+ 214451378,
2596
+ 3170103466,
2597
+ 2276210409,
2598
+ 3845813286,
2599
+ 28563499,
2600
+ 446592073,
2601
+ 1693330814,
2602
+ 3453727194,
2603
+ 29968656,
2604
+ 3093872512,
2605
+ 220656637,
2606
+ 2470637031,
2607
+ 77972100,
2608
+ 1667708854,
2609
+ 1358280214,
2610
+ 4064765667,
2611
+ 2395616961,
2612
+ 325977563,
2613
+ 4277240721,
2614
+ 4220025399,
2615
+ 3605526484,
2616
+ 3355147721,
2617
+ 811859167,
2618
+ 3069544926,
2619
+ 3962126810,
2620
+ 652502677,
2621
+ 3075892249,
2622
+ 4132761541,
2623
+ 3498924215,
2624
+ 1217549313,
2625
+ 3250244479,
2626
+ 3858715919,
2627
+ 3053989961,
2628
+ 1538642152,
2629
+ 2279026266,
2630
+ 2875879137,
2631
+ 574252750,
2632
+ 3324769229,
2633
+ 2651358713,
2634
+ 1758150215,
2635
+ 141295887,
2636
+ 2719868960,
2637
+ 3515574750,
2638
+ 4093007735,
2639
+ 4194485238,
2640
+ 1082055363,
2641
+ 3417560400,
2642
+ 395511885,
2643
+ 2966884026,
2644
+ 179534037,
2645
+ 3646028556,
2646
+ 3738688086,
2647
+ 1092926436,
2648
+ 2496269142,
2649
+ 257381841,
2650
+ 3772900718,
2651
+ 1636087230,
2652
+ 1477059743,
2653
+ 2499234752,
2654
+ 3811018894,
2655
+ 2675660129,
2656
+ 3285975680,
2657
+ 90732309,
2658
+ 1684827095,
2659
+ 1150307763,
2660
+ 1723134115,
2661
+ 3237045386,
2662
+ 1769919919,
2663
+ 1240018934,
2664
+ 815675215,
2665
+ 750138730,
2666
+ 2239792499,
2667
+ 1234303040,
2668
+ 1995484674,
2669
+ 138143821,
2670
+ 675421338,
2671
+ 1145607174,
2672
+ 1936608440,
2673
+ 3238603024,
2674
+ 2345230278,
2675
+ 2105974004,
2676
+ 323969391,
2677
+ 779555213,
2678
+ 3004902369,
2679
+ 2861610098,
2680
+ 1017501463,
2681
+ 2098600890,
2682
+ 2628620304,
2683
+ 2940611490,
2684
+ 2682542546,
2685
+ 1171473753,
2686
+ 3656571411,
2687
+ 3687208071,
2688
+ 4091869518,
2689
+ 393037935,
2690
+ 159126506,
2691
+ 1662887367,
2692
+ 1147106178,
2693
+ 391545844,
2694
+ 3452332695,
2695
+ 1891500680,
2696
+ 3016609650,
2697
+ 1851642611,
2698
+ 546529401,
2699
+ 1167818917,
2700
+ 3194020571,
2701
+ 2848076033,
2702
+ 3953471836,
2703
+ 575554290,
2704
+ 475796850,
2705
+ 4134673196,
2706
+ 450035699,
2707
+ 2351251534,
2708
+ 844027695,
2709
+ 1080539133,
2710
+ 86184846,
2711
+ 1554234488,
2712
+ 3692025454,
2713
+ 1972511363,
2714
+ 2018339607,
2715
+ 1491841390,
2716
+ 1141460869,
2717
+ 1061690759,
2718
+ 4244549243,
2719
+ 2008416118,
2720
+ 2351104703,
2721
+ 2868147542,
2722
+ 1598468138,
2723
+ 722020353,
2724
+ 1027143159,
2725
+ 212344630,
2726
+ 1387219594,
2727
+ 1725294528,
2728
+ 3745187956,
2729
+ 2500153616,
2730
+ 458938280,
2731
+ 4129215917,
2732
+ 1828119673,
2733
+ 544571780,
2734
+ 3503225445,
2735
+ 2297937496,
2736
+ 1241802790,
2737
+ 267843827,
2738
+ 2694610800,
2739
+ 1397140384,
2740
+ 1558801448,
2741
+ 3782667683,
2742
+ 1806446719,
2743
+ 929573330,
2744
+ 2234912681,
2745
+ 400817706,
2746
+ 616011623,
2747
+ 4121520928,
2748
+ 3603768725,
2749
+ 1761550015,
2750
+ 1968522284,
2751
+ 4053731006,
2752
+ 4192232858,
2753
+ 4005120285,
2754
+ 872482584,
2755
+ 3140537016,
2756
+ 3894607381,
2757
+ 2287405443,
2758
+ 1963876937,
2759
+ 3663887957,
2760
+ 1584857e3,
2761
+ 2975024454,
2762
+ 1833426440,
2763
+ 4025083860
2764
+ ];
2765
+ sBox[5] = [
2766
+ 4143615901,
2767
+ 749497569,
2768
+ 1285769319,
2769
+ 3795025788,
2770
+ 2514159847,
2771
+ 23610292,
2772
+ 3974978748,
2773
+ 844452780,
2774
+ 3214870880,
2775
+ 3751928557,
2776
+ 2213566365,
2777
+ 1676510905,
2778
+ 448177848,
2779
+ 3730751033,
2780
+ 4086298418,
2781
+ 2307502392,
2782
+ 871450977,
2783
+ 3222878141,
2784
+ 4110862042,
2785
+ 3831651966,
2786
+ 2735270553,
2787
+ 1310974780,
2788
+ 2043402188,
2789
+ 1218528103,
2790
+ 2736035353,
2791
+ 4274605013,
2792
+ 2702448458,
2793
+ 3936360550,
2794
+ 2693061421,
2795
+ 162023535,
2796
+ 2827510090,
2797
+ 687910808,
2798
+ 23484817,
2799
+ 3784910947,
2800
+ 3371371616,
2801
+ 779677500,
2802
+ 3503626546,
2803
+ 3473927188,
2804
+ 4157212626,
2805
+ 3500679282,
2806
+ 4248902014,
2807
+ 2466621104,
2808
+ 3899384794,
2809
+ 1958663117,
2810
+ 925738300,
2811
+ 1283408968,
2812
+ 3669349440,
2813
+ 1840910019,
2814
+ 137959847,
2815
+ 2679828185,
2816
+ 1239142320,
2817
+ 1315376211,
2818
+ 1547541505,
2819
+ 1690155329,
2820
+ 739140458,
2821
+ 3128809933,
2822
+ 3933172616,
2823
+ 3876308834,
2824
+ 905091803,
2825
+ 1548541325,
2826
+ 4040461708,
2827
+ 3095483362,
2828
+ 144808038,
2829
+ 451078856,
2830
+ 676114313,
2831
+ 2861728291,
2832
+ 2469707347,
2833
+ 993665471,
2834
+ 373509091,
2835
+ 2599041286,
2836
+ 4025009006,
2837
+ 4170239449,
2838
+ 2149739950,
2839
+ 3275793571,
2840
+ 3749616649,
2841
+ 2794760199,
2842
+ 1534877388,
2843
+ 572371878,
2844
+ 2590613551,
2845
+ 1753320020,
2846
+ 3467782511,
2847
+ 1405125690,
2848
+ 4270405205,
2849
+ 633333386,
2850
+ 3026356924,
2851
+ 3475123903,
2852
+ 632057672,
2853
+ 2846462855,
2854
+ 1404951397,
2855
+ 3882875879,
2856
+ 3915906424,
2857
+ 195638627,
2858
+ 2385783745,
2859
+ 3902872553,
2860
+ 1233155085,
2861
+ 3355999740,
2862
+ 2380578713,
2863
+ 2702246304,
2864
+ 2144565621,
2865
+ 3663341248,
2866
+ 3894384975,
2867
+ 2502479241,
2868
+ 4248018925,
2869
+ 3094885567,
2870
+ 1594115437,
2871
+ 572884632,
2872
+ 3385116731,
2873
+ 767645374,
2874
+ 1331858858,
2875
+ 1475698373,
2876
+ 3793881790,
2877
+ 3532746431,
2878
+ 1321687957,
2879
+ 619889600,
2880
+ 1121017241,
2881
+ 3440213920,
2882
+ 2070816767,
2883
+ 2833025776,
2884
+ 1933951238,
2885
+ 4095615791,
2886
+ 890643334,
2887
+ 3874130214,
2888
+ 859025556,
2889
+ 360630002,
2890
+ 925594799,
2891
+ 1764062180,
2892
+ 3920222280,
2893
+ 4078305929,
2894
+ 979562269,
2895
+ 2810700344,
2896
+ 4087740022,
2897
+ 1949714515,
2898
+ 546639971,
2899
+ 1165388173,
2900
+ 3069891591,
2901
+ 1495988560,
2902
+ 922170659,
2903
+ 1291546247,
2904
+ 2107952832,
2905
+ 1813327274,
2906
+ 3406010024,
2907
+ 3306028637,
2908
+ 4241950635,
2909
+ 153207855,
2910
+ 2313154747,
2911
+ 1608695416,
2912
+ 1150242611,
2913
+ 1967526857,
2914
+ 721801357,
2915
+ 1220138373,
2916
+ 3691287617,
2917
+ 3356069787,
2918
+ 2112743302,
2919
+ 3281662835,
2920
+ 1111556101,
2921
+ 1778980689,
2922
+ 250857638,
2923
+ 2298507990,
2924
+ 673216130,
2925
+ 2846488510,
2926
+ 3207751581,
2927
+ 3562756981,
2928
+ 3008625920,
2929
+ 3417367384,
2930
+ 2198807050,
2931
+ 529510932,
2932
+ 3547516680,
2933
+ 3426503187,
2934
+ 2364944742,
2935
+ 102533054,
2936
+ 2294910856,
2937
+ 1617093527,
2938
+ 1204784762,
2939
+ 3066581635,
2940
+ 1019391227,
2941
+ 1069574518,
2942
+ 1317995090,
2943
+ 1691889997,
2944
+ 3661132003,
2945
+ 510022745,
2946
+ 3238594800,
2947
+ 1362108837,
2948
+ 1817929911,
2949
+ 2184153760,
2950
+ 805817662,
2951
+ 1953603311,
2952
+ 3699844737,
2953
+ 120799444,
2954
+ 2118332377,
2955
+ 207536705,
2956
+ 2282301548,
2957
+ 4120041617,
2958
+ 145305846,
2959
+ 2508124933,
2960
+ 3086745533,
2961
+ 3261524335,
2962
+ 1877257368,
2963
+ 2977164480,
2964
+ 3160454186,
2965
+ 2503252186,
2966
+ 4221677074,
2967
+ 759945014,
2968
+ 254147243,
2969
+ 2767453419,
2970
+ 3801518371,
2971
+ 629083197,
2972
+ 2471014217,
2973
+ 907280572,
2974
+ 3900796746,
2975
+ 940896768,
2976
+ 2751021123,
2977
+ 2625262786,
2978
+ 3161476951,
2979
+ 3661752313,
2980
+ 3260732218,
2981
+ 1425318020,
2982
+ 2977912069,
2983
+ 1496677566,
2984
+ 3988592072,
2985
+ 2140652971,
2986
+ 3126511541,
2987
+ 3069632175,
2988
+ 977771578,
2989
+ 1392695845,
2990
+ 1698528874,
2991
+ 1411812681,
2992
+ 1369733098,
2993
+ 1343739227,
2994
+ 3620887944,
2995
+ 1142123638,
2996
+ 67414216,
2997
+ 3102056737,
2998
+ 3088749194,
2999
+ 1626167401,
3000
+ 2546293654,
3001
+ 3941374235,
3002
+ 697522451,
3003
+ 33404913,
3004
+ 143560186,
3005
+ 2595682037,
3006
+ 994885535,
3007
+ 1247667115,
3008
+ 3859094837,
3009
+ 2699155541,
3010
+ 3547024625,
3011
+ 4114935275,
3012
+ 2968073508,
3013
+ 3199963069,
3014
+ 2732024527,
3015
+ 1237921620,
3016
+ 951448369,
3017
+ 1898488916,
3018
+ 1211705605,
3019
+ 2790989240,
3020
+ 2233243581,
3021
+ 3598044975
3022
+ ];
3023
+ sBox[6] = [
3024
+ 2246066201,
3025
+ 858518887,
3026
+ 1714274303,
3027
+ 3485882003,
3028
+ 713916271,
3029
+ 2879113490,
3030
+ 3730835617,
3031
+ 539548191,
3032
+ 36158695,
3033
+ 1298409750,
3034
+ 419087104,
3035
+ 1358007170,
3036
+ 749914897,
3037
+ 2989680476,
3038
+ 1261868530,
3039
+ 2995193822,
3040
+ 2690628854,
3041
+ 3443622377,
3042
+ 3780124940,
3043
+ 3796824509,
3044
+ 2976433025,
3045
+ 4259637129,
3046
+ 1551479e3,
3047
+ 512490819,
3048
+ 1296650241,
3049
+ 951993153,
3050
+ 2436689437,
3051
+ 2460458047,
3052
+ 144139966,
3053
+ 3136204276,
3054
+ 310820559,
3055
+ 3068840729,
3056
+ 643875328,
3057
+ 1969602020,
3058
+ 1680088954,
3059
+ 2185813161,
3060
+ 3283332454,
3061
+ 672358534,
3062
+ 198762408,
3063
+ 896343282,
3064
+ 276269502,
3065
+ 3014846926,
3066
+ 84060815,
3067
+ 197145886,
3068
+ 376173866,
3069
+ 3943890818,
3070
+ 3813173521,
3071
+ 3545068822,
3072
+ 1316698879,
3073
+ 1598252827,
3074
+ 2633424951,
3075
+ 1233235075,
3076
+ 859989710,
3077
+ 2358460855,
3078
+ 3503838400,
3079
+ 3409603720,
3080
+ 1203513385,
3081
+ 1193654839,
3082
+ 2792018475,
3083
+ 2060853022,
3084
+ 207403770,
3085
+ 1144516871,
3086
+ 3068631394,
3087
+ 1121114134,
3088
+ 177607304,
3089
+ 3785736302,
3090
+ 326409831,
3091
+ 1929119770,
3092
+ 2983279095,
3093
+ 4183308101,
3094
+ 3474579288,
3095
+ 3200513878,
3096
+ 3228482096,
3097
+ 119610148,
3098
+ 1170376745,
3099
+ 3378393471,
3100
+ 3163473169,
3101
+ 951863017,
3102
+ 3337026068,
3103
+ 3135789130,
3104
+ 2907618374,
3105
+ 1183797387,
3106
+ 2015970143,
3107
+ 4045674555,
3108
+ 2182986399,
3109
+ 2952138740,
3110
+ 3928772205,
3111
+ 384012900,
3112
+ 2454997643,
3113
+ 10178499,
3114
+ 2879818989,
3115
+ 2596892536,
3116
+ 111523738,
3117
+ 2995089006,
3118
+ 451689641,
3119
+ 3196290696,
3120
+ 235406569,
3121
+ 1441906262,
3122
+ 3890558523,
3123
+ 3013735005,
3124
+ 4158569349,
3125
+ 1644036924,
3126
+ 376726067,
3127
+ 1006849064,
3128
+ 3664579700,
3129
+ 2041234796,
3130
+ 1021632941,
3131
+ 1374734338,
3132
+ 2566452058,
3133
+ 371631263,
3134
+ 4007144233,
3135
+ 490221539,
3136
+ 206551450,
3137
+ 3140638584,
3138
+ 1053219195,
3139
+ 1853335209,
3140
+ 3412429660,
3141
+ 3562156231,
3142
+ 735133835,
3143
+ 1623211703,
3144
+ 3104214392,
3145
+ 2738312436,
3146
+ 4096837757,
3147
+ 3366392578,
3148
+ 3110964274,
3149
+ 3956598718,
3150
+ 3196820781,
3151
+ 2038037254,
3152
+ 3877786376,
3153
+ 2339753847,
3154
+ 300912036,
3155
+ 3766732888,
3156
+ 2372630639,
3157
+ 1516443558,
3158
+ 4200396704,
3159
+ 1574567987,
3160
+ 4069441456,
3161
+ 4122592016,
3162
+ 2699739776,
3163
+ 146372218,
3164
+ 2748961456,
3165
+ 2043888151,
3166
+ 35287437,
3167
+ 2596680554,
3168
+ 655490400,
3169
+ 1132482787,
3170
+ 110692520,
3171
+ 1031794116,
3172
+ 2188192751,
3173
+ 1324057718,
3174
+ 1217253157,
3175
+ 919197030,
3176
+ 686247489,
3177
+ 3261139658,
3178
+ 1028237775,
3179
+ 3135486431,
3180
+ 3059715558,
3181
+ 2460921700,
3182
+ 986174950,
3183
+ 2661811465,
3184
+ 4062904701,
3185
+ 2752986992,
3186
+ 3709736643,
3187
+ 367056889,
3188
+ 1353824391,
3189
+ 731860949,
3190
+ 1650113154,
3191
+ 1778481506,
3192
+ 784341916,
3193
+ 357075625,
3194
+ 3608602432,
3195
+ 1074092588,
3196
+ 2480052770,
3197
+ 3811426202,
3198
+ 92751289,
3199
+ 877911070,
3200
+ 3600361838,
3201
+ 1231880047,
3202
+ 480201094,
3203
+ 3756190983,
3204
+ 3094495953,
3205
+ 434011822,
3206
+ 87971354,
3207
+ 363687820,
3208
+ 1717726236,
3209
+ 1901380172,
3210
+ 3926403882,
3211
+ 2481662265,
3212
+ 400339184,
3213
+ 1490350766,
3214
+ 2661455099,
3215
+ 1389319756,
3216
+ 2558787174,
3217
+ 784598401,
3218
+ 1983468483,
3219
+ 30828846,
3220
+ 3550527752,
3221
+ 2716276238,
3222
+ 3841122214,
3223
+ 1765724805,
3224
+ 1955612312,
3225
+ 1277890269,
3226
+ 1333098070,
3227
+ 1564029816,
3228
+ 2704417615,
3229
+ 1026694237,
3230
+ 3287671188,
3231
+ 1260819201,
3232
+ 3349086767,
3233
+ 1016692350,
3234
+ 1582273796,
3235
+ 1073413053,
3236
+ 1995943182,
3237
+ 694588404,
3238
+ 1025494639,
3239
+ 3323872702,
3240
+ 3551898420,
3241
+ 4146854327,
3242
+ 453260480,
3243
+ 1316140391,
3244
+ 1435673405,
3245
+ 3038941953,
3246
+ 3486689407,
3247
+ 1622062951,
3248
+ 403978347,
3249
+ 817677117,
3250
+ 950059133,
3251
+ 4246079218,
3252
+ 3278066075,
3253
+ 1486738320,
3254
+ 1417279718,
3255
+ 481875527,
3256
+ 2549965225,
3257
+ 3933690356,
3258
+ 760697757,
3259
+ 1452955855,
3260
+ 3897451437,
3261
+ 1177426808,
3262
+ 1702951038,
3263
+ 4085348628,
3264
+ 2447005172,
3265
+ 1084371187,
3266
+ 3516436277,
3267
+ 3068336338,
3268
+ 1073369276,
3269
+ 1027665953,
3270
+ 3284188590,
3271
+ 1230553676,
3272
+ 1368340146,
3273
+ 2226246512,
3274
+ 267243139,
3275
+ 2274220762,
3276
+ 4070734279,
3277
+ 2497715176,
3278
+ 2423353163,
3279
+ 2504755875
3280
+ ];
3281
+ sBox[7] = [
3282
+ 3793104909,
3283
+ 3151888380,
3284
+ 2817252029,
3285
+ 895778965,
3286
+ 2005530807,
3287
+ 3871412763,
3288
+ 237245952,
3289
+ 86829237,
3290
+ 296341424,
3291
+ 3851759377,
3292
+ 3974600970,
3293
+ 2475086196,
3294
+ 709006108,
3295
+ 1994621201,
3296
+ 2972577594,
3297
+ 937287164,
3298
+ 3734691505,
3299
+ 168608556,
3300
+ 3189338153,
3301
+ 2225080640,
3302
+ 3139713551,
3303
+ 3033610191,
3304
+ 3025041904,
3305
+ 77524477,
3306
+ 185966941,
3307
+ 1208824168,
3308
+ 2344345178,
3309
+ 1721625922,
3310
+ 3354191921,
3311
+ 1066374631,
3312
+ 1927223579,
3313
+ 1971335949,
3314
+ 2483503697,
3315
+ 1551748602,
3316
+ 2881383779,
3317
+ 2856329572,
3318
+ 3003241482,
3319
+ 48746954,
3320
+ 1398218158,
3321
+ 2050065058,
3322
+ 313056748,
3323
+ 4255789917,
3324
+ 393167848,
3325
+ 1912293076,
3326
+ 940740642,
3327
+ 3465845460,
3328
+ 3091687853,
3329
+ 2522601570,
3330
+ 2197016661,
3331
+ 1727764327,
3332
+ 364383054,
3333
+ 492521376,
3334
+ 1291706479,
3335
+ 3264136376,
3336
+ 1474851438,
3337
+ 1685747964,
3338
+ 2575719748,
3339
+ 1619776915,
3340
+ 1814040067,
3341
+ 970743798,
3342
+ 1561002147,
3343
+ 2925768690,
3344
+ 2123093554,
3345
+ 1880132620,
3346
+ 3151188041,
3347
+ 697884420,
3348
+ 2550985770,
3349
+ 2607674513,
3350
+ 2659114323,
3351
+ 110200136,
3352
+ 1489731079,
3353
+ 997519150,
3354
+ 1378877361,
3355
+ 3527870668,
3356
+ 478029773,
3357
+ 2766872923,
3358
+ 1022481122,
3359
+ 431258168,
3360
+ 1112503832,
3361
+ 897933369,
3362
+ 2635587303,
3363
+ 669726182,
3364
+ 3383752315,
3365
+ 918222264,
3366
+ 163866573,
3367
+ 3246985393,
3368
+ 3776823163,
3369
+ 114105080,
3370
+ 1903216136,
3371
+ 761148244,
3372
+ 3571337562,
3373
+ 1690750982,
3374
+ 3166750252,
3375
+ 1037045171,
3376
+ 1888456500,
3377
+ 2010454850,
3378
+ 642736655,
3379
+ 616092351,
3380
+ 365016990,
3381
+ 1185228132,
3382
+ 4174898510,
3383
+ 1043824992,
3384
+ 2023083429,
3385
+ 2241598885,
3386
+ 3863320456,
3387
+ 3279669087,
3388
+ 3674716684,
3389
+ 108438443,
3390
+ 2132974366,
3391
+ 830746235,
3392
+ 606445527,
3393
+ 4173263986,
3394
+ 2204105912,
3395
+ 1844756978,
3396
+ 2532684181,
3397
+ 4245352700,
3398
+ 2969441100,
3399
+ 3796921661,
3400
+ 1335562986,
3401
+ 4061524517,
3402
+ 2720232303,
3403
+ 2679424040,
3404
+ 634407289,
3405
+ 885462008,
3406
+ 3294724487,
3407
+ 3933892248,
3408
+ 2094100220,
3409
+ 339117932,
3410
+ 4048830727,
3411
+ 3202280980,
3412
+ 1458155303,
3413
+ 2689246273,
3414
+ 1022871705,
3415
+ 2464987878,
3416
+ 3714515309,
3417
+ 353796843,
3418
+ 2822958815,
3419
+ 4256850100,
3420
+ 4052777845,
3421
+ 551748367,
3422
+ 618185374,
3423
+ 3778635579,
3424
+ 4020649912,
3425
+ 1904685140,
3426
+ 3069366075,
3427
+ 2670879810,
3428
+ 3407193292,
3429
+ 2954511620,
3430
+ 4058283405,
3431
+ 2219449317,
3432
+ 3135758300,
3433
+ 1120655984,
3434
+ 3447565834,
3435
+ 1474845562,
3436
+ 3577699062,
3437
+ 550456716,
3438
+ 3466908712,
3439
+ 2043752612,
3440
+ 881257467,
3441
+ 869518812,
3442
+ 2005220179,
3443
+ 938474677,
3444
+ 3305539448,
3445
+ 3850417126,
3446
+ 1315485940,
3447
+ 3318264702,
3448
+ 226533026,
3449
+ 965733244,
3450
+ 321539988,
3451
+ 1136104718,
3452
+ 804158748,
3453
+ 573969341,
3454
+ 3708209826,
3455
+ 937399083,
3456
+ 3290727049,
3457
+ 2901666755,
3458
+ 1461057207,
3459
+ 4013193437,
3460
+ 4066861423,
3461
+ 3242773476,
3462
+ 2421326174,
3463
+ 1581322155,
3464
+ 3028952165,
3465
+ 786071460,
3466
+ 3900391652,
3467
+ 3918438532,
3468
+ 1485433313,
3469
+ 4023619836,
3470
+ 3708277595,
3471
+ 3678951060,
3472
+ 953673138,
3473
+ 1467089153,
3474
+ 1930354364,
3475
+ 1533292819,
3476
+ 2492563023,
3477
+ 1346121658,
3478
+ 1685000834,
3479
+ 1965281866,
3480
+ 3765933717,
3481
+ 4190206607,
3482
+ 2052792609,
3483
+ 3515332758,
3484
+ 690371149,
3485
+ 3125873887,
3486
+ 2180283551,
3487
+ 2903598061,
3488
+ 3933952357,
3489
+ 436236910,
3490
+ 289419410,
3491
+ 14314871,
3492
+ 1242357089,
3493
+ 2904507907,
3494
+ 1616633776,
3495
+ 2666382180,
3496
+ 585885352,
3497
+ 3471299210,
3498
+ 2699507360,
3499
+ 1432659641,
3500
+ 277164553,
3501
+ 3354103607,
3502
+ 770115018,
3503
+ 2303809295,
3504
+ 3741942315,
3505
+ 3177781868,
3506
+ 2853364978,
3507
+ 2269453327,
3508
+ 3774259834,
3509
+ 987383833,
3510
+ 1290892879,
3511
+ 225909803,
3512
+ 1741533526,
3513
+ 890078084,
3514
+ 1496906255,
3515
+ 1111072499,
3516
+ 916028167,
3517
+ 243534141,
3518
+ 1252605537,
3519
+ 2204162171,
3520
+ 531204876,
3521
+ 290011180,
3522
+ 3916834213,
3523
+ 102027703,
3524
+ 237315147,
3525
+ 209093447,
3526
+ 1486785922,
3527
+ 220223953,
3528
+ 2758195998,
3529
+ 4175039106,
3530
+ 82940208,
3531
+ 3127791296,
3532
+ 2569425252,
3533
+ 518464269,
3534
+ 1353887104,
3535
+ 3941492737,
3536
+ 2377294467,
3537
+ 3935040926
3538
+ ];
3539
+ }
3540
+ function CAST5(key) {
3541
+ this.cast5 = new OpenPGPSymEncCAST5();
3542
+ this.cast5.setKey(key);
3543
+ this.encrypt = function(block) {
3544
+ return this.cast5.encrypt(block);
3545
+ };
3546
+ }
3547
+ CAST5.blockSize = CAST5.prototype.blockSize = 8;
3548
+ CAST5.keySize = CAST5.prototype.keySize = 16;
3549
+ /**
3550
+ * @access private
3551
+ * Modified by Recurity Labs GmbH
3552
+ *
3553
+ * Cipher.js
3554
+ * A block-cipher algorithm implementation on JavaScript
3555
+ * See Cipher.readme.txt for further information.
3556
+ *
3557
+ * Copyright(c) 2009 Atsushi Oka [ http://oka.nu/ ]
3558
+ * This script file is distributed under the LGPL
3559
+ *
3560
+ * ACKNOWLEDGMENT
3561
+ *
3562
+ * The main subroutines are written by Michiel van Everdingen.
3563
+ *
3564
+ * Michiel van Everdingen
3565
+ * http://home.versatel.nl/MAvanEverdingen/index.html
3566
+ *
3567
+ * All rights for these routines are reserved to Michiel van Everdingen.
3568
+ *
3569
+ */
3570
+ var MAXINT = 4294967295;
3571
+ function rotw(w, n) {
3572
+ return (w << n | w >>> 32 - n) & MAXINT;
3573
+ }
3574
+ function getW(a, i) {
3575
+ return a[i] | a[i + 1] << 8 | a[i + 2] << 16 | a[i + 3] << 24;
3576
+ }
3577
+ function setW(a, i, w) {
3578
+ a.splice(i, 4, w & 255, w >>> 8 & 255, w >>> 16 & 255, w >>> 24 & 255);
3579
+ }
3580
+ function getB(x, n) {
3581
+ return x >>> n * 8 & 255;
3582
+ }
3583
+ function createTwofish() {
3584
+ let keyBytes = null;
3585
+ let dataBytes = null;
3586
+ let dataOffset = -1;
3587
+ let tfsKey = [];
3588
+ let tfsM = [
3589
+ [],
3590
+ [],
3591
+ [],
3592
+ []
3593
+ ];
3594
+ function tfsInit(key) {
3595
+ keyBytes = key;
3596
+ let i;
3597
+ let a;
3598
+ let b;
3599
+ let c;
3600
+ let d;
3601
+ const meKey = [];
3602
+ const moKey = [];
3603
+ const inKey = [];
3604
+ let kLen;
3605
+ const sKey = [];
3606
+ let f01;
3607
+ let f5b;
3608
+ let fef;
3609
+ const q0 = [[
3610
+ 8,
3611
+ 1,
3612
+ 7,
3613
+ 13,
3614
+ 6,
3615
+ 15,
3616
+ 3,
3617
+ 2,
3618
+ 0,
3619
+ 11,
3620
+ 5,
3621
+ 9,
3622
+ 14,
3623
+ 12,
3624
+ 10,
3625
+ 4
3626
+ ], [
3627
+ 2,
3628
+ 8,
3629
+ 11,
3630
+ 13,
3631
+ 15,
3632
+ 7,
3633
+ 6,
3634
+ 14,
3635
+ 3,
3636
+ 1,
3637
+ 9,
3638
+ 4,
3639
+ 0,
3640
+ 10,
3641
+ 12,
3642
+ 5
3643
+ ]];
3644
+ const q1 = [[
3645
+ 14,
3646
+ 12,
3647
+ 11,
3648
+ 8,
3649
+ 1,
3650
+ 2,
3651
+ 3,
3652
+ 5,
3653
+ 15,
3654
+ 4,
3655
+ 10,
3656
+ 6,
3657
+ 7,
3658
+ 0,
3659
+ 9,
3660
+ 13
3661
+ ], [
3662
+ 1,
3663
+ 14,
3664
+ 2,
3665
+ 11,
3666
+ 4,
3667
+ 12,
3668
+ 3,
3669
+ 7,
3670
+ 6,
3671
+ 13,
3672
+ 10,
3673
+ 5,
3674
+ 15,
3675
+ 9,
3676
+ 0,
3677
+ 8
3678
+ ]];
3679
+ const q2 = [[
3680
+ 11,
3681
+ 10,
3682
+ 5,
3683
+ 14,
3684
+ 6,
3685
+ 13,
3686
+ 9,
3687
+ 0,
3688
+ 12,
3689
+ 8,
3690
+ 15,
3691
+ 3,
3692
+ 2,
3693
+ 4,
3694
+ 7,
3695
+ 1
3696
+ ], [
3697
+ 4,
3698
+ 12,
3699
+ 7,
3700
+ 5,
3701
+ 1,
3702
+ 6,
3703
+ 9,
3704
+ 10,
3705
+ 0,
3706
+ 14,
3707
+ 13,
3708
+ 8,
3709
+ 2,
3710
+ 11,
3711
+ 3,
3712
+ 15
3713
+ ]];
3714
+ const q3 = [[
3715
+ 13,
3716
+ 7,
3717
+ 15,
3718
+ 4,
3719
+ 1,
3720
+ 2,
3721
+ 6,
3722
+ 14,
3723
+ 9,
3724
+ 11,
3725
+ 3,
3726
+ 0,
3727
+ 8,
3728
+ 5,
3729
+ 12,
3730
+ 10
3731
+ ], [
3732
+ 11,
3733
+ 9,
3734
+ 5,
3735
+ 1,
3736
+ 12,
3737
+ 3,
3738
+ 13,
3739
+ 14,
3740
+ 6,
3741
+ 4,
3742
+ 7,
3743
+ 15,
3744
+ 2,
3745
+ 0,
3746
+ 8,
3747
+ 10
3748
+ ]];
3749
+ const ror4 = [
3750
+ 0,
3751
+ 8,
3752
+ 1,
3753
+ 9,
3754
+ 2,
3755
+ 10,
3756
+ 3,
3757
+ 11,
3758
+ 4,
3759
+ 12,
3760
+ 5,
3761
+ 13,
3762
+ 6,
3763
+ 14,
3764
+ 7,
3765
+ 15
3766
+ ];
3767
+ const ashx = [
3768
+ 0,
3769
+ 9,
3770
+ 2,
3771
+ 11,
3772
+ 4,
3773
+ 13,
3774
+ 6,
3775
+ 15,
3776
+ 8,
3777
+ 1,
3778
+ 10,
3779
+ 3,
3780
+ 12,
3781
+ 5,
3782
+ 14,
3783
+ 7
3784
+ ];
3785
+ /** @type {number[][]} */
3786
+ const q = [[], []];
3787
+ const m = [
3788
+ [],
3789
+ [],
3790
+ [],
3791
+ []
3792
+ ];
3793
+ function ffm5b(x) {
3794
+ return x ^ x >> 2 ^ [
3795
+ 0,
3796
+ 90,
3797
+ 180,
3798
+ 238
3799
+ ][x & 3];
3800
+ }
3801
+ function ffmEf(x) {
3802
+ return x ^ x >> 1 ^ x >> 2 ^ [
3803
+ 0,
3804
+ 238,
3805
+ 180,
3806
+ 90
3807
+ ][x & 3];
3808
+ }
3809
+ function mdsRem(p, q) {
3810
+ let i;
3811
+ let t;
3812
+ let u;
3813
+ for (i = 0; i < 8; i++) {
3814
+ t = q >>> 24;
3815
+ q = q << 8 & MAXINT | p >>> 24;
3816
+ p = p << 8 & MAXINT;
3817
+ u = t << 1;
3818
+ if (t & 128) u ^= 333;
3819
+ q ^= t ^ u << 16;
3820
+ u ^= t >>> 1;
3821
+ if (t & 1) u ^= 166;
3822
+ q ^= u << 24 | u << 8;
3823
+ }
3824
+ return q;
3825
+ }
3826
+ function qp(n, x) {
3827
+ const a = x >> 4;
3828
+ const b = x & 15;
3829
+ const c = q0[n][a ^ b];
3830
+ const d = q1[n][ror4[b] ^ ashx[a]];
3831
+ return q3[n][ror4[d] ^ ashx[c]] << 4 | q2[n][c ^ d];
3832
+ }
3833
+ function hFun(x, key) {
3834
+ let a = getB(x, 0);
3835
+ let b = getB(x, 1);
3836
+ let c = getB(x, 2);
3837
+ let d = getB(x, 3);
3838
+ switch (kLen) {
3839
+ case 4:
3840
+ a = q[1][a] ^ getB(key[3], 0);
3841
+ b = q[0][b] ^ getB(key[3], 1);
3842
+ c = q[0][c] ^ getB(key[3], 2);
3843
+ d = q[1][d] ^ getB(key[3], 3);
3844
+ case 3:
3845
+ a = q[1][a] ^ getB(key[2], 0);
3846
+ b = q[1][b] ^ getB(key[2], 1);
3847
+ c = q[0][c] ^ getB(key[2], 2);
3848
+ d = q[0][d] ^ getB(key[2], 3);
3849
+ case 2:
3850
+ a = q[0][q[0][a] ^ getB(key[1], 0)] ^ getB(key[0], 0);
3851
+ b = q[0][q[1][b] ^ getB(key[1], 1)] ^ getB(key[0], 1);
3852
+ c = q[1][q[0][c] ^ getB(key[1], 2)] ^ getB(key[0], 2);
3853
+ d = q[1][q[1][d] ^ getB(key[1], 3)] ^ getB(key[0], 3);
3854
+ }
3855
+ return m[0][a] ^ m[1][b] ^ m[2][c] ^ m[3][d];
3856
+ }
3857
+ keyBytes = keyBytes.slice(0, 32);
3858
+ i = keyBytes.length;
3859
+ while (i !== 16 && i !== 24 && i !== 32) keyBytes[i++] = 0;
3860
+ for (i = 0; i < keyBytes.length; i += 4) inKey[i >> 2] = getW(keyBytes, i);
3861
+ for (i = 0; i < 256; i++) {
3862
+ q[0][i] = qp(0, i);
3863
+ q[1][i] = qp(1, i);
3864
+ }
3865
+ for (i = 0; i < 256; i++) {
3866
+ f01 = q[1][i];
3867
+ f5b = ffm5b(f01);
3868
+ fef = ffmEf(f01);
3869
+ m[0][i] = f01 + (f5b << 8) + (fef << 16) + (fef << 24);
3870
+ m[2][i] = f5b + (fef << 8) + (f01 << 16) + (fef << 24);
3871
+ f01 = q[0][i];
3872
+ f5b = ffm5b(f01);
3873
+ fef = ffmEf(f01);
3874
+ m[1][i] = fef + (fef << 8) + (f5b << 16) + (f01 << 24);
3875
+ m[3][i] = f5b + (f01 << 8) + (fef << 16) + (f5b << 24);
3876
+ }
3877
+ kLen = inKey.length / 2;
3878
+ for (i = 0; i < kLen; i++) {
3879
+ a = inKey[i + i];
3880
+ meKey[i] = a;
3881
+ b = inKey[i + i + 1];
3882
+ moKey[i] = b;
3883
+ sKey[kLen - i - 1] = mdsRem(a, b);
3884
+ }
3885
+ for (i = 0; i < 40; i += 2) {
3886
+ a = 16843009 * i;
3887
+ b = a + 16843009;
3888
+ a = hFun(a, meKey);
3889
+ b = rotw(hFun(b, moKey), 8);
3890
+ tfsKey[i] = a + b & MAXINT;
3891
+ tfsKey[i + 1] = rotw(a + 2 * b, 9);
3892
+ }
3893
+ for (i = 0; i < 256; i++) {
3894
+ a = b = c = d = i;
3895
+ switch (kLen) {
3896
+ case 4:
3897
+ a = q[1][a] ^ getB(sKey[3], 0);
3898
+ b = q[0][b] ^ getB(sKey[3], 1);
3899
+ c = q[0][c] ^ getB(sKey[3], 2);
3900
+ d = q[1][d] ^ getB(sKey[3], 3);
3901
+ case 3:
3902
+ a = q[1][a] ^ getB(sKey[2], 0);
3903
+ b = q[1][b] ^ getB(sKey[2], 1);
3904
+ c = q[0][c] ^ getB(sKey[2], 2);
3905
+ d = q[0][d] ^ getB(sKey[2], 3);
3906
+ case 2:
3907
+ tfsM[0][i] = m[0][q[0][q[0][a] ^ getB(sKey[1], 0)] ^ getB(sKey[0], 0)];
3908
+ tfsM[1][i] = m[1][q[0][q[1][b] ^ getB(sKey[1], 1)] ^ getB(sKey[0], 1)];
3909
+ tfsM[2][i] = m[2][q[1][q[0][c] ^ getB(sKey[1], 2)] ^ getB(sKey[0], 2)];
3910
+ tfsM[3][i] = m[3][q[1][q[1][d] ^ getB(sKey[1], 3)] ^ getB(sKey[0], 3)];
3911
+ }
3912
+ }
3913
+ }
3914
+ function tfsG0(x) {
3915
+ return tfsM[0][getB(x, 0)] ^ tfsM[1][getB(x, 1)] ^ tfsM[2][getB(x, 2)] ^ tfsM[3][getB(x, 3)];
3916
+ }
3917
+ function tfsG1(x) {
3918
+ return tfsM[0][getB(x, 3)] ^ tfsM[1][getB(x, 0)] ^ tfsM[2][getB(x, 1)] ^ tfsM[3][getB(x, 2)];
3919
+ }
3920
+ function tfsFrnd(r, blk) {
3921
+ let a = tfsG0(blk[0]);
3922
+ let b = tfsG1(blk[1]);
3923
+ blk[2] = rotw(blk[2] ^ a + b + tfsKey[4 * r + 8] & MAXINT, 31);
3924
+ blk[3] = rotw(blk[3], 1) ^ a + 2 * b + tfsKey[4 * r + 9] & MAXINT;
3925
+ a = tfsG0(blk[2]);
3926
+ b = tfsG1(blk[3]);
3927
+ blk[0] = rotw(blk[0] ^ a + b + tfsKey[4 * r + 10] & MAXINT, 31);
3928
+ blk[1] = rotw(blk[1], 1) ^ a + 2 * b + tfsKey[4 * r + 11] & MAXINT;
3929
+ }
3930
+ function tfsIrnd(i, blk) {
3931
+ let a = tfsG0(blk[0]);
3932
+ let b = tfsG1(blk[1]);
3933
+ blk[2] = rotw(blk[2], 1) ^ a + b + tfsKey[4 * i + 10] & MAXINT;
3934
+ blk[3] = rotw(blk[3] ^ a + 2 * b + tfsKey[4 * i + 11] & MAXINT, 31);
3935
+ a = tfsG0(blk[2]);
3936
+ b = tfsG1(blk[3]);
3937
+ blk[0] = rotw(blk[0], 1) ^ a + b + tfsKey[4 * i + 8] & MAXINT;
3938
+ blk[1] = rotw(blk[1] ^ a + 2 * b + tfsKey[4 * i + 9] & MAXINT, 31);
3939
+ }
3940
+ function tfsClose() {
3941
+ tfsKey = [];
3942
+ tfsM = [
3943
+ [],
3944
+ [],
3945
+ [],
3946
+ []
3947
+ ];
3948
+ }
3949
+ function tfsEncrypt(data, offset) {
3950
+ dataBytes = data;
3951
+ dataOffset = offset;
3952
+ const blk = [
3953
+ getW(dataBytes, dataOffset) ^ tfsKey[0],
3954
+ getW(dataBytes, dataOffset + 4) ^ tfsKey[1],
3955
+ getW(dataBytes, dataOffset + 8) ^ tfsKey[2],
3956
+ getW(dataBytes, dataOffset + 12) ^ tfsKey[3]
3957
+ ];
3958
+ for (let j = 0; j < 8; j++) tfsFrnd(j, blk);
3959
+ setW(dataBytes, dataOffset, blk[2] ^ tfsKey[4]);
3960
+ setW(dataBytes, dataOffset + 4, blk[3] ^ tfsKey[5]);
3961
+ setW(dataBytes, dataOffset + 8, blk[0] ^ tfsKey[6]);
3962
+ setW(dataBytes, dataOffset + 12, blk[1] ^ tfsKey[7]);
3963
+ dataOffset += 16;
3964
+ return dataBytes;
3965
+ }
3966
+ function tfsDecrypt(data, offset) {
3967
+ dataBytes = data;
3968
+ dataOffset = offset;
3969
+ const blk = [
3970
+ getW(dataBytes, dataOffset) ^ tfsKey[4],
3971
+ getW(dataBytes, dataOffset + 4) ^ tfsKey[5],
3972
+ getW(dataBytes, dataOffset + 8) ^ tfsKey[6],
3973
+ getW(dataBytes, dataOffset + 12) ^ tfsKey[7]
3974
+ ];
3975
+ for (let j = 7; j >= 0; j--) tfsIrnd(j, blk);
3976
+ setW(dataBytes, dataOffset, blk[2] ^ tfsKey[0]);
3977
+ setW(dataBytes, dataOffset + 4, blk[3] ^ tfsKey[1]);
3978
+ setW(dataBytes, dataOffset + 8, blk[0] ^ tfsKey[2]);
3979
+ setW(dataBytes, dataOffset + 12, blk[1] ^ tfsKey[3]);
3980
+ dataOffset += 16;
3981
+ }
3982
+ function tfsFinal() {
3983
+ return dataBytes;
3984
+ }
3985
+ return {
3986
+ name: "twofish",
3987
+ blocksize: 16,
3988
+ open: tfsInit,
3989
+ close: tfsClose,
3990
+ encrypt: tfsEncrypt,
3991
+ decrypt: tfsDecrypt,
3992
+ finalize: tfsFinal
3993
+ };
3994
+ }
3995
+ function TF(key) {
3996
+ this.tf = createTwofish();
3997
+ this.tf.open(Array.from(key), 0);
3998
+ this.encrypt = function(block) {
3999
+ return this.tf.encrypt(Array.from(block), 0);
4000
+ };
4001
+ }
4002
+ TF.keySize = TF.prototype.keySize = 32;
4003
+ TF.blockSize = TF.prototype.blockSize = 16;
4004
+ /**
4005
+ * @access private
4006
+ * Modified by Recurity Labs GmbH
4007
+ *
4008
+ * Originally written by nklein software (nklein.com)
4009
+ */
4010
+ function Blowfish() {}
4011
+ Blowfish.prototype.BLOCKSIZE = 8;
4012
+ Blowfish.prototype.SBOXES = [
4013
+ [
4014
+ 3509652390,
4015
+ 2564797868,
4016
+ 805139163,
4017
+ 3491422135,
4018
+ 3101798381,
4019
+ 1780907670,
4020
+ 3128725573,
4021
+ 4046225305,
4022
+ 614570311,
4023
+ 3012652279,
4024
+ 134345442,
4025
+ 2240740374,
4026
+ 1667834072,
4027
+ 1901547113,
4028
+ 2757295779,
4029
+ 4103290238,
4030
+ 227898511,
4031
+ 1921955416,
4032
+ 1904987480,
4033
+ 2182433518,
4034
+ 2069144605,
4035
+ 3260701109,
4036
+ 2620446009,
4037
+ 720527379,
4038
+ 3318853667,
4039
+ 677414384,
4040
+ 3393288472,
4041
+ 3101374703,
4042
+ 2390351024,
4043
+ 1614419982,
4044
+ 1822297739,
4045
+ 2954791486,
4046
+ 3608508353,
4047
+ 3174124327,
4048
+ 2024746970,
4049
+ 1432378464,
4050
+ 3864339955,
4051
+ 2857741204,
4052
+ 1464375394,
4053
+ 1676153920,
4054
+ 1439316330,
4055
+ 715854006,
4056
+ 3033291828,
4057
+ 289532110,
4058
+ 2706671279,
4059
+ 2087905683,
4060
+ 3018724369,
4061
+ 1668267050,
4062
+ 732546397,
4063
+ 1947742710,
4064
+ 3462151702,
4065
+ 2609353502,
4066
+ 2950085171,
4067
+ 1814351708,
4068
+ 2050118529,
4069
+ 680887927,
4070
+ 999245976,
4071
+ 1800124847,
4072
+ 3300911131,
4073
+ 1713906067,
4074
+ 1641548236,
4075
+ 4213287313,
4076
+ 1216130144,
4077
+ 1575780402,
4078
+ 4018429277,
4079
+ 3917837745,
4080
+ 3693486850,
4081
+ 3949271944,
4082
+ 596196993,
4083
+ 3549867205,
4084
+ 258830323,
4085
+ 2213823033,
4086
+ 772490370,
4087
+ 2760122372,
4088
+ 1774776394,
4089
+ 2652871518,
4090
+ 566650946,
4091
+ 4142492826,
4092
+ 1728879713,
4093
+ 2882767088,
4094
+ 1783734482,
4095
+ 3629395816,
4096
+ 2517608232,
4097
+ 2874225571,
4098
+ 1861159788,
4099
+ 326777828,
4100
+ 3124490320,
4101
+ 2130389656,
4102
+ 2716951837,
4103
+ 967770486,
4104
+ 1724537150,
4105
+ 2185432712,
4106
+ 2364442137,
4107
+ 1164943284,
4108
+ 2105845187,
4109
+ 998989502,
4110
+ 3765401048,
4111
+ 2244026483,
4112
+ 1075463327,
4113
+ 1455516326,
4114
+ 1322494562,
4115
+ 910128902,
4116
+ 469688178,
4117
+ 1117454909,
4118
+ 936433444,
4119
+ 3490320968,
4120
+ 3675253459,
4121
+ 1240580251,
4122
+ 122909385,
4123
+ 2157517691,
4124
+ 634681816,
4125
+ 4142456567,
4126
+ 3825094682,
4127
+ 3061402683,
4128
+ 2540495037,
4129
+ 79693498,
4130
+ 3249098678,
4131
+ 1084186820,
4132
+ 1583128258,
4133
+ 426386531,
4134
+ 1761308591,
4135
+ 1047286709,
4136
+ 322548459,
4137
+ 995290223,
4138
+ 1845252383,
4139
+ 2603652396,
4140
+ 3431023940,
4141
+ 2942221577,
4142
+ 3202600964,
4143
+ 3727903485,
4144
+ 1712269319,
4145
+ 422464435,
4146
+ 3234572375,
4147
+ 1170764815,
4148
+ 3523960633,
4149
+ 3117677531,
4150
+ 1434042557,
4151
+ 442511882,
4152
+ 3600875718,
4153
+ 1076654713,
4154
+ 1738483198,
4155
+ 4213154764,
4156
+ 2393238008,
4157
+ 3677496056,
4158
+ 1014306527,
4159
+ 4251020053,
4160
+ 793779912,
4161
+ 2902807211,
4162
+ 842905082,
4163
+ 4246964064,
4164
+ 1395751752,
4165
+ 1040244610,
4166
+ 2656851899,
4167
+ 3396308128,
4168
+ 445077038,
4169
+ 3742853595,
4170
+ 3577915638,
4171
+ 679411651,
4172
+ 2892444358,
4173
+ 2354009459,
4174
+ 1767581616,
4175
+ 3150600392,
4176
+ 3791627101,
4177
+ 3102740896,
4178
+ 284835224,
4179
+ 4246832056,
4180
+ 1258075500,
4181
+ 768725851,
4182
+ 2589189241,
4183
+ 3069724005,
4184
+ 3532540348,
4185
+ 1274779536,
4186
+ 3789419226,
4187
+ 2764799539,
4188
+ 1660621633,
4189
+ 3471099624,
4190
+ 4011903706,
4191
+ 913787905,
4192
+ 3497959166,
4193
+ 737222580,
4194
+ 2514213453,
4195
+ 2928710040,
4196
+ 3937242737,
4197
+ 1804850592,
4198
+ 3499020752,
4199
+ 2949064160,
4200
+ 2386320175,
4201
+ 2390070455,
4202
+ 2415321851,
4203
+ 4061277028,
4204
+ 2290661394,
4205
+ 2416832540,
4206
+ 1336762016,
4207
+ 1754252060,
4208
+ 3520065937,
4209
+ 3014181293,
4210
+ 791618072,
4211
+ 3188594551,
4212
+ 3933548030,
4213
+ 2332172193,
4214
+ 3852520463,
4215
+ 3043980520,
4216
+ 413987798,
4217
+ 3465142937,
4218
+ 3030929376,
4219
+ 4245938359,
4220
+ 2093235073,
4221
+ 3534596313,
4222
+ 375366246,
4223
+ 2157278981,
4224
+ 2479649556,
4225
+ 555357303,
4226
+ 3870105701,
4227
+ 2008414854,
4228
+ 3344188149,
4229
+ 4221384143,
4230
+ 3956125452,
4231
+ 2067696032,
4232
+ 3594591187,
4233
+ 2921233993,
4234
+ 2428461,
4235
+ 544322398,
4236
+ 577241275,
4237
+ 1471733935,
4238
+ 610547355,
4239
+ 4027169054,
4240
+ 1432588573,
4241
+ 1507829418,
4242
+ 2025931657,
4243
+ 3646575487,
4244
+ 545086370,
4245
+ 48609733,
4246
+ 2200306550,
4247
+ 1653985193,
4248
+ 298326376,
4249
+ 1316178497,
4250
+ 3007786442,
4251
+ 2064951626,
4252
+ 458293330,
4253
+ 2589141269,
4254
+ 3591329599,
4255
+ 3164325604,
4256
+ 727753846,
4257
+ 2179363840,
4258
+ 146436021,
4259
+ 1461446943,
4260
+ 4069977195,
4261
+ 705550613,
4262
+ 3059967265,
4263
+ 3887724982,
4264
+ 4281599278,
4265
+ 3313849956,
4266
+ 1404054877,
4267
+ 2845806497,
4268
+ 146425753,
4269
+ 1854211946
4270
+ ],
4271
+ [
4272
+ 1266315497,
4273
+ 3048417604,
4274
+ 3681880366,
4275
+ 3289982499,
4276
+ 290971e4,
4277
+ 1235738493,
4278
+ 2632868024,
4279
+ 2414719590,
4280
+ 3970600049,
4281
+ 1771706367,
4282
+ 1449415276,
4283
+ 3266420449,
4284
+ 422970021,
4285
+ 1963543593,
4286
+ 2690192192,
4287
+ 3826793022,
4288
+ 1062508698,
4289
+ 1531092325,
4290
+ 1804592342,
4291
+ 2583117782,
4292
+ 2714934279,
4293
+ 4024971509,
4294
+ 1294809318,
4295
+ 4028980673,
4296
+ 1289560198,
4297
+ 2221992742,
4298
+ 1669523910,
4299
+ 35572830,
4300
+ 157838143,
4301
+ 1052438473,
4302
+ 1016535060,
4303
+ 1802137761,
4304
+ 1753167236,
4305
+ 1386275462,
4306
+ 3080475397,
4307
+ 2857371447,
4308
+ 1040679964,
4309
+ 2145300060,
4310
+ 2390574316,
4311
+ 1461121720,
4312
+ 2956646967,
4313
+ 4031777805,
4314
+ 4028374788,
4315
+ 33600511,
4316
+ 2920084762,
4317
+ 1018524850,
4318
+ 629373528,
4319
+ 3691585981,
4320
+ 3515945977,
4321
+ 2091462646,
4322
+ 2486323059,
4323
+ 586499841,
4324
+ 988145025,
4325
+ 935516892,
4326
+ 3367335476,
4327
+ 2599673255,
4328
+ 2839830854,
4329
+ 265290510,
4330
+ 3972581182,
4331
+ 2759138881,
4332
+ 3795373465,
4333
+ 1005194799,
4334
+ 847297441,
4335
+ 406762289,
4336
+ 1314163512,
4337
+ 1332590856,
4338
+ 1866599683,
4339
+ 4127851711,
4340
+ 750260880,
4341
+ 613907577,
4342
+ 1450815602,
4343
+ 3165620655,
4344
+ 3734664991,
4345
+ 3650291728,
4346
+ 3012275730,
4347
+ 3704569646,
4348
+ 1427272223,
4349
+ 778793252,
4350
+ 1343938022,
4351
+ 2676280711,
4352
+ 2052605720,
4353
+ 1946737175,
4354
+ 3164576444,
4355
+ 3914038668,
4356
+ 3967478842,
4357
+ 3682934266,
4358
+ 1661551462,
4359
+ 3294938066,
4360
+ 4011595847,
4361
+ 840292616,
4362
+ 3712170807,
4363
+ 616741398,
4364
+ 312560963,
4365
+ 711312465,
4366
+ 1351876610,
4367
+ 322626781,
4368
+ 1910503582,
4369
+ 271666773,
4370
+ 2175563734,
4371
+ 1594956187,
4372
+ 70604529,
4373
+ 3617834859,
4374
+ 1007753275,
4375
+ 1495573769,
4376
+ 4069517037,
4377
+ 2549218298,
4378
+ 2663038764,
4379
+ 504708206,
4380
+ 2263041392,
4381
+ 3941167025,
4382
+ 2249088522,
4383
+ 1514023603,
4384
+ 1998579484,
4385
+ 1312622330,
4386
+ 694541497,
4387
+ 2582060303,
4388
+ 2151582166,
4389
+ 1382467621,
4390
+ 776784248,
4391
+ 2618340202,
4392
+ 3323268794,
4393
+ 2497899128,
4394
+ 2784771155,
4395
+ 503983604,
4396
+ 4076293799,
4397
+ 907881277,
4398
+ 423175695,
4399
+ 432175456,
4400
+ 1378068232,
4401
+ 4145222326,
4402
+ 3954048622,
4403
+ 3938656102,
4404
+ 3820766613,
4405
+ 2793130115,
4406
+ 2977904593,
4407
+ 26017576,
4408
+ 3274890735,
4409
+ 3194772133,
4410
+ 1700274565,
4411
+ 1756076034,
4412
+ 4006520079,
4413
+ 3677328699,
4414
+ 720338349,
4415
+ 1533947780,
4416
+ 354530856,
4417
+ 688349552,
4418
+ 3973924725,
4419
+ 1637815568,
4420
+ 332179504,
4421
+ 3949051286,
4422
+ 53804574,
4423
+ 2852348879,
4424
+ 3044236432,
4425
+ 1282449977,
4426
+ 3583942155,
4427
+ 3416972820,
4428
+ 4006381244,
4429
+ 1617046695,
4430
+ 2628476075,
4431
+ 3002303598,
4432
+ 1686838959,
4433
+ 431878346,
4434
+ 2686675385,
4435
+ 1700445008,
4436
+ 1080580658,
4437
+ 1009431731,
4438
+ 832498133,
4439
+ 3223435511,
4440
+ 2605976345,
4441
+ 2271191193,
4442
+ 2516031870,
4443
+ 1648197032,
4444
+ 4164389018,
4445
+ 2548247927,
4446
+ 300782431,
4447
+ 375919233,
4448
+ 238389289,
4449
+ 3353747414,
4450
+ 2531188641,
4451
+ 2019080857,
4452
+ 1475708069,
4453
+ 455242339,
4454
+ 2609103871,
4455
+ 448939670,
4456
+ 3451063019,
4457
+ 1395535956,
4458
+ 2413381860,
4459
+ 1841049896,
4460
+ 1491858159,
4461
+ 885456874,
4462
+ 4264095073,
4463
+ 4001119347,
4464
+ 1565136089,
4465
+ 3898914787,
4466
+ 1108368660,
4467
+ 540939232,
4468
+ 1173283510,
4469
+ 2745871338,
4470
+ 3681308437,
4471
+ 4207628240,
4472
+ 3343053890,
4473
+ 4016749493,
4474
+ 1699691293,
4475
+ 1103962373,
4476
+ 3625875870,
4477
+ 2256883143,
4478
+ 3830138730,
4479
+ 1031889488,
4480
+ 3479347698,
4481
+ 1535977030,
4482
+ 4236805024,
4483
+ 3251091107,
4484
+ 2132092099,
4485
+ 1774941330,
4486
+ 1199868427,
4487
+ 1452454533,
4488
+ 157007616,
4489
+ 2904115357,
4490
+ 342012276,
4491
+ 595725824,
4492
+ 1480756522,
4493
+ 206960106,
4494
+ 497939518,
4495
+ 591360097,
4496
+ 863170706,
4497
+ 2375253569,
4498
+ 3596610801,
4499
+ 1814182875,
4500
+ 2094937945,
4501
+ 3421402208,
4502
+ 1082520231,
4503
+ 3463918190,
4504
+ 2785509508,
4505
+ 435703966,
4506
+ 3908032597,
4507
+ 1641649973,
4508
+ 2842273706,
4509
+ 3305899714,
4510
+ 1510255612,
4511
+ 2148256476,
4512
+ 2655287854,
4513
+ 3276092548,
4514
+ 4258621189,
4515
+ 236887753,
4516
+ 3681803219,
4517
+ 274041037,
4518
+ 1734335097,
4519
+ 3815195456,
4520
+ 3317970021,
4521
+ 1899903192,
4522
+ 1026095262,
4523
+ 4050517792,
4524
+ 356393447,
4525
+ 2410691914,
4526
+ 3873677099,
4527
+ 3682840055
4528
+ ],
4529
+ [
4530
+ 3913112168,
4531
+ 2491498743,
4532
+ 4132185628,
4533
+ 2489919796,
4534
+ 1091903735,
4535
+ 1979897079,
4536
+ 3170134830,
4537
+ 3567386728,
4538
+ 3557303409,
4539
+ 857797738,
4540
+ 1136121015,
4541
+ 1342202287,
4542
+ 507115054,
4543
+ 2535736646,
4544
+ 337727348,
4545
+ 3213592640,
4546
+ 1301675037,
4547
+ 2528481711,
4548
+ 1895095763,
4549
+ 1721773893,
4550
+ 3216771564,
4551
+ 62756741,
4552
+ 2142006736,
4553
+ 835421444,
4554
+ 2531993523,
4555
+ 1442658625,
4556
+ 3659876326,
4557
+ 2882144922,
4558
+ 676362277,
4559
+ 1392781812,
4560
+ 170690266,
4561
+ 3921047035,
4562
+ 1759253602,
4563
+ 3611846912,
4564
+ 1745797284,
4565
+ 664899054,
4566
+ 1329594018,
4567
+ 3901205900,
4568
+ 3045908486,
4569
+ 2062866102,
4570
+ 2865634940,
4571
+ 3543621612,
4572
+ 3464012697,
4573
+ 1080764994,
4574
+ 553557557,
4575
+ 3656615353,
4576
+ 3996768171,
4577
+ 991055499,
4578
+ 499776247,
4579
+ 1265440854,
4580
+ 648242737,
4581
+ 3940784050,
4582
+ 980351604,
4583
+ 3713745714,
4584
+ 1749149687,
4585
+ 3396870395,
4586
+ 4211799374,
4587
+ 3640570775,
4588
+ 1161844396,
4589
+ 3125318951,
4590
+ 1431517754,
4591
+ 545492359,
4592
+ 4268468663,
4593
+ 3499529547,
4594
+ 1437099964,
4595
+ 2702547544,
4596
+ 3433638243,
4597
+ 2581715763,
4598
+ 2787789398,
4599
+ 1060185593,
4600
+ 1593081372,
4601
+ 2418618748,
4602
+ 4260947970,
4603
+ 69676912,
4604
+ 2159744348,
4605
+ 86519011,
4606
+ 2512459080,
4607
+ 3838209314,
4608
+ 1220612927,
4609
+ 3339683548,
4610
+ 133810670,
4611
+ 1090789135,
4612
+ 1078426020,
4613
+ 1569222167,
4614
+ 845107691,
4615
+ 3583754449,
4616
+ 4072456591,
4617
+ 1091646820,
4618
+ 628848692,
4619
+ 1613405280,
4620
+ 3757631651,
4621
+ 526609435,
4622
+ 236106946,
4623
+ 48312990,
4624
+ 2942717905,
4625
+ 3402727701,
4626
+ 1797494240,
4627
+ 859738849,
4628
+ 992217954,
4629
+ 4005476642,
4630
+ 2243076622,
4631
+ 3870952857,
4632
+ 3732016268,
4633
+ 765654824,
4634
+ 3490871365,
4635
+ 2511836413,
4636
+ 1685915746,
4637
+ 3888969200,
4638
+ 1414112111,
4639
+ 2273134842,
4640
+ 3281911079,
4641
+ 4080962846,
4642
+ 172450625,
4643
+ 2569994100,
4644
+ 980381355,
4645
+ 4109958455,
4646
+ 2819808352,
4647
+ 2716589560,
4648
+ 2568741196,
4649
+ 3681446669,
4650
+ 3329971472,
4651
+ 1835478071,
4652
+ 660984891,
4653
+ 3704678404,
4654
+ 4045999559,
4655
+ 3422617507,
4656
+ 3040415634,
4657
+ 1762651403,
4658
+ 1719377915,
4659
+ 3470491036,
4660
+ 2693910283,
4661
+ 3642056355,
4662
+ 3138596744,
4663
+ 1364962596,
4664
+ 2073328063,
4665
+ 1983633131,
4666
+ 926494387,
4667
+ 3423689081,
4668
+ 2150032023,
4669
+ 4096667949,
4670
+ 1749200295,
4671
+ 3328846651,
4672
+ 309677260,
4673
+ 2016342300,
4674
+ 1779581495,
4675
+ 3079819751,
4676
+ 111262694,
4677
+ 1274766160,
4678
+ 443224088,
4679
+ 298511866,
4680
+ 1025883608,
4681
+ 3806446537,
4682
+ 1145181785,
4683
+ 168956806,
4684
+ 3641502830,
4685
+ 3584813610,
4686
+ 1689216846,
4687
+ 3666258015,
4688
+ 3200248200,
4689
+ 1692713982,
4690
+ 2646376535,
4691
+ 4042768518,
4692
+ 1618508792,
4693
+ 1610833997,
4694
+ 3523052358,
4695
+ 4130873264,
4696
+ 2001055236,
4697
+ 3610705100,
4698
+ 2202168115,
4699
+ 4028541809,
4700
+ 2961195399,
4701
+ 1006657119,
4702
+ 2006996926,
4703
+ 3186142756,
4704
+ 1430667929,
4705
+ 3210227297,
4706
+ 1314452623,
4707
+ 4074634658,
4708
+ 4101304120,
4709
+ 2273951170,
4710
+ 1399257539,
4711
+ 3367210612,
4712
+ 3027628629,
4713
+ 1190975929,
4714
+ 2062231137,
4715
+ 2333990788,
4716
+ 2221543033,
4717
+ 2438960610,
4718
+ 1181637006,
4719
+ 548689776,
4720
+ 2362791313,
4721
+ 3372408396,
4722
+ 3104550113,
4723
+ 3145860560,
4724
+ 296247880,
4725
+ 1970579870,
4726
+ 3078560182,
4727
+ 3769228297,
4728
+ 1714227617,
4729
+ 3291629107,
4730
+ 3898220290,
4731
+ 166772364,
4732
+ 1251581989,
4733
+ 493813264,
4734
+ 448347421,
4735
+ 195405023,
4736
+ 2709975567,
4737
+ 677966185,
4738
+ 3703036547,
4739
+ 1463355134,
4740
+ 2715995803,
4741
+ 1338867538,
4742
+ 1343315457,
4743
+ 2802222074,
4744
+ 2684532164,
4745
+ 233230375,
4746
+ 2599980071,
4747
+ 2000651841,
4748
+ 3277868038,
4749
+ 1638401717,
4750
+ 4028070440,
4751
+ 3237316320,
4752
+ 6314154,
4753
+ 819756386,
4754
+ 300326615,
4755
+ 590932579,
4756
+ 1405279636,
4757
+ 3267499572,
4758
+ 3150704214,
4759
+ 2428286686,
4760
+ 3959192993,
4761
+ 3461946742,
4762
+ 1862657033,
4763
+ 1266418056,
4764
+ 963775037,
4765
+ 2089974820,
4766
+ 2263052895,
4767
+ 1917689273,
4768
+ 448879540,
4769
+ 3550394620,
4770
+ 3981727096,
4771
+ 150775221,
4772
+ 3627908307,
4773
+ 1303187396,
4774
+ 508620638,
4775
+ 2975983352,
4776
+ 2726630617,
4777
+ 1817252668,
4778
+ 1876281319,
4779
+ 1457606340,
4780
+ 908771278,
4781
+ 3720792119,
4782
+ 3617206836,
4783
+ 2455994898,
4784
+ 1729034894,
4785
+ 1080033504
4786
+ ],
4787
+ [
4788
+ 976866871,
4789
+ 3556439503,
4790
+ 2881648439,
4791
+ 1522871579,
4792
+ 1555064734,
4793
+ 1336096578,
4794
+ 3548522304,
4795
+ 2579274686,
4796
+ 3574697629,
4797
+ 3205460757,
4798
+ 3593280638,
4799
+ 3338716283,
4800
+ 3079412587,
4801
+ 564236357,
4802
+ 2993598910,
4803
+ 1781952180,
4804
+ 1464380207,
4805
+ 3163844217,
4806
+ 3332601554,
4807
+ 1699332808,
4808
+ 1393555694,
4809
+ 1183702653,
4810
+ 3581086237,
4811
+ 1288719814,
4812
+ 691649499,
4813
+ 2847557200,
4814
+ 2895455976,
4815
+ 3193889540,
4816
+ 2717570544,
4817
+ 1781354906,
4818
+ 1676643554,
4819
+ 2592534050,
4820
+ 3230253752,
4821
+ 1126444790,
4822
+ 2770207658,
4823
+ 2633158820,
4824
+ 2210423226,
4825
+ 2615765581,
4826
+ 2414155088,
4827
+ 3127139286,
4828
+ 673620729,
4829
+ 2805611233,
4830
+ 1269405062,
4831
+ 4015350505,
4832
+ 3341807571,
4833
+ 4149409754,
4834
+ 1057255273,
4835
+ 2012875353,
4836
+ 2162469141,
4837
+ 2276492801,
4838
+ 2601117357,
4839
+ 993977747,
4840
+ 3918593370,
4841
+ 2654263191,
4842
+ 753973209,
4843
+ 36408145,
4844
+ 2530585658,
4845
+ 25011837,
4846
+ 3520020182,
4847
+ 2088578344,
4848
+ 530523599,
4849
+ 2918365339,
4850
+ 1524020338,
4851
+ 1518925132,
4852
+ 3760827505,
4853
+ 3759777254,
4854
+ 1202760957,
4855
+ 3985898139,
4856
+ 3906192525,
4857
+ 674977740,
4858
+ 4174734889,
4859
+ 2031300136,
4860
+ 2019492241,
4861
+ 3983892565,
4862
+ 4153806404,
4863
+ 3822280332,
4864
+ 352677332,
4865
+ 2297720250,
4866
+ 60907813,
4867
+ 90501309,
4868
+ 3286998549,
4869
+ 1016092578,
4870
+ 2535922412,
4871
+ 2839152426,
4872
+ 457141659,
4873
+ 509813237,
4874
+ 4120667899,
4875
+ 652014361,
4876
+ 1966332200,
4877
+ 2975202805,
4878
+ 55981186,
4879
+ 2327461051,
4880
+ 676427537,
4881
+ 3255491064,
4882
+ 2882294119,
4883
+ 3433927263,
4884
+ 1307055953,
4885
+ 942726286,
4886
+ 933058658,
4887
+ 2468411793,
4888
+ 3933900994,
4889
+ 4215176142,
4890
+ 1361170020,
4891
+ 2001714738,
4892
+ 2830558078,
4893
+ 3274259782,
4894
+ 1222529897,
4895
+ 1679025792,
4896
+ 2729314320,
4897
+ 3714953764,
4898
+ 1770335741,
4899
+ 151462246,
4900
+ 3013232138,
4901
+ 1682292957,
4902
+ 1483529935,
4903
+ 471910574,
4904
+ 1539241949,
4905
+ 458788160,
4906
+ 3436315007,
4907
+ 1807016891,
4908
+ 3718408830,
4909
+ 978976581,
4910
+ 1043663428,
4911
+ 3165965781,
4912
+ 1927990952,
4913
+ 4200891579,
4914
+ 2372276910,
4915
+ 3208408903,
4916
+ 3533431907,
4917
+ 1412390302,
4918
+ 2931980059,
4919
+ 4132332400,
4920
+ 1947078029,
4921
+ 3881505623,
4922
+ 4168226417,
4923
+ 2941484381,
4924
+ 1077988104,
4925
+ 1320477388,
4926
+ 886195818,
4927
+ 18198404,
4928
+ 3786409e3,
4929
+ 2509781533,
4930
+ 112762804,
4931
+ 3463356488,
4932
+ 1866414978,
4933
+ 891333506,
4934
+ 18488651,
4935
+ 661792760,
4936
+ 1628790961,
4937
+ 3885187036,
4938
+ 3141171499,
4939
+ 876946877,
4940
+ 2693282273,
4941
+ 1372485963,
4942
+ 791857591,
4943
+ 2686433993,
4944
+ 3759982718,
4945
+ 3167212022,
4946
+ 3472953795,
4947
+ 2716379847,
4948
+ 445679433,
4949
+ 3561995674,
4950
+ 3504004811,
4951
+ 3574258232,
4952
+ 54117162,
4953
+ 3331405415,
4954
+ 2381918588,
4955
+ 3769707343,
4956
+ 4154350007,
4957
+ 1140177722,
4958
+ 4074052095,
4959
+ 668550556,
4960
+ 3214352940,
4961
+ 367459370,
4962
+ 261225585,
4963
+ 2610173221,
4964
+ 4209349473,
4965
+ 3468074219,
4966
+ 3265815641,
4967
+ 314222801,
4968
+ 3066103646,
4969
+ 3808782860,
4970
+ 282218597,
4971
+ 3406013506,
4972
+ 3773591054,
4973
+ 379116347,
4974
+ 1285071038,
4975
+ 846784868,
4976
+ 2669647154,
4977
+ 3771962079,
4978
+ 3550491691,
4979
+ 2305946142,
4980
+ 453669953,
4981
+ 1268987020,
4982
+ 3317592352,
4983
+ 3279303384,
4984
+ 3744833421,
4985
+ 2610507566,
4986
+ 3859509063,
4987
+ 266596637,
4988
+ 3847019092,
4989
+ 517658769,
4990
+ 3462560207,
4991
+ 3443424879,
4992
+ 370717030,
4993
+ 4247526661,
4994
+ 2224018117,
4995
+ 4143653529,
4996
+ 4112773975,
4997
+ 2788324899,
4998
+ 2477274417,
4999
+ 1456262402,
5000
+ 2901442914,
5001
+ 1517677493,
5002
+ 1846949527,
5003
+ 2295493580,
5004
+ 3734397586,
5005
+ 2176403920,
5006
+ 1280348187,
5007
+ 1908823572,
5008
+ 3871786941,
5009
+ 846861322,
5010
+ 1172426758,
5011
+ 3287448474,
5012
+ 3383383037,
5013
+ 1655181056,
5014
+ 3139813346,
5015
+ 901632758,
5016
+ 1897031941,
5017
+ 2986607138,
5018
+ 3066810236,
5019
+ 3447102507,
5020
+ 1393639104,
5021
+ 373351379,
5022
+ 950779232,
5023
+ 625454576,
5024
+ 3124240540,
5025
+ 4148612726,
5026
+ 2007998917,
5027
+ 544563296,
5028
+ 2244738638,
5029
+ 2330496472,
5030
+ 2058025392,
5031
+ 1291430526,
5032
+ 424198748,
5033
+ 50039436,
5034
+ 29584100,
5035
+ 3605783033,
5036
+ 2429876329,
5037
+ 2791104160,
5038
+ 1057563949,
5039
+ 3255363231,
5040
+ 3075367218,
5041
+ 3463963227,
5042
+ 1469046755,
5043
+ 985887462
5044
+ ]
5045
+ ];
5046
+ Blowfish.prototype.PARRAY = [
5047
+ 608135816,
5048
+ 2242054355,
5049
+ 320440878,
5050
+ 57701188,
5051
+ 2752067618,
5052
+ 698298832,
5053
+ 137296536,
5054
+ 3964562569,
5055
+ 1160258022,
5056
+ 953160567,
5057
+ 3193202383,
5058
+ 887688300,
5059
+ 3232508343,
5060
+ 3380367581,
5061
+ 1065670069,
5062
+ 3041331479,
5063
+ 2450970073,
5064
+ 2306472731
5065
+ ];
5066
+ Blowfish.prototype.NN = 16;
5067
+ Blowfish.prototype._clean = function(xx) {
5068
+ if (xx < 0) xx = (xx & 2147483647) + 2147483648;
5069
+ return xx;
5070
+ };
5071
+ Blowfish.prototype._F = function(xx) {
5072
+ let yy;
5073
+ const dd = xx & 255;
5074
+ xx >>>= 8;
5075
+ const cc = xx & 255;
5076
+ xx >>>= 8;
5077
+ const bb = xx & 255;
5078
+ xx >>>= 8;
5079
+ const aa = xx & 255;
5080
+ yy = this.sboxes[0][aa] + this.sboxes[1][bb];
5081
+ yy ^= this.sboxes[2][cc];
5082
+ yy += this.sboxes[3][dd];
5083
+ return yy;
5084
+ };
5085
+ Blowfish.prototype._encryptBlock = function(vals) {
5086
+ let dataL = vals[0];
5087
+ let dataR = vals[1];
5088
+ let ii = 0;
5089
+ for (; ii < this.NN; ++ii) {
5090
+ dataL ^= this.parray[ii];
5091
+ dataR = this._F(dataL) ^ dataR;
5092
+ const tmp = dataL;
5093
+ dataL = dataR;
5094
+ dataR = tmp;
5095
+ }
5096
+ dataL ^= this.parray[this.NN + 0];
5097
+ dataR ^= this.parray[this.NN + 1];
5098
+ vals[0] = this._clean(dataR);
5099
+ vals[1] = this._clean(dataL);
5100
+ };
5101
+ Blowfish.prototype.encryptBlock = function(vector) {
5102
+ let ii;
5103
+ const vals = [0, 0];
5104
+ const off = this.BLOCKSIZE / 2;
5105
+ for (ii = 0; ii < this.BLOCKSIZE / 2; ++ii) {
5106
+ vals[0] = vals[0] << 8 | vector[ii + 0] & 255;
5107
+ vals[1] = vals[1] << 8 | vector[ii + off] & 255;
5108
+ }
5109
+ this._encryptBlock(vals);
5110
+ const ret = [];
5111
+ for (ii = 0; ii < this.BLOCKSIZE / 2; ++ii) {
5112
+ ret[ii + 0] = vals[0] >>> 24 - 8 * ii & 255;
5113
+ ret[ii + off] = vals[1] >>> 24 - 8 * ii & 255;
5114
+ }
5115
+ return ret;
5116
+ };
5117
+ Blowfish.prototype._decryptBlock = function(vals) {
5118
+ let dataL = vals[0];
5119
+ let dataR = vals[1];
5120
+ let ii;
5121
+ for (ii = this.NN + 1; ii > 1; --ii) {
5122
+ dataL ^= this.parray[ii];
5123
+ dataR = this._F(dataL) ^ dataR;
5124
+ const tmp = dataL;
5125
+ dataL = dataR;
5126
+ dataR = tmp;
5127
+ }
5128
+ dataL ^= this.parray[1];
5129
+ dataR ^= this.parray[0];
5130
+ vals[0] = this._clean(dataR);
5131
+ vals[1] = this._clean(dataL);
5132
+ };
5133
+ Blowfish.prototype.init = function(key) {
5134
+ let ii;
5135
+ let jj = 0;
5136
+ this.parray = [];
5137
+ for (ii = 0; ii < this.NN + 2; ++ii) {
5138
+ let data = 0;
5139
+ for (let kk = 0; kk < 4; ++kk) {
5140
+ data = data << 8 | key[jj] & 255;
5141
+ if (++jj >= key.length) jj = 0;
5142
+ }
5143
+ this.parray[ii] = this.PARRAY[ii] ^ data;
5144
+ }
5145
+ this.sboxes = [];
5146
+ for (ii = 0; ii < 4; ++ii) {
5147
+ this.sboxes[ii] = [];
5148
+ for (jj = 0; jj < 256; ++jj) this.sboxes[ii][jj] = this.SBOXES[ii][jj];
5149
+ }
5150
+ const vals = [0, 0];
5151
+ for (ii = 0; ii < this.NN + 2; ii += 2) {
5152
+ this._encryptBlock(vals);
5153
+ this.parray[ii + 0] = vals[0];
5154
+ this.parray[ii + 1] = vals[1];
5155
+ }
5156
+ for (ii = 0; ii < 4; ++ii) for (jj = 0; jj < 256; jj += 2) {
5157
+ this._encryptBlock(vals);
5158
+ this.sboxes[ii][jj + 0] = vals[0];
5159
+ this.sboxes[ii][jj + 1] = vals[1];
5160
+ }
5161
+ };
5162
+ function BF(key) {
5163
+ this.bf = new Blowfish();
5164
+ this.bf.init(key);
5165
+ this.encrypt = function(block) {
5166
+ return this.bf.encryptBlock(block);
5167
+ };
5168
+ }
5169
+ BF.keySize = BF.prototype.keySize = 16;
5170
+ BF.blockSize = BF.prototype.blockSize = 8;
5171
+ /**
5172
+ * @access private
5173
+ * This file is needed to dynamic import the legacy ciphers.
5174
+ * Separate dynamic imports are not convenient as they result in multiple chunks.
5175
+ */
5176
+ var legacyCiphers = new Map(Object.entries({
5177
+ tripledes: TripleDES,
5178
+ cast5: CAST5,
5179
+ twofish: TF,
5180
+ blowfish: BF
5181
+ }));
5182
+ //#endregion
5183
+ export { legacyCiphers };
5184
+
5185
+ //# sourceMappingURL=legacy_ciphers-JJOu0JXL.js.map