@imtbl/sdk 0.2.3 → 0.3.0-alpha.1

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.
@@ -0,0 +1,1165 @@
1
+ import { ContractFactory, utils, Contract } from 'ethers';
2
+
3
+ /* Autogenerated file. Do not edit manually. */
4
+ /* tslint:disable */
5
+ /* eslint-disable */
6
+ const _abi$1 = [
7
+ {
8
+ inputs: [
9
+ {
10
+ internalType: "address",
11
+ name: "owner_",
12
+ type: "address",
13
+ },
14
+ {
15
+ internalType: "string",
16
+ name: "name_",
17
+ type: "string",
18
+ },
19
+ {
20
+ internalType: "string",
21
+ name: "symbol_",
22
+ type: "string",
23
+ },
24
+ {
25
+ internalType: "string",
26
+ name: "baseURI_",
27
+ type: "string",
28
+ },
29
+ {
30
+ internalType: "string",
31
+ name: "contractURI_",
32
+ type: "string",
33
+ },
34
+ {
35
+ internalType: "address",
36
+ name: "_receiver",
37
+ type: "address",
38
+ },
39
+ {
40
+ internalType: "uint96",
41
+ name: "_feeNumerator",
42
+ type: "uint96",
43
+ },
44
+ ],
45
+ stateMutability: "nonpayable",
46
+ type: "constructor",
47
+ },
48
+ {
49
+ inputs: [
50
+ {
51
+ internalType: "address",
52
+ name: "target",
53
+ type: "address",
54
+ },
55
+ ],
56
+ name: "ApproveTargetNotInAllowlist",
57
+ type: "error",
58
+ },
59
+ {
60
+ inputs: [
61
+ {
62
+ internalType: "address",
63
+ name: "caller",
64
+ type: "address",
65
+ },
66
+ ],
67
+ name: "CallerNotInAllowlist",
68
+ type: "error",
69
+ },
70
+ {
71
+ anonymous: false,
72
+ inputs: [
73
+ {
74
+ indexed: true,
75
+ internalType: "address",
76
+ name: "owner",
77
+ type: "address",
78
+ },
79
+ {
80
+ indexed: true,
81
+ internalType: "address",
82
+ name: "approved",
83
+ type: "address",
84
+ },
85
+ {
86
+ indexed: true,
87
+ internalType: "uint256",
88
+ name: "tokenId",
89
+ type: "uint256",
90
+ },
91
+ ],
92
+ name: "Approval",
93
+ type: "event",
94
+ },
95
+ {
96
+ anonymous: false,
97
+ inputs: [
98
+ {
99
+ indexed: true,
100
+ internalType: "address",
101
+ name: "owner",
102
+ type: "address",
103
+ },
104
+ {
105
+ indexed: true,
106
+ internalType: "address",
107
+ name: "operator",
108
+ type: "address",
109
+ },
110
+ {
111
+ indexed: false,
112
+ internalType: "bool",
113
+ name: "approved",
114
+ type: "bool",
115
+ },
116
+ ],
117
+ name: "ApprovalForAll",
118
+ type: "event",
119
+ },
120
+ {
121
+ anonymous: false,
122
+ inputs: [
123
+ {
124
+ indexed: true,
125
+ internalType: "bytes32",
126
+ name: "role",
127
+ type: "bytes32",
128
+ },
129
+ {
130
+ indexed: true,
131
+ internalType: "bytes32",
132
+ name: "previousAdminRole",
133
+ type: "bytes32",
134
+ },
135
+ {
136
+ indexed: true,
137
+ internalType: "bytes32",
138
+ name: "newAdminRole",
139
+ type: "bytes32",
140
+ },
141
+ ],
142
+ name: "RoleAdminChanged",
143
+ type: "event",
144
+ },
145
+ {
146
+ anonymous: false,
147
+ inputs: [
148
+ {
149
+ indexed: true,
150
+ internalType: "bytes32",
151
+ name: "role",
152
+ type: "bytes32",
153
+ },
154
+ {
155
+ indexed: true,
156
+ internalType: "address",
157
+ name: "account",
158
+ type: "address",
159
+ },
160
+ {
161
+ indexed: true,
162
+ internalType: "address",
163
+ name: "sender",
164
+ type: "address",
165
+ },
166
+ ],
167
+ name: "RoleGranted",
168
+ type: "event",
169
+ },
170
+ {
171
+ anonymous: false,
172
+ inputs: [
173
+ {
174
+ indexed: true,
175
+ internalType: "bytes32",
176
+ name: "role",
177
+ type: "bytes32",
178
+ },
179
+ {
180
+ indexed: true,
181
+ internalType: "address",
182
+ name: "account",
183
+ type: "address",
184
+ },
185
+ {
186
+ indexed: true,
187
+ internalType: "address",
188
+ name: "sender",
189
+ type: "address",
190
+ },
191
+ ],
192
+ name: "RoleRevoked",
193
+ type: "event",
194
+ },
195
+ {
196
+ anonymous: false,
197
+ inputs: [
198
+ {
199
+ indexed: false,
200
+ internalType: "address",
201
+ name: "oldRegistry",
202
+ type: "address",
203
+ },
204
+ {
205
+ indexed: false,
206
+ internalType: "address",
207
+ name: "newRegistry",
208
+ type: "address",
209
+ },
210
+ ],
211
+ name: "RoyaltytAllowlistRegistryUpdated",
212
+ type: "event",
213
+ },
214
+ {
215
+ anonymous: false,
216
+ inputs: [
217
+ {
218
+ indexed: true,
219
+ internalType: "address",
220
+ name: "from",
221
+ type: "address",
222
+ },
223
+ {
224
+ indexed: true,
225
+ internalType: "address",
226
+ name: "to",
227
+ type: "address",
228
+ },
229
+ {
230
+ indexed: true,
231
+ internalType: "uint256",
232
+ name: "tokenId",
233
+ type: "uint256",
234
+ },
235
+ ],
236
+ name: "Transfer",
237
+ type: "event",
238
+ },
239
+ {
240
+ inputs: [],
241
+ name: "DEFAULT_ADMIN_ROLE",
242
+ outputs: [
243
+ {
244
+ internalType: "bytes32",
245
+ name: "",
246
+ type: "bytes32",
247
+ },
248
+ ],
249
+ stateMutability: "view",
250
+ type: "function",
251
+ },
252
+ {
253
+ inputs: [],
254
+ name: "MINTER_ROLE",
255
+ outputs: [
256
+ {
257
+ internalType: "bytes32",
258
+ name: "",
259
+ type: "bytes32",
260
+ },
261
+ ],
262
+ stateMutability: "view",
263
+ type: "function",
264
+ },
265
+ {
266
+ inputs: [
267
+ {
268
+ internalType: "address",
269
+ name: "to",
270
+ type: "address",
271
+ },
272
+ {
273
+ internalType: "uint256",
274
+ name: "tokenId",
275
+ type: "uint256",
276
+ },
277
+ ],
278
+ name: "approve",
279
+ outputs: [],
280
+ stateMutability: "nonpayable",
281
+ type: "function",
282
+ },
283
+ {
284
+ inputs: [
285
+ {
286
+ internalType: "address",
287
+ name: "owner",
288
+ type: "address",
289
+ },
290
+ ],
291
+ name: "balanceOf",
292
+ outputs: [
293
+ {
294
+ internalType: "uint256",
295
+ name: "",
296
+ type: "uint256",
297
+ },
298
+ ],
299
+ stateMutability: "view",
300
+ type: "function",
301
+ },
302
+ {
303
+ inputs: [],
304
+ name: "baseURI",
305
+ outputs: [
306
+ {
307
+ internalType: "string",
308
+ name: "",
309
+ type: "string",
310
+ },
311
+ ],
312
+ stateMutability: "view",
313
+ type: "function",
314
+ },
315
+ {
316
+ inputs: [
317
+ {
318
+ internalType: "uint256",
319
+ name: "tokenId",
320
+ type: "uint256",
321
+ },
322
+ ],
323
+ name: "burn",
324
+ outputs: [],
325
+ stateMutability: "nonpayable",
326
+ type: "function",
327
+ },
328
+ {
329
+ inputs: [],
330
+ name: "contractURI",
331
+ outputs: [
332
+ {
333
+ internalType: "string",
334
+ name: "",
335
+ type: "string",
336
+ },
337
+ ],
338
+ stateMutability: "view",
339
+ type: "function",
340
+ },
341
+ {
342
+ inputs: [],
343
+ name: "getAdmins",
344
+ outputs: [
345
+ {
346
+ internalType: "address[]",
347
+ name: "",
348
+ type: "address[]",
349
+ },
350
+ ],
351
+ stateMutability: "view",
352
+ type: "function",
353
+ },
354
+ {
355
+ inputs: [
356
+ {
357
+ internalType: "uint256",
358
+ name: "tokenId",
359
+ type: "uint256",
360
+ },
361
+ ],
362
+ name: "getApproved",
363
+ outputs: [
364
+ {
365
+ internalType: "address",
366
+ name: "",
367
+ type: "address",
368
+ },
369
+ ],
370
+ stateMutability: "view",
371
+ type: "function",
372
+ },
373
+ {
374
+ inputs: [
375
+ {
376
+ internalType: "bytes32",
377
+ name: "role",
378
+ type: "bytes32",
379
+ },
380
+ ],
381
+ name: "getRoleAdmin",
382
+ outputs: [
383
+ {
384
+ internalType: "bytes32",
385
+ name: "",
386
+ type: "bytes32",
387
+ },
388
+ ],
389
+ stateMutability: "view",
390
+ type: "function",
391
+ },
392
+ {
393
+ inputs: [
394
+ {
395
+ internalType: "bytes32",
396
+ name: "role",
397
+ type: "bytes32",
398
+ },
399
+ {
400
+ internalType: "uint256",
401
+ name: "index",
402
+ type: "uint256",
403
+ },
404
+ ],
405
+ name: "getRoleMember",
406
+ outputs: [
407
+ {
408
+ internalType: "address",
409
+ name: "",
410
+ type: "address",
411
+ },
412
+ ],
413
+ stateMutability: "view",
414
+ type: "function",
415
+ },
416
+ {
417
+ inputs: [
418
+ {
419
+ internalType: "bytes32",
420
+ name: "role",
421
+ type: "bytes32",
422
+ },
423
+ ],
424
+ name: "getRoleMemberCount",
425
+ outputs: [
426
+ {
427
+ internalType: "uint256",
428
+ name: "",
429
+ type: "uint256",
430
+ },
431
+ ],
432
+ stateMutability: "view",
433
+ type: "function",
434
+ },
435
+ {
436
+ inputs: [
437
+ {
438
+ internalType: "address",
439
+ name: "user",
440
+ type: "address",
441
+ },
442
+ ],
443
+ name: "grantMinterRole",
444
+ outputs: [],
445
+ stateMutability: "nonpayable",
446
+ type: "function",
447
+ },
448
+ {
449
+ inputs: [
450
+ {
451
+ internalType: "bytes32",
452
+ name: "role",
453
+ type: "bytes32",
454
+ },
455
+ {
456
+ internalType: "address",
457
+ name: "account",
458
+ type: "address",
459
+ },
460
+ ],
461
+ name: "grantRole",
462
+ outputs: [],
463
+ stateMutability: "nonpayable",
464
+ type: "function",
465
+ },
466
+ {
467
+ inputs: [
468
+ {
469
+ internalType: "bytes32",
470
+ name: "role",
471
+ type: "bytes32",
472
+ },
473
+ {
474
+ internalType: "address",
475
+ name: "account",
476
+ type: "address",
477
+ },
478
+ ],
479
+ name: "hasRole",
480
+ outputs: [
481
+ {
482
+ internalType: "bool",
483
+ name: "",
484
+ type: "bool",
485
+ },
486
+ ],
487
+ stateMutability: "view",
488
+ type: "function",
489
+ },
490
+ {
491
+ inputs: [
492
+ {
493
+ internalType: "address",
494
+ name: "owner",
495
+ type: "address",
496
+ },
497
+ {
498
+ internalType: "address",
499
+ name: "operator",
500
+ type: "address",
501
+ },
502
+ ],
503
+ name: "isApprovedForAll",
504
+ outputs: [
505
+ {
506
+ internalType: "bool",
507
+ name: "",
508
+ type: "bool",
509
+ },
510
+ ],
511
+ stateMutability: "view",
512
+ type: "function",
513
+ },
514
+ {
515
+ inputs: [
516
+ {
517
+ internalType: "address",
518
+ name: "to",
519
+ type: "address",
520
+ },
521
+ {
522
+ internalType: "uint256",
523
+ name: "amount",
524
+ type: "uint256",
525
+ },
526
+ ],
527
+ name: "mint",
528
+ outputs: [],
529
+ stateMutability: "nonpayable",
530
+ type: "function",
531
+ },
532
+ {
533
+ inputs: [],
534
+ name: "name",
535
+ outputs: [
536
+ {
537
+ internalType: "string",
538
+ name: "",
539
+ type: "string",
540
+ },
541
+ ],
542
+ stateMutability: "view",
543
+ type: "function",
544
+ },
545
+ {
546
+ inputs: [
547
+ {
548
+ internalType: "uint256",
549
+ name: "tokenId",
550
+ type: "uint256",
551
+ },
552
+ ],
553
+ name: "ownerOf",
554
+ outputs: [
555
+ {
556
+ internalType: "address",
557
+ name: "",
558
+ type: "address",
559
+ },
560
+ ],
561
+ stateMutability: "view",
562
+ type: "function",
563
+ },
564
+ {
565
+ inputs: [
566
+ {
567
+ internalType: "bytes32",
568
+ name: "role",
569
+ type: "bytes32",
570
+ },
571
+ {
572
+ internalType: "address",
573
+ name: "account",
574
+ type: "address",
575
+ },
576
+ ],
577
+ name: "renounceRole",
578
+ outputs: [],
579
+ stateMutability: "nonpayable",
580
+ type: "function",
581
+ },
582
+ {
583
+ inputs: [
584
+ {
585
+ internalType: "address",
586
+ name: "user",
587
+ type: "address",
588
+ },
589
+ ],
590
+ name: "revokeMinterRole",
591
+ outputs: [],
592
+ stateMutability: "nonpayable",
593
+ type: "function",
594
+ },
595
+ {
596
+ inputs: [
597
+ {
598
+ internalType: "bytes32",
599
+ name: "role",
600
+ type: "bytes32",
601
+ },
602
+ {
603
+ internalType: "address",
604
+ name: "account",
605
+ type: "address",
606
+ },
607
+ ],
608
+ name: "revokeRole",
609
+ outputs: [],
610
+ stateMutability: "nonpayable",
611
+ type: "function",
612
+ },
613
+ {
614
+ inputs: [],
615
+ name: "royaltyAllowlist",
616
+ outputs: [
617
+ {
618
+ internalType: "contract IRoyaltyAllowlist",
619
+ name: "",
620
+ type: "address",
621
+ },
622
+ ],
623
+ stateMutability: "view",
624
+ type: "function",
625
+ },
626
+ {
627
+ inputs: [
628
+ {
629
+ internalType: "uint256",
630
+ name: "_tokenId",
631
+ type: "uint256",
632
+ },
633
+ {
634
+ internalType: "uint256",
635
+ name: "_salePrice",
636
+ type: "uint256",
637
+ },
638
+ ],
639
+ name: "royaltyInfo",
640
+ outputs: [
641
+ {
642
+ internalType: "address",
643
+ name: "",
644
+ type: "address",
645
+ },
646
+ {
647
+ internalType: "uint256",
648
+ name: "",
649
+ type: "uint256",
650
+ },
651
+ ],
652
+ stateMutability: "view",
653
+ type: "function",
654
+ },
655
+ {
656
+ inputs: [
657
+ {
658
+ internalType: "address",
659
+ name: "from",
660
+ type: "address",
661
+ },
662
+ {
663
+ internalType: "address",
664
+ name: "to",
665
+ type: "address",
666
+ },
667
+ {
668
+ internalType: "uint256",
669
+ name: "tokenId",
670
+ type: "uint256",
671
+ },
672
+ ],
673
+ name: "safeTransferFrom",
674
+ outputs: [],
675
+ stateMutability: "nonpayable",
676
+ type: "function",
677
+ },
678
+ {
679
+ inputs: [
680
+ {
681
+ internalType: "address",
682
+ name: "from",
683
+ type: "address",
684
+ },
685
+ {
686
+ internalType: "address",
687
+ name: "to",
688
+ type: "address",
689
+ },
690
+ {
691
+ internalType: "uint256",
692
+ name: "tokenId",
693
+ type: "uint256",
694
+ },
695
+ {
696
+ internalType: "bytes",
697
+ name: "data",
698
+ type: "bytes",
699
+ },
700
+ ],
701
+ name: "safeTransferFrom",
702
+ outputs: [],
703
+ stateMutability: "nonpayable",
704
+ type: "function",
705
+ },
706
+ {
707
+ inputs: [
708
+ {
709
+ internalType: "address",
710
+ name: "operator",
711
+ type: "address",
712
+ },
713
+ {
714
+ internalType: "bool",
715
+ name: "approved",
716
+ type: "bool",
717
+ },
718
+ ],
719
+ name: "setApprovalForAll",
720
+ outputs: [],
721
+ stateMutability: "nonpayable",
722
+ type: "function",
723
+ },
724
+ {
725
+ inputs: [
726
+ {
727
+ internalType: "string",
728
+ name: "baseURI_",
729
+ type: "string",
730
+ },
731
+ ],
732
+ name: "setBaseURI",
733
+ outputs: [],
734
+ stateMutability: "nonpayable",
735
+ type: "function",
736
+ },
737
+ {
738
+ inputs: [
739
+ {
740
+ internalType: "string",
741
+ name: "_contractURI",
742
+ type: "string",
743
+ },
744
+ ],
745
+ name: "setContractURI",
746
+ outputs: [],
747
+ stateMutability: "nonpayable",
748
+ type: "function",
749
+ },
750
+ {
751
+ inputs: [
752
+ {
753
+ internalType: "address",
754
+ name: "_royaltyAllowlist",
755
+ type: "address",
756
+ },
757
+ ],
758
+ name: "setRoyaltyAllowlistRegistry",
759
+ outputs: [],
760
+ stateMutability: "nonpayable",
761
+ type: "function",
762
+ },
763
+ {
764
+ inputs: [
765
+ {
766
+ internalType: "bytes4",
767
+ name: "interfaceId",
768
+ type: "bytes4",
769
+ },
770
+ ],
771
+ name: "supportsInterface",
772
+ outputs: [
773
+ {
774
+ internalType: "bool",
775
+ name: "",
776
+ type: "bool",
777
+ },
778
+ ],
779
+ stateMutability: "view",
780
+ type: "function",
781
+ },
782
+ {
783
+ inputs: [],
784
+ name: "symbol",
785
+ outputs: [
786
+ {
787
+ internalType: "string",
788
+ name: "",
789
+ type: "string",
790
+ },
791
+ ],
792
+ stateMutability: "view",
793
+ type: "function",
794
+ },
795
+ {
796
+ inputs: [
797
+ {
798
+ internalType: "uint256",
799
+ name: "index",
800
+ type: "uint256",
801
+ },
802
+ ],
803
+ name: "tokenByIndex",
804
+ outputs: [
805
+ {
806
+ internalType: "uint256",
807
+ name: "",
808
+ type: "uint256",
809
+ },
810
+ ],
811
+ stateMutability: "view",
812
+ type: "function",
813
+ },
814
+ {
815
+ inputs: [
816
+ {
817
+ internalType: "address",
818
+ name: "owner",
819
+ type: "address",
820
+ },
821
+ {
822
+ internalType: "uint256",
823
+ name: "index",
824
+ type: "uint256",
825
+ },
826
+ ],
827
+ name: "tokenOfOwnerByIndex",
828
+ outputs: [
829
+ {
830
+ internalType: "uint256",
831
+ name: "",
832
+ type: "uint256",
833
+ },
834
+ ],
835
+ stateMutability: "view",
836
+ type: "function",
837
+ },
838
+ {
839
+ inputs: [
840
+ {
841
+ internalType: "uint256",
842
+ name: "tokenId",
843
+ type: "uint256",
844
+ },
845
+ ],
846
+ name: "tokenURI",
847
+ outputs: [
848
+ {
849
+ internalType: "string",
850
+ name: "",
851
+ type: "string",
852
+ },
853
+ ],
854
+ stateMutability: "view",
855
+ type: "function",
856
+ },
857
+ {
858
+ inputs: [],
859
+ name: "totalSupply",
860
+ outputs: [
861
+ {
862
+ internalType: "uint256",
863
+ name: "",
864
+ type: "uint256",
865
+ },
866
+ ],
867
+ stateMutability: "view",
868
+ type: "function",
869
+ },
870
+ {
871
+ inputs: [
872
+ {
873
+ internalType: "address",
874
+ name: "from",
875
+ type: "address",
876
+ },
877
+ {
878
+ internalType: "address",
879
+ name: "to",
880
+ type: "address",
881
+ },
882
+ {
883
+ internalType: "uint256",
884
+ name: "tokenId",
885
+ type: "uint256",
886
+ },
887
+ ],
888
+ name: "transferFrom",
889
+ outputs: [],
890
+ stateMutability: "nonpayable",
891
+ type: "function",
892
+ },
893
+ ];
894
+ const _bytecode$1 = "0x60806040523480156200001157600080fd5b50604051620060d4380380620060d4833981810160405281019062000037919062000762565b868686868686868585816000908162000051919062000adc565b50806001908162000063919062000adc565b505050620000788282620000dc60201b60201c565b6200008d6000801b886200027f60201b60201c565b83601090816200009e919062000adc565b5082600f9081620000b0919062000adc565b50620000c86011620002c760201b620015f11760201c565b505050505050505050505050505062000cde565b620000ec620002dd60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156200014d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001449062000c4a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001b69062000cbc565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600d60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b620002968282620002e760201b620016071760201c565b620002c28160076000858152602001908152602001600020620003d960201b620016e81790919060201c565b505050565b6001816000016000828254019250508190555050565b6000612710905090565b620002f982826200041160201b60201c565b620003d55760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200037a6200047c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000409836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200048460201b60201c565b905092915050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000620004988383620004fe60201b60201c565b620004f3578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620004f8565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005628262000535565b9050919050565b620005748162000555565b81146200058057600080fd5b50565b600081519050620005948162000569565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005ef82620005a4565b810181811067ffffffffffffffff82111715620006115762000610620005b5565b5b80604052505050565b60006200062662000521565b9050620006348282620005e4565b919050565b600067ffffffffffffffff821115620006575762000656620005b5565b5b6200066282620005a4565b9050602081019050919050565b60005b838110156200068f57808201518184015260208101905062000672565b60008484015250505050565b6000620006b2620006ac8462000639565b6200061a565b905082815260208101848484011115620006d157620006d06200059f565b5b620006de8482856200066f565b509392505050565b600082601f830112620006fe57620006fd6200059a565b5b8151620007108482602086016200069b565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b6200073c8162000719565b81146200074857600080fd5b50565b6000815190506200075c8162000731565b92915050565b600080600080600080600060e0888a0312156200078457620007836200052b565b5b6000620007948a828b0162000583565b975050602088015167ffffffffffffffff811115620007b857620007b762000530565b5b620007c68a828b01620006e6565b965050604088015167ffffffffffffffff811115620007ea57620007e962000530565b5b620007f88a828b01620006e6565b955050606088015167ffffffffffffffff8111156200081c576200081b62000530565b5b6200082a8a828b01620006e6565b945050608088015167ffffffffffffffff8111156200084e576200084d62000530565b5b6200085c8a828b01620006e6565b93505060a06200086f8a828b0162000583565b92505060c0620008828a828b016200074b565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008e457607f821691505b602082108103620008fa57620008f96200089c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000925565b62000970868362000925565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009bd620009b7620009b18462000988565b62000992565b62000988565b9050919050565b6000819050919050565b620009d9836200099c565b620009f1620009e882620009c4565b84845462000932565b825550505050565b600090565b62000a08620009f9565b62000a15818484620009ce565b505050565b5b8181101562000a3d5762000a31600082620009fe565b60018101905062000a1b565b5050565b601f82111562000a8c5762000a568162000900565b62000a618462000915565b8101602085101562000a71578190505b62000a8962000a808562000915565b83018262000a1a565b50505b505050565b600082821c905092915050565b600062000ab16000198460080262000a91565b1980831691505092915050565b600062000acc838362000a9e565b9150826002028217905092915050565b62000ae78262000891565b67ffffffffffffffff81111562000b035762000b02620005b5565b5b62000b0f8254620008cb565b62000b1c82828562000a41565b600060209050601f83116001811462000b54576000841562000b3f578287015190505b62000b4b858262000abe565b86555062000bbb565b601f19841662000b648662000900565b60005b8281101562000b8e5784890151825560018201915060208501945060208101905062000b67565b8683101562000bae578489015162000baa601f89168262000a9e565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000c32602a8362000bc3565b915062000c3f8262000bd4565b604082019050919050565b6000602082019050818103600083015262000c658162000c23565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000ca460198362000bc3565b915062000cb18262000c6c565b602082019050919050565b6000602082019050818103600083015262000cd78162000c95565b9050919050565b6153e68062000cee6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80636352211e1161013057806395d89b41116100b8578063ca15c8731161007c578063ca15c87314610697578063d5391393146106c7578063d547741f146106e5578063e8a3d48514610701578063e985e9c51461071f57610227565b806395d89b41146105f3578063a217fddf14610611578063a22cb4651461062f578063b88d4fde1461064b578063c87b56dd1461066757610227565b80636c0360eb116100ff5780636c0360eb1461052957806370a08231146105475780639010d07c1461057757806391d14854146105a7578063938e3d7b146105d757610227565b80636352211e146104a35780636588962a146104d357806369e2f0fb146104ef5780636b3a06321461050b57610227565b80632f745c59116101b357806340c10f191161018257806340c10f191461040357806342842e0e1461041f57806342966c681461043b5780634f6ccce71461045757806355f804b31461048757610227565b80632f745c591461037d57806331ae450b146103ad57806336568abe146103cb5780633dd1eb61146103e757610227565b806318160ddd116101fa57806318160ddd146102c657806323b872dd146102e4578063248a9ca3146103005780632a55205a146103305780632f2ff15d1461036157610227565b806301ffc9a71461022c57806306fdde031461025c578063081812fc1461027a578063095ea7b3146102aa575b600080fd5b61024660048036038101906102419190613a2e565b61074f565b6040516102539190613a76565b60405180910390f35b610264610761565b6040516102719190613b21565b60405180910390f35b610294600480360381019061028f9190613b79565b6107f3565b6040516102a19190613be7565b60405180910390f35b6102c460048036038101906102bf9190613c2e565b610839565b005b6102ce610847565b6040516102db9190613c7d565b60405180910390f35b6102fe60048036038101906102f99190613c98565b610854565b005b61031a60048036038101906103159190613d21565b6108b4565b6040516103279190613d5d565b60405180910390f35b61034a60048036038101906103459190613d78565b6108d4565b604051610358929190613db8565b60405180910390f35b61037b60048036038101906103769190613de1565b610abe565b005b61039760048036038101906103929190613c2e565b610adf565b6040516103a49190613c7d565b60405180910390f35b6103b5610b84565b6040516103c29190613edf565b60405180910390f35b6103e560048036038101906103e09190613de1565b610c64565b005b61040160048036038101906103fc9190613f01565b610ce7565b005b61041d60048036038101906104189190613c2e565b610d22565b005b61043960048036038101906104349190613c98565b610d7a565b005b61045560048036038101906104509190613b79565b610d9a565b005b610471600480360381019061046c9190613b79565b610df6565b60405161047e9190613c7d565b60405180910390f35b6104a1600480360381019061049c9190614063565b610e67565b005b6104bd60048036038101906104b89190613b79565b610e88565b6040516104ca9190613be7565b60405180910390f35b6104ed60048036038101906104e89190613f01565b610f0e565b005b61050960048036038101906105049190613f01565b611094565b005b6105136110cf565b604051610520919061410b565b60405180910390f35b6105316110f5565b60405161053e9190613b21565b60405180910390f35b610561600480360381019061055c9190613f01565b611183565b60405161056e9190613c7d565b60405180910390f35b610591600480360381019061058c9190614126565b61123a565b60405161059e9190613be7565b60405180910390f35b6105c160048036038101906105bc9190613de1565b611269565b6040516105ce9190613a76565b60405180910390f35b6105f160048036038101906105ec9190614063565b6112d4565b005b6105fb6112f5565b6040516106089190613b21565b60405180910390f35b610619611387565b6040516106269190613d5d565b60405180910390f35b61064960048036038101906106449190614192565b61138e565b005b61066560048036038101906106609190614273565b61139c565b005b610681600480360381019061067c9190613b79565b6113fe565b60405161068e9190613b21565b60405180910390f35b6106b160048036038101906106ac9190613d21565b611466565b6040516106be9190613c7d565b60405180910390f35b6106cf61148a565b6040516106dc9190613d5d565b60405180910390f35b6106ff60048036038101906106fa9190613de1565b6114ae565b005b6107096114cf565b6040516107169190613b21565b60405180910390f35b610739600480360381019061073491906142f6565b61155d565b6040516107469190613a76565b60405180910390f35b600061075a82611718565b9050919050565b60606000805461077090614365565b80601f016020809104026020016040519081016040528092919081815260200182805461079c90614365565b80156107e95780601f106107be576101008083540402835291602001916107e9565b820191906000526020600020905b8154815290600101906020018083116107cc57829003601f168201915b5050505050905090565b60006107fe82611792565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61084382826117dd565b5050565b6000600b80549050905090565b61086561085f6117f4565b826117fc565b6108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089b90614408565b60405180910390fd5b6108af838383611891565b505050565b600060066000838152602001908152602001600020600101549050919050565b6000806000600e60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610a6957600d6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610a736118a1565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610a9f9190614457565b610aa991906144c8565b90508160000151819350935050509250929050565b610ac7826108b4565b610ad0816118ab565b610ada83836118bf565b505050565b6000610aea83611183565b8210610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b229061456b565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60606000610b946000801b611466565b905060008167ffffffffffffffff811115610bb257610bb1613f38565b5b604051908082528060200260200182016040528015610be05781602001602082028036833780820191505090505b50905060005b82811015610c5b57610bfb6000801b8261123a565b828281518110610c0e57610c0d61458b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080610c53906145ba565b915050610be6565b50809250505090565b610c6c6117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd090614674565b60405180910390fd5b610ce382826118f3565b5050565b6000801b610cf4816118ab565b610d1e7f4d494e5445525f524f4c4500000000000000000000000000000000000000000083610abe565b5050565b7f4d494e5445525f524f4c45000000000000000000000000000000000000000000610d4c816118ab565b60005b82811015610d7457610d6084611927565b508080610d6c906145ba565b915050610d4f565b50505050565b610d958383836040518060200160405280600081525061139c565b505050565b610dab610da56117f4565b826117fc565b610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190614408565b60405180910390fd5b610df381611953565b50565b6000610e00610847565b8210610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890614706565b60405180910390fd5b600b8281548110610e5557610e5461458b565b5b90600052602060002001549050919050565b6000801b610e74816118ab565b8160109081610e8391906148c8565b505050565b600080610e9483611aa1565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efc906149e6565b60405180910390fd5b80915050919050565b6000801b610f1b816118ab565b8173ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f05a3b809000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610f749190614a15565b602060405180830381865afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190614a45565b610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb90614ae4565b60405180910390fd5b7f4a1d010d926ae0d4294a4afe61ae81bb378335fbf671e099a7138b5afeefdf84600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051611047929190614b04565b60405180910390a181600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000801b6110a1816118ab565b6110cb7f4d494e5445525f524f4c45000000000000000000000000000000000000000000836114ae565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6010805461110290614365565b80601f016020809104026020016040519081016040528092919081815260200182805461112e90614365565b801561117b5780601f106111505761010080835404028352916020019161117b565b820191906000526020600020905b81548152906001019060200180831161115e57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea90614b9f565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006112618260076000868152602001908152602001600020611ade90919063ffffffff16565b905092915050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112e1816118ab565b81600f90816112f091906148c8565b505050565b60606001805461130490614365565b80601f016020809104026020016040519081016040528092919081815260200182805461133090614365565b801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b5050505050905090565b6000801b81565b6113988282611af8565b5050565b6113ad6113a76117f4565b836117fc565b6113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390614408565b60405180910390fd5b6113f884848484611b0f565b50505050565b606061140982611792565b6000611413611b6b565b90506000815111611433576040518060200160405280600081525061145e565b8061143d84611bfd565b60405160200161144e929190614bfb565b6040516020818303038152906040525b915050919050565b600061148360076000848152602001908152602001600020611ccb565b9050919050565b7f4d494e5445525f524f4c4500000000000000000000000000000000000000000081565b6114b7826108b4565b6114c0816118ab565b6114ca83836118f3565b505050565b600f80546114dc90614365565b80601f016020809104026020016040519081016040528092919081815260200182805461150890614365565b80156115555780601f1061152a57610100808354040283529160200191611555565b820191906000526020600020905b81548152906001019060200180831161153857829003601f168201915b505050505081565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6001816000016000828254019250508190555050565b6116118282611269565b6116e45760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116896117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611710836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611ce0565b905092915050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061178b575061178a82611d50565b5b9050919050565b61179b81611dca565b6117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d1906149e6565b60405180910390fd5b50565b6117e682611e0b565b6117f08282611f64565b5050565b600033905090565b60008061180883610e88565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061184a5750611849818561155d565b5b8061188857508373ffffffffffffffffffffffffffffffffffffffff16611870846107f3565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b61189c83838361207b565b505050565b6000612710905090565b6118bc816118b76117f4565b612093565b50565b6118c98282611607565b6118ee81600760008581526020019081526020016000206116e890919063ffffffff16565b505050565b6118fd8282612118565b61192281600760008581526020019081526020016000206121fa90919063ffffffff16565b505050565b600080611934601161222a565b90506119408382612238565b61194a60116115f1565b80915050919050565b600061195e82610e88565b905061196e816000846001612455565b61197782610e88565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a9d816000846001612467565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000611aed836000018361246d565b60001c905092915050565b611b0182611e0b565b611b0b8282612498565b5050565b611b1a848484611891565b611b26848484846124ae565b611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90614c91565b60405180910390fd5b50505050565b606060108054611b7a90614365565b80601f0160208091040260200160405190810160405280929190818152602001828054611ba690614365565b8015611bf35780601f10611bc857610100808354040283529160200191611bf3565b820191906000526020600020905b815481529060010190602001808311611bd657829003601f168201915b5050505050905090565b606060006001611c0c84612635565b01905060008167ffffffffffffffff811115611c2b57611c2a613f38565b5b6040519080825280601f01601f191660200182016040528015611c5d5781602001600182028036833780820191505090505b509050600082602001820190505b600115611cc0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611cb457611cb3614499565b5b04945060008503611c6b575b819350505050919050565b6000611cd982600001612788565b9050919050565b6000611cec8383612799565b611d45578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611d4a565b600090505b92915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611dc35750611dc2826127bc565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611dec83611aa1565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f605760008173ffffffffffffffffffffffffffffffffffffffff163b1480611f1f5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305a3b809826040518263ffffffff1660e01b8152600401611edd9190613be7565b602060405180830381865afa158015611efa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1e9190614a45565b5b611f6157806040517f8371ab02000000000000000000000000000000000000000000000000000000008152600401611f579190613be7565b60405180910390fd5b5b50565b6000611f6f82610e88565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd690614d23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16611ffe6117f4565b73ffffffffffffffffffffffffffffffffffffffff16148061202d575061202c816120276117f4565b61155d565b5b61206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390614db5565b60405180910390fd5b61207683836127ce565b505050565b612083612887565b61208e8383836129f3565b505050565b61209d8282611269565b612114576120aa81612cec565b6120b88360001c6020612d19565b6040516020016120c9929190614e6d565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210b9190613b21565b60405180910390fd5b5050565b6121228282611269565b156121f65760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061219b6117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000612222836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612f55565b905092915050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229e90614ef3565b60405180910390fd5b6122b081611dca565b156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e790614f5f565b60405180910390fd5b6122fe600083836001612455565b61230781611dca565b15612347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233e90614f5f565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612451600083836001612467565b5050565b61246184848484613069565b50505050565b50505050565b60008260000182815481106124855761248461458b565b5b9060005260206000200154905092915050565b6124aa6124a36117f4565b83836131c7565b5050565b60006124cf8473ffffffffffffffffffffffffffffffffffffffff16613333565b15612628578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124f86117f4565b8786866040518563ffffffff1660e01b815260040161251a9493929190614fd4565b6020604051808303816000875af192505050801561255657506040513d601f19601f820116820180604052508101906125539190615035565b60015b6125d8573d8060008114612586576040519150601f19603f3d011682016040523d82523d6000602084013e61258b565b606091505b5060008151036125d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c790614c91565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061262d565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612693577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161268957612688614499565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106126d0576d04ee2d6d415b85acef810000000083816126c6576126c5614499565b5b0492506020810190505b662386f26fc1000083106126ff57662386f26fc1000083816126f5576126f4614499565b5b0492506010810190505b6305f5e1008310612728576305f5e100838161271e5761271d614499565b5b0492506008810190505b612710831061274d57612710838161274357612742614499565b5b0492506004810190505b60648310612770576064838161276657612765614499565b5b0492506002810190505b600a831061277f576001810190505b80915050919050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60006127c782613356565b9050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661284183610e88565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129f0573273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806129af5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305a3b809336040518263ffffffff1660e01b815260040161296d9190613be7565b602060405180830381865afa15801561298a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ae9190614a45565b5b6129f157336040517f937db65f0000000000000000000000000000000000000000000000000000000081526004016129e79190613be7565b60405180910390fd5b5b565b8273ffffffffffffffffffffffffffffffffffffffff16612a1382610e88565b73ffffffffffffffffffffffffffffffffffffffff1614612a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a60906150d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612acf90615166565b60405180910390fd5b612ae58383836001612455565b8273ffffffffffffffffffffffffffffffffffffffff16612b0582610e88565b73ffffffffffffffffffffffffffffffffffffffff1614612b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b52906150d4565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612ce78383836001612467565b505050565b6060612d128273ffffffffffffffffffffffffffffffffffffffff16601460ff16612d19565b9050919050565b606060006002836002612d2c9190614457565b612d369190615186565b67ffffffffffffffff811115612d4f57612d4e613f38565b5b6040519080825280601f01601f191660200182016040528015612d815781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612db957612db861458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612e1d57612e1c61458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612e5d9190614457565b612e679190615186565b90505b6001811115612f07577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ea957612ea861458b565b5b1a60f81b828281518110612ec057612ebf61458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612f00906151ba565b9050612e6a565b5060008414612f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f429061522f565b60405180910390fd5b8091505092915050565b6000808360010160008481526020019081526020016000205490506000811461305d576000600182612f87919061524f565b9050600060018660000180549050612f9f919061524f565b905081811461300e576000866000018281548110612fc057612fbf61458b565b5b9060005260206000200154905080876000018481548110612fe457612fe361458b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061302257613021615283565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050613063565b60009150505b92915050565b613075848484846133d0565b60018111156130b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b090615324565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603613100576130fb816134f6565b61313f565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461313e5761313d858261353f565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036131815761317c816136ac565b6131c0565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146131bf576131be848261377d565b5b5b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161322c90615390565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516133269190613a76565b60405180910390a3505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806133c957506133c8826137fc565b5b9050919050565b60018111156134f057600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146134645780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461345c919061524f565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146134ef5780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134e79190615186565b925050819055505b5b50505050565b600b80549050600c600083815260200190815260200160002081905550600b81908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161354c84611183565b613556919061524f565b90506000600a600084815260200190815260200160002054905081811461363b576000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600a600083815260200190815260200160002081905550505b600a600084815260200190815260200160002060009055600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600b805490506136c0919061524f565b90506000600c60008481526020019081526020016000205490506000600b83815481106136f0576136ef61458b565b5b9060005260206000200154905080600b83815481106137125761371161458b565b5b906000526020600020018190555081600c600083815260200190815260200160002081905550600c600085815260200190815260200160002060009055600b80548061376157613760615283565b5b6001900381819060005260206000200160009055905550505050565b600061378883611183565b905081600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600a600084815260200190815260200160002081905550505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061386f575061386e82613876565b5b9050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061394157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613951575061395082613958565b5b9050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613a0b816139d6565b8114613a1657600080fd5b50565b600081359050613a2881613a02565b92915050565b600060208284031215613a4457613a436139cc565b5b6000613a5284828501613a19565b91505092915050565b60008115159050919050565b613a7081613a5b565b82525050565b6000602082019050613a8b6000830184613a67565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613acb578082015181840152602081019050613ab0565b60008484015250505050565b6000601f19601f8301169050919050565b6000613af382613a91565b613afd8185613a9c565b9350613b0d818560208601613aad565b613b1681613ad7565b840191505092915050565b60006020820190508181036000830152613b3b8184613ae8565b905092915050565b6000819050919050565b613b5681613b43565b8114613b6157600080fd5b50565b600081359050613b7381613b4d565b92915050565b600060208284031215613b8f57613b8e6139cc565b5b6000613b9d84828501613b64565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bd182613ba6565b9050919050565b613be181613bc6565b82525050565b6000602082019050613bfc6000830184613bd8565b92915050565b613c0b81613bc6565b8114613c1657600080fd5b50565b600081359050613c2881613c02565b92915050565b60008060408385031215613c4557613c446139cc565b5b6000613c5385828601613c19565b9250506020613c6485828601613b64565b9150509250929050565b613c7781613b43565b82525050565b6000602082019050613c926000830184613c6e565b92915050565b600080600060608486031215613cb157613cb06139cc565b5b6000613cbf86828701613c19565b9350506020613cd086828701613c19565b9250506040613ce186828701613b64565b9150509250925092565b6000819050919050565b613cfe81613ceb565b8114613d0957600080fd5b50565b600081359050613d1b81613cf5565b92915050565b600060208284031215613d3757613d366139cc565b5b6000613d4584828501613d0c565b91505092915050565b613d5781613ceb565b82525050565b6000602082019050613d726000830184613d4e565b92915050565b60008060408385031215613d8f57613d8e6139cc565b5b6000613d9d85828601613b64565b9250506020613dae85828601613b64565b9150509250929050565b6000604082019050613dcd6000830185613bd8565b613dda6020830184613c6e565b9392505050565b60008060408385031215613df857613df76139cc565b5b6000613e0685828601613d0c565b9250506020613e1785828601613c19565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e5681613bc6565b82525050565b6000613e688383613e4d565b60208301905092915050565b6000602082019050919050565b6000613e8c82613e21565b613e968185613e2c565b9350613ea183613e3d565b8060005b83811015613ed2578151613eb98882613e5c565b9750613ec483613e74565b925050600181019050613ea5565b5085935050505092915050565b60006020820190508181036000830152613ef98184613e81565b905092915050565b600060208284031215613f1757613f166139cc565b5b6000613f2584828501613c19565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613f7082613ad7565b810181811067ffffffffffffffff82111715613f8f57613f8e613f38565b5b80604052505050565b6000613fa26139c2565b9050613fae8282613f67565b919050565b600067ffffffffffffffff821115613fce57613fcd613f38565b5b613fd782613ad7565b9050602081019050919050565b82818337600083830152505050565b600061400661400184613fb3565b613f98565b90508281526020810184848401111561402257614021613f33565b5b61402d848285613fe4565b509392505050565b600082601f83011261404a57614049613f2e565b5b813561405a848260208601613ff3565b91505092915050565b600060208284031215614079576140786139cc565b5b600082013567ffffffffffffffff811115614097576140966139d1565b5b6140a384828501614035565b91505092915050565b6000819050919050565b60006140d16140cc6140c784613ba6565b6140ac565b613ba6565b9050919050565b60006140e3826140b6565b9050919050565b60006140f5826140d8565b9050919050565b614105816140ea565b82525050565b600060208201905061412060008301846140fc565b92915050565b6000806040838503121561413d5761413c6139cc565b5b600061414b85828601613d0c565b925050602061415c85828601613b64565b9150509250929050565b61416f81613a5b565b811461417a57600080fd5b50565b60008135905061418c81614166565b92915050565b600080604083850312156141a9576141a86139cc565b5b60006141b785828601613c19565b92505060206141c88582860161417d565b9150509250929050565b600067ffffffffffffffff8211156141ed576141ec613f38565b5b6141f682613ad7565b9050602081019050919050565b6000614216614211846141d2565b613f98565b90508281526020810184848401111561423257614231613f33565b5b61423d848285613fe4565b509392505050565b600082601f83011261425a57614259613f2e565b5b813561426a848260208601614203565b91505092915050565b6000806000806080858703121561428d5761428c6139cc565b5b600061429b87828801613c19565b94505060206142ac87828801613c19565b93505060406142bd87828801613b64565b925050606085013567ffffffffffffffff8111156142de576142dd6139d1565b5b6142ea87828801614245565b91505092959194509250565b6000806040838503121561430d5761430c6139cc565b5b600061431b85828601613c19565b925050602061432c85828601613c19565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061437d57607f821691505b6020821081036143905761438f614336565b5b50919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006143f2602d83613a9c565b91506143fd82614396565b604082019050919050565b60006020820190508181036000830152614421816143e5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061446282613b43565b915061446d83613b43565b925082820261447b81613b43565b9150828204841483151761449257614491614428565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006144d382613b43565b91506144de83613b43565b9250826144ee576144ed614499565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614555602b83613a9c565b9150614560826144f9565b604082019050919050565b6000602082019050818103600083015261458481614548565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006145c582613b43565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036145f7576145f6614428565b5b600182019050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061465e602f83613a9c565b915061466982614602565b604082019050919050565b6000602082019050818103600083015261468d81614651565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006146f0602c83613a9c565b91506146fb82614694565b604082019050919050565b6000602082019050818103600083015261471f816146e3565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026147887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261474b565b614792868361474b565b95508019841693508086168417925050509392505050565b60006147c56147c06147bb84613b43565b6140ac565b613b43565b9050919050565b6000819050919050565b6147df836147aa565b6147f36147eb826147cc565b848454614758565b825550505050565b600090565b6148086147fb565b6148138184846147d6565b505050565b5b818110156148375761482c600082614800565b600181019050614819565b5050565b601f82111561487c5761484d81614726565b6148568461473b565b81016020851015614865578190505b6148796148718561473b565b830182614818565b50505b505050565b600082821c905092915050565b600061489f60001984600802614881565b1980831691505092915050565b60006148b8838361488e565b9150826002028217905092915050565b6148d182613a91565b67ffffffffffffffff8111156148ea576148e9613f38565b5b6148f48254614365565b6148ff82828561483b565b600060209050601f8311600181146149325760008415614920578287015190505b61492a85826148ac565b865550614992565b601f19841661494086614726565b60005b8281101561496857848901518255600182019150602085019450602081019050614943565b868310156149855784890151614981601f89168261488e565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006149d0601883613a9c565b91506149db8261499a565b602082019050919050565b600060208201905081810360008301526149ff816149c3565b9050919050565b614a0f816139d6565b82525050565b6000602082019050614a2a6000830184614a06565b92915050565b600081519050614a3f81614166565b92915050565b600060208284031215614a5b57614a5a6139cc565b5b6000614a6984828501614a30565b91505092915050565b7f636f6e747261637420646f6573206e6f7420696d706c656d656e742049526f7960008201527f616c7479416c6c6f776c69737400000000000000000000000000000000000000602082015250565b6000614ace602d83613a9c565b9150614ad982614a72565b604082019050919050565b60006020820190508181036000830152614afd81614ac1565b9050919050565b6000604082019050614b196000830185613bd8565b614b266020830184613bd8565b9392505050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614b89602983613a9c565b9150614b9482614b2d565b604082019050919050565b60006020820190508181036000830152614bb881614b7c565b9050919050565b600081905092915050565b6000614bd582613a91565b614bdf8185614bbf565b9350614bef818560208601613aad565b80840191505092915050565b6000614c078285614bca565b9150614c138284614bca565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614c7b603283613a9c565b9150614c8682614c1f565b604082019050919050565b60006020820190508181036000830152614caa81614c6e565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d0d602183613a9c565b9150614d1882614cb1565b604082019050919050565b60006020820190508181036000830152614d3c81614d00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614d9f603d83613a9c565b9150614daa82614d43565b604082019050919050565b60006020820190508181036000830152614dce81614d92565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614e0b601783614bbf565b9150614e1682614dd5565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614e57601183614bbf565b9150614e6282614e21565b601182019050919050565b6000614e7882614dfe565b9150614e848285614bca565b9150614e8f82614e4a565b9150614e9b8284614bca565b91508190509392505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614edd602083613a9c565b9150614ee882614ea7565b602082019050919050565b60006020820190508181036000830152614f0c81614ed0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614f49601c83613a9c565b9150614f5482614f13565b602082019050919050565b60006020820190508181036000830152614f7881614f3c565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614fa682614f7f565b614fb08185614f8a565b9350614fc0818560208601613aad565b614fc981613ad7565b840191505092915050565b6000608082019050614fe96000830187613bd8565b614ff66020830186613bd8565b6150036040830185613c6e565b81810360608301526150158184614f9b565b905095945050505050565b60008151905061502f81613a02565b92915050565b60006020828403121561504b5761504a6139cc565b5b600061505984828501615020565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006150be602583613a9c565b91506150c982615062565b604082019050919050565b600060208201905081810360008301526150ed816150b1565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615150602483613a9c565b915061515b826150f4565b604082019050919050565b6000602082019050818103600083015261517f81615143565b9050919050565b600061519182613b43565b915061519c83613b43565b92508282019050808211156151b4576151b3614428565b5b92915050565b60006151c582613b43565b9150600082036151d8576151d7614428565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000615219602083613a9c565b9150615224826151e3565b602082019050919050565b600060208201905081810360008301526152488161520c565b9050919050565b600061525a82613b43565b915061526583613b43565b925082820390508181111561527d5761527c614428565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061530e603583613a9c565b9150615319826152b2565b604082019050919050565b6000602082019050818103600083015261533d81615301565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061537a601983613a9c565b915061538582615344565b602082019050919050565b600060208201905081810360008301526153a98161536d565b905091905056fea2646970667358221220f2de678fa1f1a3fc28d8056ba46769331f91c7536f9259f07a82f3f97942823964736f6c63430008110033";
895
+ const isSuperArgs$1 = (xs) => xs.length > 1;
896
+ class ImmutableERC721PermissionedMintable__factory extends ContractFactory {
897
+ constructor(...args) {
898
+ if (isSuperArgs$1(args)) {
899
+ super(...args);
900
+ }
901
+ else {
902
+ super(_abi$1, _bytecode$1, args[0]);
903
+ }
904
+ }
905
+ deploy(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides) {
906
+ return super.deploy(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides || {});
907
+ }
908
+ getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides) {
909
+ return super.getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides || {});
910
+ }
911
+ attach(address) {
912
+ return super.attach(address);
913
+ }
914
+ connect(signer) {
915
+ return super.connect(signer);
916
+ }
917
+ static bytecode = _bytecode$1;
918
+ static abi = _abi$1;
919
+ static createInterface() {
920
+ return new utils.Interface(_abi$1);
921
+ }
922
+ static connect(address, signerOrProvider) {
923
+ return new Contract(address, _abi$1, signerOrProvider);
924
+ }
925
+ }
926
+
927
+ class ERC721PermissionedMintable {
928
+ contract;
929
+ constructor(contractAddress) {
930
+ const factory = new ImmutableERC721PermissionedMintable__factory();
931
+ this.contract = factory.attach(contractAddress);
932
+ }
933
+ /**
934
+ * Read functions
935
+ */
936
+ /**
937
+ * @returns the DEFAULT_ADMIN_ROLE as a string.
938
+ */
939
+ async DEFAULT_ADMIN_ROLE(provider, overrides = {}) {
940
+ return await this.contract.connect(provider).DEFAULT_ADMIN_ROLE(overrides);
941
+ }
942
+ /**
943
+ * @returns the MINTER_ROLE as a string.
944
+ */
945
+ async MINTER_ROLE(provider, overrides = {}) {
946
+ return await this.contract.connect(provider).MINTER_ROLE(overrides);
947
+ }
948
+ /**
949
+ * @returns the balance of an address as a BigNumber.
950
+ */
951
+ async balanceOf(provider, owner, overrides = {}) {
952
+ return await this.contract.connect(provider).balanceOf(owner, overrides);
953
+ }
954
+ /**
955
+ * @returns the baseURI as a string.
956
+ */
957
+ async baseURI(provider, overrides = {}) {
958
+ return await this.contract.connect(provider).baseURI(overrides);
959
+ }
960
+ /**
961
+ * @returns the contractURI as a string.
962
+ */
963
+ async contractURI(provider, overrides = {}) {
964
+ return await this.contract.connect(provider).contractURI(overrides);
965
+ }
966
+ /**
967
+ * @returns admin addresses as an array of strings.
968
+ */
969
+ async getAdmins(provider, overrides = {}) {
970
+ return await this.contract.connect(provider).getAdmins(overrides);
971
+ }
972
+ /**
973
+ * @returns the approved address for a token ID, or zero if no address set.
974
+ */
975
+ async getApproved(provider, tokenId, overrides = {}) {
976
+ return await this.contract
977
+ .connect(provider)
978
+ .getApproved(tokenId, overrides);
979
+ }
980
+ /**
981
+ * @returns the role admin address.
982
+ */
983
+ async getRoleAdmin(provider, role, overrides = {}) {
984
+ return await this.contract.connect(provider).getRoleAdmin(role, overrides);
985
+ }
986
+ /**
987
+ * @returns the role member address at a particular index.
988
+ */
989
+ async getRoleMember(provider, role, index, overrides = {}) {
990
+ return await this.contract
991
+ .connect(provider)
992
+ .getRoleMember(role, index, overrides);
993
+ }
994
+ /**
995
+ * @returns the role member count as a BigNumber.
996
+ */
997
+ async getRoleMemberCount(provider, role, overrides = {}) {
998
+ return await this.contract
999
+ .connect(provider)
1000
+ .getRoleMemberCount(role, overrides);
1001
+ }
1002
+ /**
1003
+ * @returns a boolean for whether an account has a particular role.
1004
+ */
1005
+ async hasRole(provider, role, account, overrides = {}) {
1006
+ return await this.contract
1007
+ .connect(provider)
1008
+ .hasRole(role, account, overrides);
1009
+ }
1010
+ /**
1011
+ * @returns a booolean that tells whether an operator is approved by a given owner.
1012
+ */
1013
+ async isApprovedForAll(provider, owner, operator, overrides = {}) {
1014
+ return await this.contract
1015
+ .connect(provider)
1016
+ .isApprovedForAll(owner, operator, overrides);
1017
+ }
1018
+ /**
1019
+ * @returns the name of the contract as a string.
1020
+ */
1021
+ async name(provider, overrides = {}) {
1022
+ return await this.contract.connect(provider).name(overrides);
1023
+ }
1024
+ /**
1025
+ * @returns the owner address of a particular tokenId.
1026
+ */
1027
+ async ownerOf(provider, tokenId, overrides = {}) {
1028
+ return await this.contract.connect(provider).ownerOf(tokenId, overrides);
1029
+ }
1030
+ /**
1031
+ * @returns the royalty allowlist as a string.
1032
+ */
1033
+ async royaltyAllowlist(provider, overrides = {}) {
1034
+ return await this.contract.connect(provider).royaltyAllowlist(overrides);
1035
+ }
1036
+ /**
1037
+ * @returns the royalty information for a particular tokenId.
1038
+ */
1039
+ async royaltyInfo(provider, _tokenId, _salePrice, overrides = {}) {
1040
+ return await this.contract
1041
+ .connect(provider)
1042
+ .royaltyInfo(_tokenId, _salePrice, overrides);
1043
+ }
1044
+ /**
1045
+ * @returns the symbol of the contract as a string.
1046
+ */
1047
+ async symbol(provider, overrides = {}) {
1048
+ return await this.contract.connect(provider).symbol(overrides);
1049
+ }
1050
+ /**
1051
+ * @returns a token ID at a given index of all the tokens stored by the contract.
1052
+ */
1053
+ async tokenByIndex(provider, index, overrides = {}) {
1054
+ return await this.contract.connect(provider).tokenByIndex(index, overrides);
1055
+ }
1056
+ /**
1057
+ * @returns a token ID owned by owner at a given index of its token list.
1058
+ */
1059
+ async tokenOfOwnerByIndex(provider, owner, index, overrides = {}) {
1060
+ return await this.contract
1061
+ .connect(provider)
1062
+ .tokenOfOwnerByIndex(owner, index, overrides);
1063
+ }
1064
+ /**
1065
+ * @returns the Uniform Resource Identifier (URI) for tokenId token.
1066
+ */
1067
+ async tokenURI(provider, tokenId, overrides = {}) {
1068
+ return await this.contract.connect(provider).tokenURI(tokenId, overrides);
1069
+ }
1070
+ /**
1071
+ * @returns returns the total amount of tokens stored by the contract.
1072
+ */
1073
+ async totalSupply(provider, overrides = {}) {
1074
+ return await this.contract.connect(provider).totalSupply(overrides);
1075
+ }
1076
+ /**
1077
+ * Write functions
1078
+ */
1079
+ /**
1080
+ * @returns a populated transaction for the approve contract function
1081
+ */
1082
+ async populateApprove(to, tokenId, overrides = {}) {
1083
+ return await this.contract.populateTransaction.approve(to, tokenId, overrides);
1084
+ }
1085
+ /**
1086
+ * @returns a populated transaction for the burn contract function
1087
+ */
1088
+ async populateBurn(tokenId, overrides = {}) {
1089
+ return await this.contract.populateTransaction.burn(tokenId, overrides);
1090
+ }
1091
+ /**
1092
+ * @returns a populated transaction for the grantMinterRole contract function
1093
+ */
1094
+ async populateGrantMinterRole(user, overrides = {}) {
1095
+ return await this.contract.populateTransaction.grantMinterRole(user, overrides);
1096
+ }
1097
+ /**
1098
+ * @returns a populated transaction for the grantRole contract function
1099
+ */
1100
+ async populateGrantRole(role, account, overrides = {}) {
1101
+ return await this.contract.populateTransaction.grantRole(role, account, overrides);
1102
+ }
1103
+ /**
1104
+ * @returns a populated transaction for the mint contract function
1105
+ */
1106
+ async populateMint(to, amount, overrides = {}) {
1107
+ return await this.contract.populateTransaction.mint(to, amount, overrides);
1108
+ }
1109
+ /**
1110
+ * @returns a populated transaction for the renounceRole contract function
1111
+ */
1112
+ async populateRenounceRole(role, account, overrides = {}) {
1113
+ return await this.contract.populateTransaction.renounceRole(role, account, overrides);
1114
+ }
1115
+ /**
1116
+ * @returns a populated transaction for the revokeMinterRole contract function
1117
+ */
1118
+ async populateRevokeMinterRole(user, overrides = {}) {
1119
+ return await this.contract.populateTransaction.revokeMinterRole(user, overrides);
1120
+ }
1121
+ /**
1122
+ * @returns a populated transaction for the revokeRole contract function
1123
+ */
1124
+ async populateRevokeRole(role, account, overrides = {}) {
1125
+ return await this.contract.populateTransaction.revokeRole(role, account, overrides);
1126
+ }
1127
+ /**
1128
+ * @returns a populated transaction for the safeTransferFrom(address,address,uint256) contract function
1129
+ */
1130
+ async 'populateSafeTransferFrom(address,address,uint256)'(from, to, tokenId, overrides = {}) {
1131
+ return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256)'](from, to, tokenId, overrides);
1132
+ }
1133
+ /**
1134
+ * @returns a populated transaction for the safeTransferFrom(address,address,uint256,bytes) contract function
1135
+ */
1136
+ async 'populateSafeTransferFrom(address,address,uint256,bytes)'(from, to, tokenId, data, overrides = {}) {
1137
+ return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256,bytes)'](from, to, tokenId, data, overrides);
1138
+ }
1139
+ /**
1140
+ * @returns a populated transaction for the setApprovalForAll contract function
1141
+ */
1142
+ async populateSetApprovalForAll(operator, approved, overrides = {}) {
1143
+ return await this.contract.populateTransaction.setApprovalForAll(operator, approved, overrides);
1144
+ }
1145
+ /**
1146
+ * @returns a populated transaction for the setBaseURI contract function
1147
+ */
1148
+ async populateSetBaseURI(baseURI_, overrides = {}) {
1149
+ return await this.contract.populateTransaction.setBaseURI(baseURI_, overrides);
1150
+ }
1151
+ /**
1152
+ * @returns a populated transaction for the setContractURI contract function
1153
+ */
1154
+ async populateSetContractURI(_contractURI, overrides = {}) {
1155
+ return await this.contract.populateTransaction.setContractURI(_contractURI, overrides);
1156
+ }
1157
+ /**
1158
+ * @returns a populated transaction for the setRoyaltyAllowlistRegistry contract function
1159
+ */
1160
+ async populateSetRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides = {}) {
1161
+ return await this.contract.populateTransaction.setRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides);
1162
+ }
1163
+ }
1164
+
1165
+ export { ERC721PermissionedMintable };