@hyperlane-xyz/core 3.1.4 → 3.1.5

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 (25) hide show
  1. package/contracts/token/FastHypERC20.sol +62 -0
  2. package/contracts/token/FastHypERC20Collateral.sol +61 -0
  3. package/dist/contracts/token/FastHypERC20.d.ts +1023 -0
  4. package/dist/contracts/token/FastHypERC20.d.ts.map +1 -0
  5. package/dist/contracts/token/FastHypERC20.js +3 -0
  6. package/dist/contracts/token/FastHypERC20.js.map +1 -0
  7. package/dist/contracts/token/FastHypERC20Collateral.d.ts +729 -0
  8. package/dist/contracts/token/FastHypERC20Collateral.d.ts.map +1 -0
  9. package/dist/contracts/token/FastHypERC20Collateral.js +3 -0
  10. package/dist/contracts/token/FastHypERC20Collateral.js.map +1 -0
  11. package/dist/contracts/token/index.d.ts +2 -0
  12. package/dist/contracts/token/index.d.ts.map +1 -1
  13. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.d.ts +444 -0
  14. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.d.ts.map +1 -0
  15. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.js +591 -0
  16. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.js.map +1 -0
  17. package/dist/factories/contracts/token/FastHypERC20__factory.d.ts +644 -0
  18. package/dist/factories/contracts/token/FastHypERC20__factory.d.ts.map +1 -0
  19. package/dist/factories/contracts/token/FastHypERC20__factory.js +852 -0
  20. package/dist/factories/contracts/token/FastHypERC20__factory.js.map +1 -0
  21. package/dist/factories/contracts/token/index.d.ts +2 -0
  22. package/dist/factories/contracts/token/index.d.ts.map +1 -1
  23. package/dist/factories/contracts/token/index.js +5 -1
  24. package/dist/factories/contracts/token/index.js.map +1 -1
  25. package/package.json +2 -2
@@ -0,0 +1,852 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FastHypERC20__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "uint8",
13
+ name: "__decimals",
14
+ type: "uint8",
15
+ },
16
+ {
17
+ internalType: "address",
18
+ name: "_mailbox",
19
+ type: "address",
20
+ },
21
+ ],
22
+ stateMutability: "nonpayable",
23
+ type: "constructor",
24
+ },
25
+ {
26
+ anonymous: false,
27
+ inputs: [
28
+ {
29
+ indexed: true,
30
+ internalType: "address",
31
+ name: "owner",
32
+ type: "address",
33
+ },
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "spender",
38
+ type: "address",
39
+ },
40
+ {
41
+ indexed: false,
42
+ internalType: "uint256",
43
+ name: "value",
44
+ type: "uint256",
45
+ },
46
+ ],
47
+ name: "Approval",
48
+ type: "event",
49
+ },
50
+ {
51
+ anonymous: false,
52
+ inputs: [
53
+ {
54
+ indexed: false,
55
+ internalType: "uint8",
56
+ name: "version",
57
+ type: "uint8",
58
+ },
59
+ ],
60
+ name: "Initialized",
61
+ type: "event",
62
+ },
63
+ {
64
+ anonymous: false,
65
+ inputs: [
66
+ {
67
+ indexed: true,
68
+ internalType: "address",
69
+ name: "previousOwner",
70
+ type: "address",
71
+ },
72
+ {
73
+ indexed: true,
74
+ internalType: "address",
75
+ name: "newOwner",
76
+ type: "address",
77
+ },
78
+ ],
79
+ name: "OwnershipTransferred",
80
+ type: "event",
81
+ },
82
+ {
83
+ anonymous: false,
84
+ inputs: [
85
+ {
86
+ indexed: true,
87
+ internalType: "uint32",
88
+ name: "origin",
89
+ type: "uint32",
90
+ },
91
+ {
92
+ indexed: true,
93
+ internalType: "bytes32",
94
+ name: "recipient",
95
+ type: "bytes32",
96
+ },
97
+ {
98
+ indexed: false,
99
+ internalType: "uint256",
100
+ name: "amount",
101
+ type: "uint256",
102
+ },
103
+ ],
104
+ name: "ReceivedTransferRemote",
105
+ type: "event",
106
+ },
107
+ {
108
+ anonymous: false,
109
+ inputs: [
110
+ {
111
+ indexed: true,
112
+ internalType: "uint32",
113
+ name: "destination",
114
+ type: "uint32",
115
+ },
116
+ {
117
+ indexed: true,
118
+ internalType: "bytes32",
119
+ name: "recipient",
120
+ type: "bytes32",
121
+ },
122
+ {
123
+ indexed: false,
124
+ internalType: "uint256",
125
+ name: "amount",
126
+ type: "uint256",
127
+ },
128
+ ],
129
+ name: "SentTransferRemote",
130
+ type: "event",
131
+ },
132
+ {
133
+ anonymous: false,
134
+ inputs: [
135
+ {
136
+ indexed: true,
137
+ internalType: "address",
138
+ name: "from",
139
+ type: "address",
140
+ },
141
+ {
142
+ indexed: true,
143
+ internalType: "address",
144
+ name: "to",
145
+ type: "address",
146
+ },
147
+ {
148
+ indexed: false,
149
+ internalType: "uint256",
150
+ name: "value",
151
+ type: "uint256",
152
+ },
153
+ ],
154
+ name: "Transfer",
155
+ type: "event",
156
+ },
157
+ {
158
+ inputs: [
159
+ {
160
+ internalType: "address",
161
+ name: "owner",
162
+ type: "address",
163
+ },
164
+ {
165
+ internalType: "address",
166
+ name: "spender",
167
+ type: "address",
168
+ },
169
+ ],
170
+ name: "allowance",
171
+ outputs: [
172
+ {
173
+ internalType: "uint256",
174
+ name: "",
175
+ type: "uint256",
176
+ },
177
+ ],
178
+ stateMutability: "view",
179
+ type: "function",
180
+ },
181
+ {
182
+ inputs: [
183
+ {
184
+ internalType: "address",
185
+ name: "spender",
186
+ type: "address",
187
+ },
188
+ {
189
+ internalType: "uint256",
190
+ name: "amount",
191
+ type: "uint256",
192
+ },
193
+ ],
194
+ name: "approve",
195
+ outputs: [
196
+ {
197
+ internalType: "bool",
198
+ name: "",
199
+ type: "bool",
200
+ },
201
+ ],
202
+ stateMutability: "nonpayable",
203
+ type: "function",
204
+ },
205
+ {
206
+ inputs: [
207
+ {
208
+ internalType: "address",
209
+ name: "_account",
210
+ type: "address",
211
+ },
212
+ ],
213
+ name: "balanceOf",
214
+ outputs: [
215
+ {
216
+ internalType: "uint256",
217
+ name: "",
218
+ type: "uint256",
219
+ },
220
+ ],
221
+ stateMutability: "view",
222
+ type: "function",
223
+ },
224
+ {
225
+ inputs: [],
226
+ name: "decimals",
227
+ outputs: [
228
+ {
229
+ internalType: "uint8",
230
+ name: "",
231
+ type: "uint8",
232
+ },
233
+ ],
234
+ stateMutability: "view",
235
+ type: "function",
236
+ },
237
+ {
238
+ inputs: [
239
+ {
240
+ internalType: "address",
241
+ name: "spender",
242
+ type: "address",
243
+ },
244
+ {
245
+ internalType: "uint256",
246
+ name: "subtractedValue",
247
+ type: "uint256",
248
+ },
249
+ ],
250
+ name: "decreaseAllowance",
251
+ outputs: [
252
+ {
253
+ internalType: "bool",
254
+ name: "",
255
+ type: "bool",
256
+ },
257
+ ],
258
+ stateMutability: "nonpayable",
259
+ type: "function",
260
+ },
261
+ {
262
+ inputs: [
263
+ {
264
+ internalType: "uint32",
265
+ name: "",
266
+ type: "uint32",
267
+ },
268
+ ],
269
+ name: "destinationGas",
270
+ outputs: [
271
+ {
272
+ internalType: "uint256",
273
+ name: "",
274
+ type: "uint256",
275
+ },
276
+ ],
277
+ stateMutability: "view",
278
+ type: "function",
279
+ },
280
+ {
281
+ inputs: [],
282
+ name: "domains",
283
+ outputs: [
284
+ {
285
+ internalType: "uint32[]",
286
+ name: "",
287
+ type: "uint32[]",
288
+ },
289
+ ],
290
+ stateMutability: "view",
291
+ type: "function",
292
+ },
293
+ {
294
+ inputs: [
295
+ {
296
+ internalType: "uint32",
297
+ name: "_domain",
298
+ type: "uint32",
299
+ },
300
+ {
301
+ internalType: "bytes32",
302
+ name: "_router",
303
+ type: "bytes32",
304
+ },
305
+ ],
306
+ name: "enrollRemoteRouter",
307
+ outputs: [],
308
+ stateMutability: "nonpayable",
309
+ type: "function",
310
+ },
311
+ {
312
+ inputs: [
313
+ {
314
+ internalType: "uint32[]",
315
+ name: "_domains",
316
+ type: "uint32[]",
317
+ },
318
+ {
319
+ internalType: "bytes32[]",
320
+ name: "_addresses",
321
+ type: "bytes32[]",
322
+ },
323
+ ],
324
+ name: "enrollRemoteRouters",
325
+ outputs: [],
326
+ stateMutability: "nonpayable",
327
+ type: "function",
328
+ },
329
+ {
330
+ inputs: [],
331
+ name: "fastTransferId",
332
+ outputs: [
333
+ {
334
+ internalType: "uint256",
335
+ name: "",
336
+ type: "uint256",
337
+ },
338
+ ],
339
+ stateMutability: "view",
340
+ type: "function",
341
+ },
342
+ {
343
+ inputs: [
344
+ {
345
+ internalType: "uint32",
346
+ name: "_destination",
347
+ type: "uint32",
348
+ },
349
+ {
350
+ internalType: "bytes32",
351
+ name: "_recipient",
352
+ type: "bytes32",
353
+ },
354
+ {
355
+ internalType: "uint256",
356
+ name: "_amountOrId",
357
+ type: "uint256",
358
+ },
359
+ {
360
+ internalType: "uint256",
361
+ name: "_fastFee",
362
+ type: "uint256",
363
+ },
364
+ ],
365
+ name: "fastTransferRemote",
366
+ outputs: [
367
+ {
368
+ internalType: "bytes32",
369
+ name: "messageId",
370
+ type: "bytes32",
371
+ },
372
+ ],
373
+ stateMutability: "payable",
374
+ type: "function",
375
+ },
376
+ {
377
+ inputs: [
378
+ {
379
+ internalType: "address",
380
+ name: "_recipient",
381
+ type: "address",
382
+ },
383
+ {
384
+ internalType: "uint256",
385
+ name: "_amount",
386
+ type: "uint256",
387
+ },
388
+ {
389
+ internalType: "uint256",
390
+ name: "_fastFee",
391
+ type: "uint256",
392
+ },
393
+ {
394
+ internalType: "uint32",
395
+ name: "_origin",
396
+ type: "uint32",
397
+ },
398
+ {
399
+ internalType: "uint256",
400
+ name: "_fastTransferId",
401
+ type: "uint256",
402
+ },
403
+ ],
404
+ name: "fillFastTransfer",
405
+ outputs: [],
406
+ stateMutability: "nonpayable",
407
+ type: "function",
408
+ },
409
+ {
410
+ inputs: [
411
+ {
412
+ internalType: "uint32",
413
+ name: "_origin",
414
+ type: "uint32",
415
+ },
416
+ {
417
+ internalType: "bytes32",
418
+ name: "_sender",
419
+ type: "bytes32",
420
+ },
421
+ {
422
+ internalType: "bytes",
423
+ name: "_message",
424
+ type: "bytes",
425
+ },
426
+ ],
427
+ name: "handle",
428
+ outputs: [],
429
+ stateMutability: "payable",
430
+ type: "function",
431
+ },
432
+ {
433
+ inputs: [],
434
+ name: "hook",
435
+ outputs: [
436
+ {
437
+ internalType: "contract IPostDispatchHook",
438
+ name: "",
439
+ type: "address",
440
+ },
441
+ ],
442
+ stateMutability: "view",
443
+ type: "function",
444
+ },
445
+ {
446
+ inputs: [
447
+ {
448
+ internalType: "address",
449
+ name: "spender",
450
+ type: "address",
451
+ },
452
+ {
453
+ internalType: "uint256",
454
+ name: "addedValue",
455
+ type: "uint256",
456
+ },
457
+ ],
458
+ name: "increaseAllowance",
459
+ outputs: [
460
+ {
461
+ internalType: "bool",
462
+ name: "",
463
+ type: "bool",
464
+ },
465
+ ],
466
+ stateMutability: "nonpayable",
467
+ type: "function",
468
+ },
469
+ {
470
+ inputs: [
471
+ {
472
+ internalType: "uint256",
473
+ name: "_totalSupply",
474
+ type: "uint256",
475
+ },
476
+ {
477
+ internalType: "string",
478
+ name: "_name",
479
+ type: "string",
480
+ },
481
+ {
482
+ internalType: "string",
483
+ name: "_symbol",
484
+ type: "string",
485
+ },
486
+ ],
487
+ name: "initialize",
488
+ outputs: [],
489
+ stateMutability: "nonpayable",
490
+ type: "function",
491
+ },
492
+ {
493
+ inputs: [],
494
+ name: "interchainSecurityModule",
495
+ outputs: [
496
+ {
497
+ internalType: "contract IInterchainSecurityModule",
498
+ name: "",
499
+ type: "address",
500
+ },
501
+ ],
502
+ stateMutability: "view",
503
+ type: "function",
504
+ },
505
+ {
506
+ inputs: [],
507
+ name: "localDomain",
508
+ outputs: [
509
+ {
510
+ internalType: "uint32",
511
+ name: "",
512
+ type: "uint32",
513
+ },
514
+ ],
515
+ stateMutability: "view",
516
+ type: "function",
517
+ },
518
+ {
519
+ inputs: [],
520
+ name: "mailbox",
521
+ outputs: [
522
+ {
523
+ internalType: "contract IMailbox",
524
+ name: "",
525
+ type: "address",
526
+ },
527
+ ],
528
+ stateMutability: "view",
529
+ type: "function",
530
+ },
531
+ {
532
+ inputs: [],
533
+ name: "name",
534
+ outputs: [
535
+ {
536
+ internalType: "string",
537
+ name: "",
538
+ type: "string",
539
+ },
540
+ ],
541
+ stateMutability: "view",
542
+ type: "function",
543
+ },
544
+ {
545
+ inputs: [],
546
+ name: "owner",
547
+ outputs: [
548
+ {
549
+ internalType: "address",
550
+ name: "",
551
+ type: "address",
552
+ },
553
+ ],
554
+ stateMutability: "view",
555
+ type: "function",
556
+ },
557
+ {
558
+ inputs: [
559
+ {
560
+ internalType: "uint32",
561
+ name: "_destinationDomain",
562
+ type: "uint32",
563
+ },
564
+ ],
565
+ name: "quoteGasPayment",
566
+ outputs: [
567
+ {
568
+ internalType: "uint256",
569
+ name: "_gasPayment",
570
+ type: "uint256",
571
+ },
572
+ ],
573
+ stateMutability: "view",
574
+ type: "function",
575
+ },
576
+ {
577
+ inputs: [],
578
+ name: "renounceOwnership",
579
+ outputs: [],
580
+ stateMutability: "nonpayable",
581
+ type: "function",
582
+ },
583
+ {
584
+ inputs: [
585
+ {
586
+ internalType: "uint32",
587
+ name: "_domain",
588
+ type: "uint32",
589
+ },
590
+ ],
591
+ name: "routers",
592
+ outputs: [
593
+ {
594
+ internalType: "bytes32",
595
+ name: "",
596
+ type: "bytes32",
597
+ },
598
+ ],
599
+ stateMutability: "view",
600
+ type: "function",
601
+ },
602
+ {
603
+ inputs: [
604
+ {
605
+ internalType: "uint32",
606
+ name: "domain",
607
+ type: "uint32",
608
+ },
609
+ {
610
+ internalType: "uint256",
611
+ name: "gas",
612
+ type: "uint256",
613
+ },
614
+ ],
615
+ name: "setDestinationGas",
616
+ outputs: [],
617
+ stateMutability: "nonpayable",
618
+ type: "function",
619
+ },
620
+ {
621
+ inputs: [
622
+ {
623
+ components: [
624
+ {
625
+ internalType: "uint32",
626
+ name: "domain",
627
+ type: "uint32",
628
+ },
629
+ {
630
+ internalType: "uint256",
631
+ name: "gas",
632
+ type: "uint256",
633
+ },
634
+ ],
635
+ internalType: "struct GasRouter.GasRouterConfig[]",
636
+ name: "gasConfigs",
637
+ type: "tuple[]",
638
+ },
639
+ ],
640
+ name: "setDestinationGas",
641
+ outputs: [],
642
+ stateMutability: "nonpayable",
643
+ type: "function",
644
+ },
645
+ {
646
+ inputs: [
647
+ {
648
+ internalType: "address",
649
+ name: "_hook",
650
+ type: "address",
651
+ },
652
+ ],
653
+ name: "setHook",
654
+ outputs: [],
655
+ stateMutability: "nonpayable",
656
+ type: "function",
657
+ },
658
+ {
659
+ inputs: [
660
+ {
661
+ internalType: "address",
662
+ name: "_module",
663
+ type: "address",
664
+ },
665
+ ],
666
+ name: "setInterchainSecurityModule",
667
+ outputs: [],
668
+ stateMutability: "nonpayable",
669
+ type: "function",
670
+ },
671
+ {
672
+ inputs: [],
673
+ name: "symbol",
674
+ outputs: [
675
+ {
676
+ internalType: "string",
677
+ name: "",
678
+ type: "string",
679
+ },
680
+ ],
681
+ stateMutability: "view",
682
+ type: "function",
683
+ },
684
+ {
685
+ inputs: [],
686
+ name: "totalSupply",
687
+ outputs: [
688
+ {
689
+ internalType: "uint256",
690
+ name: "",
691
+ type: "uint256",
692
+ },
693
+ ],
694
+ stateMutability: "view",
695
+ type: "function",
696
+ },
697
+ {
698
+ inputs: [
699
+ {
700
+ internalType: "address",
701
+ name: "to",
702
+ type: "address",
703
+ },
704
+ {
705
+ internalType: "uint256",
706
+ name: "amount",
707
+ type: "uint256",
708
+ },
709
+ ],
710
+ name: "transfer",
711
+ outputs: [
712
+ {
713
+ internalType: "bool",
714
+ name: "",
715
+ type: "bool",
716
+ },
717
+ ],
718
+ stateMutability: "nonpayable",
719
+ type: "function",
720
+ },
721
+ {
722
+ inputs: [
723
+ {
724
+ internalType: "address",
725
+ name: "from",
726
+ type: "address",
727
+ },
728
+ {
729
+ internalType: "address",
730
+ name: "to",
731
+ type: "address",
732
+ },
733
+ {
734
+ internalType: "uint256",
735
+ name: "amount",
736
+ type: "uint256",
737
+ },
738
+ ],
739
+ name: "transferFrom",
740
+ outputs: [
741
+ {
742
+ internalType: "bool",
743
+ name: "",
744
+ type: "bool",
745
+ },
746
+ ],
747
+ stateMutability: "nonpayable",
748
+ type: "function",
749
+ },
750
+ {
751
+ inputs: [
752
+ {
753
+ internalType: "address",
754
+ name: "newOwner",
755
+ type: "address",
756
+ },
757
+ ],
758
+ name: "transferOwnership",
759
+ outputs: [],
760
+ stateMutability: "nonpayable",
761
+ type: "function",
762
+ },
763
+ {
764
+ inputs: [
765
+ {
766
+ internalType: "uint32",
767
+ name: "_destination",
768
+ type: "uint32",
769
+ },
770
+ {
771
+ internalType: "bytes32",
772
+ name: "_recipient",
773
+ type: "bytes32",
774
+ },
775
+ {
776
+ internalType: "uint256",
777
+ name: "_amountOrId",
778
+ type: "uint256",
779
+ },
780
+ ],
781
+ name: "transferRemote",
782
+ outputs: [
783
+ {
784
+ internalType: "bytes32",
785
+ name: "messageId",
786
+ type: "bytes32",
787
+ },
788
+ ],
789
+ stateMutability: "payable",
790
+ type: "function",
791
+ },
792
+ {
793
+ inputs: [
794
+ {
795
+ internalType: "uint32",
796
+ name: "_domain",
797
+ type: "uint32",
798
+ },
799
+ ],
800
+ name: "unenrollRemoteRouter",
801
+ outputs: [],
802
+ stateMutability: "nonpayable",
803
+ type: "function",
804
+ },
805
+ {
806
+ inputs: [
807
+ {
808
+ internalType: "uint32[]",
809
+ name: "_domains",
810
+ type: "uint32[]",
811
+ },
812
+ ],
813
+ name: "unenrollRemoteRouters",
814
+ outputs: [],
815
+ stateMutability: "nonpayable",
816
+ type: "function",
817
+ },
818
+ ];
819
+ const _bytecode = "0x60e06040523480156200001157600080fd5b506040516200369f3803806200369f833981016040819052620000349162000185565b818180808080806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001089190620001d4565b63ffffffff1660a0526200011c3362000133565b50505060ff90931660c05250620002039350505050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080604083850312156200019957600080fd5b825160ff81168114620001ab57600080fd5b60208401519092506001600160a01b0381168114620001c957600080fd5b809150509250929050565b600060208284031215620001e757600080fd5b815163ffffffff81168114620001fc57600080fd5b9392505050565b60805160a05160c0516134576200024860003960006103640152600061051c01526000818161063b01528181610c50015281816122ff015261253101526134576000f3fe60806040526004361061024f5760003560e01c806381b4e8b411610138578063d5438eae116100b0578063eedfca5f1161007f578063f2ed8c5311610064578063f2ed8c531461073d578063f2fde38b1461075d578063f5f09f2e1461077d57600080fd5b8063eedfca5f146106fd578063efae508a1461071d57600080fd5b8063d5438eae14610629578063dd62ed3e1461065d578063de523cf3146106b0578063e9198bf9146106dd57600080fd5b8063a457c2d711610107578063a9059cbb116100ec578063a9059cbb146105c9578063b1bd6436146105e9578063b49c53a71461060957600080fd5b8063a457c2d714610593578063a478333b146105b357600080fd5b806381b4e8b4146104f75780638d3638f41461050a5780638da5cb5b1461055357806395d89b411461057e57600080fd5b80633dfd3873116101cb57806370a082311161019a57806371a15b381161017f57806371a15b3814610458578063775313a1146104785780637f5a7c7b146104a557600080fd5b806370a0823114610423578063715018a61461044357600080fd5b80633dfd3873146103ae578063440df4f4146103ce57806349d462ef146103f057806356d5d4751461041057600080fd5b80631b177491116102225780632ead72f6116102075780632ead72f614610330578063313ce56714610350578063395093511461038e57600080fd5b80631b177491146102f057806323b872dd1461031057600080fd5b806306fdde0314610254578063095ea7b31461027f5780630e72cc06146102af57806318160ddd146102d1575b600080fd5b34801561026057600080fd5b50610269610790565b6040516102769190612a16565b60405180910390f35b34801561028b57600080fd5b5061029f61029a366004612a52565b610822565b6040519015158152602001610276565b3480156102bb57600080fd5b506102cf6102ca366004612a7c565b61083c565b005b3480156102dd57600080fd5b506035545b604051908152602001610276565b3480156102fc57600080fd5b506102cf61030b366004612aab565b610957565b34801561031c57600080fd5b5061029f61032b366004612af9565b610a5c565b34801561033c57600080fd5b506102e261034b366004612b35565b610a80565b34801561035c57600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610276565b34801561039a57600080fd5b5061029f6103a9366004612a52565b610a9f565b3480156103ba57600080fd5b506102cf6103c9366004612a7c565b610aeb565b3480156103da57600080fd5b506103e3610c01565b6040516102769190612b50565b3480156103fc57600080fd5b506102cf61040b366004612b9a565b610c12565b6102cf61041e366004612bb6565b610c38565b34801561042f57600080fd5b506102e261043e366004612a7c565b610dac565b34801561044f57600080fd5b506102cf610db7565b34801561046457600080fd5b506102cf610473366004612c82565b610dcb565b34801561048457600080fd5b506102e2610493366004612b35565b60cc6020526000908152604090205481565b3480156104b157600080fd5b506097546104d29073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610276565b6102e2610505366004612cc4565b610e26565b34801561051657600080fd5b5061053e7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610276565b34801561055f57600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166104d2565b34801561058a57600080fd5b50610269610e34565b34801561059f57600080fd5b5061029f6105ae366004612a52565b610e43565b3480156105bf57600080fd5b506102e260cd5481565b3480156105d557600080fd5b5061029f6105e4366004612a52565b610f14565b3480156105f557600080fd5b506102cf610604366004612cf7565b610f22565b34801561061557600080fd5b506102cf610624366004612b9a565b610fac565b34801561063557600080fd5b506104d27f000000000000000000000000000000000000000000000000000000000000000081565b34801561066957600080fd5b506102e2610678366004612d6c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b3480156106bc57600080fd5b506098546104d29073ffffffffffffffffffffffffffffffffffffffff1681565b3480156106e957600080fd5b506102cf6106f8366004612d9f565b610fbe565b34801561070957600080fd5b506102cf610718366004612ee5565b611095565b34801561072957600080fd5b506102cf610738366004612b35565b611235565b34801561074957600080fd5b506102e2610758366004612b35565b611249565b34801561076957600080fd5b506102cf610778366004612a7c565b611264565b6102e261078b366004612f52565b611318565b60606036805461079f90612f8b565b80601f01602080910402602001604051908101604052809291908181526020018280546107cb90612f8b565b80156108185780601f106107ed57610100808354040283529160200191610818565b820191906000526020600020905b8154815290600101906020018083116107fb57829003601f168201915b5050505050905090565b6000336108308185856113a1565b60019150505b92915050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610876575073ffffffffffffffffffffffffffffffffffffffff8116155b610907576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61090f611554565b50609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000610966838387878a6115d5565b600081815260ce602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16156109f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f7265717565737420616c72656164792066696c6c65640000000000000000000060448201526064016108fe565b600081815260ce6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001633908117909155610a4190610a3c868861300d565b61166d565b610a5486610a4f868861300d565b611677565b505050505050565b600033610a6a858285611681565b610a75858585611752565b506001949350505050565b600080610a97609963ffffffff808616906119c816565b949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906108309082908690610ae6908790613020565b6113a1565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b25575073ffffffffffffffffffffffffffffffffffffffff8116155b610bb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016108fe565b610bb9611554565b50609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060610c0d60996119e1565b905090565b610c1a611554565b63ffffffff91909116600090815260cc6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016108fe565b6000610d0885611a9c565b9050838114610d99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016108fe565b610da585858585611b02565b5050505050565b600061083682611b0e565b610dbf611554565b610dc96000611b39565b565b610dd3611554565b8060005b81811015610e2057610e0e848483818110610df457610df4613033565b9050602002016020810190610e099190612b35565b611bb0565b610e19600182613020565b9050610dd7565b50505050565b6000610a9784848434611c05565b60606037805461079f90612f8b565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610f07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016108fe565b610a7582868684036113a1565b600033610830818585611752565b610f2a611554565b60005b81811015610fa757610f95838383818110610f4a57610f4a613033565b610f609260206040909202019081019150612b35565b848484818110610f7257610f72613033565b9050604002016020013563ffffffff909116600090815260cc6020526040902055565b610fa0600182613020565b9050610f2d565b505050565b610fb4611554565b610c348282611c74565b610fc6611554565b82811461102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016108fe565b8260005b81811015610a545761108386868381811061105057611050613033565b90506020020160208101906110659190612b35565b85858481811061107757611077613033565b90506020020135611c74565b61108e600182613020565b9050611033565b600054610100900460ff16158080156110b55750600054600160ff909116105b806110cf5750303b1580156110cf575060005460ff166001145b61115b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108fe565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156111b957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6111c38383611c8a565b6111cd3385611d2b565b8015610e2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b61123d611554565b61124681611bb0565b50565b60006108368260405180602001604052806000815250611e20565b61126c611554565b73ffffffffffffffffffffffffffffffffffffffff811661130f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108fe565b61124681611b39565b60008060cd54600161132a9190613020565b60cd8190559050600061133e858584611e39565b90506113548761134f888885611e72565b611e89565b9250858763ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8760405161138f91815260200190565b60405180910390a35050949350505050565b73ffffffffffffffffffffffffffffffffffffffff8316611443576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108fe565b73ffffffffffffffffffffffffffffffffffffffff82166114e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108fe565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610dc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fe565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1660208201526024810185905260448101849052606481018390527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660848201526000906098016040516020818303038152906040528051906020012090505b95945050505050565b610c348282611e9d565b610c348282611d2b565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e205781811015611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108fe565b610e2084848484036113a1565b73ffffffffffffffffffffffffffffffffffffffff83166117f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108fe565b73ffffffffffffffffffffffffffffffffffffffff8216611898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108fe565b73ffffffffffffffffffffffffffffffffffffffff83166000908152603360205260409020548181101561194e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108fe565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119bb9086815260200190565b60405180910390a3610e20565b6000806119d58484612063565b915091505b9250929050565b606060006119ee8361209d565b9050805167ffffffffffffffff811115611a0a57611a0a612e0b565b604051908082528060200260200182016040528015611a33578160200160208202803683370190505b50915060005b8151811015611a9557818181518110611a5457611a54613033565b6020026020010151838281518110611a6e57611a6e613033565b63ffffffff9092166020928302919091019091015280611a8d81613062565b915050611a39565b5050919050565b60008080611ab4609963ffffffff808716906119c816565b9150915081611ac285612138565b90611afa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe9190612a16565b509392505050565b610e208484848461216f565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260336020526040812054610836565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611bc4609963ffffffff808416906121fa16565b611bcd82612138565b90610c34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe9190612a16565b600080611c1184612206565b9050611c288684611c23888886611e72565b612226565b9150848663ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec86604051611c6391815260200190565b60405180910390a350949350505050565b610c34609963ffffffff80851690849061224016565b600054610100900460ff16611d21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108fe565b610c34828261224b565b73ffffffffffffffffffffffffffffffffffffffff8216611da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108fe565b8060356000828254611dba9190613020565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080611e2c84611a9c565b9050610a978482856122fb565b6060611e45338561166d565b60408051602081018590529081018390526060015b60405160208183030381529060405290509392505050565b6060838383604051602001611e5a9392919061309a565b6000611e96833484612226565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216611f40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016108fe565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015611ff6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016108fe565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60008181526002830160205260408120548190806120925761208585856123dc565b9250600091506119da9050565b6001925090506119da565b606060006120aa836123e8565b90508067ffffffffffffffff8111156120c5576120c5612e0b565b6040519080825280602002602001820160405280156120ee578160200160208202803683370190505b50915060005b81811015611a955761210684826123f3565b60001c83828151811061211b5761211b613033565b60209081029190910101528061213081613062565b9150506120f4565b60606121498263ffffffff166123ff565b60405160200161215991906130c7565b6040516020818303038152906040529050919050565b600061217b83836124bd565b9050600061218984846124d5565b905036600061219886866124e5565b915091506121af6121a68590565b848a85856124f5565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a6856040516121e891815260200190565b60405180910390a35050505050505050565b6000611e968383612510565b60606122123383611e9d565b505060408051602081019091526000815290565b60008061223285611a9c565b90506116648582868661252d565b610e20838383612611565b600054610100900460ff166122e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108fe565b60366122ee8382613152565b506037610fa78282613152565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166381d2ea958585856123458961262e565b6097546040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815261239b959493929173ffffffffffffffffffffffffffffffffffffffff169060040161326c565b602060405180830381865afa1580156123b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9791906132cc565b6000611e968383612651565b600061083682612669565b6000611e968383612673565b6060600061240c8361269d565b600101905060008167ffffffffffffffff81111561242c5761242c612e0b565b6040519080825280601f01601f191660200182016040528015612456576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461246057509392505050565b60006124cc60208284866132e5565b611e969161330f565b60006124cc6040602084866132e5565b3660006119d583604081876132e5565b6000612504868686868661277f565b9050610a548186611677565b60008181526002830160205260408120819055611e9683836127fb565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc0848787866125788b61262e565b6097546040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b1681526125ce959493929173ffffffffffffffffffffffffffffffffffffffff169060040161326c565b60206040518083038185885af11580156125ec573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061166491906132cc565b60008281526002840160205260408120829055610a978484612807565b63ffffffff8116600090815260cc60205260409020546060906108369033612813565b60008181526001830160205260408120541515611e96565b6000610836825490565b600082600001828154811061268a5761268a613033565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106126e6577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612712576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061273057662386f26fc10000830492506010015b6305f5e1008310612748576305f5e100830492506008015b612710831061275c57612710830492506004015b6064831061276e576064830492506002015b600a83106108365760010192915050565b600081810361278f575084611664565b60008061279e8486018661334b565b91509150600060ce60006127b589858c888f6115d5565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff16905080156127ee579250611664915050565b5096979650505050505050565b6000611e968383612831565b6000611e968383612924565b6060611e966000848460405180602001604052806000815250612973565b6000818152600183016020526040812054801561291a57600061285560018361300d565b85549091506000906128699060019061300d565b90508181146128ce57600086600001828154811061288957612889613033565b90600052602060002001549050808760000184815481106128ac576128ac613033565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806128df576128df61336d565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610836565b6000915050610836565b600081815260018301602052604081205461296b57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610836565b506000610836565b606060018585858560405160200161298f95949392919061339c565b6040516020818303038152906040529050949350505050565b60005b838110156129c35781810151838201526020016129ab565b50506000910152565b600081518084526129e48160208601602086016129a8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611e9660208301846129cc565b803573ffffffffffffffffffffffffffffffffffffffff81168114612a4d57600080fd5b919050565b60008060408385031215612a6557600080fd5b612a6e83612a29565b946020939093013593505050565b600060208284031215612a8e57600080fd5b611e9682612a29565b803563ffffffff81168114612a4d57600080fd5b600080600080600060a08688031215612ac357600080fd5b612acc86612a29565b94506020860135935060408601359250612ae860608701612a97565b949793965091946080013592915050565b600080600060608486031215612b0e57600080fd5b612b1784612a29565b9250612b2560208501612a29565b9150604084013590509250925092565b600060208284031215612b4757600080fd5b611e9682612a97565b6020808252825182820181905260009190848201906040850190845b81811015612b8e57835163ffffffff1683529284019291840191600101612b6c565b50909695505050505050565b60008060408385031215612bad57600080fd5b612a6e83612a97565b60008060008060608587031215612bcc57600080fd5b612bd585612a97565b935060208501359250604085013567ffffffffffffffff80821115612bf957600080fd5b818701915087601f830112612c0d57600080fd5b813581811115612c1c57600080fd5b886020828501011115612c2e57600080fd5b95989497505060200194505050565b60008083601f840112612c4f57600080fd5b50813567ffffffffffffffff811115612c6757600080fd5b6020830191508360208260051b85010111156119da57600080fd5b60008060208385031215612c9557600080fd5b823567ffffffffffffffff811115612cac57600080fd5b612cb885828601612c3d565b90969095509350505050565b600080600060608486031215612cd957600080fd5b612ce284612a97565b95602085013595506040909401359392505050565b60008060208385031215612d0a57600080fd5b823567ffffffffffffffff80821115612d2257600080fd5b818501915085601f830112612d3657600080fd5b813581811115612d4557600080fd5b8660208260061b8501011115612d5a57600080fd5b60209290920196919550909350505050565b60008060408385031215612d7f57600080fd5b612d8883612a29565b9150612d9660208401612a29565b90509250929050565b60008060008060408587031215612db557600080fd5b843567ffffffffffffffff80821115612dcd57600080fd5b612dd988838901612c3d565b90965094506020870135915080821115612df257600080fd5b50612dff87828801612c3d565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612e4b57600080fd5b813567ffffffffffffffff80821115612e6657612e66612e0b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612eac57612eac612e0b565b81604052838152866020858801011115612ec557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215612efa57600080fd5b83359250602084013567ffffffffffffffff80821115612f1957600080fd5b612f2587838801612e3a565b93506040860135915080821115612f3b57600080fd5b50612f4886828701612e3a565b9150509250925092565b60008060008060808587031215612f6857600080fd5b612f7185612a97565b966020860135965060408601359560600135945092505050565b600181811c90821680612f9f57607f821691505b602082108103612fd8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561083657610836612fde565b8082018082111561083657610836612fde565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361309357613093612fde565b5060010190565b838152826020820152600082516130b88160408501602087016129a8565b91909101604001949350505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a20008152600082516130ff81601f8501602087016129a8565b91909101601f0192915050565b601f821115610fa757600081815260208120601f850160051c810160208610156131335750805b601f850160051c820191505b81811015610a545782815560010161313f565b815167ffffffffffffffff81111561316c5761316c612e0b565b6131808161317a8454612f8b565b8461310c565b602080601f8311600181146131d3576000841561319d5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610a54565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561322057888601518255948401946001909101908401613201565b508582101561325c57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff8616815284602082015260a06040820152600061329160a08301866129cc565b82810360608401526132a381866129cc565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b6000602082840312156132de57600080fd5b5051919050565b600080858511156132f557600080fd5b8386111561330257600080fd5b5050820193919092039150565b80356020831015610836577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000806040838503121561335e57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b166042820152600082516134108160568501602087016129a8565b91909101605601969550505050505056fea2646970667358221220a814f7e47feebdaa5a287523f52b2bf66ccafa7f800222f246d7e456d060009564736f6c63430008130033";
820
+ const isSuperArgs = (xs) => xs.length > 1;
821
+ class FastHypERC20__factory extends ethers_1.ContractFactory {
822
+ constructor(...args) {
823
+ if (isSuperArgs(args)) {
824
+ super(...args);
825
+ }
826
+ else {
827
+ super(_abi, _bytecode, args[0]);
828
+ }
829
+ }
830
+ deploy(__decimals, _mailbox, overrides) {
831
+ return super.deploy(__decimals, _mailbox, overrides || {});
832
+ }
833
+ getDeployTransaction(__decimals, _mailbox, overrides) {
834
+ return super.getDeployTransaction(__decimals, _mailbox, overrides || {});
835
+ }
836
+ attach(address) {
837
+ return super.attach(address);
838
+ }
839
+ connect(signer) {
840
+ return super.connect(signer);
841
+ }
842
+ static createInterface() {
843
+ return new ethers_1.utils.Interface(_abi);
844
+ }
845
+ static connect(address, signerOrProvider) {
846
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
847
+ }
848
+ }
849
+ exports.FastHypERC20__factory = FastHypERC20__factory;
850
+ FastHypERC20__factory.bytecode = _bytecode;
851
+ FastHypERC20__factory.abi = _abi;
852
+ //# sourceMappingURL=FastHypERC20__factory.js.map